aboutsummaryrefslogtreecommitdiff
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
parentb06fd02ab6d73b7167cdafbb3d2623afacdb1303 (diff)
parent01a790374524c25b6730fd48ae70bb6c31a65361 (diff)
downloadalpine_aports-7d8df3859347c83a347c3c771a3bd438e17a3d44.tar.bz2
alpine_aports-7d8df3859347c83a347c3c771a3bd438e17a3d44.tar.xz
alpine_aports-7d8df3859347c83a347c3c771a3bd438e17a3d44.zip
Merge git://dev.alpinelinux.org/aports
-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/APKBUILD (renamed from testing/gpgme/APKBUILD)0
-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/APKBUILD (renamed from testing/libdvdnav/APKBUILD)0
-rw-r--r--main/libdvdread/APKBUILD (renamed from testing/libdvdread/APKBUILD)0
-rw-r--r--main/libebml/APKBUILD (renamed from testing/libebml/APKBUILD)0
-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/APKBUILD (renamed from testing/libmatroska/APKBUILD)0
-rw-r--r--main/libmp3splt/APKBUILD (renamed from testing/libmp3splt/APKBUILD)6
-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/APKBUILD (renamed from testing/mp3splt-gtk/APKBUILD)12
-rw-r--r--main/mp3splt-gtk/dbus-glib-underlinking.patch27
-rw-r--r--main/mp3splt/APKBUILD (renamed from testing/mp3splt/APKBUILD)4
-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/APKBUILD (renamed from testing/nettle/APKBUILD)10
-rw-r--r--main/nettle/nettle-2.4-makefile.patch (renamed from testing/nettle/nettle-2.4-makefile.patch)0
-rw-r--r--main/network-extras/APKBUILD27
-rw-r--r--main/nfdump/APKBUILD (renamed from testing/nfdump/APKBUILD)0
-rw-r--r--main/nfdump/nfcapd.confd (renamed from testing/nfdump/nfcapd.confd)0
-rw-r--r--main/nfdump/nfcapd.initd (renamed from testing/nfdump/nfcapd.initd)0
-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/APKBUILD (renamed from testing/postfixadmin/APKBUILD)4
-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.patch (renamed from testing/vlc/uclibc-no-xscreensaver.patch)0
-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
-rw-r--r--testing/audacity/APKBUILD8
-rw-r--r--testing/cherokee/APKBUILD2
-rw-r--r--testing/clutter/APKBUILD13
-rw-r--r--testing/compiz/APKBUILD2
-rw-r--r--testing/courier-authlib/APKBUILD56
-rw-r--r--testing/dhex/APKBUILD41
-rw-r--r--testing/dhex/makefile.patch49
-rw-r--r--testing/dia/APKBUILD48
-rw-r--r--testing/dia/isfinite.patch142
-rw-r--r--testing/dia/isinf.patch16
-rw-r--r--testing/drbd/APKBUILD8
-rw-r--r--testing/drizzle/APKBUILD6
-rw-r--r--testing/e_dbus/APKBUILD6
-rw-r--r--testing/ecore/APKBUILD7
-rw-r--r--testing/edje/APKBUILD4
-rw-r--r--testing/eet/APKBUILD6
-rw-r--r--testing/eeze/APKBUILD6
-rw-r--r--testing/efreet/APKBUILD4
-rw-r--r--testing/eina/APKBUILD9
-rw-r--r--testing/embryo/APKBUILD8
-rw-r--r--testing/enlightenment/APKBUILD49
-rw-r--r--testing/etracer/APKBUILD5
-rw-r--r--testing/evas/APKBUILD15
-rw-r--r--testing/exim/APKBUILD2
-rw-r--r--testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD8
-rw-r--r--testing/ftgl/APKBUILD18
-rw-r--r--testing/ftgl/ftgl-2.1.3-rc5-ldflags.patch118
-rw-r--r--testing/ftgl/ftgl-2.1.3-rc5-ttf_font.patch12
-rw-r--r--testing/gdnsd/APKBUILD4
-rw-r--r--testing/gnash/APKBUILD19
-rw-r--r--testing/gnash/aslr-fix.patch52
-rw-r--r--testing/gnump3d/APKBUILD4
-rw-r--r--testing/gnump3d/gnump3d.initd2
-rw-r--r--testing/gource/APKBUILD4
-rw-r--r--testing/graphviz/APKBUILD2
-rw-r--r--testing/hardinfo/APKBUILD2
-rw-r--r--testing/hydrogen/APKBUILD10
-rw-r--r--testing/ipset/APKBUILD43
-rw-r--r--testing/ipset/ipset.initd24
-rw-r--r--testing/irrlicht/APKBUILD4
-rw-r--r--testing/kbuild/APKBUILD68
-rw-r--r--testing/kbuild/getloadavg.patch32
-rw-r--r--testing/kbuild/kbuild-0.1.5_p2-qa.patch26
-rw-r--r--testing/kbuild/lchmod.patch27
-rw-r--r--testing/kbuild/strlcpy.patch26
-rw-r--r--testing/kbuild/sys_siglist.patch15
-rw-r--r--testing/kbuild/uclibc.patch24
-rw-r--r--testing/kbuild/underlinking.patch13
-rw-r--r--testing/libprojectm/APKBUILD2
-rw-r--r--testing/lua-microlight/APKBUILD36
-rw-r--r--testing/lua-microlight/ml.lua543
-rw-r--r--testing/mediaproxy/APKBUILD2
-rw-r--r--testing/minidlna/APKBUILD6
-rw-r--r--testing/mplayer2/APKBUILD2
-rw-r--r--testing/mutter/APKBUILD5
-rw-r--r--testing/networkmanager/APKBUILD4
-rw-r--r--testing/openvcp/APKBUILD4
-rw-r--r--testing/openvcp/system-libiptc.patch2
-rw-r--r--testing/openxcap/APKBUILD2
-rw-r--r--testing/pdns/APKBUILD8
-rw-r--r--testing/pdns/pdns.initd4
-rw-r--r--testing/perl-net-async-http/APKBUILD39
-rw-r--r--testing/perl-parser-mgc/APKBUILD39
-rw-r--r--testing/perl-strictures/APKBUILD8
-rw-r--r--testing/poppler-qt4/APKBUILD8
-rw-r--r--testing/py-configobj/APKBUILD56
-rw-r--r--testing/py-configshell/APKBUILD60
-rw-r--r--testing/py-ethtool/APKBUILD44
-rw-r--r--testing/py-ethtool/python-ethtool-libnl-1.0-support.patch71
-rw-r--r--testing/py-ipaddr/APKBUILD35
-rw-r--r--testing/py-rtslib/APKBUILD61
-rw-r--r--testing/py-simpleparse/APKBUILD37
-rw-r--r--testing/py-simpleparse/py-simpleparse-eols.patch33
-rw-r--r--testing/rsyslog/APKBUILD5
-rw-r--r--testing/targetcli/APKBUILD63
-rw-r--r--testing/usb-modeswitch/APKBUILD22
-rw-r--r--testing/varnish/APKBUILD2
-rw-r--r--testing/vlc/APKBUILD216
-rw-r--r--testing/vlc/uclibc-inhibit-spawn.patch76
-rw-r--r--testing/vlc/uclibc3.patch38
-rw-r--r--testing/vlc/vlc-1.1.7-disable-cache-gen.patch12
-rw-r--r--testing/vlc/vlc-daemon.pre-install13
-rw-r--r--testing/vlc/vlc.confd11
-rwxr-xr-xtesting/vlc/vlc.initd22
-rw-r--r--testing/vlc/vlc.trigger4
-rw-r--r--testing/wanpipe-grsec/APKBUILD67
-rw-r--r--testing/wanpipe-grsec/constify.patch134
-rw-r--r--testing/xf86-video-openchrome/APKBUILD58
-rw-r--r--testing/xf86-video-openchrome/openchrome.xinf39
-rw-r--r--testing/xmlrpc-c/APKBUILD8
427 files changed, 8762 insertions, 3384 deletions
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 4337b62002..e43fc434b0 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -1,12 +1,13 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgdesc="Script to build Alpine Packages" 2pkgdesc="Script to build Alpine Packages"
3pkgname=abuild 3pkgname=abuild
4pkgver=2.11.2 4pkgver=2.12.0
5pkgrel=0 5pkgrel=0
6url=http://git.alpinelinux.org/cgit/abuild/ 6url=http://git.alpinelinux.org/cgit/abuild/
7source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$pkgver.tar.bz2 7source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$pkgver.tar.bz2
8 " 8 "
9depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils abuildhelper" 9depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils
10 abuildhelper curl"
10makedepends="openssl-dev pkgconfig" 11makedepends="openssl-dev pkgconfig"
11install="$pkgname.pre-install $pkgname.pre-upgrade" 12install="$pkgname.pre-install $pkgname.pre-upgrade"
12pkggroups="abuild" 13pkggroups="abuild"
@@ -37,4 +38,4 @@ package() {
37 install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles 38 install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles
38} 39}
39 40
40md5sums="58aa5faae9df55e0cc3b50b4cf78a98d abuild-2.11.2.tar.bz2" 41md5sums="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 0000000000..193a375e8b
--- /dev/null
+++ b/main/acf-vlc-daemon/APKBUILD
@@ -0,0 +1,37 @@
1# Contributor: Mika Havela <mika.havela@gmail.com>
2# Maintainer:
3pkgname=acf-vlc-daemon
4pkgver=0.1.1
5pkgrel=0
6pkgdesc="A web-based system administration interface for vlc"
7url="http://git.alpinelinux.org/cgit/acf-vlc-daemon"
8arch="noarch"
9license="GPL-2"
10depends="acf-core lua vlc-daemon"
11depends_dev=""
12makedepends="$depends_dev"
13install=""
14subpackages=""
15source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2"
16
17_builddir="$srcdir/$pkgname-$pkgver"
18prepare() {
19 local i
20 cd "$_builddir"
21 for i in $source; do
22 case $i in
23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
24 esac
25 done
26}
27
28build() {
29 cd "$_builddir"
30 make DESTDIR="$pkgdir" install
31}
32
33package() {
34 cd "$_builddir"
35}
36
37md5sums="36a3391022aff74197b2454c25a4ec08 acf-vlc-daemon-0.1.1.tar.bz2"
diff --git a/main/alpine-base/APKBUILD b/main/alpine-base/APKBUILD
index 2b2bc7e995..45fdf48f57 100644
--- a/main/alpine-base/APKBUILD
+++ b/main/alpine-base/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=alpine-base 3pkgname=alpine-base
4pkgver=2.3.0_git20120104 4pkgver=2.4_alpha20120316
5pkgrel=0 5pkgrel=0
6pkgdesc="Meta package for minimal alpine base" 6pkgdesc="Meta package for minimal alpine base"
7url="http://alpinelinux.org" 7url="http://alpinelinux.org"
diff --git a/main/alpine-baselayout/APKBUILD b/main/alpine-baselayout/APKBUILD
index cfba77bb79..15f61d55d6 100644
--- a/main/alpine-baselayout/APKBUILD
+++ b/main/alpine-baselayout/APKBUILD
@@ -1,10 +1,11 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=alpine-baselayout 2pkgname=alpine-baselayout
3pkgver=2.1.1 3pkgver=2.2.0
4pkgrel=3 4pkgrel=0
5pkgdesc="Alpine base dir structure and init scripts" 5pkgdesc="Alpine base dir structure and init scripts"
6url=http://git.alpinelinux.org/cgit/alpine-baselayout 6url=http://git.alpinelinux.org/cgit/alpine-baselayout
7depends= 7depends=
8options="!fhs"
8install="$pkgname.pre-upgrade" 9install="$pkgname.pre-upgrade"
9source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2 10source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2
10 0001-blacklist-viafb-and-e_powersaver.patch 11 0001-blacklist-viafb-and-e_powersaver.patch
@@ -27,7 +28,8 @@ package() {
27 cd "$_builddir" 28 cd "$_builddir"
28 make install PREFIX= DESTDIR="$pkgdir" || return 1 29 make install PREFIX= DESTDIR="$pkgdir" || return 1
29 mkdir "$pkgdir"/run 30 mkdir "$pkgdir"/run
30 rm -rf "$pkgdir"/etc/issue "$pkgdir"/usr/share/udhcpc 31 rm -rf "$pkgdir"/etc/issue "$pkgdir"/usr/share/udhcpc \
32 "$pkgdir"/etc/init.d/vlan
31} 33}
32md5sums="4f47c32a0e88ae0bd4673a07478525c0 alpine-baselayout-2.1.1.tar.bz2 34md5sums="225dbf5b50ae6d3d188ff92c5746bc36 alpine-baselayout-2.2.0.tar.bz2
333e219db536b13811c34e03c9c32229cb 0001-blacklist-viafb-and-e_powersaver.patch" 353e219db536b13811c34e03c9c32229cb 0001-blacklist-viafb-and-e_powersaver.patch"
diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index 4241daa1c6..bfbeeae35c 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=apache2 2pkgname=apache2
3pkgver=2.2.22 3pkgver=2.2.22
4pkgrel=0 4pkgrel=1
5pkgdesc="A high performance Unix-based HTTP server" 5pkgdesc="A high performance Unix-based HTTP server"
6url="http://httpd.apache.org/" 6url="http://httpd.apache.org/"
7arch="all" 7arch="all"
@@ -26,6 +26,7 @@ source="http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2
26 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/09-capabilities.patch 26 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/09-capabilities.patch
27 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/10-nice.patch 27 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/10-nice.patch
28 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/11-fix-htaccess-reads-for-persistent-connections.patch 28 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/11-fix-htaccess-reads-for-persistent-connections.patch
29 httpd-2.2.22-pcre830.patch
29 apache2.confd 30 apache2.confd
30 apache2.logrotate 31 apache2.logrotate
31 apache2.initd 32 apache2.initd
@@ -246,6 +247,7 @@ d33e39350e987721d50e6fb8e164ab6b 07-base-functionality.patch
2461b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch 2471b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch
247d9667fcd2ffecc63e446edd4d6666731 10-nice.patch 248d9667fcd2ffecc63e446edd4d6666731 10-nice.patch
2481e5b222edcfbf99a3edc56fcb2074fbe 11-fix-htaccess-reads-for-persistent-connections.patch 2491e5b222edcfbf99a3edc56fcb2074fbe 11-fix-htaccess-reads-for-persistent-connections.patch
250088271c7e514cfb01e9c5f55d851331c httpd-2.2.22-pcre830.patch
249e322b5211e49511cac6e40c86af1b1da apache2.confd 251e322b5211e49511cac6e40c86af1b1da apache2.confd
25075fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate 25275fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate
2517105fc70298b24bfca6dba517f7486d7 apache2.initd 2537105fc70298b24bfca6dba517f7486d7 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 0000000000..6942a80d66
--- /dev/null
+++ b/main/apache2/httpd-2.2.22-pcre830.patch
@@ -0,0 +1,24 @@
1
2http://svn.apache.org/viewvc?view=revision&revision=r1243176
3
4--- httpd-2.2.22/server/util_pcre.c.pcre830
5+++ httpd-2.2.22/server/util_pcre.c
6@@ -128,6 +128,7 @@ AP_DECLARE(int) ap_regcomp(ap_regex_t *p
7 const char *errorptr;
8 int erroffset;
9 int options = 0;
10+int nsub;
11
12 if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS;
13 if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE;
14@@ -137,7 +138,9 @@ preg->re_erroffset = erroffset;
15
16 if (preg->re_pcre == NULL) return AP_REG_INVARG;
17
18-preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
19+pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
20+ PCRE_INFO_CAPTURECOUNT, &nsub);
21+preg->re_nsub = nsub;
22 return 0;
23 }
24
diff --git a/main/apr/APKBUILD b/main/apr/APKBUILD
index e8da15c050..a3383b70be 100644
--- a/main/apr/APKBUILD
+++ b/main/apr/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=apr 2pkgname=apr
3pkgver=1.4.5 3pkgver=1.4.6
4pkgrel=3 4pkgrel=0
5pkgdesc="The Apache Portable Runtime" 5pkgdesc="The Apache Portable Runtime"
6url="http://apr.apache.org/" 6url="http://apr.apache.org/"
7arch="all" 7arch="all"
@@ -46,4 +46,4 @@ dev() {
46 return 0 46 return 0
47} 47}
48 48
49md5sums="8b53f5a5669d0597f2da889a2f576eb6 apr-1.4.5.tar.bz2" 49md5sums="ffee70a111fd07372982b0550bbb14b7 apr-1.4.6.tar.bz2"
diff --git a/main/aria2/APKBUILD b/main/aria2/APKBUILD
index 66fff9e8c7..4c866b5176 100644
--- a/main/aria2/APKBUILD
+++ b/main/aria2/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Jeff Bilyk <jbilyk@gmail.com> 1# Contributor: Jeff Bilyk <jbilyk@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=aria2 3pkgname=aria2
4pkgver=1.14.1 4pkgver=1.14.2
5pkgrel=1 5pkgrel=1
6pkgdesc="Download utility for HTTP(S), FTP, Bittorrent, and Metalink" 6pkgdesc="Download utility for HTTP(S), FTP, Bittorrent, and Metalink"
7url="http://aria2.sourceforge.net" 7url="http://aria2.sourceforge.net"
@@ -39,4 +39,4 @@ package() {
39 make DESTDIR="$pkgdir" install 39 make DESTDIR="$pkgdir" install
40} 40}
41 41
42md5sums="3a23844ab3e1460eb7e6dac9b5dd798c aria2-1.14.1.tar.bz2" 42md5sums="19b1a9f83a09c6ef5c7ab87e4e0f7974 aria2-1.14.2.tar.bz2"
diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD
index 177d47a015..75dc40ee22 100644
--- a/main/asterisk/APKBUILD
+++ b/main/asterisk/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Timo Teras <timo.teras@iki.fi> 1# Contributor: Timo Teras <timo.teras@iki.fi>
2# Maintainer: Timo Teras <timo.teras@iki.fi> 2# Maintainer: Timo Teras <timo.teras@iki.fi>
3pkgname=asterisk 3pkgname=asterisk
4pkgver=10.1.2 4pkgver=10.2.1
5pkgrel=2 5pkgrel=0
6pkgdesc="Asterisk: A Module Open Source PBX System" 6pkgdesc="Asterisk: A Module Open Source PBX System"
7pkgusers="asterisk" 7pkgusers="asterisk"
8pkggroups="asterisk" 8pkggroups="asterisk"
@@ -23,10 +23,8 @@ source="http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-$
23 101-caps-uclibc.patch 23 101-caps-uclibc.patch
24 400-bug-227.patch 24 400-bug-227.patch
25 900-tryinclude.patch 25 900-tryinclude.patch
26 ASTERISK-18976.patch
27 ASTERISK-18977.patch 26 ASTERISK-18977.patch
28 ASTERISK-18995.patch 27 ASTERISK-18995.patch
29 ASTERISK-19106.patch
30 ASTERISK-19109.patch 28 ASTERISK-19109.patch
31 asterisk.initd 29 asterisk.initd
32 asterisk.confd 30 asterisk.confd
@@ -174,15 +172,13 @@ sound_en() {
174 chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk 172 chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
175} 173}
176 174
177md5sums="5d3e92795e03eaf94421a8fa5518f3df asterisk-10.1.2.tar.gz 175md5sums="fad866403db00604b3ffccbff4d24859 asterisk-10.2.1.tar.gz
178b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch 176b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch
1796e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch 1776e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch
18079e9634b5054bceb3b8dc246654bb243 400-bug-227.patch 17879e9634b5054bceb3b8dc246654bb243 400-bug-227.patch
181b794636266cc573f0dda730fba634567 900-tryinclude.patch 179b794636266cc573f0dda730fba634567 900-tryinclude.patch
182da5a3c500192dee4275aae5235d25f97 ASTERISK-18976.patch
1831ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch 1801ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch
184bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch 181bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch
185cbe5e2363570c5417c9edc68ed849b0d ASTERISK-19106.patch
186a22bb1d513d026564cb40ec213b1ae7f ASTERISK-19109.patch 182a22bb1d513d026564cb40ec213b1ae7f ASTERISK-19109.patch
18774cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd 18374cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd
188ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd 184ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
diff --git a/main/asterisk/ASTERISK-18976.patch b/main/asterisk/ASTERISK-18976.patch
deleted file mode 100644
index 36c613ff4f..0000000000
--- a/main/asterisk/ASTERISK-18976.patch
+++ /dev/null
@@ -1,142 +0,0 @@
1--- a/pbx/pbx_lua.c.orig 2011-12-08 08:28:31.000000000 +0200
2+++ b/pbx/pbx_lua.c 2011-12-08 08:54:22.000000000 +0200
3@@ -94,7 +94,6 @@
4 static void lua_create_application_metatable(lua_State *L);
5 static void lua_create_autoservice_functions(lua_State *L);
6 static void lua_create_hangup_function(lua_State *L);
7-static void lua_detect_goto(lua_State *L);
8 static void lua_concat_args(lua_State *L, int start, int nargs);
9
10 static void lua_state_destroy(void *data);
11@@ -213,19 +212,10 @@
12 chan = lua_touserdata(L, -1);
13 lua_pop(L, 1);
14
15+ context = ast_strdupa(chan->context);
16+ exten = ast_strdupa(chan->exten);
17+ priority = chan->priority;
18
19- lua_getfield(L, LUA_REGISTRYINDEX, "context");
20- context = ast_strdupa(lua_tostring(L, -1));
21- lua_pop(L, 1);
22-
23- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
24- exten = ast_strdupa(lua_tostring(L, -1));
25- lua_pop(L, 1);
26-
27- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
28- priority = lua_tointeger(L, -1);
29- lua_pop(L, 1);
30-
31 lua_concat_args(L, 2, nargs);
32 data = lua_tostring(L, -1);
33
34@@ -256,75 +246,51 @@
35 return lua_error(L);
36 }
37
38- lua_detect_goto(L);
39-
40- return 0;
41-}
42-
43-/*!
44- * \brief Detect if a Goto or other dialplan jump has been executed and return
45- * control to the pbx engine.
46- */
47-static void lua_detect_goto(lua_State *L)
48-{
49- struct ast_channel *chan;
50-
51- lua_getfield(L, LUA_REGISTRYINDEX, "channel");
52- chan = lua_touserdata(L, -1);
53- lua_pop(L, 1);
54-
55- /* check context */
56- lua_getfield(L, LUA_REGISTRYINDEX, "context");
57- lua_pushstring(L, chan->context);
58- if (!lua_equal(L, -1, -2)) {
59+ if (strcmp(context, chan->context)) {
60+ lua_pushstring(L, context);
61+ lua_pushstring(L, chan->context);
62 lua_pushliteral(L, "context");
63- goto e_goto_detected;
64- }
65- lua_pop(L, 2);
66-
67- /* check exten */
68- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
69- lua_pushstring(L, chan->exten);
70- if (!lua_equal(L, -1, -2)) {
71+ } else if (strcmp(exten, chan->exten)) {
72+ lua_pushstring(L, exten);
73+ lua_pushstring(L, chan->exten);
74 lua_pushliteral(L, "exten");
75- goto e_goto_detected;
76- }
77- lua_pop(L, 2);
78-
79- /* check priority */
80- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
81- lua_pushinteger(L, chan->priority);
82- if (!lua_equal(L, -1, -2)) {
83+ } else if (priority != chan->priority) {
84+ lua_pushinteger(L, priority);
85+ lua_pushinteger(L, chan->priority);
86 lua_pushliteral(L, "priority");
87- goto e_goto_detected;
88+ } else {
89+ /* no goto - restore the original position back
90+ * to lua state, in case this was a recursive dialplan
91+ * call (a dialplan application re-entering dialplan) */
92+ lua_update_registry(L, context, exten, priority);
93+ return 0;
94 }
95- lua_pop(L, 2);
96- return;
97-
98-e_goto_detected:
99- /* format our debug message */
100- lua_insert(L, -3);
101
102- lua_pushliteral(L, " changed from ");
103+ /* goto detected - construct error message */
104 lua_insert(L, -3);
105-
106- lua_pushliteral(L, " to ");
107- lua_insert(L, -2);
108-
109- lua_concat(L, 5);
110-
111- ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
112- lua_pop(L, 1);
113-
114- /* let the lua engine know it needs to return control to the pbx */
115- lua_pushinteger(L, LUA_GOTO_DETECTED);
116+
117+ lua_pushliteral(L, " changed from ");
118+ lua_insert(L, -3);
119+
120+ lua_pushliteral(L, " to ");
121+ lua_insert(L, -2);
122+
123+ lua_concat(L, 5);
124+
125+ ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
126+ lua_pop(L, 1);
127+
128+ /* let the lua engine know it needs to return control to the pbx */
129+ lua_pushinteger(L, LUA_GOTO_DETECTED);
130 lua_error(L);
131+
132+ return 0;
133 }
134
135 /*!
136 * \brief [lua_CFunction] Used to get the value of a variable or dialplan
137 * function (for access from lua, don't call directly)
138- *
139+ *
140 * The value of the variable or function is returned. This function is the
141 * 'get()' function in the following example as would be seen in
142 * extensions.lua.
diff --git a/main/asterisk/ASTERISK-19106.patch b/main/asterisk/ASTERISK-19106.patch
deleted file mode 100644
index dd23733e3f..0000000000
--- a/main/asterisk/ASTERISK-19106.patch
+++ /dev/null
@@ -1,442 +0,0 @@
1commit f987e47193c1ce64466663134e5e311742d022d2
2Author: twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>
3Date: Mon Jan 30 23:58:51 2012 +0000
4
5 Re-link peers by IP when dnsmgr changes the IP
6
7 Asterisk's dnsmgr currently takes a pointer to an ast_sockaddr and updates it
8 anytime an address resolves to something different. There are a couple of
9 issues with this. First, the ast_sockaddr is usually the address of an
10 ast_sockaddr inside a refcounted struct and we never bump the refcount of those
11 structs when using dnsmgr. This makes it possible that a refresh could happen
12 after the destructor for that object is called (despite ast_dnsmgr_release
13 being called in that destructor). Second, the module using dnsmgr cannot be
14 aware of an address changing without polling for it in the code. If an action
15 needs to be taken on address update (like re-linking a SIP peer in the
16 peers_by_ip table), then polling for this change negates many of the benefits
17 of having dnsmgr in the first place.
18
19 This patch adds a function to the dnsmgr API that calls an update callback
20 instead of blindly updating the address itself. It also moves calls to
21 ast_dnsmgr_release outside of the destructor functions and into cleanup
22 functions that are called when we no longer need the objects and increments the
23 refcount of the objects using dnsmgr since those objects are stored on the
24 ast_dnsmgr_entry struct. A helper function for returning the proper default SIP
25 port (non-tls vs tls) is also added and used.
26
27 This patch also incorporates changes from a patch posted by Timo Teräs to
28 ASTERISK-19106 for related dnsmgr issues.
29
30 (closes issue ASTERISK-19106)
31
32 Review: https://reviewboard.asterisk.org/r/1691/
33 ........
34
35 Merged revisions 353371 from http://svn.asterisk.org/svn/asterisk/branches/1.8
36 ........
37
38 Merged revisions 353397 from http://svn.asterisk.org/svn/asterisk/branches/10
39
40
41 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@353418 f38db490-d61c-443f-a65b-d21fe96a405b
42
43diff --git a/channels/chan_sip.c b/channels/chan_sip.c
44index e1dfaea..698894f 100644
45--- a/channels/chan_sip.c
46+++ b/channels/chan_sip.c
47@@ -2897,6 +2897,11 @@ static int match_and_cleanup_peer_sched(void *peerobj, void *arg, int flags)
48
49 if (which == SIP_PEERS_ALL || peer->the_mark) {
50 peer_sched_cleanup(peer);
51+ if (peer->dnsmgr) {
52+ ast_dnsmgr_release(peer->dnsmgr);
53+ peer->dnsmgr = NULL;
54+ sip_unref_peer(peer, "Release peer from dnsmgr");
55+ }
56 return CMP_MATCH;
57 }
58 return 0;
59@@ -4681,8 +4686,6 @@ static void sip_destroy_peer(struct sip_peer *peer)
60 ao2_t_ref(peer->auth, -1, "Removing peer authentication");
61 peer->auth = NULL;
62 }
63- if (peer->dnsmgr)
64- ast_dnsmgr_release(peer->dnsmgr);
65
66 if (peer->socket.tcptls_session) {
67 ao2_ref(peer->socket.tcptls_session, -1);
68@@ -5423,6 +5426,12 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer)
69 return 0;
70 }
71
72+/*! \brief The default sip port for the given transport */
73+static inline int default_sip_port(enum sip_transport type)
74+{
75+ return type == SIP_TRANSPORT_TLS ? STANDARD_TLS_PORT : STANDARD_SIP_PORT;
76+}
77+
78 /*! \brief create address structure from device name
79 * Or, if peer not found, find it in the global DNS
80 * returns TRUE (-1) on failure, FALSE on success */
81@@ -5525,9 +5534,7 @@ static int create_addr(struct sip_pvt *dialog, const char *opeer, struct ast_soc
82 }
83
84 if (!ast_sockaddr_port(&dialog->sa)) {
85- ast_sockaddr_set_port(&dialog->sa,
86- (dialog->socket.type == SIP_TRANSPORT_TLS) ?
87- STANDARD_TLS_PORT : STANDARD_SIP_PORT);
88+ ast_sockaddr_set_port(&dialog->sa, default_sip_port(dialog->socket.type));
89 }
90 ast_sockaddr_copy(&dialog->recv, &dialog->sa);
91 return 0;
92@@ -5747,7 +5754,6 @@ static void sip_registry_destroy(struct sip_registry *reg)
93
94 ast_string_field_free_memory(reg);
95 ast_atomic_fetchadd_int(&regobjs, -1);
96- ast_dnsmgr_release(reg->dnsmgr);
97 ast_free(reg);
98 }
99
100@@ -5761,7 +5767,6 @@ static void sip_subscribe_mwi_destroy(struct sip_subscription_mwi *mwi)
101
102 AST_SCHED_DEL(sched, mwi->resub);
103 ast_string_field_free_memory(mwi);
104- ast_dnsmgr_release(mwi->dnsmgr);
105 ast_free(mwi);
106 }
107
108@@ -12721,6 +12726,72 @@ static int sip_subscribe_mwi_do(const void *data)
109 return 0;
110 }
111
112+static void on_dns_update_registry(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
113+{
114+ struct sip_registry *reg = data;
115+ const char *old_str;
116+
117+ /* This shouldn't happen, but just in case */
118+ if (ast_sockaddr_isnull(new)) {
119+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
120+ return;
121+ }
122+
123+ if (!ast_sockaddr_port(new)) {
124+ ast_sockaddr_set_port(new, reg->portno);
125+ }
126+
127+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
128+
129+ ast_debug(1, "Changing registry %s from %s to %s\n", S_OR(reg->peername, reg->hostname), old_str, ast_sockaddr_stringify(new));
130+ ast_sockaddr_copy(&reg->us, new);
131+}
132+
133+static void on_dns_update_peer(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
134+{
135+ struct sip_peer *peer = data;
136+ const char *old_str;
137+
138+ /* This shouldn't happen, but just in case */
139+ if (ast_sockaddr_isnull(new)) {
140+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
141+ return;
142+ }
143+
144+ if (!ast_sockaddr_isnull(&peer->addr)) {
145+ ao2_unlink(peers_by_ip, peer);
146+ }
147+
148+ if (!ast_sockaddr_port(new)) {
149+ ast_sockaddr_set_port(new, default_sip_port(peer->socket.type));
150+ }
151+
152+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
153+ ast_debug(1, "Changing peer %s address from %s to %s\n", peer->name, old_str, ast_sockaddr_stringify(new));
154+
155+ ao2_lock(peer);
156+ ast_sockaddr_copy(&peer->addr, new);
157+ ao2_unlock(peer);
158+
159+ ao2_link(peers_by_ip, peer);
160+}
161+
162+static void on_dns_update_mwi(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
163+{
164+ struct sip_subscription_mwi *mwi = data;
165+ const char *old_str;
166+
167+ /* This shouldn't happen, but just in case */
168+ if (ast_sockaddr_isnull(new)) {
169+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
170+ return;
171+ }
172+
173+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
174+ ast_debug(1, "Changing mwi %s from %s to %s\n", mwi->hostname, old_str, ast_sockaddr_stringify(new));
175+ ast_sockaddr_copy(&mwi->us, new);
176+}
177+
178 /*! \brief Actually setup an MWI subscription or resubscribe */
179 static int __sip_subscribe_mwi_do(struct sip_subscription_mwi *mwi)
180 {
181@@ -12730,7 +12801,11 @@ static int __sip_subscribe_mwi_do(struct sip_subscription_mwi *mwi)
182 snprintf(transport, sizeof(transport), "_%s._%s", get_srv_service(mwi->transport), get_srv_protocol(mwi->transport));
183
184 mwi->us.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
185- ast_dnsmgr_lookup(mwi->hostname, &mwi->us, &mwi->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
186+ ASTOBJ_REF(mwi); /* Add a ref for storing the mwi on the dnsmgr for updates */
187+ ast_dnsmgr_lookup_cb(mwi->hostname, &mwi->us, &mwi->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_mwi, mwi);
188+ if (!mwi->dnsmgr) {
189+ ASTOBJ_UNREF(mwi, sip_subscribe_mwi_destroy); /* dnsmgr disabled, remove reference */
190+ }
191 }
192
193 /* If we already have a subscription up simply send a resubscription */
194@@ -13411,17 +13486,8 @@ static int sip_reg_timeout(const void *data)
195 }
196
197 if (r->dnsmgr) {
198- struct sip_peer *peer;
199 /* If the registration has timed out, maybe the IP changed. Force a refresh. */
200 ast_dnsmgr_refresh(r->dnsmgr);
201- /* If we are resolving a peer, we have to make sure the refreshed address gets copied */
202- if ((peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0))) {
203- ast_sockaddr_copy(&peer->addr, &r->us);
204- if (r->portno) {
205- ast_sockaddr_set_port(&peer->addr, r->portno);
206- }
207- peer = sip_unref_peer(peer, "unref after sip_find_peer");
208- }
209 }
210
211 /* If the initial tranmission failed, we may not have an existing dialog,
212@@ -13510,7 +13576,12 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
213 peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0);
214 snprintf(transport, sizeof(transport), "_%s._%s",get_srv_service(r->transport), get_srv_protocol(r->transport)); /* have to use static sip_get_transport function */
215 r->us.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
216- ast_dnsmgr_lookup(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
217+ registry_addref(r, "add reg ref for dnsmgr");
218+ ast_dnsmgr_lookup_cb(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_registry, r);
219+ if (!r->dnsmgr) {
220+ /*dnsmgr refresh disabled, no reference added! */
221+ registry_unref(r, "remove reg ref, dnsmgr disabled");
222+ }
223 if (peer) {
224 peer = sip_unref_peer(peer, "removing peer ref for dnsmgr_lookup");
225 }
226@@ -13543,18 +13614,21 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
227 }
228
229 /* Use port number specified if no SRV record was found */
230- if (!ast_sockaddr_port(&r->us) && r->portno) {
231- ast_sockaddr_set_port(&r->us, r->portno);
232- }
233-
234- /* It is possible that DNS is unavailable at the time the peer is created. Here, if
235- * we've updated the address in the registry, we copy it to the peer so that
236- * create_addr() can copy it to the dialog via create_addr_from_peer */
237- if ((peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0))) {
238- if (ast_sockaddr_isnull(&peer->addr) && !(ast_sockaddr_isnull(&r->us))) {
239- ast_sockaddr_copy(&peer->addr, &r->us);
240+ if (!ast_sockaddr_isnull(&r->us)) {
241+ if (!ast_sockaddr_port(&r->us) && r->portno) {
242+ ast_sockaddr_set_port(&r->us, r->portno);
243+ }
244+
245+ /* It is possible that DNS was unavailable at the time the peer was created.
246+ * Here, if we've updated the address in the registry via manually calling
247+ * ast_dnsmgr_lookup_cb() above, then we call the same function that dnsmgr would
248+ * call if it was updating a peer's address */
249+ if ((peer = sip_find_peer(S_OR(r->peername, r->hostname), NULL, TRUE, FINDPEERS, FALSE, 0))) {
250+ if (ast_sockaddr_cmp(&peer->addr, &r->us)) {
251+ on_dns_update_peer(&peer->addr, &r->us, peer);
252+ }
253+ peer = sip_unref_peer(peer, "unref after sip_find_peer");
254 }
255- peer = sip_unref_peer(peer, "unref after sip_find_peer");
256 }
257
258 /* Find address to hostname */
259@@ -14392,9 +14466,7 @@ static enum parse_register_result parse_register_contact(struct sip_pvt *pvt, st
260 peer->portinuri = ast_sockaddr_port(&testsa) ? TRUE : FALSE;
261
262 if (!ast_sockaddr_port(&testsa)) {
263- ast_sockaddr_set_port(&testsa,
264- transport_type == SIP_TRANSPORT_TLS ?
265- STANDARD_TLS_PORT : STANDARD_SIP_PORT);
266+ ast_sockaddr_set_port(&testsa, default_sip_port(transport_type));
267 }
268
269 ast_sockaddr_copy(&peer->addr, &testsa);
270@@ -28679,11 +28751,17 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
271 snprintf(transport, sizeof(transport), "_%s._%s", get_srv_service(peer->socket.type), get_srv_protocol(peer->socket.type));
272
273 peer->addr.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
274- if (ast_dnsmgr_lookup(_srvlookup, &peer->addr, &peer->dnsmgr, sip_cfg.srvlookup && !peer->portinuri ? transport : NULL)) {
275+ if (ast_dnsmgr_lookup_cb(_srvlookup, &peer->addr, &peer->dnsmgr, sip_cfg.srvlookup && !peer->portinuri ? transport : NULL,
276+ on_dns_update_peer, sip_ref_peer(peer, "Store peer on dnsmgr"))) {
277 ast_log(LOG_ERROR, "srvlookup failed for host: %s, on peer %s, removing peer\n", _srvlookup, peer->name);
278+ sip_unref_peer(peer, "dnsmgr lookup failed, getting rid of peer dnsmgr ref");
279 sip_unref_peer(peer, "getting rid of a peer pointer");
280 return NULL;
281 }
282+ if (!peer->dnsmgr) {
283+ /* dnsmgr refresh disabeld, release reference */
284+ sip_unref_peer(peer, "dnsmgr disabled, unref peer");
285+ }
286
287 ast_string_field_set(peer, tohost, srvlookup);
288
289@@ -28817,7 +28895,7 @@ static void cleanup_all_regs(void)
290 /* This is needed, since otherwise active registry entries will not be destroyed */
291 ASTOBJ_CONTAINER_TRAVERSE(&regl, 1, do { /* regl is locked */
292
293- ASTOBJ_RDLOCK(iterator); /* now regl is locked, and the object is also locked */
294+ ASTOBJ_WRLOCK(iterator); /* now regl is locked, and the object is also locked */
295 if (iterator->call) {
296 ast_debug(3, "Destroying active SIP dialog for registry %s@%s\n", iterator->username, iterator->hostname);
297 /* This will also remove references to the registry */
298@@ -28830,6 +28908,11 @@ static void cleanup_all_regs(void)
299 if (iterator->timeout > -1) {
300 AST_SCHED_DEL_UNREF(sched, iterator->timeout, registry_unref(iterator, "reg ptr unref from reload config"));
301 }
302+ if (iterator->dnsmgr) {
303+ ast_dnsmgr_release(iterator->dnsmgr);
304+ iterator->dnsmgr = NULL;
305+ registry_unref(iterator, "reg ptr unref from dnsmgr");
306+ }
307 ASTOBJ_UNLOCK(iterator);
308 } while(0));
309 }
310@@ -31496,6 +31579,16 @@ static int unload_module(void)
311 cleanup_all_regs();
312 ASTOBJ_CONTAINER_DESTROYALL(&regl, sip_registry_destroy);
313 ASTOBJ_CONTAINER_DESTROY(&regl);
314+
315+ ASTOBJ_CONTAINER_TRAVERSE(&submwil, 1, do {
316+ ASTOBJ_WRLOCK(iterator);
317+ if (iterator->dnsmgr) {
318+ ast_dnsmgr_release(iterator->dnsmgr);
319+ iterator->dnsmgr = NULL;
320+ ASTOBJ_UNREF(iterator, sip_subscribe_mwi_destroy);
321+ }
322+ ASTOBJ_UNLOCK(iterator);
323+ } while(0));
324 ASTOBJ_CONTAINER_DESTROYALL(&submwil, sip_subscribe_mwi_destroy);
325 ASTOBJ_CONTAINER_DESTROY(&submwil);
326
327diff --git a/include/asterisk/dnsmgr.h b/include/asterisk/dnsmgr.h
328index b62c2a1..07d6268 100644
329--- a/include/asterisk/dnsmgr.h
330+++ b/include/asterisk/dnsmgr.h
331@@ -37,6 +37,8 @@ extern "C" {
332 */
333 struct ast_dnsmgr_entry;
334
335+typedef void (*dns_update_func)(struct ast_sockaddr *old_addr, struct ast_sockaddr *new_addr, void *data);
336+
337 /*!
338 * \brief Allocate a new DNS manager entry
339 *
340@@ -105,6 +107,31 @@ void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry);
341 int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service);
342
343 /*!
344+ * \brief Allocate and initialize a DNS manager entry, with update callback
345+ *
346+ * \param name the hostname
347+ * \param result The addr which is intended to be updated in the update callback when DNS manager calls it on refresh.
348+ * The address family is used as an input parameter to filter the returned addresses.
349+ * If it is 0, both IPv4 and IPv6 addresses can be returned.
350+ * \param dnsmgr Where to store the allocate DNS manager entry
351+ * \param service
352+ * \param func The update callback function
353+ * The update callback will be called when DNS manager detects that an IP address has been changed.
354+ * Instead of updating the addr itself, DNS manager will call this callback function with the old
355+ * and new addresses. It is the responsibility of the callback to perform any updates
356+ * \param data A pointer to data that will be passed through to the callback function
357+ *
358+ * \note
359+ * This function allocates a new DNS manager entry object, and fills it with
360+ * the provided hostname and IP address. This function _does_ force an initial
361+ * lookup, so it may block for some period of time.
362+ *
363+ * \retval 0 success
364+ * \retval non-zero failure
365+ */
366+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);
367+
368+/*!
369 * \brief Force a refresh of a dnsmgr entry
370 *
371 * \retval non-zero if the result is different than the previous result
372diff --git a/main/dnsmgr.c b/main/dnsmgr.c
373index d11cd99..7cdcd0c 100644
374--- a/main/dnsmgr.c
375+++ b/main/dnsmgr.c
376@@ -58,6 +58,10 @@ struct ast_dnsmgr_entry {
377 unsigned int family;
378 /*! Set to 1 if the entry changes */
379 unsigned int changed:1;
380+ /*! Data to pass back to update_func */
381+ void *data;
382+ /*! The callback function to execute on address update */
383+ dns_update_func update_func;
384 ast_mutex_t lock;
385 AST_RWLIST_ENTRY(ast_dnsmgr_entry) list;
386 /*! just 1 here, but we use calloc to allocate the correct size */
387@@ -130,7 +134,7 @@ void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry)
388 ast_free(entry);
389 }
390
391-int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service)
392+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)
393 {
394 unsigned int family;
395
396@@ -165,9 +169,21 @@ int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_
397
398 ast_verb(3, "adding dns manager for '%s'\n", name);
399 *dnsmgr = ast_dnsmgr_get_family(name, result, service, family);
400+ (*dnsmgr)->update_func = func;
401+ (*dnsmgr)->data = data;
402 return !*dnsmgr;
403 }
404
405+int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service)
406+{
407+ return internal_dnsmgr_lookup(name, result, dnsmgr, service, NULL, NULL);
408+}
409+
410+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)
411+{
412+ return internal_dnsmgr_lookup(name, result, dnsmgr, service, func, data);
413+}
414+
415 /*
416 * Refresh a dnsmgr entry
417 */
418@@ -187,16 +203,19 @@ static int dnsmgr_refresh(struct ast_dnsmgr_entry *entry, int verbose)
419 if (!ast_sockaddr_port(&tmp)) {
420 ast_sockaddr_set_port(&tmp, ast_sockaddr_port(entry->result));
421 }
422-
423 if (ast_sockaddr_cmp(&tmp, entry->result)) {
424 const char *old_addr = ast_strdupa(ast_sockaddr_stringify(entry->result));
425 const char *new_addr = ast_strdupa(ast_sockaddr_stringify(&tmp));
426
427- ast_log(LOG_NOTICE, "dnssrv: host '%s' changed from %s to %s\n",
428- entry->name, old_addr, new_addr);
429+ if (entry->update_func) {
430+ entry->update_func(entry->result, &tmp, entry->data);
431+ } else {
432+ ast_log(LOG_NOTICE, "dnssrv: host '%s' changed from %s to %s\n",
433+ entry->name, old_addr, new_addr);
434
435- ast_sockaddr_copy(entry->result, &tmp);
436- changed = entry->changed = 1;
437+ ast_sockaddr_copy(entry->result, &tmp);
438+ changed = entry->changed = 1;
439+ }
440 }
441 }
442
diff --git a/main/audacious-plugins/APKBUILD b/main/audacious-plugins/APKBUILD
index f34116cb4f..a3a7067091 100644
--- a/main/audacious-plugins/APKBUILD
+++ b/main/audacious-plugins/APKBUILD
@@ -2,12 +2,13 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=audacious-plugins 3pkgname=audacious-plugins
4pkgver=3.2 4pkgver=3.2
5pkgrel=0 5pkgrel=1
6pkgdesc="playlist-oriented media player with multiple interfaces (plugins)" 6pkgdesc="playlist-oriented media player with multiple interfaces (plugins)"
7url="http://audacious-media-player.org/" 7url="http://audacious-media-player.org/"
8arch="all" 8arch="all"
9license="ISC" 9license="ISC"
10depends=audacious 10depends=audacious
11subpackages="$pkgname-lang"
11install_if=audacious 12install_if=audacious
12_want_ffmpeg="ffmpeg-dev" 13_want_ffmpeg="ffmpeg-dev"
13makedepends="libmowgli-dev 14makedepends="libmowgli-dev
diff --git a/main/avahi/APKBUILD b/main/avahi/APKBUILD
index dd21a53119..c367c512b9 100644
--- a/main/avahi/APKBUILD
+++ b/main/avahi/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=avahi 2pkgname=avahi
3pkgver=0.6.30 3pkgver=0.6.31
4pkgrel=4 4pkgrel=0
5pkgdesc="A multicast/unicast DNS-SD framework" 5pkgdesc="A multicast/unicast DNS-SD framework"
6url="http://www.avahi.org/" 6url="http://www.avahi.org/"
7arch="all" 7arch="all"
@@ -15,7 +15,7 @@ pkgusers="avahi"
15pkggroups="avahi" 15pkggroups="avahi"
16subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-ui-tools:uitools 16subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-ui-tools:uitools
17 $pkgname-glib $pkgname-ui $pkgname-libs $pkgname-compat-howl:howl 17 $pkgname-glib $pkgname-ui $pkgname-libs $pkgname-compat-howl:howl
18 $pkgname-compat-libdns_sd:lidns_sd" 18 $pkgname-compat-libdns_sd:lidns_sd $pkgname-lang"
19source="http://www.avahi.org/download/avahi-$pkgver.tar.gz 19source="http://www.avahi.org/download/avahi-$pkgver.tar.gz
20 gnome-nettool.png" 20 gnome-nettool.png"
21 21
@@ -115,5 +115,5 @@ lidns_sd() {
115 "$subpkgdir"/usr/lib/ 115 "$subpkgdir"/usr/lib/
116} 116}
117 117
118md5sums="e4db89a2a403ff4c47d66ac66fad1f43 avahi-0.6.30.tar.gz 118md5sums="2f22745b8f7368ad5a0a3fddac343f2d avahi-0.6.31.tar.gz
11942c2905307c7a5dc6ac4b75f4c3d65a3 gnome-nettool.png" 11942c2905307c7a5dc6ac4b75f4c3d65a3 gnome-nettool.png"
diff --git a/main/bind/bind.127.zone b/main/bind/127.zone
index 2ad28de52c..2ad28de52c 100644
--- a/main/bind/bind.127.zone
+++ b/main/bind/127.zone
diff --git a/main/bind/APKBUILD b/main/bind/APKBUILD
index 994d3718e5..7cd545fff4 100644
--- a/main/bind/APKBUILD
+++ b/main/bind/APKBUILD
@@ -1,27 +1,29 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=bind 3pkgname=bind
4pkgver=9.8.1_p1 4pkgver=9.9.0
5_ver=${pkgver%_p*} 5_ver=${pkgver%_p*}
6_p=${pkgver#*_p} 6_p=${pkgver#*_p}
7[ "$_p" != "$pkgver" ] && _ver="${_ver}-P$_p" 7[ "$_p" != "$pkgver" ] && _ver="${_ver}-P$_p"
8pkgrel=0 8pkgrel=1
9pkgdesc="BIND - Berkeley Internet Name Domain - Name Server and tools" 9pkgdesc="BIND - Berkeley Internet Name Domain - Name Server and tools"
10url="http://www.isc.org" 10url="http://www.isc.org"
11arch="all" 11arch="all"
12license="as-is" 12license="as-is"
13depends= 13depends=
14pkgusers="named"
15pkggroups="named"
14makedepends="openssl-dev perl" 16makedepends="openssl-dev perl"
15install="$pkgname.pre-install $pkgname.post-install" 17install="$pkgname.pre-install"
16subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-tools" 18subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-tools"
17source="http://ftp.isc.org/isc/bind9/${_ver}/bind-${_ver}.tar.gz 19source="http://ftp.isc.org/isc/bind9/${_ver}/bind-${_ver}.tar.gz
18 bind.so_bsdcompat.patch 20 bind.so_bsdcompat.patch
19 $pkgname.initd 21 named.initd
20 $pkgname.confd 22 named.confd
21 $pkgname.conf 23 named.conf
22 $pkgname.127.zone 24 127.zone
23 $pkgname.localhost.zone 25 localhost.zone
24 $pkgname.named.ca 26 named.ca
25 " 27 "
26 28
27_builddir="$srcdir/bind-${_ver}" 29_builddir="$srcdir/bind-${_ver}"
@@ -66,16 +68,31 @@ build() {
66 68
67package() { 69package() {
68 cd "$_builddir" 70 cd "$_builddir"
71 install -d -m0770 -g named -o root "$pkgdir"/var/bind \
72 "$pkgdir"/var/bind/sec \
73 "$pkgdir"/var/bind/dyn \
74 "$pkgdir"/var/run/named \
75 "$pkgdir"/var/log/named \
76 || return 1
77
78 install -d -m0750 -g named -o root "$pkgdir"/etc/bind \
79 "$pkgdir"/var/bind/pri || return 1
80
69 make DESTDIR="$pkgdir" install || return 1 81 make DESTDIR="$pkgdir" install || return 1
70 rm "$pkgdir"/usr/lib/*.la || return 1 82 rm "$pkgdir"/usr/lib/*.la || return 1
71 83
72 install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/named || return 1 84 install -Dm755 "$srcdir"/named.initd \
73 install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/named || return 1 85 "$pkgdir"/etc/init.d/named || return 1
74 install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/bind/named.conf || return 1 86 install -Dm644 "$srcdir"/named.confd \
75 install -Dm644 "$srcdir"/$pkgname.named.ca "$pkgdir"/var/bind/named.ca || return 1 87 "$pkgdir"/etc/conf.d/named || return 1
76 install -Dm644 "$srcdir"/$pkgname.127.zone "$pkgdir"/var/bind/pri/127.zone || return 1 88 install -Dm644 "$srcdir"/named.conf \
77 install -Dm644 "$srcdir"/$pkgname.localhost.zone "$pkgdir"/var/bind/pri/localhost.zone || return 1 89 "$pkgdir"/etc/bind/named.conf || return 1
78 mkdir -p "$pkgdir"/var/bind/sec || return 1 90 install -Dm644 "$srcdir"/named.ca \
91 "$pkgdir"/var/bind/named.ca || return 1
92 install -Dm644 "$srcdir"/127.zone \
93 "$pkgdir"/var/bind/pri/127.zone || return 1
94 install -Dm644 "$srcdir"/localhost.zone \
95 "$pkgdir"/var/bind/pri/localhost.zone || return 1
79 cd "$pkgdir"/var/bind 96 cd "$pkgdir"/var/bind
80 ln -s named.ca root.cache || return 1 97 ln -s named.ca root.cache || return 1
81} 98}
@@ -95,11 +112,11 @@ tools() {
95 done 112 done
96} 113}
97 114
98md5sums="afa41f8203d50bedad65071f9b6f96d7 bind-9.8.1-P1.tar.gz 115md5sums="9281d0b04f711d28153ba1ab04a54026 bind-9.9.0.tar.gz
99f270a5b0a28ab6e818840c5c368ddbcc bind.so_bsdcompat.patch 116f270a5b0a28ab6e818840c5c368ddbcc bind.so_bsdcompat.patch
10092914193cc603d8d81ef00534ce9c1c9 bind.initd 1171e77ad70d15546ae5e2527892b867580 named.initd
1018b05a287976d66d51c18b73ee7523671 bind.confd 118418a367cecfdf8760c92235d3967867e named.confd
102be5fd752bdbd59385f2a559d603098d5 bind.conf 119be5fd752bdbd59385f2a559d603098d5 named.conf
103a7455b009b7fccd74ac6f6eaa6902a00 bind.127.zone 120a7455b009b7fccd74ac6f6eaa6902a00 127.zone
104c3220168fabfb31a25e8c3a545545e34 bind.localhost.zone 121c3220168fabfb31a25e8c3a545545e34 localhost.zone
105a94e29ac677846f3d4d618c50b7d34f1 bind.named.ca" 122a94e29ac677846f3d4d618c50b7d34f1 named.ca"
diff --git a/main/bind/bind.initd b/main/bind/bind.initd
deleted file mode 100644
index 3284ec853a..0000000000
--- a/main/bind/bind.initd
+++ /dev/null
@@ -1,25 +0,0 @@
1#!/sbin/runscript
2
3NAME=named
4DAEMON=/usr/sbin/$NAME
5
6depend() {
7 need net
8 after firewall
9 use logger
10 provide dns
11}
12
13start() {
14 ebegin "Starting ${NAME}"
15 start-stop-daemon --start --quiet --background \
16 --exec ${DAEMON} --nicelevel ${NICELEVEL} \
17 -- -u ${USER} -n ${CPU} ${OPTS}
18 eend $?
19}
20
21stop() {
22 ebegin "Stopping ${NAME}"
23 start-stop-daemon --stop --quiet --pidfile $PIDFILE
24 eend $?
25}
diff --git a/main/bind/bind.post-install b/main/bind/bind.post-install
deleted file mode 100644
index 7e091c097c..0000000000
--- a/main/bind/bind.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
1#!/bin/sh
2
3install -dD -o named -g named /var/run/named
4chown -R named:named /var/bind
5
diff --git a/main/bind/bind.pre-install b/main/bind/bind.pre-install
index c799634502..e0a615ef08 100644
--- a/main/bind/bind.pre-install
+++ b/main/bind/bind.pre-install
@@ -1,5 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3adduser -h /etc/bind -s /bin/false -D named 2>/dev/null 3addgroup -S named 2>/dev/null
4adduser -h /etc/bind -s /bin/false -G named -D named 2>/dev/null
4exit 0 5exit 0
5 6
diff --git a/main/bind/bind.localhost.zone b/main/bind/localhost.zone
index 338d7050ca..338d7050ca 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 902a7047f9..902a7047f9 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 d58c61bde0..d58c61bde0 100644
--- a/main/bind/bind.conf
+++ b/main/bind/named.conf
diff --git a/main/bind/bind.confd b/main/bind/named.confd
index 82d3763509..a9af5676f7 100644
--- a/main/bind/bind.confd
+++ b/main/bind/named.confd
@@ -2,13 +2,7 @@
2OPTS="" 2OPTS=""
3 3
4# Set this to the number of processors you have. 4# Set this to the number of processors you have.
5CPU="1" 5# CPU="1"
6
7# User which named should run as
8USER="named"
9
10# Default pid file location
11PIDFILE="/var/run/named/named.pid"
12 6
13# Scheduling priority: 19 is the lowest and -20 is the highest. 7# Scheduling priority: 19 is the lowest and -20 is the highest.
14NICELEVEL="0" 8# NICELEVEL="0"
diff --git a/main/bind/named.initd b/main/bind/named.initd
new file mode 100644
index 0000000000..c03f35d3a4
--- /dev/null
+++ b/main/bind/named.initd
@@ -0,0 +1,91 @@
1#!/sbin/runscript
2
3extra_commands="checkconfig checkzones"
4extra_started_commands="reload"
5
6depend() {
7 need net
8 use logger
9 provide dns
10}
11
12: ${NAMED_CONF:=/etc/bind/named.conf}
13
14depend() {
15 need net
16 after firewall
17 use logger
18 provide dns
19}
20
21_get_pidfile() {
22 [ -n "${PIDFILE}" ] || PIDFILE=$(\
23 /usr/sbin/named-checkconf -p ${NAMED_CONF} | grep 'pid-file' | cut -d\" -f2)
24 [ -z "${PIDFILE}" ] && PIDFILE=/var/run/named/named.pid
25}
26
27checkconfig() {
28 ebegin "Checking named configuration"
29
30 if [ ! -f "${NAMED_CONF}" ] ; then
31 eerror "No ${NAMED_CONF} file exists!"
32 return 1
33 fi
34
35 /usr/sbin/named-checkconf ${NAMED_CONF} || {
36 eerror "named-checkconf failed! Please fix your config first."
37 return 1
38 }
39 eend 0
40 return 0
41}
42
43checkzones() {
44 ebegin "Checking named configuration and zones"
45 /usr/sbin/named-checkconf -z -j ${NAMED_CONF}
46 eend $?
47}
48
49start() {
50 local piddir
51 ebegin "Starting named"
52 _get_pidfile
53 piddir="${PIDFILE%/*}"
54 if [ ! -d "${piddir}" ]; then
55 checkpath -q -d -o root:named -m 0770 "${piddir}" || {
56 eend 1
57 return 1
58 }
59 fi
60
61 checkconfig || { eend 1; return 1; }
62
63 # create piddir (usually /var/run/named) if necessary, bug 334535
64 _get_pidfile
65 piddir="${PIDFILE%/*}"
66 if [ ! -d "${piddir}" ]; then
67 checkpath -q -d -o root:named -m 0770 "${piddir}" || {
68 eend 1
69 return 1
70 }
71 fi
72
73 # In case someone have $CPU set in /etc/conf.d/named
74 if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then
75 CPU="-n ${CPU}"
76 fi
77
78 start-stop-daemon --start --pidfile ${PIDFILE} \
79 --nicelevel ${NICELEVEL:-0} \
80 --exec /usr/sbin/named \
81 -- -u named ${CPU} ${OPTS}
82 eend $?
83}
84
85stop() {
86 ebegin "Stopping named"
87 _get_pidfile
88 start-stop-daemon --stop --quiet --pidfile $PIDFILE
89 eend $?
90}
91
diff --git a/main/bitlbee/01-twitter.patch b/main/bitlbee/01-twitter.patch
deleted file mode 100644
index 3e8a22ed0f..0000000000
--- a/main/bitlbee/01-twitter.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1=== modified file 'protocols/twitter/twitter_lib.c'
2--- protocols/twitter/twitter_lib.c 2011-12-26 18:17:51 +0000
3+++ protocols/twitter/twitter_lib.c 2012-01-10 23:36:29 +0000
4@@ -886,10 +886,6 @@
5 td->http_fails = 0;
6 if (!(ic->flags & OPT_LOGGED_IN))
7 imcb_connected(ic);
8- } else if (req->status_code == 401) {
9- imcb_error(ic, "Authentication failure");
10- imc_logout(ic, FALSE);
11- goto end;
12 } else {
13 // It didn't go well, output the error and return.
14 if (++td->http_fails >= 5)
15@@ -938,10 +934,6 @@
16 td->http_fails = 0;
17 if (!(ic->flags & OPT_LOGGED_IN))
18 imcb_connected(ic);
19- } else if (req->status_code == 401) {
20- imcb_error(ic, "Authentication failure");
21- imc_logout(ic, FALSE);
22- goto end;
23 } else {
24 // It didn't go well, output the error and return.
25 if (++td->http_fails >= 5)
26
diff --git a/main/bitlbee/APKBUILD b/main/bitlbee/APKBUILD
index b1aa2ab33c..410ff448e0 100644
--- a/main/bitlbee/APKBUILD
+++ b/main/bitlbee/APKBUILD
@@ -1,22 +1,20 @@
1# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> 1# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
2# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> 2# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3pkgname=bitlbee 3pkgname=bitlbee
4pkgver=3.0.4 4pkgver=3.0.5
5pkgrel=1 5pkgrel=0
6pkgdesc="An IRC to other chat networks gateway" 6pkgdesc="An IRC to other chat networks gateway"
7url="http://www.bitlbee.org/" 7url="http://www.bitlbee.org/"
8arch="all" 8arch="all"
9license="GPL-2" 9license="GPL-2"
10depends= 10depends=
11makedepends="glib-dev openssl-dev libotr-dev" 11makedepends="glib-dev openssl-dev libotr-dev"
12install="$pkgname.post-install" 12install=""
13subpackages="$pkgname-doc $pkgname-otr" 13subpackages="$pkgname-doc $pkgname-otr"
14source=" 14source="
15 http://get.bitlbee.org/src/$pkgname-$pkgver.tar.gz 15 http://get.bitlbee.org/src/$pkgname-$pkgver.tar.gz
16 $pkgname.initd 16 $pkgname.initd
17 $pkgname.confd 17 $pkgname.confd
18 $pkgname.post-install
19 01-twitter.patch
20 " 18 "
21 19
22_builddir="$srcdir/$pkgname-$pkgver" 20_builddir="$srcdir/$pkgname-$pkgver"
@@ -33,8 +31,8 @@ prepare() {
33build() { 31build() {
34 cd "$_builddir" 32 cd "$_builddir"
35 ./configure --ssl=openssl \ 33 ./configure --ssl=openssl \
36 --otr=plugin \ 34 --otr=plugin \
37 --prefix=/usr \ 35 --prefix=/usr \
38 --etcdir=/etc/bitlbee || return 1 36 --etcdir=/etc/bitlbee || return 1
39 make || return 1 37 make || return 1
40} 38}
@@ -47,14 +45,14 @@ package() {
47 "$pkgdir"/etc/init.d/$pkgname || return 1 45 "$pkgdir"/etc/init.d/$pkgname || return 1
48 install -m644 -D "$srcdir"/$pkgname.confd \ 46 install -m644 -D "$srcdir"/$pkgname.confd \
49 "$pkgdir"/etc/conf.d/$pkgname || return 1 47 "$pkgdir"/etc/conf.d/$pkgname || return 1
48 mkdir -p "$pkgdir"/var/lib/bitlbee
49 chown nobody:nobody "$pkgdir"/var/lib/bitlbee
50} 50}
51otr() { 51otr() {
52 mkdir -p "$subpkgdir"/usr/lib 52 mkdir -p "$subpkgdir"/usr/lib
53 mv "$pkgdir"/usr/lib/bitlbee "$subpkgdir"/usr/lib 53 mv "$pkgdir"/usr/lib/bitlbee "$subpkgdir"/usr/lib
54} 54}
55 55
56md5sums="3eb1e3e30c015885c641503eec4b05cb bitlbee-3.0.4.tar.gz 56md5sums="9ff97260a2a7f3a7d102db158a8d9887 bitlbee-3.0.5.tar.gz
577c3f5a9c5b25b425e87ff38abc44282d bitlbee.initd 577c3f5a9c5b25b425e87ff38abc44282d bitlbee.initd
58bf07d39a4b652c63415b411229c5e281 bitlbee.confd 58bf07d39a4b652c63415b411229c5e281 bitlbee.confd"
592d91f7ae46d69560d7f156f282dceaef bitlbee.post-install
60ee9f30c91650011265aaf36466b9b2c5 01-twitter.patch"
diff --git a/main/bitlbee/bitlbee.post-install b/main/bitlbee/bitlbee.post-install
deleted file mode 100644
index d962fdcd9a..0000000000
--- a/main/bitlbee/bitlbee.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2mkdir -p /var/lib/bitlbee
3chown nobody:nobody /var/lib/bitlbee
4
diff --git a/main/bluez/APKBUILD b/main/bluez/APKBUILD
index 988eab3440..a6d17ea4b4 100644
--- a/main/bluez/APKBUILD
+++ b/main/bluez/APKBUILD
@@ -1,12 +1,12 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=bluez 2pkgname=bluez
3pkgver=4.96 3pkgver=4.99
4pkgrel=0 4pkgrel=1
5pkgdesc="Tools for the Bluetooth protocol stack" 5pkgdesc="Tools for the Bluetooth protocol stack"
6url="http://www.bluez.org/" 6url="http://www.bluez.org/"
7arch="all" 7arch="all"
8license="GPL2" 8license="GPL2"
9depends="consolekit" 9depends="consolekit dbus"
10replaces="udev" 10replaces="udev"
11makedepends="dbus-dev gst-plugins-base-dev alsa-lib-dev libusb-compat-dev 11makedepends="dbus-dev gst-plugins-base-dev alsa-lib-dev libusb-compat-dev
12 libnl-dev consolekit-dev udev-dev" 12 libnl-dev consolekit-dev udev-dev"
@@ -36,7 +36,6 @@ build() {
36 --enable-pand \ 36 --enable-pand \
37 --enable-dund \ 37 --enable-dund \
38 --enable-cups \ 38 --enable-cups \
39 --enable-configfiles \
40 || return 1 39 || return 1
41 make || return 1 40 make || return 1
42} 41}
@@ -76,6 +75,6 @@ gstreamer() {
76 mv "$pkgdir"/usr/lib/gstreamer* \ 75 mv "$pkgdir"/usr/lib/gstreamer* \
77 "$subpkgdir"/usr/lib/ 76 "$subpkgdir"/usr/lib/
78} 77}
79md5sums="255c3dda8b93210ab0dcf8d04ddaf69f bluez-4.96.tar.bz2 78md5sums="2387053eb5a7b02f37df4871df022a02 bluez-4.99.tar.bz2
80c511078403d7d27673581a8bb468b90b bluetooth.initd 79c511078403d7d27673581a8bb468b90b bluetooth.initd
81a159d897a057f4675548327329c4cc22 bluetooth.confd" 80a159d897a057f4675548327329c4cc22 bluetooth.confd"
diff --git a/main/bonding/APKBUILD b/main/bonding/APKBUILD
new file mode 100644
index 0000000000..f77880b768
--- /dev/null
+++ b/main/bonding/APKBUILD
@@ -0,0 +1,43 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3
4# those scripts are based on debians ifenslave-2.6 scripts
5
6pkgname=bonding
7pkgver=2.6
8pkgrel=1
9pkgdesc="Scripts for network interface bonding"
10url="http://wiki.alpinelinux.org/wiki/Bonding"
11arch="noarch"
12license="GPL"
13depends=""
14makedepends=""
15install=""
16subpackages=""
17source="bonding.pre-up bonding.up bonding.post-down"
18
19_builddir=
20prepare() {
21 local i
22 cd "$_builddir"
23 for i in $source; do
24 case $i in
25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
26 esac
27 done
28}
29
30build() {
31 return 0
32}
33
34package() {
35 cd "$srcdir"
36 for i in pre-up up post-down; do
37 install -Dm755 bonding.$i "$pkgdir"/etc/network/if-$i.d/bonding
38 done
39}
40
41md5sums="8feef9949a42f0a84418f785827c1fd2 bonding.pre-up
4268e64f483be3f8730a4c522f1e63e92d bonding.up
43c5f6d07415118aa21d8e4730f9f18cab bonding.post-down"
diff --git a/main/bonding/bonding.post-down b/main/bonding/bonding.post-down
new file mode 100755
index 0000000000..8dd4c07e93
--- /dev/null
+++ b/main/bonding/bonding.post-down
@@ -0,0 +1,64 @@
1#!/bin/sh
2
3[ "$VERBOSITY" = 1 ] && set -x
4
5sysfs()
6{
7 # Called with :
8 # $1 = value to write. Won't write if $1 is empty.
9 # $2 = basename of the file in bonding/ to write to.
10 if [ "$1" ] ; then
11 echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
12 return $?
13 fi
14 return 0
15}
16
17sysfs_remove_all()
18{
19 # Called with:
20 # $1 = target filename
21 read values < "/sys/class/net/$IFACE/bonding/$1"
22 for value in $values ; do
23 echo "-$value" > "/sys/class/net/$IFACE/bonding/$1"
24 done
25}
26
27BOND_PARAMS="/sys/class/net/$IFACE/bonding"
28IFSTATE=/var/run/ifstate
29
30# free $IFACE if it is currently enslaved to a bonding device.
31if [ -f "/sys/class/net/$IFACE/master/bonding/slaves" ] ; then
32 echo "-$IFACE" > "/sys/class/net/$IFACE/master/bonding/slaves"
33
34 # The first slave in bond-primary found in current slaves becomes the primary.
35 # If no slave in bond-primary is found, then primary does not change and might be undefined if just removed.
36 for slave in $IF_BOND_PRIMARY ; do
37 if grep -sq "\\<$slave\\>" "/sys/class/net/$IFACE/master/bonding/slaves" ; then
38 sysfs "$slave" primary
39 break
40 fi
41 done
42fi
43
44# If $IFACE is not a master, exit.
45[ ! -f "$BOND_PARAMS/slaves" ] && exit
46
47# Unset multivalue sysfs entries, so that re-enabling the interface later won't cause error.
48
49sysfs_remove_all arp_ip_target
50
51# Remove any slaves of $IFACE.
52
53[ "$VERBOSITY" = 1 ] && v=-v
54read slaves < "$BOND_PARAMS/slaves"
55for slave in $slaves ; do
56 # If $slave is currently up in $IFSTATE, then bring it down, to keep $IFSTATE consistent.
57 # This is supposed to have the side effect of freeing the interface.
58 grep -q "^$slave=" $IFSTATE && ifdown $v $slave
59
60 # Anyway, ensure $slave is free.
61 if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then
62 echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null
63 fi
64done
diff --git a/main/bonding/bonding.pre-up b/main/bonding/bonding.pre-up
new file mode 100755
index 0000000000..69f6fbe261
--- /dev/null
+++ b/main/bonding/bonding.pre-up
@@ -0,0 +1,141 @@
1#!/bin/sh
2
3[ "$VERBOSITY" = 1 ] && set -x
4
5IFSTATE=/var/run/ifstate
6
7add_master()
8{
9 # Return if $BOND_MASTER is already a bonding interface.
10 [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return
11
12 # If the bonding module is not yet loaded, load it.
13 if [ ! -r /sys/class/net/bonding_masters ]; then
14 modprobe -q bonding
15 fi
16
17 # Create the master interface.
18 if ! grep -sq "\\<$BOND_MASTER\\>" /sys/class/net/bonding_masters; then
19 echo "+$BOND_MASTER" > /sys/class/net/bonding_masters
20 fi
21}
22
23sysfs()
24{
25 # Called with :
26 # $1 = value to write. Won't write if $1 is empty.
27 # $2 = basename of the file in bonding/ to write to.
28 if [ "$1" ] ; then
29 echo "$1" > "/sys/class/net/$BOND_MASTER/bonding/$2"
30 return $?
31 fi
32 return 0
33}
34
35sysfs_add()
36{
37 # Called with :
38 # $1 = values to write.
39 # $2 = target filename.
40 for value in $1; do
41 # Do not add $1 to $2 if already present.
42 if ! grep -sq "\\<$value\\>" /sys/class/net/$BOND_MASTER/bonding/$2
43 then
44 sysfs "+$value" "$2"
45 fi
46 done
47}
48
49ifup_slave()
50{
51 local v=
52 [ "$VERBOSITY" = 1 ] && v=-v
53 if [ "$1" != "$IFACE" ] && ! grep -q "^$1=" $IFSTATE && ifup -n "$1" >/dev/null 2>&1; then
54 ifup $v $1
55 fi
56}
57
58enslave_slaves()
59{
60 case "$BOND_SLAVES" in
61 none)
62 BOND_SLAVES=""
63 ;;
64 all)
65 BOND_SLAVES=`sed -ne 's/ *\(eth[^:]*\):.*/\1/p' /proc/net/dev`
66 AUTOIF="yes"
67 ;;
68 esac
69
70 for slave in $BOND_SLAVES ; do
71 if ( [ "$AUTOIF" ] && grep -q "^$slave=" $IFSTATE ) ; then
72 echo "Not enslaving interface $slave since it is already configured"
73 else
74 # Ensure $slave is down.
75 ip link set "$slave" down 2>/dev/null
76 if ! sysfs_add "$slave" slaves 2>/dev/null ; then
77 echo "Failed to enslave $slave to $BOND_MASTER. Is $BOND_MASTER ready and a bonding interface ?" >&2
78 else
79 # Bring up slave if it is defined in interfaces
80 # This is usefull to bring up slaves that need extra setup.
81 ifup_slave $slave
82 fi
83 fi
84 done
85}
86
87setup_master()
88{
89 sysfs "$IF_BOND_MODE" mode
90 sysfs "$IF_BOND_MIIMON" miimon
91 sysfs "$IF_BOND_USE_CARRIER" use_carrier
92 sysfs "$IF_BOND_UPDELAY" updelay
93 sysfs "$IF_BOND_DOWNDELAY" downdelay
94 sysfs "$IF_BOND_ARP_INTERVAL" arp_interval
95 sysfs "$IF_BOND_ARP_VALIDATE" arp_validate
96 sysfs "$IF_BOND_FAIL_OVER_MAC" fail_over_mac
97 sysfs "$IF_BOND_XMIT_HASH_POLICY" xmit_hash_policy
98 sysfs "$IF_BOND_LACP_RATE" lacp_rate
99 sysfs_add "$IF_BOND_ARP_IP_TARGET" arp_ip_target
100}
101
102setup_slaves()
103{
104 # The first slave in bond-primary found in current slaves becomes the primary.
105 # If no slave in bond-primary is found, then primary does not change.
106 for slave in $IF_BOND_PRIMARY ; do
107 if grep -sq "\\<$slave\\>" "/sys/class/net/$BOND_MASTER/bonding/slaves" ; then
108 sysfs "$slave" primary
109 break
110 fi
111 done
112
113 if [ "$IF_BOND_ACTIVE_SLAVE" ] ; then
114 # Need to force interface up before. Bonding will refuse to activate a down interface.
115 ip link set "$IF_BOND_ACTIVE_SLAVE" up
116 sysfs "$IF_BOND_ACTIVE_SLAVE" active_slave
117 fi
118}
119
120# Are there anything to do ?
121
122# Option slaves deprecated, replaced by bond-slaves, but still supported for backward compatibility.
123IF_BOND_SLAVES=${IF_BOND_SLAVES:-$IF_SLAVES}
124
125if [ "$IF_BOND_MASTER" ] ; then
126 BOND_MASTER="$IF_BOND_MASTER"
127 BOND_SLAVES="$IFACE"
128else
129 if [ "$IF_BOND_SLAVES" ] ; then
130 BOND_MASTER="$IFACE"
131 BOND_SLAVES="$IF_BOND_SLAVES"
132 fi
133fi
134
135# Exit if nothing to do...
136[ -z "$BOND_MASTER$BOND_SLAVES" ] && exit
137
138add_master
139setup_master
140enslave_slaves
141setup_slaves
diff --git a/main/bonding/bonding.up b/main/bonding/bonding.up
new file mode 100755
index 0000000000..7f27421cd9
--- /dev/null
+++ b/main/bonding/bonding.up
@@ -0,0 +1,45 @@
1#!/bin/sh
2
3[ "$VERBOSITY" = 1 ] && set -x
4
5sysfs()
6{
7 # Called with :
8 # $1 = value to write. Won't write if $1 is empty.
9 # $2 = basename of the file in bonding/ to write to.
10 if [ "$1" ] ; then
11 echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
12 return $?
13 fi
14 return 0
15}
16
17# If the stanza bond-give-a-chance is set for a slave interface,
18# then force $IFACE to be the primary for some time, then restore primary to it previous value.
19
20# This stanza is designed to workaround a bug in wpa_supplicant, when used with bonding :
21
22# wpa_supplicant expect wifi authentication packets on the bond interface, but also send wifi authentication packets on the bond interface.
23# 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.
24
25# In order for the wifi authentication to succeed, one need to give a chance to the wifi interface to send authentication packets.
26# "bond-give-a-chance 10" will set the wifi interface as the primary interface for 10 seconds, then restore the previous primary interface.
27# This is supposed to be enought to give a chance to wifi to authenticate properly.
28
29if [ "$IF_BOND_GIVE_A_CHANCE" ] ; then
30 read primary < "/sys/class/net/$IFACE/master/bonding/primary"
31 # Set the temporary primary.
32 sysfs "$IFACE" primary
33
34 # Wait for the link to be setup, but not longer that $IF_BOND_GIVE_A_CHANGE seconds.
35 while [ "$IF_BOND_GIVE_A_CHANCE" -gt 0 ] ; do
36 if ip link show $IFACE | grep -sq 'state UP'; then
37 break
38 fi
39 sleep 1
40 IF_BOND_GIVE_A_CHANCE=`expr $IF_BOND_GIVE_A_CHANCE - 1`
41 done
42
43 # Restore the previous primary.
44 sysfs "$primary" primary
45fi
diff --git a/main/bridge-utils/APKBUILD b/main/bridge-utils/APKBUILD
index cf5a9f9cdc..de02f9797e 100644
--- a/main/bridge-utils/APKBUILD
+++ b/main/bridge-utils/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=bridge-utils 2pkgname=bridge-utils
3pkgver=1.5 3pkgver=1.5
4pkgrel=0 4pkgrel=1
5pkgdesc="Tools for configuring the Linux kernel 802.1d Ethernet Bridge" 5pkgdesc="Tools for configuring the Linux kernel 802.1d Ethernet Bridge"
6url="http://linux-net.osdl.org/index.php/Bridge" 6url="http://linux-net.osdl.org/index.php/Bridge"
7arch="all" 7arch="all"
@@ -14,7 +14,7 @@ source="http://downloads.sourceforge.net/project/bridge/bridge/bridge-utils-$pkg
14build() { 14build() {
15 cd "$srcdir"/$pkgname-$pkgver 15 cd "$srcdir"/$pkgname-$pkgver
16 autoconf 16 autoconf
17 ./configure --prefix=/ \ 17 ./configure --prefix=/usr \
18 --mandir=/usr/share/man \ 18 --mandir=/usr/share/man \
19 --libdir=/usr/lib \ 19 --libdir=/usr/lib \
20 --includedir=/usr/include \ 20 --includedir=/usr/include \
diff --git a/main/bridge/APKBUILD b/main/bridge/APKBUILD
new file mode 100644
index 0000000000..f60850b157
--- /dev/null
+++ b/main/bridge/APKBUILD
@@ -0,0 +1,39 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=bridge
4pkgver=1.5
5pkgrel=2
6pkgdesc="Scripts for configuring network bridge interfaces"
7url="http://wiki.alpinelinux.org/wiki/Bridge"
8arch="noarch"
9license="GPL"
10depends=""
11makedepends=""
12install=""
13subpackages=""
14source="bridge.pre-up"
15
16_builddir=
17prepare() {
18 local i
19 cd "$_builddir"
20 for i in $source; do
21 case $i in
22 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
23 esac
24 done
25}
26
27build() {
28 return 0
29}
30
31package() {
32 cd "$_builddir"
33 install -Dm755 "$srcdir"/bridge.pre-up \
34 "$pkgdir"/etc/network/if-pre-up.d/bridge
35 install -d "$pkgdir"/etc/network/if-post-down.d
36 ln -s ../if-pre-up.d/bridge "$pkgdir"/etc/network/if-post-down.d/bridge
37}
38
39md5sums="937365c4a3e3e10f51116c7e6717f434 bridge.pre-up"
diff --git a/main/bridge/bridge.pre-up b/main/bridge/bridge.pre-up
new file mode 100755
index 0000000000..995e258883
--- /dev/null
+++ b/main/bridge/bridge.pre-up
@@ -0,0 +1,140 @@
1#!/bin/sh
2
3# Copyright (C) 2012 Natanael Copa <ncopa@alpinelinux.org>
4#
5# This program is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 as published
7# by the Free Software Foundation. See http://www.gnu.org/ for details.
8
9all_ports_exist() {
10 local i=
11 for i in "$@"; do
12 [ -d /sys/class/net/$i ] || return 1
13 done
14 return 0
15}
16
17wait_ports() {
18 local timeout= waitports=
19 [ -z "$IF_BRIDGE_WAITPORT" ] && return 0
20 set -- $IF_BRIDGE_WAITPORT
21 timeout="$1"
22 shift
23 waitports="$@"
24 [ -z "$waitports" ] && waitports="$PORTS"
25 while ! all_ports_exist $waitports; do
26 [ "$timeout" -eq 0 ] && return 0
27 timeout=$(($timeout - 1))
28 sleep 1
29 done
30}
31
32all_ports() {
33 local i=
34 for i in /sys/class/net/*/ifindex; do
35 i=${i%/*}
36 i=${i##*/}
37 case "$i" in
38 lo|$IFACE) continue;;
39 *) echo $i;;
40 esac
41 done
42}
43
44add_ports() {
45 local port=
46 for port in $PORTS; do
47 if [ -x /etc/network/if-pre-up.d/vlan ]; then
48 env IFACE=$port /etc/network/if-pre-up.d/vlan
49 fi
50 if [ -n "$IF_BRIDGE_HW" ]; then
51 ip link set dev $port addr $IF_BRIDGE_HW
52 fi
53 brctl addif $IFACE $port && ip link set dev $port up
54 done
55}
56
57del_ports() {
58 local port=
59 for port in $PORTS; do
60 ip link set dev $port down
61 brctl delif $IFACE $port
62 if [ -x /etc/network/ip-post-down.d/vlan ]; then
63 env IFACE=$port /etc/network/if-post-down.d/vlan
64 fi
65 done
66}
67
68set_bridge_opts() {
69 [ -n "$IF_BRIDGE_AGEING" ] \
70 && brctl setageing $IFACE $IF_BRIDGE_AGEING
71 [ -n "$IF_BRIDGE_BRIDGEPRIO" ] \
72 && brctl setbridgeprio $IFACE $IF_BRIDGE_BRIDGEPRIO
73 [ -n "$IF_BRIDGE_FD" ] \
74 && brctl setfd $IFACE $IF_BRIDGE_FD
75 [ -n "$IF_BRIDGE_GCINT" ] \
76 && brctl setgcint $IFACE $IF_BRIDGE_GCINT
77 [ -n "$IF_BRIDGE_HELLO" ] \
78 && brctl sethello $IFACE $IF_BRIDGE_HELLO
79 [ -n "$IF_BRIDGE_MAXAGE" ] \
80 && brctl setmaxage $IFACE $IF_BRIDGE_MAXAGE
81 [ -n "$IF_BRIDGE_PATHCOST" ] \
82 && brctl setpathcost $IFACE $IF_BRIDGE_PATHCOST
83 [ -n "$IF_BRIDGE_PORTPRIO" ] \
84 && brctl setportprio $IFACE $IF_BRIDGE_PORTPRIO
85 [ -n "$IF_BRIDGE_STP" ] \
86 && brctl stp $IFACE $IF_BRIDGE_STP
87}
88
89all_ports_ready() {
90 local port=
91 for port in $PORTS; do
92 case $(cat /sys/class/net/$IFACE/brif/$port/state) in
93 ""|0|3) ;; # 0 = disabled, 3 = forwarding
94 [12]) return 1;;
95 esac
96 done
97 return 0
98}
99
100find_maxwait() {
101 awk '{printf("%.f\n", 2 * $0 / 100); }' \
102 /sys/class/net/$IFACE/bridge/forward_delay
103}
104
105wait_bridge() {
106 local timeout=$IF_BRIDGE_MAXWAIT
107 if [ -z "$timeout" ]; then
108 timeout=$(find_maxwait)
109 fi
110 ip link set dev $IFACE up
111 while ! all_ports_ready; do
112 [ $timeout -eq 0 ] && break
113 timeout=$(($timeout - 1))
114 sleep 1
115 done
116}
117
118case "$IF_BRIDGE_PORTS" in
119"") ;;
120none) PORTS="";;
121all) PORTS=$(all_ports);;
122*) PORTS="$IF_BRIDGE_PORTS";;
123esac
124
125[ -z "$PORTS" ] && exit
126
127case "$MODE" in
128start)
129 brctl addbr $IFACE || exit 1
130 wait_ports
131 set_bridge_opts
132 add_ports
133 wait_bridge
134 ;;
135stop) del_ports
136 ip link set dev $IFACE down
137 brctl delbr $IFACE || exit 1
138 ;;
139esac
140
diff --git a/main/bsnes/APKBUILD b/main/bsnes/APKBUILD
index 0916f07e7c..67331253e3 100644
--- a/main/bsnes/APKBUILD
+++ b/main/bsnes/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=bsnes 3pkgname=bsnes
4pkgver=0.83 4pkgver=0.86
5_x=${pkgver%.*} 5_x=${pkgver%.*}
6_y=${pkgver#*.} 6_y=${pkgver#*.}
7_pkgver="v${_x}${_y}" 7_pkgver="v${_x}${_y}"
@@ -11,13 +11,15 @@ url="http://byuu.org/bsnes/"
11arch="all" 11arch="all"
12license="GPL" 12license="GPL"
13depends= 13depends=
14depends_dev="qt-dev openal-soft-dev sdl-dev alsa-lib-dev mesa-dev libao-dev libxv-dev" 14depends_dev="qt-dev openal-soft-dev sdl-dev alsa-lib-dev mesa-dev libao-dev
15 libxv-dev gtk+-dev"
15makedepends="$depends_dev" 16makedepends="$depends_dev"
16install="" 17install=""
17subpackages= 18subpackages=
18source="http://bsnes.googlecode.com/files/${pkgname}_${_pkgver}-source.tar.bz2 19source="http://bsnes.googlecode.com/files/${pkgname}_${_pkgver}-source.tar.bz2
19 nall-strlcpy.patch 20 no-pulseaudio.patch
20 no-pulseaudio.patch" 21 define-disassembler_read-relb.patch
22 "
21 23
22_builddir="${srcdir}/${pkgname}_${_pkgver}-source/bsnes" 24_builddir="${srcdir}/${pkgname}_${_pkgver}-source/bsnes"
23prepare() { 25prepare() {
@@ -40,6 +42,6 @@ package() {
40 make DESTDIR="$pkgdir" prefix=/usr profile=performance install || return 1 42 make DESTDIR="$pkgdir" prefix=/usr profile=performance install || return 1
41} 43}
42 44
43md5sums="a1f017f5276ec5be0bc553db2b7e2241 bsnes_v083-source.tar.bz2 45md5sums="54f73b38d24405186b538e01713b0c1f bsnes_v086-source.tar.bz2
4411d7129c769add65a4b03ef9193729f2 nall-strlcpy.patch 46e67461ca1ffa9840936ed08e9a31d775 no-pulseaudio.patch
4507caea846bf49ee6f5deaf999dffbd5f no-pulseaudio.patch" 474a820f42ecb7f17eab0ffd91ffd9a18b 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 0000000000..323e4c385a
--- /dev/null
+++ b/main/bsnes/define-disassembler_read-relb.patch
@@ -0,0 +1,13 @@
1diff --git a/bsnes/snes/alt/smp/smp.hpp b/bsnes/snes/alt/smp/smp.hpp
2index f81c454..ad04d3e 100755
3--- a/bsnes/snes/alt/smp/smp.hpp
4+++ b/bsnes/snes/alt/smp/smp.hpp
5@@ -22,6 +22,8 @@ public:
6 ~SMP();
7
8 void disassemble_opcode(char *output, uint16 addr);
9+ uint8 disassemble_read(uint16);
10+ uint16 relb(int8, int);
11
12 //private:
13 struct Flags {
diff --git a/main/bsnes/nall-strlcpy.patch b/main/bsnes/nall-strlcpy.patch
deleted file mode 100644
index fa0859d448..0000000000
--- a/main/bsnes/nall-strlcpy.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1--- ./bsnes/ui/tools/state-manager.cpp.orig
2+++ ./bsnes/ui/tools/state-manager.cpp
3@@ -135,7 +135,7 @@
4 string StateManager::slotLoadDescription(unsigned n) {
5 if(slot[n].capacity() == 0) return "(empty)";
6 char text[DescriptionLength];
7- strlcpy(text, (const char*)slot[n].data() + HeaderLength, DescriptionLength);
8+ nall::strlcpy(text, (const char*)slot[n].data() + HeaderLength, DescriptionLength);
9 return text;
10 }
11
12@@ -143,7 +143,7 @@
13 if(stateList.selected() == false) return;
14 string text = descEdit.text();
15 if(slot[stateList.selection()].capacity() > 0) {
16- strlcpy((char*)slot[stateList.selection()].data() + HeaderLength, (const char*)text, DescriptionLength);
17+ nall::strlcpy((char*)slot[stateList.selection()].data() + HeaderLength, (const char*)text, DescriptionLength);
18 }
19 refresh();
20 }
21--- ./bsnes/snes/system/serialization.cpp.orig
22+++ ./bsnes/snes/system/serialization.cpp
23@@ -7,7 +7,7 @@
24 char description[512], profile[16];
25 memset(&description, 0, sizeof description);
26 memset(&profile, 0, sizeof profile);
27- strlcpy(profile, Info::Profile, sizeof profile);
28+ nall::strlcpy(profile, Info::Profile, sizeof profile);
29
30 s.integer(signature);
31 s.integer(version);
diff --git a/main/bsnes/no-pulseaudio.patch b/main/bsnes/no-pulseaudio.patch
index 5a5dea3e1e..829670f71c 100644
--- a/main/bsnes/no-pulseaudio.patch
+++ b/main/bsnes/no-pulseaudio.patch
@@ -1,11 +1,13 @@
1--- bsnes_v077-source.orig/bsnes/ui/Makefile 1diff --git a/bsnes/ui/Makefile b/bsnes/ui/Makefile
2+++ bsnes_v077-source/bsnes/ui/Makefile 2index 8b9a1a6..11e7b99 100755
3@@ -14,7 +14,7 @@ 3--- a/bsnes/ui/Makefile
4 link += `pkg-config --libs QtCore QtGui` 4+++ b/bsnes/ui/Makefile
5 5@@ -11,7 +11,7 @@ ui_objects += $(if $(call streq,$(platform),win),resource)
6 # platform
7 ifeq ($(platform),x)
6 ruby := video.glx video.xv video.sdl 8 ruby := video.glx video.xv video.sdl
7- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao 9- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
8+ ruby += audio.alsa audio.openal audio.oss audio.ao 10+ ruby += audio.alsa audio.openal audio.oss audio.ao
9 ruby += input.sdl input.x 11 ruby += input.sdl input.x
10 12 else ifeq ($(platform),osx)
11 link += $(if $(findstring audio.openal,$(ruby)),-lopenal) 13 ruby :=
diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD
index f676f2c4e7..490a9325b1 100644
--- a/main/busybox-initscripts/APKBUILD
+++ b/main/busybox-initscripts/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=busybox-initscripts 3pkgname=busybox-initscripts
4pkgver=2.2 4pkgver=2.2
5pkgrel=3 5pkgrel=5
6pkgdesc="Init scripts for busybox daemons" 6pkgdesc="Init scripts for busybox daemons"
7url="http://git.alpinelinux.org/cgit/aports/tree/core/busybox-initscripts" 7url="http://git.alpinelinux.org/cgit/aports/tree/core/busybox-initscripts"
8arch="noarch" 8arch="noarch"
@@ -67,10 +67,10 @@ c01dc869cbdd68e86e64a35ccc1e885e rdate.initd
6722adbf155ffc4595206ded6daad07812 rdate.confd 6722adbf155ffc4595206ded6daad07812 rdate.confd
6877fb31a75511247bf4e3430565a276bc syslog.confd 6877fb31a75511247bf4e3430565a276bc syslog.confd
690bb55dde32f5e119111fa4938daaef3d watchdog.confd 690bb55dde32f5e119111fa4938daaef3d watchdog.confd
70a193d4aa411662dd31cd9b68bf38bd8f mdev.conf 703ecc9a4aaa7c76a6592661ee950e09ae mdev.conf
71ad1556961294e4aa2abca6be52138b7c dvbdev 71ad1556961294e4aa2abca6be52138b7c dvbdev
725c8725b4cbdeda23b00f08124a0d20bf ide_links 725c8725b4cbdeda23b00f08124a0d20bf ide_links
73c422992ca5bfdfabdbba1f1532bc1358 usbdev 73c422992ca5bfdfabdbba1f1532bc1358 usbdev
7430b0c85956b6701caf55309a17e537f6 usbdisk_link 7430b0c85956b6701caf55309a17e537f6 usbdisk_link
75826d85313ca7a4a0205d63bd58b7d01f xvd_links 75826d85313ca7a4a0205d63bd58b7d01f xvd_links
76c92e18e9d47f4a2a6ca6b3a81ea2f838 default.script" 76a346e7a30915856bc53987846e09724c default.script"
diff --git a/main/busybox-initscripts/default.script b/main/busybox-initscripts/default.script
index c6cfbc5be1..5447080ec9 100644
--- a/main/busybox-initscripts/default.script
+++ b/main/busybox-initscripts/default.script
@@ -34,16 +34,35 @@ deconfig() {
34 ip addr flush dev $interface 34 ip addr flush dev $interface
35} 35}
36 36
37is_wifi() {
38 test -e /sys/class/net/$interface/phy80211
39}
40
41if_index() {
42 cat /sys/class/net/$interface/ifindex
43}
44
45calc_metric() {
46 local base=
47 if is_wifi; then
48 base=300
49 else
50 base=200
51 fi
52 echo $(( $base + $(if_index) ))
53}
54
37routes() { 55routes() {
38 [ -z "$router" ] && return 56 [ -z "$router" ] && return
39 local gw metric 57 local gw= num=
40 while ip route del default via dev $interface 2>/dev/null; do 58 while ip route del default via dev $interface 2>/dev/null; do
41 : 59 :
42 done 60 done
43 metric=0 61 num=0
44 for gw in $router; do 62 for gw in $router; do
45 route add default gw $gw dev $interface metric $metric 63 ip route add 0.0.0.0/0 via $gw dev $interface \
46 metric=$(( $metric + 1 )) 64 metric $(( $num + ${IF_METRIC:-$(calc_metric)} ))
65 num=$(( $num + 1 ))
47 done 66 done
48} 67}
49 68
diff --git a/main/busybox-initscripts/mdev.conf b/main/busybox-initscripts/mdev.conf
index 430e306ae7..d89e18c542 100644
--- a/main/busybox-initscripts/mdev.conf
+++ b/main/busybox-initscripts/mdev.conf
@@ -79,7 +79,7 @@ ts[0-9] root:root 0600 =input/
79 79
80# v4l stuff 80# v4l stuff
81vbi[0-9] root:video 0660 >v4l/ 81vbi[0-9] root:video 0660 >v4l/
82video[0-9] root:video 0660 >v4l/ 82video[0-9]+ root:video 0660 >v4l/
83 83
84# dvb stuff 84# dvb stuff
85dvb.* root:video 0660 */lib/mdev/dvbdev 85dvb.* 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 0000000000..b62ab4aade
--- /dev/null
+++ b/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
@@ -0,0 +1,42 @@
1From bbf1e3c144c1ee93409a0e0546cb56b34eccfcfd Mon Sep 17 00:00:00 2001
2From: Denys Vlasenko <vda.linux@googlemail.com>
3Date: Sun, 5 Feb 2012 15:08:08 +0100
4Subject: [PATCH 1/4] acpid: do not install handlers for fatal signals
5
6For acpid, it's ok to die at once.
7
8Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
9---
10 util-linux/acpid.c | 8 ++++++--
11 1 files changed, 6 insertions(+), 2 deletions(-)
12
13diff --git a/util-linux/acpid.c b/util-linux/acpid.c
14index 361a2b2..1b22f3a 100644
15--- a/util-linux/acpid.c
16+++ b/util-linux/acpid.c
17@@ -268,8 +268,12 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
18
19 xchdir(opt_dir);
20
21+ /* We spawn children but don't wait for them. Prevent zombies: */
22 bb_signals((1 << SIGCHLD), SIG_IGN);
23- bb_signals(BB_FATAL_SIGS, record_signo);
24+ // If you enable this, (1) explain why, (2)
25+ // make sure while(poll) loop below is still interruptible
26+ // by SIGTERM et al:
27+ //bb_signals(BB_FATAL_SIGS, record_signo);
28
29 pfd = NULL;
30 nfd = 0;
31@@ -337,7 +341,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
32 }
33 if (!event)
34 continue;
35- // spawn event handler
36+ /* spawn event handler */
37 process_event(event);
38 }
39 }
40--
411.7.9.1
42
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 4218971889..0000000000
--- a/main/busybox/0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 4d5e59384109ab83309f07b67a1e2eef1f392daf Mon Sep 17 00:00:00 2001
2From: Natanael Copa <ncopa@alpinelinux.org>
3Date: Fri, 3 Feb 2012 14:32:51 +0100
4Subject: [PATCH] acpid: fix for clean exit on SIGTERM
5
6f4b2f335506e570a06d5eab09068da3f61 introduced safe_poll() and no
7longer exits on SIGTERM. We solve this by explicit checking for
8bb_got_signal.
9
10Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
11---
12 util-linux/acpid.c | 2 +-
13 1 files changed, 1 insertions(+), 1 deletions(-)
14
15diff --git a/util-linux/acpid.c b/util-linux/acpid.c
16index 361a2b2..63c7a6d 100644
17--- a/util-linux/acpid.c
18+++ b/util-linux/acpid.c
19@@ -293,7 +293,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
20
21 write_pidfile(opt_pidfile);
22
23- while (safe_poll(pfd, nfd, -1) > 0) {
24+ while (safe_poll(pfd, nfd, -1) > 0 && !bb_got_signal) {
25 int i;
26 for (i = 0; i < nfd; i++) {
27 const char *event;
28--
291.7.9
30
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 0000000000..db8c4f2d9b
--- /dev/null
+++ b/main/busybox/0001-grep-support-for-x-match-whole-line.patch
@@ -0,0 +1,68 @@
1From 7a526de36684e0c794c125d552931f59a91e445c Mon Sep 17 00:00:00 2001
2From: Natanael Copa <ncopa@alpinelinux.org>
3Date: Thu, 23 Feb 2012 14:08:45 +0000
4Subject: [PATCH] grep: support for -x, match whole line
5
6Specified in POSIX.
7http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html
8
9Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
10---
11 findutils/grep.c | 12 +++++++++---
12 1 file changed, 9 insertions(+), 3 deletions(-)
13
14diff --git a/findutils/grep.c b/findutils/grep.c
15index 5f42242..6125aca 100644
16--- a/findutils/grep.c
17+++ b/findutils/grep.c
18@@ -85,6 +85,7 @@
19 //usage: "\n -r Recurse"
20 //usage: "\n -i Ignore case"
21 //usage: "\n -w Match whole words only"
22+//usage: "\n -x Match whole lines only"
23 //usage: "\n -F PATTERN is a literal (not regexp)"
24 //usage: IF_FEATURE_GREP_EGREP_ALIAS(
25 //usage: "\n -E PATTERN is an extended regexp"
26@@ -113,7 +114,7 @@
27 //usage:#define fgrep_full_usage ""
28
29 #define OPTSTR_GREP \
30- "lnqvscFiHhe:f:Lorm:w" \
31+ "lnqvscFiHhe:f:Lorm:wx" \
32 IF_FEATURE_GREP_CONTEXT("A:B:C:") \
33 IF_FEATURE_GREP_EGREP_ALIAS("E") \
34 IF_EXTRA_COMPAT("z") \
35@@ -138,6 +139,7 @@ enum {
36 OPTBIT_r, /* recurse dirs */
37 OPTBIT_m, /* -m MAX_MATCHES */
38 OPTBIT_w, /* -w whole word match */
39+ OPTBIT_x, /* -x whole line match */
40 IF_FEATURE_GREP_CONTEXT( OPTBIT_A ,) /* -A NUM: after-match context */
41 IF_FEATURE_GREP_CONTEXT( OPTBIT_B ,) /* -B NUM: before-match context */
42 IF_FEATURE_GREP_CONTEXT( OPTBIT_C ,) /* -C NUM: -A and -B combined */
43@@ -160,6 +162,7 @@ enum {
44 OPT_r = 1 << OPTBIT_r,
45 OPT_m = 1 << OPTBIT_m,
46 OPT_w = 1 << OPTBIT_w,
47+ OPT_x = 1 << OPTBIT_x,
48 OPT_A = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_A)) + 0,
49 OPT_B = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_B)) + 0,
50 OPT_C = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_C)) + 0,
51@@ -370,9 +373,12 @@ static int grep_file(FILE *file)
52 &gl->matched_range) >= 0
53 #endif
54 ) {
55- if (!(option_mask32 & OPT_w))
56+ if (option_mask32 & OPT_x) {
57+ found = (gl->matched_range.rm_so == 0
58+ && line[gl->matched_range.rm_eo] == 0);
59+ } else if (!(option_mask32 & OPT_w)) {
60 found = 1;
61- else {
62+ } else {
63 char c = ' ';
64 if (gl->matched_range.rm_so)
65 c = line[gl->matched_range.rm_so - 1];
66--
671.7.9.2
68
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index e520d049f5..460c753bbd 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=busybox 2pkgname=busybox
3pkgver=1.19.3 3pkgver=1.19.4
4pkgrel=7 4pkgrel=1
5pkgdesc="Size optimized toolbox of many common UNIX utilities" 5pkgdesc="Size optimized toolbox of many common UNIX utilities"
6url=http://busybox.net 6url=http://busybox.net
7arch="all" 7arch="all"
@@ -20,12 +20,8 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
20 0001-loginutils-use-sha512.patch 20 0001-loginutils-use-sha512.patch
21 acpid.patch 21 acpid.patch
22 busybox-mkdir-permissions-64bit.patch 22 busybox-mkdir-permissions-64bit.patch
23 0001-acpid-fix-for-clean-exit-on-SIGTERM.patch 23 0001-acpid-do-not-install-handlers-for-fatal-signals.patch
24 24 0001-grep-support-for-x-match-whole-line.patch
25 http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-getty.patch
26 http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-modinfo.patch
27 http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-wget.patch
28 http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-mdev.patch
29 25
30 busyboxconfig" 26 busyboxconfig"
31 27
@@ -87,7 +83,7 @@ static() {
87 "$subpkgdir"/bin/busybox.static 83 "$subpkgdir"/bin/busybox.static
88} 84}
89 85
90md5sums="c3938e1ac59602387009bbf1dd1af7f6 busybox-1.19.3.tar.bz2 86md5sums="9c0cae5a0379228e7b55e5b29528df8e busybox-1.19.4.tar.bz2
91b7b06c7d5cff6935e4ff68a245cc64b5 bbsuid.c 87b7b06c7d5cff6935e4ff68a245cc64b5 bbsuid.c
92d64b58a30892c558bdbab7f0d0997577 nologin.c 88d64b58a30892c558bdbab7f0d0997577 nologin.c
934c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch 894c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch
@@ -96,9 +92,6 @@ b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch
96784383013b8f015fb0d214618c46b4b8 0001-loginutils-use-sha512.patch 92784383013b8f015fb0d214618c46b4b8 0001-loginutils-use-sha512.patch
97361a26d690e6f1585c6710b3afeb10a6 acpid.patch 93361a26d690e6f1585c6710b3afeb10a6 acpid.patch
9878bb1e70897124a0e09d50c425210e83 busybox-mkdir-permissions-64bit.patch 9478bb1e70897124a0e09d50c425210e83 busybox-mkdir-permissions-64bit.patch
99058da9d0a595430e840e5793b5a5d059 0001-acpid-fix-for-clean-exit-on-SIGTERM.patch 95cfafb917f777437f428ea97da0a63915 0001-acpid-do-not-install-handlers-for-fatal-signals.patch
1005ed72ca85b8fba4598d64a550210b31f busybox-1.19.3-getty.patch 96699701047d05468a13e5c37b5ebc3824 0001-grep-support-for-x-match-whole-line.patch
10141636628e481f22b8774b6bee1eebfb1 busybox-1.19.3-modinfo.patch
102cb48bffc0e1e3be527cd4ff67324a2a2 busybox-1.19.3-wget.patch
1037c809b9cd30f40354be90663d5f18bef busybox-1.19.3-mdev.patch
10442e2f49483e650193c0e142ade7de142 busyboxconfig" 9742e2f49483e650193c0e142ade7de142 busyboxconfig"
diff --git a/main/ca-certificates/APKBUILD b/main/ca-certificates/APKBUILD
index 2e651df86e..c335e0a816 100644
--- a/main/ca-certificates/APKBUILD
+++ b/main/ca-certificates/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=ca-certificates 2pkgname=ca-certificates
3pkgver=20111211 3pkgver=20120212
4 4
5_date=${pkgver%_p*} 5_date=${pkgver%_p*}
6_nmu="+nmu${pkgver#*_p}" 6_nmu="+nmu${pkgver#*_p}"
@@ -43,4 +43,4 @@ package() {
43 find . -name '*.crt' | sort | cut -b3- 43 find . -name '*.crt' | sort | cut -b3-
44 ) > "$pkgdir"/etc/ca-certificates.conf 44 ) > "$pkgdir"/etc/ca-certificates.conf
45} 45}
46md5sums="f99a90a91b23338b4df765c0d18eba73 ca-certificates_20111211.tar.gz" 46md5sums="391dea8d827db935ca0d0d1e6641bf23 ca-certificates_20120212.tar.gz"
diff --git a/main/cegui06/APKBUILD b/main/cegui06/APKBUILD
index fc98778b96..545b626865 100644
--- a/main/cegui06/APKBUILD
+++ b/main/cegui06/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=cegui06 3pkgname=cegui06
4pkgver=0.6.2b 4pkgver=0.6.2b
5pkgrel=2 5pkgrel=4
6pkgdesc="CEGUI library 0.6 for apps which need this specific version" 6pkgdesc="CEGUI library 0.6 for apps which need this specific version"
7url="http://www.cegui.org.uk" 7url="http://www.cegui.org.uk"
8arch="all" 8arch="all"
diff --git a/main/clamav/APKBUILD b/main/clamav/APKBUILD
index a515a4023c..fe01d96f66 100644
--- a/main/clamav/APKBUILD
+++ b/main/clamav/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Carlo Landmeter <clandmeter@gmail.com> 2# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
3pkgname=clamav 3pkgname=clamav
4pkgver=0.97.3 4pkgver=0.97.3
5pkgrel=0 5pkgrel=3
6pkgusers=clamav 6pkgusers=clamav
7pkggroups=clamav 7pkggroups=clamav
8pkgdesc="An anti-virus toolkit for UNIX" 8pkgdesc="An anti-virus toolkit for UNIX"
@@ -11,7 +11,7 @@ arch="all"
11license="GPL" 11license="GPL"
12depends="$pkgname-scanner $pkgname-daemon" 12depends="$pkgname-scanner $pkgname-daemon"
13install="" 13install=""
14makedepends="ncurses-dev zlib-dev" 14makedepends="ncurses-dev zlib-dev bzip2-dev"
15subpackages="$pkgname-doc $pkgname-dev $pkgname-lib $pkgname-libunrar 15subpackages="$pkgname-doc $pkgname-dev $pkgname-lib $pkgname-libunrar
16 $pkgname-daemon $pkgname-scanner $pkgname-db" 16 $pkgname-daemon $pkgname-scanner $pkgname-db"
17source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz 17source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
@@ -54,6 +54,7 @@ package() {
54lib() { 54lib() {
55 pkgdesc="ClamAV library" 55 pkgdesc="ClamAV library"
56 depends="" 56 depends=""
57 replaces="clamav"
57 mkdir -p "$subpkgdir"/usr/lib 58 mkdir -p "$subpkgdir"/usr/lib
58 mv "$pkgdir"/usr/lib/libclamav.so.* \ 59 mv "$pkgdir"/usr/lib/libclamav.so.* \
59 "$subpkgdir"/usr/lib/ 60 "$subpkgdir"/usr/lib/
@@ -149,9 +150,9 @@ daemon() {
149} 150}
150 151
151md5sums="5cf25ed7778fa0cb6b140ad8f009befb clamav-0.97.3.tar.gz 152md5sums="5cf25ed7778fa0cb6b140ad8f009befb clamav-0.97.3.tar.gz
152d64432c463850663c5041c3097f3e903 clamd.initd 153db77dd9d975b9d3d525c44e50fb202b9 clamd.initd
153567bc32b657dd7031b9b7beaa946203a clamd.confd 154567bc32b657dd7031b9b7beaa946203a clamd.confd
154f4d1f415322905128dc27135566ad136 freshclam.initd 155daff7838573513114a6404878ccac225 freshclam.initd
155e48466ddfb56f66c623b83e58777b778 freshclam.confd 156e48466ddfb56f66c623b83e58777b778 freshclam.confd
1560d08fd29656bd4b018ecf8ce9706ac55 clamav-0.95.1-nls.patch 1570d08fd29656bd4b018ecf8ce9706ac55 clamav-0.95.1-nls.patch
157ae1e48ab56a0fff1acdde023c1f6f350 clamd.logrotate 158ae1e48ab56a0fff1acdde023c1f6f350 clamd.logrotate
diff --git a/main/clamav/clamd.initd b/main/clamav/clamd.initd
index 2864267e1e..0e17010247 100644
--- a/main/clamav/clamd.initd
+++ b/main/clamav/clamd.initd
@@ -1,6 +1,8 @@
1#!/sbin/runscript 1#!/sbin/runscript
2 2
3opts="logfix reload" 3extra_started_commands="reload"
4extra_commands="logfix"
5
4NAME=clamd 6NAME=clamd
5CONF=/etc/clamav/clamd.conf 7CONF=/etc/clamav/clamd.conf
6 8
diff --git a/main/clamav/freshclam.initd b/main/clamav/freshclam.initd
index f25fec434d..2efd2e48d7 100644
--- a/main/clamav/freshclam.initd
+++ b/main/clamav/freshclam.initd
@@ -1,6 +1,7 @@
1#!/sbin/runscript 1#!/sbin/runscript
2 2
3opts="logfix reload" 3extra_started_commands="reload"
4extra_commands="logfix"
4 5
5NAME=freshclam 6NAME=freshclam
6DAEMON=/usr/bin/$NAME 7DAEMON=/usr/bin/$NAME
diff --git a/main/claws-mail/APKBUILD b/main/claws-mail/APKBUILD
index 3f50e96db4..2dd456eb1d 100644
--- a/main/claws-mail/APKBUILD
+++ b/main/claws-mail/APKBUILD
@@ -1,14 +1,15 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=claws-mail 2pkgname=claws-mail
3pkgver=3.8.0 3pkgver=3.8.0
4pkgrel=1 4pkgrel=2
5pkgdesc="A GTK+ based e-mail client." 5pkgdesc="A GTK+ based e-mail client."
6url="http://www.claws-mail.org" 6url="http://www.claws-mail.org"
7arch="all" 7arch="all"
8license="GPL3" 8license="GPL3"
9subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" 9subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
10makedepends="gtk+-dev openssl-dev startup-notification-dev enchant-dev 10makedepends="gtk+-dev openssl-dev startup-notification-dev enchant-dev
11 libsm-dev gnutls-dev curl-dev dbus-glib-dev libetpan-dev openldap-dev" 11 libgcrypt-dev libsm-dev gnutls-dev curl-dev dbus-glib-dev
12 libetpan-dev openldap-dev gpgme-dev"
12depends= 13depends=
13install= 14install=
14source="http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$pkgname-$pkgver.tar.bz2 15source="http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$pkgname-$pkgver.tar.bz2
diff --git a/main/cloog/APKBUILD b/main/cloog/APKBUILD
index 2520506c78..ad504d0d6a 100644
--- a/main/cloog/APKBUILD
+++ b/main/cloog/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=cloog 3pkgname=cloog
4pkgver=0.16.3 4pkgver=0.17.0
5pkgrel=0 5pkgrel=0
6pkgdesc="The Chunky Loop Generator" 6pkgdesc="The Chunky Loop Generator"
7url="http://www.cloog.org/" 7url="http://www.cloog.org/"
@@ -48,4 +48,4 @@ dev() {
48 "$subpkgdir"/usr/share/gdb/python/auto-load/usr/lib/ 48 "$subpkgdir"/usr/share/gdb/python/auto-load/usr/lib/
49} 49}
50 50
51md5sums="a0f8a241cd1c4f103f8d2c91642b3498 cloog-0.16.3.tar.gz" 51md5sums="0aa3302c81f65ca62c114e5264f8a802 cloog-0.17.0.tar.gz"
diff --git a/main/collectd/APKBUILD b/main/collectd/APKBUILD
index f5a3d78b93..626c14142e 100644
--- a/main/collectd/APKBUILD
+++ b/main/collectd/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: 1# Contributor:
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=collectd 3pkgname=collectd
4pkgver=5.0.2 4pkgver=5.0.3
5pkgrel=0 5pkgrel=0
6pkgdesc="The system statistics collection daemon" 6pkgdesc="The system statistics collection daemon"
7url="http://collectd.org" 7url="http://collectd.org"
@@ -91,5 +91,5 @@ mysql() { _plugin mysql; }
91network() { _plugin network; } 91network() { _plugin network; }
92rrdtool() { _plugin rrdtool; } 92rrdtool() { _plugin rrdtool; }
93 93
94md5sums="47f70ae20801f10be355dc8109d696aa collectd-5.0.2.tar.bz2 94md5sums="d4a8584733572f7568709154e77d8bd3 collectd-5.0.3.tar.bz2
9513a36ae2f92634b5619ab94224e1b77d collectd.initd" 9513a36ae2f92634b5619ab94224e1b77d collectd.initd"
diff --git a/main/cups/APKBUILD b/main/cups/APKBUILD
index 9ba85a5a22..214c3a7e12 100644
--- a/main/cups/APKBUILD
+++ b/main/cups/APKBUILD
@@ -1,17 +1,18 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=cups 2pkgname=cups
3pkgver=1.5.2 3pkgver=1.5.2
4pkgrel=0 4pkgrel=3
5pkgdesc="The CUPS Printing System" 5pkgdesc="The CUPS Printing System"
6url="http://www.cups.org/" 6url="http://www.cups.org/"
7arch="all" 7arch="all"
8license="GPL" 8license="GPL"
9subpackages="$pkgname-dev $pkgname-doc libcups $pkgname-client $pkgname-lang" 9subpackages="$pkgname-dev $pkgname-doc libcups $pkgname-client $pkgname-lang"
10makedepends="openssl-dev libpaper-dev dbus-dev jpeg-dev>=8 zlib-dev" 10makedepends="openssl-dev libpaper-dev dbus-dev jpeg-dev>=8 zlib-dev"
11depends="cups-client poppler-utils" 11depends="cups-client poppler-utils openssl dbus"
12install= 12install="cups.pre-install"
13pkggroups="lp lpadmin" 13pkggroups="lp lpadmin"
14pkgusers="lp" 14pkgusers="lp"
15replaces="cups-doc"
15source="ftp://ftp.easysw.com/pub/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.bz2 16source="ftp://ftp.easysw.com/pub/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.bz2
16 $pkgname.logrotate 17 $pkgname.logrotate
17 cupsd.initd 18 cupsd.initd
@@ -37,7 +38,7 @@ build() {
37 --sysconfdir=/etc \ 38 --sysconfdir=/etc \
38 --localstatedir=/var \ 39 --localstatedir=/var \
39 --with-logdir=/var/log/cups \ 40 --with-logdir=/var/log/cups \
40 --with-docdir=/usr/share/doc/cups \ 41 --with-docdir=/usr/share/cups \
41 --with-cups-user=lp \ 42 --with-cups-user=lp \
42 --with-cups-group=lp \ 43 --with-cups-group=lp \
43 --with-system-groups=lpadmin \ 44 --with-system-groups=lpadmin \
diff --git a/main/cups/cups.pre-install b/main/cups/cups.pre-install
new file mode 100644
index 0000000000..f6b88cbd2b
--- /dev/null
+++ b/main/cups/cups.pre-install
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3addgroup -S ldadmin 2>/dev/null
4addgroup -S lp 2>/dev/null
5adduser -S -G lp lp 2>/dev/null
6addgroup lp lp 2>/dev/null
7exit 0
diff --git a/main/dahdi-linux-grsec/APKBUILD b/main/dahdi-linux-grsec/APKBUILD
index 14388e21e5..b7edb5aa02 100644
--- a/main/dahdi-linux-grsec/APKBUILD
+++ b/main/dahdi-linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Timo Teras <timo.teras@iki.fi> 2# Maintainer: Timo Teras <timo.teras@iki.fi>
3 3
4_flavor=grsec 4_flavor=grsec
5_kver=3.2.6 5_kver=3.2.11
6_kpkgrel=0 6_kpkgrel=0
7_mypkgrel=0 7_mypkgrel=0
8 8
diff --git a/main/dahdi-linux-vserver/APKBUILD b/main/dahdi-linux-vserver/APKBUILD
index 5d3d863f55..fb7333331c 100644
--- a/main/dahdi-linux-vserver/APKBUILD
+++ b/main/dahdi-linux-vserver/APKBUILD
@@ -4,9 +4,9 @@
4_flavor=${FLAVOR:-vserver} 4_flavor=${FLAVOR:-vserver}
5_realname=dahdi-linux 5_realname=dahdi-linux
6_name=$_realname-$_flavor 6_name=$_realname-$_flavor
7_kver=3.2.5 7_kver=3.2.11
8_kpkgrel=0 8_kpkgrel=0
9_myvsver=vs2.3.2.6 9_myvsver=vs2.3.2.8
10 10
11# verify the kernel version before entering chroot 11# verify the kernel version before entering chroot
12if [ -f ../linux-${_flavor}/APKBUILD ]; then 12if [ -f ../linux-${_flavor}/APKBUILD ]; then
diff --git a/main/dansguardian/APKBUILD b/main/dansguardian/APKBUILD
index 003ef7db78..ee273743e6 100644
--- a/main/dansguardian/APKBUILD
+++ b/main/dansguardian/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=dansguardian 3pkgname=dansguardian
4pkgver=2.10.1.1 4pkgver=2.10.1.1
5pkgrel=8 5pkgrel=9
6pkgdesc="Web content filter" 6pkgdesc="Web content filter"
7url="http://dansguardian.org" 7url="http://dansguardian.org"
8arch="all" 8arch="all"
diff --git a/main/dbus/APKBUILD b/main/dbus/APKBUILD
index 81b4c52772..bb5f8ec3c7 100644
--- a/main/dbus/APKBUILD
+++ b/main/dbus/APKBUILD
@@ -1,13 +1,13 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=dbus 2pkgname=dbus
3pkgver=1.4.16 3pkgver=1.4.16
4pkgrel=1 4pkgrel=3
5pkgdesc="Freedesktop.org message bus system" 5pkgdesc="Freedesktop.org message bus system"
6url="http://www.freedesktop.org/Software/dbus" 6url="http://www.freedesktop.org/Software/dbus"
7pkggroups="messagebus" 7pkggroups="messagebus"
8arch="all" 8arch="all"
9license="GPL custom" 9license="GPL custom"
10subpackages="$pkgname-dev $pkgname-doc" 10subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-x11"
11triggers="$pkgname.trigger=/etc/dbus-1/system.d" 11triggers="$pkgname.trigger=/etc/dbus-1/system.d"
12depends= 12depends=
13makedepends="expat-dev libx11-dev pkgconfig util-linux-dev" 13makedepends="expat-dev libx11-dev pkgconfig util-linux-dev"
@@ -41,5 +41,20 @@ package() {
41 rm "$pkgdir"/usr/lib/*.la || return 1 41 rm "$pkgdir"/usr/lib/*.la || return 1
42 install -Dm755 "$srcdir"/dbus.initd "$pkgdir"/etc/init.d/dbus 42 install -Dm755 "$srcdir"/dbus.initd "$pkgdir"/etc/init.d/dbus
43} 43}
44
45libs() {
46 pkgdesc="Libraries for acces D-BUS"
47 replaces="dbus"
48 mkdir -p "$subpkgdir"/usr/lib
49 mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/
50}
51
52x11() {
53 pkgdesc="X11-requiring add-ons for D-BUS"
54 depends="dbus=$pkgver-r$pkgrel"
55 mkdir -p "$subpkgdir"/usr/bin
56 mv "$pkgdir"/usr/bin/dbus-launch "$subpkgdir"/usr/bin/
57}
58
44md5sums="44a2a10678e7e50460879c3eb4453a65 dbus-1.4.16.tar.gz 59md5sums="44a2a10678e7e50460879c3eb4453a65 dbus-1.4.16.tar.gz
45bc835765907698a95da8d8e5bf199378 dbus.initd" 60bc835765907698a95da8d8e5bf199378 dbus.initd"
diff --git a/main/dhcpcd/APKBUILD b/main/dhcpcd/APKBUILD
index 7c6885dc11..1e6ea59bce 100644
--- a/main/dhcpcd/APKBUILD
+++ b/main/dhcpcd/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Michael Mason <ms13sp@gmail.com> 1# Contributor: Michael Mason <ms13sp@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=dhcpcd 3pkgname=dhcpcd
4pkgver=5.2.12 4pkgver=5.5.4
5pkgrel=0 5pkgrel=0
6pkgdesc="RFC2131 compliant DHCP client" 6pkgdesc="RFC2131 compliant DHCP client"
7url="http://roy.marples.name/projects/dhcpcd/" 7url="http://roy.marples.name/projects/dhcpcd/"
@@ -28,5 +28,5 @@ package() {
28 install -Dm755 "$srcdir"/dhcpcd.initd "$pkgdir"/etc/init.d/dhcpcd 28 install -Dm755 "$srcdir"/dhcpcd.initd "$pkgdir"/etc/init.d/dhcpcd
29} 29}
30 30
31md5sums="832e3cd6bfcaff64e9476e0ff7849e8f dhcpcd-5.2.12.tar.bz2 31md5sums="e6f73475ff6f34ba47bd6a11c0e2e137 dhcpcd-5.5.4.tar.bz2
32ecbd807cf3f87d7c5b6095bf63f26894 dhcpcd.initd" 32ecbd807cf3f87d7c5b6095bf63f26894 dhcpcd.initd"
diff --git a/main/dnsmasq/APKBUILD b/main/dnsmasq/APKBUILD
index a7aed4d2b0..ee77f12708 100644
--- a/main/dnsmasq/APKBUILD
+++ b/main/dnsmasq/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=dnsmasq 2pkgname=dnsmasq
3pkgver=2.59 3pkgver=2.60
4pkgrel=1 4pkgrel=0
5pkgdesc="Small forwarding DNS server" 5pkgdesc="Small forwarding DNS server"
6url="http://www.thekelleys.org.uk/dnsmasq/" 6url="http://www.thekelleys.org.uk/dnsmasq/"
7arch="all" 7arch="all"
@@ -37,6 +37,6 @@ package() {
37 install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname 37 install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
38 install dnsmasq.conf.example "$pkgdir"/etc/dnsmasq.conf 38 install dnsmasq.conf.example "$pkgdir"/etc/dnsmasq.conf
39} 39}
40md5sums="b5757ef2d7b651748eeebb88af29d7d6 dnsmasq-2.59.tar.gz 40md5sums="5a09908e02724d759ac60d9cafd27de8 dnsmasq-2.60.tar.gz
41006fed857314053b870ff1927c12ae78 dnsmasq.initd 41006fed857314053b870ff1927c12ae78 dnsmasq.initd
4216985abb08c8e11f85e38b37ea3863a4 dnsmasq.confd" 4216985abb08c8e11f85e38b37ea3863a4 dnsmasq.confd"
diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index 51e016b232..9d9cf0eec7 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Michael Mason <ms13sp@gmail.com> 1# Contributor: Michael Mason <ms13sp@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=dovecot 3pkgname=dovecot
4pkgver=2.0.18 4pkgver=2.1.3
5pkgrel=0 5pkgrel=0
6pkgdesc="IMAP and POP3 server" 6pkgdesc="IMAP and POP3 server"
7url="http://www.dovecot.org/" 7url="http://www.dovecot.org/"
@@ -16,7 +16,7 @@ install="dovecot.pre-install dovecot.post-install"
16subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev 16subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev
17 $pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi 17 $pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi
18 $pkgname-ldap" 18 $pkgname-ldap"
19source="http://www.dovecot.org/releases/2.0/$pkgname-$pkgver.tar.gz 19source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz
20 dovecot.logrotate 20 dovecot.logrotate
21 dovecot.initd 21 dovecot.initd
22 dovecot-sample-config.post-install 22 dovecot-sample-config.post-install
@@ -116,7 +116,7 @@ config() {
116 mkdir -p "$subpkgdir"/etc/dovecot/conf.d 116 mkdir -p "$subpkgdir"/etc/dovecot/conf.d
117} 117}
118 118
119md5sums="4fdee96b390a287d75b51ffcf6abe30f dovecot-2.0.18.tar.gz 119md5sums="a0e25243862c61de6274cf7d682a76ec dovecot-2.1.3.tar.gz
120aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate 120aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate
12159f210c712284a82e3a65b4126ddd99c dovecot.initd 12159f210c712284a82e3a65b4126ddd99c dovecot.initd
12295cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install" 12295cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install"
diff --git a/main/doxygen/APKBUILD b/main/doxygen/APKBUILD
index 4050549114..f62cec323a 100644
--- a/main/doxygen/APKBUILD
+++ b/main/doxygen/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=doxygen 2pkgname=doxygen
3pkgver=1.7.6.1 3pkgver=1.8.0
4pkgrel=0 4pkgrel=0
5pkgdesc="A documentation system for C++, C, Java, IDL and PHP" 5pkgdesc="A documentation system for C++, C, Java, IDL and PHP"
6url="http://www.doxygen.org/" 6url="http://www.doxygen.org/"
@@ -43,4 +43,4 @@ package() {
43 make DESTDIR="$pkgdir" MAN1DIR=share/man/man1 install 43 make DESTDIR="$pkgdir" MAN1DIR=share/man/man1 install
44} 44}
45 45
46md5sums="084f1db244b77b3abff335550ef8eec5 doxygen-1.7.6.1.src.tar.gz" 46md5sums="5ff66c50ca9288d9a3d695a031f6950c doxygen-1.8.0.src.tar.gz"
diff --git a/main/dropbear/APKBUILD b/main/dropbear/APKBUILD
index ecd4c4614f..37915562fb 100644
--- a/main/dropbear/APKBUILD
+++ b/main/dropbear/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Carlo Landmeter <clandmeter at gmail> 1# Contributor: Carlo Landmeter <clandmeter at gmail>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=dropbear 3pkgname=dropbear
4pkgver=0.53.1 4pkgver=2012.55
5pkgrel=1 5pkgrel=0
6pkgdesc="small SSH 2 client/server designed for small memory environments" 6pkgdesc="small SSH 2 client/server designed for small memory environments"
7url="http://matt.ucc.asn.au/dropbear/dropbear.html" 7url="http://matt.ucc.asn.au/dropbear/dropbear.html"
8arch="all" 8arch="all"
@@ -45,7 +45,7 @@ package() {
45 "$pkgdir"/etc/conf.d/dropbear || return 1 45 "$pkgdir"/etc/conf.d/dropbear || return 1
46} 46}
47 47
48md5sums="0284ea239083f04c8b874e08e1aca243 dropbear-0.53.1.tar.bz2 48md5sums="8c784baec3054cdb1bb4bfa792c87812 dropbear-2012.55.tar.bz2
49d181e2234f34ae5b1e45f8ebf5f14e07 dropbear.initd 49d181e2234f34ae5b1e45f8ebf5f14e07 dropbear.initd
50af73c487e2be37d65d0e8bf80489357e dropbear.confd 50af73c487e2be37d65d0e8bf80489357e dropbear.confd
51d33de2027d5dc851762b65b276f1ac83 dropbear-0.53.1-static_build_fix.patch" 51d33de2027d5dc851762b65b276f1ac83 dropbear-0.53.1-static_build_fix.patch"
diff --git a/main/espeak/APKBUILD b/main/espeak/APKBUILD
index 25661da8f3..39698ff195 100644
--- a/main/espeak/APKBUILD
+++ b/main/espeak/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=espeak 2pkgname=espeak
3pkgver=1.46.01 3pkgver=1.46.02
4pkgrel=0 4pkgrel=0
5pkgdesc="Speech synthesizer for English and other languages" 5pkgdesc="Speech synthesizer for English and other languages"
6url="http://espeak.sourceforge.net/" 6url="http://espeak.sourceforge.net/"
@@ -23,4 +23,4 @@ package() {
23 make AUDIO=none DESTDIR="$pkgdir" install || return 1 23 make AUDIO=none DESTDIR="$pkgdir" install || return 1
24} 24}
25 25
26md5sums="a3e9de4b2a56ec19c059115dca587494 espeak-1.46.01-source.zip" 26md5sums="84e8e44562f05a3afc5427218afc8af1 espeak-1.46.02-source.zip"
diff --git a/main/fail2ban/APKBUILD b/main/fail2ban/APKBUILD
index 170032b4e1..8ca1be39bb 100644
--- a/main/fail2ban/APKBUILD
+++ b/main/fail2ban/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Jeff Bilyk <jbilyk@gmail.com> 1# Contributor: Jeff Bilyk <jbilyk@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=fail2ban 3pkgname=fail2ban
4pkgver=0.8.4 4pkgver=0.8.6
5pkgrel=2 5pkgrel=0
6pkgdesc="Scans log files for login failures then updates iptables to reject originating ip address" 6pkgdesc="Scans log files for login failures then updates iptables to reject originating ip address"
7url="http://www.fail2ban.org" 7url="http://www.fail2ban.org"
8arch="noarch" 8arch="noarch"
@@ -10,16 +10,14 @@ license="GPLv2"
10depends="python iptables logrotate" 10depends="python iptables logrotate"
11makedepends="python-dev" 11makedepends="python-dev"
12install="" 12install=""
13source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 13source="https://github.com/downloads/fail2ban/fail2ban/fail2ban_${pkgver}.orig.tar.gz
14 gentoo-initd_create_run_dir.patch
15 fail2ban.confd 14 fail2ban.confd
16 fail2ban.logrotate 15 fail2ban.logrotate
17 " 16 "
18 17
19_builddir="$srcdir/$pkgname-$pkgver"
20prepare() { 18prepare() {
21 local i 19 local i
22 cd "$_builddir" 20 cd "$srcdir"/fail2ban-*
23 for i in $source; do 21 for i in $source; do
24 case $i in 22 case $i in
25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
@@ -28,11 +26,11 @@ prepare() {
28} 26}
29 27
30build() { 28build() {
31 cd "$_builddir" 29 return 0
32} 30}
33 31
34package() { 32package() {
35 cd "$_builddir" 33 cd "$srcdir"/fail2ban-*
36 python setup.py install --root "$pkgdir" || return 1 34 python setup.py install --root "$pkgdir" || return 1
37 install -Dm755 files/gentoo-initd "$pkgdir"/etc/init.d/fail2ban \ 35 install -Dm755 files/gentoo-initd "$pkgdir"/etc/init.d/fail2ban \
38 || return 1 36 || return 1
@@ -42,7 +40,6 @@ package() {
42 "$pkgdir"/etc/logrotate.d/fail2ban || return 1 40 "$pkgdir"/etc/logrotate.d/fail2ban || return 1
43} 41}
44 42
45md5sums="df94335a5d12b4750869e5fe350073fa fail2ban-0.8.4.tar.bz2 43md5sums="a5f08a67fe6bfb0580043d90c6f81cfd fail2ban_0.8.6.orig.tar.gz
4661580eb6d8d9a4d187e97bc27f2fcb1e gentoo-initd_create_run_dir.patch
47b209a04f9314dd064a4aa0ee505c8a4d fail2ban.confd 44b209a04f9314dd064a4aa0ee505c8a4d fail2ban.confd
486d1af6ceebd15c8ae3938bc675efe553 fail2ban.logrotate" 456d1af6ceebd15c8ae3938bc675efe553 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 79a947956e..0000000000
--- a/main/fail2ban/gentoo-initd_create_run_dir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1Index: fail2ban-0.8.4/files/gentoo-initd
2===================================================================
3--- fail2ban-0.8.4.orig/files/gentoo-initd
4+++ fail2ban-0.8.4/files/gentoo-initd
5@@ -31,6 +31,14 @@ depend() {
6
7 start() {
8 ebegin "Starting fail2ban"
9+ if [ ! -d /var/run/fail2ban ]; then
10+ mkdir /var/run/fail2ban || return 1
11+ fi
12+ if [ -e /var/run/fail2ban/fail2ban.sock ]; then
13+ # remove stalled sock file after system crash
14+ # bug 347477
15+ rm -rf /var/run/fail2ban/fail2ban.sock || return 1
16+ fi
17 ${FAIL2BAN} start &> /dev/null
18 eend $? "Failed to start fail2ban"
19 }
diff --git a/main/feh/APKBUILD b/main/feh/APKBUILD
index b4356409bf..617ac1654d 100644
--- a/main/feh/APKBUILD
+++ b/main/feh/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=feh 2pkgname=feh
3pkgver=2.3 3pkgver=2.4
4pkgrel=0 4pkgrel=0
5pkgdesc="feh is a fast, lightweight image viewer which uses imlib2" 5pkgdesc="feh is a fast, lightweight image viewer which uses imlib2"
6url="http://www.linuxbrit.co.uk/feh/" 6url="http://www.linuxbrit.co.uk/feh/"
@@ -24,4 +24,4 @@ package() {
24 make DESTDIR=$pkgdir docsdir=/usr/share/doc/feh install || return 1 24 make DESTDIR=$pkgdir docsdir=/usr/share/doc/feh install || return 1
25 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE 25 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
26} 26}
27md5sums="f96d2ec75150a6122c57893d295301b4 feh-2.3.tar.bz2" 27md5sums="b88fbec54471f7f82974511ab7f6da60 feh-2.4.tar.bz2"
diff --git a/main/ffmpeg/APKBUILD b/main/ffmpeg/APKBUILD
index fdea0a011e..07e823f992 100644
--- a/main/ffmpeg/APKBUILD
+++ b/main/ffmpeg/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=ffmpeg 2pkgname=ffmpeg
3pkgver=0.10 3pkgver=0.10.2
4pkgrel=2 4pkgrel=0
5pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" 5pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
6url="http://ffmpeg.org/" 6url="http://ffmpeg.org/"
7arch="all" 7arch="all"
@@ -67,5 +67,5 @@ libs() {
67 mv "$pkgdir"/usr/lib "$subpkgdir"/usr 67 mv "$pkgdir"/usr/lib "$subpkgdir"/usr
68} 68}
69 69
70md5sums="dc665cc599a739e3c5262ccdac13d129 ffmpeg-0.10.tar.bz2 70md5sums="de1bd5fc4bbf3ef730a5361ee596fedd ffmpeg-0.10.2.tar.bz2
712cdc11a99bf97c63c7cca27b073cb47c configure-dlvsym.patch" 712cdc11a99bf97c63c7cca27b073cb47c configure-dlvsym.patch"
diff --git a/main/file/APKBUILD b/main/file/APKBUILD
index 41c41d6c25..cd0cfb5a0f 100644
--- a/main/file/APKBUILD
+++ b/main/file/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=file 2pkgname=file
3pkgver=5.10 3pkgver=5.11
4pkgrel=0 4pkgrel=0
5pkgdesc="File type identification utility" 5pkgdesc="File type identification utility"
6url="http://www.darwinsys.com/file/" 6url="http://www.darwinsys.com/file/"
@@ -21,4 +21,4 @@ package() {
21 make DESTDIR="$pkgdir" install || return 1 21 make DESTDIR="$pkgdir" install || return 1
22 rm "$pkgdir"/usr/lib/*.la || return 1 22 rm "$pkgdir"/usr/lib/*.la || return 1
23} 23}
24md5sums="4cea34b087b060772511e066e2038196 file-5.10.tar.gz" 24md5sums="16a407bd66d6c7a832f3a5c0d609c27b file-5.11.tar.gz"
diff --git a/main/firefox/APKBUILD b/main/firefox/APKBUILD
index 4ac9f722f4..65b5eff3d3 100644
--- a/main/firefox/APKBUILD
+++ b/main/firefox/APKBUILD
@@ -1,10 +1,10 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=firefox 3pkgname=firefox
4pkgver=10.0.1 4pkgver=11.0
5_pkgver=$pkgver 5_pkgver=$pkgver
6_xulver=10.0.1 6_xulver=$pkgver
7pkgrel=1 7pkgrel=0
8pkgdesc="firefox web browser" 8pkgdesc="firefox web browser"
9url="http://www.firefox.com" 9url="http://www.firefox.com"
10arch="all" 10arch="all"
@@ -116,7 +116,7 @@ __EOF__
116 chmod 755 "$pkgdir"/usr/bin/firefox 116 chmod 755 "$pkgdir"/usr/bin/firefox
117} 117}
118 118
119md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2 119md5sums="4b07acf47857aff72776d805409cdd1b firefox-11.0.source.tar.bz2
1203ba2cb7cda675e78eb0eeb0652ee3457 mozconfig 1203ba2cb7cda675e78eb0eeb0652ee3457 mozconfig
1212328df219e042f6aaec361cbf83cf9e9 firefox-5.0-asciidel.patch 1212328df219e042f6aaec361cbf83cf9e9 firefox-5.0-asciidel.patch
1221084155dd8d32c488dfcafff336d2634 libvpx.patch 1221084155dd8d32c488dfcafff336d2634 libvpx.patch
diff --git a/main/freeglut/APKBUILD b/main/freeglut/APKBUILD
index 1cb5547bfe..d6a894370b 100644
--- a/main/freeglut/APKBUILD
+++ b/main/freeglut/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=freeglut 3pkgname=freeglut
4pkgver=2.6.0 4pkgver=2.8.0
5pkgrel=2 5pkgrel=0
6pkgdesc="free reimplementation of OpenGL Utility Toolkit (GLUT) library" 6pkgdesc="free reimplementation of OpenGL Utility Toolkit (GLUT) library"
7url="http://freeglut.sourceforge.net/" 7url="http://freeglut.sourceforge.net/"
8arch="all" 8arch="all"
@@ -40,4 +40,4 @@ package() {
40 install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 40 install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
41} 41}
42 42
43md5sums="39f0f2de89f399529d2b981188082218 freeglut-2.6.0.tar.gz" 43md5sums="5db8651af306bc403fbfd36934a20e1d freeglut-2.8.0.tar.gz"
diff --git a/main/freeradius/APKBUILD b/main/freeradius/APKBUILD
index 616ecc87bc..32d4ad0dd3 100644
--- a/main/freeradius/APKBUILD
+++ b/main/freeradius/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> 2# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
3pkgname=freeradius 3pkgname=freeradius
4pkgver=2.1.12 4pkgver=2.1.12
5pkgrel=1 5pkgrel=2
6pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" 6pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server"
7url="http://freeradius.org/" 7url="http://freeradius.org/"
8arch="all" 8arch="all"
diff --git a/main/freerdp/APKBUILD b/main/freerdp/APKBUILD
index 8c6d169eee..f1739a7e15 100644
--- a/main/freerdp/APKBUILD
+++ b/main/freerdp/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=freerdp 2pkgname=freerdp
3pkgver=1.0.1 3pkgver=1.0.1
4pkgrel=0 4pkgrel=1
5pkgdesc="Free RDP client" 5pkgdesc="Free RDP client"
6url="http://freerdp.sourceforge.net" 6url="http://freerdp.sourceforge.net"
7arch="all" 7arch="all"
@@ -12,7 +12,8 @@ makedepends="openssl-dev libxcursor-dev cups-dev alsa-lib-dev ffmpeg-dev
12 cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev 12 cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev
13 wget cmake" 13 wget cmake"
14source="https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-$pkgver.tar.gz 14source="https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-$pkgver.tar.gz
15 pluginpath.patch" 15 pluginpath.patch
16 futimens.patch"
16 17
17prepare() { 18prepare() {
18 cd "$srcdir"/FreeRDP-FreeRDP-* 19 cd "$srcdir"/FreeRDP-FreeRDP-*
@@ -25,6 +26,7 @@ prepare() {
25 26
26build() { 27build() {
27 cd "$srcdir"/FreeRDP-FreeRDP-* 28 cd "$srcdir"/FreeRDP-FreeRDP-*
29 export CFLAGS="$CFLAGS -D_BSD_SOURCE"
28 cmake -DCMAKE_BUILD_TYPE=Release \ 30 cmake -DCMAKE_BUILD_TYPE=Release \
29 -DCMAKE_INSTALL_PREFIX=/usr \ 31 -DCMAKE_INSTALL_PREFIX=/usr \
30 -DCMAKE_INSTALL_LIBDIR=/usr/lib \ 32 -DCMAKE_INSTALL_LIBDIR=/usr/lib \
@@ -52,4 +54,5 @@ plugins() {
52} 54}
53 55
54md5sums="1282189a87893bf196da20382e45f6c1 FreeRDP-1.0.1.tar.gz 56md5sums="1282189a87893bf196da20382e45f6c1 FreeRDP-1.0.1.tar.gz
55f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch" 57f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch
58b9673acd41c4205cd32e5412dcb07515 futimens.patch"
diff --git a/main/freerdp/futimens.patch b/main/freerdp/futimens.patch
new file mode 100644
index 0000000000..ee538201ac
--- /dev/null
+++ b/main/freerdp/futimens.patch
@@ -0,0 +1,25 @@
1--- ./channels/rdpdr/disk/disk_file.c.orig
2+++ ./channels/rdpdr/disk/disk_file.c
3@@ -414,7 +414,7 @@
4 char* fullpath;
5 struct stat st;
6 UNICONV* uniconv;
7- struct timeval tv[2];
8+ struct timespec tv[2];
9 uint64 LastWriteTime;
10 uint32 FileAttributes;
11 uint32 FileNameLength;
12@@ -433,10 +433,10 @@
13 return false;
14
15 tv[0].tv_sec = st.st_atime;
16- tv[0].tv_usec = 0;
17+ tv[0].tv_nsec = 0;
18 tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime);
19- tv[1].tv_usec = 0;
20- futimes(file->fd, tv);
21+ tv[1].tv_nsec = 0;
22+ futimens(file->fd, tv);
23
24 if (FileAttributes > 0)
25 {
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 ccf4e5c6e9..0000000000
--- a/main/freeswitch/0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 67a60b5bf50fbfdf184dc4cb20a88d8d88ff59ad Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
3Date: Fri, 10 Jun 2011 11:58:19 +0300
4Subject: [PATCH 1/2] mod_sofia: update mod_sofia_globals.guess_ip on address change
5
6So that we rebind to the new IP-address after reloading
7configuration. Fixes FS-3336.
8---
9 src/mod/endpoints/mod_sofia/mod_sofia.c | 2 ++
10 1 files changed, 2 insertions(+), 0 deletions(-)
11
12diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c
13index 86fa140..b06eacb 100644
14--- a/src/mod/endpoints/mod_sofia/mod_sofia.c
15+++ b/src/mod/endpoints/mod_sofia/mod_sofia.c
16@@ -4889,6 +4889,8 @@ static void general_event_handler(switch_event_t *event)
17 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "EVENT_TRAP: IP change detected\n");
18 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);
19
20+ strncpy(mod_sofia_globals.guess_ip, new_ip4, sizeof(mod_sofia_globals.guess_ip));
21+
22 switch_mutex_lock(mod_sofia_globals.hash_mutex);
23 if (mod_sofia_globals.profile_hash) {
24 for (hi = switch_hash_first(NULL, mod_sofia_globals.profile_hash); hi; hi = switch_hash_next(hi)) {
25--
261.7.1
27
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 577ca8e1a4..0000000000
--- a/main/freeswitch/0003-mod_conference_no_hangup.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c
2index 572fdf0..d62d114 100644
3--- a/src/mod/applications/mod_conference/mod_conference.c
4+++ b/src/mod/applications/mod_conference/mod_conference.c
5@@ -1482,13 +1482,15 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
6 if (!switch_test_flag(imember, MFLAG_NOCHANNEL)) {
7 channel = switch_core_session_get_channel(imember->session);
8
9- /* add this little bit to preserve the bridge cause code in case of an early media call that */
10- /* never answers */
11- if (switch_test_flag(conference, CFLAG_ANSWERED)) {
12- switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
13- } else {
14- /* put actual cause code from outbound channel hangup here */
15- switch_channel_hangup(channel, conference->bridge_hangup_cause);
16+ if (!switch_false(switch_channel_get_variable(channel, "hangup_after_conference"))) {
17+ /* add this little bit to preserve the bridge cause code in case of an early media call that */
18+ /* never answers */
19+ if (switch_test_flag(conference, CFLAG_ANSWERED)) {
20+ switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
21+ } else {
22+ /* put actual cause code from outbound channel hangup here */
23+ switch_channel_hangup(channel, conference->bridge_hangup_cause);
24+ }
25 }
26 }
27
diff --git a/main/freeswitch/APKBUILD b/main/freeswitch/APKBUILD
index 591a42d810..356725187f 100644
--- a/main/freeswitch/APKBUILD
+++ b/main/freeswitch/APKBUILD
@@ -1,33 +1,51 @@
1# Contributor: Michael Mason <ms13sp@gmail.com> 1# Contributor: Michael Mason <ms13sp@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=freeswitch 3pkgname=freeswitch
4pkgver=1.0.7_p20110602 4_snapshot=20120312
5_ver=${pkgver%_p*} 5pkgver=1.0.7_p${_snapshot}
6_snapshot=${pkgver#*_p} 6_commit=5e4a514531de2a1d8040c3d306a9e8de426de566
7pkgrel=7 7pkgrel=1
8pkgdesc="A communications platform written in C from the ground up" 8pkgdesc="A communications platform written in C from the ground up"
9url="http://www.freeswitch.org" 9url="http://www.freeswitch.org"
10arch="all" 10arch="all"
11license="GPL" 11license="GPL"
12depends="" 12depends=""
13pkgusers="freeswitch"
14pkggroups="freeswitch"
13makedepends="curl-dev unixodbc-dev zlib-dev openssl-dev ncurses-dev 15makedepends="curl-dev unixodbc-dev zlib-dev openssl-dev ncurses-dev
14 autoconf automake libtool libpri-dev bash net-snmp-dev postgresql-dev 16 autoconf automake libtool libpri-dev bash net-snmp-dev postgresql-dev
15 libiconv-dev subversion flac-dev libogg-dev libvorbis-dev 17 libiconv-dev subversion flac-dev libogg-dev libvorbis-dev
16 jpeg-dev sngtc_client-dev" 18 jpeg-dev sngtc_client-dev"
17install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade" 19install="$pkgname.pre-install $pkgname.pre-upgrade"
18subpackages="$pkgname-dev $pkgname-flite $pkgname-timezones 20subpackages="$pkgname-dev $pkgname-flite $pkgname-timezones
19 $pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma" 21 $pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma"
20source="saveas-http://latest.freeswitch.org/freeswitch-$_ver.tar.gz/freeswitch-$pkgver.tar.gz 22#hmm, saveas doesn't work with https...
23source="http://git.freeswitch.org/git/freeswitch/snapshot/$pkgname-$_commit.tar.bz2
21 freeswitch-mod_shout-textrels.patch 24 freeswitch-mod_shout-textrels.patch
22 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
23 0002-mod_lua-alpine-module-search-path.patch 25 0002-mod_lua-alpine-module-search-path.patch
24 0003-mod_conference_no_hangup.patch
25 modules.conf 26 modules.conf
26 freeswitch.confd 27 freeswitch.confd
27 freeswitch.initd 28 freeswitch.initd
28 " 29 "
29 30
30_builddir="$srcdir/$pkgname-$_ver" 31snapshot() {
32 current_head=$(curl http://git.freeswitch.org/git/freeswitch/patch/ | head -n1 | cut -d" " -f2)
33 current_snapshot=$(grep -e "^_snapshot=.*$" APKBUILD | cut -d"=" -f2)
34 new_snapshot=$(date +"%Y%m%d")
35 if [ "$current_snapshot" = "$new_snapshot" ]; then
36 old_pkgrel=$(grep -e "^pkgrel=.*$" APKBUILD | cut -d"=" -f2)
37 new_pkgrel=$(expr $old_pkgrel + 1 )
38 else
39 new_pkgrel=0
40 fi
41 sed -i "s/^_commit=.*$/_commit=$current_head/" APKBUILD
42 sed -i "s/^pkgrel=.*$/pkgrel=$new_pkgrel/" APKBUILD
43 sed -i "s/^_snapshot=.*$/_snapshot=$new_snapshot/" APKBUILD
44 abuild fetch
45 abuild checksum
46}
47
48_builddir="$srcdir/$pkgname-$_commit"
31 49
32prepare() { 50prepare() {
33 cd "$_builddir" 51 cd "$_builddir"
@@ -90,6 +108,7 @@ package(){
90 mv "$pkgdir"/usr/log "$pkgdir"/var/log/freeswitch 108 mv "$pkgdir"/usr/log "$pkgdir"/var/log/freeswitch
91 install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname 109 install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
92 install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname 110 install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
111 chown -R freeswitch:freeswitch "$pkgdir"/var/*/freeswitch
93} 112}
94 113
95 114
@@ -153,11 +172,9 @@ conf() {
153 mkdir -p "$pkgdir"/etc/freeswitch/scripts 172 mkdir -p "$pkgdir"/etc/freeswitch/scripts
154} 173}
155 174
156md5sums="813edb2192d1cc0fe224d9ef0492de4f freeswitch-1.0.7_p20110602.tar.gz 175md5sums="8c0609c00039513a1a81eda685845b37 freeswitch-5e4a514531de2a1d8040c3d306a9e8de426de566.tar.bz2
15711883affe0839a8e15fe680aeb11b86e freeswitch-mod_shout-textrels.patch 17611883affe0839a8e15fe680aeb11b86e freeswitch-mod_shout-textrels.patch
1585aed9ec61d7ac1f3758a89db159328c4 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
159769eaa127d4dbae687dc4aa961a8cc70 0002-mod_lua-alpine-module-search-path.patch 177769eaa127d4dbae687dc4aa961a8cc70 0002-mod_lua-alpine-module-search-path.patch
16074c3cdd3ce8474e8d084f475fa4f92c1 0003-mod_conference_no_hangup.patch
16194516a9473e2283ab201f38cb2756741 modules.conf 17894516a9473e2283ab201f38cb2756741 modules.conf
162c608cca8ad773acebf201f581438c7e7 freeswitch.confd 179c608cca8ad773acebf201f581438c7e7 freeswitch.confd
16351e0c45ae07a675f6008f95b1ab8f18e freeswitch.initd" 18006d70089ce96abc47a01bf69511a978a freeswitch.initd"
diff --git a/main/freeswitch/freeswitch.initd b/main/freeswitch/freeswitch.initd
index c6ff357c6a..ee07de5374 100755
--- a/main/freeswitch/freeswitch.initd
+++ b/main/freeswitch/freeswitch.initd
@@ -22,6 +22,9 @@ start() {
22 [ -n "${FREESWITCH_OPTS}" ] && \ 22 [ -n "${FREESWITCH_OPTS}" ] && \
23 OPTS="${OPTS} ${FREESWITCH_OPTS}" 23 OPTS="${OPTS} ${FREESWITCH_OPTS}"
24 24
25 checkpath -q -d \
26 -o ${FREESWITCH_USER:freeswitch}:${FREESWITCH_GROUP:-freeswitch}\
27 -m 0770 /var/run/freeswitch
25 ebegin "Starting Freeswitch" 28 ebegin "Starting Freeswitch"
26 limits 29 limits
27 start-stop-daemon --start --quiet --exec /usr/bin/freeswitch \ 30 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 fef23caef1..0000000000
--- a/main/freeswitch/freeswitch.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
1#!/bin/sh
2
3chown -R freeswitch:freeswitch /var/*/freeswitch
4
5exit 0
diff --git a/main/freetype/APKBUILD b/main/freetype/APKBUILD
index 4aa1d7cfd0..dce2c76254 100644
--- a/main/freetype/APKBUILD
+++ b/main/freetype/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Carlo Landmeter <clandmeter@gmail.com> 2# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
3pkgname=freetype 3pkgname=freetype
4pkgver=2.4.8 4pkgver=2.4.9
5pkgrel=0 5pkgrel=0
6pkgdesc="TrueType font rendering library" 6pkgdesc="TrueType font rendering library"
7url="http://freetype.sourceforge.net" 7url="http://freetype.sourceforge.net"
@@ -43,7 +43,7 @@ package() {
43 rm "$pkgdir"/usr/lib/*.la || return 1 43 rm "$pkgdir"/usr/lib/*.la || return 1
44} 44}
45 45
46md5sums="5d82aaa9a4abc0ebbd592783208d9c76 freetype-2.4.8.tar.gz 46md5sums="c15f6dc8ed190d67b89ae09aaf7896b4 freetype-2.4.9.tar.gz
47376b94c06b113a62a3437e4130bb3fc3 20-enable-spr.patch 47376b94c06b113a62a3437e4130bb3fc3 20-enable-spr.patch
483f6c5739843dcbc110ee0f243c4f6bdb 30-enable-valid.patch 483f6c5739843dcbc110ee0f243c4f6bdb 30-enable-valid.patch
49bd2d808a0c00dcf9f1d1c0a9a8227ad9 40-memcpy-fix.patch" 49bd2d808a0c00dcf9f1d1c0a9a8227ad9 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 21ceb25b7c..43c2f96223 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).
29 * Makefile.in (BACKENDLIBS): Use DL_LIB. 29 * Makefile.in (BACKENDLIBS): Use DL_LIB.
30 * graphite-cloog-compat.h: Add missing symbols. 30 * graphite-cloog-compat.h: Add missing symbols.
31 31
322012-03-12 Natanael Copa <ncopa@alpinelinux.org>
32 33
34 * Rebase against gcc 4.6.3
33 35
36diff --git a/gcc/Makefile.in b/gcc/Makefile.in
37index 872956d..7d89f08 100644
34--- a/gcc/Makefile.in 38--- a/gcc/Makefile.in
35+++ b/gcc/Makefile.in 39+++ b/gcc/Makefile.in
36@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ 40@@ -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).
106 graphite-sese-to-poly.h 110 graphite-sese-to-poly.h
107 tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ 111 tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
108 $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ 112 $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
109@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ 113@@ -3483,6 +3485,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
110 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ 114 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
111 $(out_file) $(OUTPUT_OPTION) 115 $(out_file) $(OUTPUT_OPTION)
112 116
@@ -118,6 +122,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
118 # Build auxiliary files that support ecoff format. 122 # Build auxiliary files that support ecoff format.
119 mips-tfile: mips-tfile.o version.o $(LIBDEPS) 123 mips-tfile: mips-tfile.o version.o $(LIBDEPS)
120 $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ 124 $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
125diff --git a/gcc/configure b/gcc/configure
126index 9b87171..0cf3795 100755
121--- a/gcc/configure 127--- a/gcc/configure
122+++ b/gcc/configure 128+++ b/gcc/configure
123@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS 129@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
@@ -128,25 +134,7 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
128 CLOOGINC 134 CLOOGINC
129 CLOOGLIBS 135 CLOOGLIBS
130 PPLINC 136 PPLINC
131@@ -17505,7 +17506,7 @@ else 137@@ -26282,6 +26283,7 @@ $as_echo "unable to check" >&6; }
132 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
133 lt_status=$lt_dlunknown
134 cat > conftest.$ac_ext <<_LT_EOF
135-#line 17508 "configure"
136+#line 17509 "configure"
137 #include "confdefs.h"
138
139 #if HAVE_DLFCN_H
140@@ -17611,7 +17612,7 @@ else
141 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
142 lt_status=$lt_dlunknown
143 cat > conftest.$ac_ext <<_LT_EOF
144-#line 17614 "configure"
145+#line 17615 "configure"
146 #include "confdefs.h"
147
148 #if HAVE_DLFCN_H
149@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; }
150 fi 138 fi
151 139
152 # Check -ldl 140 # Check -ldl
@@ -154,7 +142,7 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
154 saved_LIBS="$LIBS" 142 saved_LIBS="$LIBS"
155 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 143 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
156 $as_echo_n "checking for library containing dlopen... " >&6; } 144 $as_echo_n "checking for library containing dlopen... " >&6; }
157@@ -26343,7 +26345,9 @@ fi 145@@ -26341,7 +26343,9 @@ fi
158 146
159 if test x"$ac_cv_search_dlopen" = x"-ldl"; then 147 if test x"$ac_cv_search_dlopen" = x"-ldl"; then
160 pluginlibs="$pluginlibs -ldl" 148 pluginlibs="$pluginlibs -ldl"
@@ -164,9 +152,11 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
164 LIBS="$saved_LIBS" 152 LIBS="$saved_LIBS"
165 153
166 # Check that we can build shared objects with -fPIC -shared 154 # Check that we can build shared objects with -fPIC -shared
155diff --git a/gcc/configure.ac b/gcc/configure.ac
156index c574fb6..228fb9f 100644
167--- a/gcc/configure.ac 157--- a/gcc/configure.ac
168+++ b/gcc/configure.ac 158+++ b/gcc/configure.ac
169@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then 159@@ -4839,11 +4839,14 @@ if test x"$enable_plugin" = x"yes"; then
170 fi 160 fi
171 161
172 # Check -ldl 162 # Check -ldl
@@ -181,6 +171,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
181 LIBS="$saved_LIBS" 171 LIBS="$saved_LIBS"
182 172
183 # Check that we can build shared objects with -fPIC -shared 173 # Check that we can build shared objects with -fPIC -shared
174diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
175index 41356dc..e93cafe 100644
184--- a/gcc/graphite-clast-to-gimple.c 176--- a/gcc/graphite-clast-to-gimple.c
185+++ b/gcc/graphite-clast-to-gimple.c 177+++ b/gcc/graphite-clast-to-gimple.c
186@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) 178@@ -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).
196 struct clast_user_stmt *body = clast_get_body_of_loop (stmt); 188 struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
197 CloogStatement *cs = body->statement; 189 CloogStatement *cs = body->statement;
198 poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); 190 poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
191diff --git a/gcc/graphite-cloog-compat.h b/gcc/graphite-cloog-compat.h
192index 011377d..550df7a 100644
199--- a/gcc/graphite-cloog-compat.h 193--- a/gcc/graphite-cloog-compat.h
200+++ b/gcc/graphite-cloog-compat.h 194+++ b/gcc/graphite-cloog-compat.h
201@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) 195@@ -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).
468+ 462+
469+ 463+
470 #endif /* GRAPHITE_CLOOG_COMPAT_H */ 464 #endif /* GRAPHITE_CLOOG_COMPAT_H */
465diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
466index 3bf87b0..3ed95b7 100644
471--- a/gcc/graphite-poly.h 467--- a/gcc/graphite-poly.h
472+++ b/gcc/graphite-poly.h 468+++ b/gcc/graphite-poly.h
473@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see 469@@ -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).
479 typedef struct poly_dr *poly_dr_p; 475 typedef struct poly_dr *poly_dr_p;
480 DEF_VEC_P(poly_dr_p); 476 DEF_VEC_P(poly_dr_p);
481 DEF_VEC_ALLOC_P (poly_dr_p, heap); 477 DEF_VEC_ALLOC_P (poly_dr_p, heap);
478diff --git a/gcc/graphite.c b/gcc/graphite.c
479index b013447..5637d37 100644
482--- a/gcc/graphite.c 480--- a/gcc/graphite.c
483+++ b/gcc/graphite.c 481+++ b/gcc/graphite.c
484@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see 482@@ -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 379d9ae024..da967dbb4c 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -1,13 +1,13 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gcc 2pkgname=gcc
3pkgver=4.6.2 3pkgver=4.6.3
4_piepatchver=0.4.5 4_piepatchver=0.4.5
5_specs_ver=0.2.0 5_specs_ver=0.2.0
6_specs_gcc_ver=4.4.3 6_specs_gcc_ver=4.4.3
7 7
8_uclibc_abiver=0.9.32 8_uclibc_abiver=0.9.32
9 9
10pkgrel=5 10pkgrel=0
11pkgdesc="The GNU Compiler Collection" 11pkgdesc="The GNU Compiler Collection"
12url="http://gcc.gnu.org" 12url="http://gcc.gnu.org"
13arch="all" 13arch="all"
@@ -388,12 +388,12 @@ gfortran() {
388 "$subpkgdir"/$gcclibs 388 "$subpkgdir"/$gcclibs
389} 389}
390 390
391md5sums="780f614ab18c7a9066dec6387d7490b2 gcc-core-4.6.2.tar.bz2 391md5sums="766091220c6a14fcaa2c06dd573e3758 gcc-core-4.6.3.tar.bz2
39287ecd60431e41096419dd8a10f76e46b gcc-g++-4.6.2.tar.bz2 39237515158a0fb3d0800ec41a08c05e69e gcc-g++-4.6.3.tar.bz2
39394043cc0d08394eddebed73f30ecad89 gcc-objc-4.6.2.tar.bz2 39348ba23770c34b1cb468f72618b4452c5 gcc-objc-4.6.3.tar.bz2
39452de580642d7092b7b2790d9a81ab7a6 gcc-java-4.6.2.tar.bz2 394ea47e796f9e53118cd6e262fa220085c gcc-java-4.6.3.tar.bz2
3950b7bdd9bd3096075f035fa9def33c314 gcc-go-4.6.2.tar.bz2 39592166ef431c165054467a9524d0819c8 gcc-go-4.6.3.tar.bz2
396216ecc8dbf99a562e837c48b5c4e7979 gcc-fortran-4.6.2.tar.bz2 39626a18d5727f7c8c18581ba924cce1e5f gcc-fortran-4.6.3.tar.bz2
3975dc7efd84b526801b94fed21462aea62 gcc-4.6.1-piepatches-v0.4.5.tar.bz2 3975dc7efd84b526801b94fed21462aea62 gcc-4.6.1-piepatches-v0.4.5.tar.bz2
398441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2 398441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2
399d7cd6a27c8801e66cbaa964a039ecfdb ecj-latest.jar 399d7cd6a27c8801e66cbaa964a039ecfdb ecj-latest.jar
@@ -403,7 +403,7 @@ a78022925c0ecb1f13384238b81adbe7 12_all_default-warn-trampolines.patch
4036862cb5268fef68a4a1906e0c4ea0d46 15_all_libgomp-Werror.patch 4036862cb5268fef68a4a1906e0c4ea0d46 15_all_libgomp-Werror.patch
4041a8ce6b7a0b9a115e37fdda311704451 34_all_ia64_note.GNU-stack.patch 4041a8ce6b7a0b9a115e37fdda311704451 34_all_ia64_note.GNU-stack.patch
405d8692c56f04b92667096f59d843e95c5 51_all_libiberty-pic.patch 405d8692c56f04b92667096f59d843e95c5 51_all_libiberty-pic.patch
406656565d2e2c30ea12a398ef6959a9391 74_all_gcc46_cloog-dl.patch 406a90d4d1ee358b19f2068fe2e4fd5d001 74_all_gcc46_cloog-dl.patch
407a695d7648509b4f8e18b389a19e6037c gcc-spec-env.patch 407a695d7648509b4f8e18b389a19e6037c gcc-spec-env.patch
4082db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch 4082db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch
4096cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch 4096cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch
diff --git a/main/gdbm/APKBUILD b/main/gdbm/APKBUILD
index f967552d36..dd515f5ec7 100644
--- a/main/gdbm/APKBUILD
+++ b/main/gdbm/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Carlo Landmeter <clandmeter@gmail.com> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=gdbm 3pkgname=gdbm
4pkgver=1.8.3 4pkgver=1.10
5pkgrel=5 5pkgrel=0
6pkgdesc="GNU dbm is a set of database routines that use extensible hashing" 6pkgdesc="GNU dbm is a set of database routines that use extensible hashing"
7url="http://www.gnu.org/software/gdbm/" 7url="http://www.gnu.org/software/gdbm/"
8arch="all" 8arch="all"
@@ -10,37 +10,38 @@ license="GPL"
10depends="" 10depends=""
11makedepends="" 11makedepends=""
12install= 12install=
13subpackages="$pkgname-dev $pkgname-dev" 13subpackages="$pkgname-dev $pkgname-doc"
14source="ftp://ftp.nluug.nl/pub/gnu/gdbm/gdbm-1.8.3.tar.gz 14source="ftp://ftp.nluug.nl/pub/gnu/gdbm/gdbm-$pkgver.tar.gz
1530-gdbm-1.8.3-build.patch 15 gdbm-1.10-zeroheaders.patch"
1620-gdbm-1.8.3-compat-linking.patch
1710-gdbm-1.8.3-fix-install-ownership.patch"
18 16
19build() { 17_builddir="$srcdir"/gdbm-$pkgver
20 cd "$srcdir/$pkgname-$pkgver" 18prepare() {
21 19 cd "$_builddir"
22 for i in ../*.patch; do 20 for i in $source; do
23 msg "Applying $i" 21 case $i in
24 patch -p0 < $i || return 1 22 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
23 esac
25 done 24 done
25}
26 26
27build() {
28 cd "$_builddir"
29 # we disable large-file due to it makes the db file non-compat
30 # with gdbm-1.8.3
27 ./configure --prefix=/usr \ 31 ./configure --prefix=/usr \
28 --includedir=/usr/include/gdbm \ 32 --enable-libgdbm-compat \
33 --disable-largefile \
29 --disable-dependency-tracking \ 34 --disable-dependency-tracking \
30 --enable-fast-install 35 --enable-fast-install
31 make || return 1 36 make || return 1
32} 37}
33 38
34package() { 39package() {
35 cd "$srcdir/$pkgname-$pkgver" 40 cd "$_builddir"
36 make INSTALL_ROOT="$pkgdir" install || return 1 41 make DESTDIR="$pkgdir" install || return 1
37 make INSTALL_ROOT="$pkgdir" install-compat || return 1
38 rm "$pkgdir"/usr/lib/*.la || return 1 42 rm "$pkgdir"/usr/lib/*.la || return 1
39 mv "${pkgdir}"/usr/include/gdbm/gdbm.h "${pkgdir}"/usr/include/
40 43
41} 44}
42 45
43md5sums="1d1b1d5c0245b1c00aff92da751e9aa1 gdbm-1.8.3.tar.gz 46md5sums="88770493c2559dc80b561293e39d3570 gdbm-1.10.tar.gz
445e76bc4f51640434e4279e940f6c73fb 30-gdbm-1.8.3-build.patch 47ac255b10452005237836cd2d3a470733 gdbm-1.10-zeroheaders.patch"
45c8e2323a9e075d5c947cb7c7aeae5384 20-gdbm-1.8.3-compat-linking.patch
464c7b88079898d7cb380e95c8ae99a9f9 10-gdbm-1.8.3-fix-install-ownership.patch"
diff --git a/main/gdbm/gdbm-1.10-zeroheaders.patch b/main/gdbm/gdbm-1.10-zeroheaders.patch
new file mode 100644
index 0000000000..a268f6bdfa
--- /dev/null
+++ b/main/gdbm/gdbm-1.10-zeroheaders.patch
@@ -0,0 +1,33 @@
1diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c
2--- gdbm-1.10/src/falloc.c.zeroheaders 2011-11-11 11:59:11.000000000 +0100
3+++ gdbm-1.10/src/falloc.c 2011-11-14 17:34:32.487604027 +0100
4@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf)
5
6
7 /* Split the header block. */
8- temp = (avail_block *) malloc (av_size);
9+ temp = (avail_block *) calloc (1, av_size);
10 if (temp == NULL) _gdbm_fatal (dbf, _("malloc error"));
11 /* Set the size to be correct AFTER the pop_avail_block. */
12 temp->size = dbf->header->avail.size;
13diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c
14--- gdbm-1.10/src/gdbmopen.c.zeroheaders 2011-11-11 19:39:42.000000000 +0100
15+++ gdbm-1.10/src/gdbmopen.c 2011-11-14 17:33:24.867608650 +0100
16@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s
17 (dbf->header->block_size - sizeof (hash_bucket))
18 / sizeof (bucket_element) + 1;
19 dbf->header->bucket_size = dbf->header->block_size;
20- dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size);
21+ dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size);
22 if (dbf->bucket == NULL)
23 {
24 gdbm_close (dbf);
25@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s
26 for(index = 0; index < size; index++)
27 {
28 (dbf->bucket_cache[index]).ca_bucket
29- = (hash_bucket *) malloc (dbf->header->bucket_size);
30+ = (hash_bucket *) calloc (1, dbf->header->bucket_size);
31 if ((dbf->bucket_cache[index]).ca_bucket == NULL)
32 {
33 gdbm_errno = GDBM_MALLOC_ERROR;
diff --git a/main/git/APKBUILD b/main/git/APKBUILD
index b7bcc93e47..280c8667dc 100644
--- a/main/git/APKBUILD
+++ b/main/git/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=git 2pkgname=git
3pkgver=1.7.9 3pkgver=1.7.9.4
4pkgrel=0 4pkgrel=0
5pkgdesc="GIT - the stupid content tracker" 5pkgdesc="GIT - the stupid content tracker"
6url="http://git.or.cz/" 6url="http://git.or.cz/"
@@ -64,7 +64,7 @@ svn() {
64 mv "$pkgdir"/usr/libexec/git-core/git-svn "$subpkgdir"/usr/libexec/git-core 64 mv "$pkgdir"/usr/libexec/git-core/git-svn "$subpkgdir"/usr/libexec/git-core
65} 65}
66 66
67md5sums="d94314eb49622a945b22595b36b7fc47 git-1.7.9.tar.gz 67md5sums="f1e32b2ec841219e442db9c9ef21c252 git-1.7.9.4.tar.gz
68e63a201556c4f089de790805c09a2e5b bb-tar.patch 68e63a201556c4f089de790805c09a2e5b bb-tar.patch
693f0bdf6ca73bf4f015bc8565ab787969 git-daemon.initd 693f0bdf6ca73bf4f015bc8565ab787969 git-daemon.initd
702258e95d389ccc6de0b5111d53d9eed6 git-daemon.confd" 702258e95d389ccc6de0b5111d53d9eed6 git-daemon.confd"
diff --git a/main/glew/APKBUILD b/main/glew/APKBUILD
index 0e66f4bb59..bafb998f28 100644
--- a/main/glew/APKBUILD
+++ b/main/glew/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=glew 3pkgname=glew
4pkgver=1.7.0 4pkgver=1.7.0
5pkgrel=1 5pkgrel=2
6pkgdesc="A cross-platform C/C++ extension loading library" 6pkgdesc="A cross-platform C/C++ extension loading library"
7url="http://glew.sourceforge.net" 7url="http://glew.sourceforge.net"
8arch="all" 8arch="all"
diff --git a/main/glib-networking/APKBUILD b/main/glib-networking/APKBUILD
index 0d835d9c63..f3ab59676e 100644
--- a/main/glib-networking/APKBUILD
+++ b/main/glib-networking/APKBUILD
@@ -6,13 +6,13 @@ _maj=${pkgver%%.*}
6_min=${pkgver#${_maj}.} 6_min=${pkgver#${_maj}.}
7_min=${_min%%.*} 7_min=${_min%%.*}
8_ver=$_maj.$_min 8_ver=$_maj.$_min
9pkgrel=0 9pkgrel=1
10pkgdesc="Networking support for GLib" 10pkgdesc="Networking support for GLib"
11url="http://www.gnome.org" 11url="http://www.gnome.org"
12arch="all" 12arch="all"
13license="LGPLv2+" 13license="LGPLv2+"
14depends="ca-certificates" 14depends="ca-certificates"
15depends_dev="glib-dev gnutls-dev libproxy-dev intltool" 15depends_dev="glib-dev gnutls-dev libproxy-dev intltool libgcrypt-dev"
16makedepends="$depends_dev bash" 16makedepends="$depends_dev bash"
17install= 17install=
18subpackages="$pkgname-lang" 18subpackages="$pkgname-lang"
diff --git a/main/glproto/APKBUILD b/main/glproto/APKBUILD
index be59fa3690..f0335e68b9 100644
--- a/main/glproto/APKBUILD
+++ b/main/glproto/APKBUILD
@@ -1,10 +1,10 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=glproto 2pkgname=glproto
3pkgver=1.4.14 3pkgver=1.4.15
4pkgrel=0 4pkgrel=0
5pkgdesc="X11 OpenGL extension wire protocol" 5pkgdesc="X11 OpenGL extension wire protocol"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="noarch"
8license="custom" 8license="custom"
9depends="" 9depends=""
10makedepends="" 10makedepends=""
@@ -20,4 +20,4 @@ package() {
20 cd "$srcdir"/$pkgname-$pkgver 20 cd "$srcdir"/$pkgname-$pkgver
21 make DESTDIR="$pkgdir" install || return 1 21 make DESTDIR="$pkgdir" install || return 1
22} 22}
23md5sums="f48257daf0017f7a7667e5bf48ca3578 glproto-1.4.14.tar.bz2" 23md5sums="d1ff0c1acc605689919c1ee2fc9b5582 glproto-1.4.15.tar.bz2"
diff --git a/main/gnokii/APKBUILD b/main/gnokii/APKBUILD
index 1cf052fbf3..3c80b132c9 100644
--- a/main/gnokii/APKBUILD
+++ b/main/gnokii/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gnokii 2pkgname=gnokii
3pkgver=0.6.30 3pkgver=0.6.31
4pkgrel=4 4pkgrel=0
5pkgdesc="Tools and user space driver for use with mobile phones" 5pkgdesc="Tools and user space driver for use with mobile phones"
6url="http://www.gnokii.org/" 6url="http://www.gnokii.org/"
7arch="all" 7arch="all"
@@ -9,18 +9,25 @@ license="GPL"
9depends="" 9depends=""
10subpackages="$pkgname-dev $pkgname-doc $pkgname-libs xgnokii $pkgname-smsd 10subpackages="$pkgname-dev $pkgname-doc $pkgname-libs xgnokii $pkgname-smsd
11 $pkgname-smsd-pgsql:pgsql $pkgname-smsd-mysql:mysql 11 $pkgname-smsd-pgsql:pgsql $pkgname-smsd-mysql:mysql
12 $pkgname-smsd-sqlite:sqlite" 12 $pkgname-smsd-sqlite:sqlite $pkgname-lang"
13 13
14makedepends="gtk+-dev mysql-dev intltool libusb-compat-dev libxpm-dev 14makedepends="gtk+-dev mysql-dev intltool libusb-compat-dev libxpm-dev
15 bluez-dev libical-dev postgresql-dev sqlite-dev" 15 bluez-dev libical-dev postgresql-dev sqlite-dev
16 autoconf automake libtool"
16source="http://www.gnokii.org/download/gnokii/gnokii-$pkgver.tar.bz2 17source="http://www.gnokii.org/download/gnokii/gnokii-$pkgver.tar.bz2
17 gnokii.patch" 18 gnokii.patch
19 xgnokii.patch"
18 20
19_builddir="$srcdir"/$pkgname-$pkgver 21_builddir="$srcdir"/$pkgname-$pkgver
20prepare() { 22prepare() {
21 cd "$_builddir" 23 cd "$_builddir"
24 for i in $source; do
25 case $i in
26 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
27 esac
28 done
29 autoreconf || return 1
22 sed -i 's|cellphone|phone|' xgnokii/xgnokii.desktop.in 30 sed -i 's|cellphone|phone|' xgnokii/xgnokii.desktop.in
23 patch -Np1 -i "$srcdir/gnokii.patch"
24} 31}
25 32
26build() { 33build() {
@@ -30,6 +37,7 @@ build() {
30 --enable-security \ 37 --enable-security \
31 --disable-unix98test \ 38 --disable-unix98test \
32 --disable-phonet \ 39 --disable-phonet \
40 --with-x \
33 || return 1 41 || return 1
34 make 42 make
35} 43}
@@ -80,5 +88,6 @@ sqlite() {
80 mkdir -p "$subpkgdir"/usr/lib/smsd 88 mkdir -p "$subpkgdir"/usr/lib/smsd
81 mv "$pkgdir"/usr/lib/smsd/*sqlite*.so "$subpkgdir"/usr/lib/smsd/ 89 mv "$pkgdir"/usr/lib/smsd/*sqlite*.so "$subpkgdir"/usr/lib/smsd/
82} 90}
83md5sums="c90137d403febbc16712d64f0eb196de gnokii-0.6.30.tar.bz2 91md5sums="d9627f4a1152d3ea7806df4532850d5f gnokii-0.6.31.tar.bz2
844d764727686ee34bc73489c8b1321c82 gnokii.patch" 925de7a1c6a59b740df9d24f5c08cea448 gnokii.patch
936b87d13cb012bfdfd3581d89f42a3cff xgnokii.patch"
diff --git a/main/gnokii/gnokii.patch b/main/gnokii/gnokii.patch
index e64d81aa12..69ca868e3b 100644
--- a/main/gnokii/gnokii.patch
+++ b/main/gnokii/gnokii.patch
@@ -1,10 +1,9 @@
1diff -ur gnokii-0.6.7-old/Docs/sample/gnokiirc gnokii-0.6.7/Docs/sample/gnokiirc 1--- ./Docs/sample/gnokiirc.orig
2--- gnokii-0.6.7-old/Docs/sample/gnokiirc 2005-05-16 20:55:13.000000000 +0200 2+++ ./Docs/sample/gnokiirc
3+++ gnokii-0.6.7/Docs/sample/gnokiirc 2005-06-03 10:49:42.000000000 +0200 3@@ -238,7 +238,7 @@
4@@ -112,7 +112,7 @@ 4 # In particular ensure that mgnokiidev is in this location, with
5 # permissions 4750, owned by root, group gnokii. Ensure you 5 # permissions 4750, owned by root, group gnokii. Ensure you
6 # are in the gnokii group and that the group exists... 6 # are in the gnokii group and that the group exists...
7 [gnokiid]
8-bindir = /usr/local/sbin/ 7-bindir = /usr/local/sbin/
9+bindir = /usr/sbin/ 8+bindir = /usr/sbin/
10 9
diff --git a/main/gnokii/xgnokii.patch b/main/gnokii/xgnokii.patch
new file mode 100644
index 0000000000..b354166139
--- /dev/null
+++ b/main/gnokii/xgnokii.patch
@@ -0,0 +1,11 @@
1--- ./configure.in.orig
2+++ ./configure.in
3@@ -689,7 +689,7 @@
4 fi
5 fi
6
7-AM_CONDITIONAL(XGNOKII, test "x$_support" = "xyes")
8+AM_CONDITIONAL(XGNOKII, test "x$x_support" = "xyes")
9
10 dnl ======================== Check for libsocket
11 AC_CHECK_LIB(socket, socket)
diff --git a/main/gnome-settings-daemon/APKBUILD b/main/gnome-settings-daemon/APKBUILD
index 943a0fe521..64e2a60d6e 100644
--- a/main/gnome-settings-daemon/APKBUILD
+++ b/main/gnome-settings-daemon/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=gnome-settings-daemon 3pkgname=gnome-settings-daemon
4pkgver=2.32.1 4pkgver=2.32.1
5pkgrel=2 5pkgrel=3
6pkgdesc="GNOME settings daemon" 6pkgdesc="GNOME settings daemon"
7url="http://www.gnome.org" 7url="http://www.gnome.org"
8arch="all" 8arch="all"
@@ -30,7 +30,7 @@ depends_dev="gtk+-dev
30 libxklavier-dev" 30 libxklavier-dev"
31makedepends="$depends_dev intltool gobject-introspection-dev" 31makedepends="$depends_dev intltool gobject-introspection-dev"
32install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade" 32install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade"
33subpackages="$pkgname-dev" 33subpackages="$pkgname-dev $pkgname-lang"
34replaces_dev="$pkgname" 34replaces_dev="$pkgname"
35source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" 35source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2"
36 36
diff --git a/main/gnuchess/APKBUILD b/main/gnuchess/APKBUILD
index b700049cca..e3d8e73d57 100644
--- a/main/gnuchess/APKBUILD
+++ b/main/gnuchess/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=gnuchess 3pkgname=gnuchess
4pkgver=6.0.1 4pkgver=6.0.2
5pkgrel=0 5pkgrel=0
6pkgdesc="The GNU chess program" 6pkgdesc="The GNU chess program"
7url="http://www.gnu.org/software/chess/" 7url="http://www.gnu.org/software/chess/"
@@ -40,4 +40,4 @@ package() {
40 make DESTDIR="$pkgdir" install || return 1 40 make DESTDIR="$pkgdir" install || return 1
41} 41}
42 42
43md5sums="041888218f73886f146fa7fbf92190de gnuchess-6.0.1.tar.gz" 43md5sums="566a145479c47f2f9d7d9b7b8119e1b0 gnuchess-6.0.2.tar.gz"
diff --git a/main/gnutls/APKBUILD b/main/gnutls/APKBUILD
index 88d6f83506..0128684dad 100644
--- a/main/gnutls/APKBUILD
+++ b/main/gnutls/APKBUILD
@@ -1,28 +1,26 @@
1# Contributor: Michael Mason <ms13sp@gmail.com> 1# Contributor: Michael Mason <ms13sp@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=gnutls 3pkgname=gnutls
4pkgver=2.12.16 4pkgver=3.0.17
5pkgrel=0 5pkgrel=0
6pkgdesc="A TLS protocol implementation" 6pkgdesc="A TLS protocol implementation"
7url="http://www.gnu.org/software/gnutls/" 7url="http://www.gnu.org/software/gnutls/"
8arch="all" 8arch="all"
9license="GPL" 9license="GPL"
10depends= 10depends=
11depends_dev="libgcrypt-dev libgpg-error-dev zlib-dev libtasn1-dev p11-kit-dev" 11depends_dev="nettle-dev zlib-dev libtasn1-dev p11-kit-dev"
12makedepends="$depends_dev" 12makedepends="$depends_dev"
13install= 13install=
14subpackages="$pkgname-doc $pkgname-dev $pkgname-utils" 14subpackages="$pkgname-doc $pkgname-dev $pkgname-utils $pkgname-c++:xx"
15source="http://ftp.gnu.org/pub/gnu/gnutls/$pkgname-$pkgver.tar.bz2" 15source="http://ftp.gnu.org/pub/gnu/gnutls/$pkgname-$pkgver.tar.xz"
16 16
17build() { 17build() {
18 cd "$srcdir/$pkgname-$pkgver" 18 cd "$srcdir/$pkgname-$pkgver"
19
20 ./configure --prefix=/usr \ 19 ./configure --prefix=/usr \
21 --sysconfdir=/etc \ 20 --sysconfdir=/etc \
22 --mandir=/usr/share/man \ 21 --mandir=/usr/share/man \
23 --infodir=/usr/share/info \ 22 --infodir=/usr/share/info \
24 --with-included-libcfg \ 23 --disable-openssl-compatibility \
25 --with-libgcrypt \
26 --disable-rpath \ 24 --disable-rpath \
27 --disable-static \ 25 --disable-static \
28 || return 1 26 || return 1
@@ -40,4 +38,11 @@ utils() {
40 mkdir -p "$subpkgdir"/usr/ 38 mkdir -p "$subpkgdir"/usr/
41 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 39 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
42} 40}
43md5sums="0414bba9760201f27d66787997cbadfb gnutls-2.12.16.tar.bz2" 41
42xx() {
43 pkgdesc="The C++ interface to GnuTLS"
44 mkdir -p "$subpkgdir"/usr/lib
45 mv "$pkgdir"/usr/lib/lib*xx.so.* "$subpkgdir"/usr/lib/
46}
47
48md5sums="5e87bd73a237749e2acbbb7161f11d5e gnutls-3.0.17.tar.xz"
diff --git a/main/gparted/APKBUILD b/main/gparted/APKBUILD
index 9cee1e6bd2..166f47b2ff 100644
--- a/main/gparted/APKBUILD
+++ b/main/gparted/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gparted 2pkgname=gparted
3pkgver=0.11.0 3pkgver=0.12.0
4pkgrel=0 4pkgrel=0
5pkgdesc="a graphical partition editor for creating, reorganizing, and deleting disk partitions" 5pkgdesc="a graphical partition editor for creating, reorganizing, and deleting disk partitions"
6url="http://gparted.sourceforge.net/" 6url="http://gparted.sourceforge.net/"
@@ -34,4 +34,4 @@ package() {
34 make DESTDIR="$pkgdir" install 34 make DESTDIR="$pkgdir" install
35} 35}
36 36
37md5sums="93db664bad4c5f0c9a1384b7eac7df5c gparted-0.11.0.tar.bz2" 37md5sums="63a24677ff2ef0e62408ba684f233fab gparted-0.12.0.tar.bz2"
diff --git a/testing/gpgme/APKBUILD b/main/gpgme/APKBUILD
index bda11b1ff3..bda11b1ff3 100644
--- a/testing/gpgme/APKBUILD
+++ b/main/gpgme/APKBUILD
diff --git a/main/grep/APKBUILD b/main/grep/APKBUILD
index 9b4c9261d8..0a5442c32d 100644
--- a/main/grep/APKBUILD
+++ b/main/grep/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=grep 3pkgname=grep
4pkgver=2.10 4pkgver=2.10
5pkgrel=0 5pkgrel=1
6pkgdesc="Searches input files for lines containing a match to a specified pattern" 6pkgdesc="Searches input files for lines containing a match to a specified pattern"
7url="http://www.gnu.org/software/grep/grep.html" 7url="http://www.gnu.org/software/grep/grep.html"
8arch="all" 8arch="all"
diff --git a/main/gst-plugins-bad/APKBUILD b/main/gst-plugins-bad/APKBUILD
index e5022f5b74..474cfa5b85 100644
--- a/main/gst-plugins-bad/APKBUILD
+++ b/main/gst-plugins-bad/APKBUILD
@@ -1,12 +1,13 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gst-plugins-bad 2pkgname=gst-plugins-bad
3pkgver=0.10.22 3pkgver=0.10.23
4pkgrel=0 4pkgrel=0
5pkgdesc="GStreamer bad plugins" 5pkgdesc="GStreamer bad plugins"
6url="http://gstreamer.freedesktop.org/" 6url="http://gstreamer.freedesktop.org/"
7arch="all" 7arch="all"
8license="LGPL GPL" 8license="LGPL GPL"
9depends="" 9depends=""
10subpackages="$pkgname-lang"
10makedepends="gst-plugins-base-dev gstreamer-dev xvidcore-dev bzip2-dev 11makedepends="gst-plugins-base-dev gstreamer-dev xvidcore-dev bzip2-dev
11 neon-dev faac-dev libexif-dev faad2-dev glib-dev liboil-dev 12 neon-dev faac-dev libexif-dev faad2-dev glib-dev liboil-dev
12 alsa-lib-dev libx11-dev sdl-dev libvpx-dev libdc1394-dev 13 alsa-lib-dev libx11-dev sdl-dev libvpx-dev libdc1394-dev
@@ -35,4 +36,4 @@ package() {
35 find "$pkgdir" -name '*.la' -delete 36 find "$pkgdir" -name '*.la' -delete
36} 37}
37 38
38md5sums="9a2acee1f386f71247003d0d7090fb1c gst-plugins-bad-0.10.22.tar.bz2" 39md5sums="fcb09798114461955260e4d940db5987 gst-plugins-bad-0.10.23.tar.bz2"
diff --git a/main/gst-plugins-base/APKBUILD b/main/gst-plugins-base/APKBUILD
index da7055ecd6..01c2a3eb39 100644
--- a/main/gst-plugins-base/APKBUILD
+++ b/main/gst-plugins-base/APKBUILD
@@ -1,12 +1,12 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gst-plugins-base 2pkgname=gst-plugins-base
3pkgver=0.10.35 3pkgver=0.10.36
4pkgrel=1 4pkgrel=0
5pkgdesc="GStreamer Multimedia Framework Base Plugins" 5pkgdesc="GStreamer Multimedia Framework Base Plugins"
6url="http://gstreamer.freedesktop.org/" 6url="http://gstreamer.freedesktop.org/"
7arch="all" 7arch="all"
8license="GPL LGPL" 8license="GPL LGPL"
9subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome" 9subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome $pkgname-lang"
10depends= 10depends=
11makedepends="pkgconfig gstreamer-dev alsa-lib-dev libvorbis-dev liboil-dev 11makedepends="pkgconfig gstreamer-dev alsa-lib-dev libvorbis-dev liboil-dev
12 perl libogg-dev gtk+-dev libtheora-dev libice-dev libsm-dev libxv-dev 12 perl libogg-dev gtk+-dev libtheora-dev libice-dev libsm-dev libxv-dev
@@ -52,4 +52,4 @@ gnome() {
52 mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so 52 mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so
53} 53}
54 54
55md5sums="1d300983525f4f09030eb3ba47cb04b0 gst-plugins-base-0.10.35.tar.bz2" 55md5sums="776c73883e567f67b9c4a2847d8d041a gst-plugins-base-0.10.36.tar.bz2"
diff --git a/main/gst-plugins-good/APKBUILD b/main/gst-plugins-good/APKBUILD
index 041f9d08b7..75093f59de 100644
--- a/main/gst-plugins-good/APKBUILD
+++ b/main/gst-plugins-good/APKBUILD
@@ -1,12 +1,12 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gst-plugins-good 2pkgname=gst-plugins-good
3pkgver=0.10.30 3pkgver=0.10.31
4pkgrel=0 4pkgrel=0
5pkgdesc="GStreamer Multimedia Framework Good Plugins" 5pkgdesc="GStreamer Multimedia Framework Good Plugins"
6url="http://gstreamer.freedesktop.org/" 6url="http://gstreamer.freedesktop.org/"
7arch="all" 7arch="all"
8license="LGPL" 8license="LGPL"
9subpackages="$pkgname-gnome" 9subpackages="$pkgname-gnome $pkgname-lang"
10depends= 10depends=
11makedepends="gstreamer-dev glib-dev liboil-dev gst-plugins-base-dev 11makedepends="gstreamer-dev glib-dev liboil-dev gst-plugins-base-dev
12 libsoup-dev flac-dev libogg-dev taglib-dev jpeg-dev zlib-dev gconf-dev 12 libsoup-dev flac-dev libogg-dev taglib-dev jpeg-dev zlib-dev gconf-dev
@@ -56,4 +56,4 @@ gnome() {
56 mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so 56 mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so
57} 57}
58 58
59md5sums="62fd7a3ef187c4f99b3d7c352d58dae9 gst-plugins-good-0.10.30.tar.bz2" 59md5sums="24f98a294a2b521e1b29412bdadae2e6 gst-plugins-good-0.10.31.tar.bz2"
diff --git a/main/gst-plugins-ugly/APKBUILD b/main/gst-plugins-ugly/APKBUILD
index 3cfb90ed68..d5390ddcc5 100644
--- a/main/gst-plugins-ugly/APKBUILD
+++ b/main/gst-plugins-ugly/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gst-plugins-ugly 2pkgname=gst-plugins-ugly
3pkgver=0.10.18 3pkgver=0.10.19
4pkgrel=4 4pkgrel=1
5pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)" 5pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)"
6url="http://gstreamer.freedesktop.org/" 6url="http://gstreamer.freedesktop.org/"
7arch="all" 7arch="all"
@@ -32,4 +32,4 @@ package() {
32 make DESTDIR="$pkgdir" install || return 1 32 make DESTDIR="$pkgdir" install || return 1
33 find "$pkgdir" -name '*.la' -delete 33 find "$pkgdir" -name '*.la' -delete
34} 34}
35md5sums="04a7009a4efea2844075949c111f5e4d gst-plugins-ugly-0.10.18.tar.bz2" 35md5sums="1d81c593e22a6cdf0f2b4f57eae93df2 gst-plugins-ugly-0.10.19.tar.bz2"
diff --git a/main/gstreamer/APKBUILD b/main/gstreamer/APKBUILD
index 790c7c85d3..52bc186229 100644
--- a/main/gstreamer/APKBUILD
+++ b/main/gstreamer/APKBUILD
@@ -1,12 +1,12 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gstreamer 2pkgname=gstreamer
3pkgver=0.10.35 3pkgver=0.10.36
4pkgrel=0 4pkgrel=0
5pkgdesc="GStreamer Multimedia Framework" 5pkgdesc="GStreamer Multimedia Framework"
6url="http://gstreamer.freedesktop.org/" 6url="http://gstreamer.freedesktop.org/"
7arch="all" 7arch="all"
8license="LGPL" 8license="LGPL"
9subpackages="$pkgname-dev $pkgname-doc $pkgname-tools" 9subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-lang"
10depends= 10depends=
11makedepends="pkgconfig libxml2-dev glib-dev bison flex gettext-dev libiconv-dev" 11makedepends="pkgconfig libxml2-dev glib-dev bison flex gettext-dev libiconv-dev"
12source="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.bz2 12source="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.bz2
@@ -55,4 +55,4 @@ tools() {
55 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 55 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
56} 56}
57 57
58md5sums="4a0a00edad7a2c83de5211ca679dfaf9 gstreamer-0.10.35.tar.bz2" 58md5sums="a0cf7d6877f694a1a2ad2b4d1ecb890b gstreamer-0.10.36.tar.bz2"
diff --git a/main/gtk+3.0/APKBUILD b/main/gtk+3.0/APKBUILD
index 4d2b7dba92..9d6dacaadc 100644
--- a/main/gtk+3.0/APKBUILD
+++ b/main/gtk+3.0/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gtk+3.0 2pkgname=gtk+3.0
3pkgver=3.2.3 3pkgver=3.2.4
4pkgrel=0 4pkgrel=1
5pkgdesc="The GTK+ Toolkit (v3)" 5pkgdesc="The GTK+ Toolkit (v3)"
6url="http://www.gtk.org/" 6url="http://www.gtk.org/"
7install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall" 7install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall"
@@ -52,9 +52,7 @@ build() {
52 ./configure --prefix=/usr \ 52 ./configure --prefix=/usr \
53 --sysconfdir=/etc \ 53 --sysconfdir=/etc \
54 --localstatedir=/var \ 54 --localstatedir=/var \
55 --with-xinput=yes \ 55 || return 1
56 --without-libjasper \
57 --with-included-loaders=png || return 1
58 make || return 1 56 make || return 1
59} 57}
60 58
@@ -67,4 +65,4 @@ package() {
67 find "$pkgdir" -name *.la -delete 65 find "$pkgdir" -name *.la -delete
68} 66}
69 67
70md5sums="b4edcc69e39159dd7be17828249afb46 gtk+-3.2.3.tar.xz" 68md5sums="3fe73e4af079b7e891ca417faed71139 gtk+-3.2.4.tar.xz"
diff --git a/main/gtk-vnc/APKBUILD b/main/gtk-vnc/APKBUILD
index f653c5a4b8..fbafad40ee 100644
--- a/main/gtk-vnc/APKBUILD
+++ b/main/gtk-vnc/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=gtk-vnc 2pkgname=gtk-vnc
3pkgver=0.4.4 3pkgver=0.4.4
4pkgrel=0 4pkgrel=1
5pkgdesc="A VNC viewer widget for GTK" 5pkgdesc="A VNC viewer widget for GTK"
6url="http://live.gnome.org/gtk-vnc" 6url="http://live.gnome.org/gtk-vnc"
7arch="all" 7arch="all"
diff --git a/main/gtkglext/APKBUILD b/main/gtkglext/APKBUILD
index 1b494b6fc0..a9636714ea 100644
--- a/main/gtkglext/APKBUILD
+++ b/main/gtkglext/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=gtkglext 3pkgname=gtkglext
4pkgver=1.2.0 4pkgver=1.2.0
5pkgrel=5 5pkgrel=6
6pkgdesc="GTK+ OpenGL Extension" 6pkgdesc="GTK+ OpenGL Extension"
7url="http://projects.gnome.org/gtkglext/" 7url="http://projects.gnome.org/gtkglext/"
8arch="all" 8arch="all"
diff --git a/main/haproxy/APKBUILD b/main/haproxy/APKBUILD
index 6945f6650a..6e3104ec04 100644
--- a/main/haproxy/APKBUILD
+++ b/main/haproxy/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=haproxy 3pkgname=haproxy
4pkgver=1.4.18 4pkgver=1.4.18
5pkgrel=1 5pkgrel=2
6pkgdesc="A TCP/HTTP reverse proxy for high availability environments" 6pkgdesc="A TCP/HTTP reverse proxy for high availability environments"
7url="http://haproxy.1wt.eu" 7url="http://haproxy.1wt.eu"
8arch="all" 8arch="all"
diff --git a/main/hdparm/APKBUILD b/main/hdparm/APKBUILD
index c43cee87d2..311f983879 100644
--- a/main/hdparm/APKBUILD
+++ b/main/hdparm/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=hdparm 2pkgname=hdparm
3pkgver=9.38 3pkgver=9.39
4pkgrel=0 4pkgrel=0
5pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" 5pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters"
6url="http://sourceforge.net/projects/hdparm/" 6url="http://sourceforge.net/projects/hdparm/"
@@ -25,4 +25,4 @@ package() {
25 install -m755 contrib/ultrabayd "$pkgdir"/sbin || return 1 25 install -m755 contrib/ultrabayd "$pkgdir"/sbin || return 1
26 install -D -m 644 LICENSE.TXT $pkgdir/usr/share/licenses/hdparm/LICENSE.TXT || return 1 26 install -D -m 644 LICENSE.TXT $pkgdir/usr/share/licenses/hdparm/LICENSE.TXT || return 1
27} 27}
28md5sums="915e74685e2f25eaebe6a26c5d7ca700 hdparm-9.38.tar.gz" 28md5sums="2bc17b72403885d4faf959682944243b hdparm-9.39.tar.gz"
diff --git a/main/hypermail/APKBUILD b/main/hypermail/APKBUILD
index 0ea60140ae..5a6824d856 100644
--- a/main/hypermail/APKBUILD
+++ b/main/hypermail/APKBUILD
@@ -3,7 +3,7 @@
3 3
4pkgname=hypermail 4pkgname=hypermail
5pkgver=2.3.0 5pkgver=2.3.0
6pkgrel=1 6pkgrel=3
7pkgdesc="Mail Archiver" 7pkgdesc="Mail Archiver"
8url="http://www.hypermail-project.org" 8url="http://www.hypermail-project.org"
9arch="all" 9arch="all"
diff --git a/main/icedtea-web/APKBUILD b/main/icedtea-web/APKBUILD
index fe6f369510..5a4533a66e 100644
--- a/main/icedtea-web/APKBUILD
+++ b/main/icedtea-web/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=icedtea-web 3pkgname=icedtea-web
4pkgver=1.1.3 4pkgver=1.2
5pkgrel=0 5pkgrel=0
6pkgdesc="web integration packages for icedtea" 6pkgdesc="web integration packages for icedtea"
7url="http://icedtea.classpath.org/wiki/IcedTea-Web" 7url="http://icedtea.classpath.org/wiki/IcedTea-Web"
@@ -12,9 +12,8 @@ depends_dev="xulrunner-dev openjdk6 gtk+-dev nspr-dev"
12makedepends="tar zip $depends_dev" 12makedepends="tar zip $depends_dev"
13install="" 13install=""
14subpackages="$pkgname-mozilla $pkgname-doc" 14subpackages="$pkgname-mozilla $pkgname-doc"
15source="http://icedtea.classpath.org/download/source/icedtea-web-$pkgver.tar.gz" 15source="http://icedtea.classpath.org/download/source/icedtea-web-$pkgver.tar.gz
16 16 "
17CPU=`uname -m | sed -e 's/i.86/i386/g' -e 's/x86_64/amd64/g'`
18 17
19_builddir="$srcdir"/icedtea-web-$pkgver 18_builddir="$srcdir"/icedtea-web-$pkgver
20prepare() { 19prepare() {
@@ -43,7 +42,7 @@ build() {
43 42
44package() { 43package() {
45 cd "$_builddir" 44 cd "$_builddir"
46 make DESTDIR="$pkgdir" install || return 1 45 make -j1 DESTDIR="$pkgdir" install || return 1
47} 46}
48 47
49mozilla() { 48mozilla() {
@@ -56,4 +55,4 @@ mozilla() {
56 return 0 55 return 0
57} 56}
58 57
59md5sums="0e2e653c7436d81edcbc1d4255571ab6 icedtea-web-1.1.3.tar.gz" 58md5sums="8f50cfb1b65d620a7812b5976f394598 icedtea-web-1.2.tar.gz"
diff --git a/main/imagemagick/APKBUILD b/main/imagemagick/APKBUILD
index b32a989ea4..7eb0d34e5a 100644
--- a/main/imagemagick/APKBUILD
+++ b/main/imagemagick/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=imagemagick 3pkgname=imagemagick
4pkgver=6.7.5.6 4pkgver=6.7.6.0
5_abiver=5 5_abiver=5
6_pkgver=${pkgver%.*}-${pkgver##*.} 6_pkgver=${pkgver%.*}-${pkgver##*.}
7pkgrel=0 7pkgrel=0
@@ -63,4 +63,4 @@ _cxx() {
63 mv "$pkgdir"/usr/lib/libMagick++.so.* "$subpkgdir"/usr/lib/ 63 mv "$pkgdir"/usr/lib/libMagick++.so.* "$subpkgdir"/usr/lib/
64} 64}
65 65
66md5sums="dc9f1cc4ef2517099d0fbc592a19543f ImageMagick-6.7.5-6.tar.xz" 66md5sums="546ed0fc09435a817837b3e0fd6e307c ImageMagick-6.7.6-0.tar.xz"
diff --git a/main/inkscape/APKBUILD b/main/inkscape/APKBUILD
index 23ac796be2..d43c964637 100644
--- a/main/inkscape/APKBUILD
+++ b/main/inkscape/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=inkscape 2pkgname=inkscape
3pkgver=0.48.2 3pkgver=0.48.3.1
4pkgrel=4 4pkgrel=0
5pkgdesc="A vector-based drawing program - svg compliant" 5pkgdesc="A vector-based drawing program - svg compliant"
6url="http://inkscape.sourceforge.net/" 6url="http://inkscape.sourceforge.net/"
7arch="all" 7arch="all"
@@ -20,6 +20,7 @@ lcms-dev
20libxml2-dev 20libxml2-dev
21boost-dev 21boost-dev
22autoconf automake 22autoconf automake
23tar
23" 24"
24depends="desktop-file-utils" 25depends="desktop-file-utils"
25install= 26install=
@@ -57,5 +58,5 @@ package() {
57 cd "$_builddir" 58 cd "$_builddir"
58 make DESTDIR="$pkgdir" install || return 1 59 make DESTDIR="$pkgdir" install || return 1
59} 60}
60md5sums="889dcffb2fc72ea8522ca4bed95427e1 inkscape-0.48.2.tar.gz 61md5sums="ccf8ccd9e66199badb8c35ea3851a888 inkscape-0.48.3.1.tar.gz
61c2d1392e6489af822cb4b41ce3af877b inkscape-png15.patch" 62c2d1392e6489af822cb4b41ce3af877b inkscape-png15.patch"
diff --git a/main/inputproto/APKBUILD b/main/inputproto/APKBUILD
index 2cd469843e..ef9f27c0bd 100644
--- a/main/inputproto/APKBUILD
+++ b/main/inputproto/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=inputproto 2pkgname=inputproto
3pkgver=2.0.2 3pkgver=2.2
4pkgrel=0 4pkgrel=0
5pkgdesc="X11 Input extension wire protocol" 5pkgdesc="X11 Input extension wire protocol"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
@@ -20,4 +20,4 @@ package() {
20 install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname 20 install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname
21 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 21 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
22} 22}
23md5sums="07d54ae098ed4e6dce472f6ef3de05ce inputproto-2.0.2.tar.bz2" 23md5sums="13c8aedaf98a92e282b7e456c0a5bed9 inputproto-2.2.tar.bz2"
diff --git a/main/intltool/APKBUILD b/main/intltool/APKBUILD
index b97a3cdcac..91844e4346 100644
--- a/main/intltool/APKBUILD
+++ b/main/intltool/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=intltool 2pkgname=intltool
3pkgver=0.50.0 3pkgver=0.50.1
4pkgrel=0 4pkgrel=0
5pkgdesc="The internationalization tool collection" 5pkgdesc="The internationalization tool collection"
6url="http://freedesktop.org/wiki/Software/intltool" 6url="http://freedesktop.org/wiki/Software/intltool"
@@ -20,4 +20,4 @@ package() {
20 cd "$srcdir"/$pkgname-$pkgver 20 cd "$srcdir"/$pkgname-$pkgver
21 make DESTDIR="$pkgdir" install || return 1 21 make DESTDIR="$pkgdir" install || return 1
22} 22}
23md5sums="0da9847a60391ca653df35123b1f7cc0 intltool-0.50.0.tar.gz" 23md5sums="892f9a3e809b55b7c6c8ceae4f1188d6 intltool-0.50.1.tar.gz"
diff --git a/main/iptables/APKBUILD b/main/iptables/APKBUILD
index 360dbd483c..6ec37c0e98 100644
--- a/main/iptables/APKBUILD
+++ b/main/iptables/APKBUILD
@@ -2,7 +2,7 @@
2 2
3pkgname=iptables 3pkgname=iptables
4pkgver=1.4.12.2 4pkgver=1.4.12.2
5pkgrel=1 5pkgrel=3
6pkgdesc="Linux kernel firewall, NAT and packet mangling tools" 6pkgdesc="Linux kernel firewall, NAT and packet mangling tools"
7url="http://www.iptables.org/" 7url="http://www.iptables.org/"
8arch="all" 8arch="all"
@@ -25,6 +25,8 @@ prepare() {
25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
26 esac 26 esac
27 done 27 done
28 sed -i -e '/if_packet/i#define __aligned_u64 __u64 __attribute__((aligned(8)))' \
29 extensions/libxt_pkttype.c || return 1
28} 30}
29 31
30build() { 32build() {
@@ -58,25 +60,26 @@ package() {
58 install -m644 libiptc/libiptc.a "$pkgdir"/usr/lib 60 install -m644 libiptc/libiptc.a "$pkgdir"/usr/lib
59 install -m755 "$startdir"/iptables.initd "$pkgdir"/etc/init.d/iptables 61 install -m755 "$startdir"/iptables.initd "$pkgdir"/etc/init.d/iptables
60 install -m644 "$startdir"/iptables.confd "$pkgdir"/etc/conf.d/iptables 62 install -m644 "$startdir"/iptables.confd "$pkgdir"/etc/conf.d/iptables
61 install -m644 "$startdir"/ip6tables.confd "$pkgdir"/etc/conf.d/ip6tables
62} 63}
63 64
64ip6tables() { 65ip6tables() {
65 depends="iptables" 66 depends="iptables"
66 mkdir -p "$subpkgdir"/sbin \ 67 mkdir -p "$subpkgdir"/sbin \
67 "$subpkgdir"/etc/init.d/ \ 68 "$subpkgdir"/etc/init.d/ \
69 "$subpkgdir"/etc/conf.d \
68 "$subpkgdir"/var/lib/ip6tables \ 70 "$subpkgdir"/var/lib/ip6tables \
69 "$subpkgdir"/usr/libexec/xtables 71 "$subpkgdir"/usr/lib/xtables
70 72
71 mv "$pkgdir"/sbin/ip6* "$subpkgdir"/sbin/ 73 mv "$pkgdir"/sbin/ip6* "$subpkgdir"/sbin/
72 mv "$pkgdir"/usr/libexec/xtables/libip6* \ 74 mv "$pkgdir"/usr/lib/xtables/libip6* \
73 "$subpkgdir"/usr/libexec/xtables/ 75 "$subpkgdir"/usr/lib/xtables/
74 install -m755 "$startdir"/iptables.initd \ 76 install -m755 "$startdir"/iptables.initd \
75 "$subpkgdir"/etc/init.d/ip6tables 77 "$subpkgdir"/etc/init.d/ip6tables
78 install -m644 "$startdir"/ip6tables.confd "$subpkgdir"/etc/conf.d/ip6tables
76} 79}
77 80
78md5sums="212112389c7f10c72efb31a4ed193a4c iptables-1.4.12.2.tar.bz2 81md5sums="212112389c7f10c72efb31a4ed193a4c iptables-1.4.12.2.tar.bz2
79ec3e80a1b0ea3e13e4e60824b7ebd1b9 iptables-1.4.2-include-in.patch 82ec3e80a1b0ea3e13e4e60824b7ebd1b9 iptables-1.4.2-include-in.patch
80375c4431c6c7a67da28ef9c470fc7e47 iptables.initd 83f73fb9a0b9fe42a19d1109b415d86c9c iptables.initd
812ae5c23689c65ed7e827802c47acd426 iptables.confd 84c91286c54f8fe0de6ed8950f375cb7a5 iptables.confd
8291933090bd9d493c91dcffc0221def61 ip6tables.confd" 85d3f37ebc2cd3fbfc326c3a8df5a79e11 ip6tables.confd"
diff --git a/main/iptables/ip6tables.confd b/main/iptables/ip6tables.confd
index 6a8d94c75c..1fa63f33a6 100644
--- a/main/iptables/ip6tables.confd
+++ b/main/iptables/ip6tables.confd
@@ -2,10 +2,13 @@
2 2
3# Location in which ip6tables initscript will save set rules on 3# Location in which ip6tables initscript will save set rules on
4# service shutdown 4# service shutdown
5IP6TABLES_SAVE="/var/lib/ip6tables/rules-save" 5IP6TABLES_SAVE="/etc/iptables/rules6-save"
6 6
7# Options to pass to ip6tables-save and ip6tables-restore 7# Options to pass to ip6tables-save and ip6tables-restore
8SAVE_RESTORE_OPTIONS="-c" 8SAVE_RESTORE_OPTIONS="-c"
9 9
10# Save state on stopping iptables 10# Save state on stopping iptables
11SAVE_ON_STOP="yes" 11SAVE_ON_STOP="yes"
12
13# Enable/disable IPv6 forwarding with the rules
14IPFORWARD="no"
diff --git a/main/iptables/iptables.confd b/main/iptables/iptables.confd
index 270c8d4cb5..c9e5a685ce 100644
--- a/main/iptables/iptables.confd
+++ b/main/iptables/iptables.confd
@@ -9,3 +9,6 @@ SAVE_RESTORE_OPTIONS="-c"
9 9
10# Save state on stopping iptables 10# Save state on stopping iptables
11SAVE_ON_STOP="yes" 11SAVE_ON_STOP="yes"
12
13# Enable/disable IPv4 forwarding with the rules
14IPFORWARD="no"
diff --git a/main/iptables/iptables.initd b/main/iptables/iptables.initd
index 6054af6e65..fa10476ce1 100644
--- a/main/iptables/iptables.initd
+++ b/main/iptables/iptables.initd
@@ -14,15 +14,18 @@ fi
14iptables_bin="/sbin/${iptables_name}" 14iptables_bin="/sbin/${iptables_name}"
15case ${iptables_name} in 15case ${iptables_name} in
16 iptables) iptables_proc="/proc/net/ip_tables_names" 16 iptables) iptables_proc="/proc/net/ip_tables_names"
17 iptables_save=${IPTABLES_SAVE};; 17 iptables_save=${IPTABLES_SAVE}
18 sysctl_ipfwd=net.ipv4.ip_forward;;
18 ip6tables) iptables_proc="/proc/net/ip6_tables_names" 19 ip6tables) iptables_proc="/proc/net/ip6_tables_names"
19 iptables_save=${IP6TABLES_SAVE};; 20 iptables_save=${IP6TABLES_SAVE}
21 sysctl_ipfwd=net.ipv6.conf.all.forwarding;;
20esac 22esac
21 23
22depend() { 24depend() {
23 before net 25 before net
26 after sysctl
24 use logger 27 use logger
25 provides firewall 28 provide firewall
26} 29}
27 30
28set_table_policy() { 31set_table_policy() {
@@ -61,10 +64,20 @@ start() {
61 ebegin "Loading ${iptables_name} state and starting firewall" 64 ebegin "Loading ${iptables_name} state and starting firewall"
62 ${iptables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${iptables_save}" 65 ${iptables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${iptables_save}"
63 eend $? 66 eend $?
67 if yesno "${IPFORWARD}"; then
68 ebegin "Enabling forwarding"
69 /sbin/sysctl -w ${sysctl_ipfwd}=1 > /dev/null
70 eend $?
71 fi
64} 72}
65 73
66stop() { 74stop() {
67 if [ "${SAVE_ON_STOP}" = "yes" ] ; then 75 if yesno "${IPFORWARD}"; then
76 ebegin "Disabling forwarding"
77 /sbin/sysctl -w ${sysctl_ipfwd}=0 > /dev/null
78 eend $?
79 fi
80 if yesno "${SAVE_ON_STOP}"; then
68 save || return 1 81 save || return 1
69 fi 82 fi
70 checkkernel || return 1 83 checkkernel || return 1
diff --git a/main/iw/APKBUILD b/main/iw/APKBUILD
index 85f4435e82..76200dc430 100644
--- a/main/iw/APKBUILD
+++ b/main/iw/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=iw 2pkgname=iw
3pkgver=0.9.22 3pkgver=3.3
4pkgrel=0 4pkgrel=0
5pkgdesc="nl80211 based CLI configuration utility for wireless devices" 5pkgdesc="nl80211 based CLI configuration utility for wireless devices"
6url="http://wireless.kernel.org/en/users/Documentation/iw" 6url="http://wireless.kernel.org/en/users/Documentation/iw"
@@ -34,5 +34,5 @@ package() {
34 make DESTDIR="$pkgdir" install || return 1 34 make DESTDIR="$pkgdir" install || return 1
35} 35}
36 36
37md5sums="561c2602c5ce7c65a590118286c0892a iw-0.9.22.tar.bz2 37md5sums="146ad14cdeb39fb88b21efdbb28787d1 iw-3.3.tar.bz2
38779d0e73df6e484c071149c9fb720551 iw-git-version.patch" 38779d0e73df6e484c071149c9fb720551 iw-git-version.patch"
diff --git a/main/kamailio/APKBUILD b/main/kamailio/APKBUILD
index c3f39744bd..3e7f658363 100644
--- a/main/kamailio/APKBUILD
+++ b/main/kamailio/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Nathan Angelacos <nangel@alpinelinux.org> 2# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
3pkgname=kamailio 3pkgname=kamailio
4pkgver=3.2.2 4pkgver=3.2.2
5pkgrel=0 5pkgrel=3
6pkgdesc="Open Source SIP Proxy" 6pkgdesc="Open Source SIP Proxy"
7url="http://www.kamailio.org/" 7url="http://www.kamailio.org/"
8pkgusers="kamailio" 8pkgusers="kamailio"
@@ -204,4 +204,4 @@ md5sums="cca87a104b7fad204145cda536009a36 kamailio-3.2.2_src.tar.gz
20453cca39c47399eb2df20a1044d1e29eb fix-sql-module-loading-order.patch 20453cca39c47399eb2df20a1044d1e29eb fix-sql-module-loading-order.patch
2053822db06b5226b5e2adc7ae7077dfaf2 kamailio-3.2-backslash.patch 2053822db06b5226b5e2adc7ae7077dfaf2 kamailio-3.2-backslash.patch
206a3c959ec568c43a905710e7d25cd8c25 kamailio.cfg 206a3c959ec568c43a905710e7d25cd8c25 kamailio.cfg
207c0dc4e13d9e57feb99f016d3ee443c0b kamailio.initd" 2079c190575e28772a784c4172216d85333 kamailio.initd"
diff --git a/main/kamailio/kamailio.initd b/main/kamailio/kamailio.initd
index 98ba6c761d..a99992edf9 100644
--- a/main/kamailio/kamailio.initd
+++ b/main/kamailio/kamailio.initd
@@ -3,7 +3,7 @@
3daemon=/usr/sbin/kamailio 3daemon=/usr/sbin/kamailio
4pidfile=/var/run/kamailio/kamailio.pid 4pidfile=/var/run/kamailio/kamailio.pid
5 5
6opts="reload" 6extra_started_commands="reload"
7 7
8depend() { 8depend() {
9 need net 9 need net
diff --git a/main/lame/APKBUILD b/main/lame/APKBUILD
index aaa9e533ff..7240e15911 100644
--- a/main/lame/APKBUILD
+++ b/main/lame/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=lame 2pkgname=lame
3pkgver=3.99.4 3pkgver=3.99.5
4_ver=${pkgver%.*} 4_ver=${pkgver%.*}
5pkgrel=0 5pkgrel=0
6pkgdesc="An MP3 encoder and graphical frame analyzer" 6pkgdesc="An MP3 encoder and graphical frame analyzer"
@@ -53,4 +53,4 @@ package() {
53 fi 53 fi
54} 54}
55 55
56md5sums="e54d7847bfd01f18d56c07e65147d75a lame-3.99.4.tar.gz" 56md5sums="84835b313d4a8b68f5349816d33e07ce lame-3.99.5.tar.gz"
diff --git a/main/libcdio/APKBUILD b/main/libcdio/APKBUILD
index 5931a87a19..dad397e15e 100644
--- a/main/libcdio/APKBUILD
+++ b/main/libcdio/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Carlo Landmeter 1# Contributor: Carlo Landmeter
2# Maintainer: 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=libcdio 3pkgname=libcdio
4pkgver=0.82 4pkgver=0.83
5pkgrel=2 5pkgrel=0
6pkgdesc="GNU Compact Disc Input and Control Library" 6pkgdesc="GNU Compact Disc Input and Control Library"
7url="http://www.gnu.org/software/libcdio/" 7url="http://www.gnu.org/software/libcdio/"
8arch="all" 8arch="all"
@@ -13,7 +13,7 @@ if [ "$ALPINE_LIBC" != "eglibc" ]; then
13 makedepends="$makedepends libiconv-dev" 13 makedepends="$makedepends libiconv-dev"
14fi 14fi
15install= 15install=
16subpackages="$pkgname-dev $pkgname-doc" 16subpackages="$pkgname-dev $pkgname-doc $pkgname-tools ${pkgname}++:_cpp"
17source="http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz" 17source="http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz"
18 18
19_builddir="$srcdir"/$pkgname-$pkgver 19_builddir="$srcdir"/$pkgname-$pkgver
@@ -30,7 +30,9 @@ build() {
30 --mandir=/usr/share/man \ 30 --mandir=/usr/share/man \
31 --infodir=/usr/share/info \ 31 --infodir=/usr/share/info \
32 --disable-vcd-info \ 32 --disable-vcd-info \
33 --enable-cpp-progs 33 --disable-static \
34 --disable-rpath \
35 --disable-cpp-progs
34 make || return 1 36 make || return 1
35} 37}
36 38
@@ -40,4 +42,16 @@ package() {
40 rm "$pkgdir"/usr/lib/*.la 42 rm "$pkgdir"/usr/lib/*.la
41} 43}
42 44
43md5sums="1c29b18e01ab2b966162bc727bf3c360 libcdio-0.82.tar.gz" 45tools() {
46 pkgdesc="libcdio example tools"
47 install -d "$subpkgdir"/usr
48 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
49}
50
51_cpp() {
52 pkgdesc="libcdio bindings for C++"
53 install -d "$subpkgdir"/usr/lib
54 mv "$pkgdir"/usr/lib/*++.* "$subpkgdir"/usr/lib/
55}
56
57md5sums="b9e0f1bccb142e697cd834fe56b6e6fb libcdio-0.83.tar.gz"
diff --git a/main/libcroco/APKBUILD b/main/libcroco/APKBUILD
index 693a74b528..4db655b55a 100644
--- a/main/libcroco/APKBUILD
+++ b/main/libcroco/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libcroco 2pkgname=libcroco
3pkgver=0.6.3 3pkgver=0.6.4
4pkgrel=0 4pkgrel=0
5pkgdesc="GNOME CSS2 parsing and manipulation toolkit" 5pkgdesc="GNOME CSS2 parsing and manipulation toolkit"
6url="http://www.gnome.org" 6url="http://www.gnome.org"
@@ -9,7 +9,7 @@ license="LGPL"
9subpackages="$pkgname-dev" 9subpackages="$pkgname-dev"
10depends= 10depends=
11makedepends="glib-dev libxml2-dev pkgconfig" 11makedepends="glib-dev libxml2-dev pkgconfig"
12source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/0.6/$pkgname-$pkgver.tar.bz2" 12source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/0.6/$pkgname-$pkgver.tar.xz"
13 13
14depends_dev="glib-dev libxml2-dev pkgconfig" 14depends_dev="glib-dev libxml2-dev pkgconfig"
15 15
@@ -25,4 +25,4 @@ package() {
25 make DESTDIR="$pkgdir" install || return 1 25 make DESTDIR="$pkgdir" install || return 1
26 rm "$pkgdir"/usr/lib/*.la || return 1 26 rm "$pkgdir"/usr/lib/*.la || return 1
27} 27}
28md5sums="e1e93eeff4367c896f3959af34ba20eb libcroco-0.6.3.tar.bz2" 28md5sums="d49c20f1e9d9c85ac55429cd952af909 libcroco-0.6.4.tar.xz"
diff --git a/testing/libdvdnav/APKBUILD b/main/libdvdnav/APKBUILD
index e0a9e052a2..e0a9e052a2 100644
--- a/testing/libdvdnav/APKBUILD
+++ b/main/libdvdnav/APKBUILD
diff --git a/testing/libdvdread/APKBUILD b/main/libdvdread/APKBUILD
index 872c48e523..872c48e523 100644
--- a/testing/libdvdread/APKBUILD
+++ b/main/libdvdread/APKBUILD
diff --git a/testing/libebml/APKBUILD b/main/libebml/APKBUILD
index 4f88ee46e9..4f88ee46e9 100644
--- a/testing/libebml/APKBUILD
+++ b/main/libebml/APKBUILD
diff --git a/main/libev/APKBUILD b/main/libev/APKBUILD
index 83afe50a0d..dac739b571 100644
--- a/main/libev/APKBUILD
+++ b/main/libev/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=libev 3pkgname=libev
4pkgver=4.04 4pkgver=4.11
5pkgrel=1 5pkgrel=0
6pkgdesc="event dispatch library" 6pkgdesc="event dispatch library"
7url="http://libev.schmorp.de/" 7url="http://libev.schmorp.de/"
8arch="all" 8arch="all"
@@ -39,4 +39,4 @@ package() {
39 "$pkgdir"/usr/lib/*.la 39 "$pkgdir"/usr/lib/*.la
40} 40}
41 41
42md5sums="c1130d0a4782681ba5277df1bc3fb335 libev-4.04.tar.gz" 42md5sums="cda69b858a1849dfe6ce17c930cf10cd libev-4.11.tar.gz"
diff --git a/main/libevent/APKBUILD b/main/libevent/APKBUILD
index 5260417bdf..45e48c5ff3 100644
--- a/main/libevent/APKBUILD
+++ b/main/libevent/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libevent 2pkgname=libevent
3pkgver=2.0.16 3pkgver=2.0.17
4pkgrel=0 4pkgrel=0
5pkgdesc="An event notification library" 5pkgdesc="An event notification library"
6url="http://www.monkey.org/~provos/libevent/" 6url="http://www.monkey.org/~provos/libevent/"
@@ -24,4 +24,4 @@ package() {
24 make -j1 DESTDIR=$pkgdir install || return 1 24 make -j1 DESTDIR=$pkgdir install || return 1
25 rm "$pkgdir"/usr/lib/*.la 25 rm "$pkgdir"/usr/lib/*.la
26} 26}
27md5sums="899efcffccdb3d5111419df76e7dc8df libevent-2.0.16-stable.tar.gz" 27md5sums="dad64aaaaff16b5fbec25160c06fee9a libevent-2.0.17-stable.tar.gz"
diff --git a/main/libfontenc/APKBUILD b/main/libfontenc/APKBUILD
index c352715c90..24664d62e7 100644
--- a/main/libfontenc/APKBUILD
+++ b/main/libfontenc/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libfontenc 2pkgname=libfontenc
3pkgver=1.1.0 3pkgver=1.1.1
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 font encoding library" 5pkgdesc="X11 font encoding library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 make DESTDIR="$pkgdir" install || return 1 26 make DESTDIR="$pkgdir" install || return 1
27 rm "$pkgdir"/usr/lib/*.la 27 rm "$pkgdir"/usr/lib/*.la
28} 28}
29md5sums="11d3c292f05a90f6f67840a9e9c3d9b8 libfontenc-1.1.0.tar.bz2" 29md5sums="a2a861f142c3b4367f14fc14239fc1f7 libfontenc-1.1.1.tar.bz2"
diff --git a/main/libgphoto2/APKBUILD b/main/libgphoto2/APKBUILD
index 49ee12a498..2e33635748 100644
--- a/main/libgphoto2/APKBUILD
+++ b/main/libgphoto2/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libgphoto2 2pkgname=libgphoto2
3pkgver=2.4.11 3pkgver=2.4.13
4pkgrel=0 4pkgrel=0
5pkgdesc="The core library of gphoto2, designed to allow access to digital camera by external programs." 5pkgdesc="The core library of gphoto2, designed to allow access to digital camera by external programs."
6url="http://www.gphoto.org" 6url="http://www.gphoto.org"
@@ -39,4 +39,4 @@ package() {
39 "$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 39 "$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
40} 40}
41 41
42md5sums="16a22b9739e45a95980ed62705fe7333 libgphoto2-2.4.11.tar.bz2" 42md5sums="d20a32fe2bb7d802a6a8c3b6f7f97c5e libgphoto2-2.4.13.tar.bz2"
diff --git a/main/libgweather/APKBUILD b/main/libgweather/APKBUILD
index cb0fd1e7a9..2a9a553dc1 100644
--- a/main/libgweather/APKBUILD
+++ b/main/libgweather/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: 2# Maintainer:
3pkgname=libgweather 3pkgname=libgweather
4pkgver=2.30.3 4pkgver=2.30.3
5pkgrel=1 5pkgrel=2
6pkgdesc="GNOME weather library" 6pkgdesc="GNOME weather library"
7url="http://www.gnome.org/" 7url="http://www.gnome.org/"
8arch="all" 8arch="all"
diff --git a/main/libice/APKBUILD b/main/libice/APKBUILD
index 3ad148eba4..9bf4fbb1fc 100644
--- a/main/libice/APKBUILD
+++ b/main/libice/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libice 2pkgname=libice
3pkgver=1.0.7 3pkgver=1.0.8
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Inter-Client Exchange library" 5pkgdesc="X11 Inter-Client Exchange library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -24,4 +24,4 @@ package() {
24 make DESTDIR="$pkgdir" install || return 1 24 make DESTDIR="$pkgdir" install || return 1
25 rm "$pkgdir"/usr/lib/*.la || return 1 25 rm "$pkgdir"/usr/lib/*.la || return 1
26} 26}
27md5sums="bb72a732b15e9dc25c3036559387eed5 libICE-1.0.7.tar.bz2" 27md5sums="471b5ca9f5562ac0d6eac7a0bf650738 libICE-1.0.8.tar.bz2"
diff --git a/testing/libmatroska/APKBUILD b/main/libmatroska/APKBUILD
index d0112705d7..d0112705d7 100644
--- a/testing/libmatroska/APKBUILD
+++ b/main/libmatroska/APKBUILD
diff --git a/testing/libmp3splt/APKBUILD b/main/libmp3splt/APKBUILD
index 997af85906..649e19194e 100644
--- a/testing/libmp3splt/APKBUILD
+++ b/main/libmp3splt/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=libmp3splt 3pkgname=libmp3splt
4pkgver=0.7 4pkgver=0.7.1
5pkgrel=1 5pkgrel=0
6pkgdesc="Library to split mp3 and ogg files without decoding" 6pkgdesc="Library to split mp3 and ogg files without decoding"
7url="http://mp3splt.sourceforge.net/" 7url="http://mp3splt.sourceforge.net/"
8arch="all" 8arch="all"
@@ -41,4 +41,4 @@ package() {
41 "$pkgdir"/usr/lib/libmp3splt/*.la 41 "$pkgdir"/usr/lib/libmp3splt/*.la
42} 42}
43 43
44md5sums="dadb166361e2a28955032a1b9f10ed38 libmp3splt-0.7.tar.gz" 44md5sums="62025951f483334f14f1b9be58162094 libmp3splt-0.7.1.tar.gz"
diff --git a/main/libmpdclient/APKBUILD b/main/libmpdclient/APKBUILD
index 103ba3e111..533796e98a 100644
--- a/main/libmpdclient/APKBUILD
+++ b/main/libmpdclient/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libmpdclient 2pkgname=libmpdclient
3pkgver=2.6 3pkgver=2.7
4pkgrel=0 4pkgrel=0
5pkgdesc="An asynchronous API library for interfacing MPD in the C, C++ & Objective C languages" 5pkgdesc="An asynchronous API library for interfacing MPD in the C, C++ & Objective C languages"
6url="http://mpd.wikia.com/wiki/Client:libmpdclient" 6url="http://mpd.wikia.com/wiki/Client:libmpdclient"
@@ -22,4 +22,4 @@ package() {
22 make DESTDIR="$pkgdir" install || return 1 22 make DESTDIR="$pkgdir" install || return 1
23 rm "$pkgdir"/usr/lib/*.la || return 1 23 rm "$pkgdir"/usr/lib/*.la || return 1
24} 24}
25md5sums="adc0a85d9b66850d7cd07516012b6a02 libmpdclient-2.6.tar.bz2" 25md5sums="053a97f1b045646d2d01a68fb2ddb5ef libmpdclient-2.7.tar.bz2"
diff --git a/main/libpciaccess/APKBUILD b/main/libpciaccess/APKBUILD
index 2ea0be6668..34c6ae2b70 100644
--- a/main/libpciaccess/APKBUILD
+++ b/main/libpciaccess/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libpciaccess 2pkgname=libpciaccess
3pkgver=0.12.1 3pkgver=0.13
4pkgrel=1 4pkgrel=0
5pkgdesc="X11 PCI access library" 5pkgdesc="X11 PCI access library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 rm "$pkgdir"/usr/lib/*.la || return 1 23 rm "$pkgdir"/usr/lib/*.la || return 1
24 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 24 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
25} 25}
26md5sums="d6363ee9f4df79f6fc47cba7c67b0d35 libpciaccess-0.12.1.tar.bz2" 26md5sums="2604307ba43c76ee8aec11ea137ae1e8 libpciaccess-0.13.tar.bz2"
diff --git a/main/libpng/APKBUILD b/main/libpng/APKBUILD
index ffc668c7f1..8beb84ec69 100644
--- a/main/libpng/APKBUILD
+++ b/main/libpng/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=libpng 3pkgname=libpng
4pkgver=1.5.8 4pkgver=1.5.9
5pkgrel=0 5pkgrel=0
6pkgdesc="Portable Network Graphics library" 6pkgdesc="Portable Network Graphics library"
7url="http://www.libpng.org/" 7url="http://www.libpng.org/"
@@ -36,5 +36,5 @@ package() {
36 rm -f "$pkgdir"/usr/lib/*.la 36 rm -f "$pkgdir"/usr/lib/*.la
37} 37}
38 38
39md5sums="dc2b84a1c077531ceb5bf9d79ad889a4 libpng-1.5.8.tar.gz 39md5sums="c740ba66cd7074ba2471b6a4ff48e1fb libpng-1.5.9.tar.gz
40158772fecdc6d8591bcd382c04da334c libpng-1.5.8-apng.patch.gz" 40268f7db97b292d5f14a24ea7940f6f1c libpng-1.5.9-apng.patch.gz"
diff --git a/main/libraw/APKBUILD b/main/libraw/APKBUILD
index d0cf200ced..f0ba0585bc 100644
--- a/main/libraw/APKBUILD
+++ b/main/libraw/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libraw 2pkgname=libraw
3pkgver=0.14.4 3pkgver=0.14.5
4pkgrel=0 4pkgrel=0
5pkgdesc="Library for reading RAW files obtained from digital photo cameras" 5pkgdesc="Library for reading RAW files obtained from digital photo cameras"
6url="http://www.libraw.org/" 6url="http://www.libraw.org/"
@@ -35,4 +35,4 @@ package() {
35 35
36} 36}
37 37
38md5sums="c198292e9997f056a8d1f8ac03401442 LibRaw-0.14.4.tar.gz" 38md5sums="f8c8699f0fd935d386165ba3b52eb140 LibRaw-0.14.5.tar.gz"
diff --git a/main/libsm/APKBUILD b/main/libsm/APKBUILD
index bd67296bf5..13488e4f0c 100644
--- a/main/libsm/APKBUILD
+++ b/main/libsm/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libsm 2pkgname=libsm
3pkgver=1.2.0 3pkgver=1.2.1
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Session Management library" 5pkgdesc="X11 Session Management library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -25,4 +25,4 @@ package() {
25 rm "$pkgdir"/usr/lib/*.la || return 1 25 rm "$pkgdir"/usr/lib/*.la || return 1
26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
27} 27}
28md5sums="e78c447bf1790552b644eca81b542742 libSM-1.2.0.tar.bz2" 28md5sums="766de9d1e1ecf8bf74cebe2111d8e2bd libSM-1.2.1.tar.bz2"
diff --git a/main/libsoup/APKBUILD b/main/libsoup/APKBUILD
index 6d566100c8..91af4cb36d 100644
--- a/main/libsoup/APKBUILD
+++ b/main/libsoup/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libsoup 2pkgname=libsoup
3pkgver=2.36.1 3pkgver=2.36.1
4pkgrel=0 4pkgrel=1
5pkgdesc="Gnome HTTP Library" 5pkgdesc="Gnome HTTP Library"
6url="http://www.gnome.org" 6url="http://www.gnome.org"
7arch="all" 7arch="all"
diff --git a/main/libtxc_dxtn/APKBUILD b/main/libtxc_dxtn/APKBUILD
index 6a3c79ec03..7c4954e12c 100644
--- a/main/libtxc_dxtn/APKBUILD
+++ b/main/libtxc_dxtn/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=libtxc_dxtn 3pkgname=libtxc_dxtn
4pkgver=1.0.1 4pkgver=1.0.1
5pkgrel=0 5pkgrel=1
6pkgdesc="S3TC texture decompression helper library" 6pkgdesc="S3TC texture decompression helper library"
7url="http://dri.freedesktop.org/wiki/S3TC" 7url="http://dri.freedesktop.org/wiki/S3TC"
8arch="all" 8arch="all"
diff --git a/main/libunique/APKBUILD b/main/libunique/APKBUILD
index 83294fa83c..d80f89cb83 100644
--- a/main/libunique/APKBUILD
+++ b/main/libunique/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libunique 2pkgname=libunique
3pkgver=1.1.6 3pkgver=1.1.6
4pkgrel=3 4pkgrel=4
5pkgdesc="Library for writing single instance applications" 5pkgdesc="Library for writing single instance applications"
6url="http://live.gnome.org/LibUnique" 6url="http://live.gnome.org/LibUnique"
7arch="all" 7arch="all"
@@ -9,14 +9,26 @@ license="LGPL"
9depends= 9depends=
10makedepends="pkgconfig gtk+-dev dbus-glib-dev" 10makedepends="pkgconfig gtk+-dev dbus-glib-dev"
11subpackages="$pkgname-dev $pkgname-doc" 11subpackages="$pkgname-dev $pkgname-doc"
12source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/1.1/$pkgname-$pkgver.tar.bz2" 12source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/1.1/$pkgname-$pkgver.tar.bz2
13 g_const_return.patch"
13 14
14_builddir="$srcdir"/$pkgname-$pkgver 15_builddir="$srcdir"/$pkgname-$pkgver
16prepare() {
17 cd "$_builddir"
18 for i in $source; do
19 case $i in
20 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return;;
21 esac
22 done
23}
24
15build() { 25build() {
16 cd "$_builddir" 26 cd "$_builddir"
17 ./configure --prefix=/usr \ 27 ./configure --prefix=/usr \
18 --sysconfdir=/etc \ 28 --sysconfdir=/etc \
19 --localstatedir=/var \ 29 --localstatedir=/var \
30 --enable-maintainer-flags=no \
31 --enable-debug=no \
20 --disable-static \ 32 --disable-static \
21 || return 1 33 || return 1
22 make || return 1 34 make || return 1
@@ -27,4 +39,5 @@ package() {
27 make DESTDIR="$pkgdir" install || return 1 39 make DESTDIR="$pkgdir" install || return 1
28 find "$pkgdir" -name '*.la' -delete 40 find "$pkgdir" -name '*.la' -delete
29} 41}
30md5sums="7955769ef31f1bc4f83446dbb3625e6d libunique-1.1.6.tar.bz2" 42md5sums="7955769ef31f1bc4f83446dbb3625e6d libunique-1.1.6.tar.bz2
434777001a4f1c9533c8e852ce5d09ff14 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 0000000000..89db14a5ab
--- /dev/null
+++ b/main/libunique/g_const_return.patch
@@ -0,0 +1,123 @@
1diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
2index b40a86c..e8edc94 100644
3--- a/unique/uniqueapp.c
4+++ b/unique/uniqueapp.c
5@@ -781,7 +781,7 @@ unique_app_watch_window (UniqueApp *app,
6 }
7
8
9-G_CONST_RETURN gchar *
10+const gchar *
11 unique_command_to_string (UniqueApp *app,
12 gint command)
13 {
14@@ -863,7 +863,7 @@ unique_command_from_string (UniqueApp *app,
15 return retval;
16 }
17
18-G_CONST_RETURN gchar *
19+const gchar *
20 unique_response_to_string (UniqueResponse response)
21 {
22 GEnumClass *enum_class;
23diff --git a/unique/uniquebackend.c b/unique/uniquebackend.c
24index 18a0c45..6a9500a 100644
25--- a/unique/uniquebackend.c
26+++ b/unique/uniquebackend.c
27@@ -111,7 +111,7 @@ unique_backend_set_name (UniqueBackend *backend,
28 *
29 * Return value: FIXME
30 */
31-G_CONST_RETURN gchar *
32+const gchar *
33 unique_backend_get_name (UniqueBackend *backend)
34 {
35 g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
36@@ -154,7 +154,7 @@ unique_backend_set_startup_id (UniqueBackend *backend,
37 *
38 * Return value: FIXME
39 */
40-G_CONST_RETURN gchar *
41+const gchar *
42 unique_backend_get_startup_id (UniqueBackend *backend)
43 {
44 g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
45diff --git a/unique/uniquebackend.h b/unique/uniquebackend.h
46index a50ce4e..a8786bf 100644
47--- a/unique/uniquebackend.h
48+++ b/unique/uniquebackend.h
49@@ -94,10 +94,10 @@ GType unique_backend_get_type (void) G_GNUC_CONST;
50
51 UniqueBackend * unique_backend_create (void);
52
53-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend);
54+const gchar *unique_backend_get_name (UniqueBackend *backend);
55 void unique_backend_set_name (UniqueBackend *backend,
56 const gchar *name);
57-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend);
58+const gchar *unique_backend_get_startup_id (UniqueBackend *backend);
59 void unique_backend_set_startup_id (UniqueBackend *backend,
60 const gchar *startup_id);
61 GdkScreen * unique_backend_get_screen (UniqueBackend *backend);
62diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
63index ace40ed..f688939 100644
64--- a/unique/uniqueinternals.h
65+++ b/unique/uniqueinternals.h
66@@ -44,11 +44,11 @@ UniqueResponse unique_app_emit_message_received (UniqueApp *app,
67 * and then back into an id
68 */
69 UniqueResponse unique_response_from_string (const gchar *response);
70-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response);
71+const gchar *unique_response_to_string (UniqueResponse response);
72
73 gint unique_command_from_string (UniqueApp *app,
74 const gchar *command);
75-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app,
76+const gchar *unique_command_to_string (UniqueApp *app,
77 gint command);
78
79 G_END_DECLS
80diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
81index 10f6df5..b13be7f 100644
82--- a/unique/uniquemessage.c
83+++ b/unique/uniquemessage.c
84@@ -185,7 +185,7 @@ unique_message_data_set (UniqueMessageData *message_data,
85 *
86 * Since: 1.0.2
87 */
88-G_CONST_RETURN guchar *
89+const guchar *
90 unique_message_data_get (UniqueMessageData *message_data,
91 gsize *length)
92 {
93@@ -525,7 +525,7 @@ unique_message_data_get_screen (UniqueMessageData *message_data)
94 * owned by the #UniqueMessageData structure and should not be
95 * modified or freed
96 */
97-G_CONST_RETURN gchar *
98+const gchar *
99 unique_message_data_get_startup_id (UniqueMessageData *message_data)
100 {
101 g_return_val_if_fail (message_data != NULL, NULL);
102diff --git a/unique/uniquemessage.h b/unique/uniquemessage.h
103index d3e9c3c..9759a30 100644
104--- a/unique/uniquemessage.h
105+++ b/unique/uniquemessage.h
106@@ -48,7 +48,7 @@ void unique_message_data_free (UniqueMessageData *me
107 void unique_message_data_set (UniqueMessageData *message_data,
108 const guchar *data,
109 gsize length);
110-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data,
111+const guchar *unique_message_data_get (UniqueMessageData *message_data,
112 gsize *length);
113
114 gboolean unique_message_data_set_text (UniqueMessageData *message_data,
115@@ -63,7 +63,7 @@ void unique_message_data_set_filename (UniqueMessageData *me
116 gchar * unique_message_data_get_filename (UniqueMessageData *message_data);
117
118 GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data);
119-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
120+const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
121 guint unique_message_data_get_workspace (UniqueMessageData *message_data);
122
123 G_END_DECLS
diff --git a/main/libvirt/APKBUILD b/main/libvirt/APKBUILD
index ff33c6c452..13c98463f3 100644
--- a/main/libvirt/APKBUILD
+++ b/main/libvirt/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> 1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=libvirt 2pkgname=libvirt
3pkgver=0.9.10 3pkgver=0.9.10
4pkgrel=1 4pkgrel=2
5pkgdesc="A virtualization API for several hypervisor and container systems" 5pkgdesc="A virtualization API for several hypervisor and container systems"
6url="http://libvirt.org/" 6url="http://libvirt.org/"
7arch="all" 7arch="all"
@@ -10,7 +10,7 @@ depends="bridge-utils dmidecode iptables netcat-openbsd python"
10makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper 10makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper
11 e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev 11 e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev
12 libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev 12 libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev
13 lvm2-dev lxc-dev gnutls-dev parted-dev perl pkgconfig 13 lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig
14 udev-dev xen zlib-dev" 14 udev-dev xen zlib-dev"
15install= 15install=
16subpackages="$pkgname-dev $pkgname-doc" 16subpackages="$pkgname-dev $pkgname-doc"
diff --git a/main/libwebp/APKBUILD b/main/libwebp/APKBUILD
index 7ff7933211..b4267e56c0 100644
--- a/main/libwebp/APKBUILD
+++ b/main/libwebp/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> 1# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
2# Maintainer: 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=libwebp 3pkgname=libwebp
4pkgver=0.1.2 4pkgver=0.1.3
5pkgrel=1 5pkgrel=0
6pkgdesc="Libraries for working with WebP images" 6pkgdesc="Libraries for working with WebP images"
7url="http://code.google.com/speed/webp/index.html" 7url="http://code.google.com/speed/webp/index.html"
8arch="all" 8arch="all"
@@ -31,4 +31,4 @@ package() {
31 install -Dm644 PATENTS README "$pkgdir"/usr/share/doc/$pkgname 31 install -Dm644 PATENTS README "$pkgdir"/usr/share/doc/$pkgname
32} 32}
33 33
34md5sums="5534f6e3c8b9f5851a9a5b56bf78f2b0 libwebp-0.1.2.tar.gz" 34md5sums="254d4670e14e9ed881f0536b006ab336 libwebp-0.1.3.tar.gz"
diff --git a/main/libx11/APKBUILD b/main/libx11/APKBUILD
index 1fce34f373..0e5607940f 100644
--- a/main/libx11/APKBUILD
+++ b/main/libx11/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libx11 2pkgname=libx11
3pkgver=1.4.4 3pkgver=1.4.99.1
4pkgrel=0 4pkgrel=0
5pkgdesc="X11 client-side library" 5pkgdesc="X11 client-side library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
@@ -28,4 +28,4 @@ package() {
28 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 28 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
29} 29}
30 30
31md5sums="ed7c382cbf8c13425b6a66bcac0ca5d9 libX11-1.4.4.tar.bz2" 31md5sums="0e6e25d99cfb18c6631c6dc4ac411c69 libX11-1.4.99.1.tar.bz2"
diff --git a/main/libxau/APKBUILD b/main/libxau/APKBUILD
index 999b7dcc89..ed0cb7f218 100644
--- a/main/libxau/APKBUILD
+++ b/main/libxau/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxau 2pkgname=libxau
3pkgver=1.0.6 3pkgver=1.0.7
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 authorisation library" 5pkgdesc="X11 authorisation library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname 26 install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname
27 install -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING || return 1 27 install -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING || return 1
28} 28}
29md5sums="4a2cbd83727682f9ee1c1e719bac6adb libXau-1.0.6.tar.bz2" 29md5sums="2d241521df40d27034413436d1a1465c libXau-1.0.7.tar.bz2"
diff --git a/main/libxcb/APKBUILD b/main/libxcb/APKBUILD
index 247e84aeb9..786a8e2438 100644
--- a/main/libxcb/APKBUILD
+++ b/main/libxcb/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxcb 2pkgname=libxcb
3pkgver=1.7 3pkgver=1.8.1
4pkgrel=3 4pkgrel=0
5pkgdesc="X11 client-side library" 5pkgdesc="X11 client-side library"
6url="http://xcb.freedesktop.org/" 6url="http://xcb.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 rm "$pkgdir"/usr/lib/*.la || return 1 26 rm "$pkgdir"/usr/lib/*.la || return 1
27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
28} 28}
29md5sums="925699df361b99491165ebc12068056b libxcb-1.7.tar.bz2" 29md5sums="9da03df9e2f4c048202920d9f6a7e123 libxcb-1.8.1.tar.bz2"
diff --git a/main/libxcursor/APKBUILD b/main/libxcursor/APKBUILD
index 44cf51f2c2..cc57d89804 100644
--- a/main/libxcursor/APKBUILD
+++ b/main/libxcursor/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxcursor 2pkgname=libxcursor
3pkgver=1.1.12 3pkgver=1.1.13
4pkgrel=0 4pkgrel=0
5pkgdesc="X cursor management library" 5pkgdesc="X cursor management library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
@@ -25,4 +25,4 @@ package() {
25 make DESTDIR="$pkgdir" install || return 1 25 make DESTDIR="$pkgdir" install || return 1
26 rm "$pkgdir"/usr/lib/*.la || return 1 26 rm "$pkgdir"/usr/lib/*.la || return 1
27} 27}
28md5sums="a93b5a6f5b05976d2c0d3f8a07f6ac6a libXcursor-1.1.12.tar.bz2" 28md5sums="52efa81b7f26c8eda13510a2fba98eea libXcursor-1.1.13.tar.bz2"
diff --git a/main/libxdmcp/APKBUILD b/main/libxdmcp/APKBUILD
index 35f2a90c19..62aabfb1a6 100644
--- a/main/libxdmcp/APKBUILD
+++ b/main/libxdmcp/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxdmcp 2pkgname=libxdmcp
3pkgver=1.1.0 3pkgver=1.1.1
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Display Manager Control Protocol library" 5pkgdesc="X11 Display Manager Control Protocol library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 make -j1 DESTDIR="$pkgdir" install || return 1 23 make -j1 DESTDIR="$pkgdir" install || return 1
24 rm "$pkgdir"/usr/lib/*.la || return 1 24 rm "$pkgdir"/usr/lib/*.la || return 1
25} 25}
26md5sums="762b6bbaff7b7d0831ddb4f072f939a5 libXdmcp-1.1.0.tar.bz2" 26md5sums="b94af6cef211cf3ee256f7e81f70fcd9 libXdmcp-1.1.1.tar.bz2"
diff --git a/main/libxext/APKBUILD b/main/libxext/APKBUILD
index 41cb44f560..1561fa3735 100644
--- a/main/libxext/APKBUILD
+++ b/main/libxext/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxext 2pkgname=libxext
3pkgver=1.3.0 3pkgver=1.3.1
4pkgrel=1 4pkgrel=0
5pkgdesc="X11 miscellaneous extensions library" 5pkgdesc="X11 miscellaneous extensions library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 make DESTDIR="$pkgdir" install || return 1 23 make DESTDIR="$pkgdir" install || return 1
24 rm "$pkgdir"/usr/lib/*.la || return 1 24 rm "$pkgdir"/usr/lib/*.la || return 1
25} 25}
26md5sums="161d200b690ace818db1cc7537e70ba9 libXext-1.3.0.tar.bz2" 26md5sums="71251a22bc47068d60a95f50ed2ec3cf libXext-1.3.1.tar.bz2"
diff --git a/main/libxfont/APKBUILD b/main/libxfont/APKBUILD
index deec18669e..135b28f2ae 100644
--- a/main/libxfont/APKBUILD
+++ b/main/libxfont/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxfont 2pkgname=libxfont
3pkgver=1.4.4 3pkgver=1.4.5
4pkgrel=1 4pkgrel=0
5pkgdesc="X11 font rasterisation library" 5pkgdesc="X11 font rasterisation library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -25,4 +25,4 @@ package() {
25 rm "$pkgdir"/usr/lib/*.la || return 1 25 rm "$pkgdir"/usr/lib/*.la || return 1
26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
27} 27}
28md5sums="f9942bc818d39094d7295b156a729393 libXfont-1.4.4.tar.bz2" 28md5sums="6851da5dae0a6cf5f7c9b9e2b05dd3b4 libXfont-1.4.5.tar.bz2"
diff --git a/main/libxft/APKBUILD b/main/libxft/APKBUILD
index b6adfa5120..675879e2a8 100644
--- a/main/libxft/APKBUILD
+++ b/main/libxft/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxft 2pkgname=libxft
3pkgver=2.2.0 3pkgver=2.3.0
4pkgrel=2 4pkgrel=0
5pkgdesc="FreeType-based font drawing library for X" 5pkgdesc="FreeType-based font drawing library for X"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -25,4 +25,4 @@ package() {
25 rm "$pkgdir"/usr/lib/*.la || return 1 25 rm "$pkgdir"/usr/lib/*.la || return 1
26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 26 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
27} 27}
28md5sums="cce3c327258116493b753f157e0360c7 libXft-2.2.0.tar.bz2" 28md5sums="bd0a8d8cace1dfbb963250bf3eb9a19a libXft-2.3.0.tar.bz2"
diff --git a/main/libxi/APKBUILD b/main/libxi/APKBUILD
index c2c4ff10ff..d7b0d5a1f9 100644
--- a/main/libxi/APKBUILD
+++ b/main/libxi/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxi 2pkgname=libxi
3pkgver=1.4.5 3pkgver=1.6.0
4pkgrel=0 4pkgrel=0
5pkgdesc="X11 Input extension library" 5pkgdesc="X11 Input extension library"
6url="http://xorg.freedesktop.org" 6url="http://xorg.freedesktop.org"
@@ -33,4 +33,4 @@ package() {
33 rm "$pkgdir"/usr/lib/*.la || return 1 33 rm "$pkgdir"/usr/lib/*.la || return 1
34 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 34 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
35} 35}
36md5sums="82dcdc76388116800a2c3ad969f510a4 libXi-1.4.5.tar.bz2" 36md5sums="2e7f84711035e672c34549eac5660a0f libXi-1.6.0.tar.bz2"
diff --git a/main/libxinerama/APKBUILD b/main/libxinerama/APKBUILD
index 98f7e1b131..0b5f65605e 100644
--- a/main/libxinerama/APKBUILD
+++ b/main/libxinerama/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxinerama 2pkgname=libxinerama
3pkgver=1.1.1 3pkgver=1.1.2
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Xinerama extension library" 5pkgdesc="X11 Xinerama extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 make DESTDIR="$pkgdir" install || return 1 23 make DESTDIR="$pkgdir" install || return 1
24 rm "$pkgdir"/usr/lib/*.la || return 1 24 rm "$pkgdir"/usr/lib/*.la || return 1
25} 25}
26md5sums="ecd4839ad01f6f637c6fb5327207f89b libXinerama-1.1.1.tar.bz2" 26md5sums="cb45d6672c93a608f003b6404f1dd462 libXinerama-1.1.2.tar.bz2"
diff --git a/main/libxkbfile/APKBUILD b/main/libxkbfile/APKBUILD
index 9bca99aa65..fd53a15f50 100644
--- a/main/libxkbfile/APKBUILD
+++ b/main/libxkbfile/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxkbfile 2pkgname=libxkbfile
3pkgver=1.0.7 3pkgver=1.0.8
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 keyboard file manipulation library" 5pkgdesc="X11 keyboard file manipulation library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 install -D -m644 "$srcdir"/$pkgname-$pkgver/COPYING \ 26 install -D -m644 "$srcdir"/$pkgname-$pkgver/COPYING \
27 "$pkgdir"/usr/share/licenses/$pkgname/COPYING 27 "$pkgdir"/usr/share/licenses/$pkgname/COPYING
28} 28}
29md5sums="59b4fe0bdf8d9b05e45b59e8fe9e7516 libxkbfile-1.0.7.tar.bz2" 29md5sums="19e6533ae64abba0773816a23f2b9507 libxkbfile-1.0.8.tar.bz2"
diff --git a/main/libxml2/APKBUILD b/main/libxml2/APKBUILD
index e7b2cc262a..b3160ee179 100644
--- a/main/libxml2/APKBUILD
+++ b/main/libxml2/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Carlo Landmeter <clandmeter@gmail.com> 2# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
3pkgname=libxml2 3pkgname=libxml2
4pkgver=2.7.8 4pkgver=2.7.8
5pkgrel=7 5pkgrel=8
6pkgdesc="XML parsing library, version 2" 6pkgdesc="XML parsing library, version 2"
7url="http://www.xmlsoft.org/" 7url="http://www.xmlsoft.org/"
8arch="all" 8arch="all"
@@ -13,15 +13,18 @@ makedepends="zlib-dev python-dev"
13subpackages="$pkgname-doc $pkgname-dev py-$pkgname:py $pkgname-utils" 13subpackages="$pkgname-doc $pkgname-dev py-$pkgname:py $pkgname-utils"
14source="ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz 14source="ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
15 largefile64.patch 15 largefile64.patch
16 libxml2-2.7.8-CVE-2011-1944.patch" 16 libxml2-2.7.8-CVE-2011-1944.patch
17 cve-2012-0841.patch"
17 18
18options="!strip" 19options="!strip"
19 20
20_builddir="$srcdir/$pkgname-$pkgver" 21_builddir="$srcdir/$pkgname-$pkgver"
21prepare() { 22prepare() {
22 cd "$_builddir" 23 cd "$_builddir"
23 for _i in "$srcdir"/*.patch; do 24 for i in $source; do
24 patch -p1 -i "$_i" 25 case $i in
26 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
27 esac
25 done 28 done
26} 29}
27 30
@@ -60,4 +63,5 @@ utils() {
60 63
61md5sums="8127a65e8c3b08856093099b52599c86 libxml2-2.7.8.tar.gz 64md5sums="8127a65e8c3b08856093099b52599c86 libxml2-2.7.8.tar.gz
625ad4915665608ebfa5b89f7908467a72 largefile64.patch 655ad4915665608ebfa5b89f7908467a72 largefile64.patch
6349cba5245dfa6f2ec710324df947fff9 libxml2-2.7.8-CVE-2011-1944.patch" 6649cba5245dfa6f2ec710324df947fff9 libxml2-2.7.8-CVE-2011-1944.patch
67045c7f25e46de3127a6061e273de3f7b 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 0000000000..9b6f440d18
--- /dev/null
+++ b/main/libxml2/cve-2012-0841.patch
@@ -0,0 +1,291 @@
1From 8973d58b7498fa5100a876815476b81fd1a2412a Mon Sep 17 00:00:00 2001
2From: Daniel Veillard <veillard@redhat.com>
3Date: Sat, 04 Feb 2012 11:07:44 +0000
4Subject: Add hash randomization to hash and dict structures
5
6Following http://www.ocert.org/advisories/ocert-2011-003.html
7it seems that having hash randomization might be a good idea
8when using XML with untrusted data
9* configure.in: lookup for rand, srand and time
10* dict.c: add randomization to dictionaries hash tables
11* hash.c: add randomization to normal hash tables
12---
13diff --git a/configure.in b/configure.in
14index fa80375..828b66a 100644
15--- a/configure.in
16+++ b/configure.in
17@@ -512,6 +512,7 @@ AC_CHECK_FUNCS(strdup strndup strerror)
18 AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
19 AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
20 AC_CHECK_FUNCS(stat _stat signal)
21+AC_CHECK_FUNCS(rand srand time)
22
23 dnl Checking the standard string functions availability
24 AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
25diff --git a/dict.c b/dict.c
26index 3eff231..ae4966b 100644
27--- a/dict.c
28+++ b/dict.c
29@@ -2,7 +2,7 @@
30 * dict.c: dictionary of reusable strings, just used to avoid allocation
31 * and freeing operations.
32 *
33- * Copyright (C) 2003 Daniel Veillard.
34+ * Copyright (C) 2003-2012 Daniel Veillard.
35 *
36 * Permission to use, copy, modify, and distribute this software for any
37 * purpose with or without fee is hereby granted, provided that the above
38@@ -19,6 +19,28 @@
39 #define IN_LIBXML
40 #include "libxml.h"
41
42+#ifdef HAVE_STDLIB_H
43+#include <stdlib.h>
44+#endif
45+#ifdef HAVE_TIME_H
46+#include <time.h>
47+#endif
48+
49+/*
50+ * Following http://www.ocert.org/advisories/ocert-2011-003.html
51+ * it seems that having hash randomization might be a good idea
52+ * when using XML with untrusted data
53+ * Note1: that it works correctly only if compiled with WITH_BIG_KEY
54+ * which is the default.
55+ * Note2: the fast function used for a small dict won't protect very
56+ * well but since the attack is based on growing a very big hash
57+ * list we will use the BigKey algo as soon as the hash size grows
58+ * over MIN_DICT_SIZE so this actually works
59+ */
60+#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
61+#define DICT_RANDOMIZATION
62+#endif
63+
64 #include <string.h>
65 #ifdef HAVE_STDINT_H
66 #include <stdint.h>
67@@ -44,23 +66,23 @@ typedef unsigned __int32 uint32_t;
68 #define WITH_BIG_KEY
69
70 #ifdef WITH_BIG_KEY
71-#define xmlDictComputeKey(dict, name, len) \
72- (((dict)->size == MIN_DICT_SIZE) ? \
73- xmlDictComputeFastKey(name, len) : \
74- xmlDictComputeBigKey(name, len))
75-
76-#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
77- (((prefix) == NULL) ? \
78- (xmlDictComputeKey(dict, name, len)) : \
79- (((dict)->size == MIN_DICT_SIZE) ? \
80- xmlDictComputeFastQKey(prefix, plen, name, len) : \
81- xmlDictComputeBigQKey(prefix, plen, name, len)))
82+#define xmlDictComputeKey(dict, name, len) \
83+ (((dict)->size == MIN_DICT_SIZE) ? \
84+ xmlDictComputeFastKey(name, len, (dict)->seed) : \
85+ xmlDictComputeBigKey(name, len, (dict)->seed))
86+
87+#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
88+ (((prefix) == NULL) ? \
89+ (xmlDictComputeKey(dict, name, len)) : \
90+ (((dict)->size == MIN_DICT_SIZE) ? \
91+ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed) : \
92+ xmlDictComputeBigQKey(prefix, plen, name, len, (dict)->seed)))
93
94 #else /* !WITH_BIG_KEY */
95-#define xmlDictComputeKey(dict, name, len) \
96- xmlDictComputeFastKey(name, len)
97-#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
98- xmlDictComputeFastQKey(prefix, plen, name, len)
99+#define xmlDictComputeKey(dict, name, len) \
100+ xmlDictComputeFastKey(name, len, (dict)->seed)
101+#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
102+ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed)
103 #endif /* WITH_BIG_KEY */
104
105 /*
106@@ -98,6 +120,8 @@ struct _xmlDict {
107 xmlDictStringsPtr strings;
108
109 struct _xmlDict *subdict;
110+ /* used for randomization */
111+ int seed;
112 };
113
114 /*
115@@ -125,6 +149,9 @@ static int xmlInitializeDict(void) {
116 if ((xmlDictMutex = xmlNewRMutex()) == NULL)
117 return(0);
118
119+#ifdef DICT_RANDOMIZATION
120+ srand(time(NULL));
121+#endif
122 xmlDictInitialized = 1;
123 return(1);
124 }
125@@ -277,13 +304,13 @@ found_pool:
126 */
127
128 static uint32_t
129-xmlDictComputeBigKey(const xmlChar* data, int namelen) {
130+xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) {
131 uint32_t hash;
132 int i;
133
134 if (namelen <= 0 || data == NULL) return(0);
135
136- hash = 0;
137+ hash = seed;
138
139 for (i = 0;i < namelen; i++) {
140 hash += data[i];
141@@ -310,12 +337,12 @@ xmlDictComputeBigKey(const xmlChar* data, int namelen) {
142 */
143 static unsigned long
144 xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
145- const xmlChar *name, int len)
146+ const xmlChar *name, int len, int seed)
147 {
148 uint32_t hash;
149 int i;
150
151- hash = 0;
152+ hash = seed;
153
154 for (i = 0;i < plen; i++) {
155 hash += prefix[i];
156@@ -346,8 +373,8 @@ xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
157 * for low hash table fill.
158 */
159 static unsigned long
160-xmlDictComputeFastKey(const xmlChar *name, int namelen) {
161- unsigned long value = 0L;
162+xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
163+ unsigned long value = seed;
164
165 if (name == NULL) return(0);
166 value = *name;
167@@ -381,9 +408,9 @@ xmlDictComputeFastKey(const xmlChar *name, int namelen) {
168 */
169 static unsigned long
170 xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
171- const xmlChar *name, int len)
172+ const xmlChar *name, int len, int seed)
173 {
174- unsigned long value = 0L;
175+ unsigned long value = (unsigned long) seed;
176
177 if (plen == 0)
178 value += 30 * (unsigned long) ':';
179@@ -460,6 +487,11 @@ xmlDictCreate(void) {
180 dict->subdict = NULL;
181 if (dict->dict) {
182 memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
183+#ifdef DICT_RANDOMIZATION
184+ dict->seed = rand();
185+#else
186+ dict->seed = 0;
187+#endif
188 return(dict);
189 }
190 xmlFree(dict);
191@@ -486,6 +518,7 @@ xmlDictCreateSub(xmlDictPtr sub) {
192 #ifdef DICT_DEBUG_PATTERNS
193 fprintf(stderr, "R");
194 #endif
195+ dict->seed = sub->seed;
196 dict->subdict = sub;
197 xmlDictReference(dict->subdict);
198 }
199diff --git a/hash.c b/hash.c
200index b78bc2d..fe1424f 100644
201--- a/hash.c
202+++ b/hash.c
203@@ -3,7 +3,7 @@
204 *
205 * Reference: Your favorite introductory book on algorithms
206 *
207- * Copyright (C) 2000 Bjorn Reese and Daniel Veillard.
208+ * Copyright (C) 2000,2012 Bjorn Reese and Daniel Veillard.
209 *
210 * Permission to use, copy, modify, and distribute this software for any
211 * purpose with or without fee is hereby granted, provided that the above
212@@ -21,6 +21,22 @@
213 #include "libxml.h"
214
215 #include <string.h>
216+#ifdef HAVE_STDLIB_H
217+#include <stdlib.h>
218+#endif
219+#ifdef HAVE_TIME_H
220+#include <time.h>
221+#endif
222+
223+/*
224+ * Following http://www.ocert.org/advisories/ocert-2011-003.html
225+ * it seems that having hash randomization might be a good idea
226+ * when using XML with untrusted data
227+ */
228+#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
229+#define HASH_RANDOMIZATION
230+#endif
231+
232 #include <libxml/parser.h>
233 #include <libxml/hash.h>
234 #include <libxml/xmlmemory.h>
235@@ -31,6 +47,10 @@
236
237 /* #define DEBUG_GROW */
238
239+#ifdef HASH_RANDOMIZATION
240+static int hash_initialized = 0;
241+#endif
242+
243 /*
244 * A single entry in the hash table
245 */
246@@ -53,6 +73,9 @@ struct _xmlHashTable {
247 int size;
248 int nbElems;
249 xmlDictPtr dict;
250+#ifdef HASH_RANDOMIZATION
251+ int random_seed;
252+#endif
253 };
254
255 /*
256@@ -65,6 +88,9 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name,
257 unsigned long value = 0L;
258 char ch;
259
260+#ifdef HASH_RANDOMIZATION
261+ value = table->random_seed;
262+#endif
263 if (name != NULL) {
264 value += 30 * (*name);
265 while ((ch = *name++) != 0) {
266@@ -92,6 +118,9 @@ xmlHashComputeQKey(xmlHashTablePtr table,
267 unsigned long value = 0L;
268 char ch;
269
270+#ifdef HASH_RANDOMIZATION
271+ value = table->random_seed;
272+#endif
273 if (prefix != NULL)
274 value += 30 * (*prefix);
275 else
276@@ -156,6 +185,13 @@ xmlHashCreate(int size) {
277 table->table = xmlMalloc(size * sizeof(xmlHashEntry));
278 if (table->table) {
279 memset(table->table, 0, size * sizeof(xmlHashEntry));
280+#ifdef HASH_RANDOMIZATION
281+ if (!hash_initialized) {
282+ srand(time(NULL));
283+ hash_initialized = 1;
284+ }
285+ table->random_seed = rand();
286+#endif
287 return(table);
288 }
289 xmlFree(table);
290--
291cgit v0.9.0.2
diff --git a/main/libxmu/APKBUILD b/main/libxmu/APKBUILD
index eb166caf00..3d18383238 100644
--- a/main/libxmu/APKBUILD
+++ b/main/libxmu/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxmu 2pkgname=libxmu
3pkgver=1.1.0 3pkgver=1.1.1
4pkgrel=3 4pkgrel=0
5pkgdesc="X11 miscellaneous micro-utility library" 5pkgdesc="X11 miscellaneous micro-utility library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -28,4 +28,4 @@ package() {
28 install -Dm644 $srcdir/libXmu-$pkgver/COPYING \ 28 install -Dm644 $srcdir/libXmu-$pkgver/COPYING \
29 $pkgdir/usr/share/licenses/$pkgname/COPYING 29 $pkgdir/usr/share/licenses/$pkgname/COPYING
30} 30}
31md5sums="6836883a0120e8346cf7f58dc42e465a libXmu-1.1.0.tar.bz2" 31md5sums="a4efff8de85bd45dd3da124285d10c00 libXmu-1.1.1.tar.bz2"
diff --git a/main/libxpm/APKBUILD b/main/libxpm/APKBUILD
index bdcee293cf..51d6eb1808 100644
--- a/main/libxpm/APKBUILD
+++ b/main/libxpm/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxpm 2pkgname=libxpm
3pkgver=3.5.9 3pkgver=3.5.10
4pkgrel=3 4pkgrel=0
5pkgdesc="X11 pixmap library" 5pkgdesc="X11 pixmap library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 rm "$pkgdir"/usr/lib/*.la || return 1 26 rm "$pkgdir"/usr/lib/*.la || return 1
27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
28} 28}
29md5sums="2de3a1b9541f4b3a6f9d84b69d25530e libXpm-3.5.9.tar.bz2" 29md5sums="7ae7eff7a14d411e84a67bd166bcec1a libXpm-3.5.10.tar.bz2"
diff --git a/main/libxrender/APKBUILD b/main/libxrender/APKBUILD
index 63181eabaa..6e9a8cd598 100644
--- a/main/libxrender/APKBUILD
+++ b/main/libxrender/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxrender 2pkgname=libxrender
3pkgver=0.9.6 3pkgver=0.9.7
4pkgrel=2 4pkgrel=0
5pkgdesc="X Rendering Extension client library" 5pkgdesc="X Rendering Extension client library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 make DESTDIR="$pkgdir" install || return 1 23 make DESTDIR="$pkgdir" install || return 1
24 rm "$pkgdir"/usr/lib/*.la || return 1 24 rm "$pkgdir"/usr/lib/*.la || return 1
25} 25}
26md5sums="3b3b7d076c2384b6c600c0b5f4ba971f libXrender-0.9.6.tar.bz2" 26md5sums="ee62f4c7f0f16ced4da63308963ccad2 libXrender-0.9.7.tar.bz2"
diff --git a/main/libxres/APKBUILD b/main/libxres/APKBUILD
index 977205e6b6..fc23b9d49e 100644
--- a/main/libxres/APKBUILD
+++ b/main/libxres/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxres 2pkgname=libxres
3pkgver=1.0.5 3pkgver=1.0.6
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Resource extension library" 5pkgdesc="X11 Resource extension library"
6url="http://xorg.freedesktop.org" 6url="http://xorg.freedesktop.org"
7arch="all" 7arch="all"
@@ -27,4 +27,4 @@ package() {
27 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE 27 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
28} 28}
29 29
30md5sums="d08f0b6df3f96c051637d37009f4e55a libXres-1.0.5.tar.bz2" 30md5sums="80d0c6d8522fa7a645e4f522e9a9cd20 libXres-1.0.6.tar.bz2"
diff --git a/main/libxt/APKBUILD b/main/libxt/APKBUILD
index 5ae67fbd3e..7f1aef155d 100644
--- a/main/libxt/APKBUILD
+++ b/main/libxt/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxt 2pkgname=libxt
3pkgver=1.1.1 3pkgver=1.1.2
4pkgrel=1 4pkgrel=0
5pkgdesc="X11 toolkit intrinsics library" 5pkgdesc="X11 toolkit intrinsics library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 make -j1 DESTDIR="$pkgdir" install || return 1 26 make -j1 DESTDIR="$pkgdir" install || return 1
27 rm "$pkgdir"/usr/lib/*.la || return 1 27 rm "$pkgdir"/usr/lib/*.la || return 1
28} 28}
29md5sums="eb22c0a1f172b06b97a3f5ae89768412 libXt-1.1.1.tar.bz2" 29md5sums="c4f7f149559320f378d93b835d38ad6f libXt-1.1.2.tar.bz2"
diff --git a/main/libxtst/APKBUILD b/main/libxtst/APKBUILD
index 6a7ab8ea70..c4eb84bf9a 100644
--- a/main/libxtst/APKBUILD
+++ b/main/libxtst/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxtst 2pkgname=libxtst
3pkgver=1.2.0 3pkgver=1.2.1
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Testing -- Resource extension library" 5pkgdesc="X11 Testing -- Resource extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -27,4 +27,4 @@ package() {
27 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE 27 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
28} 28}
29 29
30md5sums="7c592c72da6676f8b0aeec9133b81686 libXtst-1.2.0.tar.bz2" 30md5sums="e8abc5c00c666f551cf26aa53819d592 libXtst-1.2.1.tar.bz2"
diff --git a/main/libxv/APKBUILD b/main/libxv/APKBUILD
index a75f8d7cb1..d66f33db52 100644
--- a/main/libxv/APKBUILD
+++ b/main/libxv/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxv 2pkgname=libxv
3pkgver=1.0.6 3pkgver=1.0.7
4pkgrel=1 4pkgrel=0
5pkgdesc="X11 Video extension library" 5pkgdesc="X11 Video extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -25,4 +25,4 @@ package() {
25 rm "$pkgdir"/usr/lib/*.la || return 1 25 rm "$pkgdir"/usr/lib/*.la || return 1
26 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 26 install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
27} 27}
28md5sums="e292445a64b63e918bbc8b6aae6391dd libXv-1.0.6.tar.bz2" 28md5sums="5e1ac203ccd3ce3e89755ed1fbe75b0b libXv-1.0.7.tar.bz2"
diff --git a/main/libxvmc/APKBUILD b/main/libxvmc/APKBUILD
index 48a13e4bda..22eb462ddf 100644
--- a/main/libxvmc/APKBUILD
+++ b/main/libxvmc/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxvmc 2pkgname=libxvmc
3pkgver=1.0.6 3pkgver=1.0.7
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Video Motion Compensation extension library" 5pkgdesc="X11 Video Motion Compensation extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -24,4 +24,4 @@ package() {
24 make DESTDIR="$pkgdir" install || return 1 24 make DESTDIR="$pkgdir" install || return 1
25 rm "$pkgdir"/usr/lib/*.la 25 rm "$pkgdir"/usr/lib/*.la
26} 26}
27md5sums="bfc7524646f890dfc30dea1d676004a3 libXvMC-1.0.6.tar.bz2" 27md5sums="3340c99ff556ea2457b4be47f5cb96fa libXvMC-1.0.7.tar.bz2"
diff --git a/main/libxxf86dga/APKBUILD b/main/libxxf86dga/APKBUILD
index 3789f5b125..9a8396ef46 100644
--- a/main/libxxf86dga/APKBUILD
+++ b/main/libxxf86dga/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxxf86dga 2pkgname=libxxf86dga
3pkgver=1.1.2 3pkgver=1.1.3
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 Direct Graphics Access extension library" 5pkgdesc="X11 Direct Graphics Access extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -23,4 +23,4 @@ package() {
23 make DESTDIR="$pkgdir" install || return 1 23 make DESTDIR="$pkgdir" install || return 1
24 rm "$pkgdir"/usr/lib/*.la 24 rm "$pkgdir"/usr/lib/*.la
25} 25}
26md5sums="bbd5fdf63d4c107c8cb710d4df2012b4 libXxf86dga-1.1.2.tar.bz2" 26md5sums="b7f38465c46e7145782d37dbb9da8c09 libXxf86dga-1.1.3.tar.bz2"
diff --git a/main/libxxf86vm/APKBUILD b/main/libxxf86vm/APKBUILD
index e1fffccbdc..edcfc275f7 100644
--- a/main/libxxf86vm/APKBUILD
+++ b/main/libxxf86vm/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=libxxf86vm 2pkgname=libxxf86vm
3pkgver=1.1.1 3pkgver=1.1.2
4pkgrel=2 4pkgrel=0
5pkgdesc="X11 XFree86 video mode extension library" 5pkgdesc="X11 XFree86 video mode extension library"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
@@ -26,4 +26,4 @@ package() {
26 rm "$pkgdir"/usr/lib/*.la || return 1 26 rm "$pkgdir"/usr/lib/*.la || return 1
27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING 27 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
28} 28}
29md5sums="34dc3df888c164378da89a7deeb245a0 libXxf86vm-1.1.1.tar.bz2" 29md5sums="ffd93bcedd8b2b5aeabf184e7b91f326 libXxf86vm-1.1.2.tar.bz2"
diff --git a/main/lighttpd/APKBUILD b/main/lighttpd/APKBUILD
index 11d0f3180a..832409f8b5 100644
--- a/main/lighttpd/APKBUILD
+++ b/main/lighttpd/APKBUILD
@@ -2,7 +2,7 @@
2pkgname=lighttpd 2pkgname=lighttpd
3pkgver=1.4.30 3pkgver=1.4.30
4_streamver=2.2.0 4_streamver=2.2.0
5pkgrel=1 5pkgrel=2
6pkgdesc="a secure, fast, compliant and very flexible web-server" 6pkgdesc="a secure, fast, compliant and very flexible web-server"
7url="http://www.lighttpd.net/" 7url="http://www.lighttpd.net/"
8arch="all" 8arch="all"
diff --git a/main/linux-firmware/APKBUILD b/main/linux-firmware/APKBUILD
index 215861b06a..bfdbaeadbb 100644
--- a/main/linux-firmware/APKBUILD
+++ b/main/linux-firmware/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=linux-firmware 3pkgname=linux-firmware
4pkgver=20111208 4pkgver=20120227
5pkgrel=0 5pkgrel=0
6pkgdesc="firmware files for linux" 6pkgdesc="firmware files for linux"
7url="http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary" 7url="http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary"
@@ -45,4 +45,4 @@ package() {
45 mv "${_builddir}" ${pkgdir}/lib/firmware 45 mv "${_builddir}" ${pkgdir}/lib/firmware
46} 46}
47 47
48md5sums="b8673160ebf2f7888c4044819efedf32 linux-firmware-20111208.tar.bz2" 48md5sums="32bd475e32ab11ed3e229bbec8b68ad3 linux-firmware-20120227.tar.bz2"
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 1f5b17a825..6af77c90f0 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
2 2
3_flavor=grsec 3_flavor=grsec
4pkgname=linux-${_flavor} 4pkgname=linux-${_flavor}
5pkgver=3.2.6 5pkgver=3.2.11
6_kernver=3.2 6_kernver=3.2
7pkgrel=0 7pkgrel=0
8pkgdesc="Linux kernel with grsecurity" 8pkgdesc="Linux kernel with grsecurity"
@@ -14,12 +14,13 @@ _config=${config:-kernelconfig.${CARCH}}
14install= 14install=
15source="http://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$_kernver.tar.bz2 15source="http://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$_kernver.tar.bz2
16 http://ftp.kernel.org/pub/linux/kernel/v3.0/patch-$pkgver.bz2 16 http://ftp.kernel.org/pub/linux/kernel/v3.0/patch-$pkgver.bz2
17 grsecurity-2.2.2-3.2.6-201202131824.patch 17 grsecurity-2.9-3.2.11-201203141956.patch
18 18
19 0004-arp-flush-arp-cache-on-device-change.patch 19 0004-arp-flush-arp-cache-on-device-change.patch
20 20
21 x86-centaur-enable-cx8-for-via-eden-too.patch 21 x86-centaur-enable-cx8-for-via-eden-too.patch
22 linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch 22 inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
23 route-remove-redirect-genid.patch
23 24
24 kernelconfig.x86 25 kernelconfig.x86
25 kernelconfig.x86_64 26 kernelconfig.x86_64
@@ -140,10 +141,11 @@ dev() {
140} 141}
141 142
142md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2 143md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
1432bd4679899df503177a3b61ae2068749 patch-3.2.6.bz2 144a4c2531ee383dfd429e105816b4d2ccc patch-3.2.11.bz2
144905e73610bfdb7fd497fa95adcbea2ce grsecurity-2.2.2-3.2.6-201202131824.patch 145b7d1619cad370ec520c9184cba785df0 grsecurity-2.9-3.2.11-201203141956.patch
145776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch 146776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
146f3eda7112ef074a4121ec6de943c63ee x86-centaur-enable-cx8-for-via-eden-too.patch 147f3eda7112ef074a4121ec6de943c63ee x86-centaur-enable-cx8-for-via-eden-too.patch
14762cc7d7b5ba7ef05b72ff91c0411c189 linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch 1480e57daa3b43acadd82ae66fa9e3f7da1 inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
148bd0b139de82316d44cf3376533daddb8 kernelconfig.x86 14906061e5de624849e082c3c8dbe37c908 route-remove-redirect-genid.patch
14984644f7193b0b9d9bd474b5ec322a0f8 kernelconfig.x86_64" 1505dd06dffb7f90828e0dc00d884321845 kernelconfig.x86
151fcdfcf0701a053957653a5e26fd33783 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 2ac63128e2..ba37ae48fb 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 @@
1diff --git a/Documentation/dontdiff b/Documentation/dontdiff 1diff --git a/Documentation/dontdiff b/Documentation/dontdiff
2index dfa6fc6..0095943 100644 2index dfa6fc6..6af9546 100644
3--- a/Documentation/dontdiff 3--- a/Documentation/dontdiff
4+++ b/Documentation/dontdiff 4+++ b/Documentation/dontdiff
5@@ -5,6 +5,7 @@ 5@@ -5,6 +5,7 @@
@@ -63,7 +63,11 @@ index dfa6fc6..0095943 100644
63 conmakehash 63 conmakehash
64 consolemap_deftbl.c* 64 consolemap_deftbl.c*
65 cpustr.h 65 cpustr.h
66@@ -119,6 +129,7 @@ dslm 66@@ -116,9 +126,11 @@ devlist.h*
67 dnotify_test
68 docproc
69 dslm
70+dtc-lexer.lex.c
67 elf2ecoff 71 elf2ecoff
68 elfconfig.h* 72 elfconfig.h*
69 evergreen_reg_safe.h 73 evergreen_reg_safe.h
@@ -71,7 +75,7 @@ index dfa6fc6..0095943 100644
71 fixdep 75 fixdep
72 flask.h 76 flask.h
73 fore200e_mkfirm 77 fore200e_mkfirm
74@@ -126,12 +137,15 @@ fore200e_pca_fw.c* 78@@ -126,12 +138,15 @@ fore200e_pca_fw.c*
75 gconf 79 gconf
76 gconf.glade.h 80 gconf.glade.h
77 gen-devlist 81 gen-devlist
@@ -87,7 +91,7 @@ index dfa6fc6..0095943 100644
87 hpet_example 91 hpet_example
88 hugepage-mmap 92 hugepage-mmap
89 hugepage-shm 93 hugepage-shm
90@@ -146,7 +160,7 @@ int32.c 94@@ -146,7 +161,7 @@ int32.c
91 int4.c 95 int4.c
92 int8.c 96 int8.c
93 kallsyms 97 kallsyms
@@ -96,15 +100,16 @@ index dfa6fc6..0095943 100644
96 keywords.c 100 keywords.c
97 ksym.c* 101 ksym.c*
98 ksym.h* 102 ksym.h*
99@@ -154,7 +168,6 @@ kxgettext 103@@ -154,7 +169,7 @@ kxgettext
100 lkc_defs.h 104 lkc_defs.h
101 lex.c 105 lex.c
102 lex.*.c 106 lex.*.c
103-linux 107-linux
108+lib1funcs.S
104 logo_*.c 109 logo_*.c
105 logo_*_clut224.c 110 logo_*_clut224.c
106 logo_*_mono.c 111 logo_*_mono.c
107@@ -166,14 +179,15 @@ machtypes.h 112@@ -166,14 +181,15 @@ machtypes.h
108 map 113 map
109 map_hugetlb 114 map_hugetlb
110 maui_boot.h 115 maui_boot.h
@@ -121,7 +126,7 @@ index dfa6fc6..0095943 100644
121 mkprep 126 mkprep
122 mkregtable 127 mkregtable
123 mktables 128 mktables
124@@ -209,6 +223,7 @@ r300_reg_safe.h 129@@ -209,6 +225,7 @@ r300_reg_safe.h
125 r420_reg_safe.h 130 r420_reg_safe.h
126 r600_reg_safe.h 131 r600_reg_safe.h
127 recordmcount 132 recordmcount
@@ -129,7 +134,7 @@ index dfa6fc6..0095943 100644
129 relocs 134 relocs
130 rlim_names.h 135 rlim_names.h
131 rn50_reg_safe.h 136 rn50_reg_safe.h
132@@ -219,6 +234,7 @@ setup 137@@ -219,6 +236,7 @@ setup
133 setup.bin 138 setup.bin
134 setup.elf 139 setup.elf
135 sImage 140 sImage
@@ -137,7 +142,7 @@ index dfa6fc6..0095943 100644
137 sm_tbl* 142 sm_tbl*
138 split-include 143 split-include
139 syscalltab.h 144 syscalltab.h
140@@ -229,6 +245,7 @@ tftpboot.img 145@@ -229,6 +247,7 @@ tftpboot.img
141 timeconst.h 146 timeconst.h
142 times.h* 147 times.h*
143 trix_boot.h 148 trix_boot.h
@@ -145,7 +150,7 @@ index dfa6fc6..0095943 100644
145 utsrelease.h* 150 utsrelease.h*
146 vdso-syms.lds 151 vdso-syms.lds
147 vdso.lds 152 vdso.lds
148@@ -246,7 +263,9 @@ vmlinux 153@@ -246,7 +265,9 @@ vmlinux
149 vmlinux-* 154 vmlinux-*
150 vmlinux.aout 155 vmlinux.aout
151 vmlinux.bin.all 156 vmlinux.bin.all
@@ -155,7 +160,7 @@ index dfa6fc6..0095943 100644
155 vmlinuz 160 vmlinuz
156 voffset.h 161 voffset.h
157 vsyscall.lds 162 vsyscall.lds
158@@ -254,9 +273,11 @@ vsyscall_32.lds 163@@ -254,9 +275,11 @@ vsyscall_32.lds
159 wanxlfw.inc 164 wanxlfw.inc
160 uImage 165 uImage
161 unifdef 166 unifdef
@@ -186,7 +191,7 @@ index 81c287f..d456d02 100644
186 191
187 pcd. [PARIDE] 192 pcd. [PARIDE]
188diff --git a/Makefile b/Makefile 193diff --git a/Makefile b/Makefile
189index 47fe496..c50bd2a 100644 194index 4b76371..53aa79c 100644
190--- a/Makefile 195--- a/Makefile
191+++ b/Makefile 196+++ b/Makefile
192@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ 197@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -212,32 +217,36 @@ index 47fe496..c50bd2a 100644
212 $(Q)$(MAKE) $(build)=scripts/basic 217 $(Q)$(MAKE) $(build)=scripts/basic
213 $(Q)rm -f .tmp_quiet_recordmcount 218 $(Q)rm -f .tmp_quiet_recordmcount
214 219
215@@ -564,6 +565,46 @@ else 220@@ -564,6 +565,50 @@ else
216 KBUILD_CFLAGS += -O2 221 KBUILD_CFLAGS += -O2
217 endif 222 endif
218 223
219+ifndef DISABLE_PAX_PLUGINS 224+ifndef DISABLE_PAX_PLUGINS
220+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y) 225+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
221+ifndef DISABLE_PAX_CONSTIFY_PLUGIN 226+ifndef DISABLE_PAX_CONSTIFY_PLUGIN
222+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN 227+CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
223+endif 228+endif
224+ifdef CONFIG_PAX_MEMORY_STACKLEAK 229+ifdef CONFIG_PAX_MEMORY_STACKLEAK
225+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN 230+STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
226+STACKLEAK_PLUGIN += -fplugin-arg-stackleak_plugin-track-lowest-sp=100 231+STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
227+endif 232+endif
228+ifdef CONFIG_KALLOCSTAT_PLUGIN 233+ifdef CONFIG_KALLOCSTAT_PLUGIN
229+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so 234+KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
230+endif 235+endif
231+ifdef CONFIG_PAX_KERNEXEC_PLUGIN 236+ifdef CONFIG_PAX_KERNEXEC_PLUGIN
232+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so 237+KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
233+KERNEXEC_PLUGIN += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) 238+KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN
239+KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN
234+endif 240+endif
235+ifdef CONFIG_CHECKER_PLUGIN 241+ifdef CONFIG_CHECKER_PLUGIN
236+ifeq ($(call cc-ifversion, -ge, 0406, y), y) 242+ifeq ($(call cc-ifversion, -ge, 0406, y), y)
237+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN 243+CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
238+endif 244+endif
239+endif 245+endif
240+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN) 246+COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so
247+GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS)
248+GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS)
249+GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS)
241+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN 250+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
242+ifeq ($(KBUILD_EXTMOD),) 251+ifeq ($(KBUILD_EXTMOD),)
243+gcc-plugins: 252+gcc-plugins:
@@ -259,7 +268,7 @@ index 47fe496..c50bd2a 100644
259 include $(srctree)/arch/$(SRCARCH)/Makefile 268 include $(srctree)/arch/$(SRCARCH)/Makefile
260 269
261 ifneq ($(CONFIG_FRAME_WARN),0) 270 ifneq ($(CONFIG_FRAME_WARN),0)
262@@ -708,7 +749,7 @@ export mod_strip_cmd 271@@ -708,7 +753,7 @@ export mod_strip_cmd
263 272
264 273
265 ifeq ($(KBUILD_EXTMOD),) 274 ifeq ($(KBUILD_EXTMOD),)
@@ -268,15 +277,16 @@ index 47fe496..c50bd2a 100644
268 277
269 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ 278 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
270 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ 279 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
271@@ -932,6 +973,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE 280@@ -932,6 +977,8 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
272 281
273 # The actual objects are generated when descending, 282 # The actual objects are generated when descending,
274 # make sure no implicit rule kicks in 283 # make sure no implicit rule kicks in
275+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS) 284+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
285+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
276 $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; 286 $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
277 287
278 # Handle descending into subdirectories listed in $(vmlinux-dirs) 288 # Handle descending into subdirectories listed in $(vmlinux-dirs)
279@@ -941,7 +983,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; 289@@ -941,7 +988,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
280 # Error messages still appears in the original language 290 # Error messages still appears in the original language
281 291
282 PHONY += $(vmlinux-dirs) 292 PHONY += $(vmlinux-dirs)
@@ -285,23 +295,24 @@ index 47fe496..c50bd2a 100644
285 $(Q)$(MAKE) $(build)=$@ 295 $(Q)$(MAKE) $(build)=$@
286 296
287 # Store (new) KERNELRELASE string in include/config/kernel.release 297 # Store (new) KERNELRELASE string in include/config/kernel.release
288@@ -985,6 +1027,7 @@ prepare0: archprepare FORCE 298@@ -985,6 +1032,7 @@ prepare0: archprepare FORCE
289 $(Q)$(MAKE) $(build)=. 299 $(Q)$(MAKE) $(build)=.
290 300
291 # All the preparing.. 301 # All the preparing..
292+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS),$(KBUILD_CFLAGS)) 302+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
293 prepare: prepare0 303 prepare: prepare0
294 304
295 # Generate some files 305 # Generate some files
296@@ -1086,6 +1129,7 @@ all: modules 306@@ -1086,6 +1134,8 @@ all: modules
297 # using awk while concatenating to the final file. 307 # using awk while concatenating to the final file.
298 308
299 PHONY += modules 309 PHONY += modules
300+modules: KBUILD_CFLAGS += $(GCC_PLUGINS) 310+modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
311+modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
301 modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin 312 modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
302 $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order 313 $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
303 @$(kecho) ' Building modules, stage 2.'; 314 @$(kecho) ' Building modules, stage 2.';
304@@ -1101,7 +1145,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin) 315@@ -1101,7 +1151,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
305 316
306 # Target to prepare building external modules 317 # Target to prepare building external modules
307 PHONY += modules_prepare 318 PHONY += modules_prepare
@@ -310,7 +321,7 @@ index 47fe496..c50bd2a 100644
310 321
311 # Target to install modules 322 # Target to install modules
312 PHONY += modules_install 323 PHONY += modules_install
313@@ -1198,6 +1242,7 @@ distclean: mrproper 324@@ -1198,6 +1248,7 @@ distclean: mrproper
314 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ 325 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
315 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ 326 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
316 -o -name '.*.rej' \ 327 -o -name '.*.rej' \
@@ -318,26 +329,29 @@ index 47fe496..c50bd2a 100644
318 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ 329 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
319 -type f -print | xargs rm -f 330 -type f -print | xargs rm -f
320 331
321@@ -1358,6 +1403,7 @@ PHONY += $(module-dirs) modules 332@@ -1358,6 +1409,8 @@ PHONY += $(module-dirs) modules
322 $(module-dirs): crmodverdir $(objtree)/Module.symvers 333 $(module-dirs): crmodverdir $(objtree)/Module.symvers
323 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) 334 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
324 335
325+modules: KBUILD_CFLAGS += $(GCC_PLUGINS) 336+modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
337+modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
326 modules: $(module-dirs) 338 modules: $(module-dirs)
327 @$(kecho) ' Building modules, stage 2.'; 339 @$(kecho) ' Building modules, stage 2.';
328 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost 340 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
329@@ -1484,17 +1530,19 @@ else 341@@ -1484,17 +1537,21 @@ else
330 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) 342 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
331 endif 343 endif
332 344
333-%.s: %.c prepare scripts FORCE 345-%.s: %.c prepare scripts FORCE
334+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS) 346+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
347+%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
335+%.s: %.c gcc-plugins prepare scripts FORCE 348+%.s: %.c gcc-plugins prepare scripts FORCE
336 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 349 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
337 %.i: %.c prepare scripts FORCE 350 %.i: %.c prepare scripts FORCE
338 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 351 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
339-%.o: %.c prepare scripts FORCE 352-%.o: %.c prepare scripts FORCE
340+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS) 353+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
354+%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
341+%.o: %.c gcc-plugins prepare scripts FORCE 355+%.o: %.c gcc-plugins prepare scripts FORCE
342 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 356 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
343 %.lst: %.c prepare scripts FORCE 357 %.lst: %.c prepare scripts FORCE
@@ -350,22 +364,71 @@ index 47fe496..c50bd2a 100644
350 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 364 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
351 %.symtypes: %.c prepare scripts FORCE 365 %.symtypes: %.c prepare scripts FORCE
352 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 366 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
353@@ -1504,11 +1552,13 @@ endif 367@@ -1504,11 +1561,15 @@ endif
354 $(cmd_crmodverdir) 368 $(cmd_crmodverdir)
355 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ 369 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
356 $(build)=$(build-dir) 370 $(build)=$(build-dir)
357-%/: prepare scripts FORCE 371-%/: prepare scripts FORCE
358+%/: KBUILD_CFLAGS += $(GCC_PLUGINS) 372+%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
373+%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
359+%/: gcc-plugins prepare scripts FORCE 374+%/: gcc-plugins prepare scripts FORCE
360 $(cmd_crmodverdir) 375 $(cmd_crmodverdir)
361 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ 376 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
362 $(build)=$(build-dir) 377 $(build)=$(build-dir)
363-%.ko: prepare scripts FORCE 378-%.ko: prepare scripts FORCE
364+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS) 379+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
380+%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
365+%.ko: gcc-plugins prepare scripts FORCE 381+%.ko: gcc-plugins prepare scripts FORCE
366 $(cmd_crmodverdir) 382 $(cmd_crmodverdir)
367 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ 383 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
368 $(build)=$(build-dir) $(@:.ko=.o) 384 $(build)=$(build-dir) $(@:.ko=.o)
385diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
386index 640f909..48b6597 100644
387--- a/arch/alpha/include/asm/atomic.h
388+++ b/arch/alpha/include/asm/atomic.h
389@@ -250,6 +250,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
390 #define atomic_dec(v) atomic_sub(1,(v))
391 #define atomic64_dec(v) atomic64_sub(1,(v))
392
393+#define atomic64_read_unchecked(v) atomic64_read(v)
394+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
395+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
396+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
397+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
398+#define atomic64_inc_unchecked(v) atomic64_inc(v)
399+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
400+#define atomic64_dec_unchecked(v) atomic64_dec(v)
401+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
402+
403 #define smp_mb__before_atomic_dec() smp_mb()
404 #define smp_mb__after_atomic_dec() smp_mb()
405 #define smp_mb__before_atomic_inc() smp_mb()
406diff --git a/arch/alpha/include/asm/cache.h b/arch/alpha/include/asm/cache.h
407index ad368a9..fbe0f25 100644
408--- a/arch/alpha/include/asm/cache.h
409+++ b/arch/alpha/include/asm/cache.h
410@@ -4,19 +4,19 @@
411 #ifndef __ARCH_ALPHA_CACHE_H
412 #define __ARCH_ALPHA_CACHE_H
413
414+#include <linux/const.h>
415
416 /* Bytes per L1 (data) cache line. */
417 #if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_EV6)
418-# define L1_CACHE_BYTES 64
419 # define L1_CACHE_SHIFT 6
420 #else
421 /* Both EV4 and EV5 are write-through, read-allocate,
422 direct-mapped, physical.
423 */
424-# define L1_CACHE_BYTES 32
425 # define L1_CACHE_SHIFT 5
426 #endif
427
428+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
429 #define SMP_CACHE_BYTES L1_CACHE_BYTES
430
431 #endif
369diff --git a/arch/alpha/include/asm/elf.h b/arch/alpha/include/asm/elf.h 432diff --git a/arch/alpha/include/asm/elf.h b/arch/alpha/include/asm/elf.h
370index da5449e..7418343 100644 433index da5449e..7418343 100644
371--- a/arch/alpha/include/asm/elf.h 434--- a/arch/alpha/include/asm/elf.h
@@ -615,10 +678,248 @@ index fadd5f8..904e73a 100644
615 /* Allow reads even for write-only mappings */ 678 /* Allow reads even for write-only mappings */
616 if (!(vma->vm_flags & (VM_READ | VM_WRITE))) 679 if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
617diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h 680diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
618index 86976d0..8a57797 100644 681index 86976d0..683de93 100644
619--- a/arch/arm/include/asm/atomic.h 682--- a/arch/arm/include/asm/atomic.h
620+++ b/arch/arm/include/asm/atomic.h 683+++ b/arch/arm/include/asm/atomic.h
621@@ -239,6 +239,14 @@ typedef struct { 684@@ -15,6 +15,10 @@
685 #include <linux/types.h>
686 #include <asm/system.h>
687
688+#ifdef CONFIG_GENERIC_ATOMIC64
689+#include <asm-generic/atomic64.h>
690+#endif
691+
692 #define ATOMIC_INIT(i) { (i) }
693
694 #ifdef __KERNEL__
695@@ -25,7 +29,15 @@
696 * atomic_set() is the clrex or dummy strex done on every exception return.
697 */
698 #define atomic_read(v) (*(volatile int *)&(v)->counter)
699+static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
700+{
701+ return v->counter;
702+}
703 #define atomic_set(v,i) (((v)->counter) = (i))
704+static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i)
705+{
706+ v->counter = i;
707+}
708
709 #if __LINUX_ARM_ARCH__ >= 6
710
711@@ -40,6 +52,35 @@ static inline void atomic_add(int i, atomic_t *v)
712 int result;
713
714 __asm__ __volatile__("@ atomic_add\n"
715+"1: ldrex %1, [%3]\n"
716+" adds %0, %1, %4\n"
717+
718+#ifdef CONFIG_PAX_REFCOUNT
719+" bvc 3f\n"
720+"2: bkpt 0xf103\n"
721+"3:\n"
722+#endif
723+
724+" strex %1, %0, [%3]\n"
725+" teq %1, #0\n"
726+" bne 1b"
727+
728+#ifdef CONFIG_PAX_REFCOUNT
729+"\n4:\n"
730+ _ASM_EXTABLE(2b, 4b)
731+#endif
732+
733+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
734+ : "r" (&v->counter), "Ir" (i)
735+ : "cc");
736+}
737+
738+static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v)
739+{
740+ unsigned long tmp;
741+ int result;
742+
743+ __asm__ __volatile__("@ atomic_add_unchecked\n"
744 "1: ldrex %0, [%3]\n"
745 " add %0, %0, %4\n"
746 " strex %1, %0, [%3]\n"
747@@ -58,6 +99,42 @@ static inline int atomic_add_return(int i, atomic_t *v)
748 smp_mb();
749
750 __asm__ __volatile__("@ atomic_add_return\n"
751+"1: ldrex %1, [%3]\n"
752+" adds %0, %1, %4\n"
753+
754+#ifdef CONFIG_PAX_REFCOUNT
755+" bvc 3f\n"
756+" mov %0, %1\n"
757+"2: bkpt 0xf103\n"
758+"3:\n"
759+#endif
760+
761+" strex %1, %0, [%3]\n"
762+" teq %1, #0\n"
763+" bne 1b"
764+
765+#ifdef CONFIG_PAX_REFCOUNT
766+"\n4:\n"
767+ _ASM_EXTABLE(2b, 4b)
768+#endif
769+
770+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
771+ : "r" (&v->counter), "Ir" (i)
772+ : "cc");
773+
774+ smp_mb();
775+
776+ return result;
777+}
778+
779+static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
780+{
781+ unsigned long tmp;
782+ int result;
783+
784+ smp_mb();
785+
786+ __asm__ __volatile__("@ atomic_add_return_unchecked\n"
787 "1: ldrex %0, [%3]\n"
788 " add %0, %0, %4\n"
789 " strex %1, %0, [%3]\n"
790@@ -78,6 +155,35 @@ static inline void atomic_sub(int i, atomic_t *v)
791 int result;
792
793 __asm__ __volatile__("@ atomic_sub\n"
794+"1: ldrex %1, [%3]\n"
795+" subs %0, %1, %4\n"
796+
797+#ifdef CONFIG_PAX_REFCOUNT
798+" bvc 3f\n"
799+"2: bkpt 0xf103\n"
800+"3:\n"
801+#endif
802+
803+" strex %1, %0, [%3]\n"
804+" teq %1, #0\n"
805+" bne 1b"
806+
807+#ifdef CONFIG_PAX_REFCOUNT
808+"\n4:\n"
809+ _ASM_EXTABLE(2b, 4b)
810+#endif
811+
812+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
813+ : "r" (&v->counter), "Ir" (i)
814+ : "cc");
815+}
816+
817+static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v)
818+{
819+ unsigned long tmp;
820+ int result;
821+
822+ __asm__ __volatile__("@ atomic_sub_unchecked\n"
823 "1: ldrex %0, [%3]\n"
824 " sub %0, %0, %4\n"
825 " strex %1, %0, [%3]\n"
826@@ -96,11 +202,25 @@ static inline int atomic_sub_return(int i, atomic_t *v)
827 smp_mb();
828
829 __asm__ __volatile__("@ atomic_sub_return\n"
830-"1: ldrex %0, [%3]\n"
831-" sub %0, %0, %4\n"
832+"1: ldrex %1, [%3]\n"
833+" sub %0, %1, %4\n"
834+
835+#ifdef CONFIG_PAX_REFCOUNT
836+" bvc 3f\n"
837+" mov %0, %1\n"
838+"2: bkpt 0xf103\n"
839+"3:\n"
840+#endif
841+
842 " strex %1, %0, [%3]\n"
843 " teq %1, #0\n"
844 " bne 1b"
845+
846+#ifdef CONFIG_PAX_REFCOUNT
847+"\n4:\n"
848+ _ASM_EXTABLE(2b, 4b)
849+#endif
850+
851 : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
852 : "r" (&v->counter), "Ir" (i)
853 : "cc");
854@@ -132,6 +252,28 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
855 return oldval;
856 }
857
858+static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *ptr, int old, int new)
859+{
860+ unsigned long oldval, res;
861+
862+ smp_mb();
863+
864+ do {
865+ __asm__ __volatile__("@ atomic_cmpxchg_unchecked\n"
866+ "ldrex %1, [%3]\n"
867+ "mov %0, #0\n"
868+ "teq %1, %4\n"
869+ "strexeq %0, %5, [%3]\n"
870+ : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
871+ : "r" (&ptr->counter), "Ir" (old), "r" (new)
872+ : "cc");
873+ } while (res);
874+
875+ smp_mb();
876+
877+ return oldval;
878+}
879+
880 static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
881 {
882 unsigned long tmp, tmp2;
883@@ -207,6 +349,10 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
884 #endif /* __LINUX_ARM_ARCH__ */
885
886 #define atomic_xchg(v, new) (xchg(&((v)->counter), new))
887+static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new)
888+{
889+ return xchg(&v->counter, new);
890+}
891
892 static inline int __atomic_add_unless(atomic_t *v, int a, int u)
893 {
894@@ -219,11 +365,27 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
895 }
896
897 #define atomic_inc(v) atomic_add(1, v)
898+static inline void atomic_inc_unchecked(atomic_unchecked_t *v)
899+{
900+ atomic_add_unchecked(1, v);
901+}
902 #define atomic_dec(v) atomic_sub(1, v)
903+static inline void atomic_dec_unchecked(atomic_unchecked_t *v)
904+{
905+ atomic_sub_unchecked(1, v);
906+}
907
908 #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0)
909+static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v)
910+{
911+ return atomic_add_return_unchecked(1, v) == 0;
912+}
913 #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
914 #define atomic_inc_return(v) (atomic_add_return(1, v))
915+static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v)
916+{
917+ return atomic_add_return_unchecked(1, v);
918+}
919 #define atomic_dec_return(v) (atomic_sub_return(1, v))
920 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
921
922@@ -239,6 +401,14 @@ typedef struct {
622 u64 __aligned(8) counter; 923 u64 __aligned(8) counter;
623 } atomic64_t; 924 } atomic64_t;
624 925
@@ -633,6 +934,355 @@ index 86976d0..8a57797 100644
633 #define ATOMIC64_INIT(i) { (i) } 934 #define ATOMIC64_INIT(i) { (i) }
634 935
635 static inline u64 atomic64_read(atomic64_t *v) 936 static inline u64 atomic64_read(atomic64_t *v)
937@@ -254,6 +424,19 @@ static inline u64 atomic64_read(atomic64_t *v)
938 return result;
939 }
940
941+static inline u64 atomic64_read_unchecked(atomic64_unchecked_t *v)
942+{
943+ u64 result;
944+
945+ __asm__ __volatile__("@ atomic64_read_unchecked\n"
946+" ldrexd %0, %H0, [%1]"
947+ : "=&r" (result)
948+ : "r" (&v->counter), "Qo" (v->counter)
949+ );
950+
951+ return result;
952+}
953+
954 static inline void atomic64_set(atomic64_t *v, u64 i)
955 {
956 u64 tmp;
957@@ -268,6 +451,20 @@ static inline void atomic64_set(atomic64_t *v, u64 i)
958 : "cc");
959 }
960
961+static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, u64 i)
962+{
963+ u64 tmp;
964+
965+ __asm__ __volatile__("@ atomic64_set_unchecked\n"
966+"1: ldrexd %0, %H0, [%2]\n"
967+" strexd %0, %3, %H3, [%2]\n"
968+" teq %0, #0\n"
969+" bne 1b"
970+ : "=&r" (tmp), "=Qo" (v->counter)
971+ : "r" (&v->counter), "r" (i)
972+ : "cc");
973+}
974+
975 static inline void atomic64_add(u64 i, atomic64_t *v)
976 {
977 u64 result;
978@@ -276,6 +473,36 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
979 __asm__ __volatile__("@ atomic64_add\n"
980 "1: ldrexd %0, %H0, [%3]\n"
981 " adds %0, %0, %4\n"
982+" adcs %H0, %H0, %H4\n"
983+
984+#ifdef CONFIG_PAX_REFCOUNT
985+" bvc 3f\n"
986+"2: bkpt 0xf103\n"
987+"3:\n"
988+#endif
989+
990+" strexd %1, %0, %H0, [%3]\n"
991+" teq %1, #0\n"
992+" bne 1b"
993+
994+#ifdef CONFIG_PAX_REFCOUNT
995+"\n4:\n"
996+ _ASM_EXTABLE(2b, 4b)
997+#endif
998+
999+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
1000+ : "r" (&v->counter), "r" (i)
1001+ : "cc");
1002+}
1003+
1004+static inline void atomic64_add_unchecked(u64 i, atomic64_unchecked_t *v)
1005+{
1006+ u64 result;
1007+ unsigned long tmp;
1008+
1009+ __asm__ __volatile__("@ atomic64_add_unchecked\n"
1010+"1: ldrexd %0, %H0, [%3]\n"
1011+" adds %0, %0, %4\n"
1012 " adc %H0, %H0, %H4\n"
1013 " strexd %1, %0, %H0, [%3]\n"
1014 " teq %1, #0\n"
1015@@ -287,12 +514,49 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
1016
1017 static inline u64 atomic64_add_return(u64 i, atomic64_t *v)
1018 {
1019- u64 result;
1020- unsigned long tmp;
1021+ u64 result, tmp;
1022
1023 smp_mb();
1024
1025 __asm__ __volatile__("@ atomic64_add_return\n"
1026+"1: ldrexd %1, %H1, [%3]\n"
1027+" adds %0, %1, %4\n"
1028+" adcs %H0, %H1, %H4\n"
1029+
1030+#ifdef CONFIG_PAX_REFCOUNT
1031+" bvc 3f\n"
1032+" mov %0, %1\n"
1033+" mov %H0, %H1\n"
1034+"2: bkpt 0xf103\n"
1035+"3:\n"
1036+#endif
1037+
1038+" strexd %1, %0, %H0, [%3]\n"
1039+" teq %1, #0\n"
1040+" bne 1b"
1041+
1042+#ifdef CONFIG_PAX_REFCOUNT
1043+"\n4:\n"
1044+ _ASM_EXTABLE(2b, 4b)
1045+#endif
1046+
1047+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
1048+ : "r" (&v->counter), "r" (i)
1049+ : "cc");
1050+
1051+ smp_mb();
1052+
1053+ return result;
1054+}
1055+
1056+static inline u64 atomic64_add_return_unchecked(u64 i, atomic64_unchecked_t *v)
1057+{
1058+ u64 result;
1059+ unsigned long tmp;
1060+
1061+ smp_mb();
1062+
1063+ __asm__ __volatile__("@ atomic64_add_return_unchecked\n"
1064 "1: ldrexd %0, %H0, [%3]\n"
1065 " adds %0, %0, %4\n"
1066 " adc %H0, %H0, %H4\n"
1067@@ -316,6 +580,36 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
1068 __asm__ __volatile__("@ atomic64_sub\n"
1069 "1: ldrexd %0, %H0, [%3]\n"
1070 " subs %0, %0, %4\n"
1071+" sbcs %H0, %H0, %H4\n"
1072+
1073+#ifdef CONFIG_PAX_REFCOUNT
1074+" bvc 3f\n"
1075+"2: bkpt 0xf103\n"
1076+"3:\n"
1077+#endif
1078+
1079+" strexd %1, %0, %H0, [%3]\n"
1080+" teq %1, #0\n"
1081+" bne 1b"
1082+
1083+#ifdef CONFIG_PAX_REFCOUNT
1084+"\n4:\n"
1085+ _ASM_EXTABLE(2b, 4b)
1086+#endif
1087+
1088+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
1089+ : "r" (&v->counter), "r" (i)
1090+ : "cc");
1091+}
1092+
1093+static inline void atomic64_sub_unchecked(u64 i, atomic64_unchecked_t *v)
1094+{
1095+ u64 result;
1096+ unsigned long tmp;
1097+
1098+ __asm__ __volatile__("@ atomic64_sub_unchecked\n"
1099+"1: ldrexd %0, %H0, [%3]\n"
1100+" subs %0, %0, %4\n"
1101 " sbc %H0, %H0, %H4\n"
1102 " strexd %1, %0, %H0, [%3]\n"
1103 " teq %1, #0\n"
1104@@ -327,18 +621,32 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
1105
1106 static inline u64 atomic64_sub_return(u64 i, atomic64_t *v)
1107 {
1108- u64 result;
1109- unsigned long tmp;
1110+ u64 result, tmp;
1111
1112 smp_mb();
1113
1114 __asm__ __volatile__("@ atomic64_sub_return\n"
1115-"1: ldrexd %0, %H0, [%3]\n"
1116-" subs %0, %0, %4\n"
1117-" sbc %H0, %H0, %H4\n"
1118+"1: ldrexd %1, %H1, [%3]\n"
1119+" subs %0, %1, %4\n"
1120+" sbc %H0, %H1, %H4\n"
1121+
1122+#ifdef CONFIG_PAX_REFCOUNT
1123+" bvc 3f\n"
1124+" mov %0, %1\n"
1125+" mov %H0, %H1\n"
1126+"2: bkpt 0xf103\n"
1127+"3:\n"
1128+#endif
1129+
1130 " strexd %1, %0, %H0, [%3]\n"
1131 " teq %1, #0\n"
1132 " bne 1b"
1133+
1134+#ifdef CONFIG_PAX_REFCOUNT
1135+"\n4:\n"
1136+ _ASM_EXTABLE(2b, 4b)
1137+#endif
1138+
1139 : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
1140 : "r" (&v->counter), "r" (i)
1141 : "cc");
1142@@ -372,6 +680,30 @@ static inline u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old, u64 new)
1143 return oldval;
1144 }
1145
1146+static inline u64 atomic64_cmpxchg_unchecked(atomic64_unchecked_t *ptr, u64 old, u64 new)
1147+{
1148+ u64 oldval;
1149+ unsigned long res;
1150+
1151+ smp_mb();
1152+
1153+ do {
1154+ __asm__ __volatile__("@ atomic64_cmpxchg_unchecked\n"
1155+ "ldrexd %1, %H1, [%3]\n"
1156+ "mov %0, #0\n"
1157+ "teq %1, %4\n"
1158+ "teqeq %H1, %H4\n"
1159+ "strexdeq %0, %5, %H5, [%3]"
1160+ : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
1161+ : "r" (&ptr->counter), "r" (old), "r" (new)
1162+ : "cc");
1163+ } while (res);
1164+
1165+ smp_mb();
1166+
1167+ return oldval;
1168+}
1169+
1170 static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
1171 {
1172 u64 result;
1173@@ -395,21 +727,34 @@ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
1174
1175 static inline u64 atomic64_dec_if_positive(atomic64_t *v)
1176 {
1177- u64 result;
1178- unsigned long tmp;
1179+ u64 result, tmp;
1180
1181 smp_mb();
1182
1183 __asm__ __volatile__("@ atomic64_dec_if_positive\n"
1184-"1: ldrexd %0, %H0, [%3]\n"
1185-" subs %0, %0, #1\n"
1186-" sbc %H0, %H0, #0\n"
1187+"1: ldrexd %1, %H1, [%3]\n"
1188+" subs %0, %1, #1\n"
1189+" sbc %H0, %H1, #0\n"
1190+
1191+#ifdef CONFIG_PAX_REFCOUNT
1192+" bvc 3f\n"
1193+" mov %0, %1\n"
1194+" mov %H0, %H1\n"
1195+"2: bkpt 0xf103\n"
1196+"3:\n"
1197+#endif
1198+
1199 " teq %H0, #0\n"
1200-" bmi 2f\n"
1201+" bmi 4f\n"
1202 " strexd %1, %0, %H0, [%3]\n"
1203 " teq %1, #0\n"
1204 " bne 1b\n"
1205-"2:"
1206+"4:\n"
1207+
1208+#ifdef CONFIG_PAX_REFCOUNT
1209+ _ASM_EXTABLE(2b, 4b)
1210+#endif
1211+
1212 : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
1213 : "r" (&v->counter)
1214 : "cc");
1215@@ -432,13 +777,25 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
1216 " teq %0, %5\n"
1217 " teqeq %H0, %H5\n"
1218 " moveq %1, #0\n"
1219-" beq 2f\n"
1220+" beq 4f\n"
1221 " adds %0, %0, %6\n"
1222 " adc %H0, %H0, %H6\n"
1223+
1224+#ifdef CONFIG_PAX_REFCOUNT
1225+" bvc 3f\n"
1226+"2: bkpt 0xf103\n"
1227+"3:\n"
1228+#endif
1229+
1230 " strexd %2, %0, %H0, [%4]\n"
1231 " teq %2, #0\n"
1232 " bne 1b\n"
1233-"2:"
1234+"4:\n"
1235+
1236+#ifdef CONFIG_PAX_REFCOUNT
1237+ _ASM_EXTABLE(2b, 4b)
1238+#endif
1239+
1240 : "=&r" (val), "+r" (ret), "=&r" (tmp), "+Qo" (v->counter)
1241 : "r" (&v->counter), "r" (u), "r" (a)
1242 : "cc");
1243@@ -451,10 +808,13 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
1244
1245 #define atomic64_add_negative(a, v) (atomic64_add_return((a), (v)) < 0)
1246 #define atomic64_inc(v) atomic64_add(1LL, (v))
1247+#define atomic64_inc_unchecked(v) atomic64_add_unchecked(1LL, (v))
1248 #define atomic64_inc_return(v) atomic64_add_return(1LL, (v))
1249+#define atomic64_inc_return_unchecked(v) atomic64_add_return_unchecked(1LL, (v))
1250 #define atomic64_inc_and_test(v) (atomic64_inc_return(v) == 0)
1251 #define atomic64_sub_and_test(a, v) (atomic64_sub_return((a), (v)) == 0)
1252 #define atomic64_dec(v) atomic64_sub(1LL, (v))
1253+#define atomic64_dec_unchecked(v) atomic64_sub_unchecked(1LL, (v))
1254 #define atomic64_dec_return(v) atomic64_sub_return(1LL, (v))
1255 #define atomic64_dec_and_test(v) (atomic64_dec_return((v)) == 0)
1256 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1LL, 0LL)
1257diff --git a/arch/arm/include/asm/cache.h b/arch/arm/include/asm/cache.h
1258index 75fe66b..2255c86 100644
1259--- a/arch/arm/include/asm/cache.h
1260+++ b/arch/arm/include/asm/cache.h
1261@@ -4,8 +4,10 @@
1262 #ifndef __ASMARM_CACHE_H
1263 #define __ASMARM_CACHE_H
1264
1265+#include <linux/const.h>
1266+
1267 #define L1_CACHE_SHIFT CONFIG_ARM_L1_CACHE_SHIFT
1268-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
1269+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
1270
1271 /*
1272 * Memory returned by kmalloc() may be used for DMA, so we must make
1273diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
1274index d5d8d5c..ad92c96 100644
1275--- a/arch/arm/include/asm/cacheflush.h
1276+++ b/arch/arm/include/asm/cacheflush.h
1277@@ -108,7 +108,7 @@ struct cpu_cache_fns {
1278 void (*dma_unmap_area)(const void *, size_t, int);
1279
1280 void (*dma_flush_range)(const void *, const void *);
1281-};
1282+} __no_const;
1283
1284 /*
1285 * Select the calling method
636diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h 1286diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
637index 0e9ce8d..6ef1e03 100644 1287index 0e9ce8d..6ef1e03 100644
638--- a/arch/arm/include/asm/elf.h 1288--- a/arch/arm/include/asm/elf.h
@@ -676,6 +1326,68 @@ index e51b1e8..32a3113 100644
676 KM_TYPE_NR 1326 KM_TYPE_NR
677 }; 1327 };
678 1328
1329diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
1330index 53426c6..c7baff3 100644
1331--- a/arch/arm/include/asm/outercache.h
1332+++ b/arch/arm/include/asm/outercache.h
1333@@ -35,7 +35,7 @@ struct outer_cache_fns {
1334 #endif
1335 void (*set_debug)(unsigned long);
1336 void (*resume)(void);
1337-};
1338+} __no_const;
1339
1340 #ifdef CONFIG_OUTER_CACHE
1341
1342diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h
1343index ca94653..6ac0d56 100644
1344--- a/arch/arm/include/asm/page.h
1345+++ b/arch/arm/include/asm/page.h
1346@@ -123,7 +123,7 @@ struct cpu_user_fns {
1347 void (*cpu_clear_user_highpage)(struct page *page, unsigned long vaddr);
1348 void (*cpu_copy_user_highpage)(struct page *to, struct page *from,
1349 unsigned long vaddr, struct vm_area_struct *vma);
1350-};
1351+} __no_const;
1352
1353 #ifdef MULTI_USER
1354 extern struct cpu_user_fns cpu_user;
1355diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
1356index 984014b..a6d914f 100644
1357--- a/arch/arm/include/asm/system.h
1358+++ b/arch/arm/include/asm/system.h
1359@@ -90,6 +90,8 @@ void hook_ifault_code(int nr, int (*fn)(unsigned long, unsigned int,
1360
1361 #define xchg(ptr,x) \
1362 ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
1363+#define xchg_unchecked(ptr,x) \
1364+ ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
1365
1366 extern asmlinkage void c_backtrace(unsigned long fp, int pmode);
1367
1368@@ -101,7 +103,7 @@ extern int __pure cpu_architecture(void);
1369 extern void cpu_init(void);
1370
1371 void arm_machine_restart(char mode, const char *cmd);
1372-extern void (*arm_pm_restart)(char str, const char *cmd);
1373+extern void (*arm_pm_restart)(char str, const char *cmd) __noreturn;
1374
1375 #define UDBG_UNDEFINED (1 << 0)
1376 #define UDBG_SYSCALL (1 << 1)
1377@@ -526,6 +528,13 @@ static inline unsigned long long __cmpxchg64_mb(volatile void *ptr,
1378
1379 #endif /* __LINUX_ARM_ARCH__ >= 6 */
1380
1381+#define _ASM_EXTABLE(from, to) \
1382+" .pushsection __ex_table,\"a\"\n"\
1383+" .align 3\n" \
1384+" .long " #from ", " #to"\n" \
1385+" .popsection"
1386+
1387+
1388 #endif /* __ASSEMBLY__ */
1389
1390 #define arch_align_stack(x) (x)
679diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h 1391diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
680index b293616..96310e5 100644 1392index b293616..96310e5 100644
681--- a/arch/arm/include/asm/uaccess.h 1393--- a/arch/arm/include/asm/uaccess.h
@@ -751,7 +1463,7 @@ index 5b0bce6..becd81c 100644
751 1463
752 EXPORT_SYMBOL(__get_user_1); 1464 EXPORT_SYMBOL(__get_user_1);
753diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c 1465diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
754index 3d0c6fb..3dcae52 100644 1466index 3d0c6fb..9d326fa 100644
755--- a/arch/arm/kernel/process.c 1467--- a/arch/arm/kernel/process.c
756+++ b/arch/arm/kernel/process.c 1468+++ b/arch/arm/kernel/process.c
757@@ -28,7 +28,6 @@ 1469@@ -28,7 +28,6 @@
@@ -762,7 +1474,33 @@ index 3d0c6fb..3dcae52 100644
762 #include <linux/hw_breakpoint.h> 1474 #include <linux/hw_breakpoint.h>
763 #include <linux/cpuidle.h> 1475 #include <linux/cpuidle.h>
764 1476
765@@ -484,12 +483,6 @@ unsigned long get_wchan(struct task_struct *p) 1477@@ -92,7 +91,7 @@ static int __init hlt_setup(char *__unused)
1478 __setup("nohlt", nohlt_setup);
1479 __setup("hlt", hlt_setup);
1480
1481-void arm_machine_restart(char mode, const char *cmd)
1482+__noreturn void arm_machine_restart(char mode, const char *cmd)
1483 {
1484 /* Disable interrupts first */
1485 local_irq_disable();
1486@@ -134,7 +133,7 @@ void arm_machine_restart(char mode, const char *cmd)
1487 void (*pm_power_off)(void);
1488 EXPORT_SYMBOL(pm_power_off);
1489
1490-void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
1491+void (*arm_pm_restart)(char str, const char *cmd) __noreturn = arm_machine_restart;
1492 EXPORT_SYMBOL_GPL(arm_pm_restart);
1493
1494 static void do_nothing(void *unused)
1495@@ -248,6 +247,7 @@ void machine_power_off(void)
1496 machine_shutdown();
1497 if (pm_power_off)
1498 pm_power_off();
1499+ BUG();
1500 }
1501
1502 void machine_restart(char *cmd)
1503@@ -484,12 +484,6 @@ unsigned long get_wchan(struct task_struct *p)
766 return 0; 1504 return 0;
767 } 1505 }
768 1506
@@ -775,6 +1513,27 @@ index 3d0c6fb..3dcae52 100644
775 #ifdef CONFIG_MMU 1513 #ifdef CONFIG_MMU
776 /* 1514 /*
777 * The vectors page is always readable from user space for the 1515 * The vectors page is always readable from user space for the
1516diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
1517index 8fc2c8f..064c150 100644
1518--- a/arch/arm/kernel/setup.c
1519+++ b/arch/arm/kernel/setup.c
1520@@ -108,13 +108,13 @@ struct processor processor __read_mostly;
1521 struct cpu_tlb_fns cpu_tlb __read_mostly;
1522 #endif
1523 #ifdef MULTI_USER
1524-struct cpu_user_fns cpu_user __read_mostly;
1525+struct cpu_user_fns cpu_user __read_only;
1526 #endif
1527 #ifdef MULTI_CACHE
1528-struct cpu_cache_fns cpu_cache __read_mostly;
1529+struct cpu_cache_fns cpu_cache __read_only;
1530 #endif
1531 #ifdef CONFIG_OUTER_CACHE
1532-struct outer_cache_fns outer_cache __read_mostly;
1533+struct outer_cache_fns outer_cache __read_only;
1534 EXPORT_SYMBOL(outer_cache);
1535 #endif
1536
778diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c 1537diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
779index 99a5727..a3d5bb1 100644 1538index 99a5727..a3d5bb1 100644
780--- a/arch/arm/kernel/traps.c 1539--- a/arch/arm/kernel/traps.c
@@ -825,6 +1584,18 @@ index 66a477a..bee61d3 100644
825 1584
826 .pushsection .fixup,"ax" 1585 .pushsection .fixup,"ax"
827 .align 0 1586 .align 0
1587diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S
1588index 6ee2f67..d1cce76 100644
1589--- a/arch/arm/lib/copy_page.S
1590+++ b/arch/arm/lib/copy_page.S
1591@@ -10,6 +10,7 @@
1592 * ASM optimised string functions
1593 */
1594 #include <linux/linkage.h>
1595+#include <linux/const.h>
1596 #include <asm/assembler.h>
1597 #include <asm/asm-offsets.h>
1598 #include <asm/cache.h>
828diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S 1599diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
829index d066df6..df28194 100644 1600index d066df6..df28194 100644
830--- a/arch/arm/lib/copy_to_user.S 1601--- a/arch/arm/lib/copy_to_user.S
@@ -922,6 +1693,19 @@ index 025f742..8432b08 100644
922 { 1693 {
923 /* 1694 /*
924 * This test is stubbed out of the main function above to keep 1695 * This test is stubbed out of the main function above to keep
1696diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
1697index e9d5f4a..f099699 100644
1698--- a/arch/arm/mach-omap2/board-n8x0.c
1699+++ b/arch/arm/mach-omap2/board-n8x0.c
1700@@ -593,7 +593,7 @@ static int n8x0_menelaus_late_init(struct device *dev)
1701 }
1702 #endif
1703
1704-static struct menelaus_platform_data n8x0_menelaus_platform_data __initdata = {
1705+static struct menelaus_platform_data n8x0_menelaus_platform_data __initconst = {
1706 .late_init = n8x0_menelaus_late_init,
1707 };
1708
925diff --git a/arch/arm/mach-ux500/mbox-db5500.c b/arch/arm/mach-ux500/mbox-db5500.c 1709diff --git a/arch/arm/mach-ux500/mbox-db5500.c b/arch/arm/mach-ux500/mbox-db5500.c
926index 2b2d51c..0127490 100644 1710index 2b2d51c..0127490 100644
927--- a/arch/arm/mach-ux500/mbox-db5500.c 1711--- a/arch/arm/mach-ux500/mbox-db5500.c
@@ -936,7 +1720,7 @@ index 2b2d51c..0127490 100644
936 static int mbox_show(struct seq_file *s, void *data) 1720 static int mbox_show(struct seq_file *s, void *data)
937 { 1721 {
938diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c 1722diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
939index aa33949..b242a2f 100644 1723index aa33949..d366075 100644
940--- a/arch/arm/mm/fault.c 1724--- a/arch/arm/mm/fault.c
941+++ b/arch/arm/mm/fault.c 1725+++ b/arch/arm/mm/fault.c
942@@ -183,6 +183,13 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr, 1726@@ -183,6 +183,13 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
@@ -987,6 +1771,27 @@ index aa33949..b242a2f 100644
987 /* 1771 /*
988 * First Level Translation Fault Handler 1772 * First Level Translation Fault Handler
989 * 1773 *
1774@@ -628,6 +662,20 @@ do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs)
1775 const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr);
1776 struct siginfo info;
1777
1778+#ifdef CONFIG_PAX_REFCOUNT
1779+ if (fsr_fs(ifsr) == 2) {
1780+ unsigned int bkpt;
1781+
1782+ if (!probe_kernel_address((unsigned int *)addr, bkpt) && bkpt == 0xe12f1073) {
1783+ current->thread.error_code = ifsr;
1784+ current->thread.trap_no = 0;
1785+ pax_report_refcount_overflow(regs);
1786+ fixup_exception(regs);
1787+ return;
1788+ }
1789+ }
1790+#endif
1791+
1792 if (!inf->fn(addr, ifsr | FSR_LNX_PF, regs))
1793 return;
1794
990diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c 1795diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
991index 44b628e..623ee2a 100644 1796index 44b628e..623ee2a 100644
992--- a/arch/arm/mm/mmap.c 1797--- a/arch/arm/mm/mmap.c
@@ -1040,6 +1845,48 @@ index 44b628e..623ee2a 100644
1040 /* 1845 /*
1041 * Remember the place where we stopped the search: 1846 * Remember the place where we stopped the search:
1042 */ 1847 */
1848diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
1849index 4c1a363..df311d0 100644
1850--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
1851+++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
1852@@ -41,7 +41,7 @@ struct samsung_dma_ops {
1853 int (*started)(unsigned ch);
1854 int (*flush)(unsigned ch);
1855 int (*stop)(unsigned ch);
1856-};
1857+} __no_const;
1858
1859 extern void *samsung_dmadev_get_ops(void);
1860 extern void *s3c_dma_get_ops(void);
1861diff --git a/arch/arm/plat-samsung/include/plat/ehci.h b/arch/arm/plat-samsung/include/plat/ehci.h
1862index 5f28cae..3d23723 100644
1863--- a/arch/arm/plat-samsung/include/plat/ehci.h
1864+++ b/arch/arm/plat-samsung/include/plat/ehci.h
1865@@ -14,7 +14,7 @@
1866 struct s5p_ehci_platdata {
1867 int (*phy_init)(struct platform_device *pdev, int type);
1868 int (*phy_exit)(struct platform_device *pdev, int type);
1869-};
1870+} __no_const;
1871
1872 extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd);
1873
1874diff --git a/arch/avr32/include/asm/cache.h b/arch/avr32/include/asm/cache.h
1875index c3a58a1..78fbf54 100644
1876--- a/arch/avr32/include/asm/cache.h
1877+++ b/arch/avr32/include/asm/cache.h
1878@@ -1,8 +1,10 @@
1879 #ifndef __ASM_AVR32_CACHE_H
1880 #define __ASM_AVR32_CACHE_H
1881
1882+#include <linux/const.h>
1883+
1884 #define L1_CACHE_SHIFT 5
1885-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
1886+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
1887
1888 /*
1889 * Memory returned by kmalloc() may be used for DMA, so we must make
1043diff --git a/arch/avr32/include/asm/elf.h b/arch/avr32/include/asm/elf.h 1890diff --git a/arch/avr32/include/asm/elf.h b/arch/avr32/include/asm/elf.h
1044index 3b3159b..425ea94 100644 1891index 3b3159b..425ea94 100644
1045--- a/arch/avr32/include/asm/elf.h 1892--- a/arch/avr32/include/asm/elf.h
@@ -1119,6 +1966,98 @@ index f7040a1..db9f300 100644
1119 if (exception_trace && printk_ratelimit()) 1966 if (exception_trace && printk_ratelimit())
1120 printk("%s%s[%d]: segfault at %08lx pc %08lx " 1967 printk("%s%s[%d]: segfault at %08lx pc %08lx "
1121 "sp %08lx ecr %lu\n", 1968 "sp %08lx ecr %lu\n",
1969diff --git a/arch/blackfin/include/asm/cache.h b/arch/blackfin/include/asm/cache.h
1970index 568885a..f8008df 100644
1971--- a/arch/blackfin/include/asm/cache.h
1972+++ b/arch/blackfin/include/asm/cache.h
1973@@ -7,6 +7,7 @@
1974 #ifndef __ARCH_BLACKFIN_CACHE_H
1975 #define __ARCH_BLACKFIN_CACHE_H
1976
1977+#include <linux/const.h>
1978 #include <linux/linkage.h> /* for asmlinkage */
1979
1980 /*
1981@@ -14,7 +15,7 @@
1982 * Blackfin loads 32 bytes for cache
1983 */
1984 #define L1_CACHE_SHIFT 5
1985-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
1986+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
1987 #define SMP_CACHE_BYTES L1_CACHE_BYTES
1988
1989 #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
1990diff --git a/arch/cris/include/arch-v10/arch/cache.h b/arch/cris/include/arch-v10/arch/cache.h
1991index aea2718..3639a60 100644
1992--- a/arch/cris/include/arch-v10/arch/cache.h
1993+++ b/arch/cris/include/arch-v10/arch/cache.h
1994@@ -1,8 +1,9 @@
1995 #ifndef _ASM_ARCH_CACHE_H
1996 #define _ASM_ARCH_CACHE_H
1997
1998+#include <linux/const.h>
1999 /* Etrax 100LX have 32-byte cache-lines. */
2000-#define L1_CACHE_BYTES 32
2001 #define L1_CACHE_SHIFT 5
2002+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2003
2004 #endif /* _ASM_ARCH_CACHE_H */
2005diff --git a/arch/cris/include/arch-v32/arch/cache.h b/arch/cris/include/arch-v32/arch/cache.h
2006index 1de779f..336fad3 100644
2007--- a/arch/cris/include/arch-v32/arch/cache.h
2008+++ b/arch/cris/include/arch-v32/arch/cache.h
2009@@ -1,11 +1,12 @@
2010 #ifndef _ASM_CRIS_ARCH_CACHE_H
2011 #define _ASM_CRIS_ARCH_CACHE_H
2012
2013+#include <linux/const.h>
2014 #include <arch/hwregs/dma.h>
2015
2016 /* A cache-line is 32 bytes. */
2017-#define L1_CACHE_BYTES 32
2018 #define L1_CACHE_SHIFT 5
2019+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2020
2021 #define __read_mostly __attribute__((__section__(".data.read_mostly")))
2022
2023diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h
2024index 0d8a7d6..d0c9ff5 100644
2025--- a/arch/frv/include/asm/atomic.h
2026+++ b/arch/frv/include/asm/atomic.h
2027@@ -241,6 +241,16 @@ extern uint32_t __xchg_32(uint32_t i, volatile void *v);
2028 #define atomic64_cmpxchg(v, old, new) (__cmpxchg_64(old, new, &(v)->counter))
2029 #define atomic64_xchg(v, new) (__xchg_64(new, &(v)->counter))
2030
2031+#define atomic64_read_unchecked(v) atomic64_read(v)
2032+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
2033+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
2034+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
2035+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
2036+#define atomic64_inc_unchecked(v) atomic64_inc(v)
2037+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
2038+#define atomic64_dec_unchecked(v) atomic64_dec(v)
2039+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
2040+
2041 static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
2042 {
2043 int c, old;
2044diff --git a/arch/frv/include/asm/cache.h b/arch/frv/include/asm/cache.h
2045index 2797163..c2a401d 100644
2046--- a/arch/frv/include/asm/cache.h
2047+++ b/arch/frv/include/asm/cache.h
2048@@ -12,10 +12,11 @@
2049 #ifndef __ASM_CACHE_H
2050 #define __ASM_CACHE_H
2051
2052+#include <linux/const.h>
2053
2054 /* bytes per L1 cache line */
2055 #define L1_CACHE_SHIFT (CONFIG_FRV_L1_CACHE_SHIFT)
2056-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2057+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2058
2059 #define __cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES)))
2060 #define ____cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES)))
1122diff --git a/arch/frv/include/asm/kmap_types.h b/arch/frv/include/asm/kmap_types.h 2061diff --git a/arch/frv/include/asm/kmap_types.h b/arch/frv/include/asm/kmap_types.h
1123index f8e16b2..c73ff79 100644 2062index f8e16b2..c73ff79 100644
1124--- a/arch/frv/include/asm/kmap_types.h 2063--- a/arch/frv/include/asm/kmap_types.h
@@ -1163,6 +2102,82 @@ index 385fd30..6c3d97e 100644
1163 goto success; 2102 goto success;
1164 addr = vma->vm_end; 2103 addr = vma->vm_end;
1165 } 2104 }
2105diff --git a/arch/h8300/include/asm/cache.h b/arch/h8300/include/asm/cache.h
2106index c635028..6d9445a 100644
2107--- a/arch/h8300/include/asm/cache.h
2108+++ b/arch/h8300/include/asm/cache.h
2109@@ -1,8 +1,10 @@
2110 #ifndef __ARCH_H8300_CACHE_H
2111 #define __ARCH_H8300_CACHE_H
2112
2113+#include <linux/const.h>
2114+
2115 /* bytes per L1 cache line */
2116-#define L1_CACHE_BYTES 4
2117+#define L1_CACHE_BYTES _AC(4,UL)
2118
2119 /* m68k-elf-gcc 2.95.2 doesn't like these */
2120
2121diff --git a/arch/hexagon/include/asm/cache.h b/arch/hexagon/include/asm/cache.h
2122index 0f01de2..d37d309 100644
2123--- a/arch/hexagon/include/asm/cache.h
2124+++ b/arch/hexagon/include/asm/cache.h
2125@@ -21,9 +21,11 @@
2126 #ifndef __ASM_CACHE_H
2127 #define __ASM_CACHE_H
2128
2129+#include <linux/const.h>
2130+
2131 /* Bytes per L1 cache line */
2132-#define L1_CACHE_SHIFT (5)
2133-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2134+#define L1_CACHE_SHIFT 5
2135+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2136
2137 #define __cacheline_aligned __aligned(L1_CACHE_BYTES)
2138 #define ____cacheline_aligned __aligned(L1_CACHE_BYTES)
2139diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
2140index 3fad89e..3047da5 100644
2141--- a/arch/ia64/include/asm/atomic.h
2142+++ b/arch/ia64/include/asm/atomic.h
2143@@ -209,6 +209,16 @@ atomic64_add_negative (__s64 i, atomic64_t *v)
2144 #define atomic64_inc(v) atomic64_add(1, (v))
2145 #define atomic64_dec(v) atomic64_sub(1, (v))
2146
2147+#define atomic64_read_unchecked(v) atomic64_read(v)
2148+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
2149+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
2150+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
2151+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
2152+#define atomic64_inc_unchecked(v) atomic64_inc(v)
2153+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
2154+#define atomic64_dec_unchecked(v) atomic64_dec(v)
2155+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
2156+
2157 /* Atomic operations are already serializing */
2158 #define smp_mb__before_atomic_dec() barrier()
2159 #define smp_mb__after_atomic_dec() barrier()
2160diff --git a/arch/ia64/include/asm/cache.h b/arch/ia64/include/asm/cache.h
2161index 988254a..e1ee885 100644
2162--- a/arch/ia64/include/asm/cache.h
2163+++ b/arch/ia64/include/asm/cache.h
2164@@ -1,6 +1,7 @@
2165 #ifndef _ASM_IA64_CACHE_H
2166 #define _ASM_IA64_CACHE_H
2167
2168+#include <linux/const.h>
2169
2170 /*
2171 * Copyright (C) 1998-2000 Hewlett-Packard Co
2172@@ -9,7 +10,7 @@
2173
2174 /* Bytes per L1 (data) cache line. */
2175 #define L1_CACHE_SHIFT CONFIG_IA64_L1_CACHE_SHIFT
2176-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2177+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2178
2179 #ifdef CONFIG_SMP
2180 # define SMP_CACHE_SHIFT L1_CACHE_SHIFT
1166diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h 2181diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h
1167index b5298eb..67c6e62 100644 2182index b5298eb..67c6e62 100644
1168--- a/arch/ia64/include/asm/elf.h 2183--- a/arch/ia64/include/asm/elf.h
@@ -1478,6 +2493,22 @@ index 00cb0e2..2ad8024 100644
1478 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 2493 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
1479 down_write(&current->mm->mmap_sem); 2494 down_write(&current->mm->mmap_sem);
1480 if (insert_vm_struct(current->mm, vma)) { 2495 if (insert_vm_struct(current->mm, vma)) {
2496diff --git a/arch/m32r/include/asm/cache.h b/arch/m32r/include/asm/cache.h
2497index 40b3ee9..8c2c112 100644
2498--- a/arch/m32r/include/asm/cache.h
2499+++ b/arch/m32r/include/asm/cache.h
2500@@ -1,8 +1,10 @@
2501 #ifndef _ASM_M32R_CACHE_H
2502 #define _ASM_M32R_CACHE_H
2503
2504+#include <linux/const.h>
2505+
2506 /* L1 cache line size */
2507 #define L1_CACHE_SHIFT 4
2508-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2509+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2510
2511 #endif /* _ASM_M32R_CACHE_H */
1481diff --git a/arch/m32r/lib/usercopy.c b/arch/m32r/lib/usercopy.c 2512diff --git a/arch/m32r/lib/usercopy.c b/arch/m32r/lib/usercopy.c
1482index 82abd15..d95ae5d 100644 2513index 82abd15..d95ae5d 100644
1483--- a/arch/m32r/lib/usercopy.c 2514--- a/arch/m32r/lib/usercopy.c
@@ -1502,6 +2533,90 @@ index 82abd15..d95ae5d 100644
1502 prefetchw(to); 2533 prefetchw(to);
1503 if (access_ok(VERIFY_READ, from, n)) 2534 if (access_ok(VERIFY_READ, from, n))
1504 __copy_user_zeroing(to,from,n); 2535 __copy_user_zeroing(to,from,n);
2536diff --git a/arch/m68k/include/asm/cache.h b/arch/m68k/include/asm/cache.h
2537index 0395c51..5f26031 100644
2538--- a/arch/m68k/include/asm/cache.h
2539+++ b/arch/m68k/include/asm/cache.h
2540@@ -4,9 +4,11 @@
2541 #ifndef __ARCH_M68K_CACHE_H
2542 #define __ARCH_M68K_CACHE_H
2543
2544+#include <linux/const.h>
2545+
2546 /* bytes per L1 cache line */
2547 #define L1_CACHE_SHIFT 4
2548-#define L1_CACHE_BYTES (1<< L1_CACHE_SHIFT)
2549+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2550
2551 #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
2552
2553diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h
2554index 4efe96a..60e8699 100644
2555--- a/arch/microblaze/include/asm/cache.h
2556+++ b/arch/microblaze/include/asm/cache.h
2557@@ -13,11 +13,12 @@
2558 #ifndef _ASM_MICROBLAZE_CACHE_H
2559 #define _ASM_MICROBLAZE_CACHE_H
2560
2561+#include <linux/const.h>
2562 #include <asm/registers.h>
2563
2564 #define L1_CACHE_SHIFT 5
2565 /* word-granular cache in microblaze */
2566-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2567+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2568
2569 #define SMP_CACHE_BYTES L1_CACHE_BYTES
2570
2571diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
2572index 1d93f81..67794d0 100644
2573--- a/arch/mips/include/asm/atomic.h
2574+++ b/arch/mips/include/asm/atomic.h
2575@@ -21,6 +21,10 @@
2576 #include <asm/war.h>
2577 #include <asm/system.h>
2578
2579+#ifdef CONFIG_GENERIC_ATOMIC64
2580+#include <asm-generic/atomic64.h>
2581+#endif
2582+
2583 #define ATOMIC_INIT(i) { (i) }
2584
2585 /*
2586@@ -765,6 +769,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
2587 */
2588 #define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0)
2589
2590+#define atomic64_read_unchecked(v) atomic64_read(v)
2591+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
2592+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
2593+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
2594+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
2595+#define atomic64_inc_unchecked(v) atomic64_inc(v)
2596+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
2597+#define atomic64_dec_unchecked(v) atomic64_dec(v)
2598+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
2599+
2600 #endif /* CONFIG_64BIT */
2601
2602 /*
2603diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h
2604index b4db69f..8f3b093 100644
2605--- a/arch/mips/include/asm/cache.h
2606+++ b/arch/mips/include/asm/cache.h
2607@@ -9,10 +9,11 @@
2608 #ifndef _ASM_CACHE_H
2609 #define _ASM_CACHE_H
2610
2611+#include <linux/const.h>
2612 #include <kmalloc.h>
2613
2614 #define L1_CACHE_SHIFT CONFIG_MIPS_L1_CACHE_SHIFT
2615-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
2616+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2617
2618 #define SMP_CACHE_SHIFT L1_CACHE_SHIFT
2619 #define SMP_CACHE_BYTES L1_CACHE_BYTES
1505diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h 2620diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
1506index 455c0ac..ad65fbe 100644 2621index 455c0ac..ad65fbe 100644
1507--- a/arch/mips/include/asm/elf.h 2622--- a/arch/mips/include/asm/elf.h
@@ -1720,6 +2835,115 @@ index 302d779..7d35bf8 100644
1720- 2835-
1721- return ret; 2836- return ret;
1722-} 2837-}
2838diff --git a/arch/mn10300/proc-mn103e010/include/proc/cache.h b/arch/mn10300/proc-mn103e010/include/proc/cache.h
2839index 967d144..db12197 100644
2840--- a/arch/mn10300/proc-mn103e010/include/proc/cache.h
2841+++ b/arch/mn10300/proc-mn103e010/include/proc/cache.h
2842@@ -11,12 +11,14 @@
2843 #ifndef _ASM_PROC_CACHE_H
2844 #define _ASM_PROC_CACHE_H
2845
2846+#include <linux/const.h>
2847+
2848 /* L1 cache */
2849
2850 #define L1_CACHE_NWAYS 4 /* number of ways in caches */
2851 #define L1_CACHE_NENTRIES 256 /* number of entries in each way */
2852-#define L1_CACHE_BYTES 16 /* bytes per entry */
2853 #define L1_CACHE_SHIFT 4 /* shift for bytes per entry */
2854+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT) /* bytes per entry */
2855 #define L1_CACHE_WAYDISP 0x1000 /* displacement of one way from the next */
2856
2857 #define L1_CACHE_TAG_VALID 0x00000001 /* cache tag valid bit */
2858diff --git a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
2859index bcb5df2..84fabd2 100644
2860--- a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
2861+++ b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
2862@@ -16,13 +16,15 @@
2863 #ifndef _ASM_PROC_CACHE_H
2864 #define _ASM_PROC_CACHE_H
2865
2866+#include <linux/const.h>
2867+
2868 /*
2869 * L1 cache
2870 */
2871 #define L1_CACHE_NWAYS 4 /* number of ways in caches */
2872 #define L1_CACHE_NENTRIES 128 /* number of entries in each way */
2873-#define L1_CACHE_BYTES 32 /* bytes per entry */
2874 #define L1_CACHE_SHIFT 5 /* shift for bytes per entry */
2875+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT) /* bytes per entry */
2876 #define L1_CACHE_WAYDISP 0x1000 /* distance from one way to the next */
2877
2878 #define L1_CACHE_TAG_VALID 0x00000001 /* cache tag valid bit */
2879diff --git a/arch/openrisc/include/asm/cache.h b/arch/openrisc/include/asm/cache.h
2880index 4ce7a01..449202a 100644
2881--- a/arch/openrisc/include/asm/cache.h
2882+++ b/arch/openrisc/include/asm/cache.h
2883@@ -19,11 +19,13 @@
2884 #ifndef __ASM_OPENRISC_CACHE_H
2885 #define __ASM_OPENRISC_CACHE_H
2886
2887+#include <linux/const.h>
2888+
2889 /* FIXME: How can we replace these with values from the CPU...
2890 * they shouldn't be hard-coded!
2891 */
2892
2893-#define L1_CACHE_BYTES 16
2894 #define L1_CACHE_SHIFT 4
2895+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2896
2897 #endif /* __ASM_OPENRISC_CACHE_H */
2898diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
2899index 4054b31..a10c105 100644
2900--- a/arch/parisc/include/asm/atomic.h
2901+++ b/arch/parisc/include/asm/atomic.h
2902@@ -335,6 +335,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
2903
2904 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
2905
2906+#define atomic64_read_unchecked(v) atomic64_read(v)
2907+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
2908+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
2909+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
2910+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
2911+#define atomic64_inc_unchecked(v) atomic64_inc(v)
2912+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
2913+#define atomic64_dec_unchecked(v) atomic64_dec(v)
2914+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
2915+
2916 #endif /* !CONFIG_64BIT */
2917
2918
2919diff --git a/arch/parisc/include/asm/cache.h b/arch/parisc/include/asm/cache.h
2920index 47f11c7..3420df2 100644
2921--- a/arch/parisc/include/asm/cache.h
2922+++ b/arch/parisc/include/asm/cache.h
2923@@ -5,6 +5,7 @@
2924 #ifndef __ARCH_PARISC_CACHE_H
2925 #define __ARCH_PARISC_CACHE_H
2926
2927+#include <linux/const.h>
2928
2929 /*
2930 * PA 2.0 processors have 64-byte cachelines; PA 1.1 processors have
2931@@ -15,13 +16,13 @@
2932 * just ruin performance.
2933 */
2934 #ifdef CONFIG_PA20
2935-#define L1_CACHE_BYTES 64
2936 #define L1_CACHE_SHIFT 6
2937 #else
2938-#define L1_CACHE_BYTES 32
2939 #define L1_CACHE_SHIFT 5
2940 #endif
2941
2942+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
2943+
2944 #ifndef __ASSEMBLY__
2945
2946 #define SMP_CACHE_BYTES L1_CACHE_BYTES
1723diff --git a/arch/parisc/include/asm/elf.h b/arch/parisc/include/asm/elf.h 2947diff --git a/arch/parisc/include/asm/elf.h b/arch/parisc/include/asm/elf.h
1724index 19f6cb1..6c78cf2 100644 2948index 19f6cb1..6c78cf2 100644
1725--- a/arch/parisc/include/asm/elf.h 2949--- a/arch/parisc/include/asm/elf.h
@@ -2082,6 +3306,48 @@ index 18162ce..94de376 100644
2082 3306
2083 /* 3307 /*
2084 * If for any reason at all we couldn't handle the fault, make 3308 * If for any reason at all we couldn't handle the fault, make
3309diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
3310index 02e41b5..ec6e26c 100644
3311--- a/arch/powerpc/include/asm/atomic.h
3312+++ b/arch/powerpc/include/asm/atomic.h
3313@@ -469,6 +469,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
3314
3315 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
3316
3317+#define atomic64_read_unchecked(v) atomic64_read(v)
3318+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
3319+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
3320+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
3321+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
3322+#define atomic64_inc_unchecked(v) atomic64_inc(v)
3323+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
3324+#define atomic64_dec_unchecked(v) atomic64_dec(v)
3325+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
3326+
3327 #endif /* __powerpc64__ */
3328
3329 #endif /* __KERNEL__ */
3330diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h
3331index 4b50941..5605819 100644
3332--- a/arch/powerpc/include/asm/cache.h
3333+++ b/arch/powerpc/include/asm/cache.h
3334@@ -3,6 +3,7 @@
3335
3336 #ifdef __KERNEL__
3337
3338+#include <linux/const.h>
3339
3340 /* bytes per L1 cache line */
3341 #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
3342@@ -22,7 +23,7 @@
3343 #define L1_CACHE_SHIFT 7
3344 #endif
3345
3346-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
3347+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
3348
3349 #define SMP_CACHE_BYTES L1_CACHE_BYTES
3350
2085diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h 3351diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
2086index 3bf9cca..e7457d0 100644 3352index 3bf9cca..e7457d0 100644
2087--- a/arch/powerpc/include/asm/elf.h 3353--- a/arch/powerpc/include/asm/elf.h
@@ -2462,6 +3728,34 @@ index cf9c69b..ebc9640 100644
2462 mr r5,r3 3728 mr r5,r3
2463 addi r3,r1,STACK_FRAME_OVERHEAD 3729 addi r3,r1,STACK_FRAME_OVERHEAD
2464 lwz r4,_DAR(r1) 3730 lwz r4,_DAR(r1)
3731diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
3732index 745c1e7..59d97a6 100644
3733--- a/arch/powerpc/kernel/irq.c
3734+++ b/arch/powerpc/kernel/irq.c
3735@@ -547,9 +547,6 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
3736 host->ops = ops;
3737 host->of_node = of_node_get(of_node);
3738
3739- if (host->ops->match == NULL)
3740- host->ops->match = default_irq_host_match;
3741-
3742 raw_spin_lock_irqsave(&irq_big_lock, flags);
3743
3744 /* If it's a legacy controller, check for duplicates and
3745@@ -622,7 +619,12 @@ struct irq_host *irq_find_host(struct device_node *node)
3746 */
3747 raw_spin_lock_irqsave(&irq_big_lock, flags);
3748 list_for_each_entry(h, &irq_hosts, link)
3749- if (h->ops->match(h, node)) {
3750+ if (h->ops->match) {
3751+ if (h->ops->match(h, node)) {
3752+ found = h;
3753+ break;
3754+ }
3755+ } else if (default_irq_host_match(h, node)) {
3756 found = h;
3757 break;
3758 }
2465diff --git a/arch/powerpc/kernel/module_32.c b/arch/powerpc/kernel/module_32.c 3759diff --git a/arch/powerpc/kernel/module_32.c b/arch/powerpc/kernel/module_32.c
2466index 0b6d796..d760ddb 100644 3760index 0b6d796..d760ddb 100644
2467--- a/arch/powerpc/kernel/module_32.c 3761--- a/arch/powerpc/kernel/module_32.c
@@ -2909,6 +4203,43 @@ index 73709f7..6b90313 100644
2909 /* If hint, make sure it matches our alignment restrictions */ 4203 /* If hint, make sure it matches our alignment restrictions */
2910 if (!fixed && addr) { 4204 if (!fixed && addr) {
2911 addr = _ALIGN_UP(addr, 1ul << pshift); 4205 addr = _ALIGN_UP(addr, 1ul << pshift);
4206diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h
4207index 8517d2a..d2738d4 100644
4208--- a/arch/s390/include/asm/atomic.h
4209+++ b/arch/s390/include/asm/atomic.h
4210@@ -326,6 +326,16 @@ static inline long long atomic64_dec_if_positive(atomic64_t *v)
4211 #define atomic64_dec_and_test(_v) (atomic64_sub_return(1, _v) == 0)
4212 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
4213
4214+#define atomic64_read_unchecked(v) atomic64_read(v)
4215+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
4216+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
4217+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
4218+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
4219+#define atomic64_inc_unchecked(v) atomic64_inc(v)
4220+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
4221+#define atomic64_dec_unchecked(v) atomic64_dec(v)
4222+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
4223+
4224 #define smp_mb__before_atomic_dec() smp_mb()
4225 #define smp_mb__after_atomic_dec() smp_mb()
4226 #define smp_mb__before_atomic_inc() smp_mb()
4227diff --git a/arch/s390/include/asm/cache.h b/arch/s390/include/asm/cache.h
4228index 2a30d5a..5e5586f 100644
4229--- a/arch/s390/include/asm/cache.h
4230+++ b/arch/s390/include/asm/cache.h
4231@@ -11,8 +11,10 @@
4232 #ifndef __ARCH_S390_CACHE_H
4233 #define __ARCH_S390_CACHE_H
4234
4235-#define L1_CACHE_BYTES 256
4236+#include <linux/const.h>
4237+
4238 #define L1_CACHE_SHIFT 8
4239+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
4240 #define NET_SKB_PAD 32
4241
4242 #define __read_mostly __attribute__((__section__(".data..read_mostly")))
2912diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h 4243diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
2913index 547f1a6..0b22b53 100644 4244index 547f1a6..0b22b53 100644
2914--- a/arch/s390/include/asm/elf.h 4245--- a/arch/s390/include/asm/elf.h
@@ -3063,10 +4394,10 @@ index dfcb343..eda788a 100644
3063 if (r_type == R_390_GOTPC) 4394 if (r_type == R_390_GOTPC)
3064 *(unsigned int *) loc = val; 4395 *(unsigned int *) loc = val;
3065diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c 4396diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
3066index 9451b21..ed8956f 100644 4397index 53088e2..9f44a36 100644
3067--- a/arch/s390/kernel/process.c 4398--- a/arch/s390/kernel/process.c
3068+++ b/arch/s390/kernel/process.c 4399+++ b/arch/s390/kernel/process.c
3069@@ -321,39 +321,3 @@ unsigned long get_wchan(struct task_struct *p) 4400@@ -320,39 +320,3 @@ unsigned long get_wchan(struct task_struct *p)
3070 } 4401 }
3071 return 0; 4402 return 0;
3072 } 4403 }
@@ -3107,7 +4438,7 @@ index 9451b21..ed8956f 100644
3107- return ret; 4438- return ret;
3108-} 4439-}
3109diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c 4440diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
3110index f09c748..cf9ec1d 100644 4441index a0155c0..34cc491 100644
3111--- a/arch/s390/mm/mmap.c 4442--- a/arch/s390/mm/mmap.c
3112+++ b/arch/s390/mm/mmap.c 4443+++ b/arch/s390/mm/mmap.c
3113@@ -92,10 +92,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm) 4444@@ -92,10 +92,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
@@ -3156,6 +4487,21 @@ index f09c748..cf9ec1d 100644
3156 mm->get_unmapped_area = s390_get_unmapped_area_topdown; 4487 mm->get_unmapped_area = s390_get_unmapped_area_topdown;
3157 mm->unmap_area = arch_unmap_area_topdown; 4488 mm->unmap_area = arch_unmap_area_topdown;
3158 } 4489 }
4490diff --git a/arch/score/include/asm/cache.h b/arch/score/include/asm/cache.h
4491index ae3d59f..f65f075 100644
4492--- a/arch/score/include/asm/cache.h
4493+++ b/arch/score/include/asm/cache.h
4494@@ -1,7 +1,9 @@
4495 #ifndef _ASM_SCORE_CACHE_H
4496 #define _ASM_SCORE_CACHE_H
4497
4498+#include <linux/const.h>
4499+
4500 #define L1_CACHE_SHIFT 4
4501-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
4502+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
4503
4504 #endif /* _ASM_SCORE_CACHE_H */
3159diff --git a/arch/score/include/asm/system.h b/arch/score/include/asm/system.h 4505diff --git a/arch/score/include/asm/system.h b/arch/score/include/asm/system.h
3160index 589d5c7..669e274 100644 4506index 589d5c7..669e274 100644
3161--- a/arch/score/include/asm/system.h 4507--- a/arch/score/include/asm/system.h
@@ -3182,6 +4528,23 @@ index 25d0803..d6c8e36 100644
3182-{ 4528-{
3183- return sp; 4529- return sp;
3184-} 4530-}
4531diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h
4532index ef9e555..331bd29 100644
4533--- a/arch/sh/include/asm/cache.h
4534+++ b/arch/sh/include/asm/cache.h
4535@@ -9,10 +9,11 @@
4536 #define __ASM_SH_CACHE_H
4537 #ifdef __KERNEL__
4538
4539+#include <linux/const.h>
4540 #include <linux/init.h>
4541 #include <cpu/cache.h>
4542
4543-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
4544+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
4545
4546 #define __read_mostly __attribute__((__section__(".data..read_mostly")))
4547
3185diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c 4548diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c
3186index afeb710..d1d1289 100644 4549index afeb710..d1d1289 100644
3187--- a/arch/sh/mm/mmap.c 4550--- a/arch/sh/mm/mmap.c
@@ -3260,6 +4623,18 @@ index afeb710..d1d1289 100644
3260 4623
3261 bottomup: 4624 bottomup:
3262 /* 4625 /*
4626diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
4627index f92602e..27060b2 100644
4628--- a/arch/sparc/Kconfig
4629+++ b/arch/sparc/Kconfig
4630@@ -31,6 +31,7 @@ config SPARC
4631
4632 config SPARC32
4633 def_bool !64BIT
4634+ select GENERIC_ATOMIC64
4635
4636 config SPARC64
4637 def_bool 64BIT
3263diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile 4638diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
3264index ad1fb5d..fc5315b 100644 4639index ad1fb5d..fc5315b 100644
3265--- a/arch/sparc/Makefile 4640--- a/arch/sparc/Makefile
@@ -3273,6 +4648,19 @@ index ad1fb5d..fc5315b 100644
3273 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y) 4648 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
3274 VMLINUX_MAIN += $(drivers-y) $(net-y) 4649 VMLINUX_MAIN += $(drivers-y) $(net-y)
3275 4650
4651diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h
4652index 5c3c8b6..ba822fa 100644
4653--- a/arch/sparc/include/asm/atomic_32.h
4654+++ b/arch/sparc/include/asm/atomic_32.h
4655@@ -13,6 +13,8 @@
4656
4657 #include <linux/types.h>
4658
4659+#include <asm-generic/atomic64.h>
4660+
4661 #ifdef __KERNEL__
4662
4663 #include <asm/system.h>
3276diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h 4664diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h
3277index 9f421df..b81fc12 100644 4665index 9f421df..b81fc12 100644
3278--- a/arch/sparc/include/asm/atomic_64.h 4666--- a/arch/sparc/include/asm/atomic_64.h
@@ -3464,15 +4852,20 @@ index 9f421df..b81fc12 100644
3464 4852
3465 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 4853 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
3466diff --git a/arch/sparc/include/asm/cache.h b/arch/sparc/include/asm/cache.h 4854diff --git a/arch/sparc/include/asm/cache.h b/arch/sparc/include/asm/cache.h
3467index 69358b5..17b4745 100644 4855index 69358b5..9d0d492 100644
3468--- a/arch/sparc/include/asm/cache.h 4856--- a/arch/sparc/include/asm/cache.h
3469+++ b/arch/sparc/include/asm/cache.h 4857+++ b/arch/sparc/include/asm/cache.h
3470@@ -10,7 +10,7 @@ 4858@@ -7,10 +7,12 @@
4859 #ifndef _SPARC_CACHE_H
4860 #define _SPARC_CACHE_H
4861
4862+#include <linux/const.h>
4863+
3471 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long) 4864 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)
3472 4865
3473 #define L1_CACHE_SHIFT 5 4866 #define L1_CACHE_SHIFT 5
3474-#define L1_CACHE_BYTES 32 4867-#define L1_CACHE_BYTES 32
3475+#define L1_CACHE_BYTES 32UL 4868+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
3476 4869
3477 #ifdef CONFIG_SPARC32 4870 #ifdef CONFIG_SPARC32
3478 #define SMP_CACHE_BYTES_SHIFT 5 4871 #define SMP_CACHE_BYTES_SHIFT 5
@@ -3512,6 +4905,19 @@ index 7df8b7f..4946269 100644
3512 extern unsigned long sparc64_elf_hwcap; 4905 extern unsigned long sparc64_elf_hwcap;
3513 #define ELF_HWCAP sparc64_elf_hwcap 4906 #define ELF_HWCAP sparc64_elf_hwcap
3514 4907
4908diff --git a/arch/sparc/include/asm/page_32.h b/arch/sparc/include/asm/page_32.h
4909index 156707b..aefa786 100644
4910--- a/arch/sparc/include/asm/page_32.h
4911+++ b/arch/sparc/include/asm/page_32.h
4912@@ -8,6 +8,8 @@
4913 #ifndef _SPARC_PAGE_H
4914 #define _SPARC_PAGE_H
4915
4916+#include <linux/const.h>
4917+
4918 #define PAGE_SHIFT 12
4919
4920 #ifndef __ASSEMBLY__
3515diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h 4921diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h
3516index a790cc6..091ed94 100644 4922index a790cc6..091ed94 100644
3517--- a/arch/sparc/include/asm/pgtable_32.h 4923--- a/arch/sparc/include/asm/pgtable_32.h
@@ -5487,6 +6893,45 @@ index cbef74e..c38fead 100644
5487 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL)); 6893 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
5488 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL); 6894 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
5489 6895
6896diff --git a/arch/tile/include/asm/atomic_64.h b/arch/tile/include/asm/atomic_64.h
6897index 27fe667..36d474c 100644
6898--- a/arch/tile/include/asm/atomic_64.h
6899+++ b/arch/tile/include/asm/atomic_64.h
6900@@ -142,6 +142,16 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)
6901
6902 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
6903
6904+#define atomic64_read_unchecked(v) atomic64_read(v)
6905+#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
6906+#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
6907+#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
6908+#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
6909+#define atomic64_inc_unchecked(v) atomic64_inc(v)
6910+#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
6911+#define atomic64_dec_unchecked(v) atomic64_dec(v)
6912+#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
6913+
6914 /* Atomic dec and inc don't implement barrier, so provide them if needed. */
6915 #define smp_mb__before_atomic_dec() smp_mb()
6916 #define smp_mb__after_atomic_dec() smp_mb()
6917diff --git a/arch/tile/include/asm/cache.h b/arch/tile/include/asm/cache.h
6918index 392e533..536b092 100644
6919--- a/arch/tile/include/asm/cache.h
6920+++ b/arch/tile/include/asm/cache.h
6921@@ -15,11 +15,12 @@
6922 #ifndef _ASM_TILE_CACHE_H
6923 #define _ASM_TILE_CACHE_H
6924
6925+#include <linux/const.h>
6926 #include <arch/chip.h>
6927
6928 /* bytes per L1 data cache line */
6929 #define L1_CACHE_SHIFT CHIP_L1D_LOG_LINE_SIZE()
6930-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
6931+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
6932
6933 /* bytes per L2 cache line */
6934 #define L2_CACHE_SHIFT CHIP_L2_LOG_LINE_SIZE()
5490diff --git a/arch/um/Makefile b/arch/um/Makefile 6935diff --git a/arch/um/Makefile b/arch/um/Makefile
5491index 7730af6..cce5b19 100644 6936index 7730af6..cce5b19 100644
5492--- a/arch/um/Makefile 6937--- a/arch/um/Makefile
@@ -5502,6 +6947,26 @@ index 7730af6..cce5b19 100644
5502 #This will adjust *FLAGS accordingly to the platform. 6947 #This will adjust *FLAGS accordingly to the platform.
5503 include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS) 6948 include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
5504 6949
6950diff --git a/arch/um/include/asm/cache.h b/arch/um/include/asm/cache.h
6951index 19e1bdd..3665b77 100644
6952--- a/arch/um/include/asm/cache.h
6953+++ b/arch/um/include/asm/cache.h
6954@@ -1,6 +1,7 @@
6955 #ifndef __UM_CACHE_H
6956 #define __UM_CACHE_H
6957
6958+#include <linux/const.h>
6959
6960 #if defined(CONFIG_UML_X86) && !defined(CONFIG_64BIT)
6961 # define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
6962@@ -12,6 +13,6 @@
6963 # define L1_CACHE_SHIFT 5
6964 #endif
6965
6966-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
6967+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
6968
6969 #endif
5505diff --git a/arch/um/include/asm/kmap_types.h b/arch/um/include/asm/kmap_types.h 6970diff --git a/arch/um/include/asm/kmap_types.h b/arch/um/include/asm/kmap_types.h
5506index 6c03acd..a5e0215 100644 6971index 6c03acd..a5e0215 100644
5507--- a/arch/um/include/asm/kmap_types.h 6972--- a/arch/um/include/asm/kmap_types.h
@@ -5555,6 +7020,23 @@ index c533835..84db18e 100644
5555 unsigned long get_wchan(struct task_struct *p) 7020 unsigned long get_wchan(struct task_struct *p)
5556 { 7021 {
5557 unsigned long stack_page, sp, ip; 7022 unsigned long stack_page, sp, ip;
7023diff --git a/arch/unicore32/include/asm/cache.h b/arch/unicore32/include/asm/cache.h
7024index ad8f795..2c7eec6 100644
7025--- a/arch/unicore32/include/asm/cache.h
7026+++ b/arch/unicore32/include/asm/cache.h
7027@@ -12,8 +12,10 @@
7028 #ifndef __UNICORE_CACHE_H__
7029 #define __UNICORE_CACHE_H__
7030
7031-#define L1_CACHE_SHIFT (5)
7032-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
7033+#include <linux/const.h>
7034+
7035+#define L1_CACHE_SHIFT 5
7036+#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
7037
7038 /*
7039 * Memory returned by kmalloc() may be used for DMA, so we must make
5558diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig 7040diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
5559index efb4294..61bc18c 100644 7041index efb4294..61bc18c 100644
5560--- a/arch/x86/Kconfig 7042--- a/arch/x86/Kconfig
@@ -6587,7 +8069,7 @@ index 7bcf3fc..f53832f 100644
6587+ pax_force_retaddr 0, 1 8069+ pax_force_retaddr 0, 1
6588 ret 8070 ret
6589diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c 8071diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
6590index fd84387..0b4af7d 100644 8072index fd84387..887aa7e 100644
6591--- a/arch/x86/ia32/ia32_aout.c 8073--- a/arch/x86/ia32/ia32_aout.c
6592+++ b/arch/x86/ia32/ia32_aout.c 8074+++ b/arch/x86/ia32/ia32_aout.c
6593@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, struct pt_regs *regs, struct file *file, 8075@@ -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
6599 fs = get_fs(); 8081 fs = get_fs();
6600 set_fs(KERNEL_DS); 8082 set_fs(KERNEL_DS);
6601 has_dumped = 1; 8083 has_dumped = 1;
8084@@ -315,6 +317,13 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
8085 current->mm->free_area_cache = TASK_UNMAPPED_BASE;
8086 current->mm->cached_hole_size = 0;
8087
8088+ retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
8089+ if (retval < 0) {
8090+ /* Someone check-me: is this error path enough? */
8091+ send_sig(SIGKILL, current, 0);
8092+ return retval;
8093+ }
8094+
8095 install_exec_creds(bprm);
8096 current->flags &= ~PF_FORKNOEXEC;
8097
8098@@ -410,13 +419,6 @@ beyond_if:
8099
8100 set_brk(current->mm->start_brk, current->mm->brk);
8101
8102- retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
8103- if (retval < 0) {
8104- /* Someone check-me: is this error path enough? */
8105- send_sig(SIGKILL, current, 0);
8106- return retval;
8107- }
8108-
8109 current->mm->start_stack =
8110 (unsigned long)create_aout_tables((char __user *)bprm->p, bprm);
8111 /* start thread */
6602diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c 8112diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
6603index 6557769..ef6ae89 100644 8113index 6557769..ef6ae89 100644
6604--- a/arch/x86/ia32/ia32_signal.c 8114--- a/arch/x86/ia32/ia32_signal.c
@@ -7061,7 +8571,7 @@ index f6f5c53..b358b28 100644
7061 set_fs(old_fs); 8571 set_fs(old_fs);
7062 8572
7063diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h 8573diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h
7064index 091508b..e245ff2 100644 8574index 091508b..7692c6f 100644
7065--- a/arch/x86/include/asm/alternative-asm.h 8575--- a/arch/x86/include/asm/alternative-asm.h
7066+++ b/arch/x86/include/asm/alternative-asm.h 8576+++ b/arch/x86/include/asm/alternative-asm.h
7067@@ -4,10 +4,10 @@ 8577@@ -4,10 +4,10 @@
@@ -7081,7 +8591,7 @@ index 091508b..e245ff2 100644
7081 .endm 8591 .endm
7082 #endif 8592 #endif
7083 8593
7084+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 8594+#ifdef KERNEXEC_PLUGIN
7085+ .macro pax_force_retaddr_bts rip=0 8595+ .macro pax_force_retaddr_bts rip=0
7086+ btsq $63,\rip(%rsp) 8596+ btsq $63,\rip(%rsp)
7087+ .endm 8597+ .endm
@@ -8578,7 +10088,7 @@ index eb92a6e..b98b2f4 100644
8578 /* EISA */ 10088 /* EISA */
8579 extern void eisa_set_level_irq(unsigned int irq); 10089 extern void eisa_set_level_irq(unsigned int irq);
8580diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h 10090diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
8581index c9e09ea..73888df 100644 10091index a850b4d..bae26dc 100644
8582--- a/arch/x86/include/asm/i387.h 10092--- a/arch/x86/include/asm/i387.h
8583+++ b/arch/x86/include/asm/i387.h 10093+++ b/arch/x86/include/asm/i387.h
8584@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struct i387_fxsave_struct *fx) 10094@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struct i387_fxsave_struct *fx)
@@ -8605,31 +10115,15 @@ index c9e09ea..73888df 100644
8605 /* 10115 /*
8606 * Clear the bytes not touched by the fxsave and reserved 10116 * Clear the bytes not touched by the fxsave and reserved
8607 * for the SW usage. 10117 * for the SW usage.
8608@@ -213,13 +223,8 @@ static inline void fpu_fxsave(struct fpu *fpu) 10118@@ -424,7 +434,7 @@ static inline bool interrupted_kernel_fpu_idle(void)
8609 #endif /* CONFIG_X86_64 */ 10119 static inline bool interrupted_user_mode(void)
8610 10120 {
8611 /* We need a safe address that is cheap to find and that is already 10121 struct pt_regs *regs = get_irq_regs();
8612- in L1 during context switch. The best choices are unfortunately 10122- return regs && user_mode_vm(regs);
8613- different for UP and SMP */ 10123+ return regs && user_mode(regs);
8614-#ifdef CONFIG_SMP 10124 }
8615-#define safe_address (__per_cpu_offset[0])
8616-#else
8617-#define safe_address (kstat_cpu(0).cpustat.user)
8618-#endif
8619+ in L1 during context switch. */
8620+#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
8621 10125
8622 /* 10126 /*
8623 * These must be called with preempt disabled
8624@@ -312,7 +317,7 @@ static inline void kernel_fpu_begin(void)
8625 struct thread_info *me = current_thread_info();
8626 preempt_disable();
8627 if (me->status & TS_USEDFPU)
8628- __save_init_fpu(me->task);
8629+ __save_init_fpu(current);
8630 else
8631 clts();
8632 }
8633diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h 10127diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
8634index d8e8eef..99f81ae 100644 10128index d8e8eef..99f81ae 100644
8635--- a/arch/x86/include/asm/io.h 10129--- a/arch/x86/include/asm/io.h
@@ -9733,7 +11227,7 @@ index 013286a..8b42f4f 100644
9733 #define pgprot_writecombine pgprot_writecombine 11227 #define pgprot_writecombine pgprot_writecombine
9734 extern pgprot_t pgprot_writecombine(pgprot_t prot); 11228 extern pgprot_t pgprot_writecombine(pgprot_t prot);
9735diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h 11229diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
9736index b650435..eefa566 100644 11230index bb3ee36..781a6b8 100644
9737--- a/arch/x86/include/asm/processor.h 11231--- a/arch/x86/include/asm/processor.h
9738+++ b/arch/x86/include/asm/processor.h 11232+++ b/arch/x86/include/asm/processor.h
9739@@ -268,7 +268,7 @@ struct tss_struct { 11233@@ -268,7 +268,7 @@ struct tss_struct {
@@ -9745,7 +11239,7 @@ index b650435..eefa566 100644
9745 11239
9746 /* 11240 /*
9747 * Save the original ist values for checking stack pointers during debugging 11241 * Save the original ist values for checking stack pointers during debugging
9748@@ -860,11 +860,18 @@ static inline void spin_lock_prefetch(const void *x) 11242@@ -861,11 +861,18 @@ static inline void spin_lock_prefetch(const void *x)
9749 */ 11243 */
9750 #define TASK_SIZE PAGE_OFFSET 11244 #define TASK_SIZE PAGE_OFFSET
9751 #define TASK_SIZE_MAX TASK_SIZE 11245 #define TASK_SIZE_MAX TASK_SIZE
@@ -9766,7 +11260,7 @@ index b650435..eefa566 100644
9766 .vm86_info = NULL, \ 11260 .vm86_info = NULL, \
9767 .sysenter_cs = __KERNEL_CS, \ 11261 .sysenter_cs = __KERNEL_CS, \
9768 .io_bitmap_ptr = NULL, \ 11262 .io_bitmap_ptr = NULL, \
9769@@ -878,7 +885,7 @@ static inline void spin_lock_prefetch(const void *x) 11263@@ -879,7 +886,7 @@ static inline void spin_lock_prefetch(const void *x)
9770 */ 11264 */
9771 #define INIT_TSS { \ 11265 #define INIT_TSS { \
9772 .x86_tss = { \ 11266 .x86_tss = { \
@@ -9775,7 +11269,7 @@ index b650435..eefa566 100644
9775 .ss0 = __KERNEL_DS, \ 11269 .ss0 = __KERNEL_DS, \
9776 .ss1 = __KERNEL_CS, \ 11270 .ss1 = __KERNEL_CS, \
9777 .io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \ 11271 .io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
9778@@ -889,11 +896,7 @@ static inline void spin_lock_prefetch(const void *x) 11272@@ -890,11 +897,7 @@ static inline void spin_lock_prefetch(const void *x)
9779 extern unsigned long thread_saved_pc(struct task_struct *tsk); 11273 extern unsigned long thread_saved_pc(struct task_struct *tsk);
9780 11274
9781 #define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) 11275 #define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long))
@@ -9788,7 +11282,7 @@ index b650435..eefa566 100644
9788 11282
9789 /* 11283 /*
9790 * The below -8 is to reserve 8 bytes on top of the ring0 stack. 11284 * The below -8 is to reserve 8 bytes on top of the ring0 stack.
9791@@ -908,7 +911,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk); 11285@@ -909,7 +912,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
9792 #define task_pt_regs(task) \ 11286 #define task_pt_regs(task) \
9793 ({ \ 11287 ({ \
9794 struct pt_regs *__regs__; \ 11288 struct pt_regs *__regs__; \
@@ -9797,7 +11291,7 @@ index b650435..eefa566 100644
9797 __regs__ - 1; \ 11291 __regs__ - 1; \
9798 }) 11292 })
9799 11293
9800@@ -918,13 +921,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk); 11294@@ -919,13 +922,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
9801 /* 11295 /*
9802 * User space process size. 47bits minus one guard page. 11296 * User space process size. 47bits minus one guard page.
9803 */ 11297 */
@@ -9813,7 +11307,7 @@ index b650435..eefa566 100644
9813 11307
9814 #define TASK_SIZE (test_thread_flag(TIF_IA32) ? \ 11308 #define TASK_SIZE (test_thread_flag(TIF_IA32) ? \
9815 IA32_PAGE_OFFSET : TASK_SIZE_MAX) 11309 IA32_PAGE_OFFSET : TASK_SIZE_MAX)
9816@@ -935,11 +938,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk); 11310@@ -936,11 +939,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
9817 #define STACK_TOP_MAX TASK_SIZE_MAX 11311 #define STACK_TOP_MAX TASK_SIZE_MAX
9818 11312
9819 #define INIT_THREAD { \ 11313 #define INIT_THREAD { \
@@ -9827,7 +11321,7 @@ index b650435..eefa566 100644
9827 } 11321 }
9828 11322
9829 /* 11323 /*
9830@@ -961,6 +964,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip, 11324@@ -962,6 +965,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
9831 */ 11325 */
9832 #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) 11326 #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
9833 11327
@@ -10358,7 +11852,7 @@ index 2d2f01c..f985723 100644
10358 /* 11852 /*
10359 * Force strict CPU ordering. 11853 * Force strict CPU ordering.
10360diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h 11854diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
10361index a1fe5c1..ee326d8 100644 11855index d7ef849..6af292e 100644
10362--- a/arch/x86/include/asm/thread_info.h 11856--- a/arch/x86/include/asm/thread_info.h
10363+++ b/arch/x86/include/asm/thread_info.h 11857+++ b/arch/x86/include/asm/thread_info.h
10364@@ -10,6 +10,7 @@ 11858@@ -10,6 +10,7 @@
@@ -10502,7 +11996,7 @@ index a1fe5c1..ee326d8 100644
10502 #endif 11996 #endif
10503 11997
10504 #endif /* !X86_32 */ 11998 #endif /* !X86_32 */
10505@@ -266,5 +242,16 @@ extern void arch_task_cache_init(void); 11999@@ -264,5 +240,16 @@ extern void arch_task_cache_init(void);
10506 extern void free_thread_info(struct thread_info *ti); 12000 extern void free_thread_info(struct thread_info *ti);
10507 extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src); 12001 extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src);
10508 #define arch_task_cache_init arch_task_cache_init 12002 #define arch_task_cache_init arch_task_cache_init
@@ -10910,7 +12404,7 @@ index 566e803..b9521e9 100644
10910 } 12404 }
10911 12405
10912diff --git a/arch/x86/include/asm/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h 12406diff --git a/arch/x86/include/asm/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h
10913index 1c66d30..23ab77d 100644 12407index 1c66d30..e66922c 100644
10914--- a/arch/x86/include/asm/uaccess_64.h 12408--- a/arch/x86/include/asm/uaccess_64.h
10915+++ b/arch/x86/include/asm/uaccess_64.h 12409+++ b/arch/x86/include/asm/uaccess_64.h
10916@@ -10,6 +10,9 @@ 12410@@ -10,6 +10,9 @@
@@ -10939,7 +12433,12 @@ index 1c66d30..23ab77d 100644
10939 { 12433 {
10940 unsigned ret; 12434 unsigned ret;
10941 12435
10942@@ -36,138 +39,222 @@ copy_user_generic(void *to, const void *from, unsigned len) 12436@@ -32,142 +35,226 @@ copy_user_generic(void *to, const void *from, unsigned len)
12437 ASM_OUTPUT2("=a" (ret), "=D" (to), "=S" (from),
12438 "=d" (len)),
12439 "1" (to), "2" (from), "3" (len)
12440- : "memory", "rcx", "r8", "r9", "r10", "r11");
12441+ : "memory", "rcx", "r8", "r9", "r11");
10943 return ret; 12442 return ret;
10944 } 12443 }
10945 12444
@@ -15628,7 +17127,7 @@ index faba577..93b9e71 100644
15628 return single_step_cont(regs, args); 17127 return single_step_cont(regs, args);
15629 break; 17128 break;
15630diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c 17129diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
15631index 7da647d..5d3c4c1 100644 17130index 7da647d..56fe348 100644
15632--- a/arch/x86/kernel/kprobes.c 17131--- a/arch/x86/kernel/kprobes.c
15633+++ b/arch/x86/kernel/kprobes.c 17132+++ b/arch/x86/kernel/kprobes.c
15634@@ -118,8 +118,11 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op) 17133@@ -118,8 +118,11 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op)
@@ -15718,7 +17217,7 @@ index 7da647d..5d3c4c1 100644
15718 " movq %rax, 152(%rsp)\n" 17217 " movq %rax, 152(%rsp)\n"
15719 RESTORE_REGS_STRING 17218 RESTORE_REGS_STRING
15720 " popfq\n" 17219 " popfq\n"
15721+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17220+#ifdef KERNEXEC_PLUGIN
15722+ " btsq $63,(%rsp)\n" 17221+ " btsq $63,(%rsp)\n"
15723+#endif 17222+#endif
15724 #else 17223 #else
@@ -16367,7 +17866,7 @@ index ee5d4fb..426649b 100644
16367+} 17866+}
16368+#endif 17867+#endif
16369diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c 17868diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
16370index 795b79f..063767a 100644 17869index 8598296..bfadef0 100644
16371--- a/arch/x86/kernel/process_32.c 17870--- a/arch/x86/kernel/process_32.c
16372+++ b/arch/x86/kernel/process_32.c 17871+++ b/arch/x86/kernel/process_32.c
16373@@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); 17872@@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
@@ -16418,10 +17917,10 @@ index 795b79f..063767a 100644
16418 int cpu = smp_processor_id(); 17917 int cpu = smp_processor_id();
16419- struct tss_struct *tss = &per_cpu(init_tss, cpu); 17918- struct tss_struct *tss = &per_cpu(init_tss, cpu);
16420+ struct tss_struct *tss = init_tss + cpu; 17919+ struct tss_struct *tss = init_tss + cpu;
16421 bool preload_fpu; 17920 fpu_switch_t fpu;
16422 17921
16423 /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */ 17922 /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
16424@@ -331,6 +332,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 17923@@ -320,6 +321,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
16425 */ 17924 */
16426 lazy_save_gs(prev->gs); 17925 lazy_save_gs(prev->gs);
16427 17926
@@ -16432,32 +17931,32 @@ index 795b79f..063767a 100644
16432 /* 17931 /*
16433 * Load the per-thread Thread-Local Storage descriptor. 17932 * Load the per-thread Thread-Local Storage descriptor.
16434 */ 17933 */
16435@@ -366,6 +371,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 17934@@ -350,6 +355,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
16436 */ 17935 */
16437 arch_end_context_switch(next_p); 17936 arch_end_context_switch(next_p);
16438 17937
16439+ percpu_write(current_task, next_p); 17938+ percpu_write(current_task, next_p);
16440+ percpu_write(current_tinfo, &next_p->tinfo); 17939+ percpu_write(current_tinfo, &next_p->tinfo);
16441+ 17940+
16442 if (preload_fpu) 17941 /*
16443 __math_state_restore(); 17942 * Restore %gs if needed (which is common)
17943 */
17944@@ -358,8 +366,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
16444 17945
16445@@ -375,8 +383,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 17946 switch_fpu_finish(next_p, fpu);
16446 if (prev->gs | next->gs)
16447 lazy_load_gs(next->gs);
16448 17947
16449- percpu_write(current_task, next_p); 17948- percpu_write(current_task, next_p);
16450- 17949-
16451 return prev_p; 17950 return prev_p;
16452 } 17951 }
16453 17952
16454@@ -406,4 +412,3 @@ unsigned long get_wchan(struct task_struct *p) 17953@@ -389,4 +395,3 @@ unsigned long get_wchan(struct task_struct *p)
16455 } while (count++ < 16); 17954 } while (count++ < 16);
16456 return 0; 17955 return 0;
16457 } 17956 }
16458- 17957-
16459diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c 17958diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
16460index 3bd7e6e..90b2bcf 100644 17959index 6a364a6..b147d11 100644
16461--- a/arch/x86/kernel/process_64.c 17960--- a/arch/x86/kernel/process_64.c
16462+++ b/arch/x86/kernel/process_64.c 17961+++ b/arch/x86/kernel/process_64.c
16463@@ -89,7 +89,7 @@ static void __exit_idle(void) 17962@@ -89,7 +89,7 @@ static void __exit_idle(void)
@@ -16494,9 +17993,9 @@ index 3bd7e6e..90b2bcf 100644
16494- struct tss_struct *tss = &per_cpu(init_tss, cpu); 17993- struct tss_struct *tss = &per_cpu(init_tss, cpu);
16495+ struct tss_struct *tss = init_tss + cpu; 17994+ struct tss_struct *tss = init_tss + cpu;
16496 unsigned fsindex, gsindex; 17995 unsigned fsindex, gsindex;
16497 bool preload_fpu; 17996 fpu_switch_t fpu;
16498 17997
16499@@ -475,10 +475,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 17998@@ -461,10 +461,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
16500 prev->usersp = percpu_read(old_rsp); 17999 prev->usersp = percpu_read(old_rsp);
16501 percpu_write(old_rsp, next->usersp); 18000 percpu_write(old_rsp, next->usersp);
16502 percpu_write(current_task, next_p); 18001 percpu_write(current_task, next_p);
@@ -16509,7 +18008,7 @@ index 3bd7e6e..90b2bcf 100644
16509 18008
16510 /* 18009 /*
16511 * Now maybe reload the debug registers and handle I/O bitmaps 18010 * Now maybe reload the debug registers and handle I/O bitmaps
16512@@ -540,12 +539,11 @@ unsigned long get_wchan(struct task_struct *p) 18011@@ -519,12 +518,11 @@ unsigned long get_wchan(struct task_struct *p)
16513 if (!p || p == current || p->state == TASK_RUNNING) 18012 if (!p || p == current || p->state == TASK_RUNNING)
16514 return 0; 18013 return 0;
16515 stack = (unsigned long)task_stack_page(p); 18014 stack = (unsigned long)task_stack_page(p);
@@ -17565,7 +19064,7 @@ index 09ff517..df19fbff 100644
17565 .short 0 19064 .short 0
17566 .quad 0x00cf9b000000ffff # __KERNEL32_CS 19065 .quad 0x00cf9b000000ffff # __KERNEL32_CS
17567diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c 19066diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
17568index a8e3eb8..c9dbd7d 100644 19067index 31d9d0f..e244dd9 100644
17569--- a/arch/x86/kernel/traps.c 19068--- a/arch/x86/kernel/traps.c
17570+++ b/arch/x86/kernel/traps.c 19069+++ b/arch/x86/kernel/traps.c
17571@@ -70,12 +70,6 @@ asmlinkage int system_call(void); 19070@@ -70,12 +70,6 @@ asmlinkage int system_call(void);
@@ -17710,25 +19209,17 @@ index a8e3eb8..c9dbd7d 100644
17710 { 19209 {
17711 if (!fixup_exception(regs)) { 19210 if (!fixup_exception(regs)) {
17712 task->thread.error_code = error_code; 19211 task->thread.error_code = error_code;
17713@@ -568,7 +597,7 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void) 19212@@ -569,8 +598,8 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void)
17714 void __math_state_restore(void) 19213 void __math_state_restore(struct task_struct *tsk)
17715 { 19214 {
17716 struct thread_info *thread = current_thread_info(); 19215 /* We need a safe address that is cheap to find and that is already
17717- struct task_struct *tsk = thread->task; 19216- in L1. We've just brought in "tsk->thread.has_fpu", so use that */
17718+ struct task_struct *tsk = current; 19217-#define safe_address (tsk->thread.has_fpu)
17719 19218+ in L1. */
17720 /* 19219+#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
17721 * Paranoid restore. send a SIGSEGV if we fail to restore the state.
17722@@ -595,8 +624,7 @@ void __math_state_restore(void)
17723 */
17724 asmlinkage void math_state_restore(void)
17725 {
17726- struct thread_info *thread = current_thread_info();
17727- struct task_struct *tsk = thread->task;
17728+ struct task_struct *tsk = current;
17729 19220
17730 if (!tsk_used_math(tsk)) { 19221 /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception
17731 local_irq_enable(); 19222 is pending. Clear the x87 state here by setting it to fixed
17732diff --git a/arch/x86/kernel/verify_cpu.S b/arch/x86/kernel/verify_cpu.S 19223diff --git a/arch/x86/kernel/verify_cpu.S b/arch/x86/kernel/verify_cpu.S
17733index b9242ba..50c5edd 100644 19224index b9242ba..50c5edd 100644
17734--- a/arch/x86/kernel/verify_cpu.S 19225--- a/arch/x86/kernel/verify_cpu.S
@@ -18139,7 +19630,7 @@ index 9796c2f..f686fbf 100644
18139 EXPORT_SYMBOL(copy_page); 19630 EXPORT_SYMBOL(copy_page);
18140 EXPORT_SYMBOL(clear_page); 19631 EXPORT_SYMBOL(clear_page);
18141diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c 19632diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
18142index a391134..d0b63b6e 100644 19633index 7110911..e8cdee5 100644
18143--- a/arch/x86/kernel/xsave.c 19634--- a/arch/x86/kernel/xsave.c
18144+++ b/arch/x86/kernel/xsave.c 19635+++ b/arch/x86/kernel/xsave.c
18145@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf, 19636@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf,
@@ -18151,7 +19642,7 @@ index a391134..d0b63b6e 100644
18151 fx_sw_user->extended_size - 19642 fx_sw_user->extended_size -
18152 FP_XSTATE_MAGIC2_SIZE)); 19643 FP_XSTATE_MAGIC2_SIZE));
18153 if (err) 19644 if (err)
18154@@ -267,7 +267,7 @@ fx_only: 19645@@ -266,7 +266,7 @@ fx_only:
18155 * the other extended state. 19646 * the other extended state.
18156 */ 19647 */
18157 xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE); 19648 xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE);
@@ -18160,7 +19651,7 @@ index a391134..d0b63b6e 100644
18160 } 19651 }
18161 19652
18162 /* 19653 /*
18163@@ -299,7 +299,7 @@ int restore_i387_xstate(void __user *buf) 19654@@ -295,7 +295,7 @@ int restore_i387_xstate(void __user *buf)
18164 if (use_xsave()) 19655 if (use_xsave())
18165 err = restore_user_xstate(buf); 19656 err = restore_user_xstate(buf);
18166 else 19657 else
@@ -18256,10 +19747,10 @@ index 9299410..ade2f9b 100644
18256 spin_unlock(&vcpu->kvm->mmu_lock); 19747 spin_unlock(&vcpu->kvm->mmu_lock);
18257 19748
18258diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c 19749diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
18259index e32243e..a6e6172 100644 19750index 94a4672..5c6b853 100644
18260--- a/arch/x86/kvm/svm.c 19751--- a/arch/x86/kvm/svm.c
18261+++ b/arch/x86/kvm/svm.c 19752+++ b/arch/x86/kvm/svm.c
18262@@ -3400,7 +3400,11 @@ static void reload_tss(struct kvm_vcpu *vcpu) 19753@@ -3405,7 +3405,11 @@ static void reload_tss(struct kvm_vcpu *vcpu)
18263 int cpu = raw_smp_processor_id(); 19754 int cpu = raw_smp_processor_id();
18264 19755
18265 struct svm_cpu_data *sd = per_cpu(svm_data, cpu); 19756 struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
@@ -18271,7 +19762,7 @@ index e32243e..a6e6172 100644
18271 load_TR_desc(); 19762 load_TR_desc();
18272 } 19763 }
18273 19764
18274@@ -3778,6 +3782,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu) 19765@@ -3783,6 +3787,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
18275 #endif 19766 #endif
18276 #endif 19767 #endif
18277 19768
@@ -18283,7 +19774,7 @@ index e32243e..a6e6172 100644
18283 19774
18284 local_irq_disable(); 19775 local_irq_disable();
18285diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c 19776diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
18286index 579a0b5..ed7bbf9 100644 19777index 4ea7678..b3a7084 100644
18287--- a/arch/x86/kvm/vmx.c 19778--- a/arch/x86/kvm/vmx.c
18288+++ b/arch/x86/kvm/vmx.c 19779+++ b/arch/x86/kvm/vmx.c
18289@@ -1305,7 +1305,11 @@ static void reload_tss(void) 19780@@ -1305,7 +1305,11 @@ static void reload_tss(void)
@@ -24876,6 +26367,67 @@ index b095739..8c17bcd 100644
24876 struct trap_info; 26367 struct trap_info;
24877 void xen_copy_trap_info(struct trap_info *traps); 26368 void xen_copy_trap_info(struct trap_info *traps);
24878 26369
26370diff --git a/arch/xtensa/variants/dc232b/include/variant/core.h b/arch/xtensa/variants/dc232b/include/variant/core.h
26371index 525bd3d..ef888b1 100644
26372--- a/arch/xtensa/variants/dc232b/include/variant/core.h
26373+++ b/arch/xtensa/variants/dc232b/include/variant/core.h
26374@@ -119,9 +119,9 @@
26375 ----------------------------------------------------------------------*/
26376
26377 #define XCHAL_ICACHE_LINESIZE 32 /* I-cache line size in bytes */
26378-#define XCHAL_DCACHE_LINESIZE 32 /* D-cache line size in bytes */
26379 #define XCHAL_ICACHE_LINEWIDTH 5 /* log2(I line size in bytes) */
26380 #define XCHAL_DCACHE_LINEWIDTH 5 /* log2(D line size in bytes) */
26381+#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
26382
26383 #define XCHAL_ICACHE_SIZE 16384 /* I-cache size in bytes or 0 */
26384 #define XCHAL_DCACHE_SIZE 16384 /* D-cache size in bytes or 0 */
26385diff --git a/arch/xtensa/variants/fsf/include/variant/core.h b/arch/xtensa/variants/fsf/include/variant/core.h
26386index 2f33760..835e50a 100644
26387--- a/arch/xtensa/variants/fsf/include/variant/core.h
26388+++ b/arch/xtensa/variants/fsf/include/variant/core.h
26389@@ -11,6 +11,7 @@
26390 #ifndef _XTENSA_CORE_H
26391 #define _XTENSA_CORE_H
26392
26393+#include <linux/const.h>
26394
26395 /****************************************************************************
26396 Parameters Useful for Any Code, USER or PRIVILEGED
26397@@ -112,9 +113,9 @@
26398 ----------------------------------------------------------------------*/
26399
26400 #define XCHAL_ICACHE_LINESIZE 16 /* I-cache line size in bytes */
26401-#define XCHAL_DCACHE_LINESIZE 16 /* D-cache line size in bytes */
26402 #define XCHAL_ICACHE_LINEWIDTH 4 /* log2(I line size in bytes) */
26403 #define XCHAL_DCACHE_LINEWIDTH 4 /* log2(D line size in bytes) */
26404+#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
26405
26406 #define XCHAL_ICACHE_SIZE 8192 /* I-cache size in bytes or 0 */
26407 #define XCHAL_DCACHE_SIZE 8192 /* D-cache size in bytes or 0 */
26408diff --git a/arch/xtensa/variants/s6000/include/variant/core.h b/arch/xtensa/variants/s6000/include/variant/core.h
26409index af00795..2bb8105 100644
26410--- a/arch/xtensa/variants/s6000/include/variant/core.h
26411+++ b/arch/xtensa/variants/s6000/include/variant/core.h
26412@@ -11,6 +11,7 @@
26413 #ifndef _XTENSA_CORE_CONFIGURATION_H
26414 #define _XTENSA_CORE_CONFIGURATION_H
26415
26416+#include <linux/const.h>
26417
26418 /****************************************************************************
26419 Parameters Useful for Any Code, USER or PRIVILEGED
26420@@ -118,9 +119,9 @@
26421 ----------------------------------------------------------------------*/
26422
26423 #define XCHAL_ICACHE_LINESIZE 16 /* I-cache line size in bytes */
26424-#define XCHAL_DCACHE_LINESIZE 16 /* D-cache line size in bytes */
26425 #define XCHAL_ICACHE_LINEWIDTH 4 /* log2(I line size in bytes) */
26426 #define XCHAL_DCACHE_LINEWIDTH 4 /* log2(D line size in bytes) */
26427+#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
26428
26429 #define XCHAL_ICACHE_SIZE 32768 /* I-cache size in bytes or 0 */
26430 #define XCHAL_DCACHE_SIZE 32768 /* D-cache size in bytes or 0 */
24879diff --git a/block/blk-iopoll.c b/block/blk-iopoll.c 26431diff --git a/block/blk-iopoll.c b/block/blk-iopoll.c
24880index 58916af..9cb880b 100644 26432index 58916af..9cb880b 100644
24881--- a/block/blk-iopoll.c 26433--- a/block/blk-iopoll.c
@@ -24916,7 +26468,7 @@ index 1366a89..e17f54b 100644
24916 struct list_head *cpu_list, local_list; 26468 struct list_head *cpu_list, local_list;
24917 26469
24918diff --git a/block/bsg.c b/block/bsg.c 26470diff --git a/block/bsg.c b/block/bsg.c
24919index 702f131..37808bf 100644 26471index c0ab25c..9d49f8f 100644
24920--- a/block/bsg.c 26472--- a/block/bsg.c
24921+++ b/block/bsg.c 26473+++ b/block/bsg.c
24922@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq, 26474@@ -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
28287 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); 29839 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
28288 INIT_WORK(&dev_priv->error_work, i915_error_work_func); 29840 INIT_WORK(&dev_priv->error_work, i915_error_work_func);
28289diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c 29841diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
28290index daa5743..c0757a9 100644 29842index 9ec9755..6d1cf2d 100644
28291--- a/drivers/gpu/drm/i915/intel_display.c 29843--- a/drivers/gpu/drm/i915/intel_display.c
28292+++ b/drivers/gpu/drm/i915/intel_display.c 29844+++ b/drivers/gpu/drm/i915/intel_display.c
28293@@ -2230,7 +2230,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, 29845@@ -2230,7 +2230,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
@@ -28624,6 +30176,18 @@ index 5a82b6b..9e69c73 100644
28624 30176
28625 if (regcomp 30177 if (regcomp
28626 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) { 30178 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
30179diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
30180index cb1acff..8861bc5 100644
30181--- a/drivers/gpu/drm/radeon/r600_cs.c
30182+++ b/drivers/gpu/drm/radeon/r600_cs.c
30183@@ -1304,6 +1304,7 @@ static int r600_check_texture_resource(struct radeon_cs_parser *p, u32 idx,
30184 h0 = G_038004_TEX_HEIGHT(word1) + 1;
30185 d0 = G_038004_TEX_DEPTH(word1);
30186 nfaces = 1;
30187+ array = 0;
30188 switch (G_038000_DIM(word0)) {
30189 case V_038000_SQ_TEX_DIM_1D:
30190 case V_038000_SQ_TEX_DIM_2D:
28627diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h 30191diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
28628index 8227e76..ce0b195 100644 30192index 8227e76..ce0b195 100644
28629--- a/drivers/gpu/drm/radeon/radeon.h 30193--- a/drivers/gpu/drm/radeon/radeon.h
@@ -30953,7 +32517,7 @@ index 4daf9e5..b8d1d0f 100644
30953 .device = PCI_ANY_ID, 32517 .device = PCI_ANY_ID,
30954 .subvendor = PCI_ANY_ID, 32518 .subvendor = PCI_ANY_ID,
30955diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c 32519diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
30956index 31c2dc2..a2de7a6 100644 32520index 1ce84ed..0fdd40a 100644
30957--- a/drivers/md/dm-ioctl.c 32521--- a/drivers/md/dm-ioctl.c
30958+++ b/drivers/md/dm-ioctl.c 32522+++ b/drivers/md/dm-ioctl.c
30959@@ -1589,7 +1589,7 @@ static int validate_params(uint cmd, struct dm_ioctl *param) 32523@@ -1589,7 +1589,7 @@ static int validate_params(uint cmd, struct dm_ioctl *param)
@@ -31097,10 +32661,10 @@ index 8e91321..fd17aef 100644
31097 "start=%llu, len=%llu, dev_size=%llu", 32661 "start=%llu, len=%llu, dev_size=%llu",
31098 dm_device_name(ti->table->md), bdevname(bdev, b), 32662 dm_device_name(ti->table->md), bdevname(bdev, b),
31099diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c 32663diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
31100index 59c4f04..4c7b661 100644 32664index 237571a..fb6d19b 100644
31101--- a/drivers/md/dm-thin-metadata.c 32665--- a/drivers/md/dm-thin-metadata.c
31102+++ b/drivers/md/dm-thin-metadata.c 32666+++ b/drivers/md/dm-thin-metadata.c
31103@@ -431,7 +431,7 @@ static int init_pmd(struct dm_pool_metadata *pmd, 32667@@ -432,7 +432,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
31104 32668
31105 pmd->info.tm = tm; 32669 pmd->info.tm = tm;
31106 pmd->info.levels = 2; 32670 pmd->info.levels = 2;
@@ -31109,7 +32673,7 @@ index 59c4f04..4c7b661 100644
31109 pmd->info.value_type.size = sizeof(__le64); 32673 pmd->info.value_type.size = sizeof(__le64);
31110 pmd->info.value_type.inc = data_block_inc; 32674 pmd->info.value_type.inc = data_block_inc;
31111 pmd->info.value_type.dec = data_block_dec; 32675 pmd->info.value_type.dec = data_block_dec;
31112@@ -450,7 +450,7 @@ static int init_pmd(struct dm_pool_metadata *pmd, 32676@@ -451,7 +451,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
31113 32677
31114 pmd->bl_info.tm = tm; 32678 pmd->bl_info.tm = tm;
31115 pmd->bl_info.levels = 1; 32679 pmd->bl_info.levels = 1;
@@ -31652,6 +33216,35 @@ index 68d1240..46b32eb 100644
31652 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 33216 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
31653 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 33217 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
31654 {0, } 33218 {0, }
33219diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
33220index ee0d0b3..7db1a4f 100644
33221--- a/drivers/media/video/omap/omap_vout.c
33222+++ b/drivers/media/video/omap/omap_vout.c
33223@@ -64,7 +64,12 @@ enum omap_vout_channels {
33224 OMAP_VIDEO2,
33225 };
33226
33227-static struct videobuf_queue_ops video_vbq_ops;
33228+static struct videobuf_queue_ops video_vbq_ops = {
33229+ .buf_setup = omap_vout_buffer_setup,
33230+ .buf_prepare = omap_vout_buffer_prepare,
33231+ .buf_release = omap_vout_buffer_release,
33232+ .buf_queue = omap_vout_buffer_queue,
33233+};
33234 /* Variables configurable through module params*/
33235 static u32 video1_numbuffers = 3;
33236 static u32 video2_numbuffers = 3;
33237@@ -1016,10 +1021,6 @@ static int omap_vout_open(struct file *file)
33238 vout->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
33239
33240 q = &vout->vbq;
33241- video_vbq_ops.buf_setup = omap_vout_buffer_setup;
33242- video_vbq_ops.buf_prepare = omap_vout_buffer_prepare;
33243- video_vbq_ops.buf_release = omap_vout_buffer_release;
33244- video_vbq_ops.buf_queue = omap_vout_buffer_queue;
33245 spin_lock_init(&vout->vbq_lock);
33246
33247 videobuf_queue_dma_contig_init(q, &video_vbq_ops, q->dev,
31655diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 33248diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
31656index 305e6aa..0143317 100644 33249index 305e6aa..0143317 100644
31657--- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 33250--- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
@@ -32482,6 +34075,32 @@ index bf266a0..e024af7 100644
32482 } 34075 }
32483 34076
32484 void be_parse_stats(struct be_adapter *adapter) 34077 void be_parse_stats(struct be_adapter *adapter)
34078diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
34079index fb5579a..debdffa 100644
34080--- a/drivers/net/ethernet/faraday/ftgmac100.c
34081+++ b/drivers/net/ethernet/faraday/ftgmac100.c
34082@@ -30,6 +30,8 @@
34083 #include <linux/netdevice.h>
34084 #include <linux/phy.h>
34085 #include <linux/platform_device.h>
34086+#include <linux/interrupt.h>
34087+#include <linux/irqreturn.h>
34088 #include <net/ip.h>
34089
34090 #include "ftgmac100.h"
34091diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c
34092index a127cb2..0d043cd 100644
34093--- a/drivers/net/ethernet/faraday/ftmac100.c
34094+++ b/drivers/net/ethernet/faraday/ftmac100.c
34095@@ -30,6 +30,8 @@
34096 #include <linux/module.h>
34097 #include <linux/netdevice.h>
34098 #include <linux/platform_device.h>
34099+#include <linux/interrupt.h>
34100+#include <linux/irqreturn.h>
34101
34102 #include "ftmac100.h"
34103
32485diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c 34104diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c
32486index 61d2bdd..7f1154a 100644 34105index 61d2bdd..7f1154a 100644
32487--- a/drivers/net/ethernet/fealnx.c 34106--- a/drivers/net/ethernet/fealnx.c
@@ -32857,6 +34476,21 @@ index 1b4658c..a30dabb 100644
32857 struct sis190_private *tp = netdev_priv(dev); 34476 struct sis190_private *tp = netdev_priv(dev);
32858 struct pci_dev *isa_bridge; 34477 struct pci_dev *isa_bridge;
32859 u8 reg, tmp8; 34478 u8 reg, tmp8;
34479diff --git a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
34480index 41e6b33..8e89b0f 100644
34481--- a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
34482+++ b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
34483@@ -139,8 +139,8 @@ void dwmac_mmc_ctrl(void __iomem *ioaddr, unsigned int mode)
34484
34485 writel(value, ioaddr + MMC_CNTRL);
34486
34487- pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
34488- MMC_CNTRL, value);
34489+// pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
34490+// MMC_CNTRL, value);
34491 }
34492
34493 /* To mask all all interrupts.*/
32860diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c 34494diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
32861index edfa15d..002bfa9 100644 34495index edfa15d..002bfa9 100644
32862--- a/drivers/net/ppp/ppp_generic.c 34496--- a/drivers/net/ppp/ppp_generic.c
@@ -33288,7 +34922,7 @@ index f5ae3c6..7936af3 100644
33288 34922
33289 static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads) 34923 static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
33290diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h 34924diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
33291index f389b3c..7359e18 100644 34925index 1bd8edf..10c6d30 100644
33292--- a/drivers/net/wireless/ath/ath9k/hw.h 34926--- a/drivers/net/wireless/ath/ath9k/hw.h
33293+++ b/drivers/net/wireless/ath/ath9k/hw.h 34927+++ b/drivers/net/wireless/ath/ath9k/hw.h
33294@@ -605,7 +605,7 @@ struct ath_hw_private_ops { 34928@@ -605,7 +605,7 @@ struct ath_hw_private_ops {
@@ -33610,7 +35244,7 @@ index 1cfbf22..be96487 100644
33610 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1) 35244 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1)
33611 35245
33612diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c 35246diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
33613index 04e74f4..a960176 100644 35247index dfee1b3..a454fb6 100644
33614--- a/drivers/pci/probe.c 35248--- a/drivers/pci/probe.c
33615+++ b/drivers/pci/probe.c 35249+++ b/drivers/pci/probe.c
33616@@ -136,7 +136,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, 35250@@ -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
34974 /* Ignore return since this msg is optional. */ 36608 /* Ignore return since this msg is optional. */
34975 rndis_filter_send_request(dev, request); 36609 rndis_filter_send_request(dev, request);
34976diff --git a/drivers/staging/iio/buffer_generic.h b/drivers/staging/iio/buffer_generic.h 36610diff --git a/drivers/staging/iio/buffer_generic.h b/drivers/staging/iio/buffer_generic.h
34977index 9e8f010..af9efb5 100644 36611index 9e8f010..af9efb56 100644
34978--- a/drivers/staging/iio/buffer_generic.h 36612--- a/drivers/staging/iio/buffer_generic.h
34979+++ b/drivers/staging/iio/buffer_generic.h 36613+++ b/drivers/staging/iio/buffer_generic.h
34980@@ -64,7 +64,7 @@ struct iio_buffer_access_funcs { 36614@@ -64,7 +64,7 @@ struct iio_buffer_access_funcs {
@@ -35363,7 +36997,7 @@ index 6845228..df77141 100644
35363 36997
35364 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count); 36998 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
35365diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c 36999diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
35366index 861628e..659ae80 100644 37000index e4ddb93..2fc6e0f 100644
35367--- a/drivers/target/target_core_transport.c 37001--- a/drivers/target/target_core_transport.c
35368+++ b/drivers/target/target_core_transport.c 37002+++ b/drivers/target/target_core_transport.c
35369@@ -1343,7 +1343,7 @@ struct se_device *transport_add_device_to_core_hba( 37003@@ -1343,7 +1343,7 @@ struct se_device *transport_add_device_to_core_hba(
@@ -35405,7 +37039,7 @@ index 861628e..659ae80 100644
35405 cmd->t_task_list_num) 37039 cmd->t_task_list_num)
35406 atomic_set(&cmd->t_transport_sent, 1); 37040 atomic_set(&cmd->t_transport_sent, 1);
35407 37041
35408@@ -4273,7 +4273,7 @@ bool transport_wait_for_tasks(struct se_cmd *cmd) 37042@@ -4296,7 +4296,7 @@ bool transport_wait_for_tasks(struct se_cmd *cmd)
35409 atomic_set(&cmd->transport_lun_stop, 0); 37043 atomic_set(&cmd->transport_lun_stop, 0);
35410 } 37044 }
35411 if (!atomic_read(&cmd->t_transport_active) || 37045 if (!atomic_read(&cmd->t_transport_active) ||
@@ -35414,7 +37048,7 @@ index 861628e..659ae80 100644
35414 spin_unlock_irqrestore(&cmd->t_state_lock, flags); 37048 spin_unlock_irqrestore(&cmd->t_state_lock, flags);
35415 return false; 37049 return false;
35416 } 37050 }
35417@@ -4522,7 +4522,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status) 37051@@ -4545,7 +4545,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status)
35418 { 37052 {
35419 int ret = 0; 37053 int ret = 0;
35420 37054
@@ -35423,7 +37057,7 @@ index 861628e..659ae80 100644
35423 if (!send_status || 37057 if (!send_status ||
35424 (cmd->se_cmd_flags & SCF_SENT_DELAYED_TAS)) 37058 (cmd->se_cmd_flags & SCF_SENT_DELAYED_TAS))
35425 return 1; 37059 return 1;
35426@@ -4559,7 +4559,7 @@ void transport_send_task_abort(struct se_cmd *cmd) 37060@@ -4582,7 +4582,7 @@ void transport_send_task_abort(struct se_cmd *cmd)
35427 */ 37061 */
35428 if (cmd->data_direction == DMA_TO_DEVICE) { 37062 if (cmd->data_direction == DMA_TO_DEVICE) {
35429 if (cmd->se_tfo->write_pending_status(cmd) != 0) { 37063 if (cmd->se_tfo->write_pending_status(cmd) != 0) {
@@ -39456,7 +41090,7 @@ index 79e2ca7..5828ad1 100644
39456 A.out (Assembler.OUTput) is a set of formats for libraries and 41090 A.out (Assembler.OUTput) is a set of formats for libraries and
39457 executables used in the earliest versions of UNIX. Linux used 41091 executables used in the earliest versions of UNIX. Linux used
39458diff --git a/fs/aio.c b/fs/aio.c 41092diff --git a/fs/aio.c b/fs/aio.c
39459index 969beb0..09fab51 100644 41093index 67e4b90..fbb09dc 100644
39460--- a/fs/aio.c 41094--- a/fs/aio.c
39461+++ b/fs/aio.c 41095+++ b/fs/aio.c
39462@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx *ctx) 41096@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx *ctx)
@@ -39468,7 +41102,7 @@ index 969beb0..09fab51 100644
39468 return -EINVAL; 41102 return -EINVAL;
39469 41103
39470 nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event); 41104 nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event);
39471@@ -1461,22 +1461,27 @@ static ssize_t aio_fsync(struct kiocb *iocb) 41105@@ -1463,22 +1463,27 @@ static ssize_t aio_fsync(struct kiocb *iocb)
39472 static ssize_t aio_setup_vectored_rw(int type, struct kiocb *kiocb, bool compat) 41106 static ssize_t aio_setup_vectored_rw(int type, struct kiocb *kiocb, bool compat)
39473 { 41107 {
39474 ssize_t ret; 41108 ssize_t ret;
@@ -39511,7 +41145,7 @@ index 7ee7ba4..0c61a60 100644
39511 goto out_sig; 41145 goto out_sig;
39512 if (offset > inode->i_sb->s_maxbytes) 41146 if (offset > inode->i_sb->s_maxbytes)
39513diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c 41147diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
39514index e1fbdee..cd5ea56 100644 41148index 6861f61..a25f010 100644
39515--- a/fs/autofs4/waitq.c 41149--- a/fs/autofs4/waitq.c
39516+++ b/fs/autofs4/waitq.c 41150+++ b/fs/autofs4/waitq.c
39517@@ -60,7 +60,7 @@ static int autofs4_write(struct file *file, const void *addr, int bytes) 41151@@ -60,7 +60,7 @@ static int autofs4_write(struct file *file, const void *addr, int bytes)
@@ -39537,7 +41171,7 @@ index 8342ca6..82fd192 100644
39537 kfree(link); 41171 kfree(link);
39538 } 41172 }
39539diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c 41173diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c
39540index a6395bd..a5b24c4 100644 41174index a6395bd..f1e376a 100644
39541--- a/fs/binfmt_aout.c 41175--- a/fs/binfmt_aout.c
39542+++ b/fs/binfmt_aout.c 41176+++ b/fs/binfmt_aout.c
39543@@ -16,6 +16,7 @@ 41177@@ -16,6 +16,7 @@
@@ -39579,7 +41213,17 @@ index a6395bd..a5b24c4 100644
39579 if (ex.a_data + ex.a_bss > rlim) 41213 if (ex.a_data + ex.a_bss > rlim)
39580 return -ENOMEM; 41214 return -ENOMEM;
39581 41215
39582@@ -262,6 +269,27 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) 41216@@ -259,9 +266,37 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
41217 current->mm->free_area_cache = current->mm->mmap_base;
41218 current->mm->cached_hole_size = 0;
41219
41220+ retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
41221+ if (retval < 0) {
41222+ /* Someone check-me: is this error path enough? */
41223+ send_sig(SIGKILL, current, 0);
41224+ return retval;
41225+ }
41226+
39583 install_exec_creds(bprm); 41227 install_exec_creds(bprm);
39584 current->flags &= ~PF_FORKNOEXEC; 41228 current->flags &= ~PF_FORKNOEXEC;
39585 41229
@@ -39607,7 +41251,7 @@ index a6395bd..a5b24c4 100644
39607 if (N_MAGIC(ex) == OMAGIC) { 41251 if (N_MAGIC(ex) == OMAGIC) {
39608 unsigned long text_addr, map_size; 41252 unsigned long text_addr, map_size;
39609 loff_t pos; 41253 loff_t pos;
39610@@ -334,7 +362,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) 41254@@ -334,7 +369,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
39611 41255
39612 down_write(&current->mm->mmap_sem); 41256 down_write(&current->mm->mmap_sem);
39613 error = do_mmap(bprm->file, N_DATADDR(ex), ex.a_data, 41257 error = do_mmap(bprm->file, N_DATADDR(ex), ex.a_data,
@@ -39616,8 +41260,22 @@ index a6395bd..a5b24c4 100644
39616 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE, 41260 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
39617 fd_offset + ex.a_text); 41261 fd_offset + ex.a_text);
39618 up_write(&current->mm->mmap_sem); 41262 up_write(&current->mm->mmap_sem);
41263@@ -352,13 +387,6 @@ beyond_if:
41264 return retval;
41265 }
41266
41267- retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
41268- if (retval < 0) {
41269- /* Someone check-me: is this error path enough? */
41270- send_sig(SIGKILL, current, 0);
41271- return retval;
41272- }
41273-
41274 current->mm->start_stack =
41275 (unsigned long) create_aout_tables((char __user *) bprm->p, bprm);
41276 #ifdef __alpha__
39619diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c 41277diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
39620index 21ac5ee..31d14e9 100644 41278index 6ff96c6..dbf63ee 100644
39621--- a/fs/binfmt_elf.c 41279--- a/fs/binfmt_elf.c
39622+++ b/fs/binfmt_elf.c 41280+++ b/fs/binfmt_elf.c
39623@@ -32,6 +32,7 @@ 41281@@ -32,6 +32,7 @@
@@ -39752,6 +41410,7 @@ index 21ac5ee..31d14e9 100644
39752 return error; 41410 return error;
39753 } 41411 }
39754 41412
41413+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
39755+static unsigned long pax_parse_pt_pax_softmode(const struct elf_phdr * const elf_phdata) 41414+static unsigned long pax_parse_pt_pax_softmode(const struct elf_phdr * const elf_phdata)
39756+{ 41415+{
39757+ unsigned long pax_flags = 0UL; 41416+ unsigned long pax_flags = 0UL;
@@ -39897,7 +41556,7 @@ index 21ac5ee..31d14e9 100644
39897+#endif 41556+#endif
39898+ 41557+
39899+#ifdef CONFIG_PAX_SEGMEXEC 41558+#ifdef CONFIG_PAX_SEGMEXEC
39900+ if (!(__supported_pte_mask & _PAGE_NX)) { 41559+ if (!(pax_flags & MF_PAX_PAGEEXEC) || !(__supported_pte_mask & _PAGE_NX)) {
39901+ pax_flags &= ~MF_PAX_PAGEEXEC; 41560+ pax_flags &= ~MF_PAX_PAGEEXEC;
39902+ pax_flags |= MF_PAX_SEGMEXEC; 41561+ pax_flags |= MF_PAX_SEGMEXEC;
39903+ } 41562+ }
@@ -40071,7 +41730,6 @@ index 21ac5ee..31d14e9 100644
40071+ 41730+
40072+} 41731+}
40073+ 41732+
40074+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
40075+static long pax_parse_pax_flags(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata, struct file * const file) 41733+static long pax_parse_pax_flags(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata, struct file * const file)
40076+{ 41734+{
40077+ unsigned long pax_flags, pt_pax_flags, xattr_pax_flags; 41735+ unsigned long pax_flags, pt_pax_flags, xattr_pax_flags;
@@ -41375,7 +43033,7 @@ index f3a257d..715ac0f 100644
41375 } 43033 }
41376 EXPORT_SYMBOL_GPL(debugfs_create_dir); 43034 EXPORT_SYMBOL_GPL(debugfs_create_dir);
41377diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c 43035diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
41378index d2039ca..a766407 100644 43036index af11098..81e3bbe 100644
41379--- a/fs/ecryptfs/inode.c 43037--- a/fs/ecryptfs/inode.c
41380+++ b/fs/ecryptfs/inode.c 43038+++ b/fs/ecryptfs/inode.c
41381@@ -691,7 +691,7 @@ static int ecryptfs_readlink_lower(struct dentry *dentry, char **buf, 43039@@ -691,7 +691,7 @@ static int ecryptfs_readlink_lower(struct dentry *dentry, char **buf,
@@ -41441,7 +43099,7 @@ index 608c1c3..7d040a8 100644
41441 return rc; 43099 return rc;
41442 } 43100 }
41443diff --git a/fs/exec.c b/fs/exec.c 43101diff --git a/fs/exec.c b/fs/exec.c
41444index 3625464..7949233 100644 43102index 3625464..cdeecdb 100644
41445--- a/fs/exec.c 43103--- a/fs/exec.c
41446+++ b/fs/exec.c 43104+++ b/fs/exec.c
41447@@ -55,12 +55,28 @@ 43105@@ -55,12 +55,28 @@
@@ -41504,7 +43162,25 @@ index 3625464..7949233 100644
41504 return NULL; 43162 return NULL;
41505 43163
41506 if (write) { 43164 if (write) {
41507@@ -274,6 +282,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm) 43165@@ -215,6 +223,17 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
43166 if (size <= ARG_MAX)
43167 return page;
43168
43169+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
43170+ // only allow 512KB for argv+env on suid/sgid binaries
43171+ // to prevent easy ASLR exhaustion
43172+ if (((bprm->cred->euid != current_euid()) ||
43173+ (bprm->cred->egid != current_egid())) &&
43174+ (size > (512 * 1024))) {
43175+ put_page(page);
43176+ return NULL;
43177+ }
43178+#endif
43179+
43180 /*
43181 * Limit to 1/4-th the stack size for the argv+env strings.
43182 * This ensures that:
43183@@ -274,6 +293,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
41508 vma->vm_end = STACK_TOP_MAX; 43184 vma->vm_end = STACK_TOP_MAX;
41509 vma->vm_start = vma->vm_end - PAGE_SIZE; 43185 vma->vm_start = vma->vm_end - PAGE_SIZE;
41510 vma->vm_flags = VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP; 43186 vma->vm_flags = VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP;
@@ -41516,20 +43192,20 @@ index 3625464..7949233 100644
41516 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 43192 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
41517 INIT_LIST_HEAD(&vma->anon_vma_chain); 43193 INIT_LIST_HEAD(&vma->anon_vma_chain);
41518 43194
41519@@ -288,6 +301,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm) 43195@@ -288,6 +312,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
41520 mm->stack_vm = mm->total_vm = 1; 43196 mm->stack_vm = mm->total_vm = 1;
41521 up_write(&mm->mmap_sem); 43197 up_write(&mm->mmap_sem);
41522 bprm->p = vma->vm_end - sizeof(void *); 43198 bprm->p = vma->vm_end - sizeof(void *);
41523+ 43199+
41524+#ifdef CONFIG_PAX_RANDUSTACK 43200+#ifdef CONFIG_PAX_RANDUSTACK
41525+ if (randomize_va_space) 43201+ if (randomize_va_space)
41526+ bprm->p ^= (pax_get_random_long() & ~15) & ~PAGE_MASK; 43202+ bprm->p ^= random32() & ~PAGE_MASK;
41527+#endif 43203+#endif
41528+ 43204+
41529 return 0; 43205 return 0;
41530 err: 43206 err:
41531 up_write(&mm->mmap_sem); 43207 up_write(&mm->mmap_sem);
41532@@ -396,19 +415,7 @@ err: 43208@@ -396,19 +426,7 @@ err:
41533 return err; 43209 return err;
41534 } 43210 }
41535 43211
@@ -41550,7 +43226,7 @@ index 3625464..7949233 100644
41550 { 43226 {
41551 const char __user *native; 43227 const char __user *native;
41552 43228
41553@@ -417,14 +424,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) 43229@@ -417,14 +435,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr)
41554 compat_uptr_t compat; 43230 compat_uptr_t compat;
41555 43231
41556 if (get_user(compat, argv.ptr.compat + nr)) 43232 if (get_user(compat, argv.ptr.compat + nr))
@@ -41567,7 +43243,7 @@ index 3625464..7949233 100644
41567 43243
41568 return native; 43244 return native;
41569 } 43245 }
41570@@ -443,7 +450,7 @@ static int count(struct user_arg_ptr argv, int max) 43246@@ -443,7 +461,7 @@ static int count(struct user_arg_ptr argv, int max)
41571 if (!p) 43247 if (!p)
41572 break; 43248 break;
41573 43249
@@ -41576,7 +43252,7 @@ index 3625464..7949233 100644
41576 return -EFAULT; 43252 return -EFAULT;
41577 43253
41578 if (i++ >= max) 43254 if (i++ >= max)
41579@@ -477,7 +484,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv, 43255@@ -477,7 +495,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv,
41580 43256
41581 ret = -EFAULT; 43257 ret = -EFAULT;
41582 str = get_user_arg_ptr(argv, argc); 43258 str = get_user_arg_ptr(argv, argc);
@@ -41585,7 +43261,7 @@ index 3625464..7949233 100644
41585 goto out; 43261 goto out;
41586 43262
41587 len = strnlen_user(str, MAX_ARG_STRLEN); 43263 len = strnlen_user(str, MAX_ARG_STRLEN);
41588@@ -559,7 +566,7 @@ int copy_strings_kernel(int argc, const char *const *__argv, 43264@@ -559,7 +577,7 @@ int copy_strings_kernel(int argc, const char *const *__argv,
41589 int r; 43265 int r;
41590 mm_segment_t oldfs = get_fs(); 43266 mm_segment_t oldfs = get_fs();
41591 struct user_arg_ptr argv = { 43267 struct user_arg_ptr argv = {
@@ -41594,7 +43270,7 @@ index 3625464..7949233 100644
41594 }; 43270 };
41595 43271
41596 set_fs(KERNEL_DS); 43272 set_fs(KERNEL_DS);
41597@@ -594,7 +601,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) 43273@@ -594,7 +612,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
41598 unsigned long new_end = old_end - shift; 43274 unsigned long new_end = old_end - shift;
41599 struct mmu_gather tlb; 43275 struct mmu_gather tlb;
41600 43276
@@ -41604,7 +43280,7 @@ index 3625464..7949233 100644
41604 43280
41605 /* 43281 /*
41606 * ensure there are no vmas between where we want to go 43282 * ensure there are no vmas between where we want to go
41607@@ -603,6 +611,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) 43283@@ -603,6 +622,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
41608 if (vma != find_vma(mm, new_start)) 43284 if (vma != find_vma(mm, new_start))
41609 return -EFAULT; 43285 return -EFAULT;
41610 43286
@@ -41615,7 +43291,7 @@ index 3625464..7949233 100644
41615 /* 43291 /*
41616 * cover the whole range: [new_start, old_end) 43292 * cover the whole range: [new_start, old_end)
41617 */ 43293 */
41618@@ -683,10 +695,6 @@ int setup_arg_pages(struct linux_binprm *bprm, 43294@@ -683,10 +706,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
41619 stack_top = arch_align_stack(stack_top); 43295 stack_top = arch_align_stack(stack_top);
41620 stack_top = PAGE_ALIGN(stack_top); 43296 stack_top = PAGE_ALIGN(stack_top);
41621 43297
@@ -41626,7 +43302,7 @@ index 3625464..7949233 100644
41626 stack_shift = vma->vm_end - stack_top; 43302 stack_shift = vma->vm_end - stack_top;
41627 43303
41628 bprm->p -= stack_shift; 43304 bprm->p -= stack_shift;
41629@@ -698,8 +706,28 @@ int setup_arg_pages(struct linux_binprm *bprm, 43305@@ -698,8 +717,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
41630 bprm->exec -= stack_shift; 43306 bprm->exec -= stack_shift;
41631 43307
41632 down_write(&mm->mmap_sem); 43308 down_write(&mm->mmap_sem);
@@ -41655,7 +43331,7 @@ index 3625464..7949233 100644
41655 /* 43331 /*
41656 * Adjust stack execute permissions; explicitly enable for 43332 * Adjust stack execute permissions; explicitly enable for
41657 * EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone 43333 * EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone
41658@@ -718,13 +746,6 @@ int setup_arg_pages(struct linux_binprm *bprm, 43334@@ -718,13 +757,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
41659 goto out_unlock; 43335 goto out_unlock;
41660 BUG_ON(prev != vma); 43336 BUG_ON(prev != vma);
41661 43337
@@ -41669,7 +43345,7 @@ index 3625464..7949233 100644
41669 /* mprotect_fixup is overkill to remove the temporary stack flags */ 43345 /* mprotect_fixup is overkill to remove the temporary stack flags */
41670 vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP; 43346 vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP;
41671 43347
41672@@ -805,7 +826,7 @@ int kernel_read(struct file *file, loff_t offset, 43348@@ -805,7 +837,7 @@ int kernel_read(struct file *file, loff_t offset,
41673 old_fs = get_fs(); 43349 old_fs = get_fs();
41674 set_fs(get_ds()); 43350 set_fs(get_ds());
41675 /* The cast to a user pointer is valid due to the set_fs() */ 43351 /* The cast to a user pointer is valid due to the set_fs() */
@@ -41678,7 +43354,7 @@ index 3625464..7949233 100644
41678 set_fs(old_fs); 43354 set_fs(old_fs);
41679 return result; 43355 return result;
41680 } 43356 }
41681@@ -1067,6 +1088,21 @@ void set_task_comm(struct task_struct *tsk, char *buf) 43357@@ -1067,6 +1099,21 @@ void set_task_comm(struct task_struct *tsk, char *buf)
41682 perf_event_comm(tsk); 43358 perf_event_comm(tsk);
41683 } 43359 }
41684 43360
@@ -41700,7 +43376,7 @@ index 3625464..7949233 100644
41700 int flush_old_exec(struct linux_binprm * bprm) 43376 int flush_old_exec(struct linux_binprm * bprm)
41701 { 43377 {
41702 int retval; 43378 int retval;
41703@@ -1081,6 +1117,7 @@ int flush_old_exec(struct linux_binprm * bprm) 43379@@ -1081,6 +1128,7 @@ int flush_old_exec(struct linux_binprm * bprm)
41704 43380
41705 set_mm_exe_file(bprm->mm, bprm->file); 43381 set_mm_exe_file(bprm->mm, bprm->file);
41706 43382
@@ -41708,7 +43384,7 @@ index 3625464..7949233 100644
41708 /* 43384 /*
41709 * Release all of the old mmap stuff 43385 * Release all of the old mmap stuff
41710 */ 43386 */
41711@@ -1112,10 +1149,6 @@ EXPORT_SYMBOL(would_dump); 43387@@ -1112,10 +1160,6 @@ EXPORT_SYMBOL(would_dump);
41712 43388
41713 void setup_new_exec(struct linux_binprm * bprm) 43389 void setup_new_exec(struct linux_binprm * bprm)
41714 { 43390 {
@@ -41719,7 +43395,7 @@ index 3625464..7949233 100644
41719 arch_pick_mmap_layout(current->mm); 43395 arch_pick_mmap_layout(current->mm);
41720 43396
41721 /* This is the point of no return */ 43397 /* This is the point of no return */
41722@@ -1126,18 +1159,7 @@ void setup_new_exec(struct linux_binprm * bprm) 43398@@ -1126,18 +1170,7 @@ void setup_new_exec(struct linux_binprm * bprm)
41723 else 43399 else
41724 set_dumpable(current->mm, suid_dumpable); 43400 set_dumpable(current->mm, suid_dumpable);
41725 43401
@@ -41739,7 +43415,7 @@ index 3625464..7949233 100644
41739 43415
41740 /* Set the new mm task size. We have to do that late because it may 43416 /* Set the new mm task size. We have to do that late because it may
41741 * depend on TIF_32BIT which is only updated in flush_thread() on 43417 * depend on TIF_32BIT which is only updated in flush_thread() on
41742@@ -1247,7 +1269,7 @@ int check_unsafe_exec(struct linux_binprm *bprm) 43418@@ -1247,7 +1280,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
41743 } 43419 }
41744 rcu_read_unlock(); 43420 rcu_read_unlock();
41745 43421
@@ -41748,18 +43424,36 @@ index 3625464..7949233 100644
41748 bprm->unsafe |= LSM_UNSAFE_SHARE; 43424 bprm->unsafe |= LSM_UNSAFE_SHARE;
41749 } else { 43425 } else {
41750 res = -EAGAIN; 43426 res = -EAGAIN;
41751@@ -1442,6 +1464,10 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) 43427@@ -1442,6 +1475,28 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
41752 43428
41753 EXPORT_SYMBOL(search_binary_handler); 43429 EXPORT_SYMBOL(search_binary_handler);
41754 43430
41755+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP 43431+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
41756+atomic64_unchecked_t global_exec_counter = ATOMIC64_INIT(0); 43432+static DEFINE_PER_CPU(u64, exec_counter);
43433+static int __init init_exec_counters(void)
43434+{
43435+ unsigned int cpu;
43436+
43437+ for_each_possible_cpu(cpu) {
43438+ per_cpu(exec_counter, cpu) = (u64)cpu;
43439+ }
43440+
43441+ return 0;
43442+}
43443+early_initcall(init_exec_counters);
43444+static inline void increment_exec_counter(void)
43445+{
43446+ BUILD_BUG_ON(NR_CPUS > (1 << 16));
43447+ current->exec_id = this_cpu_add_return(exec_counter, 1 << 16);
43448+}
43449+#else
43450+static inline void increment_exec_counter(void) {}
41757+#endif 43451+#endif
41758+ 43452+
41759 /* 43453 /*
41760 * sys_execve() executes a new program. 43454 * sys_execve() executes a new program.
41761 */ 43455 */
41762@@ -1450,6 +1476,11 @@ static int do_execve_common(const char *filename, 43456@@ -1450,6 +1505,11 @@ static int do_execve_common(const char *filename,
41763 struct user_arg_ptr envp, 43457 struct user_arg_ptr envp,
41764 struct pt_regs *regs) 43458 struct pt_regs *regs)
41765 { 43459 {
@@ -41771,7 +43465,7 @@ index 3625464..7949233 100644
41771 struct linux_binprm *bprm; 43465 struct linux_binprm *bprm;
41772 struct file *file; 43466 struct file *file;
41773 struct files_struct *displaced; 43467 struct files_struct *displaced;
41774@@ -1457,6 +1488,8 @@ static int do_execve_common(const char *filename, 43468@@ -1457,6 +1517,8 @@ static int do_execve_common(const char *filename,
41775 int retval; 43469 int retval;
41776 const struct cred *cred = current_cred(); 43470 const struct cred *cred = current_cred();
41777 43471
@@ -41780,7 +43474,7 @@ index 3625464..7949233 100644
41780 /* 43474 /*
41781 * We move the actual failure in case of RLIMIT_NPROC excess from 43475 * We move the actual failure in case of RLIMIT_NPROC excess from
41782 * set*uid() to execve() because too many poorly written programs 43476 * set*uid() to execve() because too many poorly written programs
41783@@ -1497,12 +1530,27 @@ static int do_execve_common(const char *filename, 43477@@ -1497,12 +1559,27 @@ static int do_execve_common(const char *filename,
41784 if (IS_ERR(file)) 43478 if (IS_ERR(file))
41785 goto out_unmark; 43479 goto out_unmark;
41786 43480
@@ -41808,24 +43502,10 @@ index 3625464..7949233 100644
41808 retval = bprm_mm_init(bprm); 43502 retval = bprm_mm_init(bprm);
41809 if (retval) 43503 if (retval)
41810 goto out_file; 43504 goto out_file;
41811@@ -1532,11 +1580,46 @@ static int do_execve_common(const char *filename, 43505@@ -1519,24 +1596,65 @@ static int do_execve_common(const char *filename,
41812 if (retval < 0) 43506 if (retval < 0)
41813 goto out; 43507 goto out;
41814 43508
41815+ if (!gr_tpe_allow(file)) {
41816+ retval = -EACCES;
41817+ goto out;
41818+ }
41819+
41820+ if (gr_check_crash_exec(file)) {
41821+ retval = -EACCES;
41822+ goto out;
41823+ }
41824+
41825+ gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
41826+
41827+ gr_handle_exec_args(bprm, argv);
41828+
41829+#ifdef CONFIG_GRKERNSEC 43509+#ifdef CONFIG_GRKERNSEC
41830+ old_acl = current->acl; 43510+ old_acl = current->acl;
41831+ memcpy(old_rlim, current->signal->rlim, sizeof(old_rlim)); 43511+ memcpy(old_rlim, current->signal->rlim, sizeof(old_rlim));
@@ -41833,12 +43513,50 @@ index 3625464..7949233 100644
41833+ get_file(file); 43513+ get_file(file);
41834+ current->exec_file = file; 43514+ current->exec_file = file;
41835+#endif 43515+#endif
43516+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
43517+ /* limit suid stack to 8MB
43518+ we saved the old limits above and will restore them if this exec fails
43519+ */
43520+ if (((bprm->cred->euid != current_euid()) || (bprm->cred->egid != current_egid())) &&
43521+ (old_rlim[RLIMIT_STACK].rlim_cur > (8 * 1024 * 1024)))
43522+ current->signal->rlim[RLIMIT_STACK].rlim_cur = 8 * 1024 * 1024;
43523+#endif
43524+
43525+ if (!gr_tpe_allow(file)) {
43526+ retval = -EACCES;
43527+ goto out_fail;
43528+ }
43529+
43530+ if (gr_check_crash_exec(file)) {
43531+ retval = -EACCES;
43532+ goto out_fail;
43533+ }
41836+ 43534+
41837+ retval = gr_set_proc_label(file->f_dentry, file->f_vfsmnt, 43535+ retval = gr_set_proc_label(file->f_dentry, file->f_vfsmnt,
41838+ bprm->unsafe); 43536+ bprm->unsafe);
41839+ if (retval < 0) 43537+ if (retval < 0)
41840+ goto out_fail; 43538+ goto out_fail;
41841+ 43539+
43540 retval = copy_strings_kernel(1, &bprm->filename, bprm);
43541 if (retval < 0)
43542- goto out;
43543+ goto out_fail;
43544
43545 bprm->exec = bprm->p;
43546 retval = copy_strings(bprm->envc, envp, bprm);
43547 if (retval < 0)
43548- goto out;
43549+ goto out_fail;
43550
43551 retval = copy_strings(bprm->argc, argv, bprm);
43552 if (retval < 0)
43553- goto out;
43554+ goto out_fail;
43555+
43556+ gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
43557+
43558+ gr_handle_exec_args(bprm, argv);
43559
41842 retval = search_binary_handler(bprm,regs); 43560 retval = search_binary_handler(bprm,regs);
41843 if (retval < 0) 43561 if (retval < 0)
41844- goto out; 43562- goto out;
@@ -41849,14 +43567,12 @@ index 3625464..7949233 100644
41849+#endif 43567+#endif
41850 43568
41851 /* execve succeeded */ 43569 /* execve succeeded */
41852+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
41853+ current->exec_id = atomic64_inc_return_unchecked(&global_exec_counter);
41854+#endif
41855+ 43570+
43571+ increment_exec_counter();
41856 current->fs->in_exec = 0; 43572 current->fs->in_exec = 0;
41857 current->in_execve = 0; 43573 current->in_execve = 0;
41858 acct_update_integrals(current); 43574 acct_update_integrals(current);
41859@@ -1545,6 +1628,14 @@ static int do_execve_common(const char *filename, 43575@@ -1545,6 +1663,14 @@ static int do_execve_common(const char *filename,
41860 put_files_struct(displaced); 43576 put_files_struct(displaced);
41861 return retval; 43577 return retval;
41862 43578
@@ -41871,7 +43587,7 @@ index 3625464..7949233 100644
41871 out: 43587 out:
41872 if (bprm->mm) { 43588 if (bprm->mm) {
41873 acct_arg_size(bprm, 0); 43589 acct_arg_size(bprm, 0);
41874@@ -1618,7 +1709,7 @@ static int expand_corename(struct core_name *cn) 43590@@ -1618,7 +1744,7 @@ static int expand_corename(struct core_name *cn)
41875 { 43591 {
41876 char *old_corename = cn->corename; 43592 char *old_corename = cn->corename;
41877 43593
@@ -41880,7 +43596,7 @@ index 3625464..7949233 100644
41880 cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL); 43596 cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL);
41881 43597
41882 if (!cn->corename) { 43598 if (!cn->corename) {
41883@@ -1715,7 +1806,7 @@ static int format_corename(struct core_name *cn, long signr) 43599@@ -1715,7 +1841,7 @@ static int format_corename(struct core_name *cn, long signr)
41884 int pid_in_pattern = 0; 43600 int pid_in_pattern = 0;
41885 int err = 0; 43601 int err = 0;
41886 43602
@@ -41889,7 +43605,7 @@ index 3625464..7949233 100644
41889 cn->corename = kmalloc(cn->size, GFP_KERNEL); 43605 cn->corename = kmalloc(cn->size, GFP_KERNEL);
41890 cn->used = 0; 43606 cn->used = 0;
41891 43607
41892@@ -1812,6 +1903,218 @@ out: 43608@@ -1812,6 +1938,218 @@ out:
41893 return ispipe; 43609 return ispipe;
41894 } 43610 }
41895 43611
@@ -42080,7 +43796,7 @@ index 3625464..7949233 100644
42080+#endif 43796+#endif
42081+} 43797+}
42082+ 43798+
42083+NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type) 43799+__noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
42084+{ 43800+{
42085+ if (current->signal->curr_ip) 43801+ if (current->signal->curr_ip)
42086+ printk(KERN_ERR "PAX: From %pI4: kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n", 43802+ 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
42108 static int zap_process(struct task_struct *start, int exit_code) 43824 static int zap_process(struct task_struct *start, int exit_code)
42109 { 43825 {
42110 struct task_struct *t; 43826 struct task_struct *t;
42111@@ -2023,17 +2326,17 @@ static void wait_for_dump_helpers(struct file *file) 43827@@ -2023,17 +2361,17 @@ static void wait_for_dump_helpers(struct file *file)
42112 pipe = file->f_path.dentry->d_inode->i_pipe; 43828 pipe = file->f_path.dentry->d_inode->i_pipe;
42113 43829
42114 pipe_lock(pipe); 43830 pipe_lock(pipe);
@@ -42131,7 +43847,7 @@ index 3625464..7949233 100644
42131 pipe_unlock(pipe); 43847 pipe_unlock(pipe);
42132 43848
42133 } 43849 }
42134@@ -2094,7 +2397,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) 43850@@ -2094,7 +2432,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
42135 int retval = 0; 43851 int retval = 0;
42136 int flag = 0; 43852 int flag = 0;
42137 int ispipe; 43853 int ispipe;
@@ -42140,7 +43856,7 @@ index 3625464..7949233 100644
42140 struct coredump_params cprm = { 43856 struct coredump_params cprm = {
42141 .signr = signr, 43857 .signr = signr,
42142 .regs = regs, 43858 .regs = regs,
42143@@ -2109,6 +2412,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) 43859@@ -2109,6 +2447,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
42144 43860
42145 audit_core_dumps(signr); 43861 audit_core_dumps(signr);
42146 43862
@@ -42150,7 +43866,7 @@ index 3625464..7949233 100644
42150 binfmt = mm->binfmt; 43866 binfmt = mm->binfmt;
42151 if (!binfmt || !binfmt->core_dump) 43867 if (!binfmt || !binfmt->core_dump)
42152 goto fail; 43868 goto fail;
42153@@ -2176,7 +2482,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) 43869@@ -2176,7 +2517,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
42154 } 43870 }
42155 cprm.limit = RLIM_INFINITY; 43871 cprm.limit = RLIM_INFINITY;
42156 43872
@@ -42159,7 +43875,7 @@ index 3625464..7949233 100644
42159 if (core_pipe_limit && (core_pipe_limit < dump_count)) { 43875 if (core_pipe_limit && (core_pipe_limit < dump_count)) {
42160 printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n", 43876 printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n",
42161 task_tgid_vnr(current), current->comm); 43877 task_tgid_vnr(current), current->comm);
42162@@ -2203,6 +2509,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) 43878@@ -2203,6 +2544,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
42163 } else { 43879 } else {
42164 struct inode *inode; 43880 struct inode *inode;
42165 43881
@@ -42168,7 +43884,7 @@ index 3625464..7949233 100644
42168 if (cprm.limit < binfmt->min_coredump) 43884 if (cprm.limit < binfmt->min_coredump)
42169 goto fail_unlock; 43885 goto fail_unlock;
42170 43886
42171@@ -2246,7 +2554,7 @@ close_fail: 43887@@ -2246,7 +2589,7 @@ close_fail:
42172 filp_close(cprm.file, NULL); 43888 filp_close(cprm.file, NULL);
42173 fail_dropcount: 43889 fail_dropcount:
42174 if (ispipe) 43890 if (ispipe)
@@ -42177,7 +43893,7 @@ index 3625464..7949233 100644
42177 fail_unlock: 43893 fail_unlock:
42178 kfree(cn.corename); 43894 kfree(cn.corename);
42179 fail_corename: 43895 fail_corename:
42180@@ -2265,7 +2573,7 @@ fail: 43896@@ -2265,7 +2608,7 @@ fail:
42181 */ 43897 */
42182 int dump_write(struct file *file, const void *addr, int nr) 43898 int dump_write(struct file *file, const void *addr, int nr)
42183 { 43899 {
@@ -42536,7 +44252,7 @@ index 0845f84..7b4ebef 100644
42536 44252
42537 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) { 44253 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
42538diff --git a/fs/fs_struct.c b/fs/fs_struct.c 44254diff --git a/fs/fs_struct.c b/fs/fs_struct.c
42539index 78b519c..212c0d0 100644 44255index 78b519c..a8b4979 100644
42540--- a/fs/fs_struct.c 44256--- a/fs/fs_struct.c
42541+++ b/fs/fs_struct.c 44257+++ b/fs/fs_struct.c
42542@@ -4,6 +4,7 @@ 44258@@ -4,6 +4,7 @@
@@ -42603,7 +44319,14 @@ index 78b519c..212c0d0 100644
42603 spin_unlock(&fs->lock); 44319 spin_unlock(&fs->lock);
42604 task_unlock(current); 44320 task_unlock(current);
42605 44321
42606@@ -170,7 +178,7 @@ EXPORT_SYMBOL(current_umask); 44322@@ -164,13 +172,13 @@ EXPORT_SYMBOL_GPL(unshare_fs_struct);
44323
44324 int current_umask(void)
44325 {
44326- return current->fs->umask;
44327+ return current->fs->umask | gr_acl_umask();
44328 }
44329 EXPORT_SYMBOL(current_umask);
42607 44330
42608 /* to be mentioned only in INIT_TASK */ 44331 /* to be mentioned only in INIT_TASK */
42609 struct fs_struct init_fs = { 44332 struct fs_struct init_fs = {
@@ -44134,7 +45857,7 @@ index 637694b..f84a121 100644
44134 45857
44135 lock_flocks(); 45858 lock_flocks();
44136diff --git a/fs/namei.c b/fs/namei.c 45859diff --git a/fs/namei.c b/fs/namei.c
44137index 5008f01..90328a7 100644 45860index 744e942..24ef47f 100644
44138--- a/fs/namei.c 45861--- a/fs/namei.c
44139+++ b/fs/namei.c 45862+++ b/fs/namei.c
44140@@ -279,16 +279,32 @@ int generic_permission(struct inode *inode, int mask) 45863@@ -279,16 +279,32 @@ int generic_permission(struct inode *inode, int mask)
@@ -44209,7 +45932,7 @@ index 5008f01..90328a7 100644
44209 error = 0; 45932 error = 0;
44210 if (s) 45933 if (s)
44211 error = __vfs_follow_link(nd, s); 45934 error = __vfs_follow_link(nd, s);
44212@@ -1622,6 +1638,21 @@ static int path_lookupat(int dfd, const char *name, 45935@@ -1624,6 +1640,21 @@ static int path_lookupat(int dfd, const char *name,
44213 if (!err) 45936 if (!err)
44214 err = complete_walk(nd); 45937 err = complete_walk(nd);
44215 45938
@@ -44231,7 +45954,7 @@ index 5008f01..90328a7 100644
44231 if (!err && nd->flags & LOOKUP_DIRECTORY) { 45954 if (!err && nd->flags & LOOKUP_DIRECTORY) {
44232 if (!nd->inode->i_op->lookup) { 45955 if (!nd->inode->i_op->lookup) {
44233 path_put(&nd->path); 45956 path_put(&nd->path);
44234@@ -1649,6 +1680,15 @@ static int do_path_lookup(int dfd, const char *name, 45957@@ -1651,6 +1682,15 @@ static int do_path_lookup(int dfd, const char *name,
44235 retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd); 45958 retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd);
44236 45959
44237 if (likely(!retval)) { 45960 if (likely(!retval)) {
@@ -44247,7 +45970,7 @@ index 5008f01..90328a7 100644
44247 if (unlikely(!audit_dummy_context())) { 45970 if (unlikely(!audit_dummy_context())) {
44248 if (nd->path.dentry && nd->inode) 45971 if (nd->path.dentry && nd->inode)
44249 audit_inode(name, nd->path.dentry); 45972 audit_inode(name, nd->path.dentry);
44250@@ -2046,6 +2086,13 @@ static int may_open(struct path *path, int acc_mode, int flag) 45973@@ -2048,6 +2088,13 @@ static int may_open(struct path *path, int acc_mode, int flag)
44251 if (flag & O_NOATIME && !inode_owner_or_capable(inode)) 45974 if (flag & O_NOATIME && !inode_owner_or_capable(inode))
44252 return -EPERM; 45975 return -EPERM;
44253 45976
@@ -44261,7 +45984,7 @@ index 5008f01..90328a7 100644
44261 return 0; 45984 return 0;
44262 } 45985 }
44263 45986
44264@@ -2107,6 +2154,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 45987@@ -2109,6 +2156,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44265 error = complete_walk(nd); 45988 error = complete_walk(nd);
44266 if (error) 45989 if (error)
44267 return ERR_PTR(error); 45990 return ERR_PTR(error);
@@ -44278,7 +46001,7 @@ index 5008f01..90328a7 100644
44278 audit_inode(pathname, nd->path.dentry); 46001 audit_inode(pathname, nd->path.dentry);
44279 if (open_flag & O_CREAT) { 46002 if (open_flag & O_CREAT) {
44280 error = -EISDIR; 46003 error = -EISDIR;
44281@@ -2117,6 +2174,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 46004@@ -2119,6 +2176,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44282 error = complete_walk(nd); 46005 error = complete_walk(nd);
44283 if (error) 46006 if (error)
44284 return ERR_PTR(error); 46007 return ERR_PTR(error);
@@ -44295,7 +46018,7 @@ index 5008f01..90328a7 100644
44295 audit_inode(pathname, dir); 46018 audit_inode(pathname, dir);
44296 goto ok; 46019 goto ok;
44297 } 46020 }
44298@@ -2138,6 +2205,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 46021@@ -2140,6 +2207,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44299 error = complete_walk(nd); 46022 error = complete_walk(nd);
44300 if (error) 46023 if (error)
44301 return ERR_PTR(-ECHILD); 46024 return ERR_PTR(-ECHILD);
@@ -44312,7 +46035,7 @@ index 5008f01..90328a7 100644
44312 46035
44313 error = -ENOTDIR; 46036 error = -ENOTDIR;
44314 if (nd->flags & LOOKUP_DIRECTORY) { 46037 if (nd->flags & LOOKUP_DIRECTORY) {
44315@@ -2178,6 +2255,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 46038@@ -2180,6 +2257,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44316 /* Negative dentry, just create the file */ 46039 /* Negative dentry, just create the file */
44317 if (!dentry->d_inode) { 46040 if (!dentry->d_inode) {
44318 int mode = op->mode; 46041 int mode = op->mode;
@@ -44325,7 +46048,7 @@ index 5008f01..90328a7 100644
44325 if (!IS_POSIXACL(dir->d_inode)) 46048 if (!IS_POSIXACL(dir->d_inode))
44326 mode &= ~current_umask(); 46049 mode &= ~current_umask();
44327 /* 46050 /*
44328@@ -2201,6 +2284,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 46051@@ -2203,6 +2286,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44329 error = vfs_create(dir->d_inode, dentry, mode, nd); 46052 error = vfs_create(dir->d_inode, dentry, mode, nd);
44330 if (error) 46053 if (error)
44331 goto exit_mutex_unlock; 46054 goto exit_mutex_unlock;
@@ -44334,7 +46057,7 @@ index 5008f01..90328a7 100644
44334 mutex_unlock(&dir->d_inode->i_mutex); 46057 mutex_unlock(&dir->d_inode->i_mutex);
44335 dput(nd->path.dentry); 46058 dput(nd->path.dentry);
44336 nd->path.dentry = dentry; 46059 nd->path.dentry = dentry;
44337@@ -2210,6 +2295,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path, 46060@@ -2212,6 +2297,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
44338 /* 46061 /*
44339 * It already exists. 46062 * It already exists.
44340 */ 46063 */
@@ -44354,7 +46077,7 @@ index 5008f01..90328a7 100644
44354 mutex_unlock(&dir->d_inode->i_mutex); 46077 mutex_unlock(&dir->d_inode->i_mutex);
44355 audit_inode(pathname, path->dentry); 46078 audit_inode(pathname, path->dentry);
44356 46079
44357@@ -2422,6 +2520,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path 46080@@ -2424,6 +2522,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path
44358 *path = nd.path; 46081 *path = nd.path;
44359 return dentry; 46082 return dentry;
44360 eexist: 46083 eexist:
@@ -44366,7 +46089,7 @@ index 5008f01..90328a7 100644
44366 dput(dentry); 46089 dput(dentry);
44367 dentry = ERR_PTR(-EEXIST); 46090 dentry = ERR_PTR(-EEXIST);
44368 fail: 46091 fail:
44369@@ -2444,6 +2547,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat 46092@@ -2446,6 +2549,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat
44370 } 46093 }
44371 EXPORT_SYMBOL(user_path_create); 46094 EXPORT_SYMBOL(user_path_create);
44372 46095
@@ -44387,7 +46110,7 @@ index 5008f01..90328a7 100644
44387 int vfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev) 46110 int vfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev)
44388 { 46111 {
44389 int error = may_create(dir, dentry); 46112 int error = may_create(dir, dentry);
44390@@ -2511,6 +2628,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, 46113@@ -2513,6 +2630,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
44391 error = mnt_want_write(path.mnt); 46114 error = mnt_want_write(path.mnt);
44392 if (error) 46115 if (error)
44393 goto out_dput; 46116 goto out_dput;
@@ -44405,7 +46128,7 @@ index 5008f01..90328a7 100644
44405 error = security_path_mknod(&path, dentry, mode, dev); 46128 error = security_path_mknod(&path, dentry, mode, dev);
44406 if (error) 46129 if (error)
44407 goto out_drop_write; 46130 goto out_drop_write;
44408@@ -2528,6 +2656,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, 46131@@ -2530,6 +2658,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
44409 } 46132 }
44410 out_drop_write: 46133 out_drop_write:
44411 mnt_drop_write(path.mnt); 46134 mnt_drop_write(path.mnt);
@@ -44415,7 +46138,7 @@ index 5008f01..90328a7 100644
44415 out_dput: 46138 out_dput:
44416 dput(dentry); 46139 dput(dentry);
44417 mutex_unlock(&path.dentry->d_inode->i_mutex); 46140 mutex_unlock(&path.dentry->d_inode->i_mutex);
44418@@ -2577,12 +2708,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) 46141@@ -2579,12 +2710,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
44419 error = mnt_want_write(path.mnt); 46142 error = mnt_want_write(path.mnt);
44420 if (error) 46143 if (error)
44421 goto out_dput; 46144 goto out_dput;
@@ -44437,7 +46160,7 @@ index 5008f01..90328a7 100644
44437 out_dput: 46160 out_dput:
44438 dput(dentry); 46161 dput(dentry);
44439 mutex_unlock(&path.dentry->d_inode->i_mutex); 46162 mutex_unlock(&path.dentry->d_inode->i_mutex);
44440@@ -2662,6 +2802,8 @@ static long do_rmdir(int dfd, const char __user *pathname) 46163@@ -2664,6 +2804,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
44441 char * name; 46164 char * name;
44442 struct dentry *dentry; 46165 struct dentry *dentry;
44443 struct nameidata nd; 46166 struct nameidata nd;
@@ -44446,7 +46169,7 @@ index 5008f01..90328a7 100644
44446 46169
44447 error = user_path_parent(dfd, pathname, &nd, &name); 46170 error = user_path_parent(dfd, pathname, &nd, &name);
44448 if (error) 46171 if (error)
44449@@ -2690,6 +2832,15 @@ static long do_rmdir(int dfd, const char __user *pathname) 46172@@ -2692,6 +2834,15 @@ static long do_rmdir(int dfd, const char __user *pathname)
44450 error = -ENOENT; 46173 error = -ENOENT;
44451 goto exit3; 46174 goto exit3;
44452 } 46175 }
@@ -44462,7 +46185,7 @@ index 5008f01..90328a7 100644
44462 error = mnt_want_write(nd.path.mnt); 46185 error = mnt_want_write(nd.path.mnt);
44463 if (error) 46186 if (error)
44464 goto exit3; 46187 goto exit3;
44465@@ -2697,6 +2848,8 @@ static long do_rmdir(int dfd, const char __user *pathname) 46188@@ -2699,6 +2850,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
44466 if (error) 46189 if (error)
44467 goto exit4; 46190 goto exit4;
44468 error = vfs_rmdir(nd.path.dentry->d_inode, dentry); 46191 error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
@@ -44471,7 +46194,7 @@ index 5008f01..90328a7 100644
44471 exit4: 46194 exit4:
44472 mnt_drop_write(nd.path.mnt); 46195 mnt_drop_write(nd.path.mnt);
44473 exit3: 46196 exit3:
44474@@ -2759,6 +2912,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) 46197@@ -2761,6 +2914,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
44475 struct dentry *dentry; 46198 struct dentry *dentry;
44476 struct nameidata nd; 46199 struct nameidata nd;
44477 struct inode *inode = NULL; 46200 struct inode *inode = NULL;
@@ -44480,7 +46203,7 @@ index 5008f01..90328a7 100644
44480 46203
44481 error = user_path_parent(dfd, pathname, &nd, &name); 46204 error = user_path_parent(dfd, pathname, &nd, &name);
44482 if (error) 46205 if (error)
44483@@ -2781,6 +2936,16 @@ static long do_unlinkat(int dfd, const char __user *pathname) 46206@@ -2783,6 +2938,16 @@ static long do_unlinkat(int dfd, const char __user *pathname)
44484 if (!inode) 46207 if (!inode)
44485 goto slashes; 46208 goto slashes;
44486 ihold(inode); 46209 ihold(inode);
@@ -44497,7 +46220,7 @@ index 5008f01..90328a7 100644
44497 error = mnt_want_write(nd.path.mnt); 46220 error = mnt_want_write(nd.path.mnt);
44498 if (error) 46221 if (error)
44499 goto exit2; 46222 goto exit2;
44500@@ -2788,6 +2953,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) 46223@@ -2790,6 +2955,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
44501 if (error) 46224 if (error)
44502 goto exit3; 46225 goto exit3;
44503 error = vfs_unlink(nd.path.dentry->d_inode, dentry); 46226 error = vfs_unlink(nd.path.dentry->d_inode, dentry);
@@ -44506,7 +46229,7 @@ index 5008f01..90328a7 100644
44506 exit3: 46229 exit3:
44507 mnt_drop_write(nd.path.mnt); 46230 mnt_drop_write(nd.path.mnt);
44508 exit2: 46231 exit2:
44509@@ -2863,10 +3030,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, 46232@@ -2865,10 +3032,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
44510 error = mnt_want_write(path.mnt); 46233 error = mnt_want_write(path.mnt);
44511 if (error) 46234 if (error)
44512 goto out_dput; 46235 goto out_dput;
@@ -44525,7 +46248,7 @@ index 5008f01..90328a7 100644
44525 out_drop_write: 46248 out_drop_write:
44526 mnt_drop_write(path.mnt); 46249 mnt_drop_write(path.mnt);
44527 out_dput: 46250 out_dput:
44528@@ -2938,6 +3113,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, 46251@@ -2940,6 +3115,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
44529 { 46252 {
44530 struct dentry *new_dentry; 46253 struct dentry *new_dentry;
44531 struct path old_path, new_path; 46254 struct path old_path, new_path;
@@ -44533,7 +46256,7 @@ index 5008f01..90328a7 100644
44533 int how = 0; 46256 int how = 0;
44534 int error; 46257 int error;
44535 46258
44536@@ -2961,7 +3137,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, 46259@@ -2963,7 +3139,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
44537 if (error) 46260 if (error)
44538 return error; 46261 return error;
44539 46262
@@ -44542,7 +46265,7 @@ index 5008f01..90328a7 100644
44542 error = PTR_ERR(new_dentry); 46265 error = PTR_ERR(new_dentry);
44543 if (IS_ERR(new_dentry)) 46266 if (IS_ERR(new_dentry))
44544 goto out; 46267 goto out;
44545@@ -2972,13 +3148,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, 46268@@ -2974,13 +3150,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
44546 error = mnt_want_write(new_path.mnt); 46269 error = mnt_want_write(new_path.mnt);
44547 if (error) 46270 if (error)
44548 goto out_dput; 46271 goto out_dput;
@@ -44573,7 +46296,7 @@ index 5008f01..90328a7 100644
44573 dput(new_dentry); 46296 dput(new_dentry);
44574 mutex_unlock(&new_path.dentry->d_inode->i_mutex); 46297 mutex_unlock(&new_path.dentry->d_inode->i_mutex);
44575 path_put(&new_path); 46298 path_put(&new_path);
44576@@ -3206,6 +3399,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, 46299@@ -3208,6 +3401,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
44577 if (new_dentry == trap) 46300 if (new_dentry == trap)
44578 goto exit5; 46301 goto exit5;
44579 46302
@@ -44586,7 +46309,7 @@ index 5008f01..90328a7 100644
44586 error = mnt_want_write(oldnd.path.mnt); 46309 error = mnt_want_write(oldnd.path.mnt);
44587 if (error) 46310 if (error)
44588 goto exit5; 46311 goto exit5;
44589@@ -3215,6 +3414,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, 46312@@ -3217,6 +3416,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
44590 goto exit6; 46313 goto exit6;
44591 error = vfs_rename(old_dir->d_inode, old_dentry, 46314 error = vfs_rename(old_dir->d_inode, old_dentry,
44592 new_dir->d_inode, new_dentry); 46315 new_dir->d_inode, new_dentry);
@@ -44596,7 +46319,7 @@ index 5008f01..90328a7 100644
44596 exit6: 46319 exit6:
44597 mnt_drop_write(oldnd.path.mnt); 46320 mnt_drop_write(oldnd.path.mnt);
44598 exit5: 46321 exit5:
44599@@ -3240,6 +3442,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna 46322@@ -3242,6 +3444,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna
44600 46323
44601 int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link) 46324 int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link)
44602 { 46325 {
@@ -44605,7 +46328,7 @@ index 5008f01..90328a7 100644
44605 int len; 46328 int len;
44606 46329
44607 len = PTR_ERR(link); 46330 len = PTR_ERR(link);
44608@@ -3249,7 +3453,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c 46331@@ -3251,7 +3455,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c
44609 len = strlen(link); 46332 len = strlen(link);
44610 if (len > (unsigned) buflen) 46333 if (len > (unsigned) buflen)
44611 len = buflen; 46334 len = buflen;
@@ -44967,7 +46690,7 @@ index 5d22872..523db20 100644
44967 kfree(link); 46690 kfree(link);
44968 } 46691 }
44969diff --git a/fs/open.c b/fs/open.c 46692diff --git a/fs/open.c b/fs/open.c
44970index 22c41b5..695cb17 100644 46693index 22c41b5..78894cf 100644
44971--- a/fs/open.c 46694--- a/fs/open.c
44972+++ b/fs/open.c 46695+++ b/fs/open.c
44973@@ -112,6 +112,10 @@ static long do_sys_truncate(const char __user *pathname, loff_t length) 46696@@ -112,6 +112,10 @@ static long do_sys_truncate(const char __user *pathname, loff_t length)
@@ -45033,7 +46756,7 @@ index 22c41b5..695cb17 100644
45033 return error; 46756 return error;
45034 mutex_lock(&inode->i_mutex); 46757 mutex_lock(&inode->i_mutex);
45035+ 46758+
45036+ if (!gr_acl_handle_fchmod(path->dentry, path->mnt, mode)) { 46759+ if (!gr_acl_handle_chmod(path->dentry, path->mnt, &mode)) {
45037+ error = -EACCES; 46760+ error = -EACCES;
45038+ goto out_unlock; 46761+ goto out_unlock;
45039+ } 46762+ }
@@ -45252,7 +46975,7 @@ index 15af622..0e9f4467 100644
45252 help 46975 help
45253 Various /proc files exist to monitor process memory utilization: 46976 Various /proc files exist to monitor process memory utilization:
45254diff --git a/fs/proc/array.c b/fs/proc/array.c 46977diff --git a/fs/proc/array.c b/fs/proc/array.c
45255index 3a1dafd..1456746 100644 46978index 3a1dafd..bf1bd84 100644
45256--- a/fs/proc/array.c 46979--- a/fs/proc/array.c
45257+++ b/fs/proc/array.c 46980+++ b/fs/proc/array.c
45258@@ -60,6 +60,7 @@ 46981@@ -60,6 +60,7 @@
@@ -45360,9 +47083,12 @@ index 3a1dafd..1456746 100644
45360 esp, 47083 esp,
45361 eip, 47084 eip,
45362 /* The signal information here is obsolete. 47085 /* The signal information here is obsolete.
45363@@ -535,6 +592,13 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, 47086@@ -533,8 +590,15 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
47087 struct pid *pid, struct task_struct *task)
47088 {
45364 unsigned long size = 0, resident = 0, shared = 0, text = 0, data = 0; 47089 unsigned long size = 0, resident = 0, shared = 0, text = 0, data = 0;
45365 struct mm_struct *mm = get_task_mm(task); 47090- struct mm_struct *mm = get_task_mm(task);
47091+ struct mm_struct *mm;
45366 47092
45367+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP 47093+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
45368+ if (current->exec_id != m->exec_id) { 47094+ if (current->exec_id != m->exec_id) {
@@ -45370,7 +47096,7 @@ index 3a1dafd..1456746 100644
45370+ return 0; 47096+ return 0;
45371+ } 47097+ }
45372+#endif 47098+#endif
45373+ 47099+ mm = get_task_mm(task);
45374 if (mm) { 47100 if (mm) {
45375 size = task_statm(mm, &shared, &text, &data, &resident); 47101 size = task_statm(mm, &shared, &text, &data, &resident);
45376 mmput(mm); 47102 mmput(mm);
@@ -45394,7 +47120,7 @@ index 3a1dafd..1456746 100644
45394+} 47120+}
45395+#endif 47121+#endif
45396diff --git a/fs/proc/base.c b/fs/proc/base.c 47122diff --git a/fs/proc/base.c b/fs/proc/base.c
45397index 1ace83d..357b933 100644 47123index 1ace83d..f5e575d 100644
45398--- a/fs/proc/base.c 47124--- a/fs/proc/base.c
45399+++ b/fs/proc/base.c 47125+++ b/fs/proc/base.c
45400@@ -107,6 +107,22 @@ struct pid_entry { 47126@@ -107,6 +107,22 @@ struct pid_entry {
@@ -45534,7 +47260,18 @@ index 1ace83d..357b933 100644
45534 put_task_struct(task); 47260 put_task_struct(task);
45535 } 47261 }
45536 return allowed; 47262 return allowed;
45537@@ -797,6 +815,11 @@ static ssize_t mem_rw(struct file *file, char __user *buf, 47263@@ -786,6 +804,10 @@ static int mem_open(struct inode* inode, struct file* file)
47264 file->f_mode |= FMODE_UNSIGNED_OFFSET;
47265 file->private_data = mm;
47266
47267+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
47268+ file->f_version = current->exec_id;
47269+#endif
47270+
47271 return 0;
47272 }
47273
47274@@ -797,6 +819,17 @@ static ssize_t mem_rw(struct file *file, char __user *buf,
45538 ssize_t copied; 47275 ssize_t copied;
45539 char *page; 47276 char *page;
45540 47277
@@ -45542,11 +47279,17 @@ index 1ace83d..357b933 100644
45542+ if (write) 47279+ if (write)
45543+ return -EPERM; 47280+ return -EPERM;
45544+#endif 47281+#endif
47282+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
47283+ if (file->f_version != current->exec_id) {
47284+ gr_log_badprocpid("mem");
47285+ return 0;
47286+ }
47287+#endif
45545+ 47288+
45546 if (!mm) 47289 if (!mm)
45547 return 0; 47290 return 0;
45548 47291
45549@@ -897,6 +920,9 @@ static ssize_t environ_read(struct file *file, char __user *buf, 47292@@ -897,6 +930,9 @@ static ssize_t environ_read(struct file *file, char __user *buf,
45550 if (!task) 47293 if (!task)
45551 goto out_no_task; 47294 goto out_no_task;
45552 47295
@@ -45556,7 +47299,7 @@ index 1ace83d..357b933 100644
45556 ret = -ENOMEM; 47299 ret = -ENOMEM;
45557 page = (char *)__get_free_page(GFP_TEMPORARY); 47300 page = (char *)__get_free_page(GFP_TEMPORARY);
45558 if (!page) 47301 if (!page)
45559@@ -1519,7 +1545,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd) 47302@@ -1519,7 +1555,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
45560 path_put(&nd->path); 47303 path_put(&nd->path);
45561 47304
45562 /* Are we allowed to snoop on the tasks file descriptors? */ 47305 /* Are we allowed to snoop on the tasks file descriptors? */
@@ -45565,7 +47308,7 @@ index 1ace83d..357b933 100644
45565 goto out; 47308 goto out;
45566 47309
45567 error = PROC_I(inode)->op.proc_get_link(inode, &nd->path); 47310 error = PROC_I(inode)->op.proc_get_link(inode, &nd->path);
45568@@ -1558,8 +1584,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b 47311@@ -1558,8 +1594,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
45569 struct path path; 47312 struct path path;
45570 47313
45571 /* Are we allowed to snoop on the tasks file descriptors? */ 47314 /* Are we allowed to snoop on the tasks file descriptors? */
@@ -45586,7 +47329,7 @@ index 1ace83d..357b933 100644
45586 47329
45587 error = PROC_I(inode)->op.proc_get_link(inode, &path); 47330 error = PROC_I(inode)->op.proc_get_link(inode, &path);
45588 if (error) 47331 if (error)
45589@@ -1624,7 +1660,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t 47332@@ -1624,7 +1670,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t
45590 rcu_read_lock(); 47333 rcu_read_lock();
45591 cred = __task_cred(task); 47334 cred = __task_cred(task);
45592 inode->i_uid = cred->euid; 47335 inode->i_uid = cred->euid;
@@ -45598,7 +47341,7 @@ index 1ace83d..357b933 100644
45598 rcu_read_unlock(); 47341 rcu_read_unlock();
45599 } 47342 }
45600 security_task_to_inode(task, inode); 47343 security_task_to_inode(task, inode);
45601@@ -1642,6 +1682,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) 47344@@ -1642,6 +1692,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
45602 struct inode *inode = dentry->d_inode; 47345 struct inode *inode = dentry->d_inode;
45603 struct task_struct *task; 47346 struct task_struct *task;
45604 const struct cred *cred; 47347 const struct cred *cred;
@@ -45608,7 +47351,7 @@ index 1ace83d..357b933 100644
45608 47351
45609 generic_fillattr(inode, stat); 47352 generic_fillattr(inode, stat);
45610 47353
45611@@ -1649,13 +1692,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) 47354@@ -1649,13 +1702,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
45612 stat->uid = 0; 47355 stat->uid = 0;
45613 stat->gid = 0; 47356 stat->gid = 0;
45614 task = pid_task(proc_pid(inode), PIDTYPE_PID); 47357 task = pid_task(proc_pid(inode), PIDTYPE_PID);
@@ -45651,7 +47394,7 @@ index 1ace83d..357b933 100644
45651 } 47394 }
45652 rcu_read_unlock(); 47395 rcu_read_unlock();
45653 return 0; 47396 return 0;
45654@@ -1692,11 +1763,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd) 47397@@ -1692,11 +1773,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
45655 47398
45656 if (task) { 47399 if (task) {
45657 if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) || 47400 if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
@@ -45672,7 +47415,7 @@ index 1ace83d..357b933 100644
45672 rcu_read_unlock(); 47415 rcu_read_unlock();
45673 } else { 47416 } else {
45674 inode->i_uid = 0; 47417 inode->i_uid = 0;
45675@@ -1814,7 +1894,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info) 47418@@ -1814,7 +1904,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info)
45676 int fd = proc_fd(inode); 47419 int fd = proc_fd(inode);
45677 47420
45678 if (task) { 47421 if (task) {
@@ -45682,7 +47425,7 @@ index 1ace83d..357b933 100644
45682 put_task_struct(task); 47425 put_task_struct(task);
45683 } 47426 }
45684 if (files) { 47427 if (files) {
45685@@ -2082,11 +2163,21 @@ static const struct file_operations proc_fd_operations = { 47428@@ -2082,11 +2173,21 @@ static const struct file_operations proc_fd_operations = {
45686 */ 47429 */
45687 static int proc_fd_permission(struct inode *inode, int mask) 47430 static int proc_fd_permission(struct inode *inode, int mask)
45688 { 47431 {
@@ -45706,7 +47449,7 @@ index 1ace83d..357b933 100644
45706 return rv; 47449 return rv;
45707 } 47450 }
45708 47451
45709@@ -2196,6 +2287,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir, 47452@@ -2196,6 +2297,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir,
45710 if (!task) 47453 if (!task)
45711 goto out_no_task; 47454 goto out_no_task;
45712 47455
@@ -45716,7 +47459,7 @@ index 1ace83d..357b933 100644
45716 /* 47459 /*
45717 * Yes, it does not scale. And it should not. Don't add 47460 * Yes, it does not scale. And it should not. Don't add
45718 * new entries into /proc/<tgid>/ without very good reasons. 47461 * new entries into /proc/<tgid>/ without very good reasons.
45719@@ -2240,6 +2334,9 @@ static int proc_pident_readdir(struct file *filp, 47462@@ -2240,6 +2344,9 @@ static int proc_pident_readdir(struct file *filp,
45720 if (!task) 47463 if (!task)
45721 goto out_no_task; 47464 goto out_no_task;
45722 47465
@@ -45726,7 +47469,7 @@ index 1ace83d..357b933 100644
45726 ret = 0; 47469 ret = 0;
45727 i = filp->f_pos; 47470 i = filp->f_pos;
45728 switch (i) { 47471 switch (i) {
45729@@ -2510,7 +2607,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd) 47472@@ -2510,7 +2617,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
45730 static void proc_self_put_link(struct dentry *dentry, struct nameidata *nd, 47473 static void proc_self_put_link(struct dentry *dentry, struct nameidata *nd,
45731 void *cookie) 47474 void *cookie)
45732 { 47475 {
@@ -45735,7 +47478,7 @@ index 1ace83d..357b933 100644
45735 if (!IS_ERR(s)) 47478 if (!IS_ERR(s))
45736 __putname(s); 47479 __putname(s);
45737 } 47480 }
45738@@ -2708,7 +2805,7 @@ static const struct pid_entry tgid_base_stuff[] = { 47481@@ -2708,7 +2815,7 @@ static const struct pid_entry tgid_base_stuff[] = {
45739 REG("autogroup", S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations), 47482 REG("autogroup", S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations),
45740 #endif 47483 #endif
45741 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 47484 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -45744,7 +47487,7 @@ index 1ace83d..357b933 100644
45744 INF("syscall", S_IRUGO, proc_pid_syscall), 47487 INF("syscall", S_IRUGO, proc_pid_syscall),
45745 #endif 47488 #endif
45746 INF("cmdline", S_IRUGO, proc_pid_cmdline), 47489 INF("cmdline", S_IRUGO, proc_pid_cmdline),
45747@@ -2733,10 +2830,10 @@ static const struct pid_entry tgid_base_stuff[] = { 47490@@ -2733,10 +2840,10 @@ static const struct pid_entry tgid_base_stuff[] = {
45748 #ifdef CONFIG_SECURITY 47491 #ifdef CONFIG_SECURITY
45749 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations), 47492 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
45750 #endif 47493 #endif
@@ -45757,7 +47500,7 @@ index 1ace83d..357b933 100644
45757 ONE("stack", S_IRUGO, proc_pid_stack), 47500 ONE("stack", S_IRUGO, proc_pid_stack),
45758 #endif 47501 #endif
45759 #ifdef CONFIG_SCHEDSTATS 47502 #ifdef CONFIG_SCHEDSTATS
45760@@ -2770,6 +2867,9 @@ static const struct pid_entry tgid_base_stuff[] = { 47503@@ -2770,6 +2877,9 @@ static const struct pid_entry tgid_base_stuff[] = {
45761 #ifdef CONFIG_HARDWALL 47504 #ifdef CONFIG_HARDWALL
45762 INF("hardwall", S_IRUGO, proc_pid_hardwall), 47505 INF("hardwall", S_IRUGO, proc_pid_hardwall),
45763 #endif 47506 #endif
@@ -45767,7 +47510,7 @@ index 1ace83d..357b933 100644
45767 }; 47510 };
45768 47511
45769 static int proc_tgid_base_readdir(struct file * filp, 47512 static int proc_tgid_base_readdir(struct file * filp,
45770@@ -2895,7 +2995,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir, 47513@@ -2895,7 +3005,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
45771 if (!inode) 47514 if (!inode)
45772 goto out; 47515 goto out;
45773 47516
@@ -45782,7 +47525,7 @@ index 1ace83d..357b933 100644
45782 inode->i_op = &proc_tgid_base_inode_operations; 47525 inode->i_op = &proc_tgid_base_inode_operations;
45783 inode->i_fop = &proc_tgid_base_operations; 47526 inode->i_fop = &proc_tgid_base_operations;
45784 inode->i_flags|=S_IMMUTABLE; 47527 inode->i_flags|=S_IMMUTABLE;
45785@@ -2937,7 +3044,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct 47528@@ -2937,7 +3054,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
45786 if (!task) 47529 if (!task)
45787 goto out; 47530 goto out;
45788 47531
@@ -45794,7 +47537,7 @@ index 1ace83d..357b933 100644
45794 put_task_struct(task); 47537 put_task_struct(task);
45795 out: 47538 out:
45796 return result; 47539 return result;
45797@@ -3002,6 +3113,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) 47540@@ -3002,6 +3123,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
45798 { 47541 {
45799 unsigned int nr; 47542 unsigned int nr;
45800 struct task_struct *reaper; 47543 struct task_struct *reaper;
@@ -45806,7 +47549,7 @@ index 1ace83d..357b933 100644
45806 struct tgid_iter iter; 47549 struct tgid_iter iter;
45807 struct pid_namespace *ns; 47550 struct pid_namespace *ns;
45808 47551
45809@@ -3025,8 +3141,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) 47552@@ -3025,8 +3151,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
45810 for (iter = next_tgid(ns, iter); 47553 for (iter = next_tgid(ns, iter);
45811 iter.task; 47554 iter.task;
45812 iter.tgid += 1, iter = next_tgid(ns, iter)) { 47555 iter.tgid += 1, iter = next_tgid(ns, iter)) {
@@ -45835,7 +47578,7 @@ index 1ace83d..357b933 100644
45835 put_task_struct(iter.task); 47578 put_task_struct(iter.task);
45836 goto out; 47579 goto out;
45837 } 47580 }
45838@@ -3054,7 +3189,7 @@ static const struct pid_entry tid_base_stuff[] = { 47581@@ -3054,7 +3199,7 @@ static const struct pid_entry tid_base_stuff[] = {
45839 REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations), 47582 REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations),
45840 #endif 47583 #endif
45841 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 47584 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -45844,7 +47587,7 @@ index 1ace83d..357b933 100644
45844 INF("syscall", S_IRUGO, proc_pid_syscall), 47587 INF("syscall", S_IRUGO, proc_pid_syscall),
45845 #endif 47588 #endif
45846 INF("cmdline", S_IRUGO, proc_pid_cmdline), 47589 INF("cmdline", S_IRUGO, proc_pid_cmdline),
45847@@ -3078,10 +3213,10 @@ static const struct pid_entry tid_base_stuff[] = { 47590@@ -3078,10 +3223,10 @@ static const struct pid_entry tid_base_stuff[] = {
45848 #ifdef CONFIG_SECURITY 47591 #ifdef CONFIG_SECURITY
45849 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations), 47592 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
45850 #endif 47593 #endif
@@ -46563,10 +48306,18 @@ index d33418f..2a5345e 100644
46563 return -EINVAL; 48306 return -EINVAL;
46564 48307
46565diff --git a/fs/seq_file.c b/fs/seq_file.c 48308diff --git a/fs/seq_file.c b/fs/seq_file.c
46566index dba43c3..1dfaf14 100644 48309index dba43c3..9fb8511 100644
46567--- a/fs/seq_file.c 48310--- a/fs/seq_file.c
46568+++ b/fs/seq_file.c 48311+++ b/fs/seq_file.c
46569@@ -40,6 +40,9 @@ int seq_open(struct file *file, const struct seq_operations *op) 48312@@ -9,6 +9,7 @@
48313 #include <linux/module.h>
48314 #include <linux/seq_file.h>
48315 #include <linux/slab.h>
48316+#include <linux/sched.h>
48317
48318 #include <asm/uaccess.h>
48319 #include <asm/page.h>
48320@@ -40,6 +41,9 @@ int seq_open(struct file *file, const struct seq_operations *op)
46570 memset(p, 0, sizeof(*p)); 48321 memset(p, 0, sizeof(*p));
46571 mutex_init(&p->lock); 48322 mutex_init(&p->lock);
46572 p->op = op; 48323 p->op = op;
@@ -46576,7 +48327,7 @@ index dba43c3..1dfaf14 100644
46576 48327
46577 /* 48328 /*
46578 * Wrappers around seq_open(e.g. swaps_open) need to be 48329 * Wrappers around seq_open(e.g. swaps_open) need to be
46579@@ -76,7 +79,8 @@ static int traverse(struct seq_file *m, loff_t offset) 48330@@ -76,7 +80,8 @@ static int traverse(struct seq_file *m, loff_t offset)
46580 return 0; 48331 return 0;
46581 } 48332 }
46582 if (!m->buf) { 48333 if (!m->buf) {
@@ -46586,7 +48337,7 @@ index dba43c3..1dfaf14 100644
46586 if (!m->buf) 48337 if (!m->buf)
46587 return -ENOMEM; 48338 return -ENOMEM;
46588 } 48339 }
46589@@ -116,7 +120,8 @@ static int traverse(struct seq_file *m, loff_t offset) 48340@@ -116,7 +121,8 @@ static int traverse(struct seq_file *m, loff_t offset)
46590 Eoverflow: 48341 Eoverflow:
46591 m->op->stop(m, p); 48342 m->op->stop(m, p);
46592 kfree(m->buf); 48343 kfree(m->buf);
@@ -46596,7 +48347,7 @@ index dba43c3..1dfaf14 100644
46596 return !m->buf ? -ENOMEM : -EAGAIN; 48347 return !m->buf ? -ENOMEM : -EAGAIN;
46597 } 48348 }
46598 48349
46599@@ -169,7 +174,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos) 48350@@ -169,7 +175,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
46600 m->version = file->f_version; 48351 m->version = file->f_version;
46601 /* grab buffer if we didn't have one */ 48352 /* grab buffer if we didn't have one */
46602 if (!m->buf) { 48353 if (!m->buf) {
@@ -46606,7 +48357,7 @@ index dba43c3..1dfaf14 100644
46606 if (!m->buf) 48357 if (!m->buf)
46607 goto Enomem; 48358 goto Enomem;
46608 } 48359 }
46609@@ -210,7 +216,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos) 48360@@ -210,7 +217,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
46610 goto Fill; 48361 goto Fill;
46611 m->op->stop(m, p); 48362 m->op->stop(m, p);
46612 kfree(m->buf); 48363 kfree(m->buf);
@@ -46616,7 +48367,7 @@ index dba43c3..1dfaf14 100644
46616 if (!m->buf) 48367 if (!m->buf)
46617 goto Enomem; 48368 goto Enomem;
46618 m->count = 0; 48369 m->count = 0;
46619@@ -549,7 +556,7 @@ static void single_stop(struct seq_file *p, void *v) 48370@@ -549,7 +557,7 @@ static void single_stop(struct seq_file *p, void *v)
46620 int single_open(struct file *file, int (*show)(struct seq_file *, void *), 48371 int single_open(struct file *file, int (*show)(struct seq_file *, void *),
46621 void *data) 48372 void *data)
46622 { 48373 {
@@ -47033,10 +48784,10 @@ index 23ce927..e274cc1 100644
47033 kfree(s); 48784 kfree(s);
47034diff --git a/grsecurity/Kconfig b/grsecurity/Kconfig 48785diff --git a/grsecurity/Kconfig b/grsecurity/Kconfig
47035new file mode 100644 48786new file mode 100644
47036index 0000000..8faa28b 48787index 0000000..4089e05
47037--- /dev/null 48788--- /dev/null
47038+++ b/grsecurity/Kconfig 48789+++ b/grsecurity/Kconfig
47039@@ -0,0 +1,1073 @@ 48790@@ -0,0 +1,1078 @@
47040+# 48791+#
47041+# grecurity configuration 48792+# grecurity configuration
47042+# 48793+#
@@ -47243,7 +48994,7 @@ index 0000000..8faa28b
47243+ 48994+
47244+endchoice 48995+endchoice
47245+ 48996+
47246+menu "Address Space Protection" 48997+menu "Memory Protections"
47247+depends on GRKERNSEC 48998+depends on GRKERNSEC
47248+ 48999+
47249+config GRKERNSEC_KMEM 49000+config GRKERNSEC_KMEM
@@ -47300,7 +49051,7 @@ index 0000000..8faa28b
47300+ protect your kernel against modification, use the RBAC system. 49051+ protect your kernel against modification, use the RBAC system.
47301+ 49052+
47302+config GRKERNSEC_PROC_MEMMAP 49053+config GRKERNSEC_PROC_MEMMAP
47303+ bool "Remove addresses from /proc/<pid>/[smaps|maps|stat]" 49054+ bool "Harden ASLR against information leaks and entropy reduction"
47304+ default y if (PAX_NOEXEC || PAX_ASLR) 49055+ default y if (PAX_NOEXEC || PAX_ASLR)
47305+ depends on PAX_NOEXEC || PAX_ASLR 49056+ depends on PAX_NOEXEC || PAX_ASLR
47306+ help 49057+ help
@@ -47311,9 +49062,13 @@ index 0000000..8faa28b
47311+ dangerous sources of information, this option causes reads of sensitive 49062+ dangerous sources of information, this option causes reads of sensitive
47312+ /proc/<pid> entries where the file descriptor was opened in a different 49063+ /proc/<pid> entries where the file descriptor was opened in a different
47313+ task than the one performing the read. Such attempts are logged. 49064+ task than the one performing the read. Such attempts are logged.
47314+ If you use PaX it is greatly recommended that you say Y here as it 49065+ This option also limits argv/env strings for suid/sgid binaries
47315+ closes up a hole that makes the full ASLR useless for suid 49066+ to 512KB to prevent a complete exhaustion of the stack entropy provided
47316+ binaries. 49067+ by ASLR. Finally, it places an 8MB stack resource limit on suid/sgid
49068+ binaries to prevent alternative mmap layouts from being abused.
49069+
49070+ If you use PaX it is essential that you say Y here as it closes up
49071+ several holes that make full ASLR useless locally.
47317+ 49072+
47318+config GRKERNSEC_BRUTE 49073+config GRKERNSEC_BRUTE
47319+ bool "Deter exploit bruteforcing" 49074+ bool "Deter exploit bruteforcing"
@@ -47453,8 +49208,9 @@ index 0000000..8faa28b
47453+ Depending upon the option you choose, you can either restrict users to 49208+ Depending upon the option you choose, you can either restrict users to
47454+ see only the processes they themselves run, or choose a group that can 49209+ see only the processes they themselves run, or choose a group that can
47455+ view all processes and files normally restricted to root if you choose 49210+ view all processes and files normally restricted to root if you choose
47456+ the "restrict to user only" option. NOTE: If you're running identd as 49211+ the "restrict to user only" option. NOTE: If you're running identd or
47457+ a non-root user, you will have to run it as the group you specify here. 49212+ ntpd as a non-root user, you will have to run it as the group you
49213+ specify here.
47458+ 49214+
47459+config GRKERNSEC_PROC_USER 49215+config GRKERNSEC_PROC_USER
47460+ bool "Restrict /proc to user only" 49216+ bool "Restrict /proc to user only"
@@ -48156,7 +49912,7 @@ index 0000000..1b9afa9
48156+endif 49912+endif
48157diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c 49913diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c
48158new file mode 100644 49914new file mode 100644
48159index 0000000..6e989da 49915index 0000000..2733872
48160--- /dev/null 49916--- /dev/null
48161+++ b/grsecurity/gracl.c 49917+++ b/grsecurity/gracl.c
48162@@ -0,0 +1,4163 @@ 49918@@ -0,0 +1,4163 @@
@@ -49935,7 +51691,7 @@ index 0000000..6e989da
49935+ 51691+
49936+static struct acl_object_label * 51692+static struct acl_object_label *
49937+chk_glob_label(struct acl_object_label *globbed, 51693+chk_glob_label(struct acl_object_label *globbed,
49938+ struct dentry *dentry, struct vfsmount *mnt, char **path) 51694+ const struct dentry *dentry, const struct vfsmount *mnt, char **path)
49939+{ 51695+{
49940+ struct acl_object_label *tmp; 51696+ struct acl_object_label *tmp;
49941+ 51697+
@@ -49968,8 +51724,7 @@ index 0000000..6e989da
49968+ retval = lookup_acl_obj_label(curr_ino, curr_dev, tmpsubj); 51724+ retval = lookup_acl_obj_label(curr_ino, curr_dev, tmpsubj);
49969+ if (retval) { 51725+ if (retval) {
49970+ if (checkglob && retval->globbed) { 51726+ if (checkglob && retval->globbed) {
49971+ retval2 = chk_glob_label(retval->globbed, (struct dentry *)orig_dentry, 51727+ retval2 = chk_glob_label(retval->globbed, orig_dentry, orig_mnt, path);
49972+ (struct vfsmount *)orig_mnt, path);
49973+ if (retval2) 51728+ if (retval2)
49974+ retval = retval2; 51729+ retval = retval2;
49975+ } 51730+ }
@@ -50431,17 +52186,18 @@ index 0000000..6e989da
50431+void 52186+void
50432+gr_copy_label(struct task_struct *tsk) 52187+gr_copy_label(struct task_struct *tsk)
50433+{ 52188+{
52189+ /* plain copying of fields is already done by dup_task_struct */
50434+ tsk->signal->used_accept = 0; 52190+ tsk->signal->used_accept = 0;
50435+ tsk->acl_sp_role = 0; 52191+ tsk->acl_sp_role = 0;
50436+ tsk->acl_role_id = current->acl_role_id; 52192+ //tsk->acl_role_id = current->acl_role_id;
50437+ tsk->acl = current->acl; 52193+ //tsk->acl = current->acl;
50438+ tsk->role = current->role; 52194+ //tsk->role = current->role;
50439+ tsk->signal->curr_ip = current->signal->curr_ip; 52195+ tsk->signal->curr_ip = current->signal->curr_ip;
50440+ tsk->signal->saved_ip = current->signal->saved_ip; 52196+ tsk->signal->saved_ip = current->signal->saved_ip;
50441+ if (current->exec_file) 52197+ if (current->exec_file)
50442+ get_file(current->exec_file); 52198+ get_file(current->exec_file);
50443+ tsk->exec_file = current->exec_file; 52199+ //tsk->exec_file = current->exec_file;
50444+ tsk->is_writable = current->is_writable; 52200+ //tsk->is_writable = current->is_writable;
50445+ if (unlikely(current->signal->used_accept)) { 52201+ if (unlikely(current->signal->used_accept)) {
50446+ current->signal->curr_ip = 0; 52202+ current->signal->curr_ip = 0;
50447+ current->signal->saved_ip = 0; 52203+ current->signal->saved_ip = 0;
@@ -50653,8 +52409,8 @@ index 0000000..6e989da
50653+ 52409+
50654+ /* don't change the role if we're not a privileged process */ 52410+ /* don't change the role if we're not a privileged process */
50655+ if (role && task->role != role && 52411+ if (role && task->role != role &&
50656+ (((role->roletype & GR_ROLE_USER) && gr_acl_is_capable(CAP_SETUID)) || 52412+ (((role->roletype & GR_ROLE_USER) && !gr_acl_is_capable(CAP_SETUID)) ||
50657+ ((role->roletype & GR_ROLE_GROUP) && gr_acl_is_capable(CAP_SETGID)))) 52413+ ((role->roletype & GR_ROLE_GROUP) && !gr_acl_is_capable(CAP_SETGID))))
50658+ return; 52414+ return;
50659+ 52415+
50660+ /* perform subject lookup in possibly new role 52416+ /* perform subject lookup in possibly new role
@@ -52543,10 +54299,10 @@ index 0000000..955ddfb
52543+ 54299+
52544diff --git a/grsecurity/gracl_fs.c b/grsecurity/gracl_fs.c 54300diff --git a/grsecurity/gracl_fs.c b/grsecurity/gracl_fs.c
52545new file mode 100644 54301new file mode 100644
52546index 0000000..4eda5c3 54302index 0000000..88d0e87
52547--- /dev/null 54303--- /dev/null
52548+++ b/grsecurity/gracl_fs.c 54304+++ b/grsecurity/gracl_fs.c
52549@@ -0,0 +1,433 @@ 54305@@ -0,0 +1,435 @@
52550+#include <linux/kernel.h> 54306+#include <linux/kernel.h>
52551+#include <linux/sched.h> 54307+#include <linux/sched.h>
52552+#include <linux/types.h> 54308+#include <linux/types.h>
@@ -52557,6 +54313,15 @@ index 0000000..4eda5c3
52557+#include <linux/grinternal.h> 54313+#include <linux/grinternal.h>
52558+#include <linux/gracl.h> 54314+#include <linux/gracl.h>
52559+ 54315+
54316+umode_t
54317+gr_acl_umask(void)
54318+{
54319+ if (unlikely(!gr_acl_is_enabled()))
54320+ return 0;
54321+
54322+ return current->role->umask;
54323+}
54324+
52560+__u32 54325+__u32
52561+gr_acl_handle_hidden_file(const struct dentry * dentry, 54326+gr_acl_handle_hidden_file(const struct dentry * dentry,
52562+ const struct vfsmount * mnt) 54327+ const struct vfsmount * mnt)
@@ -52745,25 +54510,18 @@ index 0000000..4eda5c3
52745+} 54510+}
52746+ 54511+
52747+__u32 54512+__u32
52748+gr_acl_handle_fchmod(const struct dentry *dentry, const struct vfsmount *mnt, 54513+gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
52749+ mode_t mode) 54514+ umode_t *modeptr)
52750+{ 54515+{
54516+ umode_t mode;
54517+
54518+ *modeptr &= ~gr_acl_umask();
54519+ mode = *modeptr;
54520+
52751+ if (unlikely(dentry->d_inode && S_ISSOCK(dentry->d_inode->i_mode))) 54521+ if (unlikely(dentry->d_inode && S_ISSOCK(dentry->d_inode->i_mode)))
52752+ return 1; 54522+ return 1;
52753+ 54523+
52754+ if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) { 54524+ if (unlikely(mode & (S_ISUID | S_ISGID))) {
52755+ return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
52756+ GR_FCHMOD_ACL_MSG);
52757+ } else {
52758+ return generic_fs_handler(dentry, mnt, GR_WRITE, GR_FCHMOD_ACL_MSG);
52759+ }
52760+}
52761+
52762+__u32
52763+gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
52764+ mode_t mode)
52765+{
52766+ if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) {
52767+ return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID, 54525+ return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
52768+ GR_CHMOD_ACL_MSG); 54526+ GR_CHMOD_ACL_MSG);
52769+ } else { 54527+ } else {
@@ -54389,10 +56147,10 @@ index 0000000..a2dc675
54389+} 56147+}
54390diff --git a/grsecurity/grsec_disabled.c b/grsecurity/grsec_disabled.c 56148diff --git a/grsecurity/grsec_disabled.c b/grsecurity/grsec_disabled.c
54391new file mode 100644 56149new file mode 100644
54392index 0000000..d81a586 56150index 0000000..213ad8b
54393--- /dev/null 56151--- /dev/null
54394+++ b/grsecurity/grsec_disabled.c 56152+++ b/grsecurity/grsec_disabled.c
54395@@ -0,0 +1,439 @@ 56153@@ -0,0 +1,437 @@
54396+#include <linux/kernel.h> 56154+#include <linux/kernel.h>
54397+#include <linux/module.h> 56155+#include <linux/module.h>
54398+#include <linux/sched.h> 56156+#include <linux/sched.h>
@@ -54632,15 +56390,8 @@ index 0000000..d81a586
54632+} 56390+}
54633+ 56391+
54634+__u32 56392+__u32
54635+gr_acl_handle_fchmod(const struct dentry * dentry, const struct vfsmount * mnt,
54636+ mode_t mode)
54637+{
54638+ return 1;
54639+}
54640+
54641+__u32
54642+gr_acl_handle_chmod(const struct dentry * dentry, const struct vfsmount * mnt, 56393+gr_acl_handle_chmod(const struct dentry * dentry, const struct vfsmount * mnt,
54643+ mode_t mode) 56394+ umode_t *mode)
54644+{ 56395+{
54645+ return 1; 56396+ return 1;
54646+} 56397+}
@@ -54663,6 +56414,11 @@ index 0000000..d81a586
54663+ return; 56414+ return;
54664+} 56415+}
54665+ 56416+
56417+umode_t gr_acl_umask(void)
56418+{
56419+ return 0;
56420+}
56421+
54666+__u32 56422+__u32
54667+gr_acl_handle_mknod(const struct dentry * new_dentry, 56423+gr_acl_handle_mknod(const struct dentry * new_dentry,
54668+ const struct dentry * parent_dentry, 56424+ const struct dentry * parent_dentry,
@@ -57342,6 +59098,19 @@ index 1bfcfe5..e04c5c9 100644
57342+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT) 59098+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT)
57343 59099
57344 #endif /* __ASM_GENERIC_CACHE_H */ 59100 #endif /* __ASM_GENERIC_CACHE_H */
59101diff --git a/include/asm-generic/emergency-restart.h b/include/asm-generic/emergency-restart.h
59102index 0d68a1e..b74a761 100644
59103--- a/include/asm-generic/emergency-restart.h
59104+++ b/include/asm-generic/emergency-restart.h
59105@@ -1,7 +1,7 @@
59106 #ifndef _ASM_GENERIC_EMERGENCY_RESTART_H
59107 #define _ASM_GENERIC_EMERGENCY_RESTART_H
59108
59109-static inline void machine_emergency_restart(void)
59110+static inline __noreturn void machine_emergency_restart(void)
59111 {
59112 machine_restart(NULL);
59113 }
57345diff --git a/include/asm-generic/int-l64.h b/include/asm-generic/int-l64.h 59114diff --git a/include/asm-generic/int-l64.h b/include/asm-generic/int-l64.h
57346index 1ca3efc..e3dc852 100644 59115index 1ca3efc..e3dc852 100644
57347--- a/include/asm-generic/int-l64.h 59116--- a/include/asm-generic/int-l64.h
@@ -57385,6 +59154,18 @@ index 0232ccb..13d9165 100644
57385 }; 59154 };
57386 59155
57387 #undef KMAP_D 59156 #undef KMAP_D
59157diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h
59158index 9ceb03b..2efbcbd 100644
59159--- a/include/asm-generic/local.h
59160+++ b/include/asm-generic/local.h
59161@@ -39,6 +39,7 @@ typedef struct
59162 #define local_add_return(i, l) atomic_long_add_return((i), (&(l)->a))
59163 #define local_sub_return(i, l) atomic_long_sub_return((i), (&(l)->a))
59164 #define local_inc_return(l) atomic_long_inc_return(&(l)->a)
59165+#define local_dec_return(l) atomic_long_dec_return(&(l)->a)
59166
59167 #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n))
59168 #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n))
57388diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h 59169diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h
57389index 725612b..9cc513a 100644 59170index 725612b..9cc513a 100644
57390--- a/include/asm-generic/pgtable-nopmd.h 59171--- a/include/asm-generic/pgtable-nopmd.h
@@ -58135,10 +59916,10 @@ index 84ccf8e..2e9b14c 100644
58135 }; 59916 };
58136 59917
58137diff --git a/include/linux/fs.h b/include/linux/fs.h 59918diff --git a/include/linux/fs.h b/include/linux/fs.h
58138index e0bc4ff..d79c2fa 100644 59919index 10b2288..09180e4 100644
58139--- a/include/linux/fs.h 59920--- a/include/linux/fs.h
58140+++ b/include/linux/fs.h 59921+++ b/include/linux/fs.h
58141@@ -1608,7 +1608,8 @@ struct file_operations { 59922@@ -1609,7 +1609,8 @@ struct file_operations {
58142 int (*setlease)(struct file *, long, struct file_lock **); 59923 int (*setlease)(struct file *, long, struct file_lock **);
58143 long (*fallocate)(struct file *file, int mode, loff_t offset, 59924 long (*fallocate)(struct file *file, int mode, loff_t offset,
58144 loff_t len); 59925 loff_t len);
@@ -58245,10 +60026,10 @@ index 6d18f35..ab71e2c 100644
58245 struct blk_integrity *integrity; 60026 struct blk_integrity *integrity;
58246diff --git a/include/linux/gracl.h b/include/linux/gracl.h 60027diff --git a/include/linux/gracl.h b/include/linux/gracl.h
58247new file mode 100644 60028new file mode 100644
58248index 0000000..0dc3943 60029index 0000000..8a130b6
58249--- /dev/null 60030--- /dev/null
58250+++ b/include/linux/gracl.h 60031+++ b/include/linux/gracl.h
58251@@ -0,0 +1,317 @@ 60032@@ -0,0 +1,319 @@
58252+#ifndef GR_ACL_H 60033+#ifndef GR_ACL_H
58253+#define GR_ACL_H 60034+#define GR_ACL_H
58254+ 60035+
@@ -58260,8 +60041,8 @@ index 0000000..0dc3943
58260+ 60041+
58261+/* Major status information */ 60042+/* Major status information */
58262+ 60043+
58263+#define GR_VERSION "grsecurity 2.2.2" 60044+#define GR_VERSION "grsecurity 2.9"
58264+#define GRSECURITY_VERSION 0x2202 60045+#define GRSECURITY_VERSION 0x2900
58265+ 60046+
58266+enum { 60047+enum {
58267+ GR_SHUTDOWN = 0, 60048+ GR_SHUTDOWN = 0,
@@ -58424,6 +60205,8 @@ index 0000000..0dc3943
58424+ uid_t *domain_children; 60205+ uid_t *domain_children;
58425+ __u16 domain_child_num; 60206+ __u16 domain_child_num;
58426+ 60207+
60208+ umode_t umask;
60209+
58427+ struct acl_subject_label **subj_hash; 60210+ struct acl_subject_label **subj_hash;
58428+ __u32 subj_hash_size; 60211+ __u32 subj_hash_size;
58429+}; 60212+};
@@ -58956,10 +60739,10 @@ index 0000000..da390f1
58956+#endif 60739+#endif
58957diff --git a/include/linux/grmsg.h b/include/linux/grmsg.h 60740diff --git a/include/linux/grmsg.h b/include/linux/grmsg.h
58958new file mode 100644 60741new file mode 100644
58959index 0000000..8b9ed56 60742index 0000000..ae576a1
58960--- /dev/null 60743--- /dev/null
58961+++ b/include/linux/grmsg.h 60744+++ b/include/linux/grmsg.h
58962@@ -0,0 +1,110 @@ 60745@@ -0,0 +1,109 @@
58963+#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" 60746+#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"
58964+#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" 60747+#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"
58965+#define GR_PTRACE_ACL_MSG "denied ptrace of %.950s(%.16s:%d) by " 60748+#define GR_PTRACE_ACL_MSG "denied ptrace of %.950s(%.16s:%d) by "
@@ -59003,7 +60786,6 @@ index 0000000..8b9ed56
59003+#define GR_ATIME_ACL_MSG "%s access time change of %.950s by " 60786+#define GR_ATIME_ACL_MSG "%s access time change of %.950s by "
59004+#define GR_ACCESS_ACL_MSG "%s access of %.950s for%s%s%s by " 60787+#define GR_ACCESS_ACL_MSG "%s access of %.950s for%s%s%s by "
59005+#define GR_CHROOT_CHROOT_MSG "denied double chroot to %.950s by " 60788+#define GR_CHROOT_CHROOT_MSG "denied double chroot to %.950s by "
59006+#define GR_FCHMOD_ACL_MSG "%s fchmod of %.950s by "
59007+#define GR_CHMOD_CHROOT_MSG "denied chmod +s of %.950s by " 60789+#define GR_CHMOD_CHROOT_MSG "denied chmod +s of %.950s by "
59008+#define GR_CHMOD_ACL_MSG "%s chmod of %.950s by " 60790+#define GR_CHMOD_ACL_MSG "%s chmod of %.950s by "
59009+#define GR_CHROOT_FCHDIR_MSG "denied fchdir outside of chroot to %.950s by " 60791+#define GR_CHROOT_FCHDIR_MSG "denied fchdir outside of chroot to %.950s by "
@@ -59012,7 +60794,7 @@ index 0000000..8b9ed56
59012+#define GR_WRITLIB_ACL_MSG "denied load of writable library %.950s by " 60794+#define GR_WRITLIB_ACL_MSG "denied load of writable library %.950s by "
59013+#define GR_INITF_ACL_MSG "init_variables() failed %s by " 60795+#define GR_INITF_ACL_MSG "init_variables() failed %s by "
59014+#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" 60796+#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"
59015+#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbaged by " 60797+#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbage by "
59016+#define GR_SHUTS_ACL_MSG "shutdown auth success for " 60798+#define GR_SHUTS_ACL_MSG "shutdown auth success for "
59017+#define GR_SHUTF_ACL_MSG "shutdown auth failure for " 60799+#define GR_SHUTF_ACL_MSG "shutdown auth failure for "
59018+#define GR_SHUTI_ACL_MSG "ignoring shutdown for disabled RBAC system for " 60800+#define GR_SHUTI_ACL_MSG "ignoring shutdown for disabled RBAC system for "
@@ -59072,7 +60854,7 @@ index 0000000..8b9ed56
59072+#define GR_BADPROCPID_MSG "denied read of sensitive /proc/pid/%s entry via fd passed across exec by " 60854+#define GR_BADPROCPID_MSG "denied read of sensitive /proc/pid/%s entry via fd passed across exec by "
59073diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h 60855diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h
59074new file mode 100644 60856new file mode 100644
59075index 0000000..10c8ced 60857index 0000000..2ccf677
59076--- /dev/null 60858--- /dev/null
59077+++ b/include/linux/grsecurity.h 60859+++ b/include/linux/grsecurity.h
59078@@ -0,0 +1,229 @@ 60860@@ -0,0 +1,229 @@
@@ -59150,6 +60932,8 @@ index 0000000..10c8ced
59150+void gr_handle_ioperm(void); 60932+void gr_handle_ioperm(void);
59151+void gr_handle_iopl(void); 60933+void gr_handle_iopl(void);
59152+ 60934+
60935+umode_t gr_acl_umask(void);
60936+
59153+int gr_tpe_allow(const struct file *file); 60937+int gr_tpe_allow(const struct file *file);
59154+ 60938+
59155+void gr_set_chroot_entries(struct task_struct *task, struct path *path); 60939+void gr_set_chroot_entries(struct task_struct *task, struct path *path);
@@ -59204,10 +60988,8 @@ index 0000000..10c8ced
59204+ const struct vfsmount *mnt); 60988+ const struct vfsmount *mnt);
59205+__u32 gr_acl_handle_access(const struct dentry *dentry, 60989+__u32 gr_acl_handle_access(const struct dentry *dentry,
59206+ const struct vfsmount *mnt, const int fmode); 60990+ const struct vfsmount *mnt, const int fmode);
59207+__u32 gr_acl_handle_fchmod(const struct dentry *dentry,
59208+ const struct vfsmount *mnt, mode_t mode);
59209+__u32 gr_acl_handle_chmod(const struct dentry *dentry, 60991+__u32 gr_acl_handle_chmod(const struct dentry *dentry,
59210+ const struct vfsmount *mnt, mode_t mode); 60992+ const struct vfsmount *mnt, umode_t *mode);
59211+__u32 gr_acl_handle_chown(const struct dentry *dentry, 60993+__u32 gr_acl_handle_chown(const struct dentry *dentry,
59212+ const struct vfsmount *mnt); 60994+ const struct vfsmount *mnt);
59213+__u32 gr_acl_handle_setxattr(const struct dentry *dentry, 60995+__u32 gr_acl_handle_setxattr(const struct dentry *dentry,
@@ -59990,6 +61772,18 @@ index 7939f63..ec6df57 100644
59990 = { .max = ARRAY_SIZE(array), .num = nump, \ 61772 = { .max = ARRAY_SIZE(array), .num = nump, \
59991 .ops = &param_ops_##type, \ 61773 .ops = &param_ops_##type, \
59992 .elemsize = sizeof(array[0]), .elem = array }; \ 61774 .elemsize = sizeof(array[0]), .elem = array }; \
61775diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
61776index a9e6ba4..0f9e29b 100644
61777--- a/include/linux/mtd/map.h
61778+++ b/include/linux/mtd/map.h
61779@@ -25,6 +25,7 @@
61780 #include <linux/types.h>
61781 #include <linux/list.h>
61782 #include <linux/string.h>
61783+#include <linux/kernel.h>
61784 #include <linux/bug.h>
61785
61786
59993diff --git a/include/linux/namei.h b/include/linux/namei.h 61787diff --git a/include/linux/namei.h b/include/linux/namei.h
59994index ffc0213..2c1f2cb 100644 61788index ffc0213..2c1f2cb 100644
59995--- a/include/linux/namei.h 61789--- a/include/linux/namei.h
@@ -60122,6 +61916,18 @@ index b1f8912..c955bff 100644
60122 61916
60123 /* 61917 /*
60124 * Protect attach/detach and child_list: 61918 * Protect attach/detach and child_list:
61919diff --git a/include/linux/personality.h b/include/linux/personality.h
61920index 8fc7dd1a..c19d89e 100644
61921--- a/include/linux/personality.h
61922+++ b/include/linux/personality.h
61923@@ -44,6 +44,7 @@ enum {
61924 #define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC | \
61925 ADDR_NO_RANDOMIZE | \
61926 ADDR_COMPAT_LAYOUT | \
61927+ ADDR_LIMIT_3GB | \
61928 MMAP_PAGE_ZERO)
61929
61930 /*
60125diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h 61931diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h
60126index 77257c9..51d473a 100644 61932index 77257c9..51d473a 100644
60127--- a/include/linux/pipe_fs_i.h 61933--- a/include/linux/pipe_fs_i.h
@@ -60374,7 +62180,7 @@ index 2148b12..519b820 100644
60374 62180
60375 static inline void anon_vma_merge(struct vm_area_struct *vma, 62181 static inline void anon_vma_merge(struct vm_area_struct *vma,
60376diff --git a/include/linux/sched.h b/include/linux/sched.h 62182diff --git a/include/linux/sched.h b/include/linux/sched.h
60377index 1c4f3e9..dafcd27 100644 62183index 1c4f3e9..342eb1f 100644
60378--- a/include/linux/sched.h 62184--- a/include/linux/sched.h
60379+++ b/include/linux/sched.h 62185+++ b/include/linux/sched.h
60380@@ -101,6 +101,7 @@ struct bio_list; 62186@@ -101,6 +101,7 @@ struct bio_list;
@@ -60491,7 +62297,7 @@ index 1c4f3e9..dafcd27 100644
60491+#ifdef CONFIG_GRKERNSEC 62297+#ifdef CONFIG_GRKERNSEC
60492+ /* grsecurity */ 62298+ /* grsecurity */
60493+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP 62299+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
60494+ long long exec_id; 62300+ u64 exec_id;
60495+#endif 62301+#endif
60496+#ifdef CONFIG_GRKERNSEC_SETXID 62302+#ifdef CONFIG_GRKERNSEC_SETXID
60497+ const struct cred *delayed_cred; 62303+ const struct cred *delayed_cred;
@@ -60558,7 +62364,7 @@ index 1c4f3e9..dafcd27 100644
60558+extern void pax_report_fault(struct pt_regs *regs, void *pc, void *sp); 62364+extern void pax_report_fault(struct pt_regs *regs, void *pc, void *sp);
60559+extern void pax_report_insns(struct pt_regs *regs, void *pc, void *sp); 62365+extern void pax_report_insns(struct pt_regs *regs, void *pc, void *sp);
60560+extern void pax_report_refcount_overflow(struct pt_regs *regs); 62366+extern void pax_report_refcount_overflow(struct pt_regs *regs);
60561+extern NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type) ATTRIB_NORET; 62367+extern __noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type);
60562+ 62368+
60563 /* Future-safe accessor for struct task_struct's cpus_allowed. */ 62369 /* Future-safe accessor for struct task_struct's cpus_allowed. */
60564 #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed) 62370 #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
@@ -60599,7 +62405,7 @@ index 1c4f3e9..dafcd27 100644
60599 extern void flush_itimer_signals(void); 62405 extern void flush_itimer_signals(void);
60600 62406
60601-extern NORET_TYPE void do_group_exit(int); 62407-extern NORET_TYPE void do_group_exit(int);
60602+extern NORET_TYPE void do_group_exit(int) ATTRIB_NORET; 62408+extern __noreturn void do_group_exit(int);
60603 62409
60604 extern void daemonize(const char *, ...); 62410 extern void daemonize(const char *, ...);
60605 extern int allow_signal(int); 62411 extern int allow_signal(int);
@@ -60650,7 +62456,7 @@ index e8c619d..e0cbd1c 100644
60650 62456
60651 /* Maximum number of letters for an LSM name string */ 62457 /* Maximum number of letters for an LSM name string */
60652diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h 62458diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
60653index 0b69a46..4796016 100644 62459index 0b69a46..b2ffa4c 100644
60654--- a/include/linux/seq_file.h 62460--- a/include/linux/seq_file.h
60655+++ b/include/linux/seq_file.h 62461+++ b/include/linux/seq_file.h
60656@@ -24,6 +24,9 @@ struct seq_file { 62462@@ -24,6 +24,9 @@ struct seq_file {
@@ -60658,7 +62464,7 @@ index 0b69a46..4796016 100644
60658 const struct seq_operations *op; 62464 const struct seq_operations *op;
60659 int poll_event; 62465 int poll_event;
60660+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP 62466+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
60661+ long long exec_id; 62467+ u64 exec_id;
60662+#endif 62468+#endif
60663 void *private; 62469 void *private;
60664 }; 62470 };
@@ -60966,7 +62772,7 @@ index c14fe86..393245e 100644
60966 #define RPCRDMA_VERSION 1 62772 #define RPCRDMA_VERSION 1
60967 62773
60968diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h 62774diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
60969index 703cfa3..0b8ca72ac 100644 62775index 703cfa33..0b8ca72ac 100644
60970--- a/include/linux/sysctl.h 62776--- a/include/linux/sysctl.h
60971+++ b/include/linux/sysctl.h 62777+++ b/include/linux/sysctl.h
60972@@ -155,7 +155,11 @@ enum 62778@@ -155,7 +155,11 @@ enum
@@ -61486,10 +63292,10 @@ index 9e5425b..8136ffc 100644
61486 /* Protects from simultaneous access to first_req list */ 63292 /* Protects from simultaneous access to first_req list */
61487 spinlock_t info_list_lock; 63293 spinlock_t info_list_lock;
61488diff --git a/include/net/flow.h b/include/net/flow.h 63294diff --git a/include/net/flow.h b/include/net/flow.h
61489index 57f15a7..0de26c6 100644 63295index 2a7eefd..3250f3b 100644
61490--- a/include/net/flow.h 63296--- a/include/net/flow.h
61491+++ b/include/net/flow.h 63297+++ b/include/net/flow.h
61492@@ -208,6 +208,6 @@ extern struct flow_cache_object *flow_cache_lookup( 63298@@ -218,6 +218,6 @@ extern struct flow_cache_object *flow_cache_lookup(
61493 63299
61494 extern void flow_cache_flush(void); 63300 extern void flow_cache_flush(void);
61495 extern void flow_cache_flush_deferred(void); 63301 extern void flow_cache_flush_deferred(void);
@@ -61884,7 +63690,7 @@ index 444cd6b..3327cc5 100644
61884 const struct firmware *dsp_microcode; 63690 const struct firmware *dsp_microcode;
61885 const struct firmware *controller_microcode; 63691 const struct firmware *controller_microcode;
61886diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h 63692diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
61887index a79886c..b483af6 100644 63693index 94bbec3..3a8c6b0 100644
61888--- a/include/target/target_core_base.h 63694--- a/include/target/target_core_base.h
61889+++ b/include/target/target_core_base.h 63695+++ b/include/target/target_core_base.h
61890@@ -346,7 +346,7 @@ struct t10_reservation_ops { 63696@@ -346,7 +346,7 @@ struct t10_reservation_ops {
@@ -61907,7 +63713,7 @@ index a79886c..b483af6 100644
61907 atomic_t t_transport_active; 63713 atomic_t t_transport_active;
61908 atomic_t t_transport_complete; 63714 atomic_t t_transport_complete;
61909 atomic_t t_transport_queue_active; 63715 atomic_t t_transport_queue_active;
61910@@ -704,7 +704,7 @@ struct se_device { 63716@@ -705,7 +705,7 @@ struct se_device {
61911 /* Active commands on this virtual SE device */ 63717 /* Active commands on this virtual SE device */
61912 atomic_t simple_cmds; 63718 atomic_t simple_cmds;
61913 atomic_t depth_left; 63719 atomic_t depth_left;
@@ -62412,7 +64218,7 @@ index 5b4293d..f179875 100644
62412 if (u->mq_bytes + mq_bytes < u->mq_bytes || 64218 if (u->mq_bytes + mq_bytes < u->mq_bytes ||
62413 u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) { 64219 u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
62414diff --git a/ipc/msg.c b/ipc/msg.c 64220diff --git a/ipc/msg.c b/ipc/msg.c
62415index 7385de2..a8180e0 100644 64221index 7385de2..a8180e08 100644
62416--- a/ipc/msg.c 64222--- a/ipc/msg.c
62417+++ b/ipc/msg.c 64223+++ b/ipc/msg.c
62418@@ -309,18 +309,19 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg) 64224@@ -309,18 +309,19 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg)
@@ -63242,7 +65048,7 @@ index 58690af..d903d75 100644
63242 65048
63243 /* 65049 /*
63244diff --git a/kernel/exit.c b/kernel/exit.c 65050diff --git a/kernel/exit.c b/kernel/exit.c
63245index e6e01b9..619f837 100644 65051index e6e01b9..0a21b0a 100644
63246--- a/kernel/exit.c 65052--- a/kernel/exit.c
63247+++ b/kernel/exit.c 65053+++ b/kernel/exit.c
63248@@ -57,6 +57,10 @@ 65054@@ -57,6 +57,10 @@
@@ -63321,11 +65127,20 @@ index e6e01b9..619f837 100644
63321 exit_mm(tsk); 65127 exit_mm(tsk);
63322 65128
63323 if (group_dead) 65129 if (group_dead)
65130@@ -1068,7 +1091,7 @@ SYSCALL_DEFINE1(exit, int, error_code)
65131 * Take down every thread in the group. This is called by fatal signals
65132 * as well as by sys_exit_group (below).
65133 */
65134-NORET_TYPE void
65135+__noreturn void
65136 do_group_exit(int exit_code)
65137 {
65138 struct signal_struct *sig = current->signal;
63324diff --git a/kernel/fork.c b/kernel/fork.c 65139diff --git a/kernel/fork.c b/kernel/fork.c
63325index da4a6a1..0483b61 100644 65140index 0acf42c0..9e40e2e 100644
63326--- a/kernel/fork.c 65141--- a/kernel/fork.c
63327+++ b/kernel/fork.c 65142+++ b/kernel/fork.c
63328@@ -280,7 +280,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig) 65143@@ -281,7 +281,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
63329 *stackend = STACK_END_MAGIC; /* for overflow detection */ 65144 *stackend = STACK_END_MAGIC; /* for overflow detection */
63330 65145
63331 #ifdef CONFIG_CC_STACKPROTECTOR 65146 #ifdef CONFIG_CC_STACKPROTECTOR
@@ -63334,7 +65149,7 @@ index da4a6a1..0483b61 100644
63334 #endif 65149 #endif
63335 65150
63336 /* 65151 /*
63337@@ -304,13 +304,77 @@ out: 65152@@ -305,13 +305,77 @@ out:
63338 } 65153 }
63339 65154
63340 #ifdef CONFIG_MMU 65155 #ifdef CONFIG_MMU
@@ -63414,7 +65229,7 @@ index da4a6a1..0483b61 100644
63414 65229
63415 down_write(&oldmm->mmap_sem); 65230 down_write(&oldmm->mmap_sem);
63416 flush_cache_dup_mm(oldmm); 65231 flush_cache_dup_mm(oldmm);
63417@@ -322,8 +386,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) 65232@@ -323,8 +387,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
63418 mm->locked_vm = 0; 65233 mm->locked_vm = 0;
63419 mm->mmap = NULL; 65234 mm->mmap = NULL;
63420 mm->mmap_cache = NULL; 65235 mm->mmap_cache = NULL;
@@ -63425,7 +65240,7 @@ index da4a6a1..0483b61 100644
63425 mm->map_count = 0; 65240 mm->map_count = 0;
63426 cpumask_clear(mm_cpumask(mm)); 65241 cpumask_clear(mm_cpumask(mm));
63427 mm->mm_rb = RB_ROOT; 65242 mm->mm_rb = RB_ROOT;
63428@@ -339,8 +403,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) 65243@@ -340,8 +404,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
63429 65244
63430 prev = NULL; 65245 prev = NULL;
63431 for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) { 65246 for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) {
@@ -63434,7 +65249,7 @@ index da4a6a1..0483b61 100644
63434 if (mpnt->vm_flags & VM_DONTCOPY) { 65249 if (mpnt->vm_flags & VM_DONTCOPY) {
63435 long pages = vma_pages(mpnt); 65250 long pages = vma_pages(mpnt);
63436 mm->total_vm -= pages; 65251 mm->total_vm -= pages;
63437@@ -348,53 +410,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) 65252@@ -349,53 +411,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
63438 -pages); 65253 -pages);
63439 continue; 65254 continue;
63440 } 65255 }
@@ -63492,7 +65307,7 @@ index da4a6a1..0483b61 100644
63492 65307
63493 /* 65308 /*
63494 * Link in the new vma and copy the page table entries. 65309 * Link in the new vma and copy the page table entries.
63495@@ -417,6 +437,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) 65310@@ -418,6 +438,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
63496 if (retval) 65311 if (retval)
63497 goto out; 65312 goto out;
63498 } 65313 }
@@ -63524,7 +65339,7 @@ index da4a6a1..0483b61 100644
63524 /* a new mm has just been created */ 65339 /* a new mm has just been created */
63525 arch_dup_mmap(oldmm, mm); 65340 arch_dup_mmap(oldmm, mm);
63526 retval = 0; 65341 retval = 0;
63527@@ -425,14 +470,6 @@ out: 65342@@ -426,14 +471,6 @@ out:
63528 flush_tlb_mm(oldmm); 65343 flush_tlb_mm(oldmm);
63529 up_write(&oldmm->mmap_sem); 65344 up_write(&oldmm->mmap_sem);
63530 return retval; 65345 return retval;
@@ -63539,7 +65354,7 @@ index da4a6a1..0483b61 100644
63539 } 65354 }
63540 65355
63541 static inline int mm_alloc_pgd(struct mm_struct *mm) 65356 static inline int mm_alloc_pgd(struct mm_struct *mm)
63542@@ -644,6 +681,26 @@ struct mm_struct *get_task_mm(struct task_struct *task) 65357@@ -645,6 +682,26 @@ struct mm_struct *get_task_mm(struct task_struct *task)
63543 } 65358 }
63544 EXPORT_SYMBOL_GPL(get_task_mm); 65359 EXPORT_SYMBOL_GPL(get_task_mm);
63545 65360
@@ -63566,7 +65381,7 @@ index da4a6a1..0483b61 100644
63566 /* Please note the differences between mmput and mm_release. 65381 /* Please note the differences between mmput and mm_release.
63567 * mmput is called whenever we stop holding onto a mm_struct, 65382 * mmput is called whenever we stop holding onto a mm_struct,
63568 * error success whatever. 65383 * error success whatever.
63569@@ -829,13 +886,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) 65384@@ -830,13 +887,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
63570 spin_unlock(&fs->lock); 65385 spin_unlock(&fs->lock);
63571 return -EAGAIN; 65386 return -EAGAIN;
63572 } 65387 }
@@ -63582,7 +65397,7 @@ index da4a6a1..0483b61 100644
63582 return 0; 65397 return 0;
63583 } 65398 }
63584 65399
63585@@ -1097,6 +1155,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, 65400@@ -1100,6 +1158,9 @@ static struct task_struct *copy_process(unsigned long clone_flags,
63586 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); 65401 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
63587 #endif 65402 #endif
63588 retval = -EAGAIN; 65403 retval = -EAGAIN;
@@ -63592,20 +65407,16 @@ index da4a6a1..0483b61 100644
63592 if (atomic_read(&p->real_cred->user->processes) >= 65407 if (atomic_read(&p->real_cred->user->processes) >=
63593 task_rlimit(p, RLIMIT_NPROC)) { 65408 task_rlimit(p, RLIMIT_NPROC)) {
63594 if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && 65409 if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) &&
63595@@ -1256,6 +1317,12 @@ static struct task_struct *copy_process(unsigned long clone_flags, 65410@@ -1259,6 +1320,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
63596 if (clone_flags & CLONE_THREAD) 65411 if (clone_flags & CLONE_THREAD)
63597 p->tgid = current->tgid; 65412 p->tgid = current->tgid;
63598 65413
63599+ gr_copy_label(p); 65414+ gr_copy_label(p);
63600+ 65415+
63601+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
63602+ p->exec_id = current->exec_id;
63603+#endif
63604+
63605 p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? child_tidptr : NULL; 65416 p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? child_tidptr : NULL;
63606 /* 65417 /*
63607 * Clear TID on mm_release()? 65418 * Clear TID on mm_release()?
63608@@ -1418,6 +1485,8 @@ bad_fork_cleanup_count: 65419@@ -1421,6 +1484,8 @@ bad_fork_cleanup_count:
63609 bad_fork_free: 65420 bad_fork_free:
63610 free_task(p); 65421 free_task(p);
63611 fork_out: 65422 fork_out:
@@ -63614,7 +65425,7 @@ index da4a6a1..0483b61 100644
63614 return ERR_PTR(retval); 65425 return ERR_PTR(retval);
63615 } 65426 }
63616 65427
63617@@ -1518,6 +1587,8 @@ long do_fork(unsigned long clone_flags, 65428@@ -1521,6 +1586,8 @@ long do_fork(unsigned long clone_flags,
63618 if (clone_flags & CLONE_PARENT_SETTID) 65429 if (clone_flags & CLONE_PARENT_SETTID)
63619 put_user(nr, parent_tidptr); 65430 put_user(nr, parent_tidptr);
63620 65431
@@ -63623,7 +65434,7 @@ index da4a6a1..0483b61 100644
63623 if (clone_flags & CLONE_VFORK) { 65434 if (clone_flags & CLONE_VFORK) {
63624 p->vfork_done = &vfork; 65435 p->vfork_done = &vfork;
63625 init_completion(&vfork); 65436 init_completion(&vfork);
63626@@ -1627,7 +1698,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) 65437@@ -1630,7 +1697,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
63627 return 0; 65438 return 0;
63628 65439
63629 /* don't need lock here; in the worst case we'll do useless copy */ 65440 /* don't need lock here; in the worst case we'll do useless copy */
@@ -63632,7 +65443,7 @@ index da4a6a1..0483b61 100644
63632 return 0; 65443 return 0;
63633 65444
63634 *new_fsp = copy_fs_struct(fs); 65445 *new_fsp = copy_fs_struct(fs);
63635@@ -1716,7 +1787,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) 65446@@ -1719,7 +1786,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
63636 fs = current->fs; 65447 fs = current->fs;
63637 spin_lock(&fs->lock); 65448 spin_lock(&fs->lock);
63638 current->fs = new_fs; 65449 current->fs = new_fs;
@@ -64025,7 +65836,7 @@ index a4bea97..7a1ae9a 100644
64025 /* 65836 /*
64026 * If ret is 0, either ____call_usermodehelper failed and the 65837 * If ret is 0, either ____call_usermodehelper failed and the
64027diff --git a/kernel/kprobes.c b/kernel/kprobes.c 65838diff --git a/kernel/kprobes.c b/kernel/kprobes.c
64028index faa39d1..d7ad37e 100644 65839index bc90b87..43c7d8c 100644
64029--- a/kernel/kprobes.c 65840--- a/kernel/kprobes.c
64030+++ b/kernel/kprobes.c 65841+++ b/kernel/kprobes.c
64031@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_insn_slot(struct kprobe_insn_cache *c) 65842@@ -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
64046 kfree(kip); 65857 kfree(kip);
64047 } 65858 }
64048 return 1; 65859 return 1;
64049@@ -1953,7 +1953,7 @@ static int __init init_kprobes(void) 65860@@ -1955,7 +1955,7 @@ static int __init init_kprobes(void)
64050 { 65861 {
64051 int i, err = 0; 65862 int i, err = 0;
64052 unsigned long offset = 0, size = 0; 65863 unsigned long offset = 0, size = 0;
@@ -64055,7 +65866,7 @@ index faa39d1..d7ad37e 100644
64055 const char *symbol_name; 65866 const char *symbol_name;
64056 void *addr; 65867 void *addr;
64057 struct kprobe_blackpoint *kb; 65868 struct kprobe_blackpoint *kb;
64058@@ -2079,7 +2079,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v) 65869@@ -2081,7 +2081,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v)
64059 const char *sym = NULL; 65870 const char *sym = NULL;
64060 unsigned int i = *(loff_t *) v; 65871 unsigned int i = *(loff_t *) v;
64061 unsigned long offset = 0; 65872 unsigned long offset = 0;
@@ -65476,6 +67287,28 @@ index 78ab24a..332c915 100644
65476 goto out_put_task_struct; 67287 goto out_put_task_struct;
65477 } 67288 }
65478 67289
67290diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c
67291index 636af6d..8af70ab 100644
67292--- a/kernel/rcutiny.c
67293+++ b/kernel/rcutiny.c
67294@@ -46,7 +46,7 @@
67295 struct rcu_ctrlblk;
67296 static void invoke_rcu_callbacks(void);
67297 static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp);
67298-static void rcu_process_callbacks(struct softirq_action *unused);
67299+static void rcu_process_callbacks(void);
67300 static void __call_rcu(struct rcu_head *head,
67301 void (*func)(struct rcu_head *rcu),
67302 struct rcu_ctrlblk *rcp);
67303@@ -186,7 +186,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
67304 RCU_TRACE(trace_rcu_batch_end(rcp->name, cb_count));
67305 }
67306
67307-static void rcu_process_callbacks(struct softirq_action *unused)
67308+static void rcu_process_callbacks(void)
67309 {
67310 __rcu_process_callbacks(&rcu_sched_ctrlblk);
67311 __rcu_process_callbacks(&rcu_bh_ctrlblk);
65479diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c 67312diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
65480index 764825c..3aa6ac4 100644 67313index 764825c..3aa6ac4 100644
65481--- a/kernel/rcutorture.c 67314--- a/kernel/rcutorture.c
@@ -65836,36 +67669,6 @@ index 9feffa4..54058df 100644
65836 rdp->dynticks->dynticks_nesting, 67669 rdp->dynticks->dynticks_nesting,
65837 rdp->dynticks->dynticks_nmi_nesting, 67670 rdp->dynticks->dynticks_nmi_nesting,
65838 rdp->dynticks_fqs); 67671 rdp->dynticks_fqs);
65839diff --git a/kernel/relay.c b/kernel/relay.c
65840index 226fade..b6f803a 100644
65841--- a/kernel/relay.c
65842+++ b/kernel/relay.c
65843@@ -164,10 +164,14 @@ depopulate:
65844 */
65845 static struct rchan_buf *relay_create_buf(struct rchan *chan)
65846 {
65847- struct rchan_buf *buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
65848+ struct rchan_buf *buf;
65849+
65850+ if (chan->n_subbufs > UINT_MAX / sizeof(size_t *))
65851+ return NULL;
65852+
65853+ buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
65854 if (!buf)
65855 return NULL;
65856-
65857 buf->padding = kmalloc(chan->n_subbufs * sizeof(size_t *), GFP_KERNEL);
65858 if (!buf->padding)
65859 goto free_buf;
65860@@ -574,6 +578,8 @@ struct rchan *relay_open(const char *base_filename,
65861
65862 if (!(subbuf_size && n_subbufs))
65863 return NULL;
65864+ if (subbuf_size > UINT_MAX / n_subbufs)
65865+ return NULL;
65866
65867 chan = kzalloc(sizeof(struct rchan), GFP_KERNEL);
65868 if (!chan)
65869diff --git a/kernel/resource.c b/kernel/resource.c 67672diff --git a/kernel/resource.c b/kernel/resource.c
65870index 7640b3a..5879283 100644 67673index 7640b3a..5879283 100644
65871--- a/kernel/resource.c 67674--- a/kernel/resource.c
@@ -67422,7 +69225,7 @@ index d9df745..e73c2fe 100644
67422 static inline void *ptr_to_indirect(void *ptr) 69225 static inline void *ptr_to_indirect(void *ptr)
67423 { 69226 {
67424diff --git a/lib/vsprintf.c b/lib/vsprintf.c 69227diff --git a/lib/vsprintf.c b/lib/vsprintf.c
67425index 993599e..84dc70e 100644 69228index 993599e..f1dbc14 100644
67426--- a/lib/vsprintf.c 69229--- a/lib/vsprintf.c
67427+++ b/lib/vsprintf.c 69230+++ b/lib/vsprintf.c
67428@@ -16,6 +16,9 @@ 69231@@ -16,6 +16,9 @@
@@ -67494,7 +69297,26 @@ index 993599e..84dc70e 100644
67494 case 'B': 69297 case 'B':
67495 return symbol_string(buf, end, ptr, spec, *fmt); 69298 return symbol_string(buf, end, ptr, spec, *fmt);
67496 case 'R': 69299 case 'R':
67497@@ -1608,11 +1624,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf) 69300@@ -878,9 +894,15 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
69301 case 'U':
69302 return uuid_string(buf, end, ptr, spec, fmt);
69303 case 'V':
69304- return buf + vsnprintf(buf, end > buf ? end - buf : 0,
69305- ((struct va_format *)ptr)->fmt,
69306- *(((struct va_format *)ptr)->va));
69307+ {
69308+ va_list va;
69309+
69310+ va_copy(va, *((struct va_format *)ptr)->va);
69311+ buf += vsnprintf(buf, end > buf ? end - buf : 0,
69312+ ((struct va_format *)ptr)->fmt, va);
69313+ va_end(va);
69314+ return buf;
69315+ }
69316 case 'K':
69317 /*
69318 * %pK cannot be used in IRQ context because its test
69319@@ -1608,11 +1630,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
67498 typeof(type) value; \ 69320 typeof(type) value; \
67499 if (sizeof(type) == 8) { \ 69321 if (sizeof(type) == 8) { \
67500 args = PTR_ALIGN(args, sizeof(u32)); \ 69322 args = PTR_ALIGN(args, sizeof(u32)); \
@@ -67509,7 +69331,7 @@ index 993599e..84dc70e 100644
67509 } \ 69331 } \
67510 args += sizeof(type); \ 69332 args += sizeof(type); \
67511 value; \ 69333 value; \
67512@@ -1675,7 +1691,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf) 69334@@ -1675,7 +1697,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
67513 case FORMAT_TYPE_STR: { 69335 case FORMAT_TYPE_STR: {
67514 const char *str_arg = args; 69336 const char *str_arg = args;
67515 args += strlen(str_arg) + 1; 69337 args += strlen(str_arg) + 1;
@@ -67610,10 +69432,10 @@ index 57d82c6..e9e0552 100644
67610 set_page_address(page, (void *)vaddr); 69432 set_page_address(page, (void *)vaddr);
67611 69433
67612diff --git a/mm/huge_memory.c b/mm/huge_memory.c 69434diff --git a/mm/huge_memory.c b/mm/huge_memory.c
67613index 33141f5..e56bef9 100644 69435index 8f005e9..1cb1036 100644
67614--- a/mm/huge_memory.c 69436--- a/mm/huge_memory.c
67615+++ b/mm/huge_memory.c 69437+++ b/mm/huge_memory.c
67616@@ -703,7 +703,7 @@ out: 69438@@ -704,7 +704,7 @@ out:
67617 * run pte_offset_map on the pmd, if an huge pmd could 69439 * run pte_offset_map on the pmd, if an huge pmd could
67618 * materialize from under us from a different thread. 69440 * materialize from under us from a different thread.
67619 */ 69441 */
@@ -68676,7 +70498,7 @@ index 4f4f53b..9511904 100644
68676 capable(CAP_IPC_LOCK)) 70498 capable(CAP_IPC_LOCK))
68677 ret = do_mlockall(flags); 70499 ret = do_mlockall(flags);
68678diff --git a/mm/mmap.c b/mm/mmap.c 70500diff --git a/mm/mmap.c b/mm/mmap.c
68679index eae90af..51ca80b 100644 70501index eae90af..c930262 100644
68680--- a/mm/mmap.c 70502--- a/mm/mmap.c
68681+++ b/mm/mmap.c 70503+++ b/mm/mmap.c
68682@@ -46,6 +46,16 @@ 70504@@ -46,6 +46,16 @@
@@ -69010,7 +70832,18 @@ index eae90af..51ca80b 100644
69010 vma->vm_mm = mm; 70832 vma->vm_mm = mm;
69011 vma->vm_start = addr; 70833 vma->vm_start = addr;
69012 vma->vm_end = addr + len; 70834 vma->vm_end = addr + len;
69013@@ -1281,6 +1412,19 @@ munmap_back: 70835@@ -1266,8 +1397,9 @@ munmap_back:
70836 vma->vm_pgoff = pgoff;
70837 INIT_LIST_HEAD(&vma->anon_vma_chain);
70838
70839+ error = -EINVAL; /* when rejecting VM_GROWSDOWN|VM_GROWSUP */
70840+
70841 if (file) {
70842- error = -EINVAL;
70843 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP))
70844 goto free_vma;
70845 if (vm_flags & VM_DENYWRITE) {
70846@@ -1281,6 +1413,19 @@ munmap_back:
69014 error = file->f_op->mmap(file, vma); 70847 error = file->f_op->mmap(file, vma);
69015 if (error) 70848 if (error)
69016 goto unmap_and_free_vma; 70849 goto unmap_and_free_vma;
@@ -69030,7 +70863,16 @@ index eae90af..51ca80b 100644
69030 if (vm_flags & VM_EXECUTABLE) 70863 if (vm_flags & VM_EXECUTABLE)
69031 added_exe_file_vma(mm); 70864 added_exe_file_vma(mm);
69032 70865
69033@@ -1316,6 +1460,11 @@ munmap_back: 70866@@ -1293,6 +1438,8 @@ munmap_back:
70867 pgoff = vma->vm_pgoff;
70868 vm_flags = vma->vm_flags;
70869 } else if (vm_flags & VM_SHARED) {
70870+ if (unlikely(vm_flags & (VM_GROWSDOWN|VM_GROWSUP)))
70871+ goto free_vma;
70872 error = shmem_zero_setup(vma);
70873 if (error)
70874 goto free_vma;
70875@@ -1316,6 +1463,11 @@ munmap_back:
69034 vma_link(mm, vma, prev, rb_link, rb_parent); 70876 vma_link(mm, vma, prev, rb_link, rb_parent);
69035 file = vma->vm_file; 70877 file = vma->vm_file;
69036 70878
@@ -69042,7 +70884,7 @@ index eae90af..51ca80b 100644
69042 /* Once vma denies write, undo our temporary denial count */ 70884 /* Once vma denies write, undo our temporary denial count */
69043 if (correct_wcount) 70885 if (correct_wcount)
69044 atomic_inc(&inode->i_writecount); 70886 atomic_inc(&inode->i_writecount);
69045@@ -1324,6 +1473,7 @@ out: 70887@@ -1324,6 +1476,7 @@ out:
69046 70888
69047 mm->total_vm += len >> PAGE_SHIFT; 70889 mm->total_vm += len >> PAGE_SHIFT;
69048 vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); 70890 vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT);
@@ -69050,7 +70892,7 @@ index eae90af..51ca80b 100644
69050 if (vm_flags & VM_LOCKED) { 70892 if (vm_flags & VM_LOCKED) {
69051 if (!mlock_vma_pages_range(vma, addr, addr + len)) 70893 if (!mlock_vma_pages_range(vma, addr, addr + len))
69052 mm->locked_vm += (len >> PAGE_SHIFT); 70894 mm->locked_vm += (len >> PAGE_SHIFT);
69053@@ -1341,6 +1491,12 @@ unmap_and_free_vma: 70895@@ -1341,6 +1494,12 @@ unmap_and_free_vma:
69054 unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); 70896 unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
69055 charged = 0; 70897 charged = 0;
69056 free_vma: 70898 free_vma:
@@ -69063,7 +70905,7 @@ index eae90af..51ca80b 100644
69063 kmem_cache_free(vm_area_cachep, vma); 70905 kmem_cache_free(vm_area_cachep, vma);
69064 unacct_error: 70906 unacct_error:
69065 if (charged) 70907 if (charged)
69066@@ -1348,6 +1504,44 @@ unacct_error: 70908@@ -1348,6 +1507,44 @@ unacct_error:
69067 return error; 70909 return error;
69068 } 70910 }
69069 70911
@@ -69108,7 +70950,7 @@ index eae90af..51ca80b 100644
69108 /* Get an address range which is currently unmapped. 70950 /* Get an address range which is currently unmapped.
69109 * For shmat() with addr=0. 70951 * For shmat() with addr=0.
69110 * 70952 *
69111@@ -1374,18 +1568,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, 70953@@ -1374,18 +1571,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
69112 if (flags & MAP_FIXED) 70954 if (flags & MAP_FIXED)
69113 return addr; 70955 return addr;
69114 70956
@@ -69139,7 +70981,7 @@ index eae90af..51ca80b 100644
69139 } 70981 }
69140 70982
69141 full_search: 70983 full_search:
69142@@ -1396,34 +1595,40 @@ full_search: 70984@@ -1396,34 +1598,40 @@ full_search:
69143 * Start a new search - just in case we missed 70985 * Start a new search - just in case we missed
69144 * some holes. 70986 * some holes.
69145 */ 70987 */
@@ -69191,7 +71033,7 @@ index eae90af..51ca80b 100644
69191 mm->free_area_cache = addr; 71033 mm->free_area_cache = addr;
69192 mm->cached_hole_size = ~0UL; 71034 mm->cached_hole_size = ~0UL;
69193 } 71035 }
69194@@ -1441,7 +1646,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 71036@@ -1441,7 +1649,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
69195 { 71037 {
69196 struct vm_area_struct *vma; 71038 struct vm_area_struct *vma;
69197 struct mm_struct *mm = current->mm; 71039 struct mm_struct *mm = current->mm;
@@ -69200,7 +71042,7 @@ index eae90af..51ca80b 100644
69200 71042
69201 /* requested length too big for entire address space */ 71043 /* requested length too big for entire address space */
69202 if (len > TASK_SIZE) 71044 if (len > TASK_SIZE)
69203@@ -1450,13 +1655,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 71045@@ -1450,13 +1658,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
69204 if (flags & MAP_FIXED) 71046 if (flags & MAP_FIXED)
69205 return addr; 71047 return addr;
69206 71048
@@ -69223,7 +71065,7 @@ index eae90af..51ca80b 100644
69223 } 71065 }
69224 71066
69225 /* check if free_area_cache is useful for us */ 71067 /* check if free_area_cache is useful for us */
69226@@ -1471,7 +1681,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 71068@@ -1471,7 +1684,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
69227 /* make sure it can fit in the remaining address space */ 71069 /* make sure it can fit in the remaining address space */
69228 if (addr > len) { 71070 if (addr > len) {
69229 vma = find_vma(mm, addr-len); 71071 vma = find_vma(mm, addr-len);
@@ -69232,7 +71074,7 @@ index eae90af..51ca80b 100644
69232 /* remember the address as a hint for next time */ 71074 /* remember the address as a hint for next time */
69233 return (mm->free_area_cache = addr-len); 71075 return (mm->free_area_cache = addr-len);
69234 } 71076 }
69235@@ -1488,7 +1698,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 71077@@ -1488,7 +1701,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
69236 * return with success: 71078 * return with success:
69237 */ 71079 */
69238 vma = find_vma(mm, addr); 71080 vma = find_vma(mm, addr);
@@ -69241,7 +71083,7 @@ index eae90af..51ca80b 100644
69241 /* remember the address as a hint for next time */ 71083 /* remember the address as a hint for next time */
69242 return (mm->free_area_cache = addr); 71084 return (mm->free_area_cache = addr);
69243 71085
69244@@ -1497,8 +1707,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 71086@@ -1497,8 +1710,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
69245 mm->cached_hole_size = vma->vm_start - addr; 71087 mm->cached_hole_size = vma->vm_start - addr;
69246 71088
69247 /* try just below the current vma->vm_start */ 71089 /* try just below the current vma->vm_start */
@@ -69252,7 +71094,7 @@ index eae90af..51ca80b 100644
69252 71094
69253 bottomup: 71095 bottomup:
69254 /* 71096 /*
69255@@ -1507,13 +1717,21 @@ bottomup: 71097@@ -1507,13 +1720,21 @@ bottomup:
69256 * can happen with large stack limits and large mmap() 71098 * can happen with large stack limits and large mmap()
69257 * allocations. 71099 * allocations.
69258 */ 71100 */
@@ -69276,7 +71118,7 @@ index eae90af..51ca80b 100644
69276 mm->cached_hole_size = ~0UL; 71118 mm->cached_hole_size = ~0UL;
69277 71119
69278 return addr; 71120 return addr;
69279@@ -1522,6 +1740,12 @@ bottomup: 71121@@ -1522,6 +1743,12 @@ bottomup:
69280 71122
69281 void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) 71123 void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
69282 { 71124 {
@@ -69289,7 +71131,7 @@ index eae90af..51ca80b 100644
69289 /* 71131 /*
69290 * Is this a new hole at the highest possible address? 71132 * Is this a new hole at the highest possible address?
69291 */ 71133 */
69292@@ -1529,8 +1753,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) 71134@@ -1529,8 +1756,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
69293 mm->free_area_cache = addr; 71135 mm->free_area_cache = addr;
69294 71136
69295 /* dont allow allocations above current base */ 71137 /* dont allow allocations above current base */
@@ -69301,15 +71143,63 @@ index eae90af..51ca80b 100644
69301 } 71143 }
69302 71144
69303 unsigned long 71145 unsigned long
69304@@ -1638,6 +1864,28 @@ out: 71146@@ -1603,40 +1832,50 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
69305 return prev ? prev->vm_next : vma;
69306 }
69307 71147
71148 EXPORT_SYMBOL(find_vma);
71149
71150-/* Same as find_vma, but also return a pointer to the previous VMA in *pprev. */
71151+/*
71152+ * Same as find_vma, but also return a pointer to the previous VMA in *pprev.
71153+ */
71154 struct vm_area_struct *
71155 find_vma_prev(struct mm_struct *mm, unsigned long addr,
71156 struct vm_area_struct **pprev)
71157 {
71158- struct vm_area_struct *vma = NULL, *prev = NULL;
71159- struct rb_node *rb_node;
71160- if (!mm)
71161- goto out;
71162-
71163- /* Guard against addr being lower than the first VMA */
71164- vma = mm->mmap;
71165-
71166- /* Go through the RB tree quickly. */
71167- rb_node = mm->mm_rb.rb_node;
71168-
71169- while (rb_node) {
71170- struct vm_area_struct *vma_tmp;
71171- vma_tmp = rb_entry(rb_node, struct vm_area_struct, vm_rb);
71172-
71173- if (addr < vma_tmp->vm_end) {
71174- rb_node = rb_node->rb_left;
71175- } else {
71176- prev = vma_tmp;
71177- if (!prev->vm_next || (addr < prev->vm_next->vm_end))
71178- break;
71179+ struct vm_area_struct *vma;
71180+
71181+ vma = find_vma(mm, addr);
71182+ if (vma) {
71183+ *pprev = vma->vm_prev;
71184+ } else {
71185+ struct rb_node *rb_node = mm->mm_rb.rb_node;
71186+ *pprev = NULL;
71187+ while (rb_node) {
71188+ *pprev = rb_entry(rb_node, struct vm_area_struct, vm_rb);
71189 rb_node = rb_node->rb_right;
71190 }
71191 }
71192+ return vma;
71193+}
71194+
69308+#ifdef CONFIG_PAX_SEGMEXEC 71195+#ifdef CONFIG_PAX_SEGMEXEC
69309+struct vm_area_struct *pax_find_mirror_vma(struct vm_area_struct *vma) 71196+struct vm_area_struct *pax_find_mirror_vma(struct vm_area_struct *vma)
69310+{ 71197+{
69311+ struct vm_area_struct *vma_m; 71198+ struct vm_area_struct *vma_m;
69312+ 71199
71200-out:
71201- *pprev = prev;
71202- return prev ? prev->vm_next : vma;
69313+ BUG_ON(!vma || vma->vm_start >= vma->vm_end); 71203+ BUG_ON(!vma || vma->vm_start >= vma->vm_end);
69314+ if (!(vma->vm_mm->pax_flags & MF_PAX_SEGMEXEC) || !(vma->vm_flags & VM_EXEC)) { 71204+ if (!(vma->vm_mm->pax_flags & MF_PAX_SEGMEXEC) || !(vma->vm_flags & VM_EXEC)) {
69315+ BUG_ON(vma->vm_mirror); 71205+ BUG_ON(vma->vm_mirror);
@@ -69324,13 +71214,12 @@ index eae90af..51ca80b 100644
69324+ BUG_ON(vma->anon_vma != vma_m->anon_vma && vma->anon_vma->root != vma_m->anon_vma->root); 71214+ BUG_ON(vma->anon_vma != vma_m->anon_vma && vma->anon_vma->root != vma_m->anon_vma->root);
69325+ BUG_ON((vma->vm_flags ^ vma_m->vm_flags) & ~(VM_WRITE | VM_MAYWRITE | VM_ACCOUNT | VM_LOCKED | VM_RESERVED)); 71215+ BUG_ON((vma->vm_flags ^ vma_m->vm_flags) & ~(VM_WRITE | VM_MAYWRITE | VM_ACCOUNT | VM_LOCKED | VM_RESERVED));
69326+ return vma_m; 71216+ return vma_m;
69327+} 71217 }
69328+#endif 71218+#endif
69329+ 71219
69330 /* 71220 /*
69331 * Verify that the stack growth is acceptable and 71221 * Verify that the stack growth is acceptable and
69332 * update accounting. This is shared with both the 71222@@ -1654,6 +1893,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
69333@@ -1654,6 +1902,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
69334 return -ENOMEM; 71223 return -ENOMEM;
69335 71224
69336 /* Stack limit test */ 71225 /* Stack limit test */
@@ -69338,7 +71227,7 @@ index eae90af..51ca80b 100644
69338 if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur)) 71227 if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur))
69339 return -ENOMEM; 71228 return -ENOMEM;
69340 71229
69341@@ -1664,6 +1913,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns 71230@@ -1664,6 +1904,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
69342 locked = mm->locked_vm + grow; 71231 locked = mm->locked_vm + grow;
69343 limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur); 71232 limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur);
69344 limit >>= PAGE_SHIFT; 71233 limit >>= PAGE_SHIFT;
@@ -69346,7 +71235,7 @@ index eae90af..51ca80b 100644
69346 if (locked > limit && !capable(CAP_IPC_LOCK)) 71235 if (locked > limit && !capable(CAP_IPC_LOCK))
69347 return -ENOMEM; 71236 return -ENOMEM;
69348 } 71237 }
69349@@ -1694,37 +1944,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns 71238@@ -1694,37 +1935,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
69350 * PA-RISC uses this for its stack; IA64 for its Register Backing Store. 71239 * PA-RISC uses this for its stack; IA64 for its Register Backing Store.
69351 * vma is the last one with address > vma->vm_end. Have to extend vma. 71240 * vma is the last one with address > vma->vm_end. Have to extend vma.
69352 */ 71241 */
@@ -69404,7 +71293,7 @@ index eae90af..51ca80b 100644
69404 unsigned long size, grow; 71293 unsigned long size, grow;
69405 71294
69406 size = address - vma->vm_start; 71295 size = address - vma->vm_start;
69407@@ -1739,6 +2000,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) 71296@@ -1739,6 +1991,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
69408 } 71297 }
69409 } 71298 }
69410 } 71299 }
@@ -69413,7 +71302,7 @@ index eae90af..51ca80b 100644
69413 vma_unlock_anon_vma(vma); 71302 vma_unlock_anon_vma(vma);
69414 khugepaged_enter_vma_merge(vma); 71303 khugepaged_enter_vma_merge(vma);
69415 return error; 71304 return error;
69416@@ -1752,6 +2015,8 @@ int expand_downwards(struct vm_area_struct *vma, 71305@@ -1752,6 +2006,8 @@ int expand_downwards(struct vm_area_struct *vma,
69417 unsigned long address) 71306 unsigned long address)
69418 { 71307 {
69419 int error; 71308 int error;
@@ -69422,7 +71311,7 @@ index eae90af..51ca80b 100644
69422 71311
69423 /* 71312 /*
69424 * We must make sure the anon_vma is allocated 71313 * We must make sure the anon_vma is allocated
69425@@ -1765,6 +2030,15 @@ int expand_downwards(struct vm_area_struct *vma, 71314@@ -1765,6 +2021,15 @@ int expand_downwards(struct vm_area_struct *vma,
69426 if (error) 71315 if (error)
69427 return error; 71316 return error;
69428 71317
@@ -69438,7 +71327,7 @@ index eae90af..51ca80b 100644
69438 vma_lock_anon_vma(vma); 71327 vma_lock_anon_vma(vma);
69439 71328
69440 /* 71329 /*
69441@@ -1774,9 +2048,17 @@ int expand_downwards(struct vm_area_struct *vma, 71330@@ -1774,9 +2039,17 @@ int expand_downwards(struct vm_area_struct *vma,
69442 */ 71331 */
69443 71332
69444 /* Somebody else might have raced and expanded it already */ 71333 /* Somebody else might have raced and expanded it already */
@@ -69457,7 +71346,7 @@ index eae90af..51ca80b 100644
69457 size = vma->vm_end - address; 71346 size = vma->vm_end - address;
69458 grow = (vma->vm_start - address) >> PAGE_SHIFT; 71347 grow = (vma->vm_start - address) >> PAGE_SHIFT;
69459 71348
69460@@ -1786,11 +2068,22 @@ int expand_downwards(struct vm_area_struct *vma, 71349@@ -1786,11 +2059,22 @@ int expand_downwards(struct vm_area_struct *vma,
69461 if (!error) { 71350 if (!error) {
69462 vma->vm_start = address; 71351 vma->vm_start = address;
69463 vma->vm_pgoff -= grow; 71352 vma->vm_pgoff -= grow;
@@ -69480,7 +71369,7 @@ index eae90af..51ca80b 100644
69480 khugepaged_enter_vma_merge(vma); 71369 khugepaged_enter_vma_merge(vma);
69481 return error; 71370 return error;
69482 } 71371 }
69483@@ -1860,6 +2153,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) 71372@@ -1860,6 +2144,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
69484 do { 71373 do {
69485 long nrpages = vma_pages(vma); 71374 long nrpages = vma_pages(vma);
69486 71375
@@ -69494,7 +71383,7 @@ index eae90af..51ca80b 100644
69494 mm->total_vm -= nrpages; 71383 mm->total_vm -= nrpages;
69495 vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); 71384 vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages);
69496 vma = remove_vma(vma); 71385 vma = remove_vma(vma);
69497@@ -1905,6 +2205,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, 71386@@ -1905,6 +2196,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma,
69498 insertion_point = (prev ? &prev->vm_next : &mm->mmap); 71387 insertion_point = (prev ? &prev->vm_next : &mm->mmap);
69499 vma->vm_prev = NULL; 71388 vma->vm_prev = NULL;
69500 do { 71389 do {
@@ -69511,7 +71400,7 @@ index eae90af..51ca80b 100644
69511 rb_erase(&vma->vm_rb, &mm->mm_rb); 71400 rb_erase(&vma->vm_rb, &mm->mm_rb);
69512 mm->map_count--; 71401 mm->map_count--;
69513 tail_vma = vma; 71402 tail_vma = vma;
69514@@ -1933,14 +2243,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, 71403@@ -1933,14 +2234,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
69515 struct vm_area_struct *new; 71404 struct vm_area_struct *new;
69516 int err = -ENOMEM; 71405 int err = -ENOMEM;
69517 71406
@@ -69545,7 +71434,7 @@ index eae90af..51ca80b 100644
69545 /* most fields are the same, copy all, and then fixup */ 71434 /* most fields are the same, copy all, and then fixup */
69546 *new = *vma; 71435 *new = *vma;
69547 71436
69548@@ -1953,6 +2282,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, 71437@@ -1953,6 +2273,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
69549 new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); 71438 new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT);
69550 } 71439 }
69551 71440
@@ -69568,7 +71457,7 @@ index eae90af..51ca80b 100644
69568 pol = mpol_dup(vma_policy(vma)); 71457 pol = mpol_dup(vma_policy(vma));
69569 if (IS_ERR(pol)) { 71458 if (IS_ERR(pol)) {
69570 err = PTR_ERR(pol); 71459 err = PTR_ERR(pol);
69571@@ -1978,6 +2323,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, 71460@@ -1978,6 +2314,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
69572 else 71461 else
69573 err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); 71462 err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
69574 71463
@@ -69611,7 +71500,7 @@ index eae90af..51ca80b 100644
69611 /* Success. */ 71500 /* Success. */
69612 if (!err) 71501 if (!err)
69613 return 0; 71502 return 0;
69614@@ -1990,10 +2371,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, 71503@@ -1990,10 +2362,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
69615 removed_exe_file_vma(mm); 71504 removed_exe_file_vma(mm);
69616 fput(new->vm_file); 71505 fput(new->vm_file);
69617 } 71506 }
@@ -69631,7 +71520,7 @@ index eae90af..51ca80b 100644
69631 kmem_cache_free(vm_area_cachep, new); 71520 kmem_cache_free(vm_area_cachep, new);
69632 out_err: 71521 out_err:
69633 return err; 71522 return err;
69634@@ -2006,6 +2395,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, 71523@@ -2006,6 +2386,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
69635 int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, 71524 int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
69636 unsigned long addr, int new_below) 71525 unsigned long addr, int new_below)
69637 { 71526 {
@@ -69647,7 +71536,7 @@ index eae90af..51ca80b 100644
69647 if (mm->map_count >= sysctl_max_map_count) 71536 if (mm->map_count >= sysctl_max_map_count)
69648 return -ENOMEM; 71537 return -ENOMEM;
69649 71538
69650@@ -2017,11 +2415,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, 71539@@ -2017,11 +2406,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
69651 * work. This now handles partial unmappings. 71540 * work. This now handles partial unmappings.
69652 * Jeremy Fitzhardinge <jeremy@goop.org> 71541 * Jeremy Fitzhardinge <jeremy@goop.org>
69653 */ 71542 */
@@ -69678,7 +71567,7 @@ index eae90af..51ca80b 100644
69678 if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start) 71567 if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start)
69679 return -EINVAL; 71568 return -EINVAL;
69680 71569
69681@@ -2096,6 +2513,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) 71570@@ -2096,6 +2504,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
69682 /* Fix up all other VM information */ 71571 /* Fix up all other VM information */
69683 remove_vma_list(mm, vma); 71572 remove_vma_list(mm, vma);
69684 71573
@@ -69687,7 +71576,7 @@ index eae90af..51ca80b 100644
69687 return 0; 71576 return 0;
69688 } 71577 }
69689 71578
69690@@ -2108,22 +2527,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) 71579@@ -2108,22 +2518,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
69691 71580
69692 profile_munmap(addr); 71581 profile_munmap(addr);
69693 71582
@@ -69716,7 +71605,7 @@ index eae90af..51ca80b 100644
69716 /* 71605 /*
69717 * this is really a simplified "do_mmap". it only handles 71606 * this is really a simplified "do_mmap". it only handles
69718 * anonymous maps. eventually we may be able to do some 71607 * anonymous maps. eventually we may be able to do some
69719@@ -2137,6 +2552,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) 71608@@ -2137,6 +2543,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
69720 struct rb_node ** rb_link, * rb_parent; 71609 struct rb_node ** rb_link, * rb_parent;
69721 pgoff_t pgoff = addr >> PAGE_SHIFT; 71610 pgoff_t pgoff = addr >> PAGE_SHIFT;
69722 int error; 71611 int error;
@@ -69724,7 +71613,7 @@ index eae90af..51ca80b 100644
69724 71613
69725 len = PAGE_ALIGN(len); 71614 len = PAGE_ALIGN(len);
69726 if (!len) 71615 if (!len)
69727@@ -2148,16 +2564,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len) 71616@@ -2148,16 +2555,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
69728 71617
69729 flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; 71618 flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
69730 71619
@@ -69756,7 +71645,7 @@ index eae90af..51ca80b 100644
69756 locked += mm->locked_vm; 71645 locked += mm->locked_vm;
69757 lock_limit = rlimit(RLIMIT_MEMLOCK); 71646 lock_limit = rlimit(RLIMIT_MEMLOCK);
69758 lock_limit >>= PAGE_SHIFT; 71647 lock_limit >>= PAGE_SHIFT;
69759@@ -2174,22 +2604,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len) 71648@@ -2174,22 +2595,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
69760 /* 71649 /*
69761 * Clear old maps. this also does some error checking for us 71650 * Clear old maps. this also does some error checking for us
69762 */ 71651 */
@@ -69783,7 +71672,7 @@ index eae90af..51ca80b 100644
69783 return -ENOMEM; 71672 return -ENOMEM;
69784 71673
69785 /* Can we just expand an old private anonymous mapping? */ 71674 /* Can we just expand an old private anonymous mapping? */
69786@@ -2203,7 +2633,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) 71675@@ -2203,7 +2624,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
69787 */ 71676 */
69788 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); 71677 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
69789 if (!vma) { 71678 if (!vma) {
@@ -69792,7 +71681,7 @@ index eae90af..51ca80b 100644
69792 return -ENOMEM; 71681 return -ENOMEM;
69793 } 71682 }
69794 71683
69795@@ -2217,11 +2647,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) 71684@@ -2217,11 +2638,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
69796 vma_link(mm, vma, prev, rb_link, rb_parent); 71685 vma_link(mm, vma, prev, rb_link, rb_parent);
69797 out: 71686 out:
69798 perf_event_mmap(vma); 71687 perf_event_mmap(vma);
@@ -69807,7 +71696,7 @@ index eae90af..51ca80b 100644
69807 return addr; 71696 return addr;
69808 } 71697 }
69809 71698
69810@@ -2268,8 +2699,10 @@ void exit_mmap(struct mm_struct *mm) 71699@@ -2268,8 +2690,10 @@ void exit_mmap(struct mm_struct *mm)
69811 * Walk the list again, actually closing and freeing it, 71700 * Walk the list again, actually closing and freeing it,
69812 * with preemption enabled, without holding any MM locks. 71701 * with preemption enabled, without holding any MM locks.
69813 */ 71702 */
@@ -69819,7 +71708,7 @@ index eae90af..51ca80b 100644
69819 71708
69820 BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT); 71709 BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT);
69821 } 71710 }
69822@@ -2283,6 +2716,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) 71711@@ -2283,6 +2707,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
69823 struct vm_area_struct * __vma, * prev; 71712 struct vm_area_struct * __vma, * prev;
69824 struct rb_node ** rb_link, * rb_parent; 71713 struct rb_node ** rb_link, * rb_parent;
69825 71714
@@ -69833,7 +71722,7 @@ index eae90af..51ca80b 100644
69833 /* 71722 /*
69834 * The vm_pgoff of a purely anonymous vma should be irrelevant 71723 * The vm_pgoff of a purely anonymous vma should be irrelevant
69835 * until its first write fault, when page's anon_vma and index 71724 * until its first write fault, when page's anon_vma and index
69836@@ -2305,7 +2745,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) 71725@@ -2305,7 +2736,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
69837 if ((vma->vm_flags & VM_ACCOUNT) && 71726 if ((vma->vm_flags & VM_ACCOUNT) &&
69838 security_vm_enough_memory_mm(mm, vma_pages(vma))) 71727 security_vm_enough_memory_mm(mm, vma_pages(vma)))
69839 return -ENOMEM; 71728 return -ENOMEM;
@@ -69856,7 +71745,7 @@ index eae90af..51ca80b 100644
69856 return 0; 71745 return 0;
69857 } 71746 }
69858 71747
69859@@ -2323,6 +2778,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, 71748@@ -2323,6 +2769,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
69860 struct rb_node **rb_link, *rb_parent; 71749 struct rb_node **rb_link, *rb_parent;
69861 struct mempolicy *pol; 71750 struct mempolicy *pol;
69862 71751
@@ -69865,7 +71754,7 @@ index eae90af..51ca80b 100644
69865 /* 71754 /*
69866 * If anonymous vma has not yet been faulted, update new pgoff 71755 * If anonymous vma has not yet been faulted, update new pgoff
69867 * to match new location, to increase its chance of merging. 71756 * to match new location, to increase its chance of merging.
69868@@ -2373,6 +2830,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, 71757@@ -2373,6 +2821,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
69869 return NULL; 71758 return NULL;
69870 } 71759 }
69871 71760
@@ -69905,7 +71794,7 @@ index eae90af..51ca80b 100644
69905 /* 71794 /*
69906 * Return true if the calling process may expand its vm space by the passed 71795 * Return true if the calling process may expand its vm space by the passed
69907 * number of pages 71796 * number of pages
69908@@ -2383,7 +2873,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) 71797@@ -2383,7 +2864,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages)
69909 unsigned long lim; 71798 unsigned long lim;
69910 71799
69911 lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT; 71800 lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT;
@@ -69914,7 +71803,7 @@ index eae90af..51ca80b 100644
69914 if (cur + npages > lim) 71803 if (cur + npages > lim)
69915 return 0; 71804 return 0;
69916 return 1; 71805 return 1;
69917@@ -2454,6 +2944,22 @@ int install_special_mapping(struct mm_struct *mm, 71806@@ -2454,6 +2935,22 @@ int install_special_mapping(struct mm_struct *mm,
69918 vma->vm_start = addr; 71807 vma->vm_start = addr;
69919 vma->vm_end = addr + len; 71808 vma->vm_end = addr + len;
69920 71809
@@ -70313,7 +72202,7 @@ index 7fa41b4..6087460 100644
70313 return count; 72202 return count;
70314 } 72203 }
70315diff --git a/mm/nommu.c b/mm/nommu.c 72204diff --git a/mm/nommu.c b/mm/nommu.c
70316index b982290..7d73f53 100644 72205index f59e170..34e2a2b 100644
70317--- a/mm/nommu.c 72206--- a/mm/nommu.c
70318+++ b/mm/nommu.c 72207+++ b/mm/nommu.c
70319@@ -62,7 +62,6 @@ int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ 72208@@ -62,7 +62,6 @@ int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
@@ -70324,7 +72213,7 @@ index b982290..7d73f53 100644
70324 72213
70325 atomic_long_t mmap_pages_allocated; 72214 atomic_long_t mmap_pages_allocated;
70326 72215
70327@@ -825,15 +824,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) 72216@@ -827,15 +826,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
70328 EXPORT_SYMBOL(find_vma); 72217 EXPORT_SYMBOL(find_vma);
70329 72218
70330 /* 72219 /*
@@ -70340,7 +72229,7 @@ index b982290..7d73f53 100644
70340 * expand a stack to a given address 72229 * expand a stack to a given address
70341 * - not supported under NOMMU conditions 72230 * - not supported under NOMMU conditions
70342 */ 72231 */
70343@@ -1553,6 +1543,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, 72232@@ -1555,6 +1545,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
70344 72233
70345 /* most fields are the same, copy all, and then fixup */ 72234 /* most fields are the same, copy all, and then fixup */
70346 *new = *vma; 72235 *new = *vma;
@@ -72070,7 +73959,7 @@ index a5f4e57..910ee6d 100644
72070 73959
72071 /* Okay, we found ICMPv6 header */ 73960 /* Okay, we found ICMPv6 header */
72072diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c 73961diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
72073index 5864cc4..121f3a3 100644 73962index 5864cc4..121f3a30 100644
72074--- a/net/bridge/netfilter/ebtables.c 73963--- a/net/bridge/netfilter/ebtables.c
72075+++ b/net/bridge/netfilter/ebtables.c 73964+++ b/net/bridge/netfilter/ebtables.c
72076@@ -1513,7 +1513,7 @@ static int do_ebt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len) 73965@@ -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
72416 74305
72417 return err; 74306 return err;
72418diff --git a/net/core/dev.c b/net/core/dev.c 74307diff --git a/net/core/dev.c b/net/core/dev.c
72419index 5a13edf..a6f2bd2 100644 74308index c56cacf..b28e35f 100644
72420--- a/net/core/dev.c 74309--- a/net/core/dev.c
72421+++ b/net/core/dev.c 74310+++ b/net/core/dev.c
72422@@ -1139,10 +1139,14 @@ void dev_load(struct net *net, const char *name) 74311@@ -1139,10 +1139,14 @@ void dev_load(struct net *net, const char *name)
@@ -72488,7 +74377,7 @@ index 5a13edf..a6f2bd2 100644
72488 kfree_skb(skb); 74377 kfree_skb(skb);
72489 /* Jamal, now you will not able to escape explaining 74378 /* Jamal, now you will not able to escape explaining
72490 * me how you were going to use this. :-) 74379 * me how you were going to use this. :-)
72491@@ -3891,7 +3895,7 @@ void netif_napi_del(struct napi_struct *napi) 74380@@ -3897,7 +3901,7 @@ void netif_napi_del(struct napi_struct *napi)
72492 } 74381 }
72493 EXPORT_SYMBOL(netif_napi_del); 74382 EXPORT_SYMBOL(netif_napi_del);
72494 74383
@@ -72497,7 +74386,7 @@ index 5a13edf..a6f2bd2 100644
72497 { 74386 {
72498 struct softnet_data *sd = &__get_cpu_var(softnet_data); 74387 struct softnet_data *sd = &__get_cpu_var(softnet_data);
72499 unsigned long time_limit = jiffies + 2; 74388 unsigned long time_limit = jiffies + 2;
72500@@ -5949,7 +5953,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, 74389@@ -5955,7 +5959,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
72501 } else { 74390 } else {
72502 netdev_stats_to_stats64(storage, &dev->stats); 74391 netdev_stats_to_stats64(storage, &dev->stats);
72503 } 74392 }
@@ -73077,7 +74966,7 @@ index 94cdbc5..0cb0063 100644
73077 ts = peer->tcp_ts; 74966 ts = peer->tcp_ts;
73078 tsage = get_seconds() - peer->tcp_ts_stamp; 74967 tsage = get_seconds() - peer->tcp_ts_stamp;
73079diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c 74968diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
73080index c89e354..8bd55c8 100644 74969index eb90aa8..22bf114 100644
73081--- a/net/ipv4/tcp_ipv4.c 74970--- a/net/ipv4/tcp_ipv4.c
73082+++ b/net/ipv4/tcp_ipv4.c 74971+++ b/net/ipv4/tcp_ipv4.c
73083@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly; 74972@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
@@ -73090,7 +74979,7 @@ index c89e354..8bd55c8 100644
73090 74979
73091 #ifdef CONFIG_TCP_MD5SIG 74980 #ifdef CONFIG_TCP_MD5SIG
73092 static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk, 74981 static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk,
73093@@ -1627,6 +1630,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) 74982@@ -1632,6 +1635,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
73094 return 0; 74983 return 0;
73095 74984
73096 reset: 74985 reset:
@@ -73100,7 +74989,7 @@ index c89e354..8bd55c8 100644
73100 tcp_v4_send_reset(rsk, skb); 74989 tcp_v4_send_reset(rsk, skb);
73101 discard: 74990 discard:
73102 kfree_skb(skb); 74991 kfree_skb(skb);
73103@@ -1689,12 +1695,19 @@ int tcp_v4_rcv(struct sk_buff *skb) 74992@@ -1694,12 +1700,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
73104 TCP_SKB_CB(skb)->sacked = 0; 74993 TCP_SKB_CB(skb)->sacked = 0;
73105 74994
73106 sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest); 74995 sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -73123,7 +75012,7 @@ index c89e354..8bd55c8 100644
73123 75012
73124 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { 75013 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) {
73125 NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP); 75014 NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
73126@@ -1744,6 +1757,10 @@ no_tcp_socket: 75015@@ -1749,6 +1762,10 @@ no_tcp_socket:
73127 bad_packet: 75016 bad_packet:
73128 TCP_INC_STATS_BH(net, TCP_MIB_INERRS); 75017 TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
73129 } else { 75018 } else {
@@ -73134,7 +75023,7 @@ index c89e354..8bd55c8 100644
73134 tcp_v4_send_reset(NULL, skb); 75023 tcp_v4_send_reset(NULL, skb);
73135 } 75024 }
73136 75025
73137@@ -2404,7 +2421,11 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req, 75026@@ -2409,7 +2426,11 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
73138 0, /* non standard timer */ 75027 0, /* non standard timer */
73139 0, /* open_requests have no inode */ 75028 0, /* open_requests have no inode */
73140 atomic_read(&sk->sk_refcnt), 75029 atomic_read(&sk->sk_refcnt),
@@ -73146,7 +75035,7 @@ index c89e354..8bd55c8 100644
73146 len); 75035 len);
73147 } 75036 }
73148 75037
73149@@ -2454,7 +2475,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len) 75038@@ -2459,7 +2480,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
73150 sock_i_uid(sk), 75039 sock_i_uid(sk),
73151 icsk->icsk_probes_out, 75040 icsk->icsk_probes_out,
73152 sock_i_ino(sk), 75041 sock_i_ino(sk),
@@ -73160,7 +75049,7 @@ index c89e354..8bd55c8 100644
73160 jiffies_to_clock_t(icsk->icsk_rto), 75049 jiffies_to_clock_t(icsk->icsk_rto),
73161 jiffies_to_clock_t(icsk->icsk_ack.ato), 75050 jiffies_to_clock_t(icsk->icsk_ack.ato),
73162 (icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong, 75051 (icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
73163@@ -2482,7 +2508,13 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw, 75052@@ -2487,7 +2513,13 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
73164 " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n", 75053 " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n",
73165 i, src, srcp, dest, destp, tw->tw_substate, 0, 0, 75054 i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
73166 3, jiffies_to_clock_t(ttd), 0, 0, 0, 0, 75055 3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
@@ -73908,7 +75797,7 @@ index 30d7355..e260095 100644
73908 napi_disable(&local->napi); 75797 napi_disable(&local->napi);
73909 ieee80211_clear_tx_pending(local); 75798 ieee80211_clear_tx_pending(local);
73910diff --git a/net/mac80211/main.c b/net/mac80211/main.c 75799diff --git a/net/mac80211/main.c b/net/mac80211/main.c
73911index a7536fd..4039cc0 100644 75800index 7d9b21d..0687004 100644
73912--- a/net/mac80211/main.c 75801--- a/net/mac80211/main.c
73913+++ b/net/mac80211/main.c 75802+++ b/net/mac80211/main.c
73914@@ -163,7 +163,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed) 75803@@ -163,7 +163,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
@@ -73952,7 +75841,7 @@ index 9ee7164..56c5061 100644
73952 75841
73953 suspend: 75842 suspend:
73954diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c 75843diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
73955index 5a5a776..9600b11 100644 75844index 7d84b87..6a69cd9 100644
73956--- a/net/mac80211/rate.c 75845--- a/net/mac80211/rate.c
73957+++ b/net/mac80211/rate.c 75846+++ b/net/mac80211/rate.c
73958@@ -401,7 +401,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local, 75847@@ -401,7 +401,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
@@ -74055,7 +75944,7 @@ index 29fa5ba..8debc79 100644
74055 75944
74056 if (!todrop_rate[i]) return 0; 75945 if (!todrop_rate[i]) return 0;
74057diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c 75946diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
74058index 093cc32..9209ae1 100644 75947index 6dc7d7d..e45913a 100644
74059--- a/net/netfilter/ipvs/ip_vs_core.c 75948--- a/net/netfilter/ipvs/ip_vs_core.c
74060+++ b/net/netfilter/ipvs/ip_vs_core.c 75949+++ b/net/netfilter/ipvs/ip_vs_core.c
74061@@ -562,7 +562,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb, 75950@@ -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
75619 } 77508 }
75620 77509
75621diff --git a/scripts/Makefile.build b/scripts/Makefile.build 77510diff --git a/scripts/Makefile.build b/scripts/Makefile.build
75622index d2b366c..51ff91e 100644 77511index d2b366c..51ff91ebc 100644
75623--- a/scripts/Makefile.build 77512--- a/scripts/Makefile.build
75624+++ b/scripts/Makefile.build 77513+++ b/scripts/Makefile.build
75625@@ -109,7 +109,7 @@ endif 77514@@ -109,7 +109,7 @@ endif
@@ -75934,7 +77823,7 @@ index 5c11312..72742b5 100644
75934 write_hex_cnt = 0; 77823 write_hex_cnt = 0;
75935 for (i = 0; i < logo_clutsize; i++) { 77824 for (i = 0; i < logo_clutsize; i++) {
75936diff --git a/security/Kconfig b/security/Kconfig 77825diff --git a/security/Kconfig b/security/Kconfig
75937index 51bd5a0..eeabc9f 100644 77826index 51bd5a0..3a4ebd0 100644
75938--- a/security/Kconfig 77827--- a/security/Kconfig
75939+++ b/security/Kconfig 77828+++ b/security/Kconfig
75940@@ -4,6 +4,627 @@ 77829@@ -4,6 +4,627 @@
@@ -76512,7 +78401,7 @@ index 51bd5a0..eeabc9f 100644
76512+ 78401+
76513+config PAX_REFCOUNT 78402+config PAX_REFCOUNT
76514+ bool "Prevent various kernel object reference counter overflows" 78403+ bool "Prevent various kernel object reference counter overflows"
76515+ depends on GRKERNSEC && (X86 || SPARC64) 78404+ depends on GRKERNSEC && ((ARM && (CPU_32v6 || CPU_32v6K || CPU_32v7)) || SPARC64 || X86)
76516+ help 78405+ help
76517+ By saying Y here the kernel will detect and prevent overflowing 78406+ By saying Y here the kernel will detect and prevent overflowing
76518+ various (but not all) kinds of object reference counters. Such 78407+ various (but not all) kinds of object reference counters. Such
@@ -77355,10 +79244,10 @@ index 09d4648..cf234c7 100644
77355 list_add(&s->list, &cs4297a_devs); 79244 list_add(&s->list, &cs4297a_devs);
77356 79245
77357diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h 79246diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
77358index 5644711..a2aebc1 100644 79247index 71f6744..d8aeae7 100644
77359--- a/sound/pci/hda/hda_codec.h 79248--- a/sound/pci/hda/hda_codec.h
77360+++ b/sound/pci/hda/hda_codec.h 79249+++ b/sound/pci/hda/hda_codec.h
77361@@ -611,7 +611,7 @@ struct hda_bus_ops { 79250@@ -614,7 +614,7 @@ struct hda_bus_ops {
77362 /* notify power-up/down from codec to controller */ 79251 /* notify power-up/down from codec to controller */
77363 void (*pm_notify)(struct hda_bus *bus); 79252 void (*pm_notify)(struct hda_bus *bus);
77364 #endif 79253 #endif
@@ -77367,7 +79256,7 @@ index 5644711..a2aebc1 100644
77367 79256
77368 /* template to pass to the bus constructor */ 79257 /* template to pass to the bus constructor */
77369 struct hda_bus_template { 79258 struct hda_bus_template {
77370@@ -713,6 +713,7 @@ struct hda_codec_ops { 79259@@ -716,6 +716,7 @@ struct hda_codec_ops {
77371 #endif 79260 #endif
77372 void (*reboot_notify)(struct hda_codec *codec); 79261 void (*reboot_notify)(struct hda_codec *codec);
77373 }; 79262 };
@@ -77375,7 +79264,7 @@ index 5644711..a2aebc1 100644
77375 79264
77376 /* record for amp information cache */ 79265 /* record for amp information cache */
77377 struct hda_cache_head { 79266 struct hda_cache_head {
77378@@ -743,7 +744,7 @@ struct hda_pcm_ops { 79267@@ -746,7 +747,7 @@ struct hda_pcm_ops {
77379 struct snd_pcm_substream *substream); 79268 struct snd_pcm_substream *substream);
77380 int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec, 79269 int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec,
77381 struct snd_pcm_substream *substream); 79270 struct snd_pcm_substream *substream);
@@ -77384,7 +79273,7 @@ index 5644711..a2aebc1 100644
77384 79273
77385 /* PCM information for each substream */ 79274 /* PCM information for each substream */
77386 struct hda_pcm_stream { 79275 struct hda_pcm_stream {
77387@@ -801,7 +802,7 @@ struct hda_codec { 79276@@ -804,7 +805,7 @@ struct hda_codec {
77388 const char *modelname; /* model name for preset */ 79277 const char *modelname; /* model name for preset */
77389 79278
77390 /* set by patch */ 79279 /* set by patch */
@@ -77495,23 +79384,24 @@ index a39edcc..1014050 100644
77495 }; 79384 };
77496diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile 79385diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
77497new file mode 100644 79386new file mode 100644
77498index 0000000..b044b80 79387index 0000000..894c8bf
77499--- /dev/null 79388--- /dev/null
77500+++ b/tools/gcc/Makefile 79389+++ b/tools/gcc/Makefile
77501@@ -0,0 +1,21 @@ 79390@@ -0,0 +1,23 @@
77502+#CC := gcc 79391+#CC := gcc
77503+#PLUGIN_SOURCE_FILES := pax_plugin.c 79392+#PLUGIN_SOURCE_FILES := pax_plugin.c
77504+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES)) 79393+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
77505+GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin) 79394+GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin)
77506+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W 79395+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W -std=gnu99
77507+ 79396+
77508+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include 79397+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb
77509+ 79398+
77510+hostlibs-y := constify_plugin.so 79399+hostlibs-y := constify_plugin.so
77511+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so 79400+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
77512+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so 79401+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
77513+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so 79402+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
77514+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so 79403+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
79404+hostlibs-y += colorize_plugin.so
77515+ 79405+
77516+always := $(hostlibs-y) 79406+always := $(hostlibs-y)
77517+ 79407+
@@ -77520,6 +79410,7 @@ index 0000000..b044b80
77520+kallocstat_plugin-objs := kallocstat_plugin.o 79410+kallocstat_plugin-objs := kallocstat_plugin.o
77521+kernexec_plugin-objs := kernexec_plugin.o 79411+kernexec_plugin-objs := kernexec_plugin.o
77522+checker_plugin-objs := checker_plugin.o 79412+checker_plugin-objs := checker_plugin.o
79413+colorize_plugin-objs := colorize_plugin.o
77523diff --git a/tools/gcc/checker_plugin.c b/tools/gcc/checker_plugin.c 79414diff --git a/tools/gcc/checker_plugin.c b/tools/gcc/checker_plugin.c
77524new file mode 100644 79415new file mode 100644
77525index 0000000..d41b5af 79416index 0000000..d41b5af
@@ -77697,6 +79588,159 @@ index 0000000..d41b5af
77697+ 79588+
77698+ return 0; 79589+ return 0;
77699+} 79590+}
79591diff --git a/tools/gcc/colorize_plugin.c b/tools/gcc/colorize_plugin.c
79592new file mode 100644
79593index 0000000..ee950d0
79594--- /dev/null
79595+++ b/tools/gcc/colorize_plugin.c
79596@@ -0,0 +1,147 @@
79597+/*
79598+ * Copyright 2012 by PaX Team <pageexec@freemail.hu>
79599+ * Licensed under the GPL v2
79600+ *
79601+ * Note: the choice of the license means that the compilation process is
79602+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3,
79603+ * but for the kernel it doesn't matter since it doesn't link against
79604+ * any of the gcc libraries
79605+ *
79606+ * gcc plugin to colorize diagnostic output
79607+ *
79608+ */
79609+
79610+#include "gcc-plugin.h"
79611+#include "config.h"
79612+#include "system.h"
79613+#include "coretypes.h"
79614+#include "tree.h"
79615+#include "tree-pass.h"
79616+#include "flags.h"
79617+#include "intl.h"
79618+#include "toplev.h"
79619+#include "plugin.h"
79620+#include "diagnostic.h"
79621+#include "plugin-version.h"
79622+#include "tm.h"
79623+
79624+int plugin_is_GPL_compatible;
79625+
79626+static struct plugin_info colorize_plugin_info = {
79627+ .version = "201203092200",
79628+};
79629+
79630+#define GREEN "\033[32m\033[2m"
79631+#define LIGHTGREEN "\033[32m\033[1m"
79632+#define YELLOW "\033[33m\033[2m"
79633+#define LIGHTYELLOW "\033[33m\033[1m"
79634+#define RED "\033[31m\033[2m"
79635+#define LIGHTRED "\033[31m\033[1m"
79636+#define BLUE "\033[34m\033[2m"
79637+#define LIGHTBLUE "\033[34m\033[1m"
79638+#define BRIGHT "\033[m\033[1m"
79639+#define NORMAL "\033[m"
79640+
79641+static diagnostic_starter_fn old_starter;
79642+static diagnostic_finalizer_fn old_finalizer;
79643+
79644+static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
79645+{
79646+ const char *color;
79647+ char *newprefix;
79648+
79649+ switch (diagnostic->kind) {
79650+ case DK_NOTE:
79651+ color = LIGHTBLUE;
79652+ break;
79653+
79654+ case DK_PEDWARN:
79655+ case DK_WARNING:
79656+ color = LIGHTYELLOW;
79657+ break;
79658+
79659+ case DK_ERROR:
79660+ case DK_FATAL:
79661+ case DK_ICE:
79662+ case DK_PERMERROR:
79663+ case DK_SORRY:
79664+ color = LIGHTRED;
79665+ break;
79666+
79667+ default:
79668+ color = NORMAL;
79669+ }
79670+
79671+ old_starter(context, diagnostic);
79672+ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix))
79673+ return;
79674+ pp_destroy_prefix(context->printer);
79675+ pp_set_prefix(context->printer, newprefix);
79676+}
79677+
79678+static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
79679+{
79680+ old_finalizer(context, diagnostic);
79681+}
79682+
79683+static void colorize_arm(void)
79684+{
79685+ old_starter = diagnostic_starter(global_dc);
79686+ old_finalizer = diagnostic_finalizer(global_dc);
79687+
79688+ diagnostic_starter(global_dc) = start_colorize;
79689+ diagnostic_finalizer(global_dc) = finalize_colorize;
79690+}
79691+
79692+static unsigned int execute_colorize_rearm(void)
79693+{
79694+ if (diagnostic_starter(global_dc) == start_colorize)
79695+ return 0;
79696+
79697+ colorize_arm();
79698+ return 0;
79699+}
79700+
79701+struct simple_ipa_opt_pass pass_ipa_colorize_rearm = {
79702+ .pass = {
79703+ .type = SIMPLE_IPA_PASS,
79704+ .name = "colorize_rearm",
79705+ .gate = NULL,
79706+ .execute = execute_colorize_rearm,
79707+ .sub = NULL,
79708+ .next = NULL,
79709+ .static_pass_number = 0,
79710+ .tv_id = TV_NONE,
79711+ .properties_required = 0,
79712+ .properties_provided = 0,
79713+ .properties_destroyed = 0,
79714+ .todo_flags_start = 0,
79715+ .todo_flags_finish = 0
79716+ }
79717+};
79718+
79719+static void colorize_start_unit(void *gcc_data, void *user_data)
79720+{
79721+ colorize_arm();
79722+}
79723+
79724+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
79725+{
79726+ const char * const plugin_name = plugin_info->base_name;
79727+ struct register_pass_info colorize_rearm_pass_info = {
79728+ .pass = &pass_ipa_colorize_rearm.pass,
79729+ .reference_pass_name = "*free_lang_data",
79730+ .ref_pass_instance_number = 0,
79731+ .pos_op = PASS_POS_INSERT_AFTER
79732+ };
79733+
79734+ if (!plugin_default_version_check(version, &gcc_version)) {
79735+ error(G_("incompatible gcc/plugin versions"));
79736+ return 1;
79737+ }
79738+
79739+ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info);
79740+ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL);
79741+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info);
79742+ return 0;
79743+}
77700diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c 79744diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c
77701new file mode 100644 79745new file mode 100644
77702index 0000000..704a564 79746index 0000000..704a564
@@ -78181,10 +80225,10 @@ index 0000000..a5eabce
78181+} 80225+}
78182diff --git a/tools/gcc/kernexec_plugin.c b/tools/gcc/kernexec_plugin.c 80226diff --git a/tools/gcc/kernexec_plugin.c b/tools/gcc/kernexec_plugin.c
78183new file mode 100644 80227new file mode 100644
78184index 0000000..51f747e 80228index 0000000..008f159
78185--- /dev/null 80229--- /dev/null
78186+++ b/tools/gcc/kernexec_plugin.c 80230+++ b/tools/gcc/kernexec_plugin.c
78187@@ -0,0 +1,348 @@ 80231@@ -0,0 +1,427 @@
78188+/* 80232+/*
78189+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 80233+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
78190+ * Licensed under the GPL v2 80234+ * Licensed under the GPL v2
@@ -78232,13 +80276,32 @@ index 0000000..51f747e
78232+ .help = "method=[bts|or]\tinstrumentation method\n" 80276+ .help = "method=[bts|or]\tinstrumentation method\n"
78233+}; 80277+};
78234+ 80278+
80279+static unsigned int execute_kernexec_reload(void);
78235+static unsigned int execute_kernexec_fptr(void); 80280+static unsigned int execute_kernexec_fptr(void);
78236+static unsigned int execute_kernexec_retaddr(void); 80281+static unsigned int execute_kernexec_retaddr(void);
78237+static bool kernexec_cmodel_check(void); 80282+static bool kernexec_cmodel_check(void);
78238+ 80283+
78239+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator); 80284+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *);
78240+static void (*kernexec_instrument_retaddr)(rtx); 80285+static void (*kernexec_instrument_retaddr)(rtx);
78241+ 80286+
80287+static struct gimple_opt_pass kernexec_reload_pass = {
80288+ .pass = {
80289+ .type = GIMPLE_PASS,
80290+ .name = "kernexec_reload",
80291+ .gate = kernexec_cmodel_check,
80292+ .execute = execute_kernexec_reload,
80293+ .sub = NULL,
80294+ .next = NULL,
80295+ .static_pass_number = 0,
80296+ .tv_id = TV_NONE,
80297+ .properties_required = 0,
80298+ .properties_provided = 0,
80299+ .properties_destroyed = 0,
80300+ .todo_flags_start = 0,
80301+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi
80302+ }
80303+};
80304+
78242+static struct gimple_opt_pass kernexec_fptr_pass = { 80305+static struct gimple_opt_pass kernexec_fptr_pass = {
78243+ .pass = { 80306+ .pass = {
78244+ .type = GIMPLE_PASS, 80307+ .type = GIMPLE_PASS,
@@ -78294,15 +80357,66 @@ index 0000000..51f747e
78294+} 80357+}
78295+ 80358+
78296+/* 80359+/*
80360+ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered
80361+ */
80362+static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi)
80363+{
80364+ gimple asm_movabs_stmt;
80365+
80366+ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : );
80367+ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL);
80368+ gimple_asm_set_volatile(asm_movabs_stmt, true);
80369+ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING);
80370+ update_stmt(asm_movabs_stmt);
80371+}
80372+
80373+/*
80374+ * find all asm() stmts that clobber r10 and add a reload of r10
80375+ */
80376+static unsigned int execute_kernexec_reload(void)
80377+{
80378+ basic_block bb;
80379+
80380+ // 1. loop through BBs and GIMPLE statements
80381+ FOR_EACH_BB(bb) {
80382+ gimple_stmt_iterator gsi;
80383+
80384+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
80385+ // gimple match: __asm__ ("" : : : "r10");
80386+ gimple asm_stmt;
80387+ size_t nclobbers;
80388+
80389+ // is it an asm ...
80390+ asm_stmt = gsi_stmt(gsi);
80391+ if (gimple_code(asm_stmt) != GIMPLE_ASM)
80392+ continue;
80393+
80394+ // ... clobbering r10
80395+ nclobbers = gimple_asm_nclobbers(asm_stmt);
80396+ while (nclobbers--) {
80397+ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers);
80398+ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10"))
80399+ continue;
80400+ kernexec_reload_fptr_mask(&gsi);
80401+//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO);
80402+ break;
80403+ }
80404+ }
80405+ }
80406+
80407+ return 0;
80408+}
80409+
80410+/*
78297+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce 80411+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce
78298+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference 80412+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference
78299+ */ 80413+ */
78300+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator gsi) 80414+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi)
78301+{ 80415+{
78302+ gimple assign_intptr, assign_new_fptr, call_stmt; 80416+ gimple assign_intptr, assign_new_fptr, call_stmt;
78303+ tree intptr, old_fptr, new_fptr, kernexec_mask; 80417+ tree intptr, old_fptr, new_fptr, kernexec_mask;
78304+ 80418+
78305+ call_stmt = gsi_stmt(gsi); 80419+ call_stmt = gsi_stmt(*gsi);
78306+ old_fptr = gimple_call_fn(call_stmt); 80420+ old_fptr = gimple_call_fn(call_stmt);
78307+ 80421+
78308+ // create temporary unsigned long variable used for bitops and cast fptr to it 80422+ // create temporary unsigned long variable used for bitops and cast fptr to it
@@ -78310,14 +80424,14 @@ index 0000000..51f747e
78310+ add_referenced_var(intptr); 80424+ add_referenced_var(intptr);
78311+ mark_sym_for_renaming(intptr); 80425+ mark_sym_for_renaming(intptr);
78312+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); 80426+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr));
78313+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT); 80427+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
78314+ update_stmt(assign_intptr); 80428+ update_stmt(assign_intptr);
78315+ 80429+
78316+ // apply logical or to temporary unsigned long and bitmask 80430+ // apply logical or to temporary unsigned long and bitmask
78317+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); 80431+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL);
78318+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); 80432+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL);
78319+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); 80433+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask));
78320+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT); 80434+ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
78321+ update_stmt(assign_intptr); 80435+ update_stmt(assign_intptr);
78322+ 80436+
78323+ // cast temporary unsigned long back to a temporary fptr variable 80437+ // cast temporary unsigned long back to a temporary fptr variable
@@ -78325,7 +80439,7 @@ index 0000000..51f747e
78325+ add_referenced_var(new_fptr); 80439+ add_referenced_var(new_fptr);
78326+ mark_sym_for_renaming(new_fptr); 80440+ mark_sym_for_renaming(new_fptr);
78327+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); 80441+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr));
78328+ gsi_insert_before(&gsi, assign_new_fptr, GSI_SAME_STMT); 80442+ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT);
78329+ update_stmt(assign_new_fptr); 80443+ update_stmt(assign_new_fptr);
78330+ 80444+
78331+ // replace call stmt fn with the new fptr 80445+ // replace call stmt fn with the new fptr
@@ -78333,14 +80447,14 @@ index 0000000..51f747e
78333+ update_stmt(call_stmt); 80447+ update_stmt(call_stmt);
78334+} 80448+}
78335+ 80449+
78336+static void kernexec_instrument_fptr_or(gimple_stmt_iterator gsi) 80450+static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi)
78337+{ 80451+{
78338+ gimple asm_or_stmt, call_stmt; 80452+ gimple asm_or_stmt, call_stmt;
78339+ tree old_fptr, new_fptr, input, output; 80453+ tree old_fptr, new_fptr, input, output;
78340+ VEC(tree, gc) *inputs = NULL; 80454+ VEC(tree, gc) *inputs = NULL;
78341+ VEC(tree, gc) *outputs = NULL; 80455+ VEC(tree, gc) *outputs = NULL;
78342+ 80456+
78343+ call_stmt = gsi_stmt(gsi); 80457+ call_stmt = gsi_stmt(*gsi);
78344+ old_fptr = gimple_call_fn(call_stmt); 80458+ old_fptr = gimple_call_fn(call_stmt);
78345+ 80459+
78346+ // create temporary fptr variable 80460+ // create temporary fptr variable
@@ -78357,7 +80471,7 @@ index 0000000..51f747e
78357+ VEC_safe_push(tree, gc, outputs, output); 80471+ VEC_safe_push(tree, gc, outputs, output);
78358+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL); 80472+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL);
78359+ gimple_asm_set_volatile(asm_or_stmt, true); 80473+ gimple_asm_set_volatile(asm_or_stmt, true);
78360+ gsi_insert_before(&gsi, asm_or_stmt, GSI_SAME_STMT); 80474+ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT);
78361+ update_stmt(asm_or_stmt); 80475+ update_stmt(asm_or_stmt);
78362+ 80476+
78363+ // replace call stmt fn with the new fptr 80477+ // replace call stmt fn with the new fptr
@@ -78371,10 +80485,11 @@ index 0000000..51f747e
78371+static unsigned int execute_kernexec_fptr(void) 80485+static unsigned int execute_kernexec_fptr(void)
78372+{ 80486+{
78373+ basic_block bb; 80487+ basic_block bb;
78374+ gimple_stmt_iterator gsi;
78375+ 80488+
78376+ // 1. loop through BBs and GIMPLE statements 80489+ // 1. loop through BBs and GIMPLE statements
78377+ FOR_EACH_BB(bb) { 80490+ FOR_EACH_BB(bb) {
80491+ gimple_stmt_iterator gsi;
80492+
78378+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { 80493+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
78379+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D)); 80494+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D));
78380+ tree fn; 80495+ tree fn;
@@ -78401,7 +80516,7 @@ index 0000000..51f747e
78401+ if (TREE_CODE(fn) != FUNCTION_TYPE) 80516+ if (TREE_CODE(fn) != FUNCTION_TYPE)
78402+ continue; 80517+ continue;
78403+ 80518+
78404+ kernexec_instrument_fptr(gsi); 80519+ kernexec_instrument_fptr(&gsi);
78405+ 80520+
78406+//debug_tree(gimple_call_fn(call_stmt)); 80521+//debug_tree(gimple_call_fn(call_stmt));
78407+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO); 80522+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO);
@@ -78483,6 +80598,12 @@ index 0000000..51f747e
78483+ const int argc = plugin_info->argc; 80598+ const int argc = plugin_info->argc;
78484+ const struct plugin_argument * const argv = plugin_info->argv; 80599+ const struct plugin_argument * const argv = plugin_info->argv;
78485+ int i; 80600+ int i;
80601+ struct register_pass_info kernexec_reload_pass_info = {
80602+ .pass = &kernexec_reload_pass.pass,
80603+ .reference_pass_name = "ssa",
80604+ .ref_pass_instance_number = 0,
80605+ .pos_op = PASS_POS_INSERT_AFTER
80606+ };
78486+ struct register_pass_info kernexec_fptr_pass_info = { 80607+ struct register_pass_info kernexec_fptr_pass_info = {
78487+ .pass = &kernexec_fptr_pass.pass, 80608+ .pass = &kernexec_fptr_pass.pass,
78488+ .reference_pass_name = "ssa", 80609+ .reference_pass_name = "ssa",
@@ -78528,6 +80649,8 @@ index 0000000..51f747e
78528+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr) 80649+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr)
78529+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name); 80650+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name);
78530+ 80651+
80652+ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or)
80653+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info);
78531+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); 80654+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info);
78532+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info); 80655+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info);
78533+ 80656+
@@ -78535,10 +80658,10 @@ index 0000000..51f747e
78535+} 80658+}
78536diff --git a/tools/gcc/stackleak_plugin.c b/tools/gcc/stackleak_plugin.c 80659diff --git a/tools/gcc/stackleak_plugin.c b/tools/gcc/stackleak_plugin.c
78537new file mode 100644 80660new file mode 100644
78538index 0000000..d44f37c 80661index 0000000..4e82b16
78539--- /dev/null 80662--- /dev/null
78540+++ b/tools/gcc/stackleak_plugin.c 80663+++ b/tools/gcc/stackleak_plugin.c
78541@@ -0,0 +1,291 @@ 80664@@ -0,0 +1,311 @@
78542+/* 80665+/*
78543+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 80666+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
78544+ * Licensed under the GPL v2 80667+ * Licensed under the GPL v2
@@ -78588,7 +80711,7 @@ index 0000000..d44f37c
78588+static bool init_locals; 80711+static bool init_locals;
78589+ 80712+
78590+static struct plugin_info stackleak_plugin_info = { 80713+static struct plugin_info stackleak_plugin_info = {
78591+ .version = "201111150100", 80714+ .version = "201203140940",
78592+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n" 80715+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n"
78593+// "initialize-locals\t\tforcibly initialize all stack frames\n" 80716+// "initialize-locals\t\tforcibly initialize all stack frames\n"
78594+}; 80717+};
@@ -78638,31 +80761,33 @@ index 0000000..d44f37c
78638+ return track_frame_size >= 0; 80761+ return track_frame_size >= 0;
78639+} 80762+}
78640+ 80763+
78641+static void stackleak_check_alloca(gimple_stmt_iterator gsi) 80764+static void stackleak_check_alloca(gimple_stmt_iterator *gsi)
78642+{ 80765+{
78643+ gimple check_alloca; 80766+ gimple check_alloca;
78644+ tree fndecl, fntype, alloca_size; 80767+ tree fntype, fndecl, alloca_size;
78645+ 80768+
78646+ // insert call to void pax_check_alloca(unsigned long size)
78647+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE); 80769+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE);
78648+ fndecl = build_fn_decl(check_function, fntype); 80770+ fndecl = build_fn_decl(check_function, fntype);
78649+ DECL_ASSEMBLER_NAME(fndecl); // for LTO 80771+ DECL_ASSEMBLER_NAME(fndecl); // for LTO
78650+ alloca_size = gimple_call_arg(gsi_stmt(gsi), 0); 80772+
80773+ // insert call to void pax_check_alloca(unsigned long size)
80774+ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0);
78651+ check_alloca = gimple_build_call(fndecl, 1, alloca_size); 80775+ check_alloca = gimple_build_call(fndecl, 1, alloca_size);
78652+ gsi_insert_before(&gsi, check_alloca, GSI_CONTINUE_LINKING); 80776+ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT);
78653+} 80777+}
78654+ 80778+
78655+static void stackleak_add_instrumentation(gimple_stmt_iterator gsi) 80779+static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi)
78656+{ 80780+{
78657+ gimple track_stack; 80781+ gimple track_stack;
78658+ tree fndecl, fntype; 80782+ tree fntype, fndecl;
78659+ 80783+
78660+ // insert call to void pax_track_stack(void)
78661+ fntype = build_function_type_list(void_type_node, NULL_TREE); 80784+ fntype = build_function_type_list(void_type_node, NULL_TREE);
78662+ fndecl = build_fn_decl(track_function, fntype); 80785+ fndecl = build_fn_decl(track_function, fntype);
78663+ DECL_ASSEMBLER_NAME(fndecl); // for LTO 80786+ DECL_ASSEMBLER_NAME(fndecl); // for LTO
80787+
80788+ // insert call to void pax_track_stack(void)
78664+ track_stack = gimple_build_call(fndecl, 0); 80789+ track_stack = gimple_build_call(fndecl, 0);
78665+ gsi_insert_after(&gsi, track_stack, GSI_CONTINUE_LINKING); 80790+ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING);
78666+} 80791+}
78667+ 80792+
78668+#if BUILDING_GCC_VERSION == 4005 80793+#if BUILDING_GCC_VERSION == 4005
@@ -78698,34 +80823,52 @@ index 0000000..d44f37c
78698+static unsigned int execute_stackleak_tree_instrument(void) 80823+static unsigned int execute_stackleak_tree_instrument(void)
78699+{ 80824+{
78700+ basic_block bb, entry_bb; 80825+ basic_block bb, entry_bb;
78701+ bool prologue_instrumented = false; 80826+ bool prologue_instrumented = false, is_leaf = true;
78702+ 80827+
78703+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb; 80828+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb;
78704+ 80829+
78705+ // 1. loop through BBs and GIMPLE statements 80830+ // 1. loop through BBs and GIMPLE statements
78706+ FOR_EACH_BB(bb) { 80831+ FOR_EACH_BB(bb) {
78707+ gimple_stmt_iterator gsi; 80832+ gimple_stmt_iterator gsi;
80833+
78708+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { 80834+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
80835+ gimple stmt;
80836+
80837+ stmt = gsi_stmt(gsi);
80838+
80839+ if (is_gimple_call(stmt))
80840+ is_leaf = false;
80841+
78709+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450> 80842+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450>
78710+ if (!is_alloca(gsi_stmt(gsi))) 80843+ if (!is_alloca(stmt))
78711+ continue; 80844+ continue;
78712+ 80845+
78713+ // 2. insert stack overflow check before each __builtin_alloca call 80846+ // 2. insert stack overflow check before each __builtin_alloca call
78714+ stackleak_check_alloca(gsi); 80847+ stackleak_check_alloca(&gsi);
78715+ 80848+
78716+ // 3. insert track call after each __builtin_alloca call 80849+ // 3. insert track call after each __builtin_alloca call
78717+ stackleak_add_instrumentation(gsi); 80850+ stackleak_add_instrumentation(&gsi);
78718+ if (bb == entry_bb) 80851+ if (bb == entry_bb)
78719+ prologue_instrumented = true; 80852+ prologue_instrumented = true;
78720+ } 80853+ }
78721+ } 80854+ }
78722+ 80855+
80856+ // special case for some bad linux code: taking the address of static inline functions will materialize them
80857+ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI
80858+ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI.
80859+ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here.
80860+ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl))
80861+ return 0;
80862+
78723+ // 4. insert track call at the beginning 80863+ // 4. insert track call at the beginning
78724+ if (!prologue_instrumented) { 80864+ if (!prologue_instrumented) {
80865+ gimple_stmt_iterator gsi;
80866+
78725+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest; 80867+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
78726+ if (dom_info_available_p(CDI_DOMINATORS)) 80868+ if (dom_info_available_p(CDI_DOMINATORS))
78727+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR); 80869+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR);
78728+ stackleak_add_instrumentation(gsi_start_bb(bb)); 80870+ gsi = gsi_start_bb(bb);
80871+ stackleak_add_instrumentation(&gsi);
78729+ } 80872+ }
78730+ 80873+
78731+ return 0; 80874+ return 0;
@@ -78787,7 +80930,7 @@ index 0000000..d44f37c
78787+// .reference_pass_name = "tree_profile", 80930+// .reference_pass_name = "tree_profile",
78788+ .reference_pass_name = "optimized", 80931+ .reference_pass_name = "optimized",
78789+ .ref_pass_instance_number = 0, 80932+ .ref_pass_instance_number = 0,
78790+ .pos_op = PASS_POS_INSERT_AFTER 80933+ .pos_op = PASS_POS_INSERT_BEFORE
78791+ }; 80934+ };
78792+ struct register_pass_info stackleak_final_pass_info = { 80935+ struct register_pass_info stackleak_final_pass_info = {
78793+ .pass = &stackleak_final_rtl_opt_pass.pass, 80936+ .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 0000000000..0f26cf40ae
--- /dev/null
+++ b/main/linux-grsec/inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
@@ -0,0 +1,174 @@
1From: Steffen Klassert <steffen.klassert@secunet.com>
2Date: Tue, 6 Mar 2012 21:20:26 +0000 (+0000)
3Subject: inetpeer: Invalidate the inetpeer tree along with the routing cache
4X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet.git;a=commitdiff_plain;h=5faa5df1fa2024bd750089ff21dcc4191798263d
5
6inetpeer: Invalidate the inetpeer tree along with the routing cache
7
8We initialize the routing metrics with the values cached on the
9inetpeer in rt_init_metrics(). So if we have the metrics cached on the
10inetpeer, we ignore the user configured fib_metrics.
11
12To fix this issue, we replace the old tree with a fresh initialized
13inet_peer_base. The old tree is removed later with a delayed work queue.
14
15Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
16Signed-off-by: David S. Miller <davem@davemloft.net>
17---
18
19diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
20index 06b795d..ff04a33 100644
21--- a/include/net/inetpeer.h
22+++ b/include/net/inetpeer.h
23@@ -41,6 +41,7 @@ struct inet_peer {
24 u32 pmtu_orig;
25 u32 pmtu_learned;
26 struct inetpeer_addr_base redirect_learned;
27+ struct list_head gc_list;
28 /*
29 * Once inet_peer is queued for deletion (refcnt == -1), following fields
30 * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp
31@@ -96,6 +97,8 @@ static inline struct inet_peer *inet_getpeer_v6(const struct in6_addr *v6daddr,
32 extern void inet_putpeer(struct inet_peer *p);
33 extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout);
34
35+extern void inetpeer_invalidate_tree(int family);
36+
37 /*
38 * temporary check to make sure we dont access rid, ip_id_count, tcp_ts,
39 * tcp_ts_stamp if no refcount is taken on inet_peer
40diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
41index bf4a9c4..deea2e9 100644
42--- a/net/ipv4/inetpeer.c
43+++ b/net/ipv4/inetpeer.c
44@@ -17,6 +17,7 @@
45 #include <linux/kernel.h>
46 #include <linux/mm.h>
47 #include <linux/net.h>
48+#include <linux/workqueue.h>
49 #include <net/ip.h>
50 #include <net/inetpeer.h>
51 #include <net/secure_seq.h>
52@@ -66,6 +67,11 @@
53
54 static struct kmem_cache *peer_cachep __read_mostly;
55
56+static LIST_HEAD(gc_list);
57+static const int gc_delay = 60 * HZ;
58+static struct delayed_work gc_work;
59+static DEFINE_SPINLOCK(gc_lock);
60+
61 #define node_height(x) x->avl_height
62
63 #define peer_avl_empty ((struct inet_peer *)&peer_fake_node)
64@@ -102,6 +108,50 @@ int inet_peer_threshold __read_mostly = 65536 + 128; /* start to throw entries m
65 int inet_peer_minttl __read_mostly = 120 * HZ; /* TTL under high load: 120 sec */
66 int inet_peer_maxttl __read_mostly = 10 * 60 * HZ; /* usual time to live: 10 min */
67
68+static void inetpeer_gc_worker(struct work_struct *work)
69+{
70+ struct inet_peer *p, *n;
71+ LIST_HEAD(list);
72+
73+ spin_lock_bh(&gc_lock);
74+ list_replace_init(&gc_list, &list);
75+ spin_unlock_bh(&gc_lock);
76+
77+ if (list_empty(&list))
78+ return;
79+
80+ list_for_each_entry_safe(p, n, &list, gc_list) {
81+
82+ if(need_resched())
83+ cond_resched();
84+
85+ if (p->avl_left != peer_avl_empty) {
86+ list_add_tail(&p->avl_left->gc_list, &list);
87+ p->avl_left = peer_avl_empty;
88+ }
89+
90+ if (p->avl_right != peer_avl_empty) {
91+ list_add_tail(&p->avl_right->gc_list, &list);
92+ p->avl_right = peer_avl_empty;
93+ }
94+
95+ n = list_entry(p->gc_list.next, struct inet_peer, gc_list);
96+
97+ if (!atomic_read(&p->refcnt)) {
98+ list_del(&p->gc_list);
99+ kmem_cache_free(peer_cachep, p);
100+ }
101+ }
102+
103+ if (list_empty(&list))
104+ return;
105+
106+ spin_lock_bh(&gc_lock);
107+ list_splice(&list, &gc_list);
108+ spin_unlock_bh(&gc_lock);
109+
110+ schedule_delayed_work(&gc_work, gc_delay);
111+}
112
113 /* Called from ip_output.c:ip_init */
114 void __init inet_initpeers(void)
115@@ -126,6 +176,7 @@ void __init inet_initpeers(void)
116 0, SLAB_HWCACHE_ALIGN | SLAB_PANIC,
117 NULL);
118
119+ INIT_DELAYED_WORK_DEFERRABLE(&gc_work, inetpeer_gc_worker);
120 }
121
122 static int addr_compare(const struct inetpeer_addr *a,
123@@ -449,7 +500,7 @@ relookup:
124 p->pmtu_orig = 0;
125 p->redirect_genid = 0;
126 memset(&p->redirect_learned, 0, sizeof(p->redirect_learned));
127-
128+ INIT_LIST_HEAD(&p->gc_list);
129
130 /* Link the node. */
131 link_to_pool(p, base);
132@@ -509,3 +560,30 @@ bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout)
133 return rc;
134 }
135 EXPORT_SYMBOL(inet_peer_xrlim_allow);
136+
137+void inetpeer_invalidate_tree(int family)
138+{
139+ struct inet_peer *old, *new, *prev;
140+ struct inet_peer_base *base = family_to_base(family);
141+
142+ write_seqlock_bh(&base->lock);
143+
144+ old = base->root;
145+ if (old == peer_avl_empty_rcu)
146+ goto out;
147+
148+ new = peer_avl_empty_rcu;
149+
150+ prev = cmpxchg(&base->root, old, new);
151+ if (prev == old) {
152+ base->total = 0;
153+ spin_lock(&gc_lock);
154+ list_add_tail(&prev->gc_list, &gc_list);
155+ spin_unlock(&gc_lock);
156+ schedule_delayed_work(&gc_work, gc_delay);
157+ }
158+
159+out:
160+ write_sequnlock_bh(&base->lock);
161+}
162+EXPORT_SYMBOL(inetpeer_invalidate_tree);
163diff --git a/net/ipv4/route.c b/net/ipv4/route.c
164index bcacf54..23ce0c1 100644
165--- a/net/ipv4/route.c
166+++ b/net/ipv4/route.c
167@@ -938,6 +938,7 @@ static void rt_cache_invalidate(struct net *net)
168 get_random_bytes(&shuffle, sizeof(shuffle));
169 atomic_add(shuffle + 1U, &net->ipv4.rt_genid);
170 redirect_genid++;
171+ inetpeer_invalidate_tree(AF_INET);
172 }
173
174 /*
diff --git a/main/linux-grsec/kernelconfig.x86 b/main/linux-grsec/kernelconfig.x86
index 38e8cd914b..4b2af2441d 100644
--- a/main/linux-grsec/kernelconfig.x86
+++ b/main/linux-grsec/kernelconfig.x86
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated file; DO NOT EDIT. 2# Automatically generated file; DO NOT EDIT.
3# Linux/i386 3.2.2 Kernel Configuration 3# Linux/i386 3.2.11 Kernel Configuration
4# 4#
5# CONFIG_64BIT is not set 5# CONFIG_64BIT is not set
6CONFIG_X86_32=y 6CONFIG_X86_32=y
@@ -1419,7 +1419,8 @@ CONFIG_BLK_DEV_UMEM=m
1419CONFIG_BLK_DEV_LOOP=m 1419CONFIG_BLK_DEV_LOOP=m
1420CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 1420CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1421CONFIG_BLK_DEV_CRYPTOLOOP=m 1421CONFIG_BLK_DEV_CRYPTOLOOP=m
1422# CONFIG_BLK_DEV_DRBD is not set 1422CONFIG_BLK_DEV_DRBD=m
1423# CONFIG_DRBD_FAULT_INJECTION is not set
1423CONFIG_BLK_DEV_NBD=m 1424CONFIG_BLK_DEV_NBD=m
1424CONFIG_BLK_DEV_OSD=m 1425CONFIG_BLK_DEV_OSD=m
1425CONFIG_BLK_DEV_SX8=m 1426CONFIG_BLK_DEV_SX8=m
@@ -4090,7 +4091,7 @@ CONFIG_USB_MOUSE=m
4090# 4091#
4091# CONFIG_HID_A4TECH is not set 4092# CONFIG_HID_A4TECH is not set
4092# CONFIG_HID_ACRUX is not set 4093# CONFIG_HID_ACRUX is not set
4093# CONFIG_HID_APPLE is not set 4094CONFIG_HID_APPLE=m
4094# CONFIG_HID_BELKIN is not set 4095# CONFIG_HID_BELKIN is not set
4095# CONFIG_HID_CHERRY is not set 4096# CONFIG_HID_CHERRY is not set
4096# CONFIG_HID_CHICONY is not set 4097# CONFIG_HID_CHICONY is not set
@@ -4905,7 +4906,9 @@ CONFIG_CIFS_ACL=y
4905# CONFIG_NCP_FS is not set 4906# CONFIG_NCP_FS is not set
4906# CONFIG_CODA_FS is not set 4907# CONFIG_CODA_FS is not set
4907# CONFIG_AFS_FS is not set 4908# CONFIG_AFS_FS is not set
4908# CONFIG_9P_FS is not set 4909CONFIG_9P_FS=m
4910CONFIG_9P_FSCACHE=y
4911CONFIG_9P_FS_POSIX_ACL=y
4909 4912
4910# 4913#
4911# Partition Types 4914# Partition Types
@@ -5104,7 +5107,7 @@ CONFIG_GRKERNSEC=y
5104CONFIG_GRKERNSEC_CUSTOM=y 5107CONFIG_GRKERNSEC_CUSTOM=y
5105 5108
5106# 5109#
5107# Address Space Protection 5110# Memory Protections
5108# 5111#
5109CONFIG_GRKERNSEC_KMEM=y 5112CONFIG_GRKERNSEC_KMEM=y
5110# CONFIG_GRKERNSEC_VM86 is not set 5113# CONFIG_GRKERNSEC_VM86 is not set
@@ -5437,5 +5440,6 @@ CONFIG_HAS_DMA=y
5437CONFIG_CHECK_SIGNATURE=y 5440CONFIG_CHECK_SIGNATURE=y
5438CONFIG_CPU_RMAP=y 5441CONFIG_CPU_RMAP=y
5439CONFIG_NLATTR=y 5442CONFIG_NLATTR=y
5443CONFIG_LRU_CACHE=m
5440CONFIG_AVERAGE=y 5444CONFIG_AVERAGE=y
5441CONFIG_CORDIC=m 5445CONFIG_CORDIC=m
diff --git a/main/linux-grsec/kernelconfig.x86_64 b/main/linux-grsec/kernelconfig.x86_64
index 045bfa90ef..164d8ce484 100644
--- a/main/linux-grsec/kernelconfig.x86_64
+++ b/main/linux-grsec/kernelconfig.x86_64
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated file; DO NOT EDIT. 2# Automatically generated file; DO NOT EDIT.
3# Linux/x86_64 3.2.1 Kernel Configuration 3# Linux/x86_64 3.2.11 Kernel Configuration
4# 4#
5CONFIG_64BIT=y 5CONFIG_64BIT=y
6# CONFIG_X86_32 is not set 6# CONFIG_X86_32 is not set
@@ -1384,7 +1384,8 @@ CONFIG_BLK_DEV_UMEM=m
1384CONFIG_BLK_DEV_LOOP=m 1384CONFIG_BLK_DEV_LOOP=m
1385CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 1385CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1386CONFIG_BLK_DEV_CRYPTOLOOP=m 1386CONFIG_BLK_DEV_CRYPTOLOOP=m
1387# CONFIG_BLK_DEV_DRBD is not set 1387CONFIG_BLK_DEV_DRBD=m
1388# CONFIG_DRBD_FAULT_INJECTION is not set
1388CONFIG_BLK_DEV_NBD=m 1389CONFIG_BLK_DEV_NBD=m
1389CONFIG_BLK_DEV_OSD=m 1390CONFIG_BLK_DEV_OSD=m
1390CONFIG_BLK_DEV_SX8=m 1391CONFIG_BLK_DEV_SX8=m
@@ -4044,7 +4045,7 @@ CONFIG_USB_MOUSE=m
4044# 4045#
4045# CONFIG_HID_A4TECH is not set 4046# CONFIG_HID_A4TECH is not set
4046# CONFIG_HID_ACRUX is not set 4047# CONFIG_HID_ACRUX is not set
4047# CONFIG_HID_APPLE is not set 4048CONFIG_HID_APPLE=m
4048# CONFIG_HID_BELKIN is not set 4049# CONFIG_HID_BELKIN is not set
4049# CONFIG_HID_CHERRY is not set 4050# CONFIG_HID_CHERRY is not set
4050# CONFIG_HID_CHICONY is not set 4051# CONFIG_HID_CHICONY is not set
@@ -4880,7 +4881,9 @@ CONFIG_CIFS_ACL=y
4880# CONFIG_NCP_FS is not set 4881# CONFIG_NCP_FS is not set
4881# CONFIG_CODA_FS is not set 4882# CONFIG_CODA_FS is not set
4882# CONFIG_AFS_FS is not set 4883# CONFIG_AFS_FS is not set
4883# CONFIG_9P_FS is not set 4884CONFIG_9P_FS=m
4885CONFIG_9P_FSCACHE=y
4886CONFIG_9P_FS_POSIX_ACL=y
4884 4887
4885# 4888#
4886# Partition Types 4889# Partition Types
@@ -5078,7 +5081,7 @@ CONFIG_GRKERNSEC=y
5078CONFIG_GRKERNSEC_CUSTOM=y 5081CONFIG_GRKERNSEC_CUSTOM=y
5079 5082
5080# 5083#
5081# Address Space Protection 5084# Memory Protections
5082# 5085#
5083CONFIG_GRKERNSEC_KMEM=y 5086CONFIG_GRKERNSEC_KMEM=y
5084# CONFIG_GRKERNSEC_IO is not set 5087# CONFIG_GRKERNSEC_IO is not set
@@ -5408,5 +5411,6 @@ CONFIG_HAS_DMA=y
5408CONFIG_CHECK_SIGNATURE=y 5411CONFIG_CHECK_SIGNATURE=y
5409CONFIG_CPU_RMAP=y 5412CONFIG_CPU_RMAP=y
5410CONFIG_NLATTR=y 5413CONFIG_NLATTR=y
5414CONFIG_LRU_CACHE=m
5411CONFIG_AVERAGE=y 5415CONFIG_AVERAGE=y
5412CONFIG_CORDIC=m 5416CONFIG_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 7ca4147826..0000000000
--- a/main/linux-grsec/linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1diff --git a/net/ipv4/route.c b/net/ipv4/route.c
2index f30112f..26a6249 100644
3--- a/net/ipv4/route.c
4+++ b/net/ipv4/route.c
5@@ -1841,6 +1841,22 @@ static unsigned int ipv4_mtu(const struct dst_entry *dst)
6 return mtu;
7 }
8
9+static void __rt_init_metrics(struct rtable *rt, struct fib_info *fi,
10+ struct inet_peer *peer)
11+{
12+ if (peer && fi->fib_metrics == (u32 *) dst_default_metrics) {
13+ dst_init_metrics(&rt->dst, peer->metrics, false);
14+ return;
15+ }
16+
17+ if (fi->fib_metrics != (u32 *) dst_default_metrics) {
18+ rt->fi = fi;
19+ atomic_inc(&fi->fib_clntref);
20+ }
21+
22+ dst_init_metrics(&rt->dst, fi->fib_metrics, true);
23+}
24+
25 static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
26 struct fib_info *fi)
27 {
28@@ -1859,7 +1875,8 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
29 if (inet_metrics_new(peer))
30 memcpy(peer->metrics, fi->fib_metrics,
31 sizeof(u32) * RTAX_MAX);
32- dst_init_metrics(&rt->dst, peer->metrics, false);
33+
34+ __rt_init_metrics(rt, fi, peer);
35
36 check_peer_pmtu(&rt->dst, peer);
37 if (peer->redirect_genid != redirect_genid)
38@@ -1869,13 +1886,8 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
39 rt->rt_gateway = peer->redirect_learned.a4;
40 rt->rt_flags |= RTCF_REDIRECTED;
41 }
42- } else {
43- if (fi->fib_metrics != (u32 *) dst_default_metrics) {
44- rt->fi = fi;
45- atomic_inc(&fi->fib_clntref);
46- }
47- dst_init_metrics(&rt->dst, fi->fib_metrics, true);
48- }
49+ } else
50+ __rt_init_metrics(rt, fi, NULL);
51 }
52
53 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 a9bff5dcfd..0000000000
--- a/main/linux-grsec/net-gre-provide-multicast-mappings-for-ipv4-and-ipv6.patch
+++ /dev/null
@@ -1,98 +0,0 @@
1From: Timo Teräs <timo.teras@iki.fi>
2Date: Mon, 28 Mar 2011 22:40:53 +0000 (+0000)
3Subject: net: gre: provide multicast mappings for ipv4 and ipv6
4X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=93ca3bb5df9bc8b2c60485e1cc6507c3d7c8e1fa
5
6net: gre: provide multicast mappings for ipv4 and ipv6
7
8My commit 6d55cb91a0020ac0 (gre: fix hard header destination
9address checking) broke multicast.
10
11The reason is that ip_gre used to get ipgre_header() calls with
12zero destination if we have NOARP or multicast destination. Instead
13the actual target was decided at ipgre_tunnel_xmit() time based on
14per-protocol dissection.
15
16Instead of allowing the "abuse" of ->header() calls with invalid
17destination, this creates multicast mappings for ip_gre. This also
18fixes "ip neigh show nud noarp" to display the proper multicast
19mappings used by the gre device.
20
21Reported-by: Doug Kehn <rdkehn@yahoo.com>
22Signed-off-by: Timo Teräs <timo.teras@iki.fi>
23Acked-by: Doug Kehn <rdkehn@yahoo.com>
24Signed-off-by: David S. Miller <davem@davemloft.net>
25---
26
27diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h
28index 04977ee..fccc218 100644
29--- a/include/net/if_inet6.h
30+++ b/include/net/if_inet6.h
31@@ -286,5 +286,21 @@ static inline void ipv6_ib_mc_map(const struct in6_addr *addr,
32 buf[9] = broadcast[9];
33 memcpy(buf + 10, addr->s6_addr + 6, 10);
34 }
35+
36+static inline int ipv6_ipgre_mc_map(const struct in6_addr *addr,
37+ const unsigned char *broadcast, char *buf)
38+{
39+ if ((broadcast[0] | broadcast[1] | broadcast[2] | broadcast[3]) != 0) {
40+ memcpy(buf, broadcast, 4);
41+ } else {
42+ /* v4mapped? */
43+ if ((addr->s6_addr32[0] | addr->s6_addr32[1] |
44+ (addr->s6_addr32[2] ^ htonl(0x0000ffff))) != 0)
45+ return -EINVAL;
46+ memcpy(buf, &addr->s6_addr32[3], 4);
47+ }
48+ return 0;
49+}
50+
51 #endif
52 #endif
53diff --git a/include/net/ip.h b/include/net/ip.h
54index a4f6311..7c41658 100644
55--- a/include/net/ip.h
56+++ b/include/net/ip.h
57@@ -339,6 +339,14 @@ static inline void ip_ib_mc_map(__be32 naddr, const unsigned char *broadcast, ch
58 buf[16] = addr & 0x0f;
59 }
60
61+static inline void ip_ipgre_mc_map(__be32 naddr, const unsigned char *broadcast, char *buf)
62+{
63+ if ((broadcast[0] | broadcast[1] | broadcast[2] | broadcast[3]) != 0)
64+ memcpy(buf, broadcast, 4);
65+ else
66+ memcpy(buf, &naddr, sizeof(naddr));
67+}
68+
69 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
70 #include <linux/ipv6.h>
71 #endif
72diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
73index 090d273..1b74d3b 100644
74--- a/net/ipv4/arp.c
75+++ b/net/ipv4/arp.c
76@@ -215,6 +215,9 @@ int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir)
77 case ARPHRD_INFINIBAND:
78 ip_ib_mc_map(addr, dev->broadcast, haddr);
79 return 0;
80+ case ARPHRD_IPGRE:
81+ ip_ipgre_mc_map(addr, dev->broadcast, haddr);
82+ return 0;
83 default:
84 if (dir) {
85 memcpy(haddr, dev->broadcast, dev->addr_len);
86diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
87index 0e49c9d..92f952d 100644
88--- a/net/ipv6/ndisc.c
89+++ b/net/ipv6/ndisc.c
90@@ -341,6 +341,8 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d
91 case ARPHRD_INFINIBAND:
92 ipv6_ib_mc_map(addr, dev->broadcast, buf);
93 return 0;
94+ case ARPHRD_IPGRE:
95+ return ipv6_ipgre_mc_map(addr, dev->broadcast, buf);
96 default:
97 if (dir) {
98 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 0000000000..7c1d28b468
--- /dev/null
+++ b/main/linux-grsec/route-remove-redirect-genid.patch
@@ -0,0 +1,81 @@
1One hunk was remove from this patch.
2
3
4From: Steffen Klassert <steffen.klassert@secunet.com>
5Date: Tue, 6 Mar 2012 21:21:10 +0000 (+0000)
6Subject: route: Remove redirect_genid
7X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet.git;a=commitdiff_plain;h=ac3f48de09d8f4b73397047e413fadff7f65cfa7
8
9route: Remove redirect_genid
10
11As we invalidate the inetpeer tree along with the routing cache now,
12we don't need a genid to reset the redirect handling when the routing
13cache is flushed.
14
15Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
16Signed-off-by: David S. Miller <davem@davemloft.net>
17---
18
19diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
20index ff04a33..b94765e 100644
21--- a/include/net/inetpeer.h
22+++ b/include/net/inetpeer.h
23@@ -35,7 +35,6 @@ struct inet_peer {
24
25 u32 metrics[RTAX_MAX];
26 u32 rate_tokens; /* rate limiting for ICMP */
27- int redirect_genid;
28 unsigned long rate_last;
29 unsigned long pmtu_expires;
30 u32 pmtu_orig;
31diff --git a/net/ipv4/route.c b/net/ipv4/route.c
32index 23ce0c1..0197747 100644
33--- a/net/ipv4/route.c
34+++ b/net/ipv4/route.c
35@@ -132,7 +132,6 @@ static int ip_rt_mtu_expires __read_mostly = 10 * 60 * HZ;
36 static int ip_rt_min_pmtu __read_mostly = 512 + 20 + 20;
37 static int ip_rt_min_advmss __read_mostly = 256;
38 static int rt_chain_length_max __read_mostly = 20;
39-static int redirect_genid;
40
41 static struct delayed_work expires_work;
42 static unsigned long expires_ljiffies;
43@@ -937,7 +936,6 @@ static void rt_cache_invalidate(struct net *net)
44
45 get_random_bytes(&shuffle, sizeof(shuffle));
46 atomic_add_unchecked(shuffle + 1U, &net->ipv4.rt_genid);
47- redirect_genid++;
48 inetpeer_invalidate_tree(AF_INET);
49 }
50
51@@ -1486,10 +1484,8 @@ void ip_rt_redirect(__be32 old_gw, __be32 daddr, __be32 new_gw,
52
53 peer = rt->peer;
54 if (peer) {
55- if (peer->redirect_learned.a4 != new_gw ||
56- peer->redirect_genid != redirect_genid) {
57+ if (peer->redirect_learned.a4 != new_gw) {
58 peer->redirect_learned.a4 = new_gw;
59- peer->redirect_genid = redirect_genid;
60 atomic_inc(&__rt_peer_genid);
61 }
62 check_peer_redir(&rt->dst, peer);
63@@ -1794,8 +1790,6 @@ static void ipv4_validate_peer(struct rtable *rt)
64 if (peer) {
65 check_peer_pmtu(&rt->dst, peer);
66
67- if (peer->redirect_genid != redirect_genid)
68- peer->redirect_learned.a4 = 0;
69 if (peer->redirect_learned.a4 &&
70 peer->redirect_learned.a4 != rt->rt_gateway)
71 check_peer_redir(&rt->dst, peer);
72@@ -1959,8 +1953,7 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
73 dst_init_metrics(&rt->dst, peer->metrics, false);
74
75 check_peer_pmtu(&rt->dst, peer);
76- if (peer->redirect_genid != redirect_genid)
77- peer->redirect_learned.a4 = 0;
78+
79 if (peer->redirect_learned.a4 &&
80 peer->redirect_learned.a4 != rt->rt_gateway) {
81 rt->rt_gateway = peer->redirect_learned.a4;
diff --git a/main/linux-headers/APKBUILD b/main/linux-headers/APKBUILD
index efc27883cc..683c82e17d 100644
--- a/main/linux-headers/APKBUILD
+++ b/main/linux-headers/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=linux-headers 2pkgname=linux-headers
3pkgver=3.2.2 3pkgver=3.2.7
4_kernver=3.2 4_kernver=3.2
5pkgrel=0 5pkgrel=0
6pkgdesc="Linux system headers" 6pkgdesc="Linux system headers"
@@ -43,4 +43,4 @@ package() {
43} 43}
44 44
45md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2 45md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
46e9e53fba37c5e2afa4cdecab234120bd patch-3.2.2.bz2" 46899624bffed6a19578613b672cc9483f patch-3.2.7.bz2"
diff --git a/main/linux-vserver/APKBUILD b/main/linux-vserver/APKBUILD
index 5f487b3442..3c9a5599c0 100644
--- a/main/linux-vserver/APKBUILD
+++ b/main/linux-vserver/APKBUILD
@@ -2,9 +2,9 @@
2 2
3_flavor=vserver 3_flavor=vserver
4pkgname=linux-${_flavor} 4pkgname=linux-${_flavor}
5pkgver=3.2.5 5pkgver=3.2.11
6pkgrel=0 6pkgrel=0
7_vsver=vs2.3.2.6 7_vsver=vs2.3.2.8
8 8
9if [ "${pkgver##*.*.*}" = "$pkgver" ]; then 9if [ "${pkgver##*.*.*}" = "$pkgver" ]; then
10 _kernver=$pkgver 10 _kernver=$pkgver
@@ -132,7 +132,7 @@ dev() {
132} 132}
133 133
134md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2 134md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
135fb4d0b76b4c9a42977d75c4b2f3948d0 patch-3.2.5.bz2 135a4c2531ee383dfd429e105816b4d2ccc patch-3.2.11.bz2
136c51107f7d7fcc14133032ddf20cc852f patch-3.2.5-vs2.3.2.6.diff 136e4d453b06eabec327f86151bc1009691 patch-3.2.11-vs2.3.2.8.diff
137cca23fb8bb51d4ea7e44c5110998584d kernelconfig.x86 13724c055d468597b01a8ee5f641673b4cd kernelconfig.x86
1387f613d0eefa8f89e060bba4312f02cf2 kernelconfig.x86_64" 1384a99db0ace4870387dc14382d916c44a kernelconfig.x86_64"
diff --git a/main/linux-vserver/kernelconfig.x86 b/main/linux-vserver/kernelconfig.x86
index a8cc9030de..92a255f6c0 100644
--- a/main/linux-vserver/kernelconfig.x86
+++ b/main/linux-vserver/kernelconfig.x86
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated file; DO NOT EDIT. 2# Automatically generated file; DO NOT EDIT.
3# Linux/i386 3.2.1-vs2.3.2.5 Kernel Configuration 3# Linux/i386 3.2.11-vs2.3.2.8 Kernel Configuration
4# 4#
5# CONFIG_64BIT is not set 5# CONFIG_64BIT is not set
6CONFIG_X86_32=y 6CONFIG_X86_32=y
@@ -1431,7 +1431,8 @@ CONFIG_BLK_DEV_UMEM=m
1431CONFIG_BLK_DEV_LOOP=m 1431CONFIG_BLK_DEV_LOOP=m
1432CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 1432CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1433CONFIG_BLK_DEV_CRYPTOLOOP=m 1433CONFIG_BLK_DEV_CRYPTOLOOP=m
1434# CONFIG_BLK_DEV_DRBD is not set 1434CONFIG_BLK_DEV_DRBD=m
1435# CONFIG_DRBD_FAULT_INJECTION is not set
1435CONFIG_BLK_DEV_VROOT=m 1436CONFIG_BLK_DEV_VROOT=m
1436CONFIG_BLK_DEV_NBD=m 1437CONFIG_BLK_DEV_NBD=m
1437CONFIG_BLK_DEV_OSD=m 1438CONFIG_BLK_DEV_OSD=m
@@ -4108,7 +4109,7 @@ CONFIG_USB_MOUSE=m
4108# 4109#
4109# CONFIG_HID_A4TECH is not set 4110# CONFIG_HID_A4TECH is not set
4110# CONFIG_HID_ACRUX is not set 4111# CONFIG_HID_ACRUX is not set
4111# CONFIG_HID_APPLE is not set 4112CONFIG_HID_APPLE=m
4112# CONFIG_HID_BELKIN is not set 4113# CONFIG_HID_BELKIN is not set
4113# CONFIG_HID_CHERRY is not set 4114# CONFIG_HID_CHERRY is not set
4114# CONFIG_HID_CHICONY is not set 4115# CONFIG_HID_CHICONY is not set
@@ -4925,7 +4926,9 @@ CONFIG_CIFS_ACL=y
4925# CONFIG_NCP_FS is not set 4926# CONFIG_NCP_FS is not set
4926# CONFIG_CODA_FS is not set 4927# CONFIG_CODA_FS is not set
4927# CONFIG_AFS_FS is not set 4928# CONFIG_AFS_FS is not set
4928# CONFIG_9P_FS is not set 4929CONFIG_9P_FS=m
4930CONFIG_9P_FSCACHE=y
4931CONFIG_9P_FS_POSIX_ACL=y
4929 4932
4930# 4933#
4931# Partition Types 4934# Partition Types
@@ -5345,5 +5348,6 @@ CONFIG_HAS_DMA=y
5345CONFIG_CHECK_SIGNATURE=y 5348CONFIG_CHECK_SIGNATURE=y
5346CONFIG_CPU_RMAP=y 5349CONFIG_CPU_RMAP=y
5347CONFIG_NLATTR=y 5350CONFIG_NLATTR=y
5351CONFIG_LRU_CACHE=m
5348CONFIG_AVERAGE=y 5352CONFIG_AVERAGE=y
5349CONFIG_CORDIC=m 5353CONFIG_CORDIC=m
diff --git a/main/linux-vserver/kernelconfig.x86_64 b/main/linux-vserver/kernelconfig.x86_64
index f3119a4aa3..87f37d2b67 100644
--- a/main/linux-vserver/kernelconfig.x86_64
+++ b/main/linux-vserver/kernelconfig.x86_64
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated file; DO NOT EDIT. 2# Automatically generated file; DO NOT EDIT.
3# Linux/x86_64 3.2.1-vs2.3.2.5 Kernel Configuration 3# Linux/x86_64 3.2.11-vs2.3.2.8 Kernel Configuration
4# 4#
5CONFIG_64BIT=y 5CONFIG_64BIT=y
6# CONFIG_X86_32 is not set 6# CONFIG_X86_32 is not set
@@ -1390,7 +1390,8 @@ CONFIG_BLK_DEV_UMEM=m
1390CONFIG_BLK_DEV_LOOP=m 1390CONFIG_BLK_DEV_LOOP=m
1391CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 1391CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1392CONFIG_BLK_DEV_CRYPTOLOOP=m 1392CONFIG_BLK_DEV_CRYPTOLOOP=m
1393# CONFIG_BLK_DEV_DRBD is not set 1393CONFIG_BLK_DEV_DRBD=m
1394# CONFIG_DRBD_FAULT_INJECTION is not set
1394CONFIG_BLK_DEV_VROOT=m 1395CONFIG_BLK_DEV_VROOT=m
1395CONFIG_BLK_DEV_NBD=m 1396CONFIG_BLK_DEV_NBD=m
1396CONFIG_BLK_DEV_OSD=m 1397CONFIG_BLK_DEV_OSD=m
@@ -4053,7 +4054,7 @@ CONFIG_USB_MOUSE=m
4053# 4054#
4054# CONFIG_HID_A4TECH is not set 4055# CONFIG_HID_A4TECH is not set
4055# CONFIG_HID_ACRUX is not set 4056# CONFIG_HID_ACRUX is not set
4056# CONFIG_HID_APPLE is not set 4057CONFIG_HID_APPLE=m
4057# CONFIG_HID_BELKIN is not set 4058# CONFIG_HID_BELKIN is not set
4058# CONFIG_HID_CHERRY is not set 4059# CONFIG_HID_CHERRY is not set
4059# CONFIG_HID_CHICONY is not set 4060# CONFIG_HID_CHICONY is not set
@@ -4891,7 +4892,9 @@ CONFIG_CIFS_ACL=y
4891# CONFIG_NCP_FS is not set 4892# CONFIG_NCP_FS is not set
4892# CONFIG_CODA_FS is not set 4893# CONFIG_CODA_FS is not set
4893# CONFIG_AFS_FS is not set 4894# CONFIG_AFS_FS is not set
4894# CONFIG_9P_FS is not set 4895CONFIG_9P_FS=m
4896CONFIG_9P_FSCACHE=y
4897CONFIG_9P_FS_POSIX_ACL=y
4895 4898
4896# 4899#
4897# Partition Types 4900# Partition Types
@@ -5310,5 +5313,6 @@ CONFIG_HAS_DMA=y
5310CONFIG_CHECK_SIGNATURE=y 5313CONFIG_CHECK_SIGNATURE=y
5311CONFIG_CPU_RMAP=y 5314CONFIG_CPU_RMAP=y
5312CONFIG_NLATTR=y 5315CONFIG_NLATTR=y
5316CONFIG_LRU_CACHE=m
5313CONFIG_AVERAGE=y 5317CONFIG_AVERAGE=y
5314CONFIG_CORDIC=m 5318CONFIG_CORDIC=m
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
index d2ca4a45d5..aedb01aec8 100644
--- a/main/llvm/APKBUILD
+++ b/main/llvm/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=llvm 3pkgname=llvm
4pkgver=2.9 4pkgver=3.0
5pkgrel=4 5pkgrel=0
6pkgdesc="low level virtual machine compiler system" 6pkgdesc="low level virtual machine compiler system"
7arch="x86 x86_64" 7arch="x86 x86_64"
8url="http://llvm.org/" 8url="http://llvm.org/"
@@ -12,9 +12,9 @@ depends_dev="perl"
12makedepends="$depends_dev groff libffi-dev" 12makedepends="$depends_dev groff libffi-dev"
13install= 13install=
14subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs" 14subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs"
15source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz 15source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tar.gz
16 http://llvm.org/releases/$pkgver/clang-$pkgver.tgz 16 http://llvm.org/releases/$pkgver/clang-$pkgver.tar.gz
17 clang-2.9-alpine-linux.patch 17 clang-3.0-alpine-linux.patch
18 " 18 "
19 19
20_builddir="$srcdir"/build 20_builddir="$srcdir"/build
@@ -24,11 +24,12 @@ prepare() {
24 24
25 msg "Preparing CLANG sources..." 25 msg "Preparing CLANG sources..."
26 26
27 mv "$srcdir"/clang-$pkgver "$srcdir"/$pkgname-$pkgver/tools/clang 27 mv "$srcdir"/clang-$pkgver.src \
28 "$srcdir"/$pkgname-$pkgver.src/tools/clang || return 1
28 29
29 msg "Patching LLVM core..." 30 msg "Patching LLVM core..."
30 31
31 cd "$srcdir"/$pkgname-$pkgver 32 cd "$srcdir"/$pkgname-$pkgver.src || return 1
32 33
33 for i in $source; do 34 for i in $source; do
34 case $i in 35 case $i in
@@ -42,7 +43,7 @@ prepare() {
42 43
43build() { 44build() {
44 cd "$_builddir" 45 cd "$_builddir"
45 ../$pkgname-$pkgver/configure \ 46 ../$pkgname-$pkgver.src/configure \
46 --prefix=/usr \ 47 --prefix=/usr \
47 --sysconfdir=/etc \ 48 --sysconfdir=/etc \
48 --mandir=/usr/share/man \ 49 --mandir=/usr/share/man \
@@ -73,7 +74,7 @@ clang() {
73 pkgdesc="A C language family front-end for LLVM" 74 pkgdesc="A C language family front-end for LLVM"
74 mkdir -p "$subpkgdir"/usr/bin \ 75 mkdir -p "$subpkgdir"/usr/bin \
75 "$subpkgdir"/usr/lib 76 "$subpkgdir"/usr/lib
76 mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/tblgen \ 77 mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/c-index-test \
77 "$subpkgdir"/usr/bin/ || return 1 78 "$subpkgdir"/usr/bin/ || return 1
78 mv "$pkgdir"/usr/lib/clang \ 79 mv "$pkgdir"/usr/lib/clang \
79 "$pkgdir"/usr/lib/libclang.so \ 80 "$pkgdir"/usr/lib/libclang.so \
@@ -87,6 +88,6 @@ libs() {
87 mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/ 88 mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
88} 89}
89 90
90md5sums="793138412d2af2c7c7f54615f8943771 llvm-2.9.tgz 91md5sums="a8e5f5f1c1adebae7b4a654c376a6005 llvm-3.0.tar.gz
91634de18d04b7a4ded19ec4c17d23cfca clang-2.9.tgz 9243350706ae6cf05d0068885792ea0591 clang-3.0.tar.gz
926ca9d6b9706ab4e04d976c25e72952dd clang-2.9-alpine-linux.patch" 9330bdaa52a057a11722093463c29bfda0 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 f53aee4b92..0000000000
--- a/main/llvm/clang-2.9-alpine-linux.patch
+++ /dev/null
@@ -1,71 +0,0 @@
1--- ./tools.orig/clang/lib/Driver/ToolChains.cpp
2+++ ./tools/clang/lib/Driver/ToolChains.cpp
3@@ -1273,6 +1273,7 @@
4 /// Linux toolchain (very bare-bones at the moment).
5
6 enum LinuxDistro {
7+ AlpineLinux,
8 ArchLinux,
9 DebianLenny,
10 DebianSqueeze,
11@@ -1380,6 +1381,9 @@
12 if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists)
13 return ArchLinux;
14
15+ if (!llvm::sys::fs::exists("/etc/alpine-release", Exists) && Exists)
16+ return AlpineLinux;
17+
18 return UnknownDistro;
19 }
20
21@@ -1432,6 +1436,9 @@
22 else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-manbo-linux-gnu",
23 Exists) && Exists)
24 GccTriple = "x86_64-manbo-linux-gnu";
25+ else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-alpine-linux-uclibc",
26+ Exists) && Exists)
27+ GccTriple = "x86_64-alpine-linux-uclibc";
28 } else if (Arch == llvm::Triple::x86) {
29 if (!llvm::sys::fs::exists("/usr/lib/gcc/i686-linux-gnu", Exists) && Exists)
30 GccTriple = "i686-linux-gnu";
31@@ -1447,9 +1454,13 @@
32 else if (!llvm::sys::fs::exists("/usr/lib/gcc/i586-suse-linux", Exists) &&
33 Exists)
34 GccTriple = "i586-suse-linux";
35+ else if (!llvm::sys::fs::exists("/usr/lib/gcc/i486-alpine-linux-uclibc", Exists) &&
36+ Exists)
37+ GccTriple = "i486-alpine-linux-uclibc";
38 }
39
40- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
41+ const char* GccVersions[] = {"4.6.3", "4.6.2", "4.6.1", "4.6.0",
42+ "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
43 "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
44 "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
45 "4.2"};
46@@ -1513,7 +1524,7 @@
47 Distro == UbuntuKarmic)
48 ExtraOpts.push_back("--build-id");
49
50- if (Distro == ArchLinux)
51+ if (Distro == ArchLinux || Distro == AlpineLinux)
52 Lib = "lib";
53
54 Paths.push_back(Base + Suffix);
55--- ./tools.orig/clang/lib/Driver/Tools.cpp
56+++ ./tools/clang/lib/Driver/Tools.cpp
57@@ -3621,12 +3621,12 @@
58 !Args.hasArg(options::OPT_shared))) {
59 CmdArgs.push_back("-dynamic-linker");
60 if (ToolChain.getArch() == llvm::Triple::x86)
61- CmdArgs.push_back("/lib/ld-linux.so.2");
62+ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32");
63 else if (ToolChain.getArch() == llvm::Triple::arm ||
64 ToolChain.getArch() == llvm::Triple::thumb)
65 CmdArgs.push_back("/lib/ld-linux.so.3");
66 else
67- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
68+ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32");
69 }
70
71 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 0000000000..dedb6c2512
--- /dev/null
+++ b/main/llvm/clang-3.0-alpine-linux.patch
@@ -0,0 +1,64 @@
1diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp
2index eb730e5..3e4afae 100644
3--- a/tools/clang/lib/Driver/ToolChains.cpp
4+++ b/tools/clang/lib/Driver/ToolChains.cpp
5@@ -1377,6 +1377,7 @@ Tool &AuroraUX::SelectTool(const Compilation &C, const JobAction &JA,
6 /// Linux toolchain (very bare-bones at the moment).
7
8 enum LinuxDistro {
9+ AlpineLinux,
10 ArchLinux,
11 DebianLenny,
12 DebianSqueeze,
13@@ -1507,6 +1508,9 @@ static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) {
14 if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists)
15 return ArchLinux;
16
17+ if (!llvm::sys::fs::exists("/etc/alpine-release", Exists) && Exists)
18+ return AlpineLinux;
19+
20 return UnknownDistro;
21 }
22
23@@ -1655,7 +1659,8 @@ Linux::GCCInstallationDetector::GCCInstallationDetector(const Driver &D)
24 "x86_64-suse-linux",
25 "x86_64-manbo-linux-gnu",
26 "x86_64-linux-gnu",
27- "x86_64-slackware-linux"
28+ "x86_64-slackware-linux",
29+ "x86_64-alpine-linux-uclibc"
30 };
31 LibDirs.append(X86_64LibDirs,
32 X86_64LibDirs + llvm::array_lengthof(X86_64LibDirs));
33@@ -1672,7 +1677,8 @@ Linux::GCCInstallationDetector::GCCInstallationDetector(const Driver &D)
34 "i586-redhat-linux",
35 "i386-redhat-linux",
36 "i586-suse-linux",
37- "i486-slackware-linux"
38+ "i486-slackware-linux",
39+ "i486-alpine-linux-uclibc"
40 };
41 LibDirs.append(X86LibDirs, X86LibDirs + llvm::array_lengthof(X86LibDirs));
42 Triples.append(X86Triples, X86Triples + llvm::array_lengthof(X86Triples));
43diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
44index 6151e88..d811789 100644
45--- a/tools/clang/lib/Driver/Tools.cpp
46+++ b/tools/clang/lib/Driver/Tools.cpp
47@@ -4308,7 +4308,7 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
48 !Args.hasArg(options::OPT_shared))) {
49 CmdArgs.push_back("-dynamic-linker");
50 if (ToolChain.getArch() == llvm::Triple::x86)
51- CmdArgs.push_back("/lib/ld-linux.so.2");
52+ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32");
53 else if (ToolChain.getArch() == llvm::Triple::arm ||
54 ToolChain.getArch() == llvm::Triple::thumb)
55 CmdArgs.push_back("/lib/ld-linux.so.3");
56@@ -4317,7 +4317,7 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
57 else if (ToolChain.getArch() == llvm::Triple::ppc64)
58 CmdArgs.push_back("/lib64/ld64.so.1");
59 else
60- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
61+ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32");
62 }
63
64 CmdArgs.push_back("-o");
diff --git a/main/lua-rex/APKBUILD b/main/lua-rex/APKBUILD
index 36a166800d..1a8a5aca36 100644
--- a/main/lua-rex/APKBUILD
+++ b/main/lua-rex/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=lua-rex 2pkgname=lua-rex
3pkgver=2.5.3 3pkgver=2.5.3
4pkgrel=0 4pkgrel=1
5pkgdesc="Lua bindings to regular expression library pcre and posix" 5pkgdesc="Lua bindings to regular expression library pcre and posix"
6url="http://lrexlib.luaforge.net/" 6url="http://lrexlib.luaforge.net/"
7arch="all" 7arch="all"
diff --git a/main/lua/APKBUILD b/main/lua/APKBUILD
index 90f3009b0e..3b1f4643eb 100644
--- a/main/lua/APKBUILD
+++ b/main/lua/APKBUILD
@@ -1,8 +1,8 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=lua 2pkgname=lua
3pkgver=5.1.4_p3 3pkgver=5.1.5
4_ver=${pkgver%_p*} 4_ver=$pkgver
5pkgrel=2 5pkgrel=0
6pkgdesc="A powerful light-weight programming language designed for extending applications." 6pkgdesc="A powerful light-weight programming language designed for extending applications."
7url="http://www.lua.org/" 7url="http://www.lua.org/"
8arch="all" 8arch="all"
@@ -11,7 +11,6 @@ depends=
11makedepends="libtool" 11makedepends="libtool"
12subpackages="$pkgname-dev $pkgname-doc" 12subpackages="$pkgname-dev $pkgname-doc"
13source="http://www.$pkgname.org/ftp/$pkgname-$_ver.tar.gz 13source="http://www.$pkgname.org/ftp/$pkgname-$_ver.tar.gz
14 http://www.lua.org/ftp/patch-lua-5.1.4-${pkgver#*_p}
15 lua-5.1-make.patch 14 lua-5.1-make.patch
16 lua-5.1-module_paths.patch 15 lua-5.1-module_paths.patch
17 lua-5.1-readline.patch 16 lua-5.1-readline.patch
@@ -54,8 +53,7 @@ package() {
54 install -D -m 644 doc/lua.1 "$pkgdir"/usr/share/man/man1/lua.1 53 install -D -m 644 doc/lua.1 "$pkgdir"/usr/share/man/man1/lua.1
55 install -D -m 644 doc/luac.1 "$pkgdir"/usr/share/man/man1/luac.1 54 install -D -m 644 doc/luac.1 "$pkgdir"/usr/share/man/man1/luac.1
56} 55}
57md5sums="d0870f2de55d59c1c8419f36e8fac150 lua-5.1.4.tar.gz 56md5sums="2e115fe26e435e33b0d5c022e4490567 lua-5.1.5.tar.gz
58998ef7886183f61d3a5ca891a9ce6a79 patch-lua-5.1.4-3
590145ff6036eb6bfdab427dc8f0c3f3c0 lua-5.1-make.patch 570145ff6036eb6bfdab427dc8f0c3f3c0 lua-5.1-make.patch
60e60ef15deefb72a5930c498f1184aced lua-5.1-module_paths.patch 58e60ef15deefb72a5930c498f1184aced lua-5.1-module_paths.patch
61f2205b897edb31292a1f597a7fd638cb lua-5.1-readline.patch" 59f2205b897edb31292a1f597a7fd638cb lua-5.1-readline.patch"
diff --git a/main/lvm2/APKBUILD b/main/lvm2/APKBUILD
index 0fdad05769..fed9afff7f 100644
--- a/main/lvm2/APKBUILD
+++ b/main/lvm2/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=lvm2 2pkgname=lvm2
3pkgver=2.02.91 3pkgver=2.02.95
4pkgrel=0 4pkgrel=0
5pkgdesc="Logical Volume Manager 2 utilities" 5pkgdesc="Logical Volume Manager 2 utilities"
6url="http://sourceware.org/lvm2/" 6url="http://sourceware.org/lvm2/"
@@ -58,6 +58,6 @@ libs() {
58 mv "$pkgdir"/lib/liblvm2*.so.* "$subpkgdir"/lib/ 58 mv "$pkgdir"/lib/liblvm2*.so.* "$subpkgdir"/lib/
59} 59}
60 60
61md5sums="03ed8dc20c3a65079aedcedc0ec33192 LVM2.2.02.91.tgz 61md5sums="bd470a802046c807603618a443732ea7 LVM2.2.02.95.tgz
626f65f902cf19f144a42b8d6aceadf395 lvm.initd 626f65f902cf19f144a42b8d6aceadf395 lvm.initd
63ec36d5fe4561220304e406c5c797e71f lvm.confd" 63ec36d5fe4561220304e406c5c797e71f lvm.confd"
diff --git a/main/man-pages/APKBUILD b/main/man-pages/APKBUILD
index 14c71e46cf..05047adf15 100644
--- a/main/man-pages/APKBUILD
+++ b/main/man-pages/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=man-pages 2pkgname=man-pages
3pkgver=3.35 3pkgver=3.37
4_posixver=2003-a 4_posixver=2003-a
5pkgrel=0 5pkgrel=0
6pkgdesc="Linux man pages" 6pkgdesc="Linux man pages"
@@ -10,7 +10,7 @@ license="GPL"
10depends= 10depends=
11makedepends="" 11makedepends=""
12options="!strip" 12options="!strip"
13source="http://man7.org/linux/download/man-pages/man-pages-$pkgver.tar.gz 13source="http://www.kernel.org/pub/linux/docs/man-pages/man-pages-$pkgver.tar.xz
14 http://www.kernel.org/pub/linux/docs/$pkgname/$pkgname-posix/$pkgname-posix-${_posixver}.tar.bz2" 14 http://www.kernel.org/pub/linux/docs/$pkgname/$pkgname-posix/$pkgname-posix-${_posixver}.tar.bz2"
15 15
16build() { 16build() {
@@ -31,5 +31,5 @@ package() {
31 rm "$pkgdir"/usr/share/man/man3/iconv* 31 rm "$pkgdir"/usr/share/man/man3/iconv*
32 32
33} 33}
34md5sums="e41432ee35a49036bbaf8d4598506e9c man-pages-3.35.tar.gz 34md5sums="6b25e0411e203aa28ae2cb25a692a224 man-pages-3.37.tar.xz
357c78aff03c0a6767ba483d34f19e4b09 man-pages-posix-2003-a.tar.bz2" 357c78aff03c0a6767ba483d34f19e4b09 man-pages-posix-2003-a.tar.bz2"
diff --git a/main/mercurial/APKBUILD b/main/mercurial/APKBUILD
index b96f7295df..c25a747d61 100644
--- a/main/mercurial/APKBUILD
+++ b/main/mercurial/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=mercurial 2pkgname=mercurial
3pkgver=2.1 3pkgver=2.1.1
4pkgrel=0 4pkgrel=0
5pkgdesc="A scalable distributed SCM tool" 5pkgdesc="A scalable distributed SCM tool"
6url="http://www.selenic.com/mercurial" 6url="http://www.selenic.com/mercurial"
@@ -30,4 +30,4 @@ package() {
30 install -Dm644 contrib/vim/HGAnnotate.vim \ 30 install -Dm644 contrib/vim/HGAnnotate.vim \
31 "${vimpath}/syntax/HGAnnotate.vim" || return 1 31 "${vimpath}/syntax/HGAnnotate.vim" || return 1
32} 32}
33md5sums="d2ca44f8d0129ab50639143af99d9363 mercurial-2.1.tar.gz" 33md5sums="368fab4705ebd4d1296fdd6bd2fe6272 mercurial-2.1.1.tar.gz"
diff --git a/main/mesa-demos/APKBUILD b/main/mesa-demos/APKBUILD
index f522392e6c..e3d0463fff 100644
--- a/main/mesa-demos/APKBUILD
+++ b/main/mesa-demos/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=mesa-demos 3pkgname=mesa-demos
4pkgver=8.0.1 4pkgver=8.0.1
5pkgrel=3 5pkgrel=4
6pkgdesc="Mesa demos and utils" 6pkgdesc="Mesa demos and utils"
7url="http://mesa3d.sourceforge.net" 7url="http://mesa3d.sourceforge.net"
8arch="all" 8arch="all"
diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
index 41d4518acf..5269d13562 100644
--- a/main/mesa/APKBUILD
+++ b/main/mesa/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=mesa 2pkgname=mesa
3pkgver=7.11.2 3pkgver=8.0.1
4pkgrel=0 4pkgrel=1
5pkgdesc="Mesa DRI OpenGL library" 5pkgdesc="Mesa DRI OpenGL library"
6url="http://www.mesa3d.org" 6url="http://www.mesa3d.org"
7arch="all" 7arch="all"
@@ -10,13 +10,7 @@ depends=
10subpackages="$pkgname-dev 10subpackages="$pkgname-dev
11 $pkgname-dri-ati:ati 11 $pkgname-dri-ati:ati
12 $pkgname-dri-intel:intel 12 $pkgname-dri-intel:intel
13 $pkgname-dri-mach64:mach64
14 $pkgname-dri-mga:mga
15 $pkgname-dri-r128:r128
16 $pkgname-dri-savage:savage
17 $pkgname-dri-swrast:swrast 13 $pkgname-dri-swrast:swrast
18 $pkgname-dri-tdfx:tdfx
19 $pkgname-dri-unichrome:unichrome
20 $pkgname-dri-nouveau:nouveau 14 $pkgname-dri-nouveau:nouveau
21 $pkgname-dri-vmwgfx:vmwgfx 15 $pkgname-dri-vmwgfx:vmwgfx
22 $pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles 16 $pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles
@@ -25,13 +19,14 @@ subpackages="$pkgname-dev
25depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev 19depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev
26 libxdamage-dev libxfixes-dev libxcb-dev glproto" 20 libxdamage-dev libxfixes-dev libxcb-dev glproto"
27makedepends="$depends_dev expat-dev xextproto python libxt-dev makedepend 21makedepends="$depends_dev expat-dev xextproto python libxt-dev makedepend
28 talloc-dev py-libxml2 flex bison llvm-dev" 22 talloc-dev py-libxml2 flex bison llvm-dev
23 autoconf automake"
29source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2 24source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
30 mesa-7.10-uclibc.patch
31 mesa-7.10-uclibc-glsl.patch 25 mesa-7.10-uclibc-glsl.patch
32 mesa-7.10-uclibc-gallium.patch 26 mesa-7.10-uclibc-gallium.patch
27 imports-uclibc.patch
28 glx_ro_text_segm.patch
33 " 29 "
34# Mesa-7.10.1-nouveau-compile.patch
35 30
36 31
37_dri_driverdir=/usr/lib/xorg/modules/dri 32_dri_driverdir=/usr/lib/xorg/modules/dri
@@ -43,17 +38,18 @@ x86_64-*)
43 _intel_dri="i915_dri i965_dri" 38 _intel_dri="i915_dri i965_dri"
44 ;; 39 ;;
45i[3456789]86-*) 40i[3456789]86-*)
46 _intel_dri="i810_dri i915_dri i965_dri" 41 _intel_dri="i915_dri i965_dri"
47 subpackages="$subpackages $pkgname-dri-sis:sis"
48 ;; 42 ;;
49esac 43esac
50 44
51prepare() { 45prepare() {
52 cd "$_builddir" 46 cd "$_builddir"
53 for i in ../*.patch; do 47 for i in $source; do
54 msg "Applying $i..." 48 case $i in
55 patch -p1 -i $i || return 1 49 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
50 esac
56 done 51 done
52 aclocal && automake --add-missing && autoreconf || return 1
57} 53}
58 54
59dev() { 55dev() {
@@ -69,13 +65,12 @@ build() {
69 --disable-asm \ 65 --disable-asm \
70 --disable-glx-tls \ 66 --disable-glx-tls \
71 --with-driver=dri \ 67 --with-driver=dri \
72 --enable-xcb \
73 --enable-egl \ 68 --enable-egl \
74 --enable-gles2 \ 69 --enable-gles2 \
75 --with-gallium-drivers=i915,i965,nouveau,r300,r600,svga,swrast \ 70 --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast \
76 --disable-gallium-egl \ 71 --disable-gallium-egl \
77 --disable-glut \ 72 --enable-glx-rts \
78 --disable-glw || return 1 73 || return 1
79 74
80 make || return 1 75 make || return 1
81 76
@@ -131,19 +126,13 @@ _mv_dri() {
131} 126}
132 127
133ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri; } 128ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri; }
134intel() { _mv_dri $_intel_dri; } 129intel() { _mv_dri i915_dri i965_dri; }
135mach64() { _mv_dri mach64_dri; }
136mga() { _mv_dri mga_dri; }
137r128() { _mv_dri r128_dri; }
138savage() { _mv_dri savage_dri; }
139sis() { _mv_dri sis_dri; }
140tdfx() { _mv_dri tdfx_dri; }
141unichrome() { _mv_dri unichrome_dri; }
142nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri; } 130nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri; }
143swrast() { _mv_dri swrast_dri swrastg_dri; } 131swrast() { _mv_dri swrast_dri; }
144vmwgfx() { _mv_dri vmwgfx_dri; } 132vmwgfx() { _mv_dri vmwgfx_dri; }
145 133
146md5sums="0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2 134md5sums="24eeebf66971809d8f40775a379b36c9 MesaLib-8.0.1.tar.bz2
1479c8c161f954f0d08895cd9d45e63f498 mesa-7.10-uclibc.patch
14803e9685b0d714e915c35fd0fb5fde810 mesa-7.10-uclibc-glsl.patch 13503e9685b0d714e915c35fd0fb5fde810 mesa-7.10-uclibc-glsl.patch
14990a2ea438ff328443a0436a91a74d518 mesa-7.10-uclibc-gallium.patch" 13690a2ea438ff328443a0436a91a74d518 mesa-7.10-uclibc-gallium.patch
1379dc5080bb4d9d436b476bfeb878ca224 imports-uclibc.patch
138a1a766b4c6a96d67cad9bd7ad5c578e8 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 0000000000..8cad4876b0
--- /dev/null
+++ b/main/mesa/glx_ro_text_segm.patch
@@ -0,0 +1,28 @@
12011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
2
3 #240956
4 * configure.ac add support to enable readonly test segment on x86
5
6--- ./configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
7+++ ./configure.ac 2008-11-17 23:20:17.000000000 +0100
8@@ -499,6 +499,20 @@
9 enable_xcb=no
10 fi
11
12+
13+dnl readonly text segment on x86 hardened platforms
14+AC_ARG_ENABLE([glx_rts],
15+ [AS_HELP_STRING([--enable-glx-rts],
16+ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
17+ [enable_glx_rts="$enableval"],
18+ [enable_glx_rts=no])
19+if test "x$enable_glx_rts" = xyes; then
20+ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
21+else
22+ enable_glx_rts=no
23+fi
24+
25+
26 dnl
27 dnl libGL configuration per driver
28 dnl
diff --git a/main/mesa/imports-uclibc.patch b/main/mesa/imports-uclibc.patch
new file mode 100644
index 0000000000..d27d5af4d3
--- /dev/null
+++ b/main/mesa/imports-uclibc.patch
@@ -0,0 +1,11 @@
1--- ./src/mesa/main/imports.c.orig
2+++ ./src/mesa/main/imports.c
3@@ -767,7 +767,7 @@
4 _mesa_strtof( const char *s, char **end )
5 {
6 #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \
7- !defined(ANDROID)
8+ !defined(ANDROID) && !defined(__UCLIBC__)
9 static locale_t loc = NULL;
10 if (!loc) {
11 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 54d7d8c833..0000000000
--- a/main/mesa/mesa-7.10-uclibc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1--- Mesa-7.10/src/mesa/main/imports.c
2+++ Mesa-7.10.mod/src/mesa/main/imports.c
3@@ -757,7 +757,7 @@
4 float
5 _mesa_strtof( const char *s, char **end )
6 {
7-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
8+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
9 static locale_t loc = NULL;
10 if (!loc) {
11 loc = newlocale(LC_CTYPE_MASK, "C", NULL);
12Only in Mesa-7.10.mod: src/mesa/main/imports.c.orig
13Only in Mesa-7.10.mod: src/mesa/main/imports.c.rej
diff --git a/main/midori/APKBUILD b/main/midori/APKBUILD
index 67ad24f8f2..a487cb8090 100644
--- a/main/midori/APKBUILD
+++ b/main/midori/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=midori 2pkgname=midori
3pkgver=0.4.3 3pkgver=0.4.4
4pkgrel=0 4pkgrel=0
5pkgdesc="A lightweight web browser based on Gtk WebKit" 5pkgdesc="A lightweight web browser based on Gtk WebKit"
6url="http://www.twotoasts.de/index.php?/pages/midori_summary.html" 6url="http://www.twotoasts.de/index.php?/pages/midori_summary.html"
@@ -48,4 +48,4 @@ package() {
48 # PAX does not like the JIT 48 # PAX does not like the JIT
49 paxctl -c -m -p "$pkgdir"/usr/bin/midori 49 paxctl -c -m -p "$pkgdir"/usr/bin/midori
50} 50}
51md5sums="900037557b82818d79d2dd1c5a7d7fd2 midori-0.4.3.tar.bz2" 51md5sums="a6578ebfd237c0f22cce49113b95f70c midori-0.4.4.tar.bz2"
diff --git a/testing/mp3splt-gtk/APKBUILD b/main/mp3splt-gtk/APKBUILD
index f8b83a6de5..d04162e760 100644
--- a/testing/mp3splt-gtk/APKBUILD
+++ b/main/mp3splt-gtk/APKBUILD
@@ -2,17 +2,19 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=mp3splt-gtk 3pkgname=mp3splt-gtk
4pkgver=0.7 4pkgver=0.7
5pkgrel=0 5pkgrel=1
6pkgdesc="Gtk frontend for mp3splt" 6pkgdesc="Gtk frontend for mp3splt"
7url="http://mp3splt.sourceforge.net/" 7url="http://mp3splt.sourceforge.net/"
8arch="all" 8arch="all"
9license="GPLv2" 9license="GPLv2"
10depends="" 10depends=""
11makedepends="gtk+-dev gst-plugins-base-dev gnome-doc-utils libmp3splt-dev 11makedepends="gtk+-dev gst-plugins-base-dev gnome-doc-utils libmp3splt-dev
12 audacious-dev" 12 audacious-dev
13 autoconf automake libtool"
13install="" 14install=""
14subpackages="$pkgname-doc $pkgname-lang" 15subpackages="$pkgname-doc $pkgname-lang"
15source="http://prdownloads.sourceforge.net/mp3splt/mp3splt-gtk-$pkgver.tar.gz" 16source="http://prdownloads.sourceforge.net/mp3splt/mp3splt-gtk-$pkgver.tar.gz
17 dbus-glib-underlinking.patch"
16 18
17_builddir="$srcdir"/mp3splt-gtk-$pkgver 19_builddir="$srcdir"/mp3splt-gtk-$pkgver
18prepare() { 20prepare() {
@@ -23,6 +25,7 @@ prepare() {
23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
24 esac 26 esac
25 done 27 done
28 aclocal && autoreconf
26} 29}
27 30
28build() { 31build() {
@@ -39,4 +42,5 @@ package() {
39 rm -f "$pkgdir"/usr/lib/*.la 42 rm -f "$pkgdir"/usr/lib/*.la
40} 43}
41 44
42md5sums="a1cefffb7ea78ae7c07c8d3ba7a2630b mp3splt-gtk-0.7.tar.gz" 45md5sums="a1cefffb7ea78ae7c07c8d3ba7a2630b mp3splt-gtk-0.7.tar.gz
469531efb02e98624356bda87c92be7cce 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 0000000000..87623236ea
--- /dev/null
+++ b/main/mp3splt-gtk/dbus-glib-underlinking.patch
@@ -0,0 +1,27 @@
1diff --git a/configure.ac b/configure.ac
2index bddace0..b4bb928 100644
3--- a/configure.ac
4+++ b/configure.ac
5@@ -121,6 +121,9 @@ AC_MSG_RESULT($HOST)
6 #check for -lm
7 AC_CHECK_LIB(m, pow, [ haslm="yes" ] , [ AC_MSG_ERROR([libm not found !]) ] )
8
9+# check for dbus-glib
10+PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1)
11+
12 #################################################
13 # Initialize the gnome integration
14 #################################################
15diff --git a/src/Makefile.am b/src/Makefile.am
16index fce2976..6e80355 100644
17--- a/src/Makefile.am
18+++ b/src/Makefile.am
19@@ -48,7 +48,7 @@ mp3splt_gtk_SOURCES = \
20
21 INCLUDES = @GTK_CFLAGS@ @MP3SPLT_CFLAGS@
22
23-mp3splt_gtk_LDADD = @GTK_LIBS@ -lgthread-2.0 @MP3SPLT_LIBS@ -lm
24+mp3splt_gtk_LDADD = @GTK_LIBS@ -lgthread-2.0 @MP3SPLT_LIBS@ @DBUS_GLIB_LIBS@ -lm
25
26 # Define a C macro LOCALEDIR indicating where catalogs will be installed.
27 localedir = $(datadir)/locale
diff --git a/testing/mp3splt/APKBUILD b/main/mp3splt/APKBUILD
index b411ffee05..3d3132d51a 100644
--- a/testing/mp3splt/APKBUILD
+++ b/main/mp3splt/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=mp3splt 3pkgname=mp3splt
4pkgver=2.4 4pkgver=2.4.1
5pkgrel=0 5pkgrel=0
6pkgdesc="A command-line, AlbumWrap and mp3wrap file exctractor" 6pkgdesc="A command-line, AlbumWrap and mp3wrap file exctractor"
7url="http://mp3splt.sourceforge.net/" 7url="http://mp3splt.sourceforge.net/"
@@ -39,4 +39,4 @@ package() {
39 rm -f "$pkgdir"/usr/lib/*.la 39 rm -f "$pkgdir"/usr/lib/*.la
40} 40}
41 41
42md5sums="aa4dc3de6e789961c71d8b3daaac0623 mp3splt-2.4.tar.gz" 42md5sums="aed4a94f996abcdb07679206a600fc5b mp3splt-2.4.1.tar.gz"
diff --git a/main/mpc/APKBUILD b/main/mpc/APKBUILD
index 79384659b2..9822493eda 100644
--- a/main/mpc/APKBUILD
+++ b/main/mpc/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=mpc 2pkgname=mpc
3pkgver=0.21 3pkgver=0.22
4pkgrel=0 4pkgrel=0
5pkgdesc="Minimalist command line interface to MPD" 5pkgdesc="Minimalist command line interface to MPD"
6url="http://mpd.wikia.com/wiki/Client:Mpc" 6url="http://mpd.wikia.com/wiki/Client:Mpc"
@@ -21,4 +21,4 @@ package() {
21 cd "$srcdir"/mpc-$pkgver 21 cd "$srcdir"/mpc-$pkgver
22 make DESTDIR="$pkgdir" install || return 1 22 make DESTDIR="$pkgdir" install || return 1
23} 23}
24md5sums="d8f88aad5fa7ed4c6e7005c5ec1ba7c5 mpc-0.21.tar.bz2" 24md5sums="6a84bba413084c9ef453f4ba8d252ef6 mpc-0.22.tar.bz2"
diff --git a/main/mplayer/APKBUILD b/main/mplayer/APKBUILD
index ce8b1a1fac..fb5f28bfac 100644
--- a/main/mplayer/APKBUILD
+++ b/main/mplayer/APKBUILD
@@ -2,7 +2,7 @@
2pkgname=mplayer 2pkgname=mplayer
3pkgver=1.0_rc4 3pkgver=1.0_rc4
4_ver=${pkgver%_*}${pkgver#*_} 4_ver=${pkgver%_*}${pkgver#*_}
5pkgrel=7 5pkgrel=8
6pkgdesc="A movie player for linux" 6pkgdesc="A movie player for linux"
7url="http://www.mplayerhq.hu/" 7url="http://www.mplayerhq.hu/"
8arch="all" 8arch="all"
diff --git a/main/mysql/APKBUILD b/main/mysql/APKBUILD
index af00455f34..7f917b8fbc 100644
--- a/main/mysql/APKBUILD
+++ b/main/mysql/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=mysql 3pkgname=mysql
4pkgver=5.5.20 4pkgver=5.5.21
5pkgrel=1 5pkgrel=0
6pkgdesc="A fast SQL database server" 6pkgdesc="A fast SQL database server"
7url="http://www.mysql.com/" 7url="http://www.mysql.com/"
8pkgusers="mysql" 8pkgusers="mysql"
@@ -187,6 +187,6 @@ bench() {
187 mv "$pkgdir"/usr/share/sql-bench "$subpkgdir"/usr/share/ 187 mv "$pkgdir"/usr/share/sql-bench "$subpkgdir"/usr/share/
188} 188}
189 189
190md5sums="375794ebf84b4c7b63f1676bc7416cd0 mysql-5.5.20.tar.gz 190md5sums="86d6bd335054a0aed1756ed60574c16d mysql-5.5.21.tar.gz
191b2b038b1905fa5b80f6723d0ee2f811f mysql-prefer-dynamic-library.patch 191b2b038b1905fa5b80f6723d0ee2f811f mysql-prefer-dynamic-library.patch
192799b154c4ab8a1971d2753ab584a466a mysql.initd" 192799b154c4ab8a1971d2753ab584a466a mysql.initd"
diff --git a/main/nautilus/APKBUILD b/main/nautilus/APKBUILD
index 90df7a7469..4f7593f6b8 100644
--- a/main/nautilus/APKBUILD
+++ b/main/nautilus/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=nautilus 3pkgname=nautilus
4pkgver=2.32.2 4pkgver=2.32.2
5pkgrel=2 5pkgrel=3
6pkgdesc="GNOME file manager" 6pkgdesc="GNOME file manager"
7url="http://projects.gnome.org/nautilus" 7url="http://projects.gnome.org/nautilus"
8arch="all" 8arch="all"
@@ -27,8 +27,9 @@ depends_dev="gtk+-dev
27 libxcb-dev" 27 libxcb-dev"
28makedepends="$depends_dev intltool gobject-introspection-dev" 28makedepends="$depends_dev intltool gobject-introspection-dev"
29install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade" 29install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade"
30subpackages="$pkgname-dev" 30subpackages="$pkgname-dev $pkgname-lang"
31source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" 31source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
32 g_const_return.patch"
32 33
33_builddir="${srcdir}/${pkgname}-${pkgver}" 34_builddir="${srcdir}/${pkgname}-${pkgver}"
34prepare() { 35prepare() {
@@ -45,7 +46,7 @@ build() {
45 cd "$_builddir" 46 cd "$_builddir"
46 ./configure --prefix=/usr \ 47 ./configure --prefix=/usr \
47 --sysconfdir=/etc \ 48 --sysconfdir=/etc \
48 --disable-scrollkeeper || return 1 49 || return 1
49 make || return 1 50 make || return 1
50} 51}
51 52
@@ -59,4 +60,5 @@ package() {
59 find "$pkgdir" -name '*.la' -delete 60 find "$pkgdir" -name '*.la' -delete
60} 61}
61 62
62md5sums="51565aa10d1625dff56e381228346911 nautilus-2.32.2.tar.bz2" 63md5sums="51565aa10d1625dff56e381228346911 nautilus-2.32.2.tar.bz2
6469329cf155b211d6143fcdc68a8695bf 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 0000000000..330ae0b22a
--- /dev/null
+++ b/main/nautilus/g_const_return.patch
@@ -0,0 +1,191 @@
1diff --git a/eel/eel-editable-label.c b/eel/eel-editable-label.c
2index b21bfea..63a3ccf 100644
3--- a/eel/eel-editable-label.c
4+++ b/eel/eel-editable-label.c
5@@ -682,7 +682,7 @@ eel_editable_label_set_text (EelEditableLabel *label,
6 * Return value: the text in the label widget. This is the internal
7 * string used by the label, and must not be modified.
8 **/
9-G_CONST_RETURN gchar *
10+const gchar *
11 eel_editable_label_get_text (EelEditableLabel *label)
12 {
13 g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), NULL);
14@@ -4292,7 +4292,7 @@ eel_editable_label_accessible_initialize (AtkObject *accessible,
15 atk_object_set_role (accessible, ATK_ROLE_TEXT);
16 }
17
18-static G_CONST_RETURN gchar*
19+static const gchar*
20 eel_editable_label_accessible_get_name (AtkObject *accessible)
21 {
22 if (accessible->name != NULL)
23diff --git a/eel/eel-editable-label.h b/eel/eel-editable-label.h
24index 30069dc..b0adaec 100644
25--- a/eel/eel-editable-label.h
26+++ b/eel/eel-editable-label.h
27@@ -112,7 +112,7 @@ GType eel_editable_label_get_type (void) G_GNUC_CONST;
28 GtkWidget* eel_editable_label_new (const char *str);
29 void eel_editable_label_set_text (EelEditableLabel *label,
30 const char *str);
31-G_CONST_RETURN gchar* eel_editable_label_get_text (EelEditableLabel *label);
32+const gchar* eel_editable_label_get_text (EelEditableLabel *label);
33 void eel_editable_label_set_justify (EelEditableLabel *label,
34 GtkJustification jtype);
35 GtkJustification eel_editable_label_get_justify (EelEditableLabel *label);
36diff --git a/eel/eel-i18n.c b/eel/eel-i18n.c
37index 83f9fec..98e36c5 100644
38--- a/eel/eel-i18n.c
39+++ b/eel/eel-i18n.c
40@@ -32,7 +32,7 @@
41
42
43
44-G_CONST_RETURN char *
45+const char *
46 _eel_gettext (const char *str)
47 {
48 static gboolean _eel_gettext_initialized = FALSE;
49diff --git a/eel/eel-i18n.h b/eel/eel-i18n.h
50index b455689..6db832b 100644
51--- a/eel/eel-i18n.h
52+++ b/eel/eel-i18n.h
53@@ -28,7 +28,7 @@
54 #ifdef ENABLE_NLS
55 #include <glib.h>
56
57-G_CONST_RETURN char *
58+const char *
59 _eel_gettext (const char *str) G_GNUC_FORMAT (1);
60
61 #include <libintl.h>
62diff --git a/eel/eel-labeled-image.c b/eel/eel-labeled-image.c
63index 90df383..a56e952 100644
64--- a/eel/eel-labeled-image.c
65+++ b/eel/eel-labeled-image.c
66@@ -2140,7 +2140,7 @@ get_image (gpointer object)
67 return EEL_LABELED_IMAGE (widget);
68 }
69
70-static G_CONST_RETURN gchar *
71+static const gchar *
72 eel_labeled_image_accessible_get_name (AtkObject *accessible)
73 {
74 EelLabeledImage *labeled_image;
75diff --git a/libnautilus-private/nautilus-icon-canvas-item.c b/libnautilus-private/nautilus-icon-canvas-item.c
76index a31623a..1aece5a 100644
77--- a/libnautilus-private/nautilus-icon-canvas-item.c
78+++ b/libnautilus-private/nautilus-icon-canvas-item.c
79@@ -2878,7 +2878,7 @@ nautilus_icon_canvas_item_accessible_action_interface_init (AtkActionIface *ifac
80 iface->set_description = nautilus_icon_canvas_item_accessible_action_set_description;
81 }
82
83-static G_CONST_RETURN gchar *
84+static const gchar *
85 nautilus_icon_canvas_item_accessible_get_name (AtkObject *accessible)
86 {
87 NautilusIconCanvasItem *item;
88@@ -2894,7 +2894,7 @@ nautilus_icon_canvas_item_accessible_get_name (AtkObject *accessible)
89 return item->details->editable_text;
90 }
91
92-static G_CONST_RETURN gchar*
93+static const gchar*
94 nautilus_icon_canvas_item_accessible_get_description (AtkObject *accessible)
95 {
96 NautilusIconCanvasItem *item;
97@@ -3055,7 +3055,7 @@ nautilus_icon_canvas_item_accessible_class_init (AtkObjectClass *klass)
98 }
99
100
101-static G_CONST_RETURN gchar *
102+static const gchar *
103 nautilus_icon_canvas_item_accessible_get_image_description
104 (AtkImage *image)
105 {
106diff --git a/libnautilus-private/nautilus-icon-info.c b/libnautilus-private/nautilus-icon-info.c
107index f39ad42..af023ba 100644
108--- a/libnautilus-private/nautilus-icon-info.c
109+++ b/libnautilus-private/nautilus-icon-info.c
110@@ -573,13 +573,13 @@ nautilus_icon_info_get_attach_points (NautilusIconInfo *icon,
111 return icon->n_attach_points != 0;
112 }
113
114-G_CONST_RETURN char *
115+const char *
116 nautilus_icon_info_get_display_name (NautilusIconInfo *icon)
117 {
118 return icon->display_name;
119 }
120
121-G_CONST_RETURN char *
122+const char *
123 nautilus_icon_info_get_used_name (NautilusIconInfo *icon)
124 {
125 return icon->icon_name;
126diff --git a/libnautilus-private/nautilus-icon-info.h b/libnautilus-private/nautilus-icon-info.h
127index 5ef6cd2..861abfd 100644
128--- a/libnautilus-private/nautilus-icon-info.h
129+++ b/libnautilus-private/nautilus-icon-info.h
130@@ -72,8 +72,8 @@ gboolean nautilus_icon_info_get_embedded_rect (NautilusI
131 gboolean nautilus_icon_info_get_attach_points (NautilusIconInfo *icon,
132 GdkPoint **points,
133 gint *n_points);
134-G_CONST_RETURN char *nautilus_icon_info_get_display_name (NautilusIconInfo *icon);
135-G_CONST_RETURN char *nautilus_icon_info_get_used_name (NautilusIconInfo *icon);
136+const char *nautilus_icon_info_get_display_name (NautilusIconInfo *icon);
137+const char *nautilus_icon_info_get_used_name (NautilusIconInfo *icon);
138
139 void nautilus_icon_info_clear_caches (void);
140
141diff --git a/libnautilus-private/nautilus-search-engine-beagle.c b/libnautilus-private/nautilus-search-engine-beagle.c
142index 930923f..1129d6c 100644
143--- a/libnautilus-private/nautilus-search-engine-beagle.c
144+++ b/libnautilus-private/nautilus-search-engine-beagle.c
145@@ -69,7 +69,7 @@ typedef enum {
146 static gboolean (*beagle_client_send_request_async) (BeagleClient *client,
147 BeagleRequest *request,
148 GError **err) = NULL;
149-static G_CONST_RETURN char *(*beagle_hit_get_uri) (BeagleHit *hit) = NULL;
150+static const char *(*beagle_hit_get_uri) (BeagleHit *hit) = NULL;
151 static GSList *(*beagle_hits_added_response_get_hits) (BeagleHitsAddedResponse *response) = NULL;
152 static BeagleQuery *(*beagle_query_new) (void) = NULL;
153 static void (*beagle_query_add_text) (BeagleQuery *query,
154diff --git a/src/nautilus-zoom-control.c b/src/nautilus-zoom-control.c
155index 2907cd7..2d399c3 100644
156--- a/src/nautilus-zoom-control.c
157+++ b/src/nautilus-zoom-control.c
158@@ -748,7 +748,7 @@ nautilus_zoom_control_accessible_get_n_actions (AtkAction *accessible)
159 return NUM_ACTIONS;
160 }
161
162-static G_CONST_RETURN char *
163+static const char *
164 nautilus_zoom_control_accessible_action_get_description (AtkAction *accessible,
165 int i)
166 {
167@@ -757,7 +757,7 @@ nautilus_zoom_control_accessible_action_get_description (AtkAction *accessible,
168 return _(nautilus_zoom_control_accessible_action_descriptions[i]);
169 }
170
171-static G_CONST_RETURN char *
172+static const char *
173 nautilus_zoom_control_accessible_action_get_name (AtkAction *accessible,
174 int i)
175 {
176@@ -884,13 +884,13 @@ nautilus_zoom_control_accessible_value_interface_init (AtkValueIface *iface)
177 iface->set_current_value = nautilus_zoom_control_accessible_set_current_value;
178 }
179
180-static G_CONST_RETURN char *
181+static const char *
182 nautilus_zoom_control_accessible_get_name (AtkObject *accessible)
183 {
184 return _("Zoom");
185 }
186
187-static G_CONST_RETURN char *
188+static const char *
189 nautilus_zoom_control_accessible_get_description (AtkObject *accessible)
190 {
191 return _("Set the zoom level of the current view");
diff --git a/testing/nettle/APKBUILD b/main/nettle/APKBUILD
index 5fe4356b99..6026ccef95 100644
--- a/testing/nettle/APKBUILD
+++ b/main/nettle/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch 2# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch
3pkgname=nettle 3pkgname=nettle
4pkgver=2.4 4pkgver=2.4
5pkgrel=0 5pkgrel=1
6pkgdesc="A low-level cryptographic library" 6pkgdesc="A low-level cryptographic library"
7url="http://www.lysator.liu.se/~nisse/nettle/" 7url="http://www.lysator.liu.se/~nisse/nettle/"
8arch="all" 8arch="all"
@@ -11,7 +11,7 @@ depends=""
11depends_dev="gmp-dev m4" 11depends_dev="gmp-dev m4"
12makedepends="$depends_dev" 12makedepends="$depends_dev"
13install="" 13install=""
14subpackages="$pkgname-dev $pkgname-doc" 14subpackages="$pkgname-dev $pkgname-doc $pkgname-utils"
15source="ftp://ftp.lysator.liu.se/pub/security/lsh/$pkgname-$pkgver.tar.gz 15source="ftp://ftp.lysator.liu.se/pub/security/lsh/$pkgname-$pkgver.tar.gz
16 nettle-2.4-makefile.patch" 16 nettle-2.4-makefile.patch"
17_builddir="$srcdir"/$pkgname-$pkgver 17_builddir="$srcdir"/$pkgname-$pkgver
@@ -46,5 +46,11 @@ package() {
46 rm -f "$pkgdir"/usr/lib/*.la 46 rm -f "$pkgdir"/usr/lib/*.la
47} 47}
48 48
49utils() {
50 pkgdesc="Utils for nettle"
51 mkdir -p "$subpkgdir"/usr
52 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
53}
54
49md5sums="450be8c4886d46c09f49f568ad6fa013 nettle-2.4.tar.gz 55md5sums="450be8c4886d46c09f49f568ad6fa013 nettle-2.4.tar.gz
50b3a89964557b9fca040a84e9217b4b01 nettle-2.4-makefile.patch" 56b3a89964557b9fca040a84e9217b4b01 nettle-2.4-makefile.patch"
diff --git a/testing/nettle/nettle-2.4-makefile.patch b/main/nettle/nettle-2.4-makefile.patch
index c216365a11..c216365a11 100644
--- a/testing/nettle/nettle-2.4-makefile.patch
+++ b/main/nettle/nettle-2.4-makefile.patch
diff --git a/main/network-extras/APKBUILD b/main/network-extras/APKBUILD
new file mode 100644
index 0000000000..1c45b381c1
--- /dev/null
+++ b/main/network-extras/APKBUILD
@@ -0,0 +1,27 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=network-extras
4pkgver=1.0
5pkgrel=0
6pkgdesc="Meta package to pull in vlan, bonding, bridge and wifi support"
7url="http://alpinelinux.org"
8arch="noarch"
9license="GPL"
10depends="bridge bonding vlan wpa_supplicant wireless-tools"
11makedepends=""
12install=""
13subpackages=""
14source=""
15
16prepare() {
17 return 0
18}
19
20build() {
21 return 0
22}
23
24package() {
25 mkdir -p "$pkgdir"
26}
27
diff --git a/testing/nfdump/APKBUILD b/main/nfdump/APKBUILD
index 55083c8fcf..55083c8fcf 100644
--- a/testing/nfdump/APKBUILD
+++ b/main/nfdump/APKBUILD
diff --git a/testing/nfdump/nfcapd.confd b/main/nfdump/nfcapd.confd
index fb9afb6e32..fb9afb6e32 100644
--- a/testing/nfdump/nfcapd.confd
+++ b/main/nfdump/nfcapd.confd
diff --git a/testing/nfdump/nfcapd.initd b/main/nfdump/nfcapd.initd
index 5f8506812d..5f8506812d 100644
--- a/testing/nfdump/nfcapd.initd
+++ b/main/nfdump/nfcapd.initd
diff --git a/main/nginx/APKBUILD b/main/nginx/APKBUILD
index dd83e2aeeb..1cdb287b64 100644
--- a/main/nginx/APKBUILD
+++ b/main/nginx/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Cameron Banta <cbanta@gmail.com> 2# Maintainer: Cameron Banta <cbanta@gmail.com>
3pkgname=nginx 3pkgname=nginx
4pkgver=1.0.11 4pkgver=1.0.11
5pkgrel=0 5pkgrel=1
6pkgdesc="nginx [engine x] is a HTTP and reverse proxy server" 6pkgdesc="nginx [engine x] is a HTTP and reverse proxy server"
7url="http://www.nginx.org" 7url="http://www.nginx.org"
8arch="all" 8arch="all"
diff --git a/main/ngircd/APKBUILD b/main/ngircd/APKBUILD
index 9a06d94ea6..98708eb31a 100644
--- a/main/ngircd/APKBUILD
+++ b/main/ngircd/APKBUILD
@@ -2,39 +2,51 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=ngircd 3pkgname=ngircd
4pkgver=18 4pkgver=18
5pkgrel=1 5pkgrel=3
6pkgdesc="Next Generation IRC Daemon" 6pkgdesc="Next Generation IRC Daemon"
7url="http://ngircd.barton.de/" 7url="http://ngircd.barton.de/"
8arch="all" 8arch="all"
9license="GPL" 9license="GPL"
10depends= 10depends=
11makedepends="openssl-dev zlib-dev" 11makedepends="openssl-dev zlib-dev linux-pam-dev"
12install="$pkgname.pre-install" 12install="$pkgname.pre-install"
13source="ftp://ftp.berlios.de/pub/$pkgname/$pkgname-$pkgver.tar.gz 13source="ftp://ftp.berlios.de/pub/$pkgname/$pkgname-$pkgver.tar.gz
14 client_user_len.patch
14 $pkgname.initd 15 $pkgname.initd
15 " 16 "
16 17_builddir="$srcdir"/$pkgname-$pkgver
18prepare() {
19 cd "$_builddir"
20 for i in $source; do
21 case $i in
22 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
23 esac
24 done
25# sed -i \
26# -e "s:/usr/local/etc/ngircd.motd:/etc/ngircd/ngircd.motd:" \
27# -e "s:;ServerUID = 65534:ServerUID = ngircd:" \
28# -e "s:;ServerGID = 65534:ServerGID = nogroup:" \
29# doc/sample-ngircd.conf
30}
31
17build() { 32build() {
18 cd "$srcdir"/$pkgname-$pkgver 33 cd "$_builddir"
19 sed -i \
20 -e "s:/usr/local/etc/ngircd.motd:/etc/ngircd/ngircd.motd:" \
21 -e "s:;ServerUID = 65534:ServerUID = ngircd:" \
22 -e "s:;ServerGID = 65534:ServerGID = nogroup:" \
23 doc/sample-ngircd.conf
24
25 ./configure --prefix=/usr \ 34 ./configure --prefix=/usr \
26 --sysconfdir=/etc/ngircd \ 35 --sysconfdir=/etc/ngircd \
27 --mandir=/usr/share/man \ 36 --mandir=/usr/share/man \
28 --without-ident \ 37 --without-ident \
29 --with-openssl 38 --with-openssl \
39 --with-pam \
40 || return 1
30 make || return 1 41 make || return 1
31} 42}
32 43
33package() { 44package() {
34 cd "$srcdir"/$pkgname-$pkgver 45 cd "$_builddir"
35 make DESTDIR="$pkgdir" install || return 1 46 make DESTDIR="$pkgdir" install || return 1
36 install -Dm755 ../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname 47 install -Dm755 ../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
37} 48}
38 49
39md5sums="4958c8b2d128cf3e9888af3f782892a1 ngircd-18.tar.gz 50md5sums="4958c8b2d128cf3e9888af3f782892a1 ngircd-18.tar.gz
5128b810151fd16c716ed685fc8ac72441 client_user_len.patch
40628548a938f27fedcb6797c427bf0035 ngircd.initd" 52628548a938f27fedcb6797c427bf0035 ngircd.initd"
diff --git a/main/ngircd/client_user_len.patch b/main/ngircd/client_user_len.patch
new file mode 100644
index 0000000000..f2e564e713
--- /dev/null
+++ b/main/ngircd/client_user_len.patch
@@ -0,0 +1,11 @@
1--- ./src/ngircd/defines.h.orig
2+++ ./src/ngircd/defines.h
3@@ -40,7 +40,7 @@
4 * section 1.2.1 */
5 #define CLIENT_NICK_LEN 32 /* Maximum nick name length */
6 #define CLIENT_PASS_LEN 21 /* Max. password length */
7-#define CLIENT_USER_LEN 10 /* Max. length of user name ("login")
8+#define CLIENT_USER_LEN 64 /* Max. length of user name ("login")
9 see RFC 2812, section 1.2.1 */
10 #define CLIENT_NAME_LEN 32 /* Max. length of "real names" */
11 #define CLIENT_HOST_LEN 64 /* Max. host name length */
diff --git a/main/nsd/APKBUILD b/main/nsd/APKBUILD
index 7261802245..fcda2fe9dc 100644
--- a/main/nsd/APKBUILD
+++ b/main/nsd/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Matt Smith <mcs@darkregion.net> 1# Contributor: Matt Smith <mcs@darkregion.net>
2# Maintainer: Matt Smith <mcs@darkregion.net> 2# Maintainer: Matt Smith <mcs@darkregion.net>
3pkgname=nsd 3pkgname=nsd
4pkgver=3.2.9 4pkgver=3.2.10
5pkgrel=0 5pkgrel=0
6pkgdesc="NSD is an authoritative only, high performance, simple and open source name server." 6pkgdesc="NSD is an authoritative only, high performance, simple and open source name server."
7url="http://www.nlnetlabs.nl/projects/nsd/" 7url="http://www.nlnetlabs.nl/projects/nsd/"
@@ -69,7 +69,7 @@ doc() {
69 "$subpkgdir"/usr/share/man || return 1 69 "$subpkgdir"/usr/share/man || return 1
70} 70}
71 71
72md5sums="248a5fbce6cd3642ad7a75aaaab88931 nsd-3.2.9.tar.gz 72md5sums="befbacb3d57b7aac5b6af477c8ee75e3 nsd-3.2.10.tar.gz
73cc592572846b978a6f52130a8e518ab3 0010-stop-unlink-pid-error.patch 73cc592572846b978a6f52130a8e518ab3 0010-stop-unlink-pid-error.patch
743aa94004a39319db89a329e9f24fb9da nsdc 743aa94004a39319db89a329e9f24fb9da nsdc
754c0eef07caac9083aeeb9b15602d014d nsd.initd 754c0eef07caac9083aeeb9b15602d014d nsd.initd
diff --git a/main/nspr/APKBUILD b/main/nspr/APKBUILD
index e08865f8bd..68eee1fcc1 100644
--- a/main/nspr/APKBUILD
+++ b/main/nspr/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=nspr 2pkgname=nspr
3pkgver=4.8.9 3pkgver=4.9
4pkgrel=0 4pkgrel=0
5pkgdesc="Netscape Portable Runtime" 5pkgdesc="Netscape Portable Runtime"
6url="http://www.mozilla.org/projects/nspr/" 6url="http://www.mozilla.org/projects/nspr/"
@@ -12,7 +12,7 @@ subpackages="$pkgname-dev"
12source="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$pkgver/src/nspr-$pkgver.tar.gz 12source="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$pkgver/src/nspr-$pkgver.tar.gz
13 nspr-4.7.0-prtime.patch 13 nspr-4.7.0-prtime.patch
14 nspr-4.8-config.patch 14 nspr-4.8-config.patch
15 nspr-4.8-pkgconfig-gentoo-3.patch 15 nspr-4.9-pkgconfig-gentoo.patch
16 nspr-bb-shell.patch 16 nspr-bb-shell.patch
17 " 17 "
18 18
@@ -67,8 +67,8 @@ package() {
67 "$pkgdir"/usr/include/nspr/md 67 "$pkgdir"/usr/include/nspr/md
68} 68}
69 69
70md5sums="60770d45dc08c0f181b22cdfce5be3e8 nspr-4.8.9.tar.gz 70md5sums="aa0c960b23a9d66a3c30c3e6ba80a99a nspr-4.9.tar.gz
71c48e1f47799c1cff7e3bf46dc0e653f1 nspr-4.7.0-prtime.patch 71c48e1f47799c1cff7e3bf46dc0e653f1 nspr-4.7.0-prtime.patch
72c790c638a7c9fd1d731272f464f065c6 nspr-4.8-config.patch 72c790c638a7c9fd1d731272f464f065c6 nspr-4.8-config.patch
73c31984cfcc167eb010aed949ace236ae nspr-4.8-pkgconfig-gentoo-3.patch 735ae4e4579f661d14fd37638531e87711 nspr-4.9-pkgconfig-gentoo.patch
746574eabdfbfcd246e0dfaf1aa8b0e695 nspr-bb-shell.patch" 746574eabdfbfcd246e0dfaf1aa8b0e695 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 89e042d957..0000000000
--- a/main/nspr/nspr-4.8-pkgconfig-gentoo-3.patch
+++ /dev/null
@@ -1,115 +0,0 @@
1diff -urN nspr-4.8-orig/mozilla/nsprpub/config/config.mk nspr-4.8/mozilla/nsprpub/config/config.mk
2--- nspr-4.8-orig/mozilla/nsprpub/config/config.mk 2009-09-12 00:43:47.678357452 -0500
3+++ nspr-4.8/mozilla/nsprpub/config/config.mk 2009-09-12 00:44:19.383381757 -0500
4@@ -162,3 +162,4 @@
5 RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
6 RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
7 RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
8+RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
9diff -urN nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in nspr-4.8/mozilla/nsprpub/config/Makefile.in
10--- nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:43:47.678357452 -0500
11+++ nspr-4.8/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:44:19.384379661 -0500
12@@ -52,9 +52,10 @@
13
14 # autoconf.mk must be deleted last (from the top-level directory)
15 # because it is included by every makefile.
16-DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
17+DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
18
19 RELEASE_BINS = nspr-config
20+RELEASE_PC = nspr.pc
21
22 include $(topsrcdir)/config/config.mk
23
24diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in nspr-4.8/mozilla/nsprpub/config/nspr-config.in
25--- nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:43:47.677356194 -0500
26+++ nspr-4.8/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:45:53.723359547 -0500
27@@ -92,13 +92,13 @@
28
29 # Set variables that may be dependent upon other variables
30 if test -z "$exec_prefix"; then
31- exec_prefix=@exec_prefix@
32+ exec_prefix=`pkg-config --variable=exec_prefix nspr`
33 fi
34 if test -z "$includedir"; then
35- includedir=@includedir@
36+ includedir=`pkg-config --variable=includedir nspr`
37 fi
38 if test -z "$libdir"; then
39- libdir=@libdir@
40+ libdir=`pkg-config --variable=libdir nspr`
41 fi
42
43 if test "$echo_prefix" = "yes"; then
44diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in nspr-4.8/mozilla/nsprpub/config/nspr.pc.in
45--- nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
46+++ nspr-4.8/mozilla/nsprpub/config/nspr.pc.in 2009-09-12 00:44:19.410432811 -0500
47@@ -0,0 +1,11 @@
48+prefix=@prefix@
49+exec_prefix=@exec_prefix@
50+libdir=@libdir@
51+includedir=@includedir@
52+
53+Name: NSPR
54+Description: The Netscape Portable Runtime
55+Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
56+Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ -lpthread -Wl,-R${libdir}
57+Cflags: -I${includedir}
58+
59diff -urN nspr-4.8-orig/mozilla/nsprpub/config/rules.mk nspr-4.8/mozilla/nsprpub/config/rules.mk
60--- nspr-4.8-orig/mozilla/nsprpub/config/rules.mk 2009-09-12 00:43:47.677356194 -0500
61+++ nspr-4.8/mozilla/nsprpub/config/rules.mk 2009-09-12 00:44:19.435517111 -0500
62@@ -211,7 +211,7 @@
63 rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
64 +$(LOOP_OVER_DIRS)
65
66-install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
67+install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
68 ifdef RELEASE_BINS
69 $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
70 endif
71@@ -221,6 +221,9 @@
72 ifdef RELEASE_LIBS
73 $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
74 endif
75+ifdef RELEASE_PC
76+ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
77+endif
78 +$(LOOP_OVER_DIRS)
79
80 release:: export
81@@ -272,6 +275,23 @@
82 fi
83 cp $(RELEASE_HEADERS) $(RELEASE_HEADERS_DEST)
84 endif
85+ifdef RELEASE_PC
86+ @echo "Copying pkg-config files to release directory"
87+ @if test -z "$(BUILD_NUMBER)"; then \
88+ echo "BUILD_NUMBER must be defined"; \
89+ false; \
90+ else \
91+ true; \
92+ fi
93+ @if test ! -d $(RELEASE_PC_DEST); then \
94+ rm -rf $(RELEASE_PC_DEST); \
95+ $(NSINSTALL) -D $(RELEASE_PC_DEST);\
96+ else \
97+ true; \
98+ fi
99+ cp $(RELEASE_PC) $(RELEASE_PC_DEST)
100+endif
101+
102 +$(LOOP_OVER_DIRS)
103
104 alltags:
105diff -urN nspr-4.8-orig/mozilla/nsprpub/configure.in nspr-4.8/mozilla/nsprpub/configure.in
106--- nspr-4.8-orig/mozilla/nsprpub/configure.in 2009-09-12 00:43:47.678357452 -0500
107+++ nspr-4.8/mozilla/nsprpub/configure.in 2009-09-12 00:44:19.451396074 -0500
108@@ -2871,6 +2871,7 @@
109 config/nsprincl.mk
110 config/nsprincl.sh
111 config/nspr-config
112+config/nspr.pc
113 lib/Makefile
114 lib/ds/Makefile
115 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 0000000000..56d7bb870f
--- /dev/null
+++ b/main/nspr/nspr-4.9-pkgconfig-gentoo.patch
@@ -0,0 +1,90 @@
1diff -urN a/mozilla/nsprpub/config/config.mk b/mozilla/nsprpub/config/config.mk
2--- a/mozilla/nsprpub/config/config.mk 2011-10-13 09:00:06.000000000 -0500
3+++ b/mozilla/nsprpub/config/config.mk 2012-02-20 17:52:11.364823693 -0600
4@@ -183,6 +183,7 @@
5 RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
6 RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
7 RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
8+RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
9
10 # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
11 # this file
12diff -urN a/mozilla/nsprpub/config/Makefile.in b/mozilla/nsprpub/config/Makefile.in
13--- a/mozilla/nsprpub/config/Makefile.in 2009-03-03 16:04:23.000000000 -0600
14+++ b/mozilla/nsprpub/config/Makefile.in 2012-02-20 17:53:06.490819923 -0600
15@@ -52,9 +52,10 @@
16
17 # autoconf.mk must be deleted last (from the top-level directory)
18 # because it is included by every makefile.
19-DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
20+DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
21
22 RELEASE_BINS = nspr-config
23+RELEASE_PC = nspr.pc
24
25 include $(topsrcdir)/config/config.mk
26
27diff -urN a/mozilla/nsprpub/config/nspr-config.in b/mozilla/nsprpub/config/nspr-config.in
28--- a/mozilla/nsprpub/config/nspr-config.in 2005-05-10 19:53:41.000000000 -0500
29+++ b/mozilla/nsprpub/config/nspr-config.in 2012-02-20 17:55:10.947811413 -0600
30@@ -92,13 +92,13 @@
31
32 # Set variables that may be dependent upon other variables
33 if test -z "$exec_prefix"; then
34- exec_prefix=@exec_prefix@
35+ exec_prefix=`pkg-config --variable=exec_prefix nspr`
36 fi
37 if test -z "$includedir"; then
38- includedir=@includedir@
39+ includedir=`pkg-config --variable=includedir nspr`
40 fi
41 if test -z "$libdir"; then
42- libdir=@libdir@
43+ libdir=`pkg-config --variable=libdir nspr`
44 fi
45
46 if test "$echo_prefix" = "yes"; then
47diff -urN a/mozilla/nsprpub/config/nspr.pc.in b/mozilla/nsprpub/config/nspr.pc.in
48--- a/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
49+++ b/mozilla/nsprpub/config/nspr.pc.in 2012-02-20 18:00:14.609790649 -0600
50@@ -0,0 +1,10 @@
51+prefix=@prefix@
52+exec_prefix=@exec_prefix@
53+libdir=@libdir@
54+includedir=@includedir@
55+
56+Name: NSPR
57+Description: The Netscape Portable Runtime
58+Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
59+Libs: -L@libdir@ -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ @OS_LIBS@
60+Cflags: -I@includedir@
61diff -urN a/mozilla/nsprpub/config/rules.mk b/mozilla/nsprpub/config/rules.mk
62--- a/mozilla/nsprpub/config/rules.mk 2011-08-29 12:02:51.000000000 -0500
63+++ b/mozilla/nsprpub/config/rules.mk 2012-02-20 18:11:56.112742680 -0600
64@@ -207,10 +207,14 @@
65 rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
66 +$(LOOP_OVER_DIRS)
67
68-install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
69+install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
70 ifdef RELEASE_BINS
71 $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
72 endif
73+ifdef RELEASE_PC
74+ $(NSINSTALL) -D $(DESTDIR)$(libdir)/pkgconfig
75+ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
76+endif
77 ifdef RELEASE_HEADERS
78 $(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)/$(include_subdir)
79 endif
80diff -urN a/mozilla/nsprpub/configure.in b/mozilla/nsprpub/configure.in
81--- a/mozilla/nsprpub/configure.in 2012-02-14 13:06:00.000000000 -0600
82+++ b/mozilla/nsprpub/configure.in 2012-02-20 18:09:55.776750908 -0600
83@@ -3357,6 +3357,7 @@
84 config/nsprincl.mk
85 config/nsprincl.sh
86 config/nspr-config
87+ config/nspr.pc
88 lib/Makefile
89 lib/ds/Makefile
90 lib/libc/Makefile
diff --git a/main/nss/APKBUILD b/main/nss/APKBUILD
index 16fbb59bf4..246e7571d3 100644
--- a/main/nss/APKBUILD
+++ b/main/nss/APKBUILD
@@ -1,8 +1,8 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=nss 2pkgname=nss
3pkgver=3.13.1 3pkgver=3.13.3
4_ver=${pkgver//./_} 4_ver=${pkgver//./_}
5pkgrel=1 5pkgrel=0
6pkgdesc="Mozilla Network Security Services" 6pkgdesc="Mozilla Network Security Services"
7url="http://www.mozilla.org/projects/security/pki/nss/" 7url="http://www.mozilla.org/projects/security/pki/nss/"
8arch="all" 8arch="all"
@@ -16,7 +16,6 @@ source="ftp://ftp.mozilla.org/pub/security/$pkgname/releases/NSS_${_ver}_RTM/src
16 nss-config.in 16 nss-config.in
17 add_spi+cacert_ca_certs.patch 17 add_spi+cacert_ca_certs.patch
18 ssl-renegotiate-transitional.patch 18 ssl-renegotiate-transitional.patch
19 bmo702090.patch
20 " 19 "
21depends_dev="nspr-dev" 20depends_dev="nspr-dev"
22 21
@@ -141,10 +140,9 @@ tools() {
141 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 140 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
142} 141}
143 142
144md5sums="c500f96d33ba1390c8a35c667e05e542 nss-3.13.1.tar.gz 143md5sums="006cb82fa900e9e664b4b14a9b7810ca nss-3.13.3.tar.gz
145e5c97db0c884d5f4cfda21e562dc9bba nss-no-rpath.patch 144e5c97db0c884d5f4cfda21e562dc9bba nss-no-rpath.patch
146c547b030c57fe1ed8b77c73bf52b3ded nss.pc.in 145c547b030c57fe1ed8b77c73bf52b3ded nss.pc.in
14746bee81908f1e5b26d6a7a2e14c64d9f nss-config.in 14646bee81908f1e5b26d6a7a2e14c64d9f nss-config.in
1487f39c19b1dfd62d7db7d8bf19f156fed add_spi+cacert_ca_certs.patch 1477f39c19b1dfd62d7db7d8bf19f156fed add_spi+cacert_ca_certs.patch
149d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch 148d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch"
150af8c6c19a3ef6df87141a67c6c600c13 bmo702090.patch"
diff --git a/main/nss/bmo702090.patch b/main/nss/bmo702090.patch
deleted file mode 100644
index e251485546..0000000000
--- a/main/nss/bmo702090.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1--- ./mozilla/security/nss/lib/util/pkcs11n.h.orig 2011-09-14 10:21:10.000000000 +0900
2+++ ./mozilla/security/nss/lib/util/pkcs11n.h 2011-11-19 00:45:01.131860104 +0900
3@@ -346,7 +346,7 @@
4 * labels have never been accurate to what was really implemented.
5 * The new labels correctly reflect what the values effectively mean.
6 */
7-#if __GNUC__ > 3
8+#if defined(__GNUC__) && (__GNUC__ > 3)
9 /* make GCC warn when we use these #defines */
10 /*
11 * This is really painful because GCC doesn't allow us to mark random
12@@ -362,7 +362,7 @@
13 * cast the resulting value to the deprecated type in the #define, thus
14 * producting the warning when the #define is used.
15 */
16-#if (__GNUC__ == 4) && (__GNUC_MINOR < 5)
17+#if (__GNUC__ == 4) && (__GNUC_MINOR__ < 5)
18 /* The mac doesn't like the friendlier deprecate messages. I'm assuming this
19 * is a gcc version issue rather than mac or ppc specific */
20 typedef CK_TRUST __CKT_NSS_UNTRUSTED __attribute__((deprecated));
diff --git a/main/ntop/APKBUILD b/main/ntop/APKBUILD
index 44ac5b65f4..4d260d442f 100644
--- a/main/ntop/APKBUILD
+++ b/main/ntop/APKBUILD
@@ -2,16 +2,18 @@
2# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> 2# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
3pkgname=ntop 3pkgname=ntop
4pkgver=4.1.0 4pkgver=4.1.0
5pkgrel=0 5pkgrel=1
6pkgdesc="Network traffic probe" 6pkgdesc="Network traffic probe"
7url="http://www.ntop.org" 7url="http://www.ntop.org"
8arch="all" 8arch="all"
9license="GPL" 9license="GPL"
10depends= 10depends=
11pkgusers="ntop"
12pkggroups="ntop"
11makedepends="autoconf automake freetype-dev gdbm-dev geoip-dev libart-lgpl-dev 13makedepends="autoconf automake freetype-dev gdbm-dev geoip-dev libart-lgpl-dev
12 libevent-dev libpcap-dev libpng-dev libtool libxml2-dev lua-dev 14 libevent-dev libpcap-dev libpng-dev libtool libxml2-dev lua-dev
13 openssl-dev python-dev rrdtool-dev wget zlib-dev" 15 openssl-dev python-dev rrdtool-dev wget zlib-dev"
14install="$pkgname.post-install" 16install="$pkgname.pre-install"
15subpackages="$pkgname-dev $pkgname-doc" 17subpackages="$pkgname-dev $pkgname-doc"
16source="http://sourceforge.net/projects/$pkgname/files/$pkgname/Stable/$pkgname-$pkgver.tar.gz 18source="http://sourceforge.net/projects/$pkgname/files/$pkgname/Stable/$pkgname-$pkgver.tar.gz
17 ntop.initd 19 ntop.initd
@@ -46,7 +48,7 @@ package() {
46 install -m755 -D "$srcdir"/ntop-update-geoip-db \ 48 install -m755 -D "$srcdir"/ntop-update-geoip-db \
47 "$pkgdir"/usr/bin/ntop-update-geoip-db 49 "$pkgdir"/usr/bin/ntop-update-geoip-db
48 # ntop internal db dir 50 # ntop internal db dir
49 mkdir -p $pkgdir/var/lib/ntop 51 install -d -o ntop -g ntop -m755 $pkgdir/var/lib/ntop
50} 52}
51 53
52md5sums="116df99cf548431393991ea15443c52f ntop-4.1.0.tar.gz 54md5sums="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 ede8a22f3c..0000000000
--- a/main/ntop/ntop.post-install
+++ /dev/null
@@ -1,3 +0,0 @@
1#!/bin/sh
2adduser -h /var/lib/ntop -s /bin/false -S -H -D ntop &>/dev/null
3chown ntop /var/lib/ntop
diff --git a/main/ntop/ntop.pre-install b/main/ntop/ntop.pre-install
new file mode 100755
index 0000000000..fdc2803450
--- /dev/null
+++ b/main/ntop/ntop.pre-install
@@ -0,0 +1,4 @@
1#!/bin/sh
2addgroup -S ntop 2>/dev/null
3adduser -h /var/lib/ntop -s /bin/false -S -G ntop -H -D ntop 2>/dev/null
4exit 0
diff --git a/main/open-vm-tools-grsec/APKBUILD b/main/open-vm-tools-grsec/APKBUILD
index 60e464cc66..1a5d70d894 100644
--- a/main/open-vm-tools-grsec/APKBUILD
+++ b/main/open-vm-tools-grsec/APKBUILD
@@ -2,13 +2,12 @@
2 2
3_flavor=grsec 3_flavor=grsec
4_realname=open-vm-tools 4_realname=open-vm-tools
5_mypkgrel=0 5_kver=3.2.11
6_kpkgrel=0
6 7
7_realver=2011.12.20 8_realver=2011.12.20
8_realsubver=562307 9_realsubver=562307
9 10_mypkgrel=0
10_kver=3.2.6
11_kpkgrel=0
12 11
13# source open-vm-tools version 12# source open-vm-tools version
14if [ -f ../main/$_realname/APKBUILD ]; then 13if [ -f ../main/$_realname/APKBUILD ]; then
diff --git a/main/open-vm-tools-vserver/APKBUILD b/main/open-vm-tools-vserver/APKBUILD
index 19d5cfc7ba..3d513fea60 100644
--- a/main/open-vm-tools-vserver/APKBUILD
+++ b/main/open-vm-tools-vserver/APKBUILD
@@ -3,9 +3,9 @@
3_flavor=vserver 3_flavor=vserver
4_realname=open-vm-tools 4_realname=open-vm-tools
5_name=$_realname-$_flavor 5_name=$_realname-$_flavor
6_kver=3.2.5 6_kver=3.2.11
7_kpkgrel=0 7_kpkgrel=0
8_myvsver=vs2.3.2.6 8_myvsver=vs2.3.2.8
9_mypkgrel=0 9_mypkgrel=0
10 10
11_realver=2011.12.20 11_realver=2011.12.20
diff --git a/main/openldap/APKBUILD b/main/openldap/APKBUILD
index b4fde0c304..ef2bb250cf 100644
--- a/main/openldap/APKBUILD
+++ b/main/openldap/APKBUILD
@@ -1,23 +1,24 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=openldap 2pkgname=openldap
3pkgver=2.4.28 3pkgver=2.4.30
4pkgrel=3 4pkgrel=0
5pkgdesc="LDAP Server" 5pkgdesc="LDAP Server"
6url="http://www.openldap.org/" 6url="http://www.openldap.org/"
7arch="all" 7arch="all"
8license="custom" 8license="custom"
9depends= 9depends=
10pkgusers="ldap"
11pkggroups="ldap"
10depends_dev="openssl-dev cyrus-sasl-dev" 12depends_dev="openssl-dev cyrus-sasl-dev"
11makedepends="$depends_dev db-dev groff unixodbc-dev libtool" 13makedepends="$depends_dev db-dev groff unixodbc-dev libtool"
12subpackages="$pkgname-dev $pkgname-doc libldap $pkgname-back-sql:sql 14subpackages="$pkgname-dev $pkgname-doc libldap $pkgname-back-sql:sql
13 $pkgname-back-bdb:bdb $pkgname-back-hdb:hdb $pkgname-back-ldap:ldap 15 $pkgname-back-bdb:bdb $pkgname-back-hdb:hdb $pkgname-back-ldap:ldap
14 $pkgname-back-meta:meta $pkgname-back-monitor:monitor" 16 $pkgname-back-meta:meta $pkgname-back-monitor:monitor"
15 17
16install="$pkgname.pre-install $pkgname.post-install" 18install="$pkgname.pre-install"
17source="ftp://ftp.$pkgname.org/pub/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tgz 19source="ftp://ftp.$pkgname.org/pub/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tgz
18 openldap-2.4-ppolicy.patch 20 openldap-2.4-ppolicy.patch
19 openldap-2.4.11-libldap_r.patch 21 openldap-2.4.11-libldap_r.patch
20 slapd-fix-back-sql.patch
21 slapd.initd 22 slapd.initd
22 slapd.confd 23 slapd.confd
23 slurpd.initd 24 slurpd.initd
@@ -73,14 +74,16 @@ package() {
73 rm "$pkgdir"/usr/lib/openldap/*.la \ 74 rm "$pkgdir"/usr/lib/openldap/*.la \
74 "$pkgdir"/usr/lib/*.la || return 1 75 "$pkgdir"/usr/lib/*.la || return 1
75 76
76 install -d "$pkgdir"/var/run/openldap 77 install -d -o ldap -g ldap "$pkgdir"/var/run/openldap \
78 "$pkgdir"/var/lib/openldap
77 sed -i -e 's:/var/lib/openldap/run:/var/run/openldap:g' \ 79 sed -i -e 's:/var/lib/openldap/run:/var/run/openldap:g' \
78 -e 's:back_bdb.la:back_bdb.so:' \ 80 -e 's:back_bdb.la:back_bdb.so:' \
79 -e 's:back_hdb.la:back_hdb.so:' \ 81 -e 's:back_hdb.la:back_hdb.so:' \
80 -e 's:back_ldap.la:back_ldap.so:' \ 82 -e 's:back_ldap.la:back_ldap.so:' \
81 "$pkgdir"/etc/openldap/slapd.conf 83 "$pkgdir"/etc/openldap/slapd.conf || return 1
82 84
83 mv "$pkgdir"/usr/lib/slapd "$pkgdir"/usr/sbin/ 85 mv "$pkgdir"/usr/lib/slapd "$pkgdir"/usr/sbin/ || reteurn 1
86 chgrp ldap "$pkgdir"/etc/openldap/slapd.conf
84 chmod g+r "$pkgdir"/etc/openldap/slapd.conf 87 chmod g+r "$pkgdir"/etc/openldap/slapd.conf
85 install -Dm755 ../slapd.initd "$pkgdir"/etc/init.d/slapd 88 install -Dm755 ../slapd.initd "$pkgdir"/etc/init.d/slapd
86 install -Dm755 ../slapd.confd "$pkgdir"/etc/conf.d/slapd 89 install -Dm755 ../slapd.confd "$pkgdir"/etc/conf.d/slapd
@@ -112,10 +115,9 @@ meta() { _backend meta; }
112monitor() { _backend monitor; } 115monitor() { _backend monitor; }
113 116
114 117
115md5sums="196023e552eeb259e048edcd61a9645b openldap-2.4.28.tgz 118md5sums="4f210937cf87e3467a536dd3fed1b8b4 openldap-2.4.30.tgz
1162524e490ba334a760fa57057c16da7a9 openldap-2.4-ppolicy.patch 1192524e490ba334a760fa57057c16da7a9 openldap-2.4-ppolicy.patch
117d19d0502f046078ecd737e29e7552fa8 openldap-2.4.11-libldap_r.patch 120d19d0502f046078ecd737e29e7552fa8 openldap-2.4.11-libldap_r.patch
118699fdb5cc562e6db2e98442274b4d556 slapd-fix-back-sql.patch 1215d1cc4e8c6ccc306578f6c694832e56e slapd.initd
119a729bf553d12b4a9fbda0ff5202a0443 slapd.initd
120b672311fca605c398240cd37a2ae080a slapd.confd 122b672311fca605c398240cd37a2ae080a slapd.confd
121fa5ce0005ef5f1160b6ff126f97aaa1a slurpd.initd" 123fa5ce0005ef5f1160b6ff126f97aaa1a slurpd.initd"
diff --git a/main/openldap/openldap.post-install b/main/openldap/openldap.post-install
deleted file mode 100644
index 1d6affdfee..0000000000
--- a/main/openldap/openldap.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2
3chown -R ldap:ldap /var/lib/openldap /var/run/openldap
4chgrp 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 4532f88027..0000000000
--- a/main/openldap/slapd-fix-back-sql.patch
+++ /dev/null
@@ -1,10 +0,0 @@
1--- openldap-2.4.28/servers/slapd/back-sql/init.c.orig
2+++ openldap-2.4.28/servers/slapd/back-sql/init.c
3@@ -114,6 +114,7 @@
4 }
5
6 bd->be_private = bi;
7+ bd->be_cf_ocs = bd->bd_info->bi_cf_ocs;
8
9 Debug( LDAP_DEBUG_TRACE, "<==backsql_db_init()\n", 0, 0, 0 );
10
diff --git a/main/openldap/slapd.initd b/main/openldap/slapd.initd
index d66af755e6..fbea0069e6 100644
--- a/main/openldap/slapd.initd
+++ b/main/openldap/slapd.initd
@@ -1,21 +1,42 @@
1#!/sbin/runscript 1#!/sbin/runscript
2# Copyright 1999-2004 Gentoo Foundation 2# Copyright 1999-2012 Gentoo Foundation
3# Distributed under the terms of the GNU General Public License v2 3# Distributed under the terms of the GNU General Public License v2
4# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/files/slapd-initd,v 1.2 2008/10/14 10:29:44 robbat2 Exp $ 4# $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 $
5
6extra_commands="checkconfig"
7pidfile=/var/run/openldap/${SVCNAME}.pid
8
9[ -z "$INSTANCE" ] && INSTANCE="openldap${SVCNAME#slapd}"
5 10
6depend() { 11depend() {
7 need net 12 need net
8 after firewall 13 after firewall
14 before dbus hald avahi-daemon
15 provide ldap
9} 16}
10 17
11start() { 18start() {
19 if ! checkconfig -Q ; then
20 eerror "There is a problem with your slapd.conf!"
21 return 1
22 fi
23 checkpath -d -o ldap:ldap ${pidfile%/*}
12 ebegin "Starting ldap-server" 24 ebegin "Starting ldap-server"
13 eval start-stop-daemon --start --pidfile /var/run/openldap/slapd.pid --exec /usr/sbin/slapd -- -u ldap -g ldap "${OPTS}" 25 [ -n "$KRB5_KTNAME" ] && export KRB5_KTNAME
26 eval start-stop-daemon --start \
27 --pidfile ${pidfile} \
28 --exec /usr/lib/openldap/slapd \
29 -- \
30 -u ldap -g ldap "${OPTS}"
14 eend $? 31 eend $?
15} 32}
16 33
17stop() { 34stop() {
18 ebegin "Stopping ldap-server" 35 ebegin "Stopping ldap-server"
19 start-stop-daemon --stop --signal 2 --quiet --pidfile /var/run/openldap/slapd.pid 36 start-stop-daemon --stop --signal 2 --quiet --pidfile ${pidfile}
20 eend $? 37 eend $?
21} 38}
39
40checkconfig() {
41 /usr/sbin/slaptest -u "$@" ${OPTS_CONF}
42}
diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD
index 3059805a6b..f6d5b6447c 100644
--- a/main/openssl/APKBUILD
+++ b/main/openssl/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Timo Teras <timo.teras@iki.fi> 1# Maintainer: Timo Teras <timo.teras@iki.fi>
2pkgname=openssl 2pkgname=openssl
3pkgver=1.0.0g 3pkgver=1.0.0h
4pkgrel=0 4pkgrel=0
5pkgdesc="Toolkit for SSL v2/v3 and TLS v1" 5pkgdesc="Toolkit for SSL v2/v3 and TLS v1"
6url="http://openssl.org" 6url="http://openssl.org"
@@ -69,7 +69,7 @@ libssl() {
69 done 69 done
70} 70}
71 71
72md5sums="07ecbe4324f140d157478637d6beccf1 openssl-1.0.0g.tar.gz 72md5sums="a5bc483c570f2ac3758ce5c19b667fab openssl-1.0.0h.tar.gz
73115c481cd59b3dba631364e8fb1778f5 fix-manpages.patch 73115c481cd59b3dba631364e8fb1778f5 fix-manpages.patch
74c6a9857a5dbd30cead0404aa7dd73977 openssl-bb-basename.patch 74c6a9857a5dbd30cead0404aa7dd73977 openssl-bb-basename.patch
751f607b8e11347e56a0906756f3d6928a 0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch 751f607b8e11347e56a0906756f3d6928a 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 44d3611706..0ef937682c 100644
--- a/main/openvpn-auth-ldap/APKBUILD
+++ b/main/openvpn-auth-ldap/APKBUILD
@@ -2,7 +2,7 @@
2pkgname=openvpn-auth-ldap 2pkgname=openvpn-auth-ldap
3pkgver=2.0.3 3pkgver=2.0.3
4_openvpnver=2.1.3 4_openvpnver=2.1.3
5pkgrel=0 5pkgrel=1
6pkgdesc="LDAP authentication and authorization plugin for OpenVPN 2.x" 6pkgdesc="LDAP authentication and authorization plugin for OpenVPN 2.x"
7url="http://code.google.com/p/openvpn-auth-ldap/" 7url="http://code.google.com/p/openvpn-auth-ldap/"
8arch="all" 8arch="all"
@@ -27,8 +27,9 @@ build() {
27 --sysconfdir=/etc \ 27 --sysconfdir=/etc \
28 --mandir=/usr/share/man \ 28 --mandir=/usr/share/man \
29 --infodir=/usr/share/info \ 29 --infodir=/usr/share/info \
30 --with-openvpn="$srcdir"/openvpn-$_openvpnver 30 --with-openvpn="$srcdir"/openvpn-$_openvpnver \
31 31 --with-objc-runtime=GNU \
32 || return 1
32 make || return 1 33 make || return 1
33} 34}
34 35
diff --git a/main/pcre/APKBUILD b/main/pcre/APKBUILD
index caab863524..a5985ad552 100644
--- a/main/pcre/APKBUILD
+++ b/main/pcre/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=pcre 2pkgname=pcre
3pkgver=8.21 3pkgver=8.30
4pkgrel=0 4pkgrel=0
5pkgdesc="Perl-compatible regular expression library" 5pkgdesc="Perl-compatible regular expression library"
6url="http://pcre.sourceforge.net" 6url="http://pcre.sourceforge.net"
@@ -46,4 +46,4 @@ libpcrecpp() {
46 mv "$pkgdir"/usr/lib/libpcrecpp.so* "$subpkgdir"/usr/lib/ 46 mv "$pkgdir"/usr/lib/libpcrecpp.so* "$subpkgdir"/usr/lib/
47} 47}
48 48
49md5sums="0a7b592bea64b7aa7f4011fc7171a730 pcre-8.21.tar.bz2" 49md5sums="98e8928cccc945d04279581e778fbdff pcre-8.30.tar.bz2"
diff --git a/main/pekwm/APKBUILD b/main/pekwm/APKBUILD
index ea946a01df..8162e36650 100644
--- a/main/pekwm/APKBUILD
+++ b/main/pekwm/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=pekwm 2pkgname=pekwm
3pkgver=0.1.13 3pkgver=0.1.14
4pkgrel=0 4pkgrel=0
5pkgdesc="Fast & Light Window Manager" 5pkgdesc="Fast & Light Window Manager"
6url="http://pekwm.org/projects/pekwm" 6url="http://pekwm.org/projects/pekwm"
@@ -33,4 +33,4 @@ package() {
33 make DESTDIR="$pkgdir" install 33 make DESTDIR="$pkgdir" install
34} 34}
35 35
36md5sums="51a3f9030817df0304cc1da5110e493a pekwm-0.1.13.tar.bz2" 36md5sums="bb9c01c81fe47620bcd9be0e2e4a10e6 pekwm-0.1.14.tar.bz2"
diff --git a/main/perdition/APKBUILD b/main/perdition/APKBUILD
index 6d4ce2be78..470dc3ba91 100644
--- a/main/perdition/APKBUILD
+++ b/main/perdition/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> 1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=perdition 2pkgname=perdition
3pkgver=1.18 3pkgver=1.18
4pkgrel=3 4pkgrel=4
5pkgdesc="A Mail retrieval proxy" 5pkgdesc="A Mail retrieval proxy"
6url="http://horms.net/projects/perdition/" 6url="http://horms.net/projects/perdition/"
7arch="all" 7arch="all"
@@ -10,15 +10,21 @@ depends=
10depends_dev="gdbm-dev openssl-dev popt-dev vanessa_adt-dev vanessa_logger-dev 10depends_dev="gdbm-dev openssl-dev popt-dev vanessa_adt-dev vanessa_logger-dev
11 vanessa_socket-dev" 11 vanessa_socket-dev"
12makedepends="$depends_dev" 12makedepends="$depends_dev"
13install=$pkgname.post-install 13install=$pkgname.pre-install
14subpackages="$pkgname-doc" 14subpackages="$pkgname-doc"
15source="http://horms.net/projects/perdition/download/$pkgver/$pkgname-$pkgver.tar.bz2" 15source="http://horms.net/projects/perdition/download/$pkgver/$pkgname-$pkgver.tar.bz2
16 gdbm-version.patch"
16 17
17 18
18_builddir="$srcdir"/$pkgname-$pkgver 19_builddir="$srcdir"/$pkgname-$pkgver
19 20
20prepare() { 21prepare() {
21 cd "$_builddir" 22 cd "$_builddir"
23 for i in $source; do
24 case $i in
25 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
26 esac
27 done
22 return 0 28 return 0
23} 29}
24 30
@@ -28,10 +34,10 @@ build() {
28 --sysconfdir=/etc \ 34 --sysconfdir=/etc \
29 --mandir=/usr/share/man \ 35 --mandir=/usr/share/man \
30 --infodir=/usr/share/info \ 36 --infodir=/usr/share/info \
37 --enable-gdbm \
31 --disable-libtool-lock \ 38 --disable-libtool-lock \
32 --disable-mysql \ 39 --disable-mysql \
33 --disable-odbc \ 40 --disable-odbc \
34 --disable-db \
35 --disable-pg \ 41 --disable-pg \
36 --disable-cdb \ 42 --disable-cdb \
37 --disable-nis \ 43 --disable-nis \
@@ -51,4 +57,5 @@ package() {
51 install -m644 -D ../../$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname 57 install -m644 -D ../../$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
52} 58}
53 59
54md5sums="df84d5fc4ab78b94a9baf17c5790ba38 perdition-1.18.tar.bz2" 60md5sums="df84d5fc4ab78b94a9baf17c5790ba38 perdition-1.18.tar.bz2
61cfdd151cb92d2283151b8e48caf04337 gdbm-version.patch"
diff --git a/main/perdition/gdbm-version.patch b/main/perdition/gdbm-version.patch
new file mode 100644
index 0000000000..ae33fd92ae
--- /dev/null
+++ b/main/perdition/gdbm-version.patch
@@ -0,0 +1,26 @@
1gdbm.h has a conficting declaration of gdbm_version
2
3diff --git a/makegdbm/options.h b/makegdbm/options.h
4index 51597d1..9019af7 100644
5--- a/makegdbm/options.h
6+++ b/makegdbm/options.h
7@@ -39,7 +39,6 @@
8 #endif
9
10 extern gdbm_error gdbm_errno;
11-extern char *gdbm_version;
12
13 #define COPYRIGHT \
14 "(c) 1999 Horms <horms@verge.net.au>\nReleased under the GNU GPL\n"
15diff --git a/perdition/db/gdbm/perditiondb_gdbm.h b/perdition/db/gdbm/perditiondb_gdbm.h
16index 4047025..c23a8db 100644
17--- a/perdition/db/gdbm/perditiondb_gdbm.h
18+++ b/perdition/db/gdbm/perditiondb_gdbm.h
19@@ -31,7 +31,6 @@
20 #include <gdbm.h>
21
22 extern gdbm_error gdbm_errno;
23-extern char *gdbm_version;
24
25 #ifndef PERDITIONDB_GDBM_SYSCONFDIR
26 #define PERDITIONDB_GDBM_SYSCONFDIR "/usr/local/etc/perdition"
diff --git a/main/perdition/perdition.initd b/main/perdition/perdition.initd
index 0242169c4b..397ed47751 100644..100755
--- a/main/perdition/perdition.initd
+++ b/main/perdition/perdition.initd
@@ -1,7 +1,7 @@
1#!/sbin/runscript 1#!/sbin/runscript
2# Copyright 1999-2005 Gentoo Foundation 2# Copyright 1999-2011 Gentoo Foundation
3# Distributed under the terms of the GNU General Public License v2 3# Distributed under the terms of the GNU General Public License v2
4# $Header: /var/cvsroot/gentoo-x86/net-mail/perdition/files/perdition.initd,v 1.2 2008/06/10 18:28:27 dertobi123 Exp $ 4# $Header: /var/cvsroot/gentoo-x86/net-mail/perdition/files/perdition.initd,v 1.3 2011/06/15 15:24:06 eras Exp $
5 5
6depend() { 6depend() {
7 need net 7 need net
@@ -16,7 +16,16 @@ check_key() {
16 fi 16 fi
17} 17}
18 18
19checkconfig() {
20 # create PIDDIR (usually /var/run/perdition) if necessary
21 if [ ! -d "${PIDDIR:-/var/run/perdition}" ] ; then
22 checkpath -q -d -o ${PERDITION_USER:-perdition}:${PERDITION_USER:-perdition} \
23 -m 0775 "${PIDDIR:-/var/run/perdition}" || return 1
24 fi
25}
26
19start() { 27start() {
28 checkconfig || return 1
20 if [ "${POP3}" = "yes" ]; then 29 if [ "${POP3}" = "yes" ]; then
21 ebegin "Starting perdition services (POP3)" 30 ebegin "Starting perdition services (POP3)"
22 start-stop-daemon --quiet --start --startas /usr/sbin/perdition.pop3 -p ${PIDDIR}/pop3.pid \ 31 start-stop-daemon --quiet --start --startas /usr/sbin/perdition.pop3 -p ${PIDDIR}/pop3.pid \
@@ -70,7 +79,7 @@ stop() {
70 79
71 if [ "${IMAP4S}" = "yes" ]; then 80 if [ "${IMAP4S}" = "yes" ]; then
72 ebegin "Shutting down perdition services (IMAP4S)" 81 ebegin "Shutting down perdition services (IMAP4S)"
73 start-stop-daemon -o --quiet --stop --pidfile ${PIDDIR}/imap4s.pid 82 start-stop-daemon -o --quiet --stop --pidfile ${PIDDIR}/imaps.pid
74 eend $? 83 eend $?
75 fi 84 fi
76} 85}
diff --git a/main/perdition/perdition.post-install b/main/perdition/perdition.post-install
deleted file mode 100644
index b2820345e5..0000000000
--- a/main/perdition/perdition.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2
3adduser -h /var/run/perdition -s /bin/false -S -D perdition &>/dev/null
4chown perdition /var/run/perdition
diff --git a/main/perdition/perdition.pre-install b/main/perdition/perdition.pre-install
new file mode 100644
index 0000000000..6396823f82
--- /dev/null
+++ b/main/perdition/perdition.pre-install
@@ -0,0 +1,6 @@
1#!/bin/sh
2
3addgroup -S perdition 2>/dev/null
4adduser -h /var/run/perdition -s /bin/false -S -G perdition -D perdition 2>/dev/null
5
6exit 0
diff --git a/main/perl-class-inspector/APKBUILD b/main/perl-class-inspector/APKBUILD
index f29ea6c236..70e2c4d87c 100644
--- a/main/perl-class-inspector/APKBUILD
+++ b/main/perl-class-inspector/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-class-inspector 3pkgname=perl-class-inspector
4pkgver=1.25 4pkgver=1.27
5pkgrel=0 5pkgrel=0
6pkgdesc="Class::Inspector perl module" 6pkgdesc="Class::Inspector perl module"
7url="http://search.cpan.org/dist/Class-Inspector/" 7url="http://search.cpan.org/dist/Class-Inspector/"
@@ -36,4 +36,4 @@ package() {
36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
37} 37}
38 38
39md5sums="5830bff10a0966993edd14435b8a579b Class-Inspector-1.25.tar.gz" 39md5sums="52e6391cae3c2abdfcd1d450b42bba7e Class-Inspector-1.27.tar.gz"
diff --git a/main/perl-date-manip/APKBUILD b/main/perl-date-manip/APKBUILD
index 532b3e65cd..312d059183 100644
--- a/main/perl-date-manip/APKBUILD
+++ b/main/perl-date-manip/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Mika Havela <mika.havela@gmail.com> 1# Contributor: Mika Havela <mika.havela@gmail.com>
2# Maintainer: Mika Havela <mika.havela@gmail.com> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-date-manip 3pkgname=perl-date-manip
4_realname=Date-Manip 4_realname=Date-Manip
5pkgver=6.25 5pkgver=6.30
6pkgrel=0 6pkgrel=0
7pkgdesc="Perl - Date manipulation routines" 7pkgdesc="Perl - Date manipulation routines"
8url="http://search.cpan.org/~sbeck/$_realname-$pkgver/" 8url="http://search.cpan.org/~sbeck/$_realname-$pkgver/"
@@ -32,4 +32,4 @@ package() {
32 find "$pkgdir" -name perllocal.pod -delete 32 find "$pkgdir" -name perllocal.pod -delete
33} 33}
34 34
35md5sums="9b6725c4874a97149419518688af3ecc Date-Manip-6.25.tar.gz" 35md5sums="6a0e74703a1b0931e5208b0b93ef689a Date-Manip-6.30.tar.gz"
diff --git a/main/perl-file-listing/APKBUILD b/main/perl-file-listing/APKBUILD
index a37339e1c8..e241ec1980 100644
--- a/main/perl-file-listing/APKBUILD
+++ b/main/perl-file-listing/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-file-listing 3pkgname=perl-file-listing
4pkgver=6.03 4pkgver=6.04
5pkgrel=0 5pkgrel=0
6pkgdesc="File::Listing perl module" 6pkgdesc="File::Listing perl module"
7url="http://search.cpan.org/dist/File-Listing/" 7url="http://search.cpan.org/dist/File-Listing/"
@@ -37,4 +37,4 @@ package() {
37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
38} 38}
39 39
40md5sums="ad56d06a719503198c02188995f32c9e File-Listing-6.03.tar.gz" 40md5sums="83f636b477741f3a014585bb9cc079a6 File-Listing-6.04.tar.gz"
diff --git a/main/perl-http-cookies/APKBUILD b/main/perl-http-cookies/APKBUILD
index 25cb397f92..bdb6c3c686 100644
--- a/main/perl-http-cookies/APKBUILD
+++ b/main/perl-http-cookies/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-http-cookies 3pkgname=perl-http-cookies
4pkgver=6.00 4pkgver=6.01
5pkgrel=1 5pkgrel=0
6pkgdesc="HTTP::Cookies perl module" 6pkgdesc="HTTP::Cookies perl module"
7url="http://search.cpan.org/dist/HTTP-Cookies/" 7url="http://search.cpan.org/dist/HTTP-Cookies/"
8arch="noarch" 8arch="noarch"
@@ -37,4 +37,4 @@ package() {
37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
38} 38}
39 39
40md5sums="21bed72b30a46604c152b7e25cf1cb45 HTTP-Cookies-6.00.tar.gz" 40md5sums="ecfd0eeb88512033352c2f13c9580f03 HTTP-Cookies-6.01.tar.gz"
diff --git a/main/perl-http-message/APKBUILD b/main/perl-http-message/APKBUILD
index 22aa01ef3e..b3d8d3fb71 100644
--- a/main/perl-http-message/APKBUILD
+++ b/main/perl-http-message/APKBUILD
@@ -1,35 +1,33 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Automatically generated by apkbuild-cpan, template 1
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3pkgname=perl-http-message 4pkgname=perl-http-message
4pkgver=6.02 5_pkgreal=HTTP-Message
5pkgrel=2 6pkgver=6.03
6pkgdesc="HTTP::Message perl module" 7pkgrel=0
8pkgdesc="HTTP style messages"
7url="http://search.cpan.org/dist/HTTP-Message/" 9url="http://search.cpan.org/dist/HTTP-Message/"
8arch="noarch" 10arch="noarch"
9license="GPLv2 or Artistic" 11license="GPL PerlArtistic"
10depends="perl perl-uri perl-html-parser perl-encode-locale perl-lwp-mediatypes 12cpandepends="perl-http-date perl-uri perl-html-parser perl-encode-locale perl-lwp-mediatypes"
11 perl-http-date" 13cpanmakedepends=" "
12makedepends="perl-dev" 14depends="$cpandepends"
13install="" 15makedepends="perl-dev $cpanmakedepends"
14replaces="perl-libwww"
15subpackages="$pkgname-doc" 16subpackages="$pkgname-doc"
16source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Message-$pkgver.tar.gz" 17source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
18
19_builddir="$srcdir/$_pkgreal-$pkgver"
17 20
18_builddir="$srcdir"/HTTP-Message-$pkgver
19prepare() { 21prepare() {
20 local i
21 cd "$_builddir" 22 cd "$_builddir"
22 for i in $source; do 23 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
23 case $i in 24 PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
24 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
25 esac
26 done
27} 25}
28 26
29build() { 27build() {
30 cd "$_builddir" 28 cd "$_builddir"
31 PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 29 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
32 make && make test || return 1 30 make && make test
33} 31}
34 32
35package() { 33package() {
@@ -38,4 +36,4 @@ package() {
38 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
39} 37}
40 38
41md5sums="a6b28e44f7b5e5573362f042d522a456 HTTP-Message-6.02.tar.gz" 39md5sums="d41b22c7c01b974f2b4e85d401a6b552 HTTP-Message-6.03.tar.gz"
diff --git a/main/perl-http-negotiate/APKBUILD b/main/perl-http-negotiate/APKBUILD
index 995ea11fa9..e0fde801e3 100644
--- a/main/perl-http-negotiate/APKBUILD
+++ b/main/perl-http-negotiate/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-http-negotiate 3pkgname=perl-http-negotiate
4pkgver=6.00 4pkgver=6.01
5pkgrel=0 5pkgrel=0
6pkgdesc="HTTP::Negotiate perl module" 6pkgdesc="HTTP::Negotiate perl module"
7url="http://search.cpan.org/dist/HTTP-Negotiate/" 7url="http://search.cpan.org/dist/HTTP-Negotiate/"
@@ -36,4 +36,4 @@ package() {
36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
37} 37}
38 38
39md5sums="f2d89957d1c4f62a86f18b08e07c2328 HTTP-Negotiate-6.00.tar.gz" 39md5sums="1236195250e264d7436e7bb02031671b HTTP-Negotiate-6.01.tar.gz"
diff --git a/main/perl-image-exiftool/APKBUILD b/main/perl-image-exiftool/APKBUILD
index c4b780b2c3..e3429cd3bb 100644
--- a/main/perl-image-exiftool/APKBUILD
+++ b/main/perl-image-exiftool/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-image-exiftool 3pkgname=perl-image-exiftool
4pkgver=8.76 4pkgver=8.79
5pkgrel=0 5pkgrel=0
6pkgdesc="Perl module for editing exif meta info in files" 6pkgdesc="Perl module for editing exif meta info in files"
7url="http://www.sno.phy.queensu.ca/~phil/exiftool/" 7url="http://www.sno.phy.queensu.ca/~phil/exiftool/"
@@ -45,4 +45,4 @@ exiftool() {
45 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 45 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
46} 46}
47 47
48md5sums="a176e674a08a92afa330901f29a7d68d Image-ExifTool-8.76.tar.gz" 48md5sums="72a9095587f3b69efa0b189428512326 Image-ExifTool-8.79.tar.gz"
diff --git a/main/perl-io-socket-ssl/APKBUILD b/main/perl-io-socket-ssl/APKBUILD
index 95ee6501f9..cf5223c8a6 100644
--- a/main/perl-io-socket-ssl/APKBUILD
+++ b/main/perl-io-socket-ssl/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-io-socket-ssl 3pkgname=perl-io-socket-ssl
4_realname=IO-Socket-SSL 4_realname=IO-Socket-SSL
5pkgver=1.44 5pkgver=1.54
6pkgrel=0 6pkgrel=0
7pkgdesc="Nearly transparent SSL encapsulation for IO::Socket::INET" 7pkgdesc="Nearly transparent SSL encapsulation for IO::Socket::INET"
8url="http://search.cpan.org/dist/IO-Socket-SSL/" 8url="http://search.cpan.org/dist/IO-Socket-SSL/"
@@ -28,4 +28,4 @@ package() {
28 find "$pkgdir" -name perllocal.pod -delete 28 find "$pkgdir" -name perllocal.pod -delete
29} 29}
30 30
31md5sums="c9d23d3398f7c0dfce0a1cf6d21e86c7 IO-Socket-SSL-1.44.tar.gz" 31md5sums="3d091d3de33a8ca2fe5f75172b1a329b IO-Socket-SSL-1.54.tar.gz"
diff --git a/main/perl-net-http/APKBUILD b/main/perl-net-http/APKBUILD
index e727c8b93d..79625a2aae 100644
--- a/main/perl-net-http/APKBUILD
+++ b/main/perl-net-http/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-net-http 3pkgname=perl-net-http
4pkgver=6.02 4pkgver=6.03
5pkgrel=0 5pkgrel=0
6pkgdesc="Net::HTTP perl module" 6pkgdesc="Net::HTTP perl module"
7url="http://search.cpan.org/dist/Net-HTTP/" 7url="http://search.cpan.org/dist/Net-HTTP/"
@@ -37,4 +37,4 @@ package() {
37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
38} 38}
39 39
40md5sums="b0fa0a246872ff8da48c65da6f5281fc Net-HTTP-6.02.tar.gz" 40md5sums="86957940d96649ca782b686686b82e7b Net-HTTP-6.03.tar.gz"
diff --git a/main/perl-params-validate/APKBUILD b/main/perl-params-validate/APKBUILD
index 0e10f507e8..dbffdb7bdf 100644
--- a/main/perl-params-validate/APKBUILD
+++ b/main/perl-params-validate/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-params-validate 3pkgname=perl-params-validate
4pkgver=1.00 4pkgver=1.06
5pkgrel=0 5pkgrel=0
6pkgdesc="Params-Validate Perl module" 6pkgdesc="Params-Validate Perl module"
7url="http://search.cpan.org/dist/Params-Validate/" 7url="http://search.cpan.org/dist/Params-Validate/"
@@ -36,4 +36,4 @@ package() {
36 ./Build install destdir="$pkgdir" create_packlist=0 || return 1 36 ./Build install destdir="$pkgdir" create_packlist=0 || return 1
37} 37}
38 38
39md5sums="e8989f5686de4cd916cd973ccf097625 Params-Validate-1.00.tar.gz" 39md5sums="4f7a281269cd30d7c3994ba5acb50857 Params-Validate-1.06.tar.gz"
diff --git a/main/perl-www-robotrules/APKBUILD b/main/perl-www-robotrules/APKBUILD
index 6ab4253bfb..3bf4f82bde 100644
--- a/main/perl-www-robotrules/APKBUILD
+++ b/main/perl-www-robotrules/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=perl-www-robotrules 3pkgname=perl-www-robotrules
4pkgver=6.01 4pkgver=6.02
5pkgrel=1 5pkgrel=0
6pkgdesc="WWW::RobotRules perl module" 6pkgdesc="WWW::RobotRules perl module"
7url="http://search.cpan.org/dist/WWW-RobotRules/" 7url="http://search.cpan.org/dist/WWW-RobotRules/"
8arch="noarch" 8arch="noarch"
@@ -37,4 +37,4 @@ package() {
37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete 37 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
38} 38}
39 39
40md5sums="b1252da49727320a1b5e20b3521d2499 WWW-RobotRules-6.01.tar.gz" 40md5sums="b7186e8b8b3701e70c22abf430742403 WWW-RobotRules-6.02.tar.gz"
diff --git a/main/php/APKBUILD b/main/php/APKBUILD
index c1d5608409..902fa53b9b 100644
--- a/main/php/APKBUILD
+++ b/main/php/APKBUILD
@@ -3,7 +3,7 @@
3pkgname=php 3pkgname=php
4pkgver=5.3.10 4pkgver=5.3.10
5_suhosinver=5.3.9-0.9.10 5_suhosinver=5.3.9-0.9.10
6pkgrel=0 6pkgrel=3
7pkgdesc="The PHP language runtime engine" 7pkgdesc="The PHP language runtime engine"
8url="http://www.php.net/" 8url="http://www.php.net/"
9arch="all" 9arch="all"
@@ -74,6 +74,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-common $pkgname-cgi
74source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2 74source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2
75 http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz 75 http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz
76 php-install-pear-xml.patch 76 php-install-pear-xml.patch
77 pcre_info.patch
77 php-fpm.initd 78 php-fpm.initd
78 php5-module.conf 79 php5-module.conf
79 " 80 "
@@ -444,5 +445,6 @@ pdo_dblib() { _mv_ext pdo_dblib "php-pdo freetds"; }
444md5sums="816259e5ca7d0a7e943e56a3bb32b17f php-5.3.10.tar.bz2 445md5sums="816259e5ca7d0a7e943e56a3bb32b17f php-5.3.10.tar.bz2
445c099b3d7eac95018ababd41ded7f3066 suhosin-patch-5.3.9-0.9.10.patch.gz 446c099b3d7eac95018ababd41ded7f3066 suhosin-patch-5.3.9-0.9.10.patch.gz
4465111e3be06d391f8772587c675240fab php-install-pear-xml.patch 4475111e3be06d391f8772587c675240fab php-install-pear-xml.patch
4478f2bb2b744a2de50025842cb51fb6a3a php-fpm.initd 4488d3806bbb19e390f9b32ccf21611d937 pcre_info.patch
4499ab162ff3428511a68aa9801c746e0d5 php-fpm.initd
44867719f428f44ec004da18705cbabe2ee php5-module.conf" 45067719f428f44ec004da18705cbabe2ee php5-module.conf"
diff --git a/main/php/pcre_info.patch b/main/php/pcre_info.patch
new file mode 100644
index 0000000000..e6d10df063
--- /dev/null
+++ b/main/php/pcre_info.patch
@@ -0,0 +1,43 @@
1--- php-5.3.10/ext/pcre/php_pcre.c 2012-01-01 14:15:04.000000000 +0100
2+++ php-5.3.10/ext/pcre/php_pcre.c 2012-02-06 13:31:36.198935107 +0100
3@@ -241,6 +241,7 @@
4 char *pattern;
5 int do_study = 0;
6 int poptions = 0;
7+ int count = 0;
8 unsigned const char *tables = NULL;
9 #if HAVE_SETLOCALE
10 char *locale = setlocale(LC_CTYPE, NULL);
11@@ -252,10 +252,10 @@
12 back the compiled pattern, otherwise go on and compile it. */
13 if (zend_hash_find(&PCRE_G(pcre_cache), regex, regex_len+1, (void **)&pce) == SUCCESS) {
14 /*
15- * We use a quick pcre_info() check to see whether cache is corrupted, and if it
16+ * We use a quick pcre_fullinfo() check to see whether cache is corrupted, and if it
17 * is, we flush it and compile the pattern from scratch.
18 */
19- if (pcre_info(pce->re, NULL, NULL) == PCRE_ERROR_BADMAGIC) {
20+ if (pcre_fullinfo(pce->re, NULL, PCRE_INFO_CAPTURECOUNT, &count) == PCRE_ERROR_BADMAGIC) {
21 zend_hash_clean(&PCRE_G(pcre_cache));
22 } else {
23 #if HAVE_SETLOCALE
24--- php-5.3.10/ext/pcre/php_pcre.def 2009-01-11 14:59:00.000000000 +0100
25+++ php-5.3.10/ext/pcre/php_pcre.def 2012-02-06 13:31:47.775299315 +0100
26@@ -4,7 +4,6 @@
27 php_pcre_exec
28 php_pcre_get_substring
29 php_pcre_get_substring_list
30-php_pcre_info
31 php_pcre_maketables
32 php_pcre_study
33 php_pcre_version
34--- php-5.3.10/main/php_compat.h 2012-01-01 14:15:04.000000000 +0100
35+++ php-5.3.10/main/php_compat.h 2012-02-06 13:26:59.272834580 +0100
36@@ -34,7 +34,6 @@
37 #define pcre_exec php_pcre_exec
38 #define pcre_get_substring php_pcre_get_substring
39 #define pcre_get_substring_list php_pcre_get_substring_list
40-#define pcre_info php_pcre_info
41 #define pcre_maketables php_pcre_maketables
42 #define pcre_study php_pcre_study
43 #define pcre_version php_pcre_version
diff --git a/main/php/php-fpm.initd b/main/php/php-fpm.initd
index 6b8337e8b8..fec658935f 100644
--- a/main/php/php-fpm.initd
+++ b/main/php/php-fpm.initd
@@ -2,7 +2,7 @@
2 2
3PHP_FPM_CONF="/etc/php/php-fpm.conf" 3PHP_FPM_CONF="/etc/php/php-fpm.conf"
4 4
5opts="depend start stop reload" 5extra_started_commands="reload"
6 6
7depend() { 7depend() {
8 need net 8 need net
diff --git a/main/pidgin/APKBUILD b/main/pidgin/APKBUILD
index 0078fb4467..65a9d576d9 100644
--- a/main/pidgin/APKBUILD
+++ b/main/pidgin/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=pidgin 2pkgname=pidgin
3pkgver=2.10.1 3pkgver=2.10.2
4pkgrel=0 4pkgrel=0
5pkgdesc="graphical multi-protocol instant messaging client for X" 5pkgdesc="graphical multi-protocol instant messaging client for X"
6url="http://pidgin.im/" 6url="http://pidgin.im/"
@@ -69,5 +69,5 @@ libpurple() {
69 mv "$pkgdir"/usr/share/purple "$pkgdir"/usr/share/sounds \ 69 mv "$pkgdir"/usr/share/purple "$pkgdir"/usr/share/sounds \
70 "$subpkgdir"/usr/share/ 70 "$subpkgdir"/usr/share/
71} 71}
72md5sums="eafb06b4083a201fe22d310e897a19dd pidgin-2.10.1.tar.bz2 72md5sums="f2b210f2562865d870f193ff1fe8ea75 pidgin-2.10.2.tar.bz2
733cf0c3a476007781f4b0d855817cf58a pidgin-libm.patch" 733cf0c3a476007781f4b0d855817cf58a pidgin-libm.patch"
diff --git a/main/pingu/APKBUILD b/main/pingu/APKBUILD
index 0245351d93..023d2eb2b3 100644
--- a/main/pingu/APKBUILD
+++ b/main/pingu/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=pingu 3pkgname=pingu
4pkgver=1.0 4pkgver=1.1
5pkgrel=1 5pkgrel=0
6pkgdesc="Small daemon that pings hosts and executes a script when status change" 6pkgdesc="Small daemon that pings hosts and executes a script when status change"
7url="http://git.alpinelinux.org/cgit/pingu" 7url="http://git.alpinelinux.org/cgit/pingu"
8arch="all" 8arch="all"
@@ -40,5 +40,5 @@ _lua() {
40 mv "$pkgdir"/usr/lib "$pkgdir"/usr/share "$subpkgdir"/usr/ 40 mv "$pkgdir"/usr/lib "$pkgdir"/usr/share "$subpkgdir"/usr/
41} 41}
42 42
43md5sums="23741d643d62b0bade8bc88576245357 pingu-1.0.tar.bz2 43md5sums="0732926c3ee689598656811b348a2bcb pingu-1.1.tar.bz2
4470f56b0f506e1c2e725d0ec062667c32 pingu.initd" 4470f56b0f506e1c2e725d0ec062667c32 pingu.initd"
diff --git a/main/pngcrush/01-makefile-sanity.patch b/main/pngcrush/01-makefile-sanity.patch
new file mode 100644
index 0000000000..abbeff5533
--- /dev/null
+++ b/main/pngcrush/01-makefile-sanity.patch
@@ -0,0 +1,13 @@
1--- pngcrush-1.7.25/Makefile
2+++ pngcrush-1.7.25/Makefile
3@@ -20,8 +20,8 @@
4 #CFLAGS = -I. -O -Wall
5 #CFLAGS = -I. -O2
6 #CFLAGS = -I. -O3 -fomit-frame-pointer -Wall
7-#CFLAGS = -I. -Os -fomit-frame-pointer -Wall
8-CFLAGS = -I. -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
9+CFLAGS = -I. -Os -fomit-frame-pointer -Wall
10+#CFLAGS = -I. -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
11 #CFLAGS = -I${ZINC} -I. -O3 -fomit-frame-pointer -Wall
12 # [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
13
diff --git a/main/pngcrush/APKBUILD b/main/pngcrush/APKBUILD
new file mode 100644
index 0000000000..f6e347c98d
--- /dev/null
+++ b/main/pngcrush/APKBUILD
@@ -0,0 +1,46 @@
1# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
2# Maintainer:
3pkgname=pngcrush
4pkgver=1.7.25
5pkgrel=0
6pkgdesc="PNG recompression utility"
7url="http://pngcrush.sourceforge.net"
8arch="all"
9license="zlib"
10depends=""
11depends_dev=""
12makedepends="$depends_dev"
13install=""
14subpackages=""
15source="
16 http://downloads.sourceforge.net/project/pmt/pngcrush/$pkgver/pngcrush-$pkgver.tar.bz2
17 license.txt
18 01-makefile-sanity.patch
19 "
20
21_builddir="$srcdir"/pngcrush-$pkgver
22prepare() {
23 local i
24 cd "$_builddir"
25 for i in $source; do
26 case $i in
27 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
28 esac
29 done
30}
31
32build() {
33 cd "$_builddir"
34 make || return 1
35}
36
37package() {
38 cd "$_builddir"
39 install -D -m755 pngcrush "$pkgdir"/usr/bin/pngcrush
40 install -D -m644 "$srcdir"/license.txt "$pkgdir"/usr/share/licenses/pngcrush
41 rm -f "$pkgdir"/usr/lib/*.la
42}
43
44md5sums="c891a418419efa07aa513db602d8f403 pngcrush-1.7.25.tar.bz2
458e5d194d4197e51add36722cd3248717 license.txt
46837e46dc592ef087547372e278502b57 01-makefile-sanity.patch"
diff --git a/main/pngcrush/license.txt b/main/pngcrush/license.txt
new file mode 100644
index 0000000000..641d19c0b7
--- /dev/null
+++ b/main/pngcrush/license.txt
@@ -0,0 +1,12 @@
1Permission is hereby irrevocably granted to everyone to use, copy, modify,
2and distribute this source code, or portions hereof, or executable programs
3compiled from it, for any purpose, without payment of any fee, subject to
4the following restrictions:
5
61. The origin of this source code must not be misrepresented.
7
82. Altered versions must be plainly marked as such and must not be
9 misrepresented as being the original source.
10
113. This Copyright notice, disclaimer, and license may not be removed
12 or altered from any source or altered source distribution.
diff --git a/main/poppler-gtk/APKBUILD b/main/poppler-gtk/APKBUILD
index bc208f9147..2d3f48ad55 100644
--- a/main/poppler-gtk/APKBUILD
+++ b/main/poppler-gtk/APKBUILD
@@ -3,7 +3,7 @@
3# this aport only includes glib/gtk support in order to break the 3# this aport only includes glib/gtk support in order to break the
4# circular make dependency: gtk <- cups <- poppler <- gtk 4# circular make dependency: gtk <- cups <- poppler <- gtk
5 5
6_ver=0.18.3 6_ver=0.18.4
7# get the pkgver from poppler 7# get the pkgver from poppler
8if [ -r ../poppler/APKBUILD ]; then 8if [ -r ../poppler/APKBUILD ]; then
9 . ../poppler/APKBUILD 9 . ../poppler/APKBUILD
@@ -62,4 +62,4 @@ demo() {
62 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 62 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
63} 63}
64 64
65md5sums="d70d2d63d8acd29c97185f7e5f09c9b4 poppler-0.18.3.tar.gz" 65md5sums="12658f3308597e57f3faff538cc73baf poppler-0.18.4.tar.gz"
diff --git a/main/poppler/APKBUILD b/main/poppler/APKBUILD
index f0eb33ff4d..9c47ff21cb 100644
--- a/main/poppler/APKBUILD
+++ b/main/poppler/APKBUILD
@@ -4,7 +4,7 @@
4# circular make dependency: gtk <- cups <- poppler <- gtk 4# circular make dependency: gtk <- cups <- poppler <- gtk
5# So we build gtk support in poppler-gtk 5# So we build gtk support in poppler-gtk
6pkgname=poppler 6pkgname=poppler
7pkgver=0.18.3 7pkgver=0.18.4
8pkgrel=0 8pkgrel=0
9pkgdesc="PDF rendering library based on xpdf 3.0" 9pkgdesc="PDF rendering library based on xpdf 3.0"
10url="http://poppler.freedesktop.org/" 10url="http://poppler.freedesktop.org/"
@@ -44,4 +44,4 @@ utils() {
44 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ 44 mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
45} 45}
46 46
47md5sums="d70d2d63d8acd29c97185f7e5f09c9b4 poppler-0.18.3.tar.gz" 47md5sums="12658f3308597e57f3faff538cc73baf poppler-0.18.4.tar.gz"
diff --git a/main/postfix/APKBUILD b/main/postfix/APKBUILD
index 4757cfd0fa..3cf8bededa 100644
--- a/main/postfix/APKBUILD
+++ b/main/postfix/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=postfix 2pkgname=postfix
3pkgver=2.9.0 3pkgver=2.9.1
4pkgrel=0 4pkgrel=1
5pkgdesc="Secure and fast drop-in replacement for Sendmail (MTA)" 5pkgdesc="Secure and fast drop-in replacement for Sendmail (MTA)"
6url="http://www.postfix.org/" 6url="http://www.postfix.org/"
7arch="all" 7arch="all"
@@ -9,7 +9,7 @@ license="IPL-1"
9depends= 9depends=
10makedepends="db-dev pcre-dev openssl-dev postgresql-dev mysql-dev openldap-dev 10makedepends="db-dev pcre-dev openssl-dev postgresql-dev mysql-dev openldap-dev
11 cyrus-sasl-dev perl file sqlite-dev" 11 cyrus-sasl-dev perl file sqlite-dev"
12install="$pkgname.pre-install $pkgname.post-install" 12install="$pkgname.pre-install"
13subpackages="$pkgname-doc $pkgname-ldap $pkgname-mysql $pkgname-pcre 13subpackages="$pkgname-doc $pkgname-ldap $pkgname-mysql $pkgname-pcre
14 $pkgname-pgsql $pkgname-sqlite" 14 $pkgname-pgsql $pkgname-sqlite"
15source="ftp://ftp.porcupine.org/mirrors/$pkgname-release/official/$pkgname-$pkgver.tar.gz 15source="ftp://ftp.porcupine.org/mirrors/$pkgname-release/official/$pkgname-$pkgver.tar.gz
@@ -137,6 +137,10 @@ package() {
137 install -d -o postfix -g postfix "$pkgdir"/var/spool/postfix 137 install -d -o postfix -g postfix "$pkgdir"/var/spool/postfix
138 install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname 138 install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
139 install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE 139 install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
140 chown postfix "$pkgdir"/var/spool/postfix/* "$pkgdir"/var/lib/postfix \
141 || return 1
142 chgrp postdrop "$pkgdir"/var/spool/postfix/maildrop \
143 "$pkgdir"/var/spool/postfix/public || return 1
140} 144}
141 145
142_mv_dict() { 146_mv_dict() {
@@ -156,7 +160,7 @@ pcre() { _mv_dict pcre ; }
156pgsql() { _mv_dict pgsql ; } 160pgsql() { _mv_dict pgsql ; }
157sqlite() { _mv_dict sqlite ; } 161sqlite() { _mv_dict sqlite ; }
158 162
159md5sums="43a5ea2d6fb39185a60b4635e016967e postfix-2.9.0.tar.gz 163md5sums="5c81b304a42c691671454dfe80b506ca postfix-2.9.1.tar.gz
160d773f01dcc965d219a8a37b88f89c5bf postfix.initd 164d773f01dcc965d219a8a37b88f89c5bf postfix.initd
1618de3f108639eda995162c590053a1278 dynamic-maps3.patch 1658de3f108639eda995162c590053a1278 dynamic-maps3.patch
162442efd1a95b0c061dfb8ab75456e0f24 dynamicmaps.cf 166442efd1a95b0c061dfb8ab75456e0f24 dynamicmaps.cf
diff --git a/main/postfix/postfix.post-install b/main/postfix/postfix.post-install
deleted file mode 100644
index 98e01db0bb..0000000000
--- a/main/postfix/postfix.post-install
+++ /dev/null
@@ -1,6 +0,0 @@
1#!/bin/sh
2
3chown postfix /var/spool/postfix/* /var/lib/postfix
4chgrp postdrop /var/spool/postfix/maildrop /var/spool/postfix/public
5
6exit 0
diff --git a/testing/postfixadmin/APKBUILD b/main/postfixadmin/APKBUILD
index 8043f1a0d5..90a46fbb3a 100644
--- a/testing/postfixadmin/APKBUILD
+++ b/main/postfixadmin/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=postfixadmin 3pkgname=postfixadmin
4pkgver=2.3.3 4pkgver=2.3.5
5pkgrel=0 5pkgrel=0
6pkgdesc="Web Based Management tool for Postfix" 6pkgdesc="Web Based Management tool for Postfix"
7url="http://postfixadmin.com/" 7url="http://postfixadmin.com/"
@@ -41,4 +41,4 @@ package() {
41 "$pkgdir"/usr/share/webapps/postfixadmin/config.inc.php 41 "$pkgdir"/usr/share/webapps/postfixadmin/config.inc.php
42} 42}
43 43
44md5sums="0dfcd8a4535e00aced45c82dbcedf859 postfixadmin-2.3.3.tar.gz" 44md5sums="9a72ed8d827fa2c7f641001f2aa87814 postfixadmin-2.3.5.tar.gz"
diff --git a/main/postgresql/APKBUILD b/main/postgresql/APKBUILD
index ff5d9b4e57..fd226f949a 100644
--- a/main/postgresql/APKBUILD
+++ b/main/postgresql/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=postgresql 2pkgname=postgresql
3pkgver=9.1.2 3pkgver=9.1.3
4pkgrel=2 4pkgrel=0
5pkgdesc="A sophisticated object-relational DBMS" 5pkgdesc="A sophisticated object-relational DBMS"
6url="http://www.postgresql.org/" 6url="http://www.postgresql.org/"
7arch="all" 7arch="all"
@@ -57,7 +57,7 @@ client() {
57} 57}
58 58
59 59
60md5sums="7dbff52221954c46595313eb7f92c3e0 postgresql-9.1.2.tar.bz2 60md5sums="641e1915f7ebfdc9f138e4c55b6aec0e postgresql-9.1.3.tar.bz2
614d2f5be74fae4895db3d993e69bbda10 postgresql.initd 614d2f5be74fae4895db3d993e69bbda10 postgresql.initd
62b609795f715cefcc30b08e4ed01f4416 postgresql.confd 62b609795f715cefcc30b08e4ed01f4416 postgresql.confd
63df2d90fc713b4e89fd21abb9e36cd688 pg-restore.initd 63df2d90fc713b4e89fd21abb9e36cd688 pg-restore.initd
diff --git a/main/postgrey/APKBUILD b/main/postgrey/APKBUILD
index b83dca2de6..469a1967cd 100644
--- a/main/postgrey/APKBUILD
+++ b/main/postgrey/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Michael Mason <ms13sp@gmail.com> 2# Maintainer: Michael Mason <ms13sp@gmail.com>
3pkgname=postgrey 3pkgname=postgrey
4pkgver=1.34 4pkgver=1.34
5pkgrel=0 5pkgrel=1
6pkgdesc="Postfix policy server implementing greylisting" 6pkgdesc="Postfix policy server implementing greylisting"
7url="http://postgrey.schweikert.ch/" 7url="http://postgrey.schweikert.ch/"
8arch="noarch" 8arch="noarch"
@@ -38,4 +38,4 @@ package() {
38 38
39md5sums="f736a7be1094593f1a66cd13f32b39ef postgrey-1.34.tar.gz 39md5sums="f736a7be1094593f1a66cd13f32b39ef postgrey-1.34.tar.gz
40caaad5770ab07fb5af3bbd522a05b84f postgrey.confd 40caaad5770ab07fb5af3bbd522a05b84f postgrey.confd
41d0611b244202c77ad7ad79862721a738 postgrey.initd" 41851f2c402430997d5af8ad71e72ac48a postgrey.initd"
diff --git a/main/postgrey/postgrey.initd b/main/postgrey/postgrey.initd
index c9e51ceba9..f2f4699abe 100644
--- a/main/postgrey/postgrey.initd
+++ b/main/postgrey/postgrey.initd
@@ -5,7 +5,7 @@
5 5
6conf="/etc/conf.d/postgrey" 6conf="/etc/conf.d/postgrey"
7 7
8opts="${opts} reload" 8extra_started_commands="reload"
9 9
10depend() { 10depend() {
11 need net 11 need net
diff --git a/main/pound/APKBUILD b/main/pound/APKBUILD
index e68516a46e..7af602ffb1 100644
--- a/main/pound/APKBUILD
+++ b/main/pound/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=pound 2pkgname=pound
3pkgver=2.6 3pkgver=2.6
4pkgrel=0 4pkgrel=1
5pkgdesc="A reverse proxy, load balancer, and SSL wrapper" 5pkgdesc="A reverse proxy, load balancer, and SSL wrapper"
6url="http://www.apsis.ch/pound/index_html" 6url="http://www.apsis.ch/pound/index_html"
7arch="all" 7arch="all"
diff --git a/main/privoxy/APKBUILD b/main/privoxy/APKBUILD
index 2395185bc9..d83dbbb78f 100644
--- a/main/privoxy/APKBUILD
+++ b/main/privoxy/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=privoxy 2pkgname=privoxy
3pkgver=3.0.19 3pkgver=3.0.19
4pkgrel=0 4pkgrel=1
5pkgdesc="A web proxy with advanced filtering capabilities" 5pkgdesc="A web proxy with advanced filtering capabilities"
6url="http://www.privoxy.org" 6url="http://www.privoxy.org"
7arch="all" 7arch="all"
diff --git a/main/python/APKBUILD b/main/python/APKBUILD
index 35ab8ef088..95b241da9b 100644
--- a/main/python/APKBUILD
+++ b/main/python/APKBUILD
@@ -2,7 +2,7 @@
2pkgname=python 2pkgname=python
3pkgver=2.7.2 3pkgver=2.7.2
4_verbase=${pkgver%.*} 4_verbase=${pkgver%.*}
5pkgrel=1 5pkgrel=3
6pkgdesc="A high-level scripting language" 6pkgdesc="A high-level scripting language"
7url="http://www.python.org" 7url="http://www.python.org"
8arch="all" 8arch="all"
@@ -13,7 +13,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-tests
13 " 13 "
14depends= 14depends=
15makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev 15makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev
16 gdbm-dev sqlite-dev libffi-dev" 16 gdbm-dev sqlite-dev libffi-dev readline-dev"
17source="http://www.$pkgname.org/ftp/$pkgname/$pkgver/Python-$pkgver.tar.bz2 17source="http://www.$pkgname.org/ftp/$pkgname/$pkgver/Python-$pkgver.tar.bz2
18 " 18 "
19 19
diff --git a/main/qemu/APKBUILD b/main/qemu/APKBUILD
index ec2fea7dcf..a76da3e1b9 100644
--- a/main/qemu/APKBUILD
+++ b/main/qemu/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=qemu 2pkgname=qemu
3pkgver=1.0 3pkgver=1.0.1
4pkgrel=4 4pkgrel=1
5pkgdesc="QEMU is a generic machine emulator and virtualizer" 5pkgdesc="QEMU is a generic machine emulator and virtualizer"
6url="http://www.nongnu.org/qemu/" 6url="http://www.nongnu.org/qemu/"
7arch="all" 7arch="all"
@@ -138,7 +138,7 @@ img() {
138 return $_err 138 return $_err
139} 139}
140 140
141md5sums="a64b36067a191451323b0d34ebb44954 qemu-1.0.tar.gz 141md5sums="5efd1091f01e3bc31bfdec27b8edeb00 qemu-1.0.1.tar.gz
14266660f143235201249dc0648b39b86ee 80-kvm.rules 14266660f143235201249dc0648b39b86ee 80-kvm.rules
143a69fe6ff552b61606c5550cac4294abc configure-libm.patch 143a69fe6ff552b61606c5550cac4294abc configure-libm.patch
1449f6c3143d61748eedc8cf8d0e53aee2c librt.patch" 1449f6c3143d61748eedc8cf8d0e53aee2c librt.patch"
diff --git a/main/qt/APKBUILD b/main/qt/APKBUILD
index 5048583daa..1b918c43e2 100644
--- a/main/qt/APKBUILD
+++ b/main/qt/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=qt 2pkgname=qt
3pkgver=4.8.0 3pkgver=4.8.0
4pkgrel=1 4pkgrel=4
5pkgdesc="A cross-platform application and UI framework" 5pkgdesc="A cross-platform application and UI framework"
6url="http://qt.nokia.com/" 6url="http://qt.nokia.com/"
7arch="all" 7arch="all"
@@ -19,6 +19,7 @@ makedepends="$depends_dev postgresql-dev mysql-dev unixodbc-dev cups-dev
19install= 19install=
20source="ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$pkgver.tar.gz 20source="ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$pkgver.tar.gz
21 qt-gtk-theme-fix.patch 21 qt-gtk-theme-fix.patch
22 qsettings-recursive-global-mutex.patch
22 assistant.desktop 23 assistant.desktop
23 designer.desktop 24 designer.desktop
24 linguist.desktop 25 linguist.desktop
@@ -232,6 +233,7 @@ x11() {
232 233
233md5sums="e8a5fdbeba2927c948d9f477a6abe904 qt-everywhere-opensource-src-4.8.0.tar.gz 234md5sums="e8a5fdbeba2927c948d9f477a6abe904 qt-everywhere-opensource-src-4.8.0.tar.gz
23491e8b5ea1e682ae51b60a27d01d7d381 qt-gtk-theme-fix.patch 23591e8b5ea1e682ae51b60a27d01d7d381 qt-gtk-theme-fix.patch
2367467e168418c50b2737b4b2fab4448fe qsettings-recursive-global-mutex.patch
235a445c6917086d80f1cfc1e40cb6b0132 assistant.desktop 237a445c6917086d80f1cfc1e40cb6b0132 assistant.desktop
236d457f0a0ad68a3861c3cadefe3b42ded designer.desktop 238d457f0a0ad68a3861c3cadefe3b42ded designer.desktop
237668331d9798a0e2b94381efb7be4c513 linguist.desktop 239668331d9798a0e2b94381efb7be4c513 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 0000000000..229123c54f
--- /dev/null
+++ b/main/qt/qsettings-recursive-global-mutex.patch
@@ -0,0 +1,17 @@
1Calling qsettings before constructing qapplications causes a dead-lock.
2
3http://sourceforge.net/tracker/?func=detail&aid=3168620&group_id=4932&atid=104932
4http://developer.qt.nokia.com/forums/viewthread/10365
5
6
7--- ./src/corelib/io/qsettings.cpp.orig
8+++ ./src/corelib/io/qsettings.cpp
9@@ -122,7 +122,7 @@
10 Q_GLOBAL_STATIC(ConfFileCache, unusedCacheFunc)
11 Q_GLOBAL_STATIC(PathHash, pathHashFunc)
12 Q_GLOBAL_STATIC(CustomFormatVector, customFormatVectorFunc)
13-Q_GLOBAL_STATIC(QMutex, globalMutex)
14+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, globalMutex, (QMutex::Recursive))
15 static QSettings::Format globalDefaultFormat = QSettings::NativeFormat;
16
17 #ifndef Q_OS_WIN
diff --git a/main/remmina-plugins/APKBUILD b/main/remmina-plugins/APKBUILD
deleted file mode 100644
index b7a4b0b490..0000000000
--- a/main/remmina-plugins/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=remmina-plugins
3pkgver=0.9.2
4pkgrel=1
5pkgdesc="Remmina plugins"
6url="http://sourceforge.net/projects/remmina/"
7arch="all"
8license="GPL"
9depends=""
10makedepends="perl remmina-dev freerdp-dev libxkbfile-dev gtk+-dev libssh-dev
11 jpeg-dev gnutls-dev"
12install=
13source="http://downloads.sourceforge.net/project/remmina/${pkgver%.*}/remmina-plugins-$pkgver.tar.gz"
14
15_builddir="$srcdir"/$pkgname-$pkgver
16build ()
17{
18 cd $srcdir/$pkgname-$pkgver
19 ./configure --prefix=/usr \
20 --enable-ssh \
21 --enable-rdp \
22 --enable-vnc \
23 --enable-xdmcp \
24 --enable-nx \
25 --disable-telepathy \
26 || return 1
27 make || return 1
28}
29
30package() {
31 cd "$_builddir"
32 make DESTDIR="$pkgdir" install || return 1
33 # remove *.a and *.la
34 rm "$pkgdir"/usr/lib/remmina/plugins/*.*a
35}
36
37md5sums="6f6b7cb18f7604f3f17eeda5173ede6a remmina-plugins-0.9.2.tar.gz"
diff --git a/main/remmina/APKBUILD b/main/remmina/APKBUILD
index 4ee4f12ec4..32cbf27442 100644
--- a/main/remmina/APKBUILD
+++ b/main/remmina/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=remmina 2pkgname=remmina
3pkgver=1.0.0 3pkgver=1.0.0
4pkgrel=0 4pkgrel=4
5pkgdesc="Remmina is a remote desktop client written in GTK+" 5pkgdesc="Remmina is a remote desktop client written in GTK+"
6url="http://remmina.sourceforge.net/" 6url="http://remmina.sourceforge.net/"
7arch="all" 7arch="all"
@@ -9,8 +9,9 @@ license="GPL"
9depends= 9depends=
10makedepends="gtk+-dev intltool zlib-dev jpeg-dev gnutls-dev vte-dev 10makedepends="gtk+-dev intltool zlib-dev jpeg-dev gnutls-dev vte-dev
11 libgcrypt-dev libssh-dev libxkbfile-dev freerdp-dev avahi-dev 11 libgcrypt-dev libssh-dev libxkbfile-dev freerdp-dev avahi-dev
12 wget cmake" 12 cmake"
13install= 13install=
14replaces="remmina-plugins"
14subpackages="$pkgname-dev $pkgname-lang" 15subpackages="$pkgname-dev $pkgname-lang"
15source="https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz 16source="https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz
16 underlinking.patch 17 underlinking.patch
@@ -29,6 +30,7 @@ build() {
29 cd "$srcdir"/FreeRDP-Remmina-* 30 cd "$srcdir"/FreeRDP-Remmina-*
30 cmake -DCMAKE_BUILD_TYPE=Release \ 31 cmake -DCMAKE_BUILD_TYPE=Release \
31 -DCMAKE_INSTALL_PREFIX=/usr \ 32 -DCMAKE_INSTALL_PREFIX=/usr \
33 -DWITH_PTHREAD=ON \
32 -DWITH_TELEPATHY=OFF \ 34 -DWITH_TELEPATHY=OFF \
33 || return 1 35 || return 1
34 make || return 1 36 make || return 1
@@ -40,5 +42,5 @@ package() {
40} 42}
41 43
42md5sums="701c540acaab961bc3adf130a2ddb8b1 Remmina-1.0.0.tar.gz 44md5sums="701c540acaab961bc3adf130a2ddb8b1 Remmina-1.0.0.tar.gz
43c5874505afdcbc984beda485eed23b47 underlinking.patch 45594668bf54d4068cc57f8cfdae482adb underlinking.patch
44178d55f7aa59d6dc73b19e03201ad1e4 no-gnome-keyring.patch" 46178d55f7aa59d6dc73b19e03201ad1e4 no-gnome-keyring.patch"
diff --git a/main/remmina/underlinking.patch b/main/remmina/underlinking.patch
index 4cabfea11c..63fa39a9c0 100644
--- a/main/remmina/underlinking.patch
+++ b/main/remmina/underlinking.patch
@@ -30,3 +30,52 @@ index 0fe7bbf..5368a26 100644
30-- 30--
311.7.9 311.7.9
32 32
33--- ./cmake/FindFREERDP.cmake.orig
34+++ ./cmake/FindFREERDP.cmake
35@@ -42,11 +42,17 @@
36 find_library(FREERDP_CHANNELS_LIBRARY NAMES freerdp-channels
37 HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
38
39+find_library(FREERDP_CACHE_LIBRARY NAMES freerdp-cache
40+ HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
41+
42+find_library(FREERDP_UTILS NAMES freerdp-utils
43+ HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
44+
45 include(FindPackageHandleStandardArgs)
46
47 find_package_handle_standard_args(FREERDP DEFAULT_MSG FREERDP_LIBRARY FREERDP_INCLUDE_DIR)
48
49-set(FREERDP_LIBRARIES ${FREERDP_LIBRARY} ${FREERDP_GDI_LIBRARY} ${FREERDP_KBD_LIBRARY} ${FREERDP_RAIL_LIBRARY} ${FREERDP_CODEC_LIBRARY} ${FREERDP_CHANNELS_LIBRARY})
50+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)
51 set(FREERDP_INCLUDE_DIRS ${FREERDP_INCLUDE_DIR})
52
53 mark_as_advanced(FREERDP_INCLUDE_DIR FREERDP_LIBRARY)
54--- ./remmina-plugins/vnc/CMakeLists.txt.orig
55+++ ./remmina-plugins/vnc/CMakeLists.txt
56@@ -28,7 +28,7 @@
57 set_target_properties(remmina-plugin-vnc PROPERTIES PREFIX "")
58
59 include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${LIBVNCSERVER_INCLUDE_DIRS})
60-target_link_libraries(remmina-plugin-vnc ${REMMINA_COMMON_LIBRARIES} ${LIBVNCSERVER_LIBRARIES})
61+target_link_libraries(remmina-plugin-vnc ${REMMINA_COMMON_LIBRARIES} ${LIBVNCSERVER_LIBRARIES})
62
63 install(TARGETS remmina-plugin-vnc DESTINATION ${REMMINA_PLUGINDIR})
64
65--- ./remmina-plugins/vnc/libvncserver/CMakeLists.txt.orig
66+++ ./remmina-plugins/vnc/libvncserver/CMakeLists.txt
67@@ -29,6 +29,7 @@
68 endif(JPEG_FOUND)
69 option(LIBVNCSERVER_ALLOW24BPP "Allow 24 bpp" ON)
70 if(GNUTLS_FOUND)
71+ message(STATUS "Found libgnutls: ${GNUTLS_LIBRARIES}")
72 set(LIBVNCSERVER_WITH_CLIENT_TLS 1)
73 endif(GNUTLS_FOUND)
74 if(LIBGCRYPT_LIBRARIES)
75@@ -98,5 +99,5 @@
76 set(ADDITIONAL_LIBS ws2_32)
77 endif(WIN32)
78
79-target_link_libraries(vncclient ${ADDITIONAL_LIBS} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES})
80+target_link_libraries(vncclient ${ADDITIONAL_LIBS} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES} ${GNUTLS_LIBRARIES})
81
diff --git a/main/ristretto/APKBUILD b/main/ristretto/APKBUILD
index 84b6997c64..486597d605 100644
--- a/main/ristretto/APKBUILD
+++ b/main/ristretto/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=ristretto 2pkgname=ristretto
3pkgver=0.3.4 3pkgver=0.3.5
4pkgrel=0 4pkgrel=0
5pkgdesc="Ristretto is a image viewer for Xfce" 5pkgdesc="Ristretto is a image viewer for Xfce"
6url="http://goodies.xfce.org/projects/applications/ristretto" 6url="http://goodies.xfce.org/projects/applications/ristretto"
@@ -36,4 +36,4 @@ package() {
36 cd "$srcdir"/$pkgname-$pkgver 36 cd "$srcdir"/$pkgname-$pkgver
37 make DESTDIR="$pkgdir" install || return 1 37 make DESTDIR="$pkgdir" install || return 1
38} 38}
39md5sums="86c042ee4ffefb0ff5e806849ec4d33c ristretto-0.3.4.tar.bz2" 39md5sums="3bfdf129926236a45c58d7afdbb703b7 ristretto-0.3.5.tar.bz2"
diff --git a/main/roundcubemail/APKBUILD b/main/roundcubemail/APKBUILD
index 0ae69d7f29..ff85dee10d 100644
--- a/main/roundcubemail/APKBUILD
+++ b/main/roundcubemail/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=roundcubemail 2pkgname=roundcubemail
3pkgver=0.7.1 3pkgver=0.7.2
4pkgrel=0 4pkgrel=0
5pkgdesc="A PHP web-based mail client" 5pkgdesc="A PHP web-based mail client"
6url="http://www.roundcube.net" 6url="http://www.roundcube.net"
@@ -63,5 +63,5 @@ installer() {
63 "$subpkgdir"/usr/share/webapps/roundcube 63 "$subpkgdir"/usr/share/webapps/roundcube
64} 64}
65 65
66md5sums="bc4f20d3d7f69a5df0ae54172da2998f roundcubemail-0.7.1.tar.gz 66md5sums="529bd9131e796e368b68b9aec9c885d0 roundcubemail-0.7.2.tar.gz
671a134edb94ff52e8a046725e485a381d fix-dirs.patch" 671a134edb94ff52e8a046725e485a381d fix-dirs.patch"
diff --git a/main/rrdtool/APKBUILD b/main/rrdtool/APKBUILD
index d300dbc763..92f74ebff2 100644
--- a/main/rrdtool/APKBUILD
+++ b/main/rrdtool/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=rrdtool 2pkgname=rrdtool
3pkgver=1.4.5 3pkgver=1.4.7
4pkgrel=1 4pkgrel=0
5pkgdesc="Data logging and graphing application" 5pkgdesc="Data logging and graphing application"
6url="http://www.rrdtool.org" 6url="http://www.rrdtool.org"
7arch="all" 7arch="all"
@@ -58,4 +58,4 @@ lua_rrd() {
58} 58}
59 59
60 60
61md5sums="4d116dba9a0888d8aaac179e35d3980a rrdtool-1.4.5.tar.gz" 61md5sums="ffe369d8921b4dfdeaaf43812100c38f rrdtool-1.4.7.tar.gz"
diff --git a/main/ruby-rmagick/APKBUILD b/main/ruby-rmagick/APKBUILD
index 976b03233d..6091c3b7c9 100644
--- a/main/ruby-rmagick/APKBUILD
+++ b/main/ruby-rmagick/APKBUILD
@@ -3,7 +3,7 @@
3pkgname=ruby-rmagick 3pkgname=ruby-rmagick
4_gemname=rmagick 4_gemname=rmagick
5pkgver=2.13.1 5pkgver=2.13.1
6pkgrel=1 6pkgrel=2
7pkgdesc="Ruby ImageMagick interface" 7pkgdesc="Ruby ImageMagick interface"
8url="http://rmagick.rubyforge.org" 8url="http://rmagick.rubyforge.org"
9arch="all" 9arch="all"
diff --git a/main/ruby/APKBUILD b/main/ruby/APKBUILD
index cbbe23984e..1d5cca2d8e 100644
--- a/main/ruby/APKBUILD
+++ b/main/ruby/APKBUILD
@@ -3,7 +3,7 @@
3pkgname=ruby 3pkgname=ruby
4pkgver=1.8.7_p352 4pkgver=1.8.7_p352
5_pkgver=${pkgver/_/-} 5_pkgver=${pkgver/_/-}
6pkgrel=0 6pkgrel=1
7pkgdesc="An object-oriented language for quick and easy programming" 7pkgdesc="An object-oriented language for quick and easy programming"
8url="http://www.ruby-lang.org/en/" 8url="http://www.ruby-lang.org/en/"
9arch="all" 9arch="all"
diff --git a/main/slang/APKBUILD b/main/slang/APKBUILD
index f98a19cdbc..486e74cde2 100644
--- a/main/slang/APKBUILD
+++ b/main/slang/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=slang 2pkgname=slang
3pkgver=2.2.4 3pkgver=2.2.4
4pkgrel=0 4pkgrel=1
5pkgdesc="S-Lang is a powerful interpreted language" 5pkgdesc="S-Lang is a powerful interpreted language"
6url="http://www.s-lang.org/" 6url="http://www.s-lang.org/"
7arch="all" 7arch="all"
diff --git a/main/snort/APKBUILD b/main/snort/APKBUILD
index 1509cd3c94..07e399872d 100644
--- a/main/snort/APKBUILD
+++ b/main/snort/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=snort 3pkgname=snort
4pkgver=2.9.2.1 4pkgver=2.9.2.1
5pkgrel=0 5pkgrel=1
6pkgdesc="An open source network intrusion prevention and detection system" 6pkgdesc="An open source network intrusion prevention and detection system"
7url="http://www.snort.org/" 7url="http://www.snort.org/"
8arch="all" 8arch="all"
diff --git a/main/subversion/APKBUILD b/main/subversion/APKBUILD
index 3ddedc9105..0a7b6c4635 100644
--- a/main/subversion/APKBUILD
+++ b/main/subversion/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=subversion 2pkgname=subversion
3pkgver=1.7.2 3pkgver=1.7.4
4pkgrel=3 4pkgrel=0
5pkgdesc="Replacement for CVS, another versioning system (svn)" 5pkgdesc="Replacement for CVS, another versioning system (svn)"
6url="http://subversion.tigris.org/" 6url="http://subversion.tigris.org/"
7arch="all" 7arch="all"
@@ -82,7 +82,7 @@ pl() {
82 mv "$pkgdir"/usr/lib/*perl* "$subpkgdir"/usr/lib/ 82 mv "$pkgdir"/usr/lib/*perl* "$subpkgdir"/usr/lib/
83} 83}
84 84
85md5sums="1e5dfffd27be080672e5a042564368a8 subversion-1.7.2.tar.bz2 85md5sums="99ace9433be21a4793fc1cdbf2fdea09 subversion-1.7.4.tar.bz2
86e1127cb722daecb3c89adbaf9eed7adf subversion-1.7.0-deplibs.patch 86e1127cb722daecb3c89adbaf9eed7adf subversion-1.7.0-deplibs.patch
87cb2697049b57cab4d7d07336c2a339d3 subversion-perl-deplibs.patch 87cb2697049b57cab4d7d07336c2a339d3 subversion-perl-deplibs.patch
88d084a7558053784886bc858b94fa9186 svnserve.confd 88d084a7558053784886bc858b94fa9186 svnserve.confd
diff --git a/main/sudo/APKBUILD b/main/sudo/APKBUILD
index ea42e5d9d2..50d057cad9 100644
--- a/main/sudo/APKBUILD
+++ b/main/sudo/APKBUILD
@@ -1,19 +1,19 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=sudo 2pkgname=sudo
3pkgver=1.8.3_p2 3pkgver=1.8.4_p4
4if [ "${pkgver%_*}" != "$pkgver" ]; then 4if [ "${pkgver%_*}" != "$pkgver" ]; then
5 _realver=${pkgver%_*}${pkgver#*_} 5 _realver=${pkgver%_*}${pkgver#*_}
6else 6else
7 _realver=$pkgver 7 _realver=$pkgver
8fi 8fi
9pkgrel=1 9pkgrel=0
10pkgdesc="Give certain users the ability to run some commands as root" 10pkgdesc="Give certain users the ability to run some commands as root"
11url="http://www.sudo.ws/sudo/" 11url="http://www.sudo.ws/sudo/"
12arch="all" 12arch="all"
13license='custom ISC' 13license='custom ISC'
14makedepends= 14makedepends="zlib-dev"
15depends= 15depends=
16subpackages="$pkgname-doc" 16subpackages="$pkgname-doc $pkgname-dev"
17source="ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_realver.tar.gz 17source="ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_realver.tar.gz
18 libcrypt.patch" 18 libcrypt.patch"
19 19
@@ -33,17 +33,18 @@ build() {
33 --with-env-editor \ 33 --with-env-editor \
34 --without-pam \ 34 --without-pam \
35 --without-skey \ 35 --without-skey \
36 --with-passprompt="[sudo] password for %p: " \
36 || return 1 37 || return 1
37 make || return 1 38 make || return 1
38} 39}
39 40
40package() { 41package() {
41 cd "$_builddir" 42 cd "$_builddir"
42 make -j1 DESTDIR="$pkgdir" install || return 1
43 # the sudo's mkinstalldir script miscreates the leading 43 # the sudo's mkinstalldir script miscreates the leading
44 # path components with bad permissions. fix this. 44 # path components with bad permissions. fix this.
45 chmod 0755 "$pkgdir"/var "$pkgdir"/var/lib || return 1 45 install -d -m0755 "$pkgdir"/var "$pkgdir"/var/db || return 1
46 make -j1 DESTDIR="$pkgdir" install || return 1
46} 47}
47 48
48md5sums="6d4282a1530c541f7900fa8dfcf2a882 sudo-1.8.3p2.tar.gz 49md5sums="b9be6df7ecefedff2263052ed9fc5e93 sudo-1.8.4p4.tar.gz
49429d9613091f1f3f19ce8def5b3032b3 libcrypt.patch" 50429d9613091f1f3f19ce8def5b3032b3 libcrypt.patch"
diff --git a/main/swfdec-mozilla/APKBUILD b/main/swfdec-mozilla/APKBUILD
index c2855fae10..2249a2abb6 100644
--- a/main/swfdec-mozilla/APKBUILD
+++ b/main/swfdec-mozilla/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=swfdec-mozilla 2pkgname=swfdec-mozilla
3pkgver=0.8.2 3pkgver=0.8.2
4pkgrel=3 4pkgrel=4
5pkgdesc="free plugin for Mozilla browsers that uses the Swfdec library for playing SWF files" 5pkgdesc="free plugin for Mozilla browsers that uses the Swfdec library for playing SWF files"
6url="http://swfdec.freedesktop.org" 6url="http://swfdec.freedesktop.org"
7arch="all" 7arch="all"
diff --git a/main/swfdec/APKBUILD b/main/swfdec/APKBUILD
index 01d79d47a1..2272abd9a9 100644
--- a/main/swfdec/APKBUILD
+++ b/main/swfdec/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=swfdec 2pkgname=swfdec
3pkgver=0.8.4 3pkgver=0.8.4
4pkgrel=5 4pkgrel=6
5pkgdesc="free library for decoding and rendering Flash animations" 5pkgdesc="free library for decoding and rendering Flash animations"
6url="http://swfdec.freedesktop.org" 6url="http://swfdec.freedesktop.org"
7arch="all" 7arch="all"
diff --git a/main/swig/APKBUILD b/main/swig/APKBUILD
index 9b3363e0c9..0dfff98444 100644
--- a/main/swig/APKBUILD
+++ b/main/swig/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=swig 2pkgname=swig
3pkgver=2.0.4 3pkgver=2.0.4
4pkgrel=0 4pkgrel=1
5pkgdesc="SWIG is a compiler that makes it easy to integrate C and C++ code with scripting languages" 5pkgdesc="SWIG is a compiler that makes it easy to integrate C and C++ code with scripting languages"
6url="http://www.swig.org/" 6url="http://www.swig.org/"
7arch="all" 7arch="all"
diff --git a/main/sylpheed/APKBUILD b/main/sylpheed/APKBUILD
index 0537d4e7e1..6eb592625d 100644
--- a/main/sylpheed/APKBUILD
+++ b/main/sylpheed/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=sylpheed 2pkgname=sylpheed
3pkgver=3.1.2 3pkgver=3.1.3
4pkgrel=1 4pkgrel=0
5pkgdesc="Lightweight and user-friendly e-mail client" 5pkgdesc="Lightweight and user-friendly e-mail client"
6url="http://sylpheed.sraoss.jp/en/" 6url="http://sylpheed.sraoss.jp/en/"
7arch="all" 7arch="all"
@@ -24,4 +24,4 @@ package() {
24 make DESTDIR="$pkgdir" install || return 1 24 make DESTDIR="$pkgdir" install || return 1
25 find "$pkgdir" -name '*.la' -delete 25 find "$pkgdir" -name '*.la' -delete
26} 26}
27md5sums="17100ab8ef5ef7e431bdbcff68bbf7b4 sylpheed-3.1.2.tar.bz2" 27md5sums="2ad17c0f822b266d83dfba11c3088659 sylpheed-3.1.3.tar.bz2"
diff --git a/main/sysstat/APKBUILD b/main/sysstat/APKBUILD
index 76a29811e8..a0b234dac6 100644
--- a/main/sysstat/APKBUILD
+++ b/main/sysstat/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=sysstat 3pkgname=sysstat
4pkgver=10.0.3 4pkgver=10.0.4
5pkgrel=0 5pkgrel=0
6pkgdesc="Performance monitoring tools for Linux" 6pkgdesc="Performance monitoring tools for Linux"
7url="http://pagesperso-orange.fr/sebastien.godard/" 7url="http://pagesperso-orange.fr/sebastien.godard/"
@@ -28,4 +28,4 @@ package() {
28 28
29} 29}
30 30
31md5sums="0e1ed5200f31f69a3b90ff1e81c07745 sysstat-10.0.3.tar.gz" 31md5sums="c84fd7774080dae34f47257175a0b187 sysstat-10.0.4.tar.gz"
diff --git a/main/thunar/APKBUILD b/main/thunar/APKBUILD
index 347a54b51e..0038e7dc9b 100644
--- a/main/thunar/APKBUILD
+++ b/main/thunar/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=thunar 2pkgname=thunar
3pkgver=1.3.0 3pkgver=1.3.0
4pkgrel=3 4pkgrel=4
5pkgdesc="File manager for Xfce" 5pkgdesc="File manager for Xfce"
6url="http://thunar.xfce.org" 6url="http://thunar.xfce.org"
7arch="all" 7arch="all"
diff --git a/main/tinc/APKBUILD b/main/tinc/APKBUILD
index c67a38d926..b9d73ac8bf 100644
--- a/main/tinc/APKBUILD
+++ b/main/tinc/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=tinc 2pkgname=tinc
3pkgver=1.0.16 3pkgver=1.0.17
4pkgrel=0 4pkgrel=0
5pkgdesc="tinc is a Virtual Private Network (VPN) daemon" 5pkgdesc="tinc is a Virtual Private Network (VPN) daemon"
6url="http://www.tinc-vpn.org/" 6url="http://www.tinc-vpn.org/"
@@ -45,7 +45,7 @@ package() {
45 "$pkgdir"/etc/conf.d/tinc.networks 45 "$pkgdir"/etc/conf.d/tinc.networks
46} 46}
47 47
48md5sums="f1c7ed94878725fb2cf4efb02bf160da tinc-1.0.16.tar.gz 48md5sums="cd9e94e472584f9fe96cd86b42345afe tinc-1.0.17.tar.gz
49411a260ed9bb1fc441444c3efbeafd7b tincd.initd 49411a260ed9bb1fc441444c3efbeafd7b tincd.initd
50b95471eab010c0ed002cf3d16a009ced tincd.lo.initd 50b95471eab010c0ed002cf3d16a009ced tincd.lo.initd
51475d64d9aa410ec7e91f5b079800abc9 tinc.networks" 51475d64d9aa410ec7e91f5b079800abc9 tinc.networks"
diff --git a/main/tzdata/APKBUILD b/main/tzdata/APKBUILD
index f412e9b895..a3ed2b4772 100644
--- a/main/tzdata/APKBUILD
+++ b/main/tzdata/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=tzdata 3pkgname=tzdata
4pkgver=2011n 4pkgver=2012b
5_tzcodever=2011i 5_tzcodever=2011i
6_ptzver=0.3 6_ptzver=0.3
7pkgrel=0 7pkgrel=0
@@ -48,7 +48,7 @@ package() {
48} 48}
49 49
50md5sums="cf7f4335b7c8682899fa2814e711c1b2 tzcode2011i.tar.gz 50md5sums="cf7f4335b7c8682899fa2814e711c1b2 tzcode2011i.tar.gz
5120dbfb28efa008ddbf6dd34601ea40fa tzdata2011n.tar.gz 510615fd29def380a917e528433c820368 tzdata2012b.tar.gz
5299efce32b3f870e1b071ce47f3a98a18 posixtz-0.3.tar.bz2 5299efce32b3f870e1b071ce47f3a98a18 posixtz-0.3.tar.bz2
53a64ed97d1fc03c66ee8612c0d9f40507 Makefile.patch 53a64ed97d1fc03c66ee8612c0d9f40507 Makefile.patch
540b4d86d855f7daa3f79c9f28f04a48f9 0001-posixtz-fix-up-lseek.patch" 540b4d86d855f7daa3f79c9f28f04a48f9 0001-posixtz-fix-up-lseek.patch"
diff --git a/main/unixodbc/APKBUILD b/main/unixodbc/APKBUILD
index ee22bb6938..81080280ee 100644
--- a/main/unixodbc/APKBUILD
+++ b/main/unixodbc/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: Carlo Landmeter <clandmeter@gmail.com> 2# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
3pkgname=unixodbc 3pkgname=unixodbc
4pkgver=2.3.0 4pkgver=2.3.1
5pkgrel=3 5pkgrel=0
6pkgdesc="ODBC is an open specification to access Data Sources" 6pkgdesc="ODBC is an open specification to access Data Sources"
7url="http://www.unixodbc.org/" 7url="http://www.unixodbc.org/"
8arch="all" 8arch="all"
@@ -33,4 +33,4 @@ package() {
33 33
34} 34}
35 35
36md5sums="f2ad22cbdffe836c58987ed2332c2e99 unixODBC-2.3.0.tar.gz" 36md5sums="86788d4006620fa1f171c13d07fdcaab unixODBC-2.3.1.tar.gz"
diff --git a/main/util-vserver/APKBUILD b/main/util-vserver/APKBUILD
index e1dbeec168..f2364f452a 100644
--- a/main/util-vserver/APKBUILD
+++ b/main/util-vserver/APKBUILD
@@ -1,8 +1,8 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=util-vserver 2pkgname=util-vserver
3pkgver=0.30.216_pre2994 3pkgver=0.30.216_pre3029
4_realver=${pkgver%_*}-${pkgver#*_} 4_realver=${pkgver/_/-}
5pkgrel=1 5pkgrel=0
6pkgdesc="Linux-VServer admin utilities" 6pkgdesc="Linux-VServer admin utilities"
7url="http://www.nongnu.org/util-vserver/" 7url="http://www.nongnu.org/util-vserver/"
8arch="all" 8arch="all"
@@ -13,12 +13,6 @@ makedepends="iptables-dev e2fsprogs-dev beecrypt-dev autoconf automake
13depends="bash make" 13depends="bash make"
14 14
15source="http://people.linux-vserver.org/~dhozac/t/uv-testing/util-vserver-$_realver.tar.bz2 15source="http://people.linux-vserver.org/~dhozac/t/uv-testing/util-vserver-$_realver.tar.bz2
16 chmod.patch
17 ensc_pathprog.patch
18 validate.patch
19 alpine.patch
20 bb-grep.patch
21 init-script.patch
22 setup-vs-template 16 setup-vs-template
23 setup-vs-guest 17 setup-vs-guest
24 " 18 "
@@ -33,14 +27,6 @@ prepare() {
33 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 27 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
34 esac 28 esac
35 done 29 done
36 msg "Running autotools..."
37 libtoolize --force && aclocal -I m4 && autoconf && automake || return 1
38
39 # this is an ugly workaround
40 sed -i -e "s:as_echo=.*:as_echo=echo:g" configure
41
42 # issue 305
43 sed -i -e 's/^function //' gentoo/util-vserver
44} 30}
45 31
46build() { 32build() {
@@ -70,12 +56,6 @@ package() {
70 install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest 56 install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest
71} 57}
72 58
73md5sums="c2801f089982043bd0528349a1c61bb7 util-vserver-0.30.216-pre2994.tar.bz2 59md5sums="e0775fe6ee9ce390be2be84c94eca4ab util-vserver-0.30.216-pre3029.tar.bz2
7473c7437dea6937a57cf38d166ef83c09 chmod.patch
75ff8f561f672524eb46fe633f584ef60e ensc_pathprog.patch
76da8b70c4fd40e68894b3903ffd121397 validate.patch
7704000261fd990a3963b0e98260b481bd alpine.patch
783fc52e20d998f02995f21912738f5d36 bb-grep.patch
796e574535409b3ab0361023f1a7f082eb init-script.patch
80fae6626b724dec90a19924d68d355cd2 setup-vs-template 60fae6626b724dec90a19924d68d355cd2 setup-vs-template
81ef35e154d1a221631a53f9c2cfbe9834 setup-vs-guest" 614778b260b0fa8b5ce05d0a64f0b2fb39 setup-vs-guest"
diff --git a/main/util-vserver/alpine.patch b/main/util-vserver/alpine.patch
deleted file mode 100644
index eacc2cb624..0000000000
--- a/main/util-vserver/alpine.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1Index: distrib/alpine/initpost
2===================================================================
3--- a/distrib/alpine/initpost (revision 2855)
4+++ b/distrib/alpine/initpost (working copy)
5@@ -1,6 +1,6 @@
6 #!/bin/bash
7
8-# Copyright (C) 2007 Natanael Copa <ncopa@alpinelinux.org>
9+# Copyright (C) 2007, 2009 Natanael Copa <ncopa@alpinelinux.org>
10 #
11 # This program is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13@@ -37,7 +37,12 @@
14 $_VSERVER "$vserver" stop &>/dev/null || true
15 $_VSERVER "$vserver" start --rescue --rescue-init /bin/busybox sh -c '
16 /bin/busybox --install -s
17- /sbin/rc_add -s 20 -k syslog
18+ if [ -x /sbin/rc-update ]; then
19+ /sbin/rc-update add syslog boot
20+ /bin/rmdir /etc/rcL.d /etc/rcK.d
21+ else
22+ /sbin/rc_add -s 20 -k syslog
23+ fi
24 '
25
26 # set up hostname
diff --git a/main/util-vserver/bb-grep.patch b/main/util-vserver/bb-grep.patch
deleted file mode 100644
index ce6c5f0459..0000000000
--- a/main/util-vserver/bb-grep.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1--- ./scripts/functions.orig
2+++ ./scripts/functions
3@@ -553,7 +553,7 @@
4 for _ga_j in "${_ga_marks[@]}"; do
5 _ga_mark="$(echo "$_ga_j" | $_SED 's/^[!~]//')"
6 test "$_ga_j" = "$_ga_mark" || _ga_invert=true
7- test -s "$_ga_markfile" && $_GREP -qx "$_ga_mark" "$_ga_markfile" && \
8+ test -s "$_ga_markfile" && $_GREP -q "^$_ga_mark\$" "$_ga_markfile" && \
9 _ga_f=true || :
10 done
11 test $_ga_f = $_ga_invert && \
12@@ -637,7 +637,7 @@
13 set -- $($_GREP '^Tasks:' "/proc/virtual/$1/status" 2>/dev/null)
14 _gp_procnr_cnt=$2
15 else
16- _gp_procnr_cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP -x "$1" | $_WC -l )
17+ _gp_procnr_cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP "^$1\$" | $_WC -l )
18 fi
19
20 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 53861e8932..0000000000
--- a/main/util-vserver/chmod.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1diff -ru a/Makefile.am b/Makefile.am
2--- a/Makefile.am 2009-09-29 13:48:10.000000000 +0000
3+++ b/Makefile.am 2009-09-29 13:50:00.000000000 +0000
4@@ -149,7 +149,7 @@
5 @mkdir -p $$(dirname '$@')
6 @echo "$(SED) -e '...' $*.pathsubst >$*"
7 @$(SED) -e '$(pathsubst_RULES)' '$<' >'$@.tmp'
8- @-chmod --reference='$<' '$@.tmp'
9+ @-chmod $$(stat -c %a '$<') '$@.tmp'
10 @if cmp -s '$@.tmp' '$*'; then \
11 echo "... no changes, reusing old version"; \
12 rm -f '$@.tmp'; \
diff --git a/main/util-vserver/ensc_pathprog.patch b/main/util-vserver/ensc_pathprog.patch
deleted file mode 100644
index e14c1f6dab..0000000000
--- a/main/util-vserver/ensc_pathprog.patch
+++ /dev/null
@@ -1,14 +0,0 @@
1diff -ru a/m4/ensc_pathprog.m4 b/m4/ensc_pathprog.m4
2--- a/m4/ensc_pathprog.m4 2009-10-02 17:25:49.000000000 +0000
3+++ b/m4/ensc_pathprog.m4 2009-10-02 17:31:28.000000000 +0000
4@@ -61,7 +61,9 @@
5
6 if test "x$5" = x; then
7 if test -h "${$1}"; then
8- $1=`readlink -f "${$1}"`
9+ case `readlink "{$1}"` in
10+ ../*) $1=`readlink -f "${$1}"`;;
11+ esac
12 fi
13 fi
14
diff --git a/main/util-vserver/init-script.patch b/main/util-vserver/init-script.patch
deleted file mode 100644
index 2bfd40a9a4..0000000000
--- a/main/util-vserver/init-script.patch
+++ /dev/null
@@ -1,11 +0,0 @@
1--- util-vserver-0.30.216-pre2994.orig/gentoo/util-vserver
2+++ util-vserver-0.30.216-pre2994/gentoo/util-vserver
3@@ -58,7 +58,7 @@
4 $__PKGLIBDIR/bash-wrapper 'hasCgroup'
5 if [ $? -eq 0 ]; then
6 ebegin "Mounting cgroup-hierarchy"
7- $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"'
8+ $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; IFS=","; $_MOUNT -t cgroup -o "${CGROUP_SUBSYS[*]}" vserver "$CGROUP_MNT"'
9 eend $?
10 fi
11 }
diff --git a/main/util-vserver/setup-vs-guest b/main/util-vserver/setup-vs-guest
index 8a41306699..985be9c3ad 100644
--- a/main/util-vserver/setup-vs-guest
+++ b/main/util-vserver/setup-vs-guest
@@ -131,12 +131,12 @@ ask_until() {
131# http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names 131# http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
132valid_hostname() { 132valid_hostname() {
133 # check length 133 # check length
134 if [ $(echo "$1" | wc -c) -gt 63 ]; then 134 if [ $(echo "$1" | wc -c) -gt 255 ]; then
135 echo "Hostname '$1' is too long." 135 echo "Hostname '$1' is too long."
136 return 1 136 return 1
137 fi 137 fi
138 # check that it only contains valid chars 138 # check that it only contains valid chars
139 if ! [ -z "$(echo $1 | sed 's/[0-9a-z-]//g')" ]; then 139 if ! [ -z "$(echo $1 | sed 's/[0-9.a-z-]//g')" ]; then
140 echo "Hostname must only contain letters (a-z), digits (0-9) or -" 140 echo "Hostname must only contain letters (a-z), digits (0-9) or -"
141 return 1 141 return 1
142 fi 142 fi
diff --git a/main/util-vserver/validate.patch b/main/util-vserver/validate.patch
deleted file mode 100644
index 081dce5a31..0000000000
--- a/main/util-vserver/validate.patch
+++ /dev/null
@@ -1,10 +0,0 @@
1diff -ru a/m4/validate.am b/m4/validate.am
2--- a/m4/validate.am 2009-10-02 17:57:03.000000000 +0000
3+++ b/m4/validate.am 2009-10-02 17:58:15.000000000 +0000
4@@ -26,5 +26,5 @@
5 .%-up-to-date:
6 @rm -f .*-up-to-date
7 @$(MAKE) -s clean
8- @touch -t 197001020000 '$@'
9+ @cp -a Makefile.am '$@'
10 @$(MAKE) -s $(BUILT_SOURCES)
diff --git a/main/valgrind/APKBUILD b/main/valgrind/APKBUILD
index f1895dbe4e..1ab0d3ed45 100644
--- a/main/valgrind/APKBUILD
+++ b/main/valgrind/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=valgrind 2pkgname=valgrind
3pkgver=3.7.0 3pkgver=3.7.0
4pkgrel=2 4pkgrel=3
5pkgdesc="A tool to help find memory-management problems in programs" 5pkgdesc="A tool to help find memory-management problems in programs"
6url="http://valgrind.org/" 6url="http://valgrind.org/"
7arch="all" 7arch="all"
@@ -56,9 +56,8 @@ package() {
56 56
57 # pax causes some issues 57 # pax causes some issues
58 # http://marc.info/?l=gentoo-hardened&m=119512627126298&w=2 58 # http://marc.info/?l=gentoo-hardened&m=119512627126298&w=2
59 if [ -x "$pkgdir"/usr/lib/valgrind/memcheck-amd64-linux ]; then 59 # http://bugs.alpinelinux.org/issues/999
60 paxctl -c -m "$pkgdir"/usr/lib/valgrind/memcheck-amd64-linux 60 paxctl -c -m "$pkgdir"/usr/lib/valgrind/*-*-linux
61 fi
62} 61}
63 62
64md5sums="a855fda56edf05614f099dca316d1775 valgrind-3.7.0.tar.bz2 63md5sums="a855fda56edf05614f099dca316d1775 valgrind-3.7.0.tar.bz2
diff --git a/main/vde2/APKBUILD b/main/vde2/APKBUILD
index b4bf5bd0d8..38e994f7cc 100644
--- a/main/vde2/APKBUILD
+++ b/main/vde2/APKBUILD
@@ -1,17 +1,18 @@
1# Maintainer: Michael Zhou <zhoumichaely@gmail.com> 1# Maintainer: Michael Zhou <zhoumichaely@gmail.com>
2pkgname=vde2 2pkgname=vde2
3pkgver=2.3.1 3pkgver=2.3.1
4pkgrel=3 4pkgrel=5
5pkgdesc="VDE: Virtual Distributed Ethernet. User mode networking for QEMU, UML, etc." 5pkgdesc="VDE: Virtual Distributed Ethernet. User mode networking for QEMU, UML, etc."
6url="http://vde.sf.net" 6url="http://vde.sf.net"
7arch="all" 7arch="all"
8license="GPL" 8license="GPL"
9depends="openssl" 9depends="openssl"
10install="vde2.pre-install"
10makedepends="openssl-dev libpcap-dev" 11makedepends="openssl-dev libpcap-dev"
11subpackages="$pkgname-doc $pkgname-dev $pkgname-libs" 12subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
12source="http://downloads.sourceforge.net/project/vde/vde2/2.3.1/vde2-2.3.1.tar.gz 13source="http://downloads.sourceforge.net/project/vde/vde2/2.3.1/vde2-2.3.1.tar.gz
13 vde.initd 14 vde2.pre-up
14 vde.confd 15 vde2.post-down
15 " 16 "
16 17
17_builddir="$srcdir"/$pkgname-$pkgver 18_builddir="$srcdir"/$pkgname-$pkgver
@@ -32,8 +33,10 @@ package() {
32 "$pkgdir"/usr/lib/vde2/*/*.la \ 33 "$pkgdir"/usr/lib/vde2/*/*.la \
33 || return 1 34 || return 1
34 35
35 install -Dm755 "$srcdir"/vde.initd "$pkgdir"/etc/init.d/vde || return 1 36 install -Dm755 "$srcdir"/vde2.pre-up \
36 install -Dm644 "$srcdir"/vde.confd "$pkgdir"/etc/conf.d/vde || return 1 37 "$pkgdir"/etc/network/if-pre-up.d/vde2 || return 1
38 install -Dm755 "$srcdir"/vde2.post-down \
39 "$pkgdir"/etc/network/if-post-down.d/vde2 || return 1
37} 40}
38 41
39libs() { 42libs() {
@@ -43,5 +46,5 @@ libs() {
43} 46}
44 47
45md5sums="c8c2acb92a72f779e0b484b1543a1cc3 vde2-2.3.1.tar.gz 48md5sums="c8c2acb92a72f779e0b484b1543a1cc3 vde2-2.3.1.tar.gz
4621c1b8e841978461aa5c87b3f8abf01d vde.initd 49e484324d93baf668d7ec756f36ebf389 vde2.pre-up
47318c787df292690c4da5b6ed83dc1893 vde.confd" 50d9a32a3e77e64a265e00df5ab1081672 vde2.post-down"
diff --git a/main/vde2/vde.confd b/main/vde2/vde.confd
deleted file mode 100644
index d879453753..0000000000
--- a/main/vde2/vde.confd
+++ /dev/null
@@ -1,10 +0,0 @@
1# load the tun module
2VDE_MODPROBE_TUN="yes"
3# virtual tap networking device to be used for vde
4VDE_TAP="tap0"
5# mode and group for the socket
6VDE_SOCK_CHMOD="770"
7VDE_SOCK_CHOWN=":qemu"
8
9# This is the actual options string passed to VDE. Change this at your own risk.
10VDE_OPTS="-tap ${VDE_TAP} -daemon"
diff --git a/main/vde2/vde.initd b/main/vde2/vde.initd
deleted file mode 100644
index 6400f9bbb2..0000000000
--- a/main/vde2/vde.initd
+++ /dev/null
@@ -1,26 +0,0 @@
1#!/sbin/runscript
2# Copyright 1999-2010 Gentoo Foundation
3# Distributed under the terms of the GNU General Public License v2
4# $Header: /var/cvsroot/gentoo-x86/net-misc/vde/files/vde.init,v 1.4 2010/01/12 12:58:36 dang Exp $
5
6depend() {
7 after net.${VDE_TAP}
8}
9
10
11start() {
12 ebegin "Starting vde"
13 [ "${VDE_MODPROBE_TUN}" == "yes" ] && modprobe tun
14 start-stop-daemon --start --quiet \
15 --exec /usr/bin/vde_switch -- ${VDE_OPTS}
16 eend $? "Failed to start vde"
17 chmod -R ${VDE_SOCK_CHMOD} /var/run/vde.ctl
18 chown -R ${VDE_SOCK_CHOWN} /var/run/vde.ctl
19}
20
21stop() {
22 ebegin "Stopping vde"
23 [ "${VDE_MODPROBE_TUN}" == "yes" ] && modprobe -r tun
24 start-stop-daemon --stop --quiet --exec /usr/bin/vde_switch
25 eend $? "Failed to stop vde"
26}
diff --git a/main/vde2/vde2.post-down b/main/vde2/vde2.post-down
new file mode 100644
index 0000000000..be5f5b31d8
--- /dev/null
+++ b/main/vde2/vde2.post-down
@@ -0,0 +1,37 @@
1#!/bin/sh
2
3VDE_SWITCH=/usr/bin/vde_switch
4SLIRPVDE=/usr/bin/slirpvde
5
6# this is not an interesting stanza for us
7if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then
8 exit 0
9fi
10
11PIDFILE="/var/run/vde2/$IFACE-plug.pid"
12CTLFILE="/var/run/vde2/$IFACE.ctl"
13if [ -f $PIDFILE ]; then
14 start-stop-daemon --stop --quiet --pidfile $PIDFILE
15 rm -f $PIDFILE
16fi
17
18PIDFILE="/var/run/vde2/$IFACE-slirp.pid"
19if [ -f $PIDFILE ]; then
20 start-stop-daemon --stop --quiet --pidfile $PIDFILE \
21 --exec $SLIRPVDE
22 rm -f $PIDFILE
23fi
24
25PIDFILE="/var/run/vde2/$IFACE.pid"
26CTLDIR="/var/run/vde2/$IFACE.ctl"
27if [ -f $PIDFILE ]; then
28 start-stop-daemon --stop --quiet --pidfile $PIDFILE \
29 --exec $VDE_SWITCH
30 rm -f $PIDFILE
31
32 # set the tap interface to non-persistant, see #568363
33 vde_tunctl -b -d $IFACE 1>/dev/null
34fi
35
36rm -rf $CTLDIR
37rm -f $CTLDIR.*
diff --git a/main/vde2/vde2.pre-install b/main/vde2/vde2.pre-install
new file mode 100644
index 0000000000..7548397d31
--- /dev/null
+++ b/main/vde2/vde2.pre-install
@@ -0,0 +1,6 @@
1#!/bin/sh
2
3addgroup -S vde2-net 2>/dev/null
4adduser -S -h /var/run/vde2 -s /bin/false -G vde2-net -D -H vde2-net 2>/dev/null
5
6exit 0
diff --git a/main/vde2/vde2.pre-up b/main/vde2/vde2.pre-up
new file mode 100644
index 0000000000..991b382265
--- /dev/null
+++ b/main/vde2/vde2.pre-up
@@ -0,0 +1,74 @@
1#!/bin/sh
2
3VDE_SWITCH=/usr/bin/vde_switch
4VDE_PLUG=/usr/bin/vde_plug
5SLIRPVDE=/usr/bin/slirpvde
6DPIPE=/usr/bin/dpipe
7RUNDIR=/var/run/vde2
8
9USER=vde2-net
10GROUP=vde2-net
11
12if [ ! -x $VDE_SWITCH ] || [ ! -x $SLIRPVDE ]; then
13 exit 0
14fi
15
16# this is not an interesting stanza for us
17if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then
18 exit 0
19fi
20
21
22# Create directory if missing
23if [ ! -d $RUNDIR ]; then
24 mkdir -p $RUNDIR
25 chown vde2-net:vde2-net $RUNDIR
26 chmod 2770 $RUNDIR
27fi
28
29# vde2-switch [-|<args>]
30if [ -n "$IF_VDE2_SWITCH" ]; then
31 set -- $IF_VDE2_SWITCH
32 test "$1" = "-" && shift
33 PIDFILE="$RUNDIR/$IFACE.pid"
34 CTLDIR="$RUNDIR/$IFACE.ctl"
35 MGMTFILE="$RUNDIR/$IFACE.mgmt"
36
37 if [ "$METHOD" = "manual" ]; then
38 TAPOPTS=""
39 else
40 TAPOPTS="-t $IFACE"
41 fi
42
43 # block to make sure the interface exists, see #568363
44 vde_tunctl -b -t $IFACE 1>/dev/null
45
46 start-stop-daemon --start --quiet --pidfile $PIDFILE \
47 --exec $VDE_SWITCH -- \
48 -s $CTLDIR -m 660 -g $GROUP -p $PIDFILE $TAPOPTS \
49 -M $MGMTFILE --mgmtmode 660 -d "$@"
50fi
51
52# vde2-plug <dpipe_cmd2>
53if [ -n "$IF_VDE2_PLUG" ]; then
54 set -- $IF_VDE2_PLUG
55 PIDFILE="$RUNDIR/$IFACE-plug.pid"
56 CTLDIR="$RUNDIR/$IFACE.ctl"
57
58 start-stop-daemon --start --quiet --pidfile $PIDFILE \
59 --make-pidfile --background \
60 --exec $DPIPE -- $VDE_PLUG -g $GROUP -m 660 $CTLDIR = "$@"
61fi
62
63# vde2-slirp [-|<args>]
64if [ -n "$IF_VDE2_SLIRP" ]; then
65 set -- $IF_VDE2_SLIRP
66 test "$1" = "-" && shift
67 PIDFILE="$RUNDIR/$IFACE-slirp.pid"
68 CTLDIR="$RUNDIR/$IFACE.ctl"
69
70 start-stop-daemon --start --quiet --pidfile $PIDFILE \
71 --chuid $USER \
72 --exec $SLIRPVDE -- \
73 -s $CTLDIR -m 660 -p $PIDFILE -d "$@"
74fi
diff --git a/main/vlan/APKBUILD b/main/vlan/APKBUILD
new file mode 100644
index 0000000000..30910bcb4a
--- /dev/null
+++ b/main/vlan/APKBUILD
@@ -0,0 +1,47 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=vlan
4pkgver=1.9
5pkgrel=0
6pkgdesc="Scripts for configuring VLAN network interfaces"
7url="http://wiki.alpinelinux.org/wiki/Vlan"
8arch="noarch"
9license="GPL"
10depends=""
11makedepends=""
12install=""
13subpackages=""
14source="mvlan.post-down
15 mvlan.pre-up
16 vlan.post-down
17 vlan.pre-up
18 "
19
20_builddir=
21prepare() {
22 local i
23 cd "$_builddir"
24 for i in $source; do
25 case $i in
26 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
27 esac
28 done
29}
30
31build() {
32 return 0
33}
34
35package() {
36 cd "$srcdir"
37 for i in vlan mvlan; do
38 for j in pre-up post-down; do
39 install -Dm755 $i.$j "$pkgdir"/etc/network/if-$j.d/$i || return 1
40 done
41 done
42}
43
44md5sums="3683be24d1fc1d8565e945c349c41571 mvlan.post-down
455b6232674e83b0dbfc24af523dd5ec03 mvlan.pre-up
46cebaa97c933ed0f4cafd92f864ab4bc8 vlan.post-down
47c9acef8c17d8af19590767f57eb11b6b vlan.pre-up"
diff --git a/main/vlan/mvlan.post-down b/main/vlan/mvlan.post-down
new file mode 100644
index 0000000000..229fc0e7f5
--- /dev/null
+++ b/main/vlan/mvlan.post-down
@@ -0,0 +1,14 @@
1#!/bin/sh
2case "$IFACE" in
3 *#[0-9]*)
4 MVLANID="${IFACE##*#}"
5 IF_MVLAN_RAW_DEVICE="${IFACE%#*}"
6 ;;
7 *)
8 ;;
9esac
10if [ -n "$IF_MVLAN_RAW_DEVICE" ]
11then
12 # Kernel new style configuration
13 ip link del link dev "$IFACE"
14fi
diff --git a/main/vlan/mvlan.pre-up b/main/vlan/mvlan.pre-up
new file mode 100644
index 0000000000..6713f3115a
--- /dev/null
+++ b/main/vlan/mvlan.pre-up
@@ -0,0 +1,14 @@
1#!/bin/sh
2case "$IFACE" in
3 *#[0-9]*)
4 MVLANID="${IFACE##*#}"
5 IF_MVLAN_RAW_DEVICE="${IFACE%#*}"
6 ;;
7 *)
8 ;;
9esac
10if [ -n "$IF_MVLAN_RAW_DEVICE" ]
11then
12 # Kernel new style configuration
13 ip link add link $IF_MVLAN_RAW_DEVICE name $IFACE type macvlan
14fi
diff --git a/main/vlan/vlan.post-down b/main/vlan/vlan.post-down
new file mode 100644
index 0000000000..bf887ef149
--- /dev/null
+++ b/main/vlan/vlan.post-down
@@ -0,0 +1,27 @@
1#!/bin/sh
2
3# If IFACE is an automagic vlan interface (without the vlan-raw-device
4# parameter) then let's try to discover the magic here.. Another way would be
5# to just probe for the right device name in /proc/net/vlan
6
7case "$IFACE" in
8 *#*) exit 0 ;;
9 *:*) exit 0 ;;
10 vlan*.*) exit 0 ;;
11 vlan*) VLAN_ID="${IFACE#vlan}" NAME1=VLAN;;
12 *.*) RAW_DEVICE="${IFACE%.*}"; VLAN_ID="${IFACE##*.}" NAME1=DEV;;
13 *) [ -n "${IF_VLAN_ID}" -o -n "${IF_VLAN_RAW_DEVICE}" ] || exit 0 ;;
14esac
15
16if [ -n "$IF_VLAN_RAW_DEVICE" ]; then
17 RAW_DEVICE="$IF_VLAN_RAW_DEVICE"
18fi
19
20if [ -n "$IF_VLAN_ID" ]; then
21 VLAN_ID="$IF_VLAN_ID"
22fi
23
24if [ -n "${RAW_DEVICE}" -o -n "${VLAN_ID}" ]
25then
26 vconfig rem "${IFACE}"
27fi
diff --git a/main/vlan/vlan.pre-up b/main/vlan/vlan.pre-up
new file mode 100644
index 0000000000..450e0d3358
--- /dev/null
+++ b/main/vlan/vlan.pre-up
@@ -0,0 +1,57 @@
1#!/bin/sh
2do_vlan_config() {
3 local device="$1"
4 local id="$2"
5 local newname="$3"
6 local nametype="$4"
7 vconfig set_name_type ${nametype}
8 vconfig add ${device} ${id}
9}
10
11
12# Preferred method:
13# Autoguess construction from #520147
14case "$IFACE" in
15 *#*) exit 0 ;;
16 *:*) exit 0 ;;
17 vlan*.*) exit 0 ;;
18 vlan*) VLAN_ID="${IFACE#vlan}" NAME1=VLAN;;
19 *.*) RAW_DEVICE="${IFACE%.*}"; VLAN_ID="${IFACE##*.}" NAME1=DEV;;
20 *) [ -n "${IF_VLAN_ID}" -o -n "${IF_VLAN_RAW_DEVICE}" ] || exit 0 ;;
21esac
22case "$VLAN_ID" in
23 [1-9]*) NAME2=VID_NO_PAD;;
24 0???) NAME2=VID;;
25 0*) NAME2=VID_NO_PAD;; # Failsafe fallback in case of backward compatability
26esac
27if [ -n "$IF_VLAN_RAW_DEVICE" ]; then
28 RAW_DEVICE="$IF_VLAN_RAW_DEVICE"
29fi
30
31# Strip leading 0s
32VLAN_ID="${VLAN_ID#0}"
33VLAN_ID="${VLAN_ID#0}"
34VLAN_ID="${VLAN_ID#0}"
35VLAN_ID="${VLAN_ID#0}"
36VLAN_ID="$(($VLAN_ID))"
37if [ -n "$IF_VLAN_ID" ]; then
38 VLAN_ID="$IF_VLAN_ID"
39fi
40
41if [ -z "$VLAN_ID" -o -z "$RAW_DEVICE" ]; then
42 exit 1
43fi
44
45if [ -n "$RAW_DEVICE" ] && [ -n "$VLAN_ID" ]; then
46 if ! ip link show dev "$RAW_DEVICE" > /dev/null; then
47 echo "$RAW_DEVICE does not exist, unable to create $IFACE"
48 exit 1
49 fi
50 ip link set up dev "$RAW_DEVICE"
51 do_vlan_config "$RAW_DEVICE" "$VLAN_ID" "$IFACE" "${NAME1}_PLUS_${NAME2}"
52 if ! ip link show dev "$IFACE" > /dev/null; then
53 echo "Failed to create vlan device $IFACE on device $RAW_DEVICE with tag $VLAN_ID"
54 exit 1
55 fi
56fi
57
diff --git a/main/vlc/APKBUILD b/main/vlc/APKBUILD
index 962cf725d6..bea5a92d34 100644
--- a/main/vlc/APKBUILD
+++ b/main/vlc/APKBUILD
@@ -1,7 +1,8 @@
1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org> 1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=vlc 3pkgname=vlc
4pkgver=1.1.13 4pkgver=2.0.0
5_pkgver=${pkgver/_/-}
5pkgrel=3 6pkgrel=3
6pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" 7pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
7pkgusers="vlc" 8pkgusers="vlc"
@@ -10,11 +11,11 @@ url="http://www.videolan.org/vlc/"
10arch="all" 11arch="all"
11license="GPL-2" 12license="GPL-2"
12triggers="$pkgname.trigger=/usr/lib/vlc/plugins" 13triggers="$pkgname.trigger=/usr/lib/vlc/plugins"
13subpackages="$pkgname-dev $pkgname-doc $pkgname-xorg $pkgname-daemon" 14subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg
14#depends="fluidsynth zvbi lirc-utils libdca 15 $pkgname-daemon"
15# libproxy libdvdnav>=4.1.3 libcddb smbclient 16#depends="fluidsynth zvbi lirc-utils libdca
16# libmatroska libmpcdec 17# libproxy libcddb smbclient
17# qt libmodplug ttf-dejavu" 18# libmpcdec libmodplug"
18depends="ttf-dejavu" 19depends="ttf-dejavu"
19makedepends=" 20makedepends="
20 a52dec-dev 21 a52dec-dev
@@ -27,30 +28,39 @@ makedepends="
27 faad2-dev 28 faad2-dev
28 ffmpeg-dev 29 ffmpeg-dev
29 flac-dev 30 flac-dev
31 freetype-dev
30 fribidi-dev 32 fribidi-dev
31 gtk+-dev 33 gtk+-dev
32 libdc1394-dev 34 libbluray-dev>=0.2.1 libbluray-dev<20100000
35 libavc1394-dev
36 libdc1394-dev>=2.1.0
33 libdvbpsi-dev 37 libdvbpsi-dev
38 libdvdnav-dev
39 libdvdread-dev
34 libgcrypt-dev 40 libgcrypt-dev
35 libice-dev 41 libice-dev
36 libiconv-dev 42 libiconv-dev
37 libmad-dev 43 libmad-dev
44 libmatroska-dev
38 libmpeg2-dev 45 libmpeg2-dev
39 libnotify-dev 46 libnotify-dev
40 libogg-dev 47 libogg-dev
41 libraw1394-dev 48 libraw1394-dev>=2.0.1
42 libshout-dev 49 libshout-dev
43 libsm-dev 50 libsm-dev
44 libtheora-dev 51 libtheora-dev
45 libvorbis-dev 52 libvorbis-dev
46 libx11-dev 53 libx11-dev
47 libxext-dev 54 libxext-dev
55 libxinerama-dev
56 libxpm-dev
48 libxv-dev 57 libxv-dev
49 live-media-dev 58 live-media-dev>=2012.01.26
50 lua-dev 59 lua-dev
51 ncurses-dev 60 ncurses-dev
52 mesa-dev 61 mesa-dev
53 pkgconfig 62 pkgconfig
63 qt-dev
54 sdl-dev 64 sdl-dev
55 speex-dev 65 speex-dev
56 sysfsutils-dev 66 sysfsutils-dev
@@ -60,15 +70,16 @@ makedepends="
60 xcb-util-renderutil-dev 70 xcb-util-renderutil-dev
61 xcb-util-keysyms-dev 71 xcb-util-keysyms-dev
62 " 72 "
63source="http://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 73source="http://download.videolan.org/pub/videolan/$pkgname/$_pkgver/$pkgname-$_pkgver.tar.xz
64 uclibc3.patch
65 uclibc-libcompat.patch
66 uclibc-inhibit-spawn.patch 74 uclibc-inhibit-spawn.patch
75 uclibc-no-xscreensaver.patch
76 uclibc3.patch
67 vlc.trigger 77 vlc.trigger
68 vlc-1.1.7-disable-cache-gen.patch
69 " 78 "
79# uclibc-libcompat.patch
80# vlc-1.1.7-disable-cache-gen.patch
70 81
71_builddir="$srcdir"/$pkgname-$pkgver 82_builddir="$srcdir"/$pkgname-$_pkgver
72prepare() { 83prepare() {
73 cd "$_builddir" 84 cd "$_builddir"
74 for i in $source; do 85 for i in $source; do
@@ -79,7 +90,7 @@ prepare() {
79 ;; 90 ;;
80 esac; 91 esac;
81 done 92 done
82 sed -i -e "/^SOURCES_xscreensaver/s/^/#/" modules/misc/Modules.am 93 sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am
83 ./bootstrap 94 ./bootstrap
84} 95}
85 96
@@ -88,35 +99,43 @@ build ()
88 cd "$_builddir" 99 cd "$_builddir"
89 sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c 100 sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c
90 101
102 # -fpermissive is needed due to zlib 1.2.6 changing
103 # void* to gzFile on gz*() functions
91 export CFLAGS="$CFLAGS -D_GNU_SOURCE" 104 export CFLAGS="$CFLAGS -D_GNU_SOURCE"
105 export CXXFLAGS="$CXXFLAGS -fpermissive"
92 106
93 ./configure --prefix=/usr \ 107 ./configure --prefix=/usr \
94 --disable-mmx \ 108 --disable-mmx \
95 --disable-nls \ 109 --disable-nls \
96 --disable-optimizations \ 110 --disable-optimizations \
97 --disable-qt4 --disable-skins2 \
98 --disable-rpath \ 111 --disable-rpath \
99 --enable-a52 \ 112 --enable-a52 \
100 --enable-avcodec \ 113 --enable-avcodec \
101 --enable-avformat \ 114 --enable-avformat \
115 --enable-bluray \
102 --enable-dbus \ 116 --enable-dbus \
103 --enable-dbus-control \ 117 --enable-dbus-control \
104 --enable-dc1394 \ 118 --enable-dc1394 \
119 --enable-dv \
105 --enable-dvbpsi \ 120 --enable-dvbpsi \
121 --enable-dvdread \
122 --enable-dvdnav \
106 --enable-faad \ 123 --enable-faad \
107 --enable-flac \ 124 --enable-flac \
108 --enable-httpd \ 125 --enable-httpd \
109 --enable-live555 \ 126 --enable-live555 \
127 --enable-matroska \
110 --enable-merge-ffmpeg \ 128 --enable-merge-ffmpeg \
111 --enable-ncurses \ 129 --enable-ncurses \
130 --enable-qt4 \
112 --enable-realrtsp \ 131 --enable-realrtsp \
113 --enable-sdl \ 132 --enable-sdl \
114 --enable-shout \ 133 --enable-shout \
134 --enable-skins2 \
115 --enable-speex \ 135 --enable-speex \
116 --enable-sout \ 136 --enable-sout \
117 --enable-taglib \ 137 --enable-taglib \
118 --enable-theora \ 138 --enable-theora \
119 --enable-v4l \
120 --enable-v4l2 \ 139 --enable-v4l2 \
121 --enable-vlm \ 140 --enable-vlm \
122 --enable-vorbis \ 141 --enable-vorbis \
@@ -124,10 +143,6 @@ build ()
124 --enable-xvideo \ 143 --enable-xvideo \
125 || return 1 144 || return 1
126 145
127# --enable-dvdread \
128# --enable-dvdnav \
129# --enable-qt4 \
130# --enable-skins2 \
131# --enable-dvb \ 146# --enable-dvb \
132# --enable-snapshot \ 147# --enable-snapshot \
133# --enable-hal \ 148# --enable-hal \
@@ -144,7 +159,11 @@ package() {
144# install -D -m644 share/vlc${res}x${res}.png \ 159# install -D -m644 share/vlc${res}x${res}.png \
145# "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1 160# "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
146# done 161# done
162 # delete cache as it's autocreated by trigger
163 rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat
164 # delete unneeded mozilla and kde support files
147 rm -rf "$pkgdir"/usr/lib/mozilla 165 rm -rf "$pkgdir"/usr/lib/mozilla
166 rm -rf "$pkgdir"/usr/share/kde4
148 find "$pkgdir" -name '*.la' -delete 167 find "$pkgdir" -name '*.la' -delete
149} 168}
150 169
@@ -154,28 +173,54 @@ _mv() {
154 mv "$1" "$subpkgdir"/$dir/ 173 mv "$1" "$subpkgdir"/$dir/
155} 174}
156 175
176qt() {
177 pkgdesc="Qt frontend for VLC"
178 depends="vlc-xorg>=2.0.0-r1"
179 cd "$pkgdir"
180 # scan for elf files that directly or indirectly depends on
181 # libQt* libraries
182 cd "$pkgdir"
183 for i in $(find -type f ); do
184 if ldd $i 2>/dev/null | grep -q "libQt"; then
185 _mv "$i" || return 1
186 fi
187 done
188 mkdir -p "$subpkgdir"/usr/bin
189 mv "$pkgdir"/usr/bin/qvlc \
190 "$subpkgdir"/usr/bin/
191}
192
157xorg() { 193xorg() {
158 pkgdesc="Video LAN X.org support" 194 pkgdesc="Video LAN X.org support"
195 depends="xdg-utils vlc>=2.0.0_rc1-r4"
196
159 # scan for elf files that directly or indirectly depends on 197 # scan for elf files that directly or indirectly depends on
160 # libX* libraries 198 # libX* libraries
161 cd "$pkgdir" 199 cd "$pkgdir"
162 for i in $(find -type f ); do 200 for i in $(find -type f ); do
163 if ldd $i 2>/dev/null | grep -q libX; then 201 if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb"; then
164 echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1 202 echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1
165 fi 203 fi
166 done 204 done
167 205
168 mkdir -p "$subpkgdir"/usr/share/ 206 mkdir -p "$subpkgdir"/usr/bin
207 mv "$pkgdir"/usr/bin/svlc \
208 "$subpkgdir"/usr/bin
209
210 mkdir -p "$subpkgdir"/usr/share/vlc
169 mv "$pkgdir"/usr/share/applications \ 211 mv "$pkgdir"/usr/share/applications \
170 "$pkgdir"/usr/share/icons \ 212 "$pkgdir"/usr/share/icons \
171 "$subpkgdir"/usr/share/ 213 "$subpkgdir"/usr/share/
214
215 mv "$pkgdir"/usr/share/vlc/skins2 \
216 "$subpkgdir"/usr/share/vlc
172} 217}
173 218
174daemon() { 219daemon() {
175 pkgdesc="Support for running VLC as a daemon" 220 pkgdesc="Support for running VLC as a daemon"
176 install="vlc-daemon.pre-install" 221 install="vlc-daemon.pre-install"
177 arch="noarch" 222 arch="noarch"
178 depends="vlc" 223 depends="vlc>=2.0.0_rc1-r0"
179 224
180 mkdir -p "$subpkgdir" 225 mkdir -p "$subpkgdir"
181 cd "$pkgdir" 226 cd "$pkgdir"
@@ -184,9 +229,8 @@ daemon() {
184 install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc 229 install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc
185} 230}
186 231
187md5sums="9678fb7a04808b6e0de63746d35e4bb1 vlc-1.1.13.tar.bz2 232md5sums="8806bff2ea9c76791123d444a92f708c vlc-2.0.0.tar.xz
188ba24152286d98f8a367c7fd0cb8949f4 uclibc3.patch
189402d28075ff672d4f273cf8b9b1b3137 uclibc-libcompat.patch
19028349b8239fdd6987fbe0ca2c758517f uclibc-inhibit-spawn.patch 23328349b8239fdd6987fbe0ca2c758517f uclibc-inhibit-spawn.patch
191ddbd40bd72fedc1449be45588aea5d66 vlc.trigger 234b84c5a9121440b6a1dcf28792d783eb8 uclibc-no-xscreensaver.patch
192e1ef2dec8e25f7ea6ba40e646c63e061 vlc-1.1.7-disable-cache-gen.patch" 23594f11ec8394775018222781a0c875444 uclibc3.patch
236350b30698eb784def7d19446eb1d6c81 vlc.trigger"
diff --git a/main/vlc/uclibc-libcompat.patch b/main/vlc/uclibc-libcompat.patch
deleted file mode 100644
index 056b1411d3..0000000000
--- a/main/vlc/uclibc-libcompat.patch
+++ /dev/null
@@ -1,90 +0,0 @@
1From b5f5c2cc68f60feea3b8f397f13f13e514d852d4 Mon Sep 17 00:00:00 2001
2From: Natanael Copa <ncopa@alpinelinux.org>
3Date: Fri, 28 Oct 2011 09:50:08 +0000
4Subject: [PATCH] build: libcompat fix in case there are no functions to
5 replace
6
7If the libc provides all the funcs in libcompat the libcompat.a will
8never be created due to LIBOBJS is empty (normally it contains whatever
9AC_REPLACE_FUNCS detects). This happens on uclibc.
10
11Since Makefile.am have a hardcoded LDADD to ../compat/libcompat.la things
12goes bad when there is no libcompat.a at all. We solve this by checking
13if LIBOBJS is set by AC_REPLACE_FUNCS and add libcompat via LTLIBCOMPAT.
14
15For alternative fixes see http://www.gnu.org/software/hello/manual/automake/LIBOBJS.html
16---
17 bin/Makefile.am | 2 +-
18 configure.ac | 8 ++++++++
19 modules/common.am | 2 +-
20 src/Makefile.am | 4 ++--
21 4 files changed, 12 insertions(+), 4 deletions(-)
22
23diff --git a/bin/Makefile.am b/bin/Makefile.am
24index 19dfb57..9214016 100644
25--- a/bin/Makefile.am
26+++ b/bin/Makefile.am
27@@ -60,5 +60,5 @@ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc
28 vlc_cache_gen_SOURCES = cachegen.c
29 vlc_cache_gen_LDADD = \
30 $(GNUGETOPT_LIBS) \
31- ../compat/libcompat.la \
32+ $(LTLIBCOMPAT) \
33 ../src/libvlc.la ../src/libvlccore.la
34diff --git a/configure.ac b/configure.ac
35index f216fa4..3997a85 100644
36--- a/configure.ac
37+++ b/configure.ac
38@@ -557,6 +557,14 @@ need_libc=false
39 dnl Check for usual libc functions
40 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])
41 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])
42+
43+dnl Check that we actually need libcompat
44+LTLIBCOMPAT=""
45+if test "x${LIBOBJS}" != "x"; then
46+ LTLIBCOMPAT="\$(top_builddir)/compat/libcompat.la"
47+fi
48+AC_SUBST(LTLIBCOMPAT)
49+
50 AC_CHECK_FUNCS(fdatasync,,
51 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
52 ])
53diff --git a/modules/common.am b/modules/common.am
54index ac88493..a117cc4 100644
55--- a/modules/common.am
56+++ b/modules/common.am
57@@ -25,7 +25,7 @@ AM_LDFLAGS = -rpath '$(libvlcdir)' \
58 -no-undefined \
59 `$(VLC_CONFIG) --ldflags plugin $@`
60 AM_LIBADD = `$(VLC_CONFIG) -libs plugin $@` \
61- $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la
62+ $(LTLIBVLCCORE) $(LTLIBCOMPAT)
63
64 include $(srcdir)/Modules.am
65
66diff --git a/src/Makefile.am b/src/Makefile.am
67index a8ab729..01c5158 100644
68--- a/src/Makefile.am
69+++ b/src/Makefile.am
70@@ -204,7 +204,7 @@ libvlccore_la_LDFLAGS = `$(VLC_CONFIG) --ldflags libvlccore` $(AM_LDFLAGS) \
71 -export-symbols $(srcdir)/libvlccore.sym \
72 -version-info 4:3:0
73 libvlccore_la_LIBADD = `$(VLC_CONFIG) -libs libvlccore` $(AM_LIBADD) \
74- $(LTLIBINTL) ../compat/libcompat.la
75+ $(LTLIBINTL) $(LTLIBCOMPAT)
76 libvlccore_la_DEPENDENCIES = libvlccore.sym
77 if HAVE_WIN32
78 libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT)
79@@ -217,7 +217,7 @@ libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
80 libvlc_la_SOURCES = $(SOURCES_libvlc_control)
81 nodist_libvlc_la_SOURCES = revision.c
82 libvlc_la_LIBADD = `$(VLC_CONFIG) -libs libvlc` \
83- libvlccore.la ../compat/libcompat.la
84+ libvlccore.la $(LTLIBCOMPAT)
85 libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc`
86 libvlc_la_LDFLAGS = $(AM_LDFLAGS) `$(VLC_CONFIG) --ldflags libvlc` \
87 -version-info 7:1:2 \
88--
891.7.7.1
90
diff --git a/testing/vlc/uclibc-no-xscreensaver.patch b/main/vlc/uclibc-no-xscreensaver.patch
index b4e1acef6e..b4e1acef6e 100644
--- a/testing/vlc/uclibc-no-xscreensaver.patch
+++ b/main/vlc/uclibc-no-xscreensaver.patch
diff --git a/main/vlc/uclibc3.patch b/main/vlc/uclibc3.patch
index bacad290a4..e57d6dd5f0 100644
--- a/main/vlc/uclibc3.patch
+++ b/main/vlc/uclibc3.patch
@@ -1,23 +1,6 @@
1diff --git a/src/control/vlm.c b/src/control/vlm.c 1--- vlc-2.0.0-rc1.orig/src/posix/linux_specific.c
2index 05417e5..46fa957 100644 2+++ vlc-2.0.0-rc1/src/posix/linux_specific.c
3--- a/src/control/vlm.c 3@@ -83,14 +83,14 @@
4+++ b/src/control/vlm.c
5@@ -25,6 +25,10 @@
6 # include <config.h>
7 #endif
8
9+#ifdef HAVE_CONFIG_H
10+# include "config.h"
11+#endif
12+
13 #include <vlc/libvlc.h>
14 #include <vlc/libvlc_vlm.h>
15 #include <vlc_es.h>
16diff --git a/src/misc/linux_specific.c b/src/misc/linux_specific.c
17index 1644ce6..1440e1c 100644
18--- a/src/misc/linux_specific.c
19+++ b/src/misc/linux_specific.c
20@@ -83,14 +83,14 @@ static struct
21 unsigned refs; 4 unsigned refs;
22 } once = { VLC_STATIC_MUTEX, 0 }; 5 } once = { VLC_STATIC_MUTEX, 0 };
23 6
@@ -27,10 +10,29 @@ index 1644ce6..1440e1c 100644
27 # include <stdlib.h> 10 # include <stdlib.h>
28 #endif 11 #endif
29 12
30 void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[]) 13 void system_Init (void)
31 { 14 {
32-#ifdef __GLIBC__ 15-#ifdef __GLIBC__
33+#if defined(__GLIBC__) && !defined(__UCLIBC__) 16+#if defined(__GLIBC__) && !defined(__UCLIBC__)
34 const char *glcv = gnu_get_libc_version (); 17 const char *glcv = gnu_get_libc_version ();
35 18
36 /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing, 19 /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing,
20--- vlc-2.0.0-rc1.orig/src/posix/thread.c
21+++ vlc-2.0.0-rc1/src/posix/thread.c
22@@ -1165,6 +1165,16 @@
23 return vlc_atomic_swap (&timer->overruns, 0);
24 }
25
26+#if defined(HAVE_SCHED_GETAFFINITY) && !defined(CPU_COUNT)
27+static unsigned CPU_COUNT(cpu_set_t *cpu)
28+{
29+ unsigned i, count = 0;
30+ for (i = 0; i < CPU_SETSIZE; i++)
31+ if (CPU_ISSET(i, cpu))
32+ count++;
33+ return count;
34+}
35+#endif
36
37 /**
38 * Count CPUs.
diff --git a/main/vlc/vlc.confd b/main/vlc/vlc.confd
index c42344b606..9a58842bd6 100644
--- a/main/vlc/vlc.confd
+++ b/main/vlc/vlc.confd
@@ -1,11 +1,15 @@
1# Sample vlc params suitable for running as a daemon 1# Sample vlc params suitable for running as a daemon
2 2
3## --daemon detach from prompt
4## --file-logging enable file logging 3## --file-logging enable file logging
5## --logfile logfile name/path 4## --logfile logfile name/path
6## -vvv verbose logging 5## -vvv verbose logging
7## -I dummy disable X11 interface 6## -I dummy disable X11 interface
8## --sout PARAMS encoding parameters 7## --sout PARAMS encoding parameters
9## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc
10 8
11VLC_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}" 9
10## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc
11##
12## The --daemon option will automatically be added so no need to add it
13## here.
14
15VLC_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 11567dcd86..8fe3b48660 100755
--- a/main/vlc/vlc.initd
+++ b/main/vlc/vlc.initd
@@ -1,22 +1,32 @@
1#!/sbin/runscript 1#!/sbin/runscript
2 2
3description="VideoLAN daemon"
4pidfile="/var/run/vlc/${RC_SVCNAME}.pid"
5command="/usr/bin/vlc"
6
3depend() { 7depend() {
4 need net 8 need net
9 after firewall
10}
11
12start_pre() {
13 checkpath --directory --owner vlc:vlc --mode 775 ${pidfile%/*}
5} 14}
6 15
7start() { 16start() {
8 ebegin "Starting VLC" 17 ebegin "Starting ${RC_SVCNAME}"
9 start-stop-daemon --start \ 18 start-stop-daemon --start \
10 --user vlc \ 19 --user vlc \
11 --exec /usr/bin/vlc -- ${VLC_OPTS} 20 --pidfile ${pidfile} \
21 --exec ${command} \
22 -- \
23 --daemon --pidfile ${pidfile} ${VLC_OPTS}
12 eend $? 24 eend $?
13} 25}
14 26
15stop () { 27stop() {
16 ebegin "Stopping VLC" 28 ebegin "Stopping ${RC_SVCNAME}"
17 start-stop-daemon --stop \ 29 start-stop-daemon --stop \
18 --signal KILL \ 30 --pidfile ${pidfile}
19 --exec /usr/bin/vlc
20 eend $? 31 eend $?
21} 32}
22
diff --git a/main/vlc/vlc.trigger b/main/vlc/vlc.trigger
index def39b951a..d7322fcb16 100644
--- a/main/vlc/vlc.trigger
+++ b/main/vlc/vlc.trigger
@@ -1,4 +1,4 @@
1#!/bin/sh 1#!/bin/sh
2 2
3exec /usr/lib/vlc/vlc-cache-gen 3exec /usr/lib/vlc/vlc-cache-gen "$@"
4 4
diff --git a/main/wine/APKBUILD b/main/wine/APKBUILD
index 723fff487d..0f57c5d485 100644
--- a/main/wine/APKBUILD
+++ b/main/wine/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=wine 2pkgname=wine
3pkgver=1.4_rc3 3pkgver=1.4
4_ver=${pkgver/_/-} 4_ver=${pkgver/_/-}
5pkgrel=0 5pkgrel=0
6pkgdesc="A compatibility layer for running Windows programs" 6pkgdesc="A compatibility layer for running Windows programs"
@@ -49,4 +49,4 @@ package() {
49 "$pkgdir"/usr/bin/wine 49 "$pkgdir"/usr/bin/wine
50} 50}
51 51
52md5sums="cbbf30fe43de9676abbb8ea88b1b5cde wine-1.4-rc3.tar.bz2" 52md5sums="6594ab86a4b1fb2c09dadfb4ea7fc4af wine-1.4.tar.bz2"
diff --git a/main/wpa_supplicant/APKBUILD b/main/wpa_supplicant/APKBUILD
index d05f4c5f83..a2aed8356d 100644
--- a/main/wpa_supplicant/APKBUILD
+++ b/main/wpa_supplicant/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=wpa_supplicant 2pkgname=wpa_supplicant
3pkgver=0.7.3 3pkgver=0.7.3
4pkgrel=1 4pkgrel=2
5pkgdesc="A utility providing key negotiation for WPA wireless networks" 5pkgdesc="A utility providing key negotiation for WPA wireless networks"
6url="http://hostap.epitest.fi/wpa_supplicant" 6url="http://hostap.epitest.fi/wpa_supplicant"
7arch="all" 7arch="all"
diff --git a/main/xcb-proto/APKBUILD b/main/xcb-proto/APKBUILD
index 70c9697186..06c3df4a51 100644
--- a/main/xcb-proto/APKBUILD
+++ b/main/xcb-proto/APKBUILD
@@ -1,10 +1,10 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xcb-proto 2pkgname=xcb-proto
3pkgver=1.6 3pkgver=1.7
4pkgrel=2 4pkgrel=0
5pkgdesc="XML-XCB protocol descriptions" 5pkgdesc="XML-XCB protocol descriptions"
6url="http://xcb.freedesktop.org/" 6url="http://xcb.freedesktop.org/"
7arch="all" 7arch="noarch"
8license="custom" 8license="custom"
9depends= 9depends=
10makedepends="python" 10makedepends="python"
@@ -22,4 +22,4 @@ package() {
22 install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname} 22 install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
23 install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1 23 install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
24} 24}
25md5sums="04313e1d914b44d0e457f6c494fc178b xcb-proto-1.6.tar.bz2" 25md5sums="f5d73ec841ed055f5e80535819f18400 xcb-proto-1.7.tar.bz2"
diff --git a/main/xdriinfo/APKBUILD b/main/xdriinfo/APKBUILD
index 5366c30e48..6fcae0aa2f 100644
--- a/main/xdriinfo/APKBUILD
+++ b/main/xdriinfo/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xdriinfo 2pkgname=xdriinfo
3pkgver=1.0.2 3pkgver=1.0.2
4pkgrel=3 4pkgrel=4
5pkgdesc="query configuration information of DRI drivers" 5pkgdesc="query configuration information of DRI drivers"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD
index 0ec727ecf8..4c266449d3 100644
--- a/main/xen/APKBUILD
+++ b/main/xen/APKBUILD
@@ -3,7 +3,7 @@
3# Maintainer: William Pitcock <nenolod@dereferenced.org> 3# Maintainer: William Pitcock <nenolod@dereferenced.org>
4pkgname=xen 4pkgname=xen
5pkgver=4.1.2 5pkgver=4.1.2
6pkgrel=4 6pkgrel=6
7pkgdesc="Xen hypervisor" 7pkgdesc="Xen hypervisor"
8url="http://www.xen.org/" 8url="http://www.xen.org/"
9arch="x86 x86_64" 9arch="x86 x86_64"
@@ -24,6 +24,7 @@ source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.g
24 pygrub_alpine.patch 24 pygrub_alpine.patch
25 librt.patch 25 librt.patch
26 busybox-sed.patch 26 busybox-sed.patch
27 e1000.patch
27 xencommons.initd 28 xencommons.initd
28 xend.initd 29 xend.initd
29 xendomains.initd" 30 xendomains.initd"
@@ -91,6 +92,7 @@ b973dc1ffcc6872e222b36f3b7b4836b fix_bswap_blktap2.patch
91a7500c42804abdf68e051dc667e65f93 pygrub_alpine.patch 92a7500c42804abdf68e051dc667e65f93 pygrub_alpine.patch
92fa06495a175571f4aa3b6cb88937953e librt.patch 93fa06495a175571f4aa3b6cb88937953e librt.patch
931bea3543ddc712330527b62fd9ff6520 busybox-sed.patch 941bea3543ddc712330527b62fd9ff6520 busybox-sed.patch
95c31163a3cd6cf58b4e9cac0e96812d65 e1000.patch
9462b3c5a7cff38c12df2de89af5d83fa1 xencommons.initd 9662b3c5a7cff38c12df2de89af5d83fa1 xencommons.initd
95b5bfc08b82bc0d21193714719a719798 xend.initd 97b5bfc08b82bc0d21193714719a719798 xend.initd
9686e7923383a906404da321d1814657e9 xendomains.initd" 986c288547faadd4262afd2f86e39e99a3 xendomains.initd"
diff --git a/main/xen/e1000.patch b/main/xen/e1000.patch
new file mode 100644
index 0000000000..0be637661e
--- /dev/null
+++ b/main/xen/e1000.patch
@@ -0,0 +1,42 @@
1From 3cf61880403b4e484539596a95937cc066243388 Mon Sep 17 00:00:00 2001
2From: Ian Campbell <Ian.Campbell@citrix.com>
3Date: Thu, 2 Feb 2012 13:47:06 +0000
4Subject: [PATCH] e1000: bounds packet size against buffer size
5
6Otherwise we can write beyond the buffer and corrupt memory. This is tracked
7as CVE-2012-0029.
8
9Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
10
11(Backported from qemu upstream 65f82df0d7a71ce1b10cd4c5ab08888d176ac840
12 by Ian Campbell.)
13
14Signed-off-by: Ian Campbell <Ian.Campbell@citrix.com>
15(cherry picked from commit ebe37b2a3f844bad02dcc30d081f39eda06118f8)
16---
17 hw/e1000.c | 3 +++
18 1 files changed, 3 insertions(+), 0 deletions(-)
19
20diff --git a/tools/ioemu-qemu-xen/hw/e1000.c b/tools/ioemu-qemu-xen/hw/e1000.c
21index bb3689e..97104ed 100644
22--- a/tools/ioemu-qemu-xen/hw/e1000.c
23+++ b/tools/ioemu-qemu-xen/hw/e1000.c
24@@ -444,6 +444,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
25 bytes = split_size;
26 if (tp->size + bytes > msh)
27 bytes = msh - tp->size;
28+
29+ bytes = MIN(sizeof(tp->data) - tp->size, bytes);
30 cpu_physical_memory_read(addr, tp->data + tp->size, bytes);
31 if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
32 memmove(tp->header, tp->data, hdr);
33@@ -459,6 +461,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
34 // context descriptor TSE is not set, while data descriptor TSE is set
35 DBGOUT(TXERR, "TCP segmentaion Error\n");
36 } else {
37+ split_size = MIN(sizeof(tp->data) - tp->size, split_size);
38 cpu_physical_memory_read(addr, tp->data + tp->size, split_size);
39 tp->size += split_size;
40 }
41--
421.7.2.5
diff --git a/main/xen/xendomains.initd b/main/xen/xendomains.initd
index 0f309ef3d0..5077d82e03 100644..100755
--- a/main/xen/xendomains.initd
+++ b/main/xen/xendomains.initd
@@ -1,26 +1,5 @@
1#!/sbin/runscript 1#!/sbin/runscript
2 2
3CMD=xm
4/usr/sbin/$CMD list &> /dev/null
5if test $? -ne 0
6then
7 CMD=xl
8fi
9
10/usr/sbin/$CMD list &> /dev/null
11if test $? -ne 0
12then
13 eend 1;
14 exit 1;
15fi
16
17# Correct exit code would probably be 5, but it's enough
18# if xend complains if we're not running as privileged domain
19if ! [ -e /proc/xen/privcmd ]; then
20 eend 1;
21 exit 1;
22fi
23
24# See docs/misc/distro_mapping.txt 3# See docs/misc/distro_mapping.txt
25if [ -d /var/lock/subsys ]; then 4if [ -d /var/lock/subsys ]; then
26 LOCKFILE=/var/lock/subsys/xendomains 5 LOCKFILE=/var/lock/subsys/xendomains
@@ -37,7 +16,7 @@ fi
37if ! [ -r $XENDOM_CONFIG ]; then 16if ! [ -r $XENDOM_CONFIG ]; then
38 eend 1; 17 eend 1;
39 echo "$XENDOM_CONFIG not existing"; 18 echo "$XENDOM_CONFIG not existing";
40 exit 1; 19 return 1;
41fi 20fi
42 21
43. $XENDOM_CONFIG 22. $XENDOM_CONFIG
@@ -61,14 +40,41 @@ is_running() {
61 /usr/sbin/$CMD list "${1}" >/dev/null 2>&1 40 /usr/sbin/$CMD list "${1}" >/dev/null 2>&1
62} 41}
63 42
43check_xen() {
44 CMD=xm
45 /usr/sbin/$CMD list &> /dev/null
46 if test $? -ne 0
47 then
48 CMD=xl
49 fi
50
51 /usr/sbin/$CMD list &> /dev/null
52 if test $? -ne 0
53 then
54 eend 1;
55 echo "Could not find xl or xm";
56 return 1;
57 fi
58
59 # Correct exit code would probably be 5, but it's enough
60 # if xend complains if we're not running as privileged domain
61 if ! [ -e /proc/xen/privcmd ]; then
62 eend 1;
63 echo "Could not find /proc/xen/privcmd";
64 return 1;
65 fi
66}
67
64start() { 68start() {
65 einfo "Starting Xen domains in ${AUTODIR:=/etc/xen/auto}" 69 einfo "Starting Xen domains in ${AUTODIR:=/etc/xen/auto}"
66 70
71 check_xen
72
67 for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do 73 for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
68 name=$(get_domname ${dom}) 74 name=$(get_domname ${dom})
69 if ! is_running ${name} ; then 75 if ! is_running ${name} ; then
70 ebegin " Starting domain ${name}" 76 ebegin " Starting domain ${name}"
71 /usr/sbin/$CMD create --quiet --defconfig ${dom} 77 /usr/sbin/$CMD create --quiet --defconfig ${dom} >/dev/null 2>&1
72 eend $? 78 eend $?
73 else 79 else
74 einfo " Not starting ${name} - already running." 80 einfo " Not starting ${name} - already running."
@@ -79,11 +85,13 @@ start() {
79stop() { 85stop() {
80 einfo "Stopping Xen domains in ${AUTODIR:=/etc/xen/auto}" 86 einfo "Stopping Xen domains in ${AUTODIR:=/etc/xen/auto}"
81 87
88 check_xen
89
82 for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do 90 for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
83 name=$(get_domname ${dom}) 91 name=$(get_domname ${dom})
84 if is_running ${name} ; then 92 if is_running ${name} ; then
85 ebegin " Sending shutdown signal to ${name}" 93 ebegin " Sending shutdown signal to ${name}"
86 /usr/sbin/$CMD shutdown ${name} >/dev/null 94 /usr/sbin/$CMD shutdown ${name} >/dev/null 2>&1
87 eend $? 95 eend $?
88 fi 96 fi
89 done 97 done
@@ -92,7 +100,7 @@ stop() {
92 name=$(get_domname ${dom}) 100 name=$(get_domname ${dom})
93 if is_running ${name} ; then 101 if is_running ${name} ; then
94 ebegin " Waiting for domain ${name} to shutdown" 102 ebegin " Waiting for domain ${name} to shutdown"
95 /usr/sbin/$CMD shutdown --wait ${name} 103 /usr/sbin/$CMD shutdown --wait ${name} >/dev/null 2>&1
96 eend $? 104 eend $?
97 else 105 else
98 einfo " Not stopping ${name} - not running." 106 einfo " Not stopping ${name} - not running."
@@ -101,5 +109,6 @@ stop() {
101} 109}
102 110
103status() { 111status() {
112 check_xen
104 /usr/sbin/$CMD list 113 /usr/sbin/$CMD list
105} 114}
diff --git a/main/xf86-video-ati/APKBUILD b/main/xf86-video-ati/APKBUILD
index 8cdab6591f..7d3d543c55 100644
--- a/main/xf86-video-ati/APKBUILD
+++ b/main/xf86-video-ati/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-ati 2pkgname=xf86-video-ati
3pkgver=6.14.3 3pkgver=6.14.3
4pkgrel=0 4pkgrel=1
5pkgdesc="ATI video driver" 5pkgdesc="ATI video driver"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xf86-video-intel/APKBUILD b/main/xf86-video-intel/APKBUILD
index 484b1a903b..5b7fd6306a 100644
--- a/main/xf86-video-intel/APKBUILD
+++ b/main/xf86-video-intel/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-intel 2pkgname=xf86-video-intel
3pkgver=2.17.0 3pkgver=2.17.0
4pkgrel=0 4pkgrel=1
5pkgdesc="X.Org driver for Intel cards" 5pkgdesc="X.Org driver for Intel cards"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xf86-video-r128/APKBUILD b/main/xf86-video-r128/APKBUILD
index 9d84166aeb..fbcf87066f 100644
--- a/main/xf86-video-r128/APKBUILD
+++ b/main/xf86-video-r128/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-r128 2pkgname=xf86-video-r128
3pkgver=6.8.1 3pkgver=6.8.1
4pkgrel=7 4pkgrel=8
5pkgdesc="ATI Rage128 video driver" 5pkgdesc="ATI Rage128 video driver"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xf86-video-savage/APKBUILD b/main/xf86-video-savage/APKBUILD
index 3bdf1c628c..a107f90d44 100644
--- a/main/xf86-video-savage/APKBUILD
+++ b/main/xf86-video-savage/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-savage 2pkgname=xf86-video-savage
3pkgver=2.3.3 3pkgver=2.3.3
4pkgrel=1 4pkgrel=2
5pkgdesc="S3 Savage video driver" 5pkgdesc="S3 Savage video driver"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xf86-video-tdfx/APKBUILD b/main/xf86-video-tdfx/APKBUILD
index 4b62d7297c..cf764d7f8f 100644
--- a/main/xf86-video-tdfx/APKBUILD
+++ b/main/xf86-video-tdfx/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-tdfx 2pkgname=xf86-video-tdfx
3pkgver=1.4.3 3pkgver=1.4.3
4pkgrel=6 4pkgrel=7
5pkgdesc="3Dfx video driver" 5pkgdesc="3Dfx video driver"
6url="http://xorg.freedesktop.org/" 6url="http://xorg.freedesktop.org/"
7arch="all" 7arch="all"
diff --git a/main/xorg-server/APKBUILD b/main/xorg-server/APKBUILD
index f996ad66d1..9990976c65 100644
--- a/main/xorg-server/APKBUILD
+++ b/main/xorg-server/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xorg-server 2pkgname=xorg-server
3pkgver=1.11.4 3pkgver=1.11.4
4pkgrel=0 4pkgrel=1
5pkgdesc="X.Org X servers" 5pkgdesc="X.Org X servers"
6url="http://xorg.freedesktop.org" 6url="http://xorg.freedesktop.org"
7arch="all" 7arch="all"
@@ -13,6 +13,7 @@ depends="
13 xkeyboard-config 13 xkeyboard-config
14 xkbcomp 14 xkbcomp
15 xinit 15 xinit
16 dbus-x11
16 " 17 "
17makedepends=" 18makedepends="
18 autoconf 19 autoconf
diff --git a/main/xscreensaver/APKBUILD b/main/xscreensaver/APKBUILD
index 701ff3d26c..b62eed90d6 100644
--- a/main/xscreensaver/APKBUILD
+++ b/main/xscreensaver/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=xscreensaver 3pkgname=xscreensaver
4pkgver=5.15 4pkgver=5.15
5pkgrel=2 5pkgrel=3
6pkgdesc="screensavers for X11 environment" 6pkgdesc="screensavers for X11 environment"
7url="http://www.jwz.org/xscreensaver/" 7url="http://www.jwz.org/xscreensaver/"
8license="GPL" 8license="GPL"
diff --git a/main/xtables-addons-grsec/APKBUILD b/main/xtables-addons-grsec/APKBUILD
index d46bcabad3..d3d24ccc67 100644
--- a/main/xtables-addons-grsec/APKBUILD
+++ b/main/xtables-addons-grsec/APKBUILD
@@ -3,7 +3,7 @@ _flavor=${FLAVOR:-grsec}
3_realname=xtables-addons 3_realname=xtables-addons
4_name=$_realname-$_flavor 4_name=$_realname-$_flavor
5 5
6_kver=3.2.6 6_kver=3.2.11
7_kpkgrel=0 7_kpkgrel=0
8 8
9# source the kernel version 9# source the kernel version
diff --git a/main/xulrunner/APKBUILD b/main/xulrunner/APKBUILD
index e86a172630..a186a96107 100644
--- a/main/xulrunner/APKBUILD
+++ b/main/xulrunner/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=xulrunner 3pkgname=xulrunner
4pkgver=10.0.1 4pkgver=11.0
5_ffoxver=10.0.1 5_ffoxver=$pkgver
6pkgrel=0 6pkgrel=0
7pkgdesc="runtime environment for xul-based applications" 7pkgdesc="runtime environment for xul-based applications"
8url="http://developer.mozilla.org/en/XULRunner" 8url="http://developer.mozilla.org/en/XULRunner"
@@ -104,7 +104,7 @@ dev() {
104 mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include 104 mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include
105} 105}
106 106
107md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2 107md5sums="4b07acf47857aff72776d805409cdd1b firefox-11.0.source.tar.bz2
108b0f7d491bc800b69ec718667a4b08acb mozconfig 108b0f7d491bc800b69ec718667a4b08acb mozconfig
1091867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch 1091867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch
1107faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch 1107faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch
diff --git a/main/zsh/APKBUILD b/main/zsh/APKBUILD
index 88a29ec08f..bd4bbcf5ef 100644
--- a/main/zsh/APKBUILD
+++ b/main/zsh/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: <kalonji@gmail.com> 1# Contributor: <kalonji@gmail.com>
2# Maintainer: <ncopa@alpinelinux.org> 2# Maintainer: <ncopa@alpinelinux.org>
3pkgname=zsh 3pkgname=zsh
4pkgver=4.3.15 4pkgver=4.3.17
5pkgrel=0 5pkgrel=0
6pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX" 6pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX"
7url="http://www.zsh.org/" 7url="http://www.zsh.org/"
@@ -39,7 +39,7 @@ package() {
39 make DESTDIR="$pkgdir" install 39 make DESTDIR="$pkgdir" install
40} 40}
41 41
42md5sums="b2e2d0a431935b408ed8ea48226f9962 zsh-4.3.15.tar.gz 42md5sums="9074077945550d6684ebe18b3b167d52 zsh-4.3.17.tar.gz
43aedff0460ef282937905223207ac702e zsh.post-install 43aedff0460ef282937905223207ac702e zsh.post-install
44aedff0460ef282937905223207ac702e zsh.post-upgrade 44aedff0460ef282937905223207ac702e zsh.post-upgrade
45b48f79e2d4a29047f6152f5a9441f942 zsh.pre-deinstall" 45b48f79e2d4a29047f6152f5a9441f942 zsh.pre-deinstall"
diff --git a/main/zsnes/APKBUILD b/main/zsnes/APKBUILD
index 50f0530f18..2379bfd113 100644
--- a/main/zsnes/APKBUILD
+++ b/main/zsnes/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=zsnes 2pkgname=zsnes
3pkgver=1.51 3pkgver=1.51
4pkgrel=5 4pkgrel=6
5pkgdesc="Super Nintendo emulator" 5pkgdesc="Super Nintendo emulator"
6url="http://www.zsnes.com/" 6url="http://www.zsnes.com/"
7arch="x86" 7arch="x86"
diff --git a/testing/audacity/APKBUILD b/testing/audacity/APKBUILD
index 7b96153490..68a821c2e3 100644
--- a/testing/audacity/APKBUILD
+++ b/testing/audacity/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=audacity 3pkgname=audacity
4pkgver=1.3.13 4pkgver=2.0.0
5pkgrel=0 5pkgrel=0
6pkgdesc="Multitrack audio editor" 6pkgdesc="Multitrack audio editor"
7url="http://audacity.sourceforge.net" 7url="http://audacity.sourceforge.net"
@@ -14,9 +14,9 @@ makedepends="$depends_dev wxgtk-dev alsa-lib-dev libsndfile-dev flac-dev
14 libid3tag-dev taglib-dev" 14 libid3tag-dev taglib-dev"
15install="" 15install=""
16subpackages="$pkgname-doc $pkgname-lang" 16subpackages="$pkgname-doc $pkgname-lang"
17source="http://downloads.sf.net/sourceforge/audacity/audacity-minsrc-$pkgver-beta.tar.bz2" 17source="http://downloads.sourceforge.net/audacity/audacity-fullsrc-$pkgver.tar.bz2"
18 18
19_builddir="$srcdir"/audacity-src-$pkgver-beta 19_builddir="$srcdir"/audacity-src-$pkgver
20prepare() { 20prepare() {
21 local i 21 local i
22 cd "$_builddir" 22 cd "$_builddir"
@@ -45,4 +45,4 @@ package() {
45 rm -f "$pkgdir"/usr/lib/*.la 45 rm -f "$pkgdir"/usr/lib/*.la
46} 46}
47 47
48md5sums="57be7fadb8c8dd17b8462c7ac1561d03 audacity-minsrc-1.3.13-beta.tar.bz2" 48md5sums="286a66b162f5086241e3dc2da725b687 audacity-fullsrc-2.0.0.tar.bz2"
diff --git a/testing/cherokee/APKBUILD b/testing/cherokee/APKBUILD
index 7479996b01..254f174fb1 100644
--- a/testing/cherokee/APKBUILD
+++ b/testing/cherokee/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=cherokee 3pkgname=cherokee
4pkgver=1.2.101 4pkgver=1.2.101
5pkgrel=0 5pkgrel=1
6pkgdesc="A very fast, flexible and easy to configure Web Server" 6pkgdesc="A very fast, flexible and easy to configure Web Server"
7url="http://www.cherokee-project.com/" 7url="http://www.cherokee-project.com/"
8arch="all" 8arch="all"
diff --git a/testing/clutter/APKBUILD b/testing/clutter/APKBUILD
index 1add156556..78656ffc85 100644
--- a/testing/clutter/APKBUILD
+++ b/testing/clutter/APKBUILD
@@ -1,18 +1,19 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=clutter 3pkgname=clutter
4pkgver=1.6.16 4pkgver=1.6.20
5pkgrel=1 5pkgrel=0
6pkgdesc="library for creating fast, visually-appealing interfaces" 6pkgdesc="library for creating fast, visually-appealing interfaces"
7url="http://www.clutter-project.org/" 7url="http://www.clutter-project.org/"
8arch="all" 8arch="all"
9license="LGPL" 9license="LGPL"
10depends= 10depends=
11depends_dev="gdk-pixbuf-dev json-glib-dev atk-dev pango-dev mesa-dev libxcomposite-dev cairo-dev" 11depends_dev="gdk-pixbuf-dev json-glib-dev atk-dev pango-dev mesa-dev
12 libxcomposite-dev cairo-dev"
12makedepends="$depends_dev gobject-introspection-dev intltool" 13makedepends="$depends_dev gobject-introspection-dev intltool"
13install="" 14install=""
14subpackages="$pkgname-dev $pkgname-doc" 15subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
15source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" 16source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"
16 17
17_builddir="${srcdir}/${pkgname}-${pkgver}" 18_builddir="${srcdir}/${pkgname}-${pkgver}"
18prepare() { 19prepare() {
@@ -38,4 +39,4 @@ package() {
38 rm "$pkgdir"/usr/lib/*.la 39 rm "$pkgdir"/usr/lib/*.la
39} 40}
40 41
41md5sums="9c7e9c5356d7e3405b756ce6a91c15f3 clutter-1.6.16.tar.bz2" 42md5sums="e3a91a3998e5544628ffef9e3b08e8cf clutter-1.6.20.tar.xz"
diff --git a/testing/compiz/APKBUILD b/testing/compiz/APKBUILD
index bb6687604a..f40dad1d17 100644
--- a/testing/compiz/APKBUILD
+++ b/testing/compiz/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=compiz 3pkgname=compiz
4pkgver=0.8.8 4pkgver=0.8.8
5pkgrel=2 5pkgrel=3
6pkgdesc="opengl window and composition manager" 6pkgdesc="opengl window and composition manager"
7url="http://www.compiz.org/" 7url="http://www.compiz.org/"
8arch="all" 8arch="all"
diff --git a/testing/courier-authlib/APKBUILD b/testing/courier-authlib/APKBUILD
new file mode 100644
index 0000000000..dd0cc64f5c
--- /dev/null
+++ b/testing/courier-authlib/APKBUILD
@@ -0,0 +1,56 @@
1# Contributor: Jeff Bilyk <jbilyk@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=courier-authlib
4pkgver=0.63.0
5pkgrel=0
6pkgdesc="Authentication library for courier mailserver"
7url="http://www.courier-mta.org"
8arch="all"
9license="GPL"
10depends=""
11depends_dev="libtool expect gdbm-dev openssl-dev libldap postgresql-dev mysql-dev perl"
12makedepends="$depends_dev"
13install=""
14subpackages="$pkgname-dev $pkgname-doc"
15source="http://downloads.sourceforge.net/project/courier/authlib/$pkgver/$pkgname-$pkgver.tar.bz2"
16
17_builddir="$srcdir"/$pkgname-$pkgver
18prepare() {
19 local i
20 cd "$_builddir"
21 for i in $source; do
22 case $i in
23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
24 esac
25 done
26}
27
28build() {
29 cd "$_builddir"
30 ./configure --prefix=/usr \
31 --sysconfdir=/etc \
32 --localstatedir=/var \
33 --libdir=/usr/lib \
34 --libexecdir=/usr/lib \
35 --with-db=gdbm \
36 --with-mailuser=courier \
37 --with-mailgroup=courier \
38 --with-authpwd \
39 --with-authshadow \
40 --with-authldap \
41 --with-authmysql \
42 --with-authpgsql \
43 --with-authuserdb \
44 --with-authcram \
45 --with-authdaemon \
46 --with-authdaemonvar=/var/run/authdaemon
47 make
48}
49
50package() {
51 cd "$_builddir"
52 make DESTDIR="$pkgdir" install
53 rm "$pkgdir"/usr/lib/$pkgname/*.la
54}
55
56md5sums="411a927d178f783a1e8fab9964ce0dd2 courier-authlib-0.63.0.tar.bz2"
diff --git a/testing/dhex/APKBUILD b/testing/dhex/APKBUILD
new file mode 100644
index 0000000000..d205c47842
--- /dev/null
+++ b/testing/dhex/APKBUILD
@@ -0,0 +1,41 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=dhex
4pkgver=0.66
5pkgrel=0
6pkgdesc="Ncurses hex editor"
7url="http://www.dettus.net/dhex/"
8arch="all"
9license="GPL"
10depends=""
11makedepends="ncurses-dev"
12install=""
13subpackages="$pkgname-doc"
14source="http://www.dettus.net/dhex/dhex_0.66.tar.gz
15 makefile.patch"
16
17_builddir="$srcdir"/dhex_$pkgver
18prepare() {
19 local i
20 cd "$_builddir"
21 for i in $source; do
22 case $i in
23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
24 esac
25 done
26}
27
28build() {
29 cd "$_builddir"
30 make
31}
32
33package() {
34 cd "$_builddir"
35 make install DESTDIR="$pkgdir" \
36 mandir=/usr/share/man \
37 prefix=/usr/bin
38}
39
40md5sums="304a91cfd9481b2ddf418f3a943190e1 dhex_0.66.tar.gz
41de16e09d3b416650d84ef39235cd2917 makefile.patch"
diff --git a/testing/dhex/makefile.patch b/testing/dhex/makefile.patch
new file mode 100644
index 0000000000..9e7788b409
--- /dev/null
+++ b/testing/dhex/makefile.patch
@@ -0,0 +1,49 @@
1--- ./Makefile.orig
2+++ ./Makefile
3@@ -1,12 +1,22 @@
4-CC= gcc
5-LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses
6+CC?= gcc
7+LDFLAGS?= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses
8 CPPFLAGS= -I/usr/include -I/usr/local/include -I/usr/include/ncurses -I/usr/local/include/ncurses
9-CFLAGS= -O3 -Wall -std=c99
10+CFLAGS?= -O3 -Wall -std=c99
11 #CFLAGS+= -ffunction-sections -fdata-sections
12 #LDFLAGS+= --gc-sections
13 LIBS= -lncurses
14-DESTDIR= /usr/local/
15
16+prefix= /usr/local
17+bindir= $(prefix)/bin
18+mandir= $(prefix)/man
19+man1dir= $(mandir)/man1
20+man5dir= $(mandir)/man5
21+DESTDIR=
22+
23+MKDIR_P= install -d
24+INSTALL= install
25+
26+
27 OFILES=buffers.o \
28 configfile.o \
29 correlation.o \
30@@ -27,14 +37,11 @@
31 $(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
32
33 install:all
34- strip dhex
35- cp dhex $(DESTDIR)/bin
36- cp dhex.1 $(DESTDIR)/man/man1
37- cp dhexrc.5 $(DESTDIR)/man/man5
38- cp dhex_markers.5 $(DESTDIR)/man/man5
39- cp dhex_searchlog.5 $(DESTDIR)/man/man5
40-
41-
42+ $(MKDIR_P) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir)
43+ $(INSTALL) -m755 dhex $(DESTDIR)$(bindir)
44+ $(INSTALL) -m644 dhex.1 $(DESTDIR)$(man1dir)
45+ $(INSTALL) -m644 dhexrc.5 dhex_markers.5 dhex_searchlog.5 \
46+ $(DESTDIR)$(man5dir)
47
48 .c.o:
49 $(CC) $< -c -I. $(CPPFLAGS) $(CFLAGS) $(OPTIONS)
diff --git a/testing/dia/APKBUILD b/testing/dia/APKBUILD
new file mode 100644
index 0000000000..c23f67152e
--- /dev/null
+++ b/testing/dia/APKBUILD
@@ -0,0 +1,48 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=dia
3pkgver=0.97.2
4pkgrel=1
5pkgdesc="a GTK+ based diagram creation program"
6url="http://live.gnome.org/Dia"
7arch="all"
8license="GPL2"
9depends=
10depends_dev=
11makedepends="gtk+-dev libxml2-dev"
12install=""
13subpackages="$pkgname-doc $pkgname-lang"
14source="http://ftp.gnome.org/pub/gnome/sources/dia/${pkgver%.*}/dia-$pkgver.tar.xz
15 isinf.patch
16 isfinite.patch"
17
18_builddir="$srcdir"/dia-$pkgver
19prepare() {
20 local i
21 cd "$_builddir"
22 for i in $source; do
23 case $i in
24 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
25 esac
26 done
27}
28
29build() {
30 cd "$_builddir"
31 ./configure --prefix=/usr \
32 --sysconfdir=/etc \
33 --mandir=/usr/share/man \
34 --infodir=/usr/share/info \
35 --localstatedir=/var \
36 || return 1
37 make || return 1
38}
39
40package() {
41 cd "$_builddir"
42 make DESTDIR="$pkgdir" install || return 1
43 rm "$pkgdir"/usr/lib/dia/*.la || return 1
44}
45
46md5sums="1e1180a513fb567709b09bc19f12105e dia-0.97.2.tar.xz
47cbbc32d417297b855353f86b484b369b isinf.patch
48eda8e89483e97473d983b048f834861a isfinite.patch"
diff --git a/testing/dia/isfinite.patch b/testing/dia/isfinite.patch
new file mode 100644
index 0000000000..173b00046a
--- /dev/null
+++ b/testing/dia/isfinite.patch
@@ -0,0 +1,142 @@
1diff --git a/lib/arrows.c b/lib/arrows.c
2index 4371946..5b6cd3a 100644
3--- a/lib/arrows.c
4+++ b/lib/arrows.c
5@@ -18,7 +18,7 @@
6
7 #include <config.h>
8
9-#define _BSD_SOURCE 1 /* to get finite */
10+#define _GNU_SOURCE 1 /* to get isfinite */
11 #include <math.h>
12 #include <stdio.h>
13 #include <string.h>
14@@ -29,11 +29,7 @@
15
16 #ifdef G_OS_WIN32
17 #include <float.h>
18-#define finite(d) _finite(d)
19-#endif
20-
21-#ifdef __EMX__
22-#define finite(d) isfinite(d)
23+#define isfinite(d) _finite(d)
24 #endif
25
26 #include "arrows.h"
27@@ -421,7 +417,7 @@ draw_one_exactly(DiaRenderer *renderer, Point *to, Point *from,
28 else {
29 vl.x = 1.0; vl.y = 0.0;
30 }
31- if (!finite(vl.x)) {
32+ if (!isfinite(vl.x)) {
33 vl.x = 1.0; vl.y = 0.0;
34 }
35 point_get_perp(&vt,&vl);
36@@ -498,7 +494,7 @@ draw_one_or_none(DiaRenderer *renderer, Point *to, Point *from,
37 else {
38 vl.x = 1.0; vl.y = 0.0;
39 }
40- if (!finite(vl.x)) {
41+ if (!isfinite(vl.x)) {
42 vl.x = 1.0; vl.y = 0.0;
43 }
44 point_get_perp(&vt,&vl);
45@@ -610,7 +606,7 @@ draw_fill_ellipse(DiaRenderer *renderer, Point *to, Point *from,
46 else {
47 vl.x = 1.0; vl.y = 0.0;
48 }
49- if (!finite(vl.x)) {
50+ if (!isfinite(vl.x)) {
51 vl.x = 1.0; vl.y = 0.0;
52 }
53 point_get_perp(&vt,&vl);
54@@ -672,7 +668,7 @@ draw_empty_ellipse(DiaRenderer *renderer, Point *to, Point *from,
55 else {
56 vl.x = 1.0; vl.y = 0.0;
57 }
58- if (!finite(vl.x)) {
59+ if (!isfinite(vl.x)) {
60 vl.x = 1.0; vl.y = 0.0;
61 }
62
63@@ -718,7 +714,7 @@ calculate_box (Point *poly, const Point *to, const Point *from,
64 else {
65 vl.x = 1.0; vl.y = 0.0;
66 }
67- if (!finite(vl.x)) {
68+ if (!isfinite(vl.x)) {
69 vl.x = 1.0; vl.y = 0.0;
70 }
71 point_get_perp(&vt,&vl);
72@@ -832,7 +828,7 @@ draw_fill_dot(DiaRenderer *renderer, Point *to, Point *from,
73 else {
74 vl.x = 1.0; vl.y = 0.0;
75 }
76- if (!finite(vl.x)) {
77+ if (!isfinite(vl.x)) {
78 vl.x = 1.0; vl.y = 0.0;
79 }
80 point_get_perp(&vt,&vl);
81@@ -908,7 +904,7 @@ draw_integral(DiaRenderer *renderer, Point *to, Point *from,
82 else {
83 vl.x = 1.0; vl.y = 0.0;
84 }
85- if (!finite(vl.x)) {
86+ if (!isfinite(vl.x)) {
87 vl.x = 1.0; vl.y = 0.0;
88 }
89 point_get_perp(&vt,&vl);
90@@ -946,7 +942,7 @@ calculate_slashed (Point *poly, const Point *to, const Point *from,
91 else {
92 vl.x = 1.0; vl.y = 0.0;
93 }
94- if (!finite(vl.x)) {
95+ if (!isfinite(vl.x)) {
96 vl.x = 1.0; vl.y = 0.0;
97 }
98 point_get_perp(&vt,&vl);
99diff --git a/lib/boundingbox.c b/lib/boundingbox.c
100index 6d2749f..6938537 100644
101--- a/lib/boundingbox.c
102+++ b/lib/boundingbox.c
103@@ -21,7 +21,7 @@
104
105 #include <config.h>
106
107-#define _BSD_SOURCE 1
108+#define _GNU_SOURCE 1 /* to get isfinite */
109 #include <math.h>
110 #include <string.h> /* memcmp() */
111
112@@ -510,7 +510,7 @@ polybezier_bbox(const BezPoint *pts, int numpoints,
113 real overshoot;
114 Point vovs,pto;
115
116- if (finite(alpha))
117+ if (isfinite(alpha))
118 overshoot = extra->middle_trans / sin(alpha/2.0);
119 else /* prependicular? */
120 overshoot = extra->middle_trans;
121diff --git a/objects/standard/arc.c b/objects/standard/arc.c
122index 28302a6..80674a3 100644
123--- a/objects/standard/arc.c
124+++ b/objects/standard/arc.c
125@@ -21,7 +21,7 @@
126 #endif
127
128 #include <assert.h>
129-#define _BSD_SOURCE 1 /* to get finite */
130+#define _GNU_SOURCE 1 /* to get finite */
131 #include <math.h>
132
133 #include "intl.h"
134@@ -407,7 +407,7 @@ arc_compute_midpoint(Arc *arc, const Point * ep0, const Point * ep1 , Point * mi
135 angle -= -atan2(oep0->y - arc->center.y, oep0->x - arc->center.x); /* minus angle of old */
136 angle += -atan2(ep1->y - arc->center.y, ep1->x - arc->center.x); /* plus angle of new */
137 angle -= -atan2(oep1->y - arc->center.y, oep1->x - arc->center.x); /* minus angle of old */
138- if (!finite(angle)){
139+ if (!isfinite(angle)){
140 return 0;
141 }
142 if (angle < -1 * M_PI){
diff --git a/testing/dia/isinf.patch b/testing/dia/isinf.patch
new file mode 100644
index 0000000000..4cd4adbc86
--- /dev/null
+++ b/testing/dia/isinf.patch
@@ -0,0 +1,16 @@
1--- ./configure.orig
2+++ ./configure
3@@ -17436,11 +17436,11 @@
4 #ifdef __cplusplus
5 extern "C"
6 #endif
7-char isinf ();
8+#include <math.h>
9 int
10 main ()
11 {
12-return isinf ();
13+return isinf (0.0);
14 ;
15 return 0;
16 }
diff --git a/testing/drbd/APKBUILD b/testing/drbd/APKBUILD
index d13ea0edb8..2e735a4b9a 100644
--- a/testing/drbd/APKBUILD
+++ b/testing/drbd/APKBUILD
@@ -1,9 +1,9 @@
1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org> 1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
2# Maintainer: 2# Maintainer:
3pkgname=drbd 3pkgname=drbd
4pkgver=8.3.10 4pkgver=8.3.12
5pkgbase=8.3 5pkgbase=${pkgver%.*}
6pkgrel=1 6pkgrel=0
7pkgdesc="Network-based RAID 1" 7pkgdesc="Network-based RAID 1"
8url="http://www.drbd.org" 8url="http://www.drbd.org"
9arch="all" 9arch="all"
@@ -55,5 +55,5 @@ pacemaker() {
55 mv "$pkgdir"/usr/lib/ocf "$subpkgdir"/usr/lib 55 mv "$pkgdir"/usr/lib/ocf "$subpkgdir"/usr/lib
56} 56}
57 57
58md5sums="7d80edc2da10de5bfffe0ca9e9996fed drbd-8.3.10.tar.gz 58md5sums="1a555c11d89cc90a8fab5dc76b749036 drbd-8.3.12.tar.gz
59f1c9e2fa7afd249284b7615f5d2c8254 drbd.initd" 59f1c9e2fa7afd249284b7615f5d2c8254 drbd.initd"
diff --git a/testing/drizzle/APKBUILD b/testing/drizzle/APKBUILD
index 974f8e113a..9ade8d14cb 100644
--- a/testing/drizzle/APKBUILD
+++ b/testing/drizzle/APKBUILD
@@ -2,10 +2,10 @@
2# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> 2# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3pkgname=drizzle 3pkgname=drizzle
4pkgver=2011.03.13 4pkgver=2011.03.13
5pkgrel=2 5pkgrel=3
6pkgdesc="A MySQL-derived RDBMS for cloud usage and webapps" 6pkgdesc="A MySQL-derived RDBMS for cloud usage and webapps"
7url="http://launchpad.net/drizzle" 7url="http://launchpad.net/drizzle"
8arch="all" 8arch=""
9license="GPL" 9license="GPL"
10depends= 10depends=
11depends_dev="gperf protobuf-dev pcre-dev boost-dev intltool protobuf-dev 11depends_dev="gperf protobuf-dev pcre-dev boost-dev intltool protobuf-dev
@@ -45,7 +45,7 @@ build() {
45package() { 45package() {
46 cd "$_builddir" 46 cd "$_builddir"
47 make DESTDIR="$pkgdir" install || return 1 47 make DESTDIR="$pkgdir" install || return 1
48 rm "$pkgdir"/usr/lib/*.la || return 1 48 rm "$pkgdir"/usr/lib/*.la "$pkgdir"/usr/lib/drizzle7/*.la || return 1
49} 49}
50 50
51client() { 51client() {
diff --git a/testing/e_dbus/APKBUILD b/testing/e_dbus/APKBUILD
index 7548950a2b..22ca29334d 100644
--- a/testing/e_dbus/APKBUILD
+++ b/testing/e_dbus/APKBUILD
@@ -1,14 +1,14 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=e_dbus 3pkgname=e_dbus
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=1 5pkgrel=1
6pkgdesc="Enlightenment's (Ecore) integration to DBus" 6pkgdesc="Enlightenment's (Ecore) integration to DBus"
7url="http://trac.enlightenment.org/e/wiki/E_Dbus" 7url="http://trac.enlightenment.org/e/wiki/E_Dbus"
8arch="all" 8arch="all"
9license="BSD" 9license="BSD"
10depends= 10depends=
11depends_dev="dbus-dev eina-dev ecore-dev" 11depends_dev="dbus-dev eina-dev ecore-dev udisks-dev"
12makedepends="$depends_dev" 12makedepends="$depends_dev"
13install="" 13install=""
14subpackages="$pkgname-dev" 14subpackages="$pkgname-dev"
@@ -42,4 +42,4 @@ package() {
42 rm "$pkgdir"/usr/lib/*.la 42 rm "$pkgdir"/usr/lib/*.la
43} 43}
44 44
45md5sums="4a3031a41e7e33f843cf104bf84cd4ee e_dbus-1.0.0.tar.gz" 45md5sums="8b8f229f14800521e275a12250e673ca e_dbus-1.1.0.tar.gz"
diff --git a/testing/ecore/APKBUILD b/testing/ecore/APKBUILD
index cc5d113bf5..39bdb90021 100644
--- a/testing/ecore/APKBUILD
+++ b/testing/ecore/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=ecore 3pkgname=ecore
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=1 5pkgrel=1
6pkgdesc="Enlightenment's core event abstraction layer and OS abstraction layer" 6pkgdesc="Enlightenment's core event abstraction layer and OS abstraction layer"
7url="http://trac.enlightenment.org/e/wiki/Ecore" 7url="http://trac.enlightenment.org/e/wiki/Ecore"
@@ -32,6 +32,8 @@ build() {
32 ./configure --prefix=/usr \ 32 ./configure --prefix=/usr \
33 --enable-cares \ 33 --enable-cares \
34 --disable-gnutls \ 34 --disable-gnutls \
35 --enable-ecore-evas-software-x11 \
36 --enable-ecore-evas-opengl-x11 \
35 || return 1 37 || return 1
36 make || return 1 38 make || return 1
37} 39}
@@ -40,6 +42,7 @@ package() {
40 cd "$_builddir" 42 cd "$_builddir"
41 make DESTDIR="$pkgdir" install || return 1 43 make DESTDIR="$pkgdir" install || return 1
42 rm "$pkgdir"/usr/lib/*.la 44 rm "$pkgdir"/usr/lib/*.la
45 rm "$pkgdir"/usr/lib/ecore/immodules/*.la
43} 46}
44 47
45md5sums="56fa814282f48c346b398e16de81145f ecore-1.0.0.tar.gz" 48md5sums="4696936f15fd58ed90da9b5556edff3e ecore-1.1.0.tar.gz"
diff --git a/testing/edje/APKBUILD b/testing/edje/APKBUILD
index cb1793280d..9bea55b9e3 100644
--- a/testing/edje/APKBUILD
+++ b/testing/edje/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=edje 3pkgname=edje
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=1 5pkgrel=1
6pkgdesc="Enlightenment's graphical layout and animation library" 6pkgdesc="Enlightenment's graphical layout and animation library"
7url="http://trac.enlightenment.org/e/wiki/Edje" 7url="http://trac.enlightenment.org/e/wiki/Edje"
@@ -38,4 +38,4 @@ package() {
38 rm "$pkgdir"/usr/lib/*.la 38 rm "$pkgdir"/usr/lib/*.la
39} 39}
40 40
41md5sums="14c33c2b9d1bd36d8507d55597c77991 edje-1.0.0.tar.gz" 41md5sums="0fcbcb9e1098a85527a43e5b4445a5cd edje-1.1.0.tar.gz"
diff --git a/testing/eet/APKBUILD b/testing/eet/APKBUILD
index bbfa2a516d..d436c173ac 100644
--- a/testing/eet/APKBUILD
+++ b/testing/eet/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=eet 3pkgname=eet
4pkgver=1.4.0 4pkgver=1.5.0
5pkgrel=0 5pkgrel=1
6pkgdesc="Enlightenment's file chunk reading/writing library" 6pkgdesc="Enlightenment's file chunk reading/writing library"
7url="http://trac.enlightenment.org/e/wiki/Eet" 7url="http://trac.enlightenment.org/e/wiki/Eet"
8arch="all" 8arch="all"
@@ -38,4 +38,4 @@ package() {
38 rm "$pkgdir"/usr/lib/*.la 38 rm "$pkgdir"/usr/lib/*.la
39} 39}
40 40
41md5sums="5b0f3034d2dcc2ad13049a4ab6100ca6 eet-1.4.0.tar.gz" 41md5sums="f6fd734fbf6a2852abf044a2e1a8cabf eet-1.5.0.tar.gz"
diff --git a/testing/eeze/APKBUILD b/testing/eeze/APKBUILD
index 3eb881f7bc..9714ed79b9 100644
--- a/testing/eeze/APKBUILD
+++ b/testing/eeze/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=eeze 3pkgname=eeze
4pkgver=1.0.1 4pkgver=1.1.0
5pkgrel=2 5pkgrel=1
6pkgdesc="Enlightenment's device library" 6pkgdesc="Enlightenment's device library"
7url="http://trac.enlightenment.org/e/wiki/Eeze" 7url="http://trac.enlightenment.org/e/wiki/Eeze"
8arch="all" 8arch="all"
@@ -42,4 +42,4 @@ package() {
42 rm "$pkgdir"/usr/lib/*.la 42 rm "$pkgdir"/usr/lib/*.la
43} 43}
44 44
45md5sums="e36b5e8ed444c8d13d27fd82d5f71659 eeze-1.0.1.tar.gz" 45md5sums="c97663076aa01d7c43a5bcf415aee06c eeze-1.1.0.tar.gz"
diff --git a/testing/efreet/APKBUILD b/testing/efreet/APKBUILD
index 2eb73f43f3..21a8597762 100644
--- a/testing/efreet/APKBUILD
+++ b/testing/efreet/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=efreet 3pkgname=efreet
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=1 5pkgrel=1
6pkgdesc="Enlightenment's library for handling of freedesktop.org specs" 6pkgdesc="Enlightenment's library for handling of freedesktop.org specs"
7url="http://trac.enlightenment.org/e/wiki/Efreet" 7url="http://trac.enlightenment.org/e/wiki/Efreet"
@@ -42,4 +42,4 @@ package() {
42 rm "$pkgdir"/usr/lib/*.la 42 rm "$pkgdir"/usr/lib/*.la
43} 43}
44 44
45md5sums="ce7dd05138335312c7eb9ac8e5e62467 efreet-1.0.0.tar.gz" 45md5sums="a28eabe66d2a5ffd52597615e233bf04 efreet-1.1.0.tar.gz"
diff --git a/testing/eina/APKBUILD b/testing/eina/APKBUILD
index cf6b73fbb0..98a092b7e8 100644
--- a/testing/eina/APKBUILD
+++ b/testing/eina/APKBUILD
@@ -1,14 +1,15 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=eina 3pkgname=eina
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=0 5pkgrel=1
6pkgdesc="Enlightenment's data types library (List, hash, etc) in C" 6pkgdesc="Enlightenment's data types library (List, hash, etc) in C"
7url="http://trac.enlightenment.org/e/wiki/Eina" 7url="http://trac.enlightenment.org/e/wiki/Eina"
8arch="all" 8arch="all"
9license="LGPLv2.1" 9license="LGPLv2.1"
10depends= 10depends=
11makedepends= 11depends_dev="libiconv-dev"
12makedepends="$depends_dev"
12install= 13install=
13subpackages="$pkgname-dev" 14subpackages="$pkgname-dev"
14source="http://download.enlightenment.org/releases/eina-$pkgver.tar.gz" 15source="http://download.enlightenment.org/releases/eina-$pkgver.tar.gz"
@@ -39,4 +40,4 @@ package() {
39 rm -f "$pkgdir"/usr/lib/*.la 40 rm -f "$pkgdir"/usr/lib/*.la
40} 41}
41 42
42md5sums="207b64a6549642392c4a0760df78df59 eina-1.0.0.tar.gz" 43md5sums="fedb3814427827c1bb777edea3c86298 eina-1.1.0.tar.gz"
diff --git a/testing/embryo/APKBUILD b/testing/embryo/APKBUILD
index d83b843119..6ab769e0ef 100644
--- a/testing/embryo/APKBUILD
+++ b/testing/embryo/APKBUILD
@@ -1,14 +1,14 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=embryo 3pkgname=embryo
4pkgver=1.0.0 4pkgver=1.1.0
5pkgrel=1 5pkgrel=0
6pkgdesc="Enlightenment's virtual machine engine and bytecode compiler" 6pkgdesc="Enlightenment's virtual machine engine and bytecode compiler"
7url="http://trac.enlightenment.org/e/wiki/Embryo" 7url="http://trac.enlightenment.org/e/wiki/Embryo"
8arch="all" 8arch="all"
9license="BSD" 9license="BSD"
10depends= 10depends=
11depends_dev= 11depends_dev="eina-dev"
12makedepends="$depends_dev" 12makedepends="$depends_dev"
13install="" 13install=""
14subpackages="$pkgname-dev" 14subpackages="$pkgname-dev"
@@ -42,4 +42,4 @@ package() {
42 rm "$pkgdir"/usr/lib/*.la 42 rm "$pkgdir"/usr/lib/*.la
43} 43}
44 44
45md5sums="2d6269c931656d5714197e508b144f18 embryo-1.0.0.tar.gz" 45md5sums="aded5754ee7f586e3a0631e0fa3abcc8 embryo-1.1.0.tar.gz"
diff --git a/testing/enlightenment/APKBUILD b/testing/enlightenment/APKBUILD
new file mode 100644
index 0000000000..9e62629cfe
--- /dev/null
+++ b/testing/enlightenment/APKBUILD
@@ -0,0 +1,49 @@
1# Contributor:
2# Maintainer:
3pkgname=enlightenment
4pkgver=0.16.999.65643
5pkgrel=1
6pkgdesc="Enlightenment Window Manager"
7url="http://trac.enlightenment.org/e/wiki/Enlightenment"
8arch="all"
9license="BSD"
10depends=""
11depends_dev="evas-dev ecore-dev evas-dev eet-dev edje-dev efreet-dev eina-dev e_dbus-dev eeze-dev alsa-lib-dev udisks-dev"
12makedepends="$depends_dev paxctl"
13install=""
14subpackages="$pkgname-dev"
15source="http://download.enlightenment.org/snapshots/2011-11-28/enlightenment-$pkgver.tar.bz2"
16
17_builddir="$srcdir"/enlightenment-$pkgver
18prepare() {
19 local i
20 cd "$_builddir"
21 for i in $source; do
22 case $i in
23 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
24 esac
25 done
26 # fix a bashims
27 sed -e 's/efm_requires+="/efm_requires="$efm_requires /' -i configure
28}
29
30build() {
31 cd "$_builddir"
32 ./configure --prefix=/usr \
33 --sysconfdir=/etc \
34 --mandir=/usr/share/man \
35 --infodir=/usr/share/info \
36 --localstatedir=/var \
37 || return 1
38 make || return 1
39}
40
41package() {
42 cd "$_builddir"
43 make DESTDIR="$pkgdir" install || return 1
44 find "$pkgdir"/usr/lib/ -name "*.la" | xargs rm -f
45 # opengl needs mprotect off for now
46 paxctl -c -m "$pkgdir"/usr/bin/enlightenment
47}
48
49md5sums="9bdb2e6f88c3456b50fe509f05de3b4f enlightenment-0.16.999.65643.tar.bz2"
diff --git a/testing/etracer/APKBUILD b/testing/etracer/APKBUILD
index d1a208209d..d60dabc37d 100644
--- a/testing/etracer/APKBUILD
+++ b/testing/etracer/APKBUILD
@@ -2,13 +2,14 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=etracer 3pkgname=etracer
4pkgver=0.4 4pkgver=0.4
5pkgrel=1 5pkgrel=2
6pkgdesc="racing game where you race tux down a mountain" 6pkgdesc="racing game where you race tux down a mountain"
7url="http://extremetuxracer.com/" 7url="http://extremetuxracer.com/"
8arch="all" 8arch="all"
9license="GPL" 9license="GPL"
10depends= 10depends=
11makedepends="sdl-dev mesa-dev sdl_mixer-dev tcl-dev freetype-dev libpng-dev" 11makedepends="sdl-dev mesa-dev sdl_mixer-dev tcl-dev freetype-dev libpng-dev
12 libx11-dev libxext-dev libxmu-dev libxi-dev libxt-dev"
12install="" 13install=""
13source="http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-${pkgver}.tar.gz 14source="http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-${pkgver}.tar.gz
14 etracer-finite.patch 15 etracer-finite.patch
diff --git a/testing/evas/APKBUILD b/testing/evas/APKBUILD
index ad3ce12c38..d200b6c52e 100644
--- a/testing/evas/APKBUILD
+++ b/testing/evas/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=evas 3pkgname=evas
4pkgver=1.0.1 4pkgver=1.1.0
5pkgrel=2 5pkgrel=1
6pkgdesc="hardware-accelerated retained canvas API" 6pkgdesc="hardware-accelerated retained canvas API"
7url="http://trac.enlightenment.org/e/wiki/Evas" 7url="http://trac.enlightenment.org/e/wiki/Evas"
8arch="all" 8arch="all"
@@ -10,7 +10,7 @@ license="BSD"
10depends= 10depends=
11depends_dev="freetype-dev fontconfig-dev fribidi-dev sdl-dev libx11-dev 11depends_dev="freetype-dev fontconfig-dev fribidi-dev sdl-dev libx11-dev
12 libxcb-dev libxrender-dev eet-dev giflib-dev jpeg-dev libpng-dev 12 libxcb-dev libxrender-dev eet-dev giflib-dev jpeg-dev libpng-dev
13 tiff-dev librsvg-dev" 13 tiff-dev librsvg-dev mesa-dev"
14makedepends="$depends_dev" 14makedepends="$depends_dev"
15install="" 15install=""
16subpackages="$pkgname-dev" 16subpackages="$pkgname-dev"
@@ -30,6 +30,13 @@ prepare() {
30build() { 30build() {
31 cd "$_builddir" 31 cd "$_builddir"
32 ./configure --prefix=/usr \ 32 ./configure --prefix=/usr \
33 --enable-gl-xlib \
34 --enable-software-16-x11 \
35 --enable-pthreads \
36 --enable-pipe-render \
37 --enable-async-render \
38 --enable-async-events \
39 --enable-async-preload \
33 || return 1 40 || return 1
34 make || return 1 41 make || return 1
35} 42}
@@ -40,4 +47,4 @@ package() {
40 find "$pkgdir" -name *.la -print | xargs rm 47 find "$pkgdir" -name *.la -print | xargs rm
41} 48}
42 49
43md5sums="528debc5e5c75dbc8c5aa7ce5560cdd5 evas-1.0.1.tar.gz" 50md5sums="3f4e6c3ffc67afc7da10e5117aa41516 evas-1.1.0.tar.gz"
diff --git a/testing/exim/APKBUILD b/testing/exim/APKBUILD
index 889b91b53d..eb600cef17 100644
--- a/testing/exim/APKBUILD
+++ b/testing/exim/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Jesse Young <jlyo@jlyo.org> 2# Maintainer: Jesse Young <jlyo@jlyo.org>
3pkgname=exim 3pkgname=exim
4pkgver=4.77 4pkgver=4.77
5pkgrel=3 5pkgrel=4
6pkgdesc="A Message Transfer Agent" 6pkgdesc="A Message Transfer Agent"
7url="http://www.exim.org/" 7url="http://www.exim.org/"
8arch="all" 8arch="all"
diff --git a/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD b/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD
index 7e5afb1189..5474fb0461 100644
--- a/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD
+++ b/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD
@@ -1,11 +1,11 @@
1# Contributor: 1# Contributor: Jeff Bilyk <jbilyk@gmail.com>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=freeswitch-sounds-es-mx-maria-44100 3pkgname=freeswitch-sounds-es-mx-maria-44100
4pkgver="0" 4pkgver="0"
5pkgrel=0 5pkgrel=1
6pkgdesc="Sounds for freeswitch Spanish" 6pkgdesc="Sounds for freeswitch Spanish"
7url="http://files.freeswitch.org/" 7url="http://files.freeswitch.org/"
8arch="all" 8arch="noarch"
9license="unknown" 9license="unknown"
10depends= 10depends=
11makedepends= 11makedepends=
@@ -21,7 +21,7 @@ build() {
21 21
22package() { 22package() {
23 mkdir -p "$pkgdir"/usr/sounds/ 23 mkdir -p "$pkgdir"/usr/sounds/
24 cp -ra "$srcdir"/ "$pkgdir"/usr/sounds 24 cp -ra "$srcdir"/es/ "$pkgdir"/usr/sounds
25} 25}
26 26
27md5sums="a83a2e994741e4085016873d2d1c69a4 freeswitch-sounds-es-mx-maria-44100.tar.gz" 27md5sums="a83a2e994741e4085016873d2d1c69a4 freeswitch-sounds-es-mx-maria-44100.tar.gz"
diff --git a/testing/ftgl/APKBUILD b/testing/ftgl/APKBUILD
index 7ee3177ff1..57839d659b 100644
--- a/testing/ftgl/APKBUILD
+++ b/testing/ftgl/APKBUILD
@@ -3,17 +3,22 @@
3pkgname=ftgl 3pkgname=ftgl
4pkgver=2.1.3_rc5 4pkgver=2.1.3_rc5
5_pkgver=2.1.3-rc5 5_pkgver=2.1.3-rc5
6pkgrel=1 6pkgrel=2
7pkgdesc="freetype OpenGL layer" 7pkgdesc="freetype OpenGL layer"
8url="http://ftgl.wiki.sourceforge.net/" 8url="http://ftgl.wiki.sourceforge.net/"
9arch="all" 9arch="all"
10license="GPL" 10license="GPL"
11depends= 11depends=
12depends_dev="mesa-dev freetype-dev freeglut-dev" 12depends_dev="mesa-dev freetype-dev freeglut-dev bash"
13makedepends="$depends_dev" 13makedepends="$depends_dev
14 autoconf automake libtool"
14install= 15install=
15subpackages="$pkgname-dev $pkgname-doc" 16subpackages="$pkgname-dev $pkgname-doc"
16source="http://downloads.sourceforge.net/$pkgname/$pkgname-${_pkgver}.tar.bz2" 17source="http://downloads.sourceforge.net/$pkgname/$pkgname-${_pkgver}.tar.bz2
18 ftgl-2.1.3-rc5-ldflags.patch
19 ftgl-2.1.3-rc5-ttf_font.patch
20 "
21
17 22
18_builddir="$srcdir/$pkgname-2.1.3~rc5" 23_builddir="$srcdir/$pkgname-2.1.3~rc5"
19prepare() { 24prepare() {
@@ -24,6 +29,7 @@ prepare() {
24 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 29 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
25 esac 30 esac
26 done 31 done
32# libtoolize --force && aclocal -I m4 && autoconf && automake || return 1
27} 33}
28 34
29build() { 35build() {
@@ -38,4 +44,6 @@ package() {
38 make DESTDIR="$pkgdir" install || return 1 44 make DESTDIR="$pkgdir" install || return 1
39 rm "$pkgdir"/usr/lib/*.la 45 rm "$pkgdir"/usr/lib/*.la
40} 46}
41md5sums="c7879018cde844059495b3029b0b6503 ftgl-2.1.3-rc5.tar.bz2" 47md5sums="c7879018cde844059495b3029b0b6503 ftgl-2.1.3-rc5.tar.bz2
484432b8cda8622fea6608e061289dde22 ftgl-2.1.3-rc5-ldflags.patch
497fc76e66ac2f6f91d04190417f001031 ftgl-2.1.3-rc5-ttf_font.patch"
diff --git a/testing/ftgl/ftgl-2.1.3-rc5-ldflags.patch b/testing/ftgl/ftgl-2.1.3-rc5-ldflags.patch
new file mode 100644
index 0000000000..be9331d6f5
--- /dev/null
+++ b/testing/ftgl/ftgl-2.1.3-rc5-ldflags.patch
@@ -0,0 +1,118 @@
1diff -up ftgl-2.1.3~rc5/demo/Makefile.am.ldflags ftgl-2.1.3~rc5/demo/Makefile.am
2--- ftgl-2.1.3~rc5/demo/Makefile.am.ldflags 2008-06-02 03:10:10.000000000 +0200
3+++ ftgl-2.1.3~rc5/demo/Makefile.am 2010-02-14 15:02:19.670081290 +0100
4@@ -9,14 +9,14 @@ simple_SOURCES = \
5 simple.cpp \
6 $(NULL)
7 simple_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
8-simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
9+simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
10 simple_LDADD = ../src/libftgl.la
11
12 c_demo_SOURCES = \
13 c-demo.c \
14 $(NULL)
15 c_demo_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
16-c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
17+c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GLUT_LIBS) -lm
18 c_demo_LDADD = ../src/libftgl.la
19
20 FTGLDemo_SOURCES = \
21@@ -27,7 +27,7 @@ FTGLDemo_SOURCES = \
22 trackball.h \
23 $(NULL)
24 FTGLDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
25-FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
26+FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
27 FTGLDemo_LDADD = ../src/libftgl.la
28
29 FTGLMFontDemo_SOURCES = \
30@@ -38,7 +38,7 @@ FTGLMFontDemo_SOURCES = \
31 trackball.h \
32 $(NULL)
33 FTGLMFontDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
34-FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
35+FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
36 FTGLMFontDemo_LDADD = ../src/libftgl.la
37
38 NULL =
39diff -up ftgl-2.1.3~rc5/demo/Makefile.in.ldflags ftgl-2.1.3~rc5/demo/Makefile.in
40--- ftgl-2.1.3~rc5/demo/Makefile.in.ldflags 2008-06-12 16:33:01.000000000 +0200
41+++ ftgl-2.1.3~rc5/demo/Makefile.in 2010-02-14 15:02:01.866831398 +0100
42@@ -242,14 +242,14 @@ simple_SOURCES = \
43 $(NULL)
44
45 simple_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
46-simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
47+simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
48 simple_LDADD = ../src/libftgl.la
49 c_demo_SOURCES = \
50 c-demo.c \
51 $(NULL)
52
53 c_demo_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
54-c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
55+c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lm
56 c_demo_LDADD = ../src/libftgl.la
57 FTGLDemo_SOURCES = \
58 FTGLDemo.cpp \
59@@ -260,7 +260,7 @@ FTGLDemo_SOURCES = \
60 $(NULL)
61
62 FTGLDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
63-FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
64+FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
65 FTGLDemo_LDADD = ../src/libftgl.la
66 FTGLMFontDemo_SOURCES = \
67 FTGLMFontDemo.cpp \
68@@ -271,7 +271,7 @@ FTGLMFontDemo_SOURCES = \
69 $(NULL)
70
71 FTGLMFontDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
72-FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
73+FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
74 FTGLMFontDemo_LDADD = ../src/libftgl.la
75 NULL =
76 all: all-am
77diff -up ftgl-2.1.3~rc5/test/Makefile.am.ldflags ftgl-2.1.3~rc5/test/Makefile.am
78--- ftgl-2.1.3~rc5/test/Makefile.am.ldflags 2010-02-14 14:43:14.819077822 +0100
79+++ ftgl-2.1.3~rc5/test/Makefile.am 2010-02-14 14:43:49.227081230 +0100
80@@ -51,7 +51,7 @@ AM_CPPFLAGS = \
81 $(NULL)
82
83 CXXTest_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
84-CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) -lcppunit
85+CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lcppunit
86 CXXTest_LDADD = ../src/libftgl.la
87
88 CTest_SOURCES = \
89@@ -64,7 +64,7 @@ CTest_CPPFLAGS = \
90 -I$(top_srcdir)/src/FTFont \
91 -I$(top_srcdir)/src/FTLayout
92 CTest_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
93-CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
94+CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
95 CTest_LDADD = ../src/libftgl.la
96
97 NULL =
98diff -up ftgl-2.1.3~rc5/test/Makefile.in.ldflags ftgl-2.1.3~rc5/test/Makefile.in
99--- ftgl-2.1.3~rc5/test/Makefile.in.ldflags 2010-02-14 14:43:20.365077958 +0100
100+++ ftgl-2.1.3~rc5/test/Makefile.in 2010-02-14 14:44:13.653078013 +0100
101@@ -294,7 +294,7 @@ AM_CPPFLAGS = \
102 $(NULL)
103
104 CXXTest_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
105-CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) -lcppunit
106+CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lcppunit
107 CXXTest_LDADD = ../src/libftgl.la
108 CTest_SOURCES = \
109 CTest.c \
110@@ -308,7 +308,7 @@ CTest_CPPFLAGS = \
111 -I$(top_srcdir)/src/FTLayout
112
113 CTest_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
114-CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
115+CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
116 CTest_LDADD = ../src/libftgl.la
117 NULL =
118 all: all-am
diff --git a/testing/ftgl/ftgl-2.1.3-rc5-ttf_font.patch b/testing/ftgl/ftgl-2.1.3-rc5-ttf_font.patch
new file mode 100644
index 0000000000..81ae273b30
--- /dev/null
+++ b/testing/ftgl/ftgl-2.1.3-rc5-ttf_font.patch
@@ -0,0 +1,12 @@
1diff -up ftgl-2.1.3~rc5/demo/FTGLDemo.cpp.ttf_font ftgl-2.1.3~rc5/demo/FTGLDemo.cpp
2--- ftgl-2.1.3~rc5/demo/FTGLDemo.cpp.ttf_font 2008-06-08 17:49:10.000000000 +0200
3+++ ftgl-2.1.3~rc5/demo/FTGLDemo.cpp 2009-05-21 02:18:42.000000000 +0200
4@@ -48,7 +48,7 @@
5 # define FONT_FILE "C:\\WINNT\\Fonts\\arial.ttf"
6 # else
7 // Put your font file here if configure did not find it.
8-# define FONT_FILE 0
9+# define FONT_FILE "/usr/share/fonts/dejavu/DejaVuSans.ttf"
10 # endif
11 #endif
12
diff --git a/testing/gdnsd/APKBUILD b/testing/gdnsd/APKBUILD
index e353e12c69..c89aae670b 100644
--- a/testing/gdnsd/APKBUILD
+++ b/testing/gdnsd/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=gdnsd 3pkgname=gdnsd
4pkgver=1.6.2 4pkgver=1.6.2
5pkgrel=0 5pkgrel=1
6pkgdesc="Geographic Authoritative DNS server" 6pkgdesc="Geographic Authoritative DNS server"
7url="http://code.google.com/p/gdnsd/" 7url="http://code.google.com/p/gdnsd/"
8arch="all" 8arch="all"
@@ -28,7 +28,9 @@ prepare() {
28build() { 28build() {
29 cd "$_builddir" 29 cd "$_builddir"
30 ./configure --prefix=/usr \ 30 ./configure --prefix=/usr \
31 --sysconfdir=/etc \
31 --localstatedir=/var \ 32 --localstatedir=/var \
33 --enable-fast-install \
32 || return 1 34 || return 1
33 make || return 1 35 make || return 1
34} 36}
diff --git a/testing/gnash/APKBUILD b/testing/gnash/APKBUILD
index 06f7cc6941..9f791462b3 100644
--- a/testing/gnash/APKBUILD
+++ b/testing/gnash/APKBUILD
@@ -1,8 +1,8 @@
1# Contributor: William Pitcock <nenolod@dereferenced.org> 1# Contributor: William Pitcock <nenolod@dereferenced.org>
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=gnash 3pkgname=gnash
4pkgver=0.8.9 4pkgver=0.8.10
5pkgrel=5 5pkgrel=1
6pkgdesc="GNU flash player implementation" 6pkgdesc="GNU flash player implementation"
7url="http://www.gnashdev.org/" 7url="http://www.gnashdev.org/"
8arch="all" 8arch="all"
@@ -14,9 +14,11 @@ depends_dev="agg-dev cairo-dev gstreamer-dev gst-plugins-base-dev
14 curl-dev libxmu-dev libx11-dev" 14 curl-dev libxmu-dev libx11-dev"
15makedepends="$depends_dev libtool" 15makedepends="$depends_dev libtool"
16install="" 16install=""
17subpackages="$pkgname-doc $pkgname-dev $pkgname-mozilla $pkgname-sdl $pkgname-fb" 17subpackages="$pkgname-doc $pkgname-dev $pkgname-mozilla $pkgname-sdl
18source="http://mirrors.igsobe.com/gnu/gnash/$pkgver/gnash-$pkgver.tar.gz 18 $pkgname-fb $pkgname-lang"
19 gnash-ffmpeg.patch" 19source="http://ftp.gnu.org/pub/gnu/gnash/$pkgver/gnash-$pkgver.tar.bz2
20 gnash-ffmpeg.patch
21 aslr-fix.patch"
20 22
21_builddir="$srcdir"/gnash-$pkgver 23_builddir="$srcdir"/gnash-$pkgver
22prepare() { 24prepare() {
@@ -37,6 +39,7 @@ build() {
37 --infodir=/usr/share/info \ 39 --infodir=/usr/share/info \
38 --localstatedir=/var \ 40 --localstatedir=/var \
39 --enable-media=gst \ 41 --enable-media=gst \
42 --without-gconf \
40 || return 1 43 || return 1
41 make || return 1 44 make || return 1
42} 45}
@@ -44,6 +47,7 @@ build() {
44package() { 47package() {
45 cd "$_builddir" 48 cd "$_builddir"
46 make DESTDIR="$pkgdir" install || return 1 49 make DESTDIR="$pkgdir" install || return 1
50 rm "$pkgdir"/usr/lib/gnash/*.la || return 1
47} 51}
48 52
49sdl() { 53sdl() {
@@ -65,5 +69,6 @@ mozilla() {
65 mv "$_builddir"/plugin/npapi/.libs/libgnashplugin.so "$subpkgdir"/usr/lib/mozilla/plugins 69 mv "$_builddir"/plugin/npapi/.libs/libgnashplugin.so "$subpkgdir"/usr/lib/mozilla/plugins
66} 70}
67 71
68md5sums="01d0420932eede07211e368d405aee9c gnash-0.8.9.tar.gz 72md5sums="63e9f79c41d93d48c5a2fa94856548c4 gnash-0.8.10.tar.bz2
69b324b3fee1e017d8fcc4d991146266f8 gnash-ffmpeg.patch" 73b324b3fee1e017d8fcc4d991146266f8 gnash-ffmpeg.patch
7464cea4c0b4963b7fd5308beb1b20fed6 aslr-fix.patch"
diff --git a/testing/gnash/aslr-fix.patch b/testing/gnash/aslr-fix.patch
new file mode 100644
index 0000000000..632443b602
--- /dev/null
+++ b/testing/gnash/aslr-fix.patch
@@ -0,0 +1,52 @@
1diff -Naur gnash-0.8.10.alt/libbase/jemalloc.c gnash-0.8.10/libbase/jemalloc.c
2--- gnash-0.8.10.alt/libbase/jemalloc.c 2012-02-07 09:39:41.000000000 +0100
3+++ gnash-0.8.10/libbase/jemalloc.c 2012-02-24 18:36:47.000000000 +0100
4@@ -429,7 +429,7 @@
5 static const bool __isthreaded = true;
6 #endif
7
8-#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN)
9+#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN) || defined(MOZ_MEMORY_LINUX)
10 #define JEMALLOC_USES_MAP_ALIGN /* Required on Solaris 10. Might improve performance elsewhere. */
11 #endif
12
13@@ -2238,6 +2238,7 @@
14 * We don't use MAP_FIXED here, because it can cause the *replacement*
15 * of existing mappings, and we only want to create new mappings.
16 */
17+#ifndef MOZ_MEMORY_LINUX
18 #ifdef MALLOC_PAGEFILE
19 if (pfd != -1) {
20 ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
21@@ -2252,6 +2253,31 @@
22
23 if (ret == MAP_FAILED)
24 ret = NULL;
25+#else /* MOZ_MEMORY_LINUX */
26+#ifdef MALLOC_PAGEFILE
27+ if (pfd != -1) {
28+ ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
29+ MAP_NOSYNC, pfd, 0);
30+ } else
31+#endif
32+ {
33+ ret = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE, MAP_PRIVATE |
34+ MAP_NOSYNC | MAP_ANON, -1, 0);
35+ }
36+ assert(ret != NULL);
37+
38+ if (ret == MAP_FAILED)
39+ return NULL;
40+
41+ uintptr_t aligned_ret;
42+ size_t extra_size;
43+ aligned_ret = (uintptr_t)ret + alignment - 1;
44+ aligned_ret &= ~(alignment - 1);
45+ extra_size = aligned_ret - (uintptr_t)ret;
46+ munmap(ret, extra_size);
47+ munmap(ret + extra_size + size, alignment - extra_size);
48+ ret = (void*)aligned_ret;
49+#endif /* ifndef MOZ_MEMORY_LINUX*/
50 return (ret);
51 }
52 #endif
diff --git a/testing/gnump3d/APKBUILD b/testing/gnump3d/APKBUILD
index 1fa85b283e..11a2e88a9c 100644
--- a/testing/gnump3d/APKBUILD
+++ b/testing/gnump3d/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Michael Mason <ms13sp@gmail.com> 2# Maintainer: Michael Mason <ms13sp@gmail.com>
3pkgname=gnump3d 3pkgname=gnump3d
4pkgver=3.0 4pkgver=3.0
5pkgrel=0 5pkgrel=1
6pkgdesc="A streaming server for MP3, OGG vorbis and other streamable files" 6pkgdesc="A streaming server for MP3, OGG vorbis and other streamable files"
7url="http://www.gnump3d.org/" 7url="http://www.gnump3d.org/"
8arch="all" 8arch="all"
@@ -27,4 +27,4 @@ build() {
27 27
28md5sums="d2b665c3267253cc8cae29659131b9b4 gnump3d-3.0.tar.gz 28md5sums="d2b665c3267253cc8cae29659131b9b4 gnump3d-3.0.tar.gz
2959f0286d4c943226a67ab7b7787547c6 gnump3d.confd 2959f0286d4c943226a67ab7b7787547c6 gnump3d.confd
305202488dff1c7e6c6788fb00fb32f071 gnump3d.initd" 300fd5435e668ce34e5f9f783f3e0ac8ea gnump3d.initd"
diff --git a/testing/gnump3d/gnump3d.initd b/testing/gnump3d/gnump3d.initd
index 43290ee30a..ae5e018b35 100644
--- a/testing/gnump3d/gnump3d.initd
+++ b/testing/gnump3d/gnump3d.initd
@@ -3,7 +3,7 @@
3# Distributed under the terms of the GNU General Public License v2 3# Distributed under the terms of the GNU General Public License v2
4# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/media-sound/gnump3d/files/gnump3d.init.d,v 1.4 2008/06/03 14:52:33 beandog Exp $ 4# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/media-sound/gnump3d/files/gnump3d.init.d,v 1.4 2008/06/03 14:52:33 beandog Exp $
5 5
6opts="start stop index" 6extra_commands="index"
7 7
8depend() { 8depend() {
9 need net 9 need net
diff --git a/testing/gource/APKBUILD b/testing/gource/APKBUILD
index fd0a2b6c98..890ae4689d 100644
--- a/testing/gource/APKBUILD
+++ b/testing/gource/APKBUILD
@@ -2,9 +2,9 @@
2# Maintainer: Francesco Colista <francesco.colista@gmail.com> 2# Maintainer: Francesco Colista <francesco.colista@gmail.com>
3pkgname=gource 3pkgname=gource
4pkgver=0.35 4pkgver=0.35
5pkgrel=0 5pkgrel=2
6pkgdesc="Software version control visualization" 6pkgdesc="Software version control visualization"
7url="http://code.google.com&p/gource" 7url="http://code.google.com/p/gource"
8arch="all" 8arch="all"
9license="GPL3" 9license="GPL3"
10depends= 10depends=
diff --git a/testing/graphviz/APKBUILD b/testing/graphviz/APKBUILD
index 03b33aaccf..f61da2e8a3 100644
--- a/testing/graphviz/APKBUILD
+++ b/testing/graphviz/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=graphviz 3pkgname=graphviz
4pkgver=2.28.0 4pkgver=2.28.0
5pkgrel=0 5pkgrel=1
6pkgdesc="Graph Visualization Tools" 6pkgdesc="Graph Visualization Tools"
7url="http://www.graphviz.org/" 7url="http://www.graphviz.org/"
8arch="all" 8arch="all"
diff --git a/testing/hardinfo/APKBUILD b/testing/hardinfo/APKBUILD
index 1c721efc2a..96d75b9937 100644
--- a/testing/hardinfo/APKBUILD
+++ b/testing/hardinfo/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=hardinfo 2pkgname=hardinfo
3pkgver=0.5.1 3pkgver=0.5.1
4pkgrel=4 4pkgrel=5
5pkgdesc="A system information and benchmark tool." 5pkgdesc="A system information and benchmark tool."
6url="http://hardinfo.berlios.de/wiki/index.php/Main_Page" 6url="http://hardinfo.berlios.de/wiki/index.php/Main_Page"
7arch="all" 7arch="all"
diff --git a/testing/hydrogen/APKBUILD b/testing/hydrogen/APKBUILD
index db4ea7708a..9c3a6a51bd 100644
--- a/testing/hydrogen/APKBUILD
+++ b/testing/hydrogen/APKBUILD
@@ -1,15 +1,15 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org> 1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=hydrogen 3pkgname=hydrogen
4pkgver=0.9.5 4pkgver=0.9.5.1
5pkgrel=1 5pkgrel=0
6pkgdesc="Advanced drum machine for GNU/Linux" 6pkgdesc="Advanced drum machine for GNU/Linux"
7url="http://www.hydrogen-music.org/" 7url="http://www.hydrogen-music.org/"
8arch="all" 8arch="all"
9license="GPLv2+" 9license="GPLv2+"
10depends="" 10depends=""
11makedepends="qt-dev alsa-lib-dev flac-dev libsndfile-dev scons portaudio-dev 11makedepends="qt-dev alsa-lib-dev flac-dev libsndfile-dev scons portaudio-dev
12 libarchive-dev" 12 libarchive-dev jack-dev"
13install="" 13install=""
14subpackages="$pkgname-doc" 14subpackages="$pkgname-doc"
15source="http://downloads.sourceforge.net/hydrogen/hydrogen-$pkgver.tar.gz 15source="http://downloads.sourceforge.net/hydrogen/hydrogen-$pkgver.tar.gz
@@ -32,7 +32,7 @@ build() {
32 export QTDIR=/usr/lib 32 export QTDIR=/usr/lib
33 scons -j${JOBS:-2} \ 33 scons -j${JOBS:-2} \
34 prefix=/usr \ 34 prefix=/usr \
35 jack=0 \ 35 jack=1 \
36 portaudio=1 \ 36 portaudio=1 \
37 libarchive=1 \ 37 libarchive=1 \
38 portmidi=0 \ 38 portmidi=0 \
@@ -49,5 +49,5 @@ package() {
49 scons -j ${JOBS:-2} install DESTDIR="$pkgdir" || return 1 49 scons -j ${JOBS:-2} install DESTDIR="$pkgdir" || return 1
50} 50}
51 51
52md5sums="e96f291d60e58f5d62fe616cee577dc0 hydrogen-0.9.5.tar.gz 52md5sums="52f3a528705818c65acf546a3be4c6fb hydrogen-0.9.5.1.tar.gz
530d9552ee114f57df67d677263816ec78 hydrogen-docdir.patch" 530d9552ee114f57df67d677263816ec78 hydrogen-docdir.patch"
diff --git a/testing/ipset/APKBUILD b/testing/ipset/APKBUILD
new file mode 100644
index 0000000000..2968393813
--- /dev/null
+++ b/testing/ipset/APKBUILD
@@ -0,0 +1,43 @@
1# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
2# Maintainer:
3pkgname=ipset
4pkgver=6.11
5pkgrel=1
6pkgdesc="Manage Linux IP sets"
7url=http://ipset.netfilter.org/
8arch=all
9license=GPL-2
10depends_dev=libmnl-dev
11makedepends="$depends_dev automake autoconf pkgconfig libtool linux-headers"
12subpackages="$pkgname-dev $pkgname-doc"
13source="${url}ipset-$pkgver.tar.bz2 ipset.initd"
14
15_builddir=$srcdir/ipset-$pkgver
16
17prepare() {
18 local i
19 cd "$_builddir"
20 for i in $source; do
21 case $i in
22 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
23 esac
24 done
25}
26
27build() {
28 cd "$_builddir"
29 ./configure --with-kmod=no --prefix=/usr && make
30}
31
32package() {
33 cd "$_builddir"
34 make install DESTDIR=$pkgdir || return
35 rm $pkgdir/usr/lib/*.la
36
37 mkdir -p "$pkgdir/etc/init.d" \
38 "$pkgdir/etc/ipset.d"
39 install -m 755 "$startdir/ipset.initd" "$pkgdir/etc/init.d/ipset"
40}
41
42md5sums="bfcc92e30a0fcf10ae6e7c4affa03c84 ipset-6.11.tar.bz2
439f2e07dc13cafe456aa9d70fb631f175 ipset.initd"
diff --git a/testing/ipset/ipset.initd b/testing/ipset/ipset.initd
new file mode 100644
index 0000000000..6e3294c8e0
--- /dev/null
+++ b/testing/ipset/ipset.initd
@@ -0,0 +1,24 @@
1#!/sbin/runscript
2# Init script for ipset
3# Copyright (C) 2012 Kaarle Ritvanen
4# Licensed under the terms of the GPL2
5
6depend() {
7 before iptables ip6tables
8}
9
10start() {
11 if ls /etc/ipset.d/* &> /dev/null; then
12 ebegin "Loading firewall IP sets"
13 for f in /etc/ipset.d/*; do
14 /usr/sbin/ipset restore < $f
15 done
16 eend $?
17 fi
18}
19
20stop() {
21 ebegin "Flushing firewall IP sets"
22 /usr/sbin/ipset destroy
23 eend $?
24}
diff --git a/testing/irrlicht/APKBUILD b/testing/irrlicht/APKBUILD
index 6d1405ba2d..ace42441e7 100644
--- a/testing/irrlicht/APKBUILD
+++ b/testing/irrlicht/APKBUILD
@@ -1,6 +1,6 @@
1# Maintainer: Jeff Bilyk <jbilyk@alpinelinux.org> 1# Maintainer: Jeff Bilyk <jbilyk@alpinelinux.org>
2pkgname=irrlicht 2pkgname=irrlicht
3pkgver=1.7.2 3pkgver=1.7.3
4_pkgmajver=1.7 4_pkgmajver=1.7
5pkgrel=0 5pkgrel=0
6pkgdesc="3D graphics engine" 6pkgdesc="3D graphics engine"
@@ -74,4 +74,4 @@ package() {
74 install -m755 "$srcdir"/$pkgname-$pkgver/bin/Linux/* "$pkgdir"/usr/share/$pkgname/examples/bin/ 74 install -m755 "$srcdir"/$pkgname-$pkgver/bin/Linux/* "$pkgdir"/usr/share/$pkgname/examples/bin/
75} 75}
76 76
77md5sums="eb627d4c432bf73f12bc6d9ddc700b07 irrlicht-1.7.2.zip" 77md5sums="cfbdc8c68fbca544c7c8dfb3623ae086 irrlicht-1.7.3.zip"
diff --git a/testing/kbuild/APKBUILD b/testing/kbuild/APKBUILD
new file mode 100644
index 0000000000..5688647e05
--- /dev/null
+++ b/testing/kbuild/APKBUILD
@@ -0,0 +1,68 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=kbuild
4pkgver=0.1.5_p2
5_ver=${pkgver/_/-}
6pkgrel=0
7pkgdesc="A makefile framework for writing simple makefiles for complex tasks"
8url="http://svn.netlabs.org/kbuild/wiki"
9arch="all"
10license="GPL-3"
11depends=""
12depends_dev=""
13makedepends="autoconf automake flex bison"
14install=""
15subpackages="$pkgname-doc"
16source="ftp://ftp.netlabs.org/pub/kbuild/kBuild-$_ver-src.tar.gz
17 kbuild-0.1.5_p2-qa.patch
18 lchmod.patch
19 strlcpy.patch
20 underlinking.patch
21 sys_siglist.patch
22 uclibc.patch"
23
24_builddir="$srcdir"/kBuild-$_ver
25prepare() {
26 local i
27 cd "$_builddir"
28 for i in $source; do
29 case $i in
30 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
31 esac
32 done
33 cd "$_builddir"/src/kmk
34 aclocal -I config && autoheader && autoconf && automake --add-missing \
35 || return 1
36 cd "$_builddir"/src/sed
37 aclocal -I config && autoheader && autoconf && automake --add-missing \
38 || return 1
39
40 # the bootstrap process will create a symlink to the system shell,
41 # which happens to be (/bin/sh) a symlink to /bin/busybox
42 # and busybox will get confused since there are no applet named
43 # kmk_ash.
44 echo '#!/bin/sh' >"$srcdir"/sh
45 echo 'exec /bin/busybox sh "$@"' >> "$srcdir"/sh
46 chmod +x "$srcdir"/sh
47 sed -i -e "s:/bin/sh:$srcdir/sh:" "$_builddir"/bootstrap.gmk
48}
49
50build() {
51 cd "$_builddir"
52 kBuild/env.sh --full make -f bootstrap.gmk AUTORECONF=true \
53 || return 1
54}
55
56package() {
57 cd "$_builddir"
58 kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="$pkgdir" install \
59 || return 1
60}
61
62md5sums="5e4e2193aa6cb3f095af2f99bf90d01d kBuild-0.1.5-p2-src.tar.gz
6379d4d445b28f0c50f2a7a8ca12bbed4b kbuild-0.1.5_p2-qa.patch
64b3dd26cc185c96658d9b554eef2f811c lchmod.patch
6590cae3b53b4ec6fc5f1c336922083df0 strlcpy.patch
66ca09174d7c885fdea1e3c2dc580d80b3 underlinking.patch
67234e03febb8eb35106ecf85682e9233a sys_siglist.patch
684bf9eead328a38059dadb56317e7aaa4 uclibc.patch"
diff --git a/testing/kbuild/getloadavg.patch b/testing/kbuild/getloadavg.patch
new file mode 100644
index 0000000000..e145ed0e5a
--- /dev/null
+++ b/testing/kbuild/getloadavg.patch
@@ -0,0 +1,32 @@
1diff --git a/src/kmk/job.c b/src/kmk/job.c
2index 6d14300..16731fc 100644
3--- a/src/kmk/job.c
4+++ b/src/kmk/job.c
5@@ -240,6 +240,27 @@ unsigned long job_counter = 0;
6
7 unsigned int jobserver_tokens = 0;
8
9+#ifdef __UCLIBC__
10+int getloadavg(double list[], int nelem)
11+{
12+ FILE *LOADAVG;
13+ double avg[3] = { 0.0, 0.0, 0.0 };
14+ int i, res = -1;
15+
16+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
17+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
18+ res = 0;
19+ fclose(LOADAVG);
20+ }
21+
22+ for (i = 0; (i < nelem) && (i < 3); i++) {
23+ list[i] = avg[i];
24+ }
25+
26+ return res;
27+}
28+#endif
29+
30 #ifdef WINDOWS32
31 /*
32 * The macro which references this function is defined in make.h.
diff --git a/testing/kbuild/kbuild-0.1.5_p2-qa.patch b/testing/kbuild/kbuild-0.1.5_p2-qa.patch
new file mode 100644
index 0000000000..706c3a7fd5
--- /dev/null
+++ b/testing/kbuild/kbuild-0.1.5_p2-qa.patch
@@ -0,0 +1,26 @@
1* warning: implicit declaration of function ‘unlink’
2* warning: too few arguments for format
3--- a/src/sed/lib/utils.c
4+++ b/src/sed/lib/utils.c
5@@ -35,6 +35,10 @@
6 # include <stdlib.h>
7 #endif /* HAVE_STDLIB_H */
8
9+#ifdef HAVE_UNISTD_H
10+# include <unistd.h>
11+#endif /* HAVE_UNISTD_H */
12+
13 #include "utils.h"
14
15 const char *myname;
16--- a/src/kmk/kmkbuiltin/printf.c
17+++ b/src/kmk/kmkbuiltin/printf.c
18@@ -206,7 +206,7 @@
19
20 (void)funcname;
21 if (rc != 0)
22- fatal (NILF, _("$(%s): failure rc=%d\n"), rc);
23+ fatal (NILF, _("$(%s): failure rc=%d\n"), funcname, rc);
24 return o;
25 }
26 #endif
diff --git a/testing/kbuild/lchmod.patch b/testing/kbuild/lchmod.patch
new file mode 100644
index 0000000000..de111867d4
--- /dev/null
+++ b/testing/kbuild/lchmod.patch
@@ -0,0 +1,27 @@
1--- ./src/kmk/kmkbuiltin/chmod.c.orig
2+++ ./src/kmk/kmkbuiltin/chmod.c
3@@ -177,9 +177,9 @@
4 } else
5 fts_options = hflag ? FTS_PHYSICAL : FTS_LOGICAL;
6
7- if (hflag)
8+/* if (hflag)
9 change_mode = lchmod;
10- else
11+ else */
12 change_mode = chmod;
13
14 mode = *argv;
15diff --git a/src/kmk/kmkbuiltin/cp_utils.c b/src/kmk/kmkbuiltin/cp_utils.c
16index 1773815..a1ff924 100644
17--- a/src/kmk/kmkbuiltin/cp_utils.c
18+++ b/src/kmk/kmkbuiltin/cp_utils.c
19@@ -359,7 +359,7 @@ setfile(struct stat *fs, int fd)
20
21 if (!gotstat || fs->st_mode != ts.st_mode)
22 if (fdval ? fchmod(fd, fs->st_mode) :
23- (islink ? lchmod(to.p_path, fs->st_mode) :
24+ (islink ? chmod(to.p_path, fs->st_mode) :
25 chmod(to.p_path, fs->st_mode))) {
26 warn("chmod: %s", to.p_path);
27 rval = 1;
diff --git a/testing/kbuild/strlcpy.patch b/testing/kbuild/strlcpy.patch
new file mode 100644
index 0000000000..42b25bdadf
--- /dev/null
+++ b/testing/kbuild/strlcpy.patch
@@ -0,0 +1,26 @@
1diff --git a/src/kmk/kmkbuiltin/cp.c b/src/kmk/kmkbuiltin/cp.c
2index 44b76ab..85fec01 100644
3--- a/src/kmk/kmkbuiltin/cp.c
4+++ b/src/kmk/kmkbuiltin/cp.c
5@@ -81,7 +81,7 @@ __FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.50 2004/04/06 20:06:44 markm Exp $");
6 #include "kmkbuiltin.h"
7 #include "kbuild_protection.h"
8
9-#if defined(_MSC_VER) || defined(__gnu_linux__) || defined(__linux__)
10+#if defined(_MSC_VER) || defined(__gnu_linux__) || defined(__linux__) && !defined(__UCLIBC__)
11 extern char *strlcpy(char *, const char *, size_t);
12 #endif
13
14diff --git a/src/kmk/Makefile.kmk b/src/kmk/Makefile.kmk
15index 12b9697..db1deb2 100644
16--- a/src/kmk/Makefile.kmk
17+++ b/src/kmk/Makefile.kmk
18@@ -101,7 +101,7 @@ kmkmissing_SOURCES.freebsd = \
19 glob/fnmatch.c
20
21 kmkmissing_SOURCES.linux += \
22- kmkbuiltin/strlcpy.c
23+ getloadavg.c
24
25 kmkmissing_SOURCES.solaris = \
26 kmkbuiltin/strlcpy.c \
diff --git a/testing/kbuild/sys_siglist.patch b/testing/kbuild/sys_siglist.patch
new file mode 100644
index 0000000000..883b2ef3ad
--- /dev/null
+++ b/testing/kbuild/sys_siglist.patch
@@ -0,0 +1,15 @@
1diff --git a/src/ash/jobs.c b/src/ash/jobs.c
2index 146326a..cbf0c3e 100644
3--- a/src/ash/jobs.c
4+++ b/src/ash/jobs.c
5@@ -463,8 +463,8 @@ showjob(struct output *out, struct job *jp, int mode)
6 #endif
7 st = WTERMSIG(ps->status);
8 st &= 0x7f;
9- if (st < NSIG && sys_siglist[st])
10- scopyn(sys_siglist[st], s + col, 32);
11+ if (st < NSIG && strsignal(st))
12+ scopyn(strsignal(st), s + col, 32);
13 else
14 fmtstr(s + col, 16, "Signal %d", st);
15 if (WCOREDUMP(ps->status)) {
diff --git a/testing/kbuild/uclibc.patch b/testing/kbuild/uclibc.patch
new file mode 100644
index 0000000000..cf38529f17
--- /dev/null
+++ b/testing/kbuild/uclibc.patch
@@ -0,0 +1,24 @@
1--- ./src/lib/k/kDefs.h.orig
2+++ ./src/lib/k/kDefs.h
3@@ -78,7 +78,7 @@
4 # define K_OS K_OS_DRAGONFLY
5 # elif defined(__FreeBSD__) /*??*/
6 # define K_OS K_OS_FREEBSD
7-# elif defined(__gnu_linux__)
8+# elif defined(__gnu_linux__) || defined(__UCLIBC__)
9 # define K_OS K_OS_LINUX
10 # elif defined(__NetBSD__) /*??*/
11 # define K_OS K_OS_NETBSD
12diff --git a/src/kmk/kmkbuiltin/fts.c b/src/kmk/kmkbuiltin/fts.c
13index f913f17..febb900 100644
14--- a/src/kmk/kmkbuiltin/fts.c
15+++ b/src/kmk/kmkbuiltin/fts.c
16@@ -75,7 +75,7 @@ __RCSID("$NetBSD: __fts13.c,v 1.44 2005/01/19 00:59:48 mycroft Exp $");
17 #endif
18
19 #if ! HAVE_NBTOOL_CONFIG_H
20-# if !defined(__sun__) && !defined(__gnu_linux__)
21+# if !defined(__sun__) && !defined(__gnu_linux__) && !defined(__UCLIBC__)
22 # define HAVE_STRUCT_DIRENT_D_NAMLEN 1
23 # endif
24 #endif
diff --git a/testing/kbuild/underlinking.patch b/testing/kbuild/underlinking.patch
new file mode 100644
index 0000000000..e72c3c1f69
--- /dev/null
+++ b/testing/kbuild/underlinking.patch
@@ -0,0 +1,13 @@
1diff --git a/src/kmk/Makefile.kmk b/src/kmk/Makefile.kmk
2index db1deb2..00981b8 100644
3--- a/src/kmk/Makefile.kmk
4+++ b/src/kmk/Makefile.kmk
5@@ -215,6 +215,8 @@ kmk_SOURCES = \
6 vpath.c \
7 remote-stub.c
8
9+kmk_LIBS.linux = pthread
10+
11 #kmk_LIBS.solaris = malloc
12 #kmk_DEFS.solaris += HAVE_MALLINFO
13
diff --git a/testing/libprojectm/APKBUILD b/testing/libprojectm/APKBUILD
index bbd10f1c2c..27d6b5b6e5 100644
--- a/testing/libprojectm/APKBUILD
+++ b/testing/libprojectm/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=libprojectm 3pkgname=libprojectm
4pkgver=2.0.1 4pkgver=2.0.1
5pkgrel=0 5pkgrel=1
6pkgdesc="milkdrop-like music visualizer using opengl" 6pkgdesc="milkdrop-like music visualizer using opengl"
7url="http://projectm.sourceforge.net/" 7url="http://projectm.sourceforge.net/"
8arch="all" 8arch="all"
diff --git a/testing/lua-microlight/APKBUILD b/testing/lua-microlight/APKBUILD
new file mode 100644
index 0000000000..632a653339
--- /dev/null
+++ b/testing/lua-microlight/APKBUILD
@@ -0,0 +1,36 @@
1# Contributor: Natanael Copa <ncopa@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=lua-microlight
4pkgver=0_git20120215
5pkgrel=0
6pkgdesc="a really compact set of general Lua functions"
7url="http://stevedonovan.github.com/microlight/"
8arch="noarch"
9license="MIT"
10depends="lua"
11makedepends="wget"
12install=""
13subpackages=""
14source="https://raw.github.com/gist/1834789/2bbb01662de1d83af93d2bd2990fee229b473d54/ml.lua"
15
16_builddir=
17prepare() {
18 local i
19 cd "$_builddir"
20 for i in $source; do
21 case $i in
22 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
23 esac
24 done
25}
26
27build() {
28 cd "$_builddir"
29}
30
31package() {
32 cd "$_builddir"
33 install -Dm644 "$srcdir"/ml.lua "$pkgdir"/usr/share/lua/5.1/ml.lua
34}
35
36md5sums="0a1e55c9babf6c093aa24f391c07cfd7 ml.lua"
diff --git a/testing/lua-microlight/ml.lua b/testing/lua-microlight/ml.lua
new file mode 100644
index 0000000000..2bbb01662d
--- /dev/null
+++ b/testing/lua-microlight/ml.lua
@@ -0,0 +1,543 @@
1-----------------
2-- Microlight - a very compact Lua utilities module
3--
4-- Steve Donovan, 2012; License MIT
5-- @module ml
6
7local ml = {}
8
9--- String utilties.
10-- @section string
11
12--- split a string into a list of strings separated by a delimiter.
13-- @param s The input string
14-- @param re A Lua string pattern; defaults to '%s+'
15-- @param n optional maximum number of splits
16-- @return a list
17function ml.split(s,re,n)
18 local find,sub,append = string.find, string.sub, table.insert
19 local i1,ls = 1,{}
20 if not re then re = '%s+' end
21 if re == '' then return {s} end
22 while true do
23 local i2,i3 = find(s,re,i1)
24 if not i2 then
25 local last = sub(s,i1)
26 if last ~= '' then append(ls,last) end
27 if #ls == 1 and ls[1] == '' then
28 return {}
29 else
30 return ls
31 end
32 end
33 append(ls,sub(s,i1,i2-1))
34 if n and #ls == n then
35 ls[#ls] = sub(s,i1)
36 return ls
37 end
38 i1 = i3+1
39 end
40end
41
42--- escape any 'magic' characters in a string
43-- @param s The input string
44-- @return an escaped string
45function ml.escape(s)
46 return (s:gsub('[%-%.%+%[%]%(%)%$%^%%%?%*]','%%%1'))
47end
48
49--- expand a string containing any ${var} or $var.
50-- @param s the string
51-- @param subst either a table or a function (as in `string.gsub`)
52-- @return expanded string
53function ml.expand (s,subst)
54 local res = s:gsub('%${([%w_]+)}',subst)
55 return (res:gsub('%$([%w_]+)',subst))
56end
57
58--- return the contents of a file as a string
59-- @param filename The file path
60-- @param is_bin open in binary mode, default false
61-- @return file contents
62function ml.readfile(filename,is_bin)
63 local mode = is_bin and 'b' or ''
64 local f,err = io.open(filename,'r'..mode)
65 if not f then return nil,err end
66 local res,err = f:read('*a')
67 f:close()
68 if not res then return nil,err end
69 return res
70end
71
72--- File and Path functions
73-- @section file
74
75--~ exists(filename)
76--- Does a file exist?
77-- @param filename a file path
78-- @return the file path, otherwise nil
79-- @usage exists 'readme' or exists 'readme.txt' or exists 'readme.md'
80function ml.exists (filename)
81 local f = io.open(filename)
82 if not f then
83 return nil
84 else
85 f:close()
86 return filename
87 end
88end
89
90local sep, other_sep = package.config:sub(1,1),'/'
91
92
93--- split a file path.
94-- if there's no directory part, the first value will be the empty string
95-- @param P A file path
96-- @return the directory part
97-- @return the file part
98function ml.splitpath(P)
99 local i = #P
100 local ch = P:sub(i,i)
101 while i > 0 and ch ~= sep and ch ~= other_sep do
102 i = i - 1
103 ch = P:sub(i,i)
104 end
105 if i == 0 then
106 return '',P
107 else
108 return P:sub(1,i-1), P:sub(i+1)
109 end
110end
111
112--- given a path, return the root part and the extension part.
113-- if there's no extension part, the second value will be empty
114-- @param P A file path
115-- @return the name part
116-- @return the extension
117function ml.splitext(P)
118 local i = #P
119 local ch = P:sub(i,i)
120 while i > 0 and ch ~= '.' do
121 if ch == sep or ch == other_sep then
122 return P,''
123 end
124 i = i - 1
125 ch = P:sub(i,i)
126 end
127 if i == 0 then
128 return P,''
129 else
130 return P:sub(1,i-1),P:sub(i)
131 end
132end
133
134--- Extended table functions.
135-- 'list' here is shorthand for 'list-like table'; these functions
136-- only operate over the numeric `1..#t` range of a table and are
137-- particularly efficient for this purpose.
138-- @section table
139
140local function quote (v)
141 if type(v) == 'string' then
142 return ('%q'):format(v)
143 else
144 return tostring(v)
145 end
146end
147
148local tbuff
149function tbuff (t,buff,k)
150 buff[k] = "{"
151 k = k + 1
152 for key,value in pairs(t) do
153 key = quote(key)
154 if type(value) ~= 'table' then
155 value = quote(value)
156 buff[k] = ('[%s]=%s'):format(key,value)
157 k = k + 1
158 if buff.limit and k > buff.limit then
159 buff[k] = "..."
160 error("buffer overrun")
161 end
162 else
163 if not buff.tables then buff.tables = {} end
164 if not buff.tables[value] then
165 k = tbuff(value,buff,k)
166 buff.tables[value] = true
167 else
168 buff[k] = "<cycle>"
169 k = k + 1
170 end
171 end
172 buff[k] = ","
173 k = k + 1
174 end
175 if buff[k-1] == "," then k = k - 1 end
176 buff[k] = "}"
177 k = k + 1
178 return k
179end
180
181--- return a string representation of a Lua table.
182-- Cycles are detected, and a limit on number of items can be imposed.
183-- @param t the table
184-- @param limit the limit on items, default 1000
185-- @return a string
186function ml.tstring (t,limit)
187 local buff = {limit = limit or 1000}
188 pcall(tbuff,t,buff,1)
189 return table.concat(buff)
190end
191
192--- dump a Lua table to a file object.
193-- @param t the table
194-- @param f the file object (anything supporting f.write)
195function ml.tdump(t,...)
196 local f = select('#',...) > 0 and select(1,...) or io.stdout
197 f:write(ml.tstring(t),'\n')
198end
199
200--- map a function over a list.
201-- The output must always be the same length as the input, so
202-- any `nil` values are mapped to `false`.
203-- @param f a function of one or more arguments
204-- @param t the table
205-- @param ... any extra arguments to the function
206-- @return a list with elements `f(t[i])`
207function ml.imap(f,t,...)
208 f = ml.function_arg(f)
209 local res = {}
210 for i = 1,#t do
211 local val = f(t[i],...)
212 if val == nil then val = false end
213 res[i] = val
214 end
215 return res
216end
217
218--- filter a list using a predicate.
219-- @param t a table
220-- @param pred the predicate function
221-- @param ... any extra arguments to the predicate
222-- @return a list such that `pred(t[i])` is true
223function ml.ifilter(t,pred,...)
224 local res,k = {},1
225 pred = ml.function_arg(pred)
226 for i = 1,#t do
227 if pred(t[i],...) then
228 res[k] = t[i]
229 k = k + 1
230 end
231 end
232 return res
233end
234
235--- find an item in a list using a predicate.
236-- @param t the list
237-- @param pred a function of at least one argument
238-- @param ... any extra arguments
239-- @return the item value
240function ml.ifind(t,pred,...)
241 pred = ml.function_arg(pred)
242 for i = 1,#t do
243 if pred(t[i],...) then
244 return t[i]
245 end
246 end
247end
248
249--- return the index of an item in a list.
250-- @param t the list
251-- @param value item value
252-- @return index, otherwise `nil`
253function ml.index (t,value)
254 for i = 1,#t do
255 if t[i] == value then return i end
256 end
257end
258
259--- return a slice of a list.
260-- Like string.sub, the end index may be negative.
261-- @param t the list
262-- @param i1 the start index
263-- @param i2 the end index, default #t
264function ml.sub(t,i1,i2)
265 if not i2 or i2 > #t then
266 i2 = #t
267 elseif i2 < 0 then
268 i2 = #t + i2 + 1
269 end
270 local res,k = {},1
271 for i = i1,i2 do
272 res[k] = t[i]
273 k = k + 1
274 end
275 return res
276end
277
278--- map a function over a Lua table.
279-- @param f a function of one or more arguments
280-- @param t the table
281-- @param ... any optional arguments to the function
282function ml.tmap(f,t,...)
283 f = ml.function_arg(f)
284 local res = {}
285 for k,v in pairs(t) do
286 res[k] = f(v,...)
287 end
288 return res
289end
290
291--- filter a table using a predicate.
292-- @param t a table
293-- @param pred the predicate function
294-- @param ... any extra arguments to the predicate
295-- @usage tfilter({a=1,b='boo'},tonumber) == {a=1}
296function ml.tfilter (t,pred,...)
297 local res = {}
298 pred = ml.function_arg(pred)
299 for k,v in pairs(t) do
300 if pred(v,...) then
301 res[k] = v
302 end
303 end
304 return res
305end
306
307--- add the key/value pairs of `other` to `t`.
308-- For sets, this is their union. For the same keys,
309-- the values from the first table will be overwritten
310-- @param t table to be updated
311-- @param other table
312-- @return the updated table
313function ml.update(t,other)
314 for k,v in pairs(other) do
315 t[k] = v
316 end
317 return t
318end
319
320--- extend a list using values from another.
321-- @param t the list to be extended
322-- @param other a list
323-- @return the extended list
324function ml.extend(t,other)
325 local n = #t
326 for i = 1,#other do
327 t[n+i] = other[i]
328 end
329 return t
330end
331
332--- make a set from a list.
333-- @param t a list of values
334-- @return a table where the keys are the values
335-- @usage set{'one','two'} == {one=true,two=true}
336function ml.set(t)
337 local res = {}
338 for i = 1,#t do
339 res[t[i]] = true
340 end
341 return res
342end
343
344--- extract the keys of a table as a list.
345-- This is the opposite operation to tset
346-- @param t a table
347-- @param a list of keys
348function ml.keys(t)
349 local res,k = {},1
350 for key in pairs(t) do
351 res[k] = key
352 k = k + 1
353 end
354 return res
355end
356
357--- is `other` a subset of `t`?
358-- @param t a set
359-- @param other a possible subset
360-- @return true or false
361function ml.subset(t,other)
362 for k,v in pairs(other) do
363 if t[k] ~= v then return false end
364 end
365 return true
366end
367
368--- are these two tables equal?
369-- This is shallow equality.
370-- @param t a table
371-- @param other a table
372-- @return true or false
373function ml.tequal(t,other)
374 return ml.subset(t,other) and ml.subset(other,t)
375end
376
377--- the intersection of two tables.
378-- Works as expected for sets, otherwise note that the first
379-- table's values are preseved
380-- @param t a table
381-- @param other a table
382-- @return the intersection of the tables
383function ml.intersect(t,other)
384 local res = {}
385 for k,v in pairs(t) do
386 if other[k] then
387 res[k] = v
388 end
389 end
390 return res
391end
392
393--- collect the values of an iterator into a list.
394-- @param iter a single or double-valued iterator
395-- @param count an optional number of values to collect
396-- @return a list of values.
397-- @usage collect(ipairs{10,20}) == {{1,10},{2,20}}
398function ml.collect (iter, count)
399 local res,k = {},1
400 local v1,v2 = iter()
401 local dbl = v2 ~= nil
402 while v1 do
403 if dbl then v1 = {v1,v2} end
404 res[k] = v1
405 k = k + 1
406 if count and k > count then break end
407 v1,v2 = iter()
408 end
409 return res
410end
411
412--- Functional helpers.
413-- @section function
414
415--- create a function which will throw an error on failure.
416-- @param f a function that returns nil,err if it fails
417-- @return an equivalent function that raises an error
418function ml.throw(f)
419 f = ml.function_arg(f)
420 return function(...)
421 local res,err = f(...)
422 if err then error(err) end
423 return res
424 end
425end
426
427--- create a function which will never throw an error.
428-- This is the opposite situation to throw; if the
429-- original function throws an error e, then this
430-- function will return nil,e.
431-- @param f a function which can throw an error
432-- @return a function which returns nil,error when it fails
433function ml.safe(f)
434 f = ml.function_arg(f)
435 return function(...)
436 local ok,r1,r2,r3 = pcall(f,...)
437 if ok then return r1,r2,r3
438 else
439 return nil,r1
440 end
441 end
442end
443--memoize(f)
444
445--- bind the value `v` to the first argument of function `f`.
446-- @param f a function of at least one argument
447-- @param v a value
448-- @return a function of one less argument
449-- @usage (bind1(string.match,'hello')('^hell') == 'hell'
450function ml.bind1(f,v)
451 f = ml.function_arg(f)
452 return function(...)
453 return f(v,...)
454 end
455end
456
457--- compose two functions.
458-- For instance, `printf` can be defined as `compose(io.write,string.format)`
459-- @param f1 a function
460-- @param f2 a function
461-- @return f1(f2(...))
462function ml.compose(f1,f2)
463 f1 = ml.function_arg(f1)
464 f2 = ml.function_arg(f2)
465 return function(...)
466 return f1(f2(...))
467 end
468end
469
470--- is the object either a function or a callable object?.
471-- @param obj Object to check.
472-- @return true if callable
473function ml.callable (obj)
474 return type(obj) == 'function' or getmetatable(obj) and getmetatable(obj).__call
475end
476
477function ml.function_arg(f)
478 assert(ml.callable(f),"expecting a function or callable object")
479 return f
480end
481
482--- Classes.
483-- @section class
484
485--- create a class with an optional base class.
486-- The resulting table has a new() function for invoking
487-- the constructor, which must be named `_init`. If the base
488-- class has a constructor, you can call it as the `super()` method.
489-- The `__tostring` metamethod is also inherited, but others need
490-- to be brought in explicitly.
491-- @param base optional base class
492-- @return the metatable representing the class
493function ml.class(base)
494 local klass, base_ctor = {}
495 klass.__index = klass
496 if base then
497 setmetatable(klass,base)
498 klass._base = base
499 base_ctor = rawget(base,'_init')
500 klass.__tostring = base.__tostring
501 end
502 function klass.new(...)
503 local self = setmetatable({},klass)
504 if rawget(klass,'_init') then
505 klass.super = base_ctor -- make super available for ctor
506 klass._init(self,...)
507 elseif base_ctor then -- call base ctor automatically
508 base_ctor(self,...)
509 end
510 return self
511 end
512 return klass
513end
514
515--- is an object derived from a class?
516-- @param self the object
517-- @param klass a class created with `class`
518-- @return true or false
519function ml.is_a(self,klass)
520 local m = getmetatable(self)
521 if not m then return false end --*can't be an object!
522 while m do
523 if m == klass then return true end
524 m = rawget(m,'_base')
525 end
526 return false
527end
528
529local _type = type
530
531--- extended type of an object.
532-- The type of a table is its metatable, otherwise works like standard type()
533-- @param obj a value
534-- @return the type, either a string or the metatable
535function ml.type (obj)
536 if _type(obj) == 'table' then
537 return getmetatable(obj) or 'table'
538 else
539 return _type(obj)
540 end
541end
542
543return ml
diff --git a/testing/mediaproxy/APKBUILD b/testing/mediaproxy/APKBUILD
index 169fc2e093..6b5fc54db7 100644
--- a/testing/mediaproxy/APKBUILD
+++ b/testing/mediaproxy/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=mediaproxy 2pkgname=mediaproxy
3pkgver=2.4.4 3pkgver=2.4.4
4pkgrel=1 4pkgrel=2
5pkgdesc="MediaProxy" 5pkgdesc="MediaProxy"
6url="http://www.ag-projects.com/MediaProxy/" 6url="http://www.ag-projects.com/MediaProxy/"
7pkgusers="kamailio" 7pkgusers="kamailio"
diff --git a/testing/minidlna/APKBUILD b/testing/minidlna/APKBUILD
index 03f3ae5132..9589baaad1 100644
--- a/testing/minidlna/APKBUILD
+++ b/testing/minidlna/APKBUILD
@@ -1,7 +1,7 @@
1# Contributor: Carlo Landmeter <clandmeter@gmail.com> 1# Contributor: Carlo Landmeter <clandmeter@gmail.com>
2# Maintainer: 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=minidlna 3pkgname=minidlna
4pkgver=1.0.22 4pkgver=1.0.24
5pkgrel=0 5pkgrel=0
6pkgdesc="A small dlna server" 6pkgdesc="A small dlna server"
7url="http://sourceforge.net/projects/minidlna/" 7url="http://sourceforge.net/projects/minidlna/"
@@ -43,6 +43,6 @@ package() {
43 install -m644 -D "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname" 43 install -m644 -D "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"
44} 44}
45 45
46md5sums="3de2f6b54f43bb998dfad3c8fa75cef3 minidlna_1.0.22_src.tar.gz 46md5sums="be9b4c91e3fcde592dc3f9828098ca0f minidlna_1.0.24_src.tar.gz
47c9965792baec8d2dc6953c7e28eda8bd minidlna.initd 47c9965792baec8d2dc6953c7e28eda8bd minidlna.initd
486dc0cf1e59e0d53b910f306f81cb7e7f minidlna.confd" 486dc0cf1e59e0d53b910f306f81cb7e7f minidlna.confd"
diff --git a/testing/mplayer2/APKBUILD b/testing/mplayer2/APKBUILD
index b02c14ba06..747e3e87cb 100644
--- a/testing/mplayer2/APKBUILD
+++ b/testing/mplayer2/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=mplayer2 3pkgname=mplayer2
4pkgver=2.0 4pkgver=2.0
5pkgrel=2 5pkgrel=3
6pkgdesc="advanced general-purpose video player" 6pkgdesc="advanced general-purpose video player"
7url="http://www.mplayer2.org/" 7url="http://www.mplayer2.org/"
8arch="all" 8arch="all"
diff --git a/testing/mutter/APKBUILD b/testing/mutter/APKBUILD
index d11454b56f..2bb75bef1d 100644
--- a/testing/mutter/APKBUILD
+++ b/testing/mutter/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: William Pitcock <nenolod@dereferenced.org> 2# Maintainer: William Pitcock <nenolod@dereferenced.org>
3pkgname=mutter 3pkgname=mutter
4pkgver=2.31.5 4pkgver=2.31.5
5pkgrel=4 5pkgrel=5
6pkgdesc="clutter-based window manager for GNOME" 6pkgdesc="clutter-based window manager for GNOME"
7url="http://www.gnome.org/" 7url="http://www.gnome.org/"
8arch="all" 8arch="all"
@@ -11,7 +11,7 @@ depends="zenity"
11depends_dev="clutter-dev libcanberra-dev gconf-dev startup-notification-dev python-dev" 11depends_dev="clutter-dev libcanberra-dev gconf-dev startup-notification-dev python-dev"
12makedepends="$depends_dev gobject-introspection-dev intltool gnome-doc-utils" 12makedepends="$depends_dev gobject-introspection-dev intltool gnome-doc-utils"
13install="$pkgname.pre-deinstall $pkgname.post-install $pkgname.post-upgrade" 13install="$pkgname.pre-deinstall $pkgname.post-install $pkgname.post-upgrade"
14subpackages="$pkgname-dev $pkgname-doc" 14subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
15source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 15source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
16 mutter-gtk2.patch" 16 mutter-gtk2.patch"
17 17
@@ -31,6 +31,7 @@ build() {
31 ./configure --prefix=/usr \ 31 ./configure --prefix=/usr \
32 --sysconfdir=/etc \ 32 --sysconfdir=/etc \
33 --localstatedir=/var \ 33 --localstatedir=/var \
34 --enable-compile-warnings=no \
34 --disable-static || return 1 35 --disable-static || return 1
35 make || return 1 36 make || return 1
36} 37}
diff --git a/testing/networkmanager/APKBUILD b/testing/networkmanager/APKBUILD
index acb03cbe02..7e39723e3e 100644
--- a/testing/networkmanager/APKBUILD
+++ b/testing/networkmanager/APKBUILD
@@ -3,12 +3,12 @@
3pkgname=networkmanager 3pkgname=networkmanager
4pkgver=0.9.2.0 4pkgver=0.9.2.0
5_ver=0.9 5_ver=0.9
6pkgrel=0 6pkgrel=1
7pkgdesc="network management tool" 7pkgdesc="network management tool"
8url="http://projects.gnome.org/NetworkManager/" 8url="http://projects.gnome.org/NetworkManager/"
9arch="all" 9arch="all"
10license="GPL" 10license="GPL"
11depends="dhcpcd iptables" 11depends="dhcpcd iptables dbus"
12depends_dev="dbus-glib-dev udev-dev libnl-dev util-linux-dev 12depends_dev="dbus-glib-dev udev-dev libnl-dev util-linux-dev
13 polkit-dev ppp-dev zlib-dev libiconv-dev wireless-tools-dev 13 polkit-dev ppp-dev zlib-dev libiconv-dev wireless-tools-dev
14 nss-dev nspr-dev" 14 nss-dev nspr-dev"
diff --git a/testing/openvcp/APKBUILD b/testing/openvcp/APKBUILD
index 2afdc16959..919ef68502 100644
--- a/testing/openvcp/APKBUILD
+++ b/testing/openvcp/APKBUILD
@@ -4,7 +4,7 @@ pkgname=openvcp
4_pkgname=openvcpd 4_pkgname=openvcpd
5pkgver=0.5 5pkgver=0.5
6_pkgver=0.5rc3 6_pkgver=0.5rc3
7pkgrel=4 7pkgrel=5
8pkgdesc="Control Panel for VServer instances" 8pkgdesc="Control Panel for VServer instances"
9url="http://www.openvcp.org" 9url="http://www.openvcp.org"
10arch="all" 10arch="all"
@@ -45,5 +45,5 @@ package() {
45} 45}
46 46
47md5sums="9c65d706133ea48553c90236997f1b8b openvcpd-0.5rc3.tar.gz 47md5sums="9c65d706133ea48553c90236997f1b8b openvcpd-0.5rc3.tar.gz
48bf034b4507f79f635596f1c78f5f7e3f system-libiptc.patch 48107345e8fc8ddaa2cf06dbb94fe13a47 system-libiptc.patch
491c3e0df6937b2a73b49850a81de15365 openvcp.initd" 491c3e0df6937b2a73b49850a81de15365 openvcp.initd"
diff --git a/testing/openvcp/system-libiptc.patch b/testing/openvcp/system-libiptc.patch
index cfbe7296ea..961805fb55 100644
--- a/testing/openvcp/system-libiptc.patch
+++ b/testing/openvcp/system-libiptc.patch
@@ -5,7 +5,7 @@
5 CFLAGS=@CFLAGS@ @DEFS@ -DOPENVCP_CONFIG=\"$(sysconfdir)/openvcpd.conf\" -DOPENVCP_DATA=\"$(datadir)/openvcpd\" -Ilib/ -Isrc/ -rdynamic -DREVISION=\"$(REV)\" `python-config --cflags` 5 CFLAGS=@CFLAGS@ @DEFS@ -DOPENVCP_CONFIG=\"$(sysconfdir)/openvcpd.conf\" -DOPENVCP_DATA=\"$(datadir)/openvcpd\" -Ilib/ -Isrc/ -rdynamic -DREVISION=\"$(REV)\" `python-config --cflags`
6 LDFLAGS=@LDFLAGS@ 6 LDFLAGS=@LDFLAGS@
7-LIBS=@LIBS@ `python-config --ldflags` 7-LIBS=@LIBS@ `python-config --ldflags`
8+LIBS=@LIBS@ `python-config --ldflags` -liptc 8+LIBS=@LIBS@ `python-config --ldflags` -liptc -lip4tc
9 9
10-OBJECTS = lib/libiptc/libip6tc.o lib/libiptc/libip4tc.o src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o 10-OBJECTS = lib/libiptc/libip6tc.o lib/libiptc/libip4tc.o src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o
11+OBJECTS = src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o 11+OBJECTS = src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o
diff --git a/testing/openxcap/APKBUILD b/testing/openxcap/APKBUILD
index 4ee40c4019..dd50b55b7f 100644
--- a/testing/openxcap/APKBUILD
+++ b/testing/openxcap/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Francesco Colista <francesco.colista@gmail.com> 2# Maintainer: Francesco Colista <francesco.colista@gmail.com>
3pkgname=openxcap 3pkgname=openxcap
4pkgver=2.0.0 4pkgver=2.0.0
5pkgrel=1 5pkgrel=2
6pkgdesc="Open source fully featured XCAP server " 6pkgdesc="Open source fully featured XCAP server "
7url="http://openxcap.org" 7url="http://openxcap.org"
8pkgusers="openxcap" 8pkgusers="openxcap"
diff --git a/testing/pdns/APKBUILD b/testing/pdns/APKBUILD
index 482a57b312..04dfb62bb2 100644
--- a/testing/pdns/APKBUILD
+++ b/testing/pdns/APKBUILD
@@ -4,7 +4,7 @@ pkgname=pdns
4pkgver=3.0 4pkgver=3.0
5_extver=rc1 5_extver=rc1
6_realver=$pkgver-$_extver 6_realver=$pkgver-$_extver
7pkgrel=0 7pkgrel=2
8pkgdesc="PowerDNS Authoritative Server" 8pkgdesc="PowerDNS Authoritative Server"
9url="http://www.powerdns.com/" 9url="http://www.powerdns.com/"
10arch="all" 10arch="all"
@@ -61,6 +61,8 @@ build() {
61package() { 61package() {
62 cd "$_builddir" 62 cd "$_builddir"
63 make DESTDIR="$pkgdir" install || return 1 63 make DESTDIR="$pkgdir" install || return 1
64 rm "$pkgdir"/usr/lib/pdns/*.la || return 1
65
64 66
65 install -m755 -D "$srcdir"/$pkgname.initd \ 67 install -m755 -D "$srcdir"/$pkgname.initd \
66 "$pkgdir"/etc/init.d/$pkgname || return 1 68 "$pkgdir"/etc/init.d/$pkgname || return 1
@@ -102,11 +104,9 @@ _mv_backend() {
102 mkdir -p "$subpkgdir"/usr/lib/pdns || return 1 104 mkdir -p "$subpkgdir"/usr/lib/pdns || return 1
103 mv "$pkgdir"/usr/lib/pdns/lib${backend}backend.so \ 105 mv "$pkgdir"/usr/lib/pdns/lib${backend}backend.so \
104 "$subpkgdir"/usr/lib/pdns/ || return 1 106 "$subpkgdir"/usr/lib/pdns/ || return 1
105 mv "$pkgdir"/usr/lib/pdns/lib${backend}backend.la \
106 "$subpkgdir"/usr/lib/pdns/ || return 1
107} 107}
108 108
109md5sums="99a457688dcc246faa43dfb64c65c424 pdns-3.0-rc1.tar.gz 109md5sums="99a457688dcc246faa43dfb64c65c424 pdns-3.0-rc1.tar.gz
110fd4d14c30bae793072ba7f3fa6cca80e 0010-disable-execinfo.patch 110fd4d14c30bae793072ba7f3fa6cca80e 0010-disable-execinfo.patch
1113c4789e9a7330579d1882344bc10b27c pdns.initd 111db146742b8f5bd91494690ee01f29862 pdns.initd
112351bac7f784a1a40e768466d9e6f1a79 pdns.conf" 112351bac7f784a1a40e768466d9e6f1a79 pdns.conf"
diff --git a/testing/pdns/pdns.initd b/testing/pdns/pdns.initd
index 593d56347b..25d17ced80 100644
--- a/testing/pdns/pdns.initd
+++ b/testing/pdns/pdns.initd
@@ -6,7 +6,9 @@
6name=pdns 6name=pdns
7daemon=/usr/sbin/pdns_server 7daemon=/usr/sbin/pdns_server
8pdns_control=/usr/bin/pdns_control 8pdns_control=/usr/bin/pdns_control
9opts="reload monitor dump" 9
10extra_started_commands="dump reload"
11extra_commands="monitor"
10 12
11PDNS_INSTANCE="${SVCNAME#pdns[.-]}" 13PDNS_INSTANCE="${SVCNAME#pdns[.-]}"
12PDNS_CONFIG="" 14PDNS_CONFIG=""
diff --git a/testing/perl-net-async-http/APKBUILD b/testing/perl-net-async-http/APKBUILD
new file mode 100644
index 0000000000..bc2d2ec3ed
--- /dev/null
+++ b/testing/perl-net-async-http/APKBUILD
@@ -0,0 +1,39 @@
1# Automatically generated by apkbuild-cpan, template 1
2# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
4pkgname=perl-net-async-http
5_pkgreal=Net-Async-HTTP
6pkgver=0.16
7pkgrel=0
8pkgdesc="use HTTP with C<IO::Async>"
9url="http://search.cpan.org/dist/Net-Async-HTTP/"
10arch="noarch"
11license="GPL PerlArtistic"
12cpandepends="perl-uri perl-io-async perl-http-message"
13cpanmakedepends="perl-http-cookies perl-test-identity perl-io-async "
14depends="$cpandepends"
15makedepends="perl-dev $cpanmakedepends"
16subpackages="$pkgname-doc"
17source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
18
19_builddir="$srcdir/$_pkgreal-$pkgver"
20
21prepare() {
22 cd "$_builddir"
23 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
24 perl Build.PL installdirs=vendor || return 1
25}
26
27build() {
28 cd "$_builddir"
29 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
30 ./Build && ./Build test
31}
32
33package() {
34 cd "$_builddir"
35 ./Build install destdir="$pkgdir" || return 1
36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
37}
38
39md5sums="d1b430e4a04452368d61b8aa4bd5d2c0 Net-Async-HTTP-0.16.tar.gz"
diff --git a/testing/perl-parser-mgc/APKBUILD b/testing/perl-parser-mgc/APKBUILD
new file mode 100644
index 0000000000..5504d52203
--- /dev/null
+++ b/testing/perl-parser-mgc/APKBUILD
@@ -0,0 +1,39 @@
1# Automatically generated by apkbuild-cpan, template 1
2# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
4pkgname=perl-parser-mgc
5_pkgreal=Parser-MGC
6pkgver=0.10
7pkgrel=0
8pkgdesc="build simple recursive-descent parsers"
9url="http://search.cpan.org/dist/Parser-MGC/"
10arch="noarch"
11license="GPL PerlArtistic"
12cpandepends="perl-file-slurp"
13cpanmakedepends=" "
14depends="$cpandepends"
15makedepends="perl-dev $cpanmakedepends"
16subpackages="$pkgname-doc"
17source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
18
19_builddir="$srcdir/$_pkgreal-$pkgver"
20
21prepare() {
22 cd "$_builddir"
23 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
24 perl Build.PL installdirs=vendor || return 1
25}
26
27build() {
28 cd "$_builddir"
29 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
30 ./Build && ./Build test
31}
32
33package() {
34 cd "$_builddir"
35 ./Build install destdir="$pkgdir" || return 1
36 find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
37}
38
39md5sums="a0bfd2b152bbcf59e08fa9892ad4a960 Parser-MGC-0.10.tar.gz"
diff --git a/testing/perl-strictures/APKBUILD b/testing/perl-strictures/APKBUILD
index 4e4b3a449a..dfc692c23c 100644
--- a/testing/perl-strictures/APKBUILD
+++ b/testing/perl-strictures/APKBUILD
@@ -1,6 +1,6 @@
1# Automatically generated by apkbuild-cpan, template 1 1# Automatically generated by apkbuild-cpan, template 1
2# Contributor: Francesco Colista <francesco.colista@gmail.com> 2# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
3# Maintainer: Francesco Colista <francesco.colista@gmail.com> 3# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
4pkgname=perl-strictures 4pkgname=perl-strictures
5_pkgreal=strictures 5_pkgreal=strictures
6pkgver=1.002002 6pkgver=1.002002
@@ -10,7 +10,7 @@ url="http://search.cpan.org/dist/strictures/"
10arch="noarch" 10arch="noarch"
11license="GPL PerlArtistic" 11license="GPL PerlArtistic"
12cpandepends="" 12cpandepends=""
13cpanmakedepends="" 13cpanmakedepends=" "
14depends="$cpandepends" 14depends="$cpandepends"
15makedepends="perl-dev $cpanmakedepends" 15makedepends="perl-dev $cpanmakedepends"
16subpackages="$pkgname-doc" 16subpackages="$pkgname-doc"
@@ -20,11 +20,13 @@ _builddir="$srcdir/$_pkgreal-$pkgver"
20 20
21prepare() { 21prepare() {
22 cd "$_builddir" 22 cd "$_builddir"
23 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
23 PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor 24 PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
24} 25}
25 26
26build() { 27build() {
27 cd "$_builddir" 28 cd "$_builddir"
29 export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
28 make && make test 30 make && make test
29} 31}
30 32
diff --git a/testing/poppler-qt4/APKBUILD b/testing/poppler-qt4/APKBUILD
index 804ef42ebd..9f7ec8559a 100644
--- a/testing/poppler-qt4/APKBUILD
+++ b/testing/poppler-qt4/APKBUILD
@@ -3,7 +3,7 @@
3# this aport only includes glib/gtk support in order to break the 3# this aport only includes glib/gtk support in order to break the
4# circular make dependency: gtk <- cups <- poppler <- gtk 4# circular make dependency: gtk <- cups <- poppler <- gtk
5 5
6_ver=0.18.3 6_ver=0.18.4
7# get the pkgver from poppler 7# get the pkgver from poppler
8if [ -r ../../main/poppler/APKBUILD ]; then 8if [ -r ../../main/poppler/APKBUILD ]; then
9 . ../../main/poppler/APKBUILD 9 . ../../main/poppler/APKBUILD
@@ -14,8 +14,8 @@ fi
14 14
15pkgname=poppler-qt4 15pkgname=poppler-qt4
16_realname=poppler 16_realname=poppler
17pkgver=$pkgver 17pkgver=$_ver
18pkgrel=1 18pkgrel=0
19pkgdesc="PDF rendering library based on xpdf 3.0" 19pkgdesc="PDF rendering library based on xpdf 3.0"
20url="http://poppler.freedesktop.org/" 20url="http://poppler.freedesktop.org/"
21arch="all" 21arch="all"
@@ -59,4 +59,4 @@ package() {
59 rm "$pkgdir"/usr/lib/*.la || return 1 59 rm "$pkgdir"/usr/lib/*.la || return 1
60} 60}
61 61
62md5sums="d70d2d63d8acd29c97185f7e5f09c9b4 poppler-0.18.3.tar.gz" 62md5sums="12658f3308597e57f3faff538cc73baf poppler-0.18.4.tar.gz"
diff --git a/testing/py-configobj/APKBUILD b/testing/py-configobj/APKBUILD
new file mode 100644
index 0000000000..6e8f0bcbc1
--- /dev/null
+++ b/testing/py-configobj/APKBUILD
@@ -0,0 +1,56 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=py-configobj
3_realname=configobj
4pkgver=0_hg78
5_ver=0_hg
6pkgrel=1
7pkgdesc="Python library for reading and writing of configuration files (ini)"
8url="http://code.google.com/p/configobj/"
9arch="noarch"
10license="GPL"
11depends="python"
12depends_dev="mercurial"
13makedepends="$depends_dev"
14install=
15subpackages=
16source="http://dev.alpinelinux.org/archive/configobj/$_realname-$pkgver.tar.gz"
17
18_mercurial_url="https://code.google.com/p/configobj/"
19
20_builddir="$srcdir"/$_realname
21
22snapshot() {
23 mkdir -p "$srcdir"
24 cd "${SRCDEST:-$srcdir}"
25 if ! [ -d $_realname ]; then
26 hg clone $_mercurial_url || return 1
27 cd $_realname
28 _mercurial_revision=$(cd ${SRCDEST:-$srcdir}/$_realname && hg tip | grep changeset | egrep -o '[0-9]+:' | tr -d ":")
29 _mercurial_commit=$(hg identify ${SRCDEST:-$srcdir}/$_realname | awk '{ print $1 }')
30 else
31 cd $_realname
32 hg pull
33 _mercurial_revision=$(cd ${SRCDEST:-$srcdir}/$_realname && hg tip | grep changeset | egrep -o '[0-9]+:' | tr -d ":")
34 _mercurial_commit=$(hg identify ${SRCDEST:-$srcdir}/$_realname | awk '{ print $1 }')
35 fi
36
37 hg archive --prefix=$_realname/ "$SRCDEST"/${_realname}-${_ver}${_mercurial_revision}.tar.gz
38 scp "$SRCDEST"/${_realname}-${_ver}${_mercurial_revision}.tar.gz dev.alpinelinux.org:/archive/$_realname/
39}
40
41prepare() {
42 cd "$_builddir"
43 return 0
44}
45
46build() {
47 cd "$_builddir"
48 return 0
49}
50
51package() {
52 cd "$_builddir"
53 python setup.py install --root="$pkgdir"
54}
55
56md5sums="5a796359bffe586dff2f86d3a182f693 configobj-0_hg78.tar.gz"
diff --git a/testing/py-configshell/APKBUILD b/testing/py-configshell/APKBUILD
new file mode 100644
index 0000000000..299357e2ee
--- /dev/null
+++ b/testing/py-configshell/APKBUILD
@@ -0,0 +1,60 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=py-configshell
3_realname=configshell
4pkgver=1.1_p4
5_ver=${pkgver/_rc/rc}
6_ver=${_ver/_p/.fb}
7pkgrel=2
8pkgdesc="Python library that provides a framework for building simple but nice CLI-based applications"
9url="https://github.com/agrover/configshell-fb"
10arch="noarch"
11license="AGPLv3"
12depends="python"
13depends_dev="python-dev py-simpleparse py-urwid"
14makedepends="$depends_dev"
15install=""
16subpackages=
17source="http://dev.alpinelinux.org/archive/configshell/$_realname-$_ver.tar.gz"
18
19_giturl="https://github.com/agrover/configshell-fb"
20_gittag=v$_ver
21
22_builddir="$srcdir"/$_realname
23
24snapshot() {
25 mkdir -p "$srcdir"
26 cd "${SRCDEST:-$srcdir}"
27 if ! [ -d $_realname-fb.git ]; then
28 git clone --bare $_giturl || return 1
29 cd $_realname-fb.git
30 else
31 cd $_realname-fb.git
32 git fetch || return 1
33 fi
34
35 git archive --prefix=$_realname/ -o "$SRCDEST"/$_realname-$_ver.tar.gz $_gittag
36 scp "$SRCDEST"/$_realname-$_ver.tar.gz dev.alpinelinux.org:/archive/$_realname/
37}
38
39
40prepare() {
41 local i
42 cd "$_builddir"
43 for i in $source; do
44 case $i in
45 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
46 esac
47 done
48}
49
50build() {
51 cd "$_builddir"
52 python setup.py build
53}
54
55package() {
56 cd "$_builddir"
57 python setup.py install --skip-build --root="$pkgdir"
58}
59
60md5sums="69abc1134f16a14d481518a5378cf1b1 configshell-1.1.fb4.tar.gz"
diff --git a/testing/py-ethtool/APKBUILD b/testing/py-ethtool/APKBUILD
new file mode 100644
index 0000000000..de58b1ea59
--- /dev/null
+++ b/testing/py-ethtool/APKBUILD
@@ -0,0 +1,44 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=py-ethtool
3_realname=python-ethtool
4pkgver=0.7
5pkgrel=0
6pkgdesc="Python library for the ethtool kernel interface"
7url="http://www.ohloh.net/p/python-ethtool"
8arch="all"
9license="GPL"
10depends=
11depends_dev="libnl-dev pkgconfig python-dev"
12makedepends="$depends_dev"
13install=
14subpackages=
15source="http://dsommers.fedorapeople.org/python-ethtool/$_realname-$pkgver.tar.bz2
16 python-ethtool-libnl-1.0-support.patch"
17
18
19_builddir="$srcdir"/$_realname-$pkgver
20
21prepare() {
22 cd "$_builddir"
23 local i
24 cd "$_builddir"
25 for i in $source; do
26 case $i in
27 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
28 esac
29 done
30}
31
32build() {
33 cd "$_builddir"
34 return 0
35}
36
37package() {
38 cd "$_builddir"
39 make DESTDIR="$pkgdir" install
40 # python setup.py install --root="$pkgdir"
41}
42
43md5sums="2d13e2412948344b8375f5af4ced1c20 python-ethtool-0.7.tar.bz2
44188f260534eb838193e0e8c249b6a33c python-ethtool-libnl-1.0-support.patch"
diff --git a/testing/py-ethtool/python-ethtool-libnl-1.0-support.patch b/testing/py-ethtool/python-ethtool-libnl-1.0-support.patch
new file mode 100644
index 0000000000..43c53dba4e
--- /dev/null
+++ b/testing/py-ethtool/python-ethtool-libnl-1.0-support.patch
@@ -0,0 +1,71 @@
1diff --git a/python-ethtool/etherinfo.c b/python-ethtool/etherinfo.c
2index 3d2072b..23f03c6 100644
3--- a/python-ethtool/etherinfo.c
4+++ b/python-ethtool/etherinfo.c
5@@ -30,6 +30,52 @@
6 #include "etherinfo_struct.h"
7 #include "etherinfo.h"
8
9+#ifdef LIBNL_1_0
10+#define NLHDR_COMMON \
11+ int ce_refcnt; \
12+ struct nl_object_ops * ce_ops; \
13+ struct nl_cache * ce_cache; \
14+ struct nl_list_head ce_list; \
15+ int ce_msgtype; \
16+ int ce_flags; \
17+ uint32_t ce_mask;
18+
19+struct nl_cache
20+{
21+ struct nl_list_head c_items;
22+ int c_nitems;
23+ int c_iarg1;
24+ int c_iarg2;
25+ struct nl_cache_ops * c_ops;
26+};
27+
28+struct nl_object
29+{
30+ NLHDR_COMMON
31+};
32+
33+void nl_cache_free(struct nl_cache *cache)
34+{
35+ struct nl_object *obj, *tmp;
36+
37+ if( !cache )
38+ return;
39+
40+ nl_list_for_each_entry_safe(obj, tmp, &cache->c_items, ce_list) {
41+ struct nl_cache *cache = obj->ce_cache;
42+ if( !cache ) {
43+ break;
44+ }
45+
46+ nl_list_del(&obj->ce_list);
47+ obj->ce_cache = NULL;
48+ nl_object_put(obj);
49+ cache->c_nitems--;
50+ }
51+ free(cache);
52+}
53+#endif
54+
55 /*
56 *
57 * Internal functions for working with struct etherinfo
58diff --git a/setup.py b/setup.py
59index bde04dc..9adff64 100644
60--- a/setup.py
61+++ b/setup.py
62@@ -67,7 +67,8 @@ setup(name='ethtool',
63 include_dirs = libnl['include'],
64 library_dirs = libnl['libdirs'],
65 libraries = libnl['libs'],
66- define_macros = [('VERSION', '"%s"' % version)]
67+ define_macros = [('VERSION', '"%s"' % version),
68+ ('LIBNL_1_0', None)]
69 )
70 ]
71 )
diff --git a/testing/py-ipaddr/APKBUILD b/testing/py-ipaddr/APKBUILD
new file mode 100644
index 0000000000..886a645218
--- /dev/null
+++ b/testing/py-ipaddr/APKBUILD
@@ -0,0 +1,35 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=py-ipaddr
3_realname=ipaddr
4pkgver=2.1.10
5pkgrel=0
6pkgdesc="Python IP address manipulation library"
7url="http://code.google.com/p/ipaddr-py"
8arch="noarch"
9license="GPL"
10depends="python"
11depends_dev=
12makedepends="$depends_dev"
13install=
14subpackages=
15source="http://ipaddr-py.googlecode.com/files/$_realname-$pkgver.tar.gz"
16
17
18_builddir="$srcdir"/$_realname-$pkgver
19
20prepare() {
21 cd "$_builddir"
22 return 0
23}
24
25build() {
26 cd "$_builddir"
27 return 0
28}
29
30package() {
31 cd "$_builddir"
32 python setup.py install --root="$pkgdir"
33}
34
35md5sums="f315ac829218e9735c5d772d59a3e0e7 ipaddr-2.1.10.tar.gz"
diff --git a/testing/py-rtslib/APKBUILD b/testing/py-rtslib/APKBUILD
new file mode 100644
index 0000000000..97ab4238fb
--- /dev/null
+++ b/testing/py-rtslib/APKBUILD
@@ -0,0 +1,61 @@
1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=py-rtslib
4_realname=rtslib
5pkgver=2.1_p9
6_ver=${pkgver/_rc/rc}
7_ver=${_ver/_p/.fb}
8pkgrel=1
9pkgdesc="Python library that provides an object API to RisingTide Systems generic SCSI Target"
10url="https://github.com/agrover/rtslib-fb"
11arch="noarch"
12license="AGPLv3"
13depends="python"
14depends_dev="py-configobj py-ethtool py-ipaddr"
15makedepends="$depends_dev"
16install=""
17subpackages=
18source="http://dev.alpinelinux.org/archive/rtslib/$_realname-$_ver.tar.gz"
19
20_giturl="https://github.com/agrover/rtslib-fb.git"
21_gittag=v$_ver
22
23_builddir="$srcdir"/$_realname
24
25snapshot() {
26 mkdir -p "$srcdir"
27 cd "${SRCDEST:-$srcdir}"
28 if ! [ -d $_realname-fb.git ]; then
29 git clone --bare $_giturl || return 1
30 cd $_realname-fb.git
31 else
32 cd $_realname-fb.git
33 git fetch || return 1
34 fi
35
36 git archive --prefix=$_realname/ -o "$SRCDEST"/$_realname-$_ver.tar.gz $_gittag
37 scp "$SRCDEST"/$_realname-$_ver.tar.gz dev.alpinelinux.org:/archive/$_realname
38}
39
40
41prepare() {
42 local i
43 cd "$_builddir"
44 for i in $source; do
45 case $i in
46 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
47 esac
48 done
49}
50
51build() {
52 cd "$_builddir"
53 return 0
54}
55
56package() {
57 cd "$_builddir"
58 python setup.py install --root="$pkgdir"
59}
60
61md5sums="3c7632404c4a39d8517f0144ffbd32c6 rtslib-2.1.fb9.tar.gz"
diff --git a/testing/py-simpleparse/APKBUILD b/testing/py-simpleparse/APKBUILD
new file mode 100644
index 0000000000..da06bc6879
--- /dev/null
+++ b/testing/py-simpleparse/APKBUILD
@@ -0,0 +1,37 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=py-simpleparse
3_realname=SimpleParse
4pkgver=2.1.1
5pkgrel=1
6pkgdesc="Python library providing simple and fast parser generator"
7url="http://launchpad.net/simpleparse"
8arch="all"
9license="BSD"
10depends="python"
11depends_dev="python-dev"
12makedepends="$depends_dev"
13install=
14subpackages=
15source="http://pypi.python.org/packages/source/S/$_realname/$_realname-$pkgver.zip
16 py-simpleparse-eols.patch"
17
18
19_builddir="$srcdir"/$_realname-$pkgver
20
21prepare() {
22 cd "$_builddir"
23 return 0
24}
25
26build() {
27 cd "$_builddir"
28 python setup.py build
29}
30
31package() {
32 cd "$_builddir"
33 python setup.py install --skip-build --root="$pkgdir"
34}
35
36md5sums="e58600b0db786664855cbd49dbc0e4e5 SimpleParse-2.1.1.zip
37b980d7400e2d5a97769330c5c2d927b3 py-simpleparse-eols.patch"
diff --git a/testing/py-simpleparse/py-simpleparse-eols.patch b/testing/py-simpleparse/py-simpleparse-eols.patch
new file mode 100644
index 0000000000..9fc1362243
--- /dev/null
+++ b/testing/py-simpleparse/py-simpleparse-eols.patch
@@ -0,0 +1,33 @@
1=== modified file 'examples/__init__.py'
2--- examples/__init__.py 2008-11-09 22:58:29 +0000
3+++ examples/__init__.py 2011-08-17 18:31:28 +0000
4@@ -4,4 +4,4 @@
5 well as a demonstration of using "pre-built"
6 parser nodes (particularly one based on the re
7 module).
8-'''
9\ No newline at end of file
10+'''
11
12=== modified file 'examples/simpleexample2_2.py'
13--- examples/simpleexample2_2.py 2008-11-09 22:58:29 +0000
14+++ examples/simpleexample2_2.py 2011-08-17 20:06:58 +0000
15@@ -34,4 +34,4 @@
16 for testData in testEquality:
17 success, children, nextcharacter = parser.parse( testData, production=production)
18 assert success and nextcharacter==len(testData), """Wasn't able to parse %s as a %s (%s chars parsed of %s), returned value was %s"""%( repr(testData), production, nextcharacter, len(testData), (success, children, nextcharacter))
19-
20\ No newline at end of file
21+
22
23=== modified file 'examples/vrml.py'
24--- examples/vrml.py 2008-11-09 22:58:29 +0000
25+++ examples/vrml.py 2011-08-17 20:07:12 +0000
26@@ -57,4 +57,4 @@
27 success, tags, next = parser.parse( data)
28 d = time.time()-t
29 print "parsed %s characters of %s in %s seconds (%scps)"%( next, len(data), d, next/(d or 0.000000001) )
30-
31\ No newline at end of file
32+
33
diff --git a/testing/rsyslog/APKBUILD b/testing/rsyslog/APKBUILD
index d0e0deb214..e985abbb82 100644
--- a/testing/rsyslog/APKBUILD
+++ b/testing/rsyslog/APKBUILD
@@ -2,12 +2,13 @@
2# Maintainer: cbanta@gmail.com 2# Maintainer: cbanta@gmail.com
3pkgname=rsyslog 3pkgname=rsyslog
4pkgver=5.8.7 4pkgver=5.8.7
5pkgrel=0 5pkgrel=1
6pkgdesc="Enhanced multi-threaded syslogd with database support and more." 6pkgdesc="Enhanced multi-threaded syslogd with database support and more."
7url="http://www.rsyslog.com/" 7url="http://www.rsyslog.com/"
8arch="all" 8arch="all"
9license="GPLv3 LGPL-3" 9license="GPLv3 LGPL-3"
10makedepends="zlib-dev gnutls-dev mysql-dev postgresql-dev net-snmp-dev libnet-dev" 10makedepends="zlib-dev gnutls-dev mysql-dev postgresql-dev net-snmp-dev
11 libnet-dev libgcrypt-dev"
11subpackages="$pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-tls $pkgname-snmp" 12subpackages="$pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-tls $pkgname-snmp"
12source="http://www.rsyslog.com/files/download/$pkgname/$pkgname-$pkgver.tar.gz 13source="http://www.rsyslog.com/files/download/$pkgname/$pkgname-$pkgver.tar.gz
13 $pkgname.initd 14 $pkgname.initd
diff --git a/testing/targetcli/APKBUILD b/testing/targetcli/APKBUILD
new file mode 100644
index 0000000000..5d5285a848
--- /dev/null
+++ b/testing/targetcli/APKBUILD
@@ -0,0 +1,63 @@
1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=targetcli
4pkgver=2.0_rc1_p7
5_ver=${pkgver/_rc/rc}
6_ver=${_ver/_p/.fb}
7pkgrel=1
8pkgdesc="An administration shell for storage targets"
9url="https://github.com/agrover/targetcli-fb"
10arch="noarch"
11license="AGPLv3"
12depends="python py-configobj py-configshell py-ethtool py-ipaddr py-rtslib
13 py-simpleparse"
14depends_dev=
15makedepends="$depends_dev"
16install=""
17subpackages="$pkgname-doc"
18source="http://dev.alpinelinux.org/archive/targetcli/$pkgname-$_ver.tar.gz"
19
20_giturl="git://github.com/agrover/targetcli-fb.git"
21_gittag=v$_ver
22
23_builddir="$srcdir"/$pkgname
24
25snapshot() {
26 mkdir -p "$srcdir"
27 cd "${SRCDEST:-$srcdir}"
28 if ! [ -d targetcli-fb.git ]; then
29 git clone --bare $_giturl || return 1
30 cd targetcli-fb.git
31 else
32 cd targetcli-fb.git
33 git fetch || return 1
34 fi
35
36 git archive --prefix=$pkgname/ -o "$SRCDEST"/$pkgname-$_ver.tar.gz $_gittag
37 scp "$SRCDEST"/$pkgname-$_ver.tar.gz dev.alpinelinux.org:/archive/$pkgname/
38}
39
40
41prepare() {
42 local i
43 cd "$_builddir"
44 for i in $source; do
45 case $i in
46 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
47 esac
48 done
49}
50
51build() {
52 cd "$_builddir"
53 python setup.py build
54 gzip targetcli.8
55}
56
57package() {
58 cd "$_builddir"
59 python setup.py install --root="$pkgdir"
60 install -D -m644 targetcli.8.gz "$pkgdir"/usr/share/man/man8/targetcli.8.gz
61}
62
63md5sums="70952d94edd866d071ab208d95acde48 targetcli-2.0rc1.fb7.tar.gz"
diff --git a/testing/usb-modeswitch/APKBUILD b/testing/usb-modeswitch/APKBUILD
index b237e86c59..e5e86a513c 100644
--- a/testing/usb-modeswitch/APKBUILD
+++ b/testing/usb-modeswitch/APKBUILD
@@ -1,35 +1,30 @@
1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> 1# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
2pkgname=usb-modeswitch 2pkgname=usb-modeswitch
3pkgver=1.1.7 3pkgver=1.2.3
4pkgrel=2 4pkgrel=0
5_pkgdata=20110227 5_pkgdata=20120120
6pkgdesc="A mode switching tool for controlling flip flop (multiple device) USB gear" 6pkgdesc="A mode switching tool for controlling flip flop (multiple device) USB gear"
7url="http://www.draisberghof.de/usb_modeswitch/" 7url="http://www.draisberghof.de/usb_modeswitch/"
8arch="all" 8arch="all"
9license="GPL" 9license="GPL"
10depends="tcl" 10depends="tcl"
11makedepends="libusb-compat-dev" 11makedepends="libusb-compat-dev coreutils"
12install= 12install=
13subpackages="$pkgname-doc" 13subpackages="$pkgname-doc"
14source="http://www.draisberghof.de/usb_modeswitch/${pkgname}-${pkgver}.tar.bz2 14source="http://www.draisberghof.de/usb_modeswitch/${pkgname}-${pkgver}.tar.bz2
15 http://www.draisberghof.de/usb_modeswitch/${pkgname}-data-${_pkgdata}.tar.bz2 15 http://www.draisberghof.de/usb_modeswitch/${pkgname}-data-${_pkgdata}.tar.bz2
16 usb_modeswitch.setup 16 usb_modeswitch.setup"
17 Makefile.patch"
18 17
19_builddir="$srcdir"/$pkgname-$pkgver 18_builddir="$srcdir"/$pkgname-$pkgver
20 19
21prepare() { 20prepare() {
22 cd "$_builddir" 21 cd "$_builddir"
23 mkdir -p $pkgdir/lib/udev/usb_modeswitch || return 1
24 mkdir -p $pkgdir/etc || return 1
25 mkdir -p $pkgdir/usr/share/man/man1 || return 1
26 make clean || return 1 22 make clean || return 1
27 sed -i -e 's/--mode=/-m/' Makefile || return 1 23 sed -i -e 's/--mode=/-m/' Makefile || return 1
28 24
29 cd ../${pkgname}-data-${_pkgdata} 25 cd ../${pkgname}-data-${_pkgdata}
30# sed -i -e 's%install -m644 -t $(PREFIX)/share/usb_modeswitch ./usb_modeswitch.d/*%cp -R $(PREFIX)/share/usb_modeswitch/* ./usb_modeswitch.d/%' Makefile || return 1 26# sed -i -e 's%install -m644 -t $(PREFIX)/share/usb_modeswitch ./usb_modeswitch.d/*%cp -R $(PREFIX)/share/usb_modeswitch/* ./usb_modeswitch.d/%' Makefile || return 1
31 sed -i -e 's/--mode=/-m/' Makefile || return 1 27 sed -i -e 's/--mode=/-m/' Makefile || return 1
32 patch -p1 < ../Makefile.patch
33} 28}
34 29
35build() { 30build() {
@@ -54,7 +49,6 @@ package() {
54 cp $srcdir/usb_modeswitch.setup $pkgdir/etc/ || return 1 49 cp $srcdir/usb_modeswitch.setup $pkgdir/etc/ || return 1
55} 50}
56 51
57md5sums="b75e42b7b2d30e9d4cbd5c159f925247 usb-modeswitch-1.1.7.tar.bz2 52md5sums="9b29e8b0d93d7604a9e5efc4696d37a3 usb-modeswitch-1.2.3.tar.bz2
582f5e5bfa21a97b705a22f95bec367793 usb-modeswitch-data-20110227.tar.bz2 53c899cc9c71bb35f3ec600b7cd1455c65 usb-modeswitch-data-20120120.tar.bz2
599a25756669937ac86774bb55733f09cd usb_modeswitch.setup 549a25756669937ac86774bb55733f09cd usb_modeswitch.setup"
6084de2517de202c22801b678f49a07e37 Makefile.patch"
diff --git a/testing/varnish/APKBUILD b/testing/varnish/APKBUILD
index 97e1cfcb69..c6b111cf6c 100644
--- a/testing/varnish/APKBUILD
+++ b/testing/varnish/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=varnish 3pkgname=varnish
4pkgver=3.0.2 4pkgver=3.0.2
5pkgrel=0 5pkgrel=1
6pkgdesc="High-performance HTTP accelerator" 6pkgdesc="High-performance HTTP accelerator"
7url="http://www.varnish-cache.org/" 7url="http://www.varnish-cache.org/"
8arch="all" 8arch="all"
diff --git a/testing/vlc/APKBUILD b/testing/vlc/APKBUILD
deleted file mode 100644
index 50e6d67972..0000000000
--- a/testing/vlc/APKBUILD
+++ /dev/null
@@ -1,216 +0,0 @@
1# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
2# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
3pkgname=vlc
4pkgver=2.0.0_rc1
5_pkgver=${pkgver/_/-}
6pkgrel=4
7pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
8pkgusers="vlc"
9pkggroups="vlc"
10url="http://www.videolan.org/vlc/"
11arch="all"
12license="GPL-2"
13triggers="$pkgname.trigger=/usr/lib/vlc/plugins"
14subpackages="$pkgname-dev $pkgname-doc $pkgname-xorg $pkgname-daemon"
15#depends="fluidsynth zvbi lirc-utils libdca
16# libproxy libcddb smbclient
17# libmpcdec libmodplug"
18depends="ttf-dejavu"
19makedepends="
20 a52dec-dev
21 alsa-lib-dev
22 automake
23 autoconf
24 avahi-dev
25 libtool
26 dbus-dev
27 faad2-dev
28 ffmpeg-dev
29 flac-dev
30 freetype-dev
31 fribidi-dev
32 gtk+-dev
33 libbluray-dev>=0.2.1 libbluray-dev<20100000
34 libdc1394-dev>=2.1.0
35 libdvbpsi-dev
36 libdvdnav-dev
37 libdvdread-dev
38 libgcrypt-dev
39 libice-dev
40 libiconv-dev
41 libmad-dev
42 libmatroska-dev
43 libmpeg2-dev
44 libnotify-dev
45 libogg-dev
46 libraw1394-dev>=2.0.1
47 libshout-dev
48 libsm-dev
49 libtheora-dev
50 libvorbis-dev
51 libx11-dev
52 libxext-dev
53 libxinerama-dev
54 libxpm-dev
55 libxv-dev
56 live-media-dev>=2012.01.26
57 lua-dev
58 ncurses-dev
59 mesa-dev
60 pkgconfig
61 qt-dev
62 sdl-dev
63 speex-dev
64 sysfsutils-dev
65 taglib-dev
66 v4l-utils-dev
67 x264-dev
68 xcb-util-renderutil-dev
69 xcb-util-keysyms-dev
70 "
71source="http://download.videolan.org/pub/videolan/testing/$pkgname-$_pkgver/$pkgname-$_pkgver.tar.xz
72 uclibc-inhibit-spawn.patch
73 uclibc-no-xscreensaver.patch
74 uclibc3.patch
75 vlc.trigger
76 "
77# uclibc-libcompat.patch
78# vlc-1.1.7-disable-cache-gen.patch
79
80_builddir="$srcdir"/$pkgname-$_pkgver
81prepare() {
82 cd "$_builddir"
83 for i in $source; do
84 case $i in
85 *.patch)
86 msg "Applying $i"
87 patch -p1 -i "$srcdir"/$i || return 1
88 ;;
89 esac;
90 done
91 sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am
92 ./bootstrap
93}
94
95build ()
96{
97 cd "$_builddir"
98 sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c
99
100 # -fpermissive is needed due to zlib 1.2.6 changing
101 # void* to gzFile on gz*() functions
102 export CFLAGS="$CFLAGS -D_GNU_SOURCE"
103 export CXXFLAGS="$CXXFLAGS -fpermissive"
104
105 ./configure --prefix=/usr \
106 --disable-mmx \
107 --disable-nls \
108 --disable-optimizations \
109 --disable-rpath \
110 --enable-a52 \
111 --enable-avcodec \
112 --enable-avformat \
113 --enable-bluray \
114 --enable-dbus \
115 --enable-dbus-control \
116 --enable-dc1394 \
117 --enable-dvbpsi \
118 --enable-dvdread \
119 --enable-dvdnav \
120 --enable-faad \
121 --enable-flac \
122 --enable-httpd \
123 --enable-live555 \
124 --enable-matroska \
125 --enable-merge-ffmpeg \
126 --enable-ncurses \
127 --enable-qt4 \
128 --enable-realrtsp \
129 --enable-sdl \
130 --enable-shout \
131 --enable-skins2 \
132 --enable-speex \
133 --enable-sout \
134 --enable-taglib \
135 --enable-theora \
136 --enable-v4l2 \
137 --enable-vlm \
138 --enable-vorbis \
139 --enable-wma-fixed \
140 --enable-xvideo \
141 || return 1
142
143# --enable-dvb \
144# --enable-snapshot \
145# --enable-hal \
146# --enable-lirc \
147# --enable-pvr \
148
149 make || return 1
150}
151
152package() {
153 cd "$_builddir"
154 make DESTDIR="$pkgdir" install || return 1
155# for res in 16 32 48 128; do
156# install -D -m644 share/vlc${res}x${res}.png \
157# "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
158# done
159 # delete cache as it's autocreated by trigger
160 rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat
161 # delete unneeded mozilla and kde support files
162 rm -rf "$pkgdir"/usr/lib/mozilla
163 rm -rf "$pkgdir"/usr/share/kde4
164 find "$pkgdir" -name '*.la' -delete
165}
166
167_mv() {
168 local dir=${1%/*}
169 mkdir -p "$subpkgdir"/$dir
170 mv "$1" "$subpkgdir"/$dir/
171}
172
173xorg() {
174 pkgdesc="Video LAN X.org support"
175 depends="xdg-utils vlc>=2.0.0_rc1-r4"
176
177 # scan for elf files that directly or indirectly depends on
178 # libX* libraries
179 cd "$pkgdir"
180 for i in $(find -type f ); do
181 if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb"; then
182 echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1
183 fi
184 done
185
186 mkdir -p "$subpkgdir"/usr/bin
187 mv "$pkgdir"/usr/bin/[qs]vlc \
188 "$subpkgdir"/usr/bin
189
190 mkdir -p "$subpkgdir"/usr/share/vlc
191 mv "$pkgdir"/usr/share/applications \
192 "$pkgdir"/usr/share/icons \
193 "$subpkgdir"/usr/share/
194
195 mv "$pkgdir"/usr/share/vlc/skins2 \
196 "$subpkgdir"/usr/share/vlc
197}
198
199daemon() {
200 pkgdesc="Support for running VLC as a daemon"
201 install="vlc-daemon.pre-install"
202 arch="noarch"
203 depends="vlc>=2.0.0_rc1-r0"
204
205 mkdir -p "$subpkgdir"
206 cd "$pkgdir"
207 install -D -m755 ../../vlc.initd $subpkgdir/etc/init.d/vlc
208 install -D -m664 ../../vlc.confd $subpkgdir/etc/conf.d/vlc
209 install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc
210}
211
212md5sums="8c4bfbc5e79ff0bdfff572d53b03a92a vlc-2.0.0-rc1.tar.xz
21328349b8239fdd6987fbe0ca2c758517f uclibc-inhibit-spawn.patch
214b84c5a9121440b6a1dcf28792d783eb8 uclibc-no-xscreensaver.patch
21594f11ec8394775018222781a0c875444 uclibc3.patch
216350b30698eb784def7d19446eb1d6c81 vlc.trigger"
diff --git a/testing/vlc/uclibc-inhibit-spawn.patch b/testing/vlc/uclibc-inhibit-spawn.patch
deleted file mode 100644
index c34ebe0f7b..0000000000
--- a/testing/vlc/uclibc-inhibit-spawn.patch
+++ /dev/null
@@ -1,76 +0,0 @@
1diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c
2index 3f297c6..e16a21e 100644
3--- a/modules/misc/inhibit/xdg.c
4+++ b/modules/misc/inhibit/xdg.c
5@@ -27,7 +27,11 @@
6 #include <vlc_inhibit.h>
7 #include <assert.h>
8 #include <signal.h>
9-#include <spawn.h>
10+#if !defined(_POSIX_SPAWN)
11+# define _POSIX_SPAWN -1
12+#else
13+# include <spawn.h>
14+#endif
15 #include <sys/wait.h>
16
17 static int Open (vlc_object_t *);
18@@ -47,7 +51,9 @@ struct vlc_inhibit_sys
19 vlc_thread_t thread;
20 vlc_cond_t update, inactive;
21 vlc_mutex_t lock;
22+#if (_POSIX_SPAWN >= 0)
23 posix_spawnattr_t attr;
24+#endif
25 bool suspend, suspended;
26 };
27
28@@ -67,17 +73,19 @@ static int Open (vlc_object_t *obj)
29 vlc_mutex_init (&p_sys->lock);
30 vlc_cond_init (&p_sys->update);
31 vlc_cond_init (&p_sys->inactive);
32- posix_spawnattr_init (&p_sys->attr);
33 /* Reset signal handlers to default and clear mask in the child process */
34 {
35 sigset_t set;
36
37 sigemptyset (&set);
38- posix_spawnattr_setsigmask (&p_sys->attr, &set);
39 sigaddset (&set, SIGPIPE);
40+#if (_POSIX_SPAWN >= 0)
41+ posix_spawnattr_init (&p_sys->attr);
42+ posix_spawnattr_setsigmask (&p_sys->attr, &set);
43 posix_spawnattr_setsigdefault (&p_sys->attr, &set);
44 posix_spawnattr_setflags (&p_sys->attr, POSIX_SPAWN_SETSIGDEF
45 | POSIX_SPAWN_SETSIGMASK);
46+#endif
47 }
48 p_sys->suspend = false;
49 p_sys->suspended = false;
50@@ -106,7 +114,9 @@ static void Close (vlc_object_t *obj)
51
52 vlc_cancel (p_sys->thread);
53 vlc_join (p_sys->thread, NULL);
54+#if (_POSIX_SPAWN >= 0)
55 posix_spawnattr_destroy (&p_sys->attr);
56+#endif
57 vlc_cond_destroy (&p_sys->inactive);
58 vlc_cond_destroy (&p_sys->update);
59 vlc_mutex_destroy (&p_sys->lock);
60@@ -153,8 +163,16 @@ static void *Thread (void *data)
61 pid_t pid;
62
63 vlc_mutex_unlock (&p_sys->lock);
64+#if (_POSIX_SPAWN >= 0)
65 if (!posix_spawnp (&pid, "xdg-screensaver", NULL, &p_sys->attr,
66 argv, environ))
67+#else
68+ pid = fork();
69+ if (pid == 0) {
70+ execvp("xdg-screensaver", argv);
71+ exit(1);
72+ } else if (pid > 0)
73+#endif
74 {
75 int status;
76
diff --git a/testing/vlc/uclibc3.patch b/testing/vlc/uclibc3.patch
deleted file mode 100644
index e57d6dd5f0..0000000000
--- a/testing/vlc/uclibc3.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1--- vlc-2.0.0-rc1.orig/src/posix/linux_specific.c
2+++ vlc-2.0.0-rc1/src/posix/linux_specific.c
3@@ -83,14 +83,14 @@
4 unsigned refs;
5 } once = { VLC_STATIC_MUTEX, 0 };
6
7-#ifdef __GLIBC__
8+#if defined(__GLIBC__) && !defined(__UCLIBC__)
9 # include <gnu/libc-version.h>
10 # include <stdlib.h>
11 #endif
12
13 void system_Init (void)
14 {
15-#ifdef __GLIBC__
16+#if defined(__GLIBC__) && !defined(__UCLIBC__)
17 const char *glcv = gnu_get_libc_version ();
18
19 /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing,
20--- vlc-2.0.0-rc1.orig/src/posix/thread.c
21+++ vlc-2.0.0-rc1/src/posix/thread.c
22@@ -1165,6 +1165,16 @@
23 return vlc_atomic_swap (&timer->overruns, 0);
24 }
25
26+#if defined(HAVE_SCHED_GETAFFINITY) && !defined(CPU_COUNT)
27+static unsigned CPU_COUNT(cpu_set_t *cpu)
28+{
29+ unsigned i, count = 0;
30+ for (i = 0; i < CPU_SETSIZE; i++)
31+ if (CPU_ISSET(i, cpu))
32+ count++;
33+ return count;
34+}
35+#endif
36
37 /**
38 * Count CPUs.
diff --git a/testing/vlc/vlc-1.1.7-disable-cache-gen.patch b/testing/vlc/vlc-1.1.7-disable-cache-gen.patch
deleted file mode 100644
index b8a3dd9551..0000000000
--- a/testing/vlc/vlc-1.1.7-disable-cache-gen.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1--- a/modules/Makefile.am
2+++ b/modules/Makefile.am
3@@ -63,7 +63,8 @@
4
5 stamp-cache:
6 $(AM_V_GEN)if test "$(build)" = "$(host)"; then \
7- ../bin/vlc-cache-gen$(EXEEXT) . ; \
8+ # ../bin/vlc-cache-gen$(EXEEXT) . ; \
9+ echo "FIXME: vlc-cache-gen" ; \
10 else \
11 echo "Cross-compilation: cache generation skipped!" ; \
12 fi
diff --git a/testing/vlc/vlc-daemon.pre-install b/testing/vlc/vlc-daemon.pre-install
deleted file mode 100644
index 72ee1b7ff8..0000000000
--- a/testing/vlc/vlc-daemon.pre-install
+++ /dev/null
@@ -1,13 +0,0 @@
1#!/bin/sh
2
3groups="vlc audio video"
4for group in $groups; do
5 addgroup -S $group 2>/dev/null
6done
7adduser -S -h /home/vlc -s /bin/sh -G vlc -D vlc 2>/dev/null
8
9# make sure vlc are in all groups
10for group in $groups; do
11 addgroup vlc $group 2>/dev/null
12done
13exit 0
diff --git a/testing/vlc/vlc.confd b/testing/vlc/vlc.confd
deleted file mode 100644
index c42344b606..0000000000
--- a/testing/vlc/vlc.confd
+++ /dev/null
@@ -1,11 +0,0 @@
1# Sample vlc params suitable for running as a daemon
2
3## --daemon detach from prompt
4## --file-logging enable file logging
5## --logfile logfile name/path
6## -vvv verbose logging
7## -I dummy disable X11 interface
8## --sout PARAMS encoding parameters
9## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc
10
11VLC_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}"
diff --git a/testing/vlc/vlc.initd b/testing/vlc/vlc.initd
deleted file mode 100755
index 11567dcd86..0000000000
--- a/testing/vlc/vlc.initd
+++ /dev/null
@@ -1,22 +0,0 @@
1#!/sbin/runscript
2
3depend() {
4 need net
5}
6
7start() {
8 ebegin "Starting VLC"
9 start-stop-daemon --start \
10 --user vlc \
11 --exec /usr/bin/vlc -- ${VLC_OPTS}
12 eend $?
13}
14
15stop () {
16 ebegin "Stopping VLC"
17 start-stop-daemon --stop \
18 --signal KILL \
19 --exec /usr/bin/vlc
20 eend $?
21}
22
diff --git a/testing/vlc/vlc.trigger b/testing/vlc/vlc.trigger
deleted file mode 100644
index d7322fcb16..0000000000
--- a/testing/vlc/vlc.trigger
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2
3exec /usr/lib/vlc/vlc-cache-gen "$@"
4
diff --git a/testing/wanpipe-grsec/APKBUILD b/testing/wanpipe-grsec/APKBUILD
new file mode 100644
index 0000000000..2a249eb390
--- /dev/null
+++ b/testing/wanpipe-grsec/APKBUILD
@@ -0,0 +1,67 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2_flavor=${FLAVOR:-grsec}
3_realname=wanpipe
4_name=$_realname-$_flavor
5
6_kver=3.2.11
7_kpkgrel=0
8
9# source the kernel version
10if [ -f ../../main/linux-$_flavor/APKBUILD ]; then
11 . ../../main/linux-$_flavor/APKBUILD
12 [ "$_kver" != "$pkgver" ] && die "$_name: Please update _kver to $pkgver"
13 [ "$_kpkgrel" != "$pkgrel" ] && die "$_name: Please update _kpkgrel to $pkgrel"
14fi
15
16_kernelver=$_kver-r$_kpkgrel
17_abi_release=$_kver-${_flavor}
18
19pkgname=$_name
20pkgver=$_kver
21_realver=3.5.25
22_mypkgrel=0
23pkgrel=$(($_kpkgrel + $_mypkgrel))
24pkgdesc="Sangoma Wanpipe drivers for $_flavor kernel"
25url="http://wiki.sangoma.com/wanpipe-linux-drivers"
26arch="all"
27license="GPL"
28depends="linux-${_flavor}=${_kernelver}"
29makedepends="linux-${_flavor}-dev=${_kernelver} bison libtool flex bash
30 dahdi-linux-dev autoconf"
31install=
32install_if="linux-$_flavor=$_kernelver $_realname"
33subpackages=
34source="ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-$_realver.tgz
35 constify.patch"
36
37# override kernel's prepare()
38prepare() {
39 cd "$srcdir/$_realname-$_realver"
40 for i in $source; do
41 case $i in
42 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
43 esac
44 done
45}
46
47build() {
48 cd "$srcdir/$_realname-$_realver"
49 export GCC_SPECS=/usr/share/gcc/hardenednopie.specs
50
51 make CC="${CC:-gcc}" \
52 KVER=$_abi_release \
53 DAHDI_DIR=/usr/src/dahdi-headers-$_abi_release \
54 all_kmod_dahdi || return 1
55}
56
57package() {
58 cd "$srcdir/$_realname-$_realver"
59 make CC="${CC:-gcc}" \
60 KVER=$_abi_release \
61 DAHDI_DIR=/usr/src/dahdi-headers-$_abi_release \
62 DESTDIR="$pkgdir" \
63 install_kmod || return 1
64}
65
66md5sums="96700bece0d358bb12af9491d2730304 wanpipe-3.5.25.tgz
67c05de38644472046f63985e03228205d constify.patch"
diff --git a/testing/wanpipe-grsec/constify.patch b/testing/wanpipe-grsec/constify.patch
new file mode 100644
index 0000000000..dfd78eca7d
--- /dev/null
+++ b/testing/wanpipe-grsec/constify.patch
@@ -0,0 +1,134 @@
1diff --git a/patches/kdrivers/include/if_wanpipe_common.h b/patches/kdrivers/include/if_wanpipe_common.h
2index e7f4fca..1bf0c1b 100644
3--- a/patches/kdrivers/include/if_wanpipe_common.h
4+++ b/patches/kdrivers/include/if_wanpipe_common.h
5@@ -49,7 +49,7 @@ typedef struct {
6 #if defined (__LINUX__)
7 int (*change_mtu)(netdevice_t *dev, int new_mtu);
8 #endif
9-} wanpipe_common_iface_t;
10+} __no_const wanpipe_common_iface_t;
11
12 typedef struct wanpipe_common {
13 #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
14diff --git a/patches/kdrivers/include/sdla_front_end.h b/patches/kdrivers/include/sdla_front_end.h
15index 11d7f3c..61bb8a2 100644
16--- a/patches/kdrivers/include/sdla_front_end.h
17+++ b/patches/kdrivers/include/sdla_front_end.h
18@@ -630,7 +630,7 @@ typedef struct {
19 /* Enable/Disable Clock recovery from the line */
20 int (*clock_ctrl)(sdla_fe_t*, u_int8_t /* WANOPT_NO/WANOPT_YES */);
21 u_int32_t (*read_tx_alarm)(sdla_fe_t *fe, int);
22-} sdla_fe_iface_t;
23+} __no_const sdla_fe_iface_t;
24
25 /*
26 ** Sangoma Front-End interface structure (new version)
27diff --git a/patches/kdrivers/include/sdladrv.h b/patches/kdrivers/include/sdladrv.h
28index 4398f4c..5e34811 100644
29--- a/patches/kdrivers/include/sdladrv.h
30+++ b/patches/kdrivers/include/sdladrv.h
31@@ -743,7 +743,7 @@ typedef struct sdlahw_iface
32 int (*usb_flush_err_stats)(void *phw);
33 void (*reset_fe)(void*);
34
35-} sdlahw_iface_t;
36+} __no_const sdlahw_iface_t;
37
38 typedef struct sdla_hw_type_cnt
39 {
40@@ -772,7 +772,7 @@ typedef struct sdla_hw_type_cnt
41 typedef struct sdladrv_callback_ {
42 int (*add_device)(void);
43 int (*delete_device)(char*);
44-} sdladrv_callback_t;
45+} __no_const sdladrv_callback_t;
46
47 #if defined(SDLADRV_HW_IFACE)
48 typedef struct sdladrv_hw_probe_iface {
49diff --git a/patches/kdrivers/include/wanpipe_cdev_iface.h b/patches/kdrivers/include/wanpipe_cdev_iface.h
50index bccf2e2..486572e 100644
51--- a/patches/kdrivers/include/wanpipe_cdev_iface.h
52+++ b/patches/kdrivers/include/wanpipe_cdev_iface.h
53@@ -32,7 +32,7 @@ typedef struct wanpipe_cdev_ops
54 /* handle transmission time out */
55 int (*tx_timeout)(void* dev_ptr);
56
57-}wanpipe_cdev_ops_t;
58+} __no_const wanpipe_cdev_ops_t;
59
60
61
62diff --git a/patches/kdrivers/include/wanpipe_defines.h b/patches/kdrivers/include/wanpipe_defines.h
63index 9c62b8d..5269262 100644
64--- a/patches/kdrivers/include/wanpipe_defines.h
65+++ b/patches/kdrivers/include/wanpipe_defines.h
66@@ -895,7 +895,7 @@ typedef struct wan_rtp_pkt {
67
68 #if defined(HAVE_NET_DEVICE_OPS) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
69
70-#define WAN_DECLARE_NETDEV_OPS(_ops_name) static struct net_device_ops _ops_name = {0};
71+#define WAN_DECLARE_NETDEV_OPS(_ops_name) static net_device_ops_no_const _ops_name = {0};
72
73 #define WAN_NETDEV_OPS_BIND(dev,_ops_name) dev->netdev_ops = &_ops_name
74
75diff --git a/patches/kdrivers/include/wanpipe_wanrouter.h b/patches/kdrivers/include/wanpipe_wanrouter.h
76index 7b2a919..4a05fa5 100644
77--- a/patches/kdrivers/include/wanpipe_wanrouter.h
78+++ b/patches/kdrivers/include/wanpipe_wanrouter.h
79@@ -362,7 +362,7 @@ typedef struct wan_device
80 void (*ringdetect) (void* card_id, wan_event_t*);
81 void (*linkstatus) (void* card_id, wan_event_t*);
82 void (*polarityreverse) (void* card_id, wan_event_t*);
83- } event_callback;
84+ } __no_const event_callback;
85
86 unsigned char ignore_front_end_status;
87 unsigned char line_idle;
88diff --git a/patches/kdrivers/src/net/sdladrv.c b/patches/kdrivers/src/net/sdladrv.c
89index 22d4b4f..d5b9fbb 100644
90--- a/patches/kdrivers/src/net/sdladrv.c
91+++ b/patches/kdrivers/src/net/sdladrv.c
92@@ -343,12 +343,12 @@ static unsigned sdla_test_memregion (sdlahw_t* hw, unsigned len);
93 static unsigned short sdla_checksum (unsigned char* buf, unsigned len);
94 static int sdla_init_pci_slot(sdlahw_t *);
95
96-static sdlahw_card_t* sdla_card_register(u8 hw_type, int bus_no, int slot_no, int ioport, char*);
97+static sdlahw_card_t* sdla_card_register(u8 hw_type, int bus_no, int slot_no, int ioport, const char*);
98 static int sdla_card_unregister (sdlahw_card_t*);
99-static sdlahw_card_t* sdla_card_search(u8 hw_type, int bus_no, int slot_no, int ioport, char*);
100+static sdlahw_card_t* sdla_card_search(u8 hw_type, int bus_no, int slot_no, int ioport, const char*);
101 static int sdla_card_info(sdlahw_card_t*);
102
103-sdlahw_cpu_t* sdla_hwcpu_search(u8, int, int, int, int, char*);
104+sdlahw_cpu_t* sdla_hwcpu_search(u8, int, int, int, int, const char*);
105 static sdlahw_cpu_t* sdla_hwcpu_register(sdlahw_card_t*, int, int, void*);
106 static int sdla_hwcpu_unregister(sdlahw_cpu_t*);
107 static int sdla_hwcpu_info(sdlahw_cpu_t*);
108@@ -4339,7 +4339,7 @@ static int sdla_card_info(sdlahw_card_t *hwcard)
109 }
110
111 static sdlahw_card_t*
112-sdla_card_register(u8 hw_type, int bus_no, int slot_no, int ioport, char *bus_id)
113+sdla_card_register(u8 hw_type, int bus_no, int slot_no, int ioport, const char *bus_id)
114 {
115 sdlahw_card_t *new_hwcard, *last_hwcard;
116
117@@ -4408,7 +4408,7 @@ sdla_card_unregister(sdlahw_card_t* hwcard)
118 }
119
120 static sdlahw_card_t*
121-sdla_card_search(u8 hw_type, int bus_no, int slot_no, int ioport, char *bus_id)
122+sdla_card_search(u8 hw_type, int bus_no, int slot_no, int ioport, const char *bus_id)
123 {
124 sdlahw_card_t* tmp;
125
126@@ -4547,7 +4547,7 @@ static int sdla_hwcpu_unregister(sdlahw_cpu_t *hwcpu)
127 }
128
129 sdlahw_cpu_t*
130-sdla_hwcpu_search(u8 hw_type, int bus_no, int slot_no, int ioport, int cpu_no, char *bus_id)
131+sdla_hwcpu_search(u8 hw_type, int bus_no, int slot_no, int ioport, int cpu_no, const char *bus_id)
132 {
133 sdlahw_cpu_t* tmp;
134
diff --git a/testing/xf86-video-openchrome/APKBUILD b/testing/xf86-video-openchrome/APKBUILD
new file mode 100644
index 0000000000..569a89e28e
--- /dev/null
+++ b/testing/xf86-video-openchrome/APKBUILD
@@ -0,0 +1,58 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xf86-video-openchrome
3pkgver=0.3.0_pre20120306
4_ver=${pkgver/_/-}
5pkgrel=0
6pkgdesc="X.Org driver for VIA/S3G cards"
7url="http://xorg.freedesktop.org/"
8arch="all"
9license="custom"
10subpackages="$pkgname-doc"
11depends=
12makedepends="pkgconfig xorg-server-dev libxi-dev libxvmc-dev fontsproto glproto
13 randrproto videoproto renderproto xf86driproto mesa-dev util-macros
14 autoconf automake libtool
15 "
16
17source="http://www.infradead.org/~jsimmons/xf86-video-openchrome-$_ver.tbz
18 openchrome.xinf
19 "
20
21_builddir="$srcdir"/xf86-video-openchrome-$_ver
22unpack() {
23 cd "$srcdir"
24 for i in $source; do
25 case $i in
26 *.tbz) tar -jxf "$srcdir"/${i##*/} || return 1;;
27 esac
28 done
29}
30
31prepare() {
32 cd "$_builddir"
33 for i in $source; do
34 case $i in
35 *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;;
36 esac
37 done
38 ./autogen.sh
39}
40
41build() {
42 cd "$_builddir"
43 export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
44 ./configure --prefix=/usr || return 1
45 make || return 1
46}
47
48package() {
49 cd "$_builddir"
50 make DESTDIR="$pkgdir" install || return 1
51 find "$pkgdir" -name '*.la' -delete
52 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
53 install -Dm644 "$srcdir"/openchrome.xinf \
54 "$pkgdir"/usr/share/hwdata/videoaliases/openchrome.xinf
55}
56
57md5sums="9b085ca54974f14b454bdeaf8dc1c089 xf86-video-openchrome-0.3.0-pre20120306.tbz
58d6906087f0e93ea2d98e553f4dfbcc97 openchrome.xinf"
diff --git a/testing/xf86-video-openchrome/openchrome.xinf b/testing/xf86-video-openchrome/openchrome.xinf
new file mode 100644
index 0000000000..7b15c911a9
--- /dev/null
+++ b/testing/xf86-video-openchrome/openchrome.xinf
@@ -0,0 +1,39 @@
1# NOTE: Comments in openchrome 0.2.1 driver source indicate this device does not
2# exist in the wild, so it has been disabled for now.
3#alias pcivideo:v00001106d00003022sv*sd*bc*sc*i* openchrome
4
5# 1106:3108 - K8M800 (PCI_CHIP_VT3204)
6alias pcivideo:v00001106d00003108sv*sd*bc*sc*i* openchrome
7
8# 1106:3118 - PM800/PM880/CN400 (PCI_CHIP_VT3259)
9alias pcivideo:v00001106d00003118sv*sd*bc*sc*i* openchrome
10
11# 1106:3122 - CLE266 (PCI_CHIP_CLE3122)
12alias pcivideo:v00001106d00003122sv*sd*bc*sc*i* openchrome
13
14# 1106:7205 - KM400/KN400 (PCI_CHIP_VT3205)
15alias pcivideo:v00001106d00007205sv*sd*bc*sc*i* openchrome
16
17# 1106:3344 - VM800 (PCI_CHIP_VT3314)
18alias pcivideo:v00001106d00003344sv*sd*bc*sc*i* openchrome
19
20# 1106:3157 - CX700 (PCI_CHIP_VT3324)
21alias pcivideo:v00001106d00003157sv*sd*bc*sc*i* openchrome
22
23# 1106:3343 - P4M890 (PCI_CHIP_VT3327)
24alias pcivideo:v00001106d00003343sv*sd*bc*sc*i* openchrome
25
26# 1106:3230 - K8M890 (PCI_CHIP_VT3336)
27alias pcivideo:v00001106d00003230sv*sd*bc*sc*i* openchrome
28
29# 1106:3371 - P4M900 (PCI_CHIP_VT3364)
30alias pcivideo:v00001106d00003371sv*sd*bc*sc*i* openchrome
31
32# 1106:1122 - VX800 (PCI_CHIP_VT3353)
33alias pcivideo:v00001106d00001122sv*sd*bc*sc*i* openchrome
34
35# 1106:5122 - VX855 (PCI_CHIP_VT3409)
36alias pcivideo:v00001106d00005122sv*sd*bc*sc*i* openchrome
37
38# 1106:7122 - VX855 (PCI_CHIP_VT3410)
39alias pcivideo:v00001106d00007122sv*sd*bc*sc*i* openchrome
diff --git a/testing/xmlrpc-c/APKBUILD b/testing/xmlrpc-c/APKBUILD
index b328130a90..5be55ac008 100644
--- a/testing/xmlrpc-c/APKBUILD
+++ b/testing/xmlrpc-c/APKBUILD
@@ -1,10 +1,10 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=xmlrpc-c 2pkgname=xmlrpc-c
3pkgver=1.16.35 3pkgver=1.16.40
4pkgrel=1 4pkgrel=0
5pkgdesc="This library provides a modular implementation of XML-RPC for C and C++" 5pkgdesc="This library provides a modular implementation of XML-RPC for C and C++"
6url="http://xmlrpc-c.sourceforge.net/" 6url="http://xmlrpc-c.sourceforge.net/"
7arch="x86" 7arch="all"
8license="custom:xmlrpc-c" 8license="custom:xmlrpc-c"
9depends= 9depends=
10makedepends="libtool curl-dev libxml2-dev zlib-dev" 10makedepends="libtool curl-dev libxml2-dev zlib-dev"
@@ -52,5 +52,5 @@ cxx() {
52 mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/ 52 mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/
53} 53}
54 54
55md5sums="eed7ef8078800e4822d753bac9d2fa1c xmlrpc-c-1.16.35.tgz 55md5sums="0b5c026d48c21937261d90bdadda7248 xmlrpc-c-1.16.40.tgz
56101c2224b2338247097f96b03e206261 xmlrpc-c-curl.patch" 56101c2224b2338247097f96b03e206261 xmlrpc-c-curl.patch"