summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--experimental/sbcl/APKBUILD38
-rw-r--r--experimental/sbcl/musl-libc.patch180
-rw-r--r--experimental/zfs-utils/APKBUILD49
-rw-r--r--experimental/zfs/APKBUILD68
-rw-r--r--experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch145
-rw-r--r--experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch110
-rw-r--r--experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch131
-rw-r--r--experimental/zfs/fix-autoconf-redirection-for-dash.patch11
-rw-r--r--system/adelie-base/APKBUILD6
-rw-r--r--system/asciidoctor/APKBUILD8
-rw-r--r--system/bc/APKBUILD4
-rw-r--r--system/bison/APKBUILD8
-rw-r--r--system/bubblewrap/APKBUILD35
-rw-r--r--system/bubblewrap/musl-fixes.patch17
-rw-r--r--system/check/APKBUILD4
-rw-r--r--system/console-setup/APKBUILD48
-rw-r--r--system/console-setup/console-setup.initd32
-rw-r--r--system/coreutils/APKBUILD16
-rw-r--r--system/coreutils/cp-dont-delete.patch72
-rw-r--r--system/coreutils/date-debug.patch56
-rw-r--r--system/coreutils/disable-mbrtowc-test.patch4
-rw-r--r--system/coreutils/localename-test-fix.patch2
-rw-r--r--system/coreutils/ls-removed-dirs.patch99
-rw-r--r--system/e2fsprogs/APKBUILD4
-rw-r--r--system/easy-kernel/APKBUILD16
-rw-r--r--system/easy-kernel/config-aarch644
-rw-r--r--system/easy-kernel/config-m68k4
-rw-r--r--system/easy-kernel/config-pmmx4
-rw-r--r--system/easy-kernel/config-ppc4
-rw-r--r--system/easy-kernel/config-ppc644
-rw-r--r--system/easy-kernel/config-sparc644
-rw-r--r--system/easy-kernel/config-x86_644
-rw-r--r--system/execline/APKBUILD7
-rw-r--r--system/gettext-tiny/APKBUILD6
-rw-r--r--system/gettext-tiny/msgfmt-exit.patch36
-rw-r--r--system/git/APKBUILD47
-rw-r--r--system/help2man/APKBUILD4
-rw-r--r--system/icu/APKBUILD9
-rw-r--r--system/icu/CVE-2017-7867-7868.patch155
-rw-r--r--system/icu/CVE-2020-10531.patch118
-rw-r--r--system/kbd/APKBUILD32
-rw-r--r--system/kbd/consolefont.confd20
-rw-r--r--system/kbd/consolefont.initd70
-rw-r--r--system/kbd/keymaps.confd24
-rw-r--r--system/kbd/keymaps.initd77
-rw-r--r--system/kmod/APKBUILD10
-rw-r--r--system/libucontext/APKBUILD12
-rw-r--r--system/libucontext/git.patch115
-rw-r--r--system/libucontext/powerpc.patch1121
-rw-r--r--system/libucontext/static.patch76
-rw-r--r--system/lvm2/APKBUILD4
-rw-r--r--system/lvm2/fix-stdio-usage.patch30
-rw-r--r--system/make/APKBUILD15
-rw-r--r--system/make/fix-atexit-exit.patch4
-rw-r--r--system/man-db/APKBUILD4
-rw-r--r--system/mdevd/APKBUILD4
-rw-r--r--system/musl-locales/APKBUILD (renamed from user/musl-locales/APKBUILD)14
-rw-r--r--system/nss/APKBUILD17
-rw-r--r--system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch70
-rw-r--r--system/openrc/APKBUILD11
-rw-r--r--system/openrc/openrc.post-install2
-rw-r--r--system/openssl/APKBUILD12
-rw-r--r--system/openssl/ppc-auxv.patch17
-rw-r--r--system/openssl/ppc64.patch2
-rw-r--r--system/pcre2/APKBUILD13
-rw-r--r--system/pcre2/CVE-2019-20454.patch50
-rw-r--r--system/python3/APKBUILD15
-rw-r--r--system/python3/CVE-2019-16056.patch131
-rw-r--r--system/python3/CVE-2019-16935.patch80
-rw-r--r--system/python3/CVE-2019-18348.patch147
-rw-r--r--system/ruby/APKBUILD32
-rw-r--r--system/ruby/fix-get_main_stack.patch4
-rw-r--r--system/ruby/libedit-compat.patch4
-rw-r--r--system/ruby/rubygems-avoid-platform-specific-gems.patch2
-rw-r--r--system/s6-linux-init/APKBUILD4
-rw-r--r--system/s6-rc/APKBUILD4
-rw-r--r--system/s6/APKBUILD4
-rw-r--r--system/skalibs/APKBUILD4
-rw-r--r--system/sqlite/APKBUILD23
-rw-r--r--system/utmps/APKBUILD4
-rw-r--r--system/vim/APKBUILD4
-rw-r--r--user/adwaita-icon-theme/APKBUILD4
-rw-r--r--user/alsa-lib/APKBUILD9
-rw-r--r--user/alsa-lib/type_compat.patch23
-rw-r--r--user/alsa-plugins/APKBUILD4
-rw-r--r--user/alsa-utils/APKBUILD4
-rw-r--r--user/apache-httpd/APKBUILD9
-rw-r--r--user/audacious-plugins/APKBUILD16
-rw-r--r--user/audacious/APKBUILD14
-rw-r--r--user/bcnm/APKBUILD31
-rw-r--r--user/bluedevil/APKBUILD6
-rw-r--r--user/breeze-grub/APKBUILD6
-rw-r--r--user/breeze-gtk/APKBUILD6
-rw-r--r--user/breeze/APKBUILD6
-rw-r--r--user/cbindgen/APKBUILD6
-rw-r--r--user/checkbashisms/APKBUILD6
-rw-r--r--user/ckbcomp/APKBUILD22
-rw-r--r--user/clisp/APKBUILD44
-rw-r--r--user/clisp/no-page.h.patch12
-rw-r--r--user/clutter/APKBUILD4
-rw-r--r--user/cogl/APKBUILD4
-rw-r--r--user/cyrus-sasl/APKBUILD10
-rw-r--r--user/cyrus-sasl/CVE-2019-19906.patch25
-rw-r--r--user/davmail/APKBUILD60
-rwxr-xr-xuser/davmail/davmail.sh7
-rw-r--r--user/dconf/APKBUILD9
-rw-r--r--user/dconf/meson.patch35
-rw-r--r--user/dev86/APKBUILD29
-rw-r--r--user/dialog/APKBUILD4
-rw-r--r--user/dovecot/APKBUILD286
-rw-r--r--user/dovecot/default-config.patch46
-rw-r--r--user/dovecot/dovecot.initd40
-rw-r--r--user/dovecot/dovecot.logrotate12
-rw-r--r--user/dovecot/dovecot.post-install45
-rw-r--r--user/dovecot/dovecot.post-upgrade7
-rw-r--r--user/dovecot/dovecot.pre-install8
-rw-r--r--user/dovecot/skip-iconv-check.patch11
-rw-r--r--user/dovecot/split-protocols.patch30
-rw-r--r--user/dovecot/ssl-paths.patch13
-rw-r--r--user/dracut/APKBUILD8
-rw-r--r--user/dracut/fts.patch30
-rw-r--r--user/drkonqi/APKBUILD6
-rw-r--r--user/efibootmgr/APKBUILD2
-rw-r--r--user/efivar/APKBUILD2
-rw-r--r--user/elixir/APKBUILD28
-rw-r--r--user/erlang/APKBUILD4
-rw-r--r--user/ethtool/APKBUILD4
-rw-r--r--user/eudev/APKBUILD6
-rw-r--r--user/evince/APKBUILD36
-rw-r--r--user/farstream/APKBUILD12
-rw-r--r--user/farstream/make43.patch38
-rw-r--r--user/featherpad/APKBUILD4
-rw-r--r--user/ffmpeg/APKBUILD11
-rw-r--r--user/ffmpeg/CVE-2019-13312.patch30
-rw-r--r--user/ffmpeg/CVE-2020-12284.patch32
-rw-r--r--user/firefox-esr/APKBUILD35
-rw-r--r--user/firefox-esr/rust-config.patch20
-rw-r--r--user/firefox-esr/seccomp-musl.patch49
-rw-r--r--user/firefox-esr/seccomp-time64.patch112
-rw-r--r--user/fuse3/APKBUILD14
-rw-r--r--user/garcon/APKBUILD6
-rw-r--r--user/glfw/APKBUILD (renamed from legacy/glfw/APKBUILD)0
-rw-r--r--user/glibmm/APKBUILD4
-rw-r--r--user/gmime/APKBUILD4
-rw-r--r--user/gvim/APKBUILD4
-rw-r--r--user/horizon/APKBUILD136
-rw-r--r--user/horizon/fix-qt-runner.patch25
-rw-r--r--user/hwids/APKBUILD5
-rw-r--r--user/icewm/APKBUILD4
-rw-r--r--user/ipmiutil/APKBUILD4
-rw-r--r--user/kactivitymanagerd/APKBUILD6
-rw-r--r--user/kde-cli-tools/APKBUILD6
-rw-r--r--user/kde-gtk-config/APKBUILD6
-rw-r--r--user/kdecoration/APKBUILD6
-rw-r--r--user/kdeplasma-addons/APKBUILD6
-rw-r--r--user/kdiagram/APKBUILD4
-rw-r--r--user/keepassxc/APKBUILD7
-rw-r--r--user/kgamma5/APKBUILD6
-rw-r--r--user/khotkeys/APKBUILD6
-rw-r--r--user/kinfocenter/APKBUILD6
-rw-r--r--user/kmenuedit/APKBUILD6
-rw-r--r--user/kscreenlocker/APKBUILD6
-rw-r--r--user/ksshaskpass/APKBUILD6
-rw-r--r--user/ksysguard/APKBUILD6
-rw-r--r--user/kwin/APKBUILD6
-rw-r--r--user/lesscpy/APKBUILD8
-rw-r--r--user/libbytesize/APKBUILD4
-rw-r--r--user/libdca/APKBUILD7
-rw-r--r--user/libdrm/APKBUILD41
-rw-r--r--user/libdrm/ioctl.patch11
-rw-r--r--user/libffcall/APKBUILD42
-rw-r--r--user/libffcall/ppc64.patch1685
-rw-r--r--user/libgd/APKBUILD35
-rw-r--r--user/libgd/CVE-2016-7568.patch33
-rw-r--r--user/libgd/CVE-2018-1000222.patch73
-rw-r--r--user/libgd/CVE-2018-14553.patch99
-rw-r--r--user/libgd/CVE-2018-5711.patch61
-rw-r--r--user/libgd/CVE-2019-6977.patch21
-rw-r--r--user/libgd/CVE-2019-6978.patch216
-rw-r--r--user/libgeoip/APKBUILD33
-rw-r--r--user/libinput/APKBUILD4
-rw-r--r--user/libkscreen/APKBUILD6
-rw-r--r--user/libksysguard/APKBUILD6
-rw-r--r--user/libkworkspace/APKBUILD8
-rw-r--r--user/libkworkspace/standalone.patch2
-rw-r--r--user/libmaxminddb/APKBUILD32
-rw-r--r--user/libmbim/APKBUILD4
-rw-r--r--user/libnftnl/APKBUILD9
-rw-r--r--user/libnftnl/nft-flowtable-test.patch37
-rw-r--r--user/libnotify/APKBUILD14
-rw-r--r--user/libpeas/APKBUILD8
-rw-r--r--user/libpeas/use-locale.h.patch12
-rw-r--r--user/libqmi/APKBUILD4
-rw-r--r--user/libsecret/APKBUILD4
-rw-r--r--user/libsigsegv/APKBUILD38
-rw-r--r--user/libsigsegv/musl-ppc32.patch10
-rw-r--r--user/libslirp/APKBUILD39
-rw-r--r--user/libslirp/git-describe.patch24
-rw-r--r--user/libslirp/static.patch14
-rw-r--r--user/libsoup/APKBUILD4
-rw-r--r--user/libuninameslist/APKBUILD4
-rw-r--r--user/libvncserver/APKBUILD14
-rw-r--r--user/libvncserver/CVE-2019-15681.patch23
-rw-r--r--user/libvncserver/CVE-2019-15690.patch36
-rw-r--r--user/libwacom/APKBUILD6
-rw-r--r--user/libwacom/musl-test.patch8
-rw-r--r--user/libwnck/APKBUILD6
-rw-r--r--user/libzip/APKBUILD6
-rw-r--r--user/lilo/APKBUILD51
-rw-r--r--user/lilo/adelie.patch400
-rw-r--r--user/lilo/cflags.patch13
-rw-r--r--user/lilo/lilo.conf.template23
-rw-r--r--user/lilo/lilo.trigger93
-rw-r--r--user/lilo/musl.patch81
-rw-r--r--user/lilo/partuuid.patch65
-rw-r--r--user/lua-yaml/APKBUILD25
-rw-r--r--user/mate-backgrounds/APKBUILD4
-rw-r--r--user/mate-common/APKBUILD4
-rw-r--r--user/mate-complete/APKBUILD12
-rw-r--r--user/mate-complete/mate.desktop11
-rw-r--r--user/mate-power-manager/APKBUILD4
-rw-r--r--user/mate-session-manager/APKBUILD1
-rw-r--r--user/milou/APKBUILD6
-rw-r--r--user/mlt/APKBUILD4
-rw-r--r--user/modemmanager/APKBUILD4
-rw-r--r--user/mosquitto/APKBUILD4
-rw-r--r--user/mtools/APKBUILD32
-rw-r--r--user/mutt/APKBUILD4
-rw-r--r--user/net-snmp/APKBUILD4
-rw-r--r--user/netqmail/0005-CVE-2005-1513.patch19
-rw-r--r--user/netqmail/APKBUILD4
-rw-r--r--user/networkmanager/APKBUILD4
-rw-r--r--user/nextcloud-client/APKBUILD19
-rw-r--r--user/nextcloud-client/no-webengine.patch384
-rw-r--r--user/nextcloud-client/openssl.patch11
-rw-r--r--user/nextcloud-client/test-fix-include.patch22
-rw-r--r--user/nftables/APKBUILD6
-rw-r--r--user/node/APKBUILD4
-rw-r--r--user/okular/APKBUILD10
-rw-r--r--user/okular/CVE-2020-9359.patch27
-rw-r--r--user/opengfx/APKBUILD11
-rw-r--r--user/opengfx/Makefile.patch22
-rw-r--r--user/openttd/APKBUILD4
-rw-r--r--user/openvpn/APKBUILD8
-rw-r--r--user/oxygen/APKBUILD6
-rw-r--r--user/pangomm/APKBUILD4
-rw-r--r--user/papirus-icons/APKBUILD4
-rw-r--r--user/perl-gd/APKBUILD2
-rw-r--r--user/php7-apcu/APKBUILD7
-rw-r--r--user/php7/APKBUILD437
-rw-r--r--user/php7/disabled-tests.list87
-rw-r--r--user/php7/enchant-2.patch75
-rw-r--r--user/php7/fix-tests-devserver.patch23
-rw-r--r--user/php7/getsockopt.patch37
-rw-r--r--user/php7/install-pear.patch7
-rw-r--r--user/php7/no-max-ent-size.patch257
-rw-r--r--user/php7/pwbuflen.patch15
-rw-r--r--user/php7/test-fixes.patch71
-rw-r--r--user/php7/zend_bool.patch19
-rw-r--r--user/php7/zip-glob-pathc.patch15
-rw-r--r--user/pixman/APKBUILD6
-rw-r--r--user/plasma-browser-integration/APKBUILD6
-rw-r--r--user/plasma-desktop/APKBUILD6
-rw-r--r--user/plasma-integration/APKBUILD6
-rw-r--r--user/plasma-meta/APKBUILD2
-rw-r--r--user/plasma-nm/APKBUILD6
-rw-r--r--user/plasma-pa/APKBUILD6
-rw-r--r--user/plasma-thunderbolt/APKBUILD6
-rw-r--r--user/plasma-vault/APKBUILD9
-rw-r--r--user/plasma-vault/fix-crash.patch26
-rw-r--r--user/plasma-workspace-wallpapers/APKBUILD6
-rw-r--r--user/plasma-workspace/APKBUILD6
-rw-r--r--user/polkit-kde-agent-1/APKBUILD6
-rw-r--r--user/powerdevil/APKBUILD6
-rw-r--r--user/prosody/APKBUILD4
-rw-r--r--user/protobuf/APKBUILD4
-rw-r--r--user/py3-pillow/APKBUILD12
-rw-r--r--user/py3-pycairo/APKBUILD4
-rw-r--r--user/py3-pygobject/APKBUILD4
-rw-r--r--user/py3-twisted/APKBUILD22
-rw-r--r--user/py3-twisted/CVE-2020-10108-and-2020-10109.patch260
-rw-r--r--user/qemu/APKBUILD115
-rw-r--r--user/qemu/CVE-2020-11102.patch144
-rw-r--r--user/qemu/CVE-2020-1711.patch61
-rw-r--r--user/qemu/MAP_SYNC-fix.patch22
-rw-r--r--user/qemu/fix-sockios-header.patch13
-rw-r--r--user/qqc2-desktop-style/APKBUILD4
-rw-r--r--user/qt5-qtbase/APKBUILD11
-rw-r--r--user/qt5-qtbase/CVE-2020-0569.patch29
-rw-r--r--user/qt5-qtbase/CVE-2020-0570.patch55
-rw-r--r--user/re2c/APKBUILD13
-rw-r--r--user/re2c/CVE-2020-11958.patch37
-rw-r--r--user/rsibreak/APKBUILD4
-rw-r--r--user/ruby-bundler/APKBUILD6
-rw-r--r--user/ruby-diff-lcs/APKBUILD6
-rw-r--r--user/ruby-rake-compiler/APKBUILD4
-rw-r--r--user/ruby-rspec-core/APKBUILD4
-rw-r--r--user/ruby-rspec-expectations/APKBUILD6
-rw-r--r--user/ruby-rspec-mocks/APKBUILD4
-rw-r--r--user/ruby-rspec-support/APKBUILD4
-rw-r--r--user/ruby-rspec/APKBUILD4
-rw-r--r--user/s6-dns/APKBUILD4
-rw-r--r--user/s6-linux-utils/APKBUILD4
-rw-r--r--user/s6-networking/APKBUILD4
-rw-r--r--user/s6-portable-utils/APKBUILD4
-rw-r--r--user/samurai/APKBUILD4
-rw-r--r--user/scummvm/APKBUILD4
-rw-r--r--user/sddm-kcm/APKBUILD6
-rw-r--r--user/sdl2/APKBUILD10
-rw-r--r--user/sdl2/gles.patch12
-rw-r--r--user/sdl2/sdl2-soname.patch2
-rw-r--r--user/sg3_utils/APKBUILD4
-rw-r--r--user/sox/APKBUILD48
-rw-r--r--user/sox/CVE-2017-11332.patch28
-rw-r--r--user/sox/CVE-2017-11358.patch44
-rw-r--r--user/sox/CVE-2017-11359.patch30
-rw-r--r--user/sox/CVE-2017-15370.patch28
-rw-r--r--user/sox/CVE-2017-15371.patch40
-rw-r--r--user/sox/CVE-2017-15372.patch100
-rw-r--r--user/sox/CVE-2017-15642.patch34
-rw-r--r--user/sox/CVE-2017-18189.patch33
-rw-r--r--user/sox/CVE-2019-13590.patch33
-rw-r--r--user/sox/CVE-2019-8354.patch28
-rw-r--r--user/sox/CVE-2019-8355.patch59
-rw-r--r--user/sox/CVE-2019-8356.patch92
-rw-r--r--user/sox/CVE-2019-8357.patch28
-rw-r--r--user/sox/sox-dynamic.patch12
-rw-r--r--user/spice-gtk/APKBUILD50
-rw-r--r--user/spice-gtk/macro.patch33
-rw-r--r--user/spice-protocol/APKBUILD4
-rw-r--r--user/spice/APKBUILD4
-rw-r--r--user/sshfs/APKBUILD16
-rw-r--r--user/systemsettings/APKBUILD6
-rw-r--r--user/tcpdump/APKBUILD9
-rw-r--r--user/tcpdump/CVE-2018-19519.patch10
-rw-r--r--user/telegram/APKBUILD4
-rw-r--r--user/thunar/APKBUILD4
-rw-r--r--user/thunderbird/APKBUILD30
-rw-r--r--user/thunderbird/rust-config.patch20
-rw-r--r--user/tinycdb/APKBUILD26
-rw-r--r--user/tinycdb/Makefile.patch19
-rw-r--r--user/tlp/APKBUILD5
-rw-r--r--user/tlp/tlp.post-upgrade14
-rw-r--r--user/user-manager/APKBUILD6
-rw-r--r--user/uwsgi/APKBUILD2
-rw-r--r--user/vala/APKBUILD4
-rw-r--r--user/vte/APKBUILD6
-rw-r--r--user/wavpack/APKBUILD34
-rw-r--r--user/wavpack/cve2018-19840.patch25
-rw-r--r--user/weechat/APKBUILD8
-rw-r--r--user/wireguard-module/APKBUILD6
-rw-r--r--user/wireguard-tools/APKBUILD6
-rw-r--r--user/xfburn/APKBUILD4
-rw-r--r--user/xfce4-clipman-plugin/APKBUILD8
-rw-r--r--user/xfce4-panel/APKBUILD4
-rw-r--r--user/xfce4-power-manager/APKBUILD4
-rw-r--r--user/xfce4-pulseaudio-plugin/APKBUILD6
-rw-r--r--user/xfce4-session/APKBUILD4
-rw-r--r--user/xfce4-settings/APKBUILD4
-rw-r--r--user/xfce4-terminal/APKBUILD4
-rw-r--r--user/xfce4-whiskermenu-plugin/APKBUILD4
-rw-r--r--user/xorg-server/APKBUILD4
-rw-r--r--user/xscreensaver/APKBUILD4
-rw-r--r--user/xxhash/APKBUILD4
-rw-r--r--user/yaml-cpp/APKBUILD39
-rw-r--r--user/youtube-dl/APKBUILD9
-rw-r--r--user/youtube-dl/tumblr.patch49
367 files changed, 9180 insertions, 3731 deletions
diff --git a/experimental/sbcl/APKBUILD b/experimental/sbcl/APKBUILD
new file mode 100644
index 000000000..86f9ab1f5
--- /dev/null
+++ b/experimental/sbcl/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Lee Starnes <lee@canned-death.us>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=sbcl
+pkgver=2.0.3
+pkgrel=0
+pkgdesc="Steel Bank Common Lisp"
+url="http://www.sbcl.org"
+arch="all !armv7"
+license="BSD-2-Clause AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND MIT"
+depends=""
+makedepends="clisp clisp-dev"
+checkdepends="ed"
+subpackages="$pkgname-doc"
+# Patch provided by Eric Timmons: https://bugs.launchpad.net/sbcl/+bug/1768368
+source="https://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.bz2
+ musl-libc.patch"
+
+prepare() {
+ default_prepare
+
+ # run-program test is hard-coded to use /bin/ed but it should be /usr/bin/ed
+ sed -i 's,/bin/ed,/usr/bin/ed,g' tests/run-program.impure.lisp
+}
+
+build() {
+ ./make.sh --prefix=/usr --with-dlclose-is-noop --xc-host=clisp
+}
+
+check() {
+ cd tests && sh run-tests.sh
+}
+
+package() {
+ INSTALL_ROOT="$pkgdir"/usr sh install.sh
+}
+
+sha512sums="c29c115fff0e118e5c05959dd8d73ae876458daeb5ddde67ce485b10e6d1583b1f8a9597b54b45606696ab1b1eea5392dcb09357c83fce31323f2a5a154f2dd1 sbcl-2.0.3-source.tar.bz2
+e6757e4cc623682c501ab5e255a881833ff393efac829ffe9f67fff0a005724c3c03a23352b4c88d58b3d15dbb0cf33c8cc58d72d3795abb2f12a4bca4302165 musl-libc.patch"
diff --git a/experimental/sbcl/musl-libc.patch b/experimental/sbcl/musl-libc.patch
new file mode 100644
index 000000000..1aa5cb557
--- /dev/null
+++ b/experimental/sbcl/musl-libc.patch
@@ -0,0 +1,180 @@
+diff --git a/contrib/sb-bsd-sockets/constants.lisp b/contrib/sb-bsd-sockets/constants.lisp
+index 88f5bb7c4..23fd87277 100644
+--- a/contrib/sb-bsd-sockets/constants.lisp
++++ b/contrib/sb-bsd-sockets/constants.lisp
+@@ -93,8 +93,8 @@
+ (:integer EAFNOSUPPORT "EAFNOSUPPORT")
+ (:integer EINPROGRESS "EINPROGRESS")
+
+- (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "NETDB_INTERNAL" "See errno.")
+- (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "NETDB_SUCCESS" "No problem.")
++ (:integer-no-check NETDB-INTERNAL #-os-provides-netdb-internal "-1" #+(and os-provides-netdb-internal hpux) "h_NETDB_INTERNAL" #+(and os-provides-netdb-internal (not hpux)) "NETDB_INTERNAL" "See errno.")
++ (:integer-no-check NETDB-SUCCESS #-os-provides-netdb-internal "0" #+(and os-provides-netdb-internal hpux) "h_NETDB_SUCCESS" #+(and os-provides-netdb-internal (not hpux)) "NETDB_SUCCESS" "No problem.")
+ (:integer HOST-NOT-FOUND "HOST_NOT_FOUND" "Authoritative Answer Host not found.")
+ (:integer TRY-AGAIN "TRY_AGAIN" "Non-Authoritative Host not found, or SERVERFAIL.")
+ (:integer NO-RECOVERY "NO_RECOVERY" "Non recoverable errors, FORMERR, REFUSED, NOTIMP.")
+diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c
+index fa4f5e490..60b5fea4e 100644
+--- a/src/runtime/linux-os.c
++++ b/src/runtime/linux-os.c
+@@ -187,8 +187,15 @@ isnptl (void)
+ if (strstr (buf, "NPTL")) {
+ return 1;
+ }
++ else {
++ return 0;
++ }
++ }
++ else {
++ /* If the configuration variable is empty, just assume we have a
++ * good enough thread implementation. */
++ return 1;
+ }
+- return 0;
+ }
+ #endif
+
+diff --git a/tests/foreign.test.sh b/tests/foreign.test.sh
+index 7fb757813..9ba8ed3cf 100755
+--- a/tests/foreign.test.sh
++++ b/tests/foreign.test.sh
+@@ -248,16 +248,23 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
+ (assert (= 13 foo))
+ (assert (= 42 (bar)))
+ (note "/original definitions ok")
+- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
+- (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
+- (load-shared-object (truename "$TEST_FILESTEM-b.so"))
+- (note "/reloading ok")
+- (assert (= 42 foo))
+- (assert (= 13 (bar)))
+- (note "/redefined versions ok")
+- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
+- (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
+- (note "/renamed back to originals")
++ ;; test late resolution
++ (eval-when (:compile-toplevel :load-toplevel :execute)
++ (setq *features* (union *features* sb-impl:+internal-features+)))
++ #+dlclose-is-noop
++ (note "/skipping reloading tests")
++ #-dlclose-is-noop
++ (progn
++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
++ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
++ (load-shared-object (truename "$TEST_FILESTEM-b.so"))
++ (note "/reloading ok")
++ (assert (= 42 foo))
++ (assert (= 13 (bar)))
++ (note "/redefined versions ok")
++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
++ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
++ (note "/renamed back to originals"))
+
+ ;; test late resolution
+ #+linkage-table
+@@ -274,13 +278,17 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
+ (load-shared-object (truename "$TEST_FILESTEM-c.so"))
+ (assert (= 43 late-foo))
+ (assert (= 14 (late-bar)))
+- (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
+- (multiple-value-bind (val err) (ignore-errors late-foo)
+- (assert (not val))
+- (assert (typep err 'undefined-alien-error)))
+- (multiple-value-bind (val err) (ignore-errors (late-bar))
+- (assert (not val))
+- (assert (typep err 'undefined-alien-error)))
++ #+dlclose-is-noop
++ (note "/skipping unloading tests")
++ #-dlclose-is-noop
++ (progn
++ (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
++ (multiple-value-bind (val err) (ignore-errors late-foo)
++ (assert (not val))
++ (assert (typep err 'undefined-alien-error)))
++ (multiple-value-bind (val err) (ignore-errors (late-bar))
++ (assert (not val))
++ (assert (typep err 'undefined-alien-error))))
+ (note "/linkage table ok"))
+
+ (sb-ext:exit :code $EXIT_LISP_WIN) ; success convention for Lisp program
+diff --git a/tools-for-build/Makefile b/tools-for-build/Makefile
+index 3f6e4ecf9..39bab2b92 100644
+--- a/tools-for-build/Makefile
++++ b/tools-for-build/Makefile
+@@ -16,6 +16,9 @@ LDLIBS:=$(OS_LIBS)
+
+ all: grovel-headers determine-endianness where-is-mcontext
+
++dlclose-is-noop-test-helper.so: dlclose-is-noop-test-helper.c
++ @$(CC) $(LDFLAGS) -shared $< -o $@ $(LOADLIBES) $(LDLIBS)
++
+ clean:
+ rm -f *.o grovel-headers determine-endianness where-is-mcontext
+ rm -f *.exe
+diff --git a/tools-for-build/dlclose-is-noop-test-helper.c b/tools-for-build/dlclose-is-noop-test-helper.c
+new file mode 100644
+index 000000000..4be7a8e5b
+--- /dev/null
++++ b/tools-for-build/dlclose-is-noop-test-helper.c
+@@ -0,0 +1 @@
++int sbcl_dl_close_test = 42;
+diff --git a/tools-for-build/dlclose-is-noop-test.c b/tools-for-build/dlclose-is-noop-test.c
+new file mode 100644
+index 000000000..f4eab26a5
+--- /dev/null
++++ b/tools-for-build/dlclose-is-noop-test.c
+@@ -0,0 +1,19 @@
++/* test to build and run so that we know if we have a noop dlclose
++ */
++
++#include <dlfcn.h>
++#include <stddef.h>
++
++int main ()
++{
++ void * handle = dlopen("./dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_GLOBAL);
++ dlclose(handle);
++
++ handle = dlopen("./dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_NOLOAD);
++
++ if (handle != NULL) {
++ return 104;
++ } else {
++ return 0;
++ }
++}
+diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh
+index ffc4307eb..bf1448a6a 100644
+--- a/tools-for-build/grovel-features.sh
++++ b/tools-for-build/grovel-features.sh
+@@ -36,3 +36,12 @@
+ if [ "$sbcl_arch" = arm ] ; then
+ featurep arm-softfp
+ fi
++
++featurep os-provides-netdb-internal
++
++# We need a helper shared library to test dlclose-is-noop
++$GNUMAKE dlclose-is-noop-test-helper.so > /dev/null 2>&1
++
++featurep dlclose-is-noop
++
++rm -f dlclose-is-noop-test-helper.so
+diff --git a/tools-for-build/os-provides-netdb-internal-test.c b/tools-for-build/os-provides-netdb-internal-test.c
+new file mode 100644
+index 000000000..cab08cc41
+--- /dev/null
++++ b/tools-for-build/os-provides-netdb-internal-test.c
+@@ -0,0 +1,12 @@
++#include <netdb.h>
++
++int main ()
++{
++#if defined NETDB_INTERNAL && defined NETDB_SUCCESS
++ return 104;
++#elif defined h_NETDB_INTERNAL && defined h_NETDB_SUCCESS
++ return 104;
++#else
++ return 0;
++#endif
++}
diff --git a/experimental/zfs-utils/APKBUILD b/experimental/zfs-utils/APKBUILD
new file mode 100644
index 000000000..dc985302e
--- /dev/null
+++ b/experimental/zfs-utils/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# keep these in sync with kernel version
+_kflavour=""
+_kver="5.4.5-mc0"
+_kver2="$_kver-easy"
+pkgname=zfs-utils
+pkgver=0.8.3
+pkgrel=0
+pkgdesc="User utilities for the ZFS filesystem"
+url="https://open-zfs.org"
+arch="all"
+license="CDDL"
+depends=""
+makedepends="eudev-dev libtirpc-dev linux-headers openssl-dev zlib-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc zfs-openrc"
+source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz"
+builddir="$srcdir/zfs-$pkgver"
+
+prepare() {
+ default_prepare
+ update_config_sub
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-linux=/usr/src/linux-$_kver \
+ --with-spec=generic \
+ --with-config=user
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir/usr/share/zfs/zfs-tests"
+}
+
+sha512sums="aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010 zfs-0.8.3.tar.gz"
diff --git a/experimental/zfs/APKBUILD b/experimental/zfs/APKBUILD
new file mode 100644
index 000000000..31991c44d
--- /dev/null
+++ b/experimental/zfs/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# keep these in sync with kernel version
+_kflavour=""
+_kver="5.4.5-mc0"
+_kver2="$_kver-easy"
+pkgname="zfs-$_kver"
+pkgver=0.8.3
+pkgrel=0
+pkgdesc="Linux support for the ZFS filesystem"
+url="https://open-zfs.org"
+arch="all"
+license="CDDL"
+depends="easy-kernel$_kflavour-modules-$_kver zfs-utils"
+makedepends="eudev-dev libtirpc-dev linux-headers openssl-dev zlib-dev
+ easy-kernel$_kflavour-src-$_kver autoconf automake libtool"
+install=""
+subpackages="$pkgname-dev"
+source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz
+ fix-autoconf-redirection-for-dash.patch
+ Linux-5.6-compat-time_t-2c3a83701dd1.patch
+ Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch
+ Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch"
+builddir="$srcdir/zfs-$pkgver"
+
+prepare() {
+ default_prepare
+ update_config_sub
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-linux=/usr/src/linux-$_kver \
+ --with-spec=generic \
+ --with-config=kernel
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+dev() {
+ default_dev
+ mv "$pkgdir/usr/src/spl-$pkgver" "$subpkgdir/usr/src"
+ cd "$pkgdir/usr/src/zfs-$pkgver"
+ mv zfs.release.in zfs_config.h.in "$subpkgdir/usr/src/zfs-$pkgver"
+ cd "$pkgdir/usr/src/zfs-$pkgver/$_kver2"
+ mv Module.symvers zfs.release spl.release "$subpkgdir/usr/src/zfs-$pkgver/$_kver2"
+ rm -r "$pkgdir/usr/src"
+}
+
+sha512sums="aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010 zfs-0.8.3.tar.gz
+47dc563fc1daa4c67096d2316ed2cea6aeaf4ca9e0daa41f2036a4ff3dcb542c88534ac25033a23e8fa97a9b82e56a8933f9fa56bae8a1fa07c1b15eb18f68f8 fix-autoconf-redirection-for-dash.patch
+a74bb30ef2e5f28fdc7b0cfe915f2841762ec8f6cd2368d2e4ba8627443e8e0754011a88b743e27519d191464e35e6c923510451f2a86d7e1a4ad3c5b737015f Linux-5.6-compat-time_t-2c3a83701dd1.patch
+a791406265a6e1501e743b6f13764736439a14a9dfc1feaabc5fc82e27de1b2adf56b566c162fc42313f311fbf76c3213f7c2c05a518de36f96887e3d462e94a Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch
+9c78793a5840bc5fb5bb44a210124c1c8f09ce0ddfe88b91be8dbde5465763912308b89cd87300fd05b898076366528612c34a9c2f834d3b6573aa68eb442ec3 Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch" \ No newline at end of file
diff --git a/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch b/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch
new file mode 100644
index 000000000..1b0402d29
--- /dev/null
+++ b/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch
@@ -0,0 +1,145 @@
+commit ff5587d651371ab496f7962e85fe2c337fdb8a59
+Author: Brian Behlendorf <behlendorf1@llnl.gov>
+Date: Wed Feb 26 12:42:33 2020 -0800
+
+ Linux 5.6 compat: ktime_get_raw_ts64()
+
+ The getrawmonotonic() and getrawmonotonic64() interfaces have been
+ fully retired. Update gethrtime() to use the replacement interface
+ ktime_get_raw_ts64() which was introduced in the 4.18 kernel.
+
+ Reviewed-by: Tony Hutter <hutter2@llnl.gov>
+ Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+ Closes #10052
+ Closes #10064
+
+diff --git a/config/kernel-ktime.m4 b/config/kernel-ktime.m4
+new file mode 100644
+index 000000000..64c3b5f90
+--- /dev/null
++++ b/config/kernel-ktime.m4
+@@ -0,0 +1,55 @@
++dnl #
++dnl # 4.18: ktime_get_coarse_real_ts64() replaces current_kernel_time64().
++dnl #
++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
++ ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
++ #include <linux/mm.h>
++ ], [
++ struct timespec64 ts;
++ ktime_get_coarse_real_ts64(&ts);
++ ])
++])
++
++AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
++ AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
++ ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
++ [ktime_get_coarse_real_ts64() exists])
++ ], [
++ AC_MSG_RESULT(no)
++ ])
++])
++
++dnl #
++dnl # 4.18: ktime_get_raw_ts64() replaces getrawmonotonic64().
++dnl #
++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64], [
++ ZFS_LINUX_TEST_SRC([ktime_get_raw_ts64], [
++ #include <linux/mm.h>
++ ], [
++ struct timespec64 ts;
++ ktime_get_raw_ts64(&ts);
++ ])
++])
++
++AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_RAW_TS64], [
++ AC_MSG_CHECKING([whether ktime_get_raw_ts64() exists])
++ ZFS_LINUX_TEST_RESULT([ktime_get_raw_ts64], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_KTIME_GET_RAW_TS64, 1,
++ [ktime_get_raw_ts64() exists])
++ ], [
++ AC_MSG_RESULT(no)
++ ])
++])
++
++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME], [
++ ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
++ ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64
++])
++
++AC_DEFUN([ZFS_AC_KERNEL_KTIME], [
++ ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
++ ZFS_AC_KERNEL_KTIME_GET_RAW_TS64
++])
+diff --git a/config/kernel-ktime_get_coarse_real_ts64.m4 b/config/kernel-ktime_get_coarse_real_ts64.m4
+deleted file mode 100644
+index 28492bf04..000000000
+--- a/config/kernel-ktime_get_coarse_real_ts64.m4
++++ /dev/null
+@@ -1,23 +0,0 @@
+-dnl #
+-dnl # 4.18: ktime_get_coarse_real_ts64() added. Use it in place of
+-dnl # current_kernel_time64().
+-dnl #
+-AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
+- ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
+- #include <linux/mm.h>
+- ], [
+- struct timespec64 ts;
+- ktime_get_coarse_real_ts64(&ts);
+- ])
+-])
+-
+-AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
+- AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
+- ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
+- AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
+- [ktime_get_coarse_real_ts64() exists])
+- ], [
+- AC_MSG_RESULT(no)
+- ])
+-])
+diff --git a/config/kernel.m4 b/config/kernel.m4
+index 6bb37937c..a0fa2514e 100644
+--- a/config/kernel.m4
++++ b/config/kernel.m4
+@@ -114,7 +114,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
+ ZFS_AC_KERNEL_SRC_CURRENT_TIME
+ ZFS_AC_KERNEL_SRC_USERNS_CAPABILITIES
+ ZFS_AC_KERNEL_SRC_IN_COMPAT_SYSCALL
+- ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
++ ZFS_AC_KERNEL_SRC_KTIME
+ ZFS_AC_KERNEL_SRC_TOTALRAM_PAGES_FUNC
+ ZFS_AC_KERNEL_SRC_TOTALHIGH_PAGES
+ ZFS_AC_KERNEL_SRC_KSTRTOUL
+@@ -208,7 +208,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
+ ZFS_AC_KERNEL_CURRENT_TIME
+ ZFS_AC_KERNEL_USERNS_CAPABILITIES
+ ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
+- ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
++ ZFS_AC_KERNEL_KTIME
+ ZFS_AC_KERNEL_TOTALRAM_PAGES_FUNC
+ ZFS_AC_KERNEL_TOTALHIGH_PAGES
+ ZFS_AC_KERNEL_KSTRTOUL
+diff --git a/include/spl/sys/time.h b/include/spl/sys/time.h
+index 312415b7b..56fd725c0 100644
+--- a/include/spl/sys/time.h
++++ b/include/spl/sys/time.h
+@@ -105,8 +105,13 @@ gethrestime_sec(void)
+ static inline hrtime_t
+ gethrtime(void)
+ {
++#if defined(HAVE_KTIME_GET_RAW_TS64)
++ struct timespec64 ts;
++ ktime_get_raw_ts64(&ts);
++#else
+ struct timespec ts;
+ getrawmonotonic(&ts);
++#endif
+ return (((hrtime_t)ts.tv_sec * NSEC_PER_SEC) + ts.tv_nsec);
+ }
+
diff --git a/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch b/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch
new file mode 100644
index 000000000..7a97d968f
--- /dev/null
+++ b/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch
@@ -0,0 +1,110 @@
+commit 2c3a83701dd185cadb30db4556256534e2930c7d
+Author: Brian Behlendorf <behlendorf1@llnl.gov>
+Date: Wed Feb 26 13:18:07 2020 -0800
+
+ Linux 5.6 compat: time_t
+
+ As part of the Linux kernel's y2038 changes the time_t type has been
+ fully retired. Callers are now required to use the time64_t type.
+
+ Rather than move to the new type, I've removed the few remaining
+ places where a time_t is used in the kernel code. They've been
+ replaced with a uint64_t which is already how ZFS internally
+ handled these values.
+
+ Going forward we should work towards updating the remaining user
+ space time_t consumers to the 64-bit interfaces.
+
+ Reviewed-by: Matthew Macy <mmacy@freebsd.org>
+ Reviewed-by: Tony Hutter <hutter2@llnl.gov>
+ Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+ Closes #10052
+ Closes #10064
+
+diff --git a/include/spl/sys/time.h b/include/spl/sys/time.h
+index 56fd725c0..4309c300b 100644
+--- a/include/spl/sys/time.h
++++ b/include/spl/sys/time.h
+@@ -85,7 +85,7 @@ gethrestime(inode_timespec_t *ts)
+ #endif
+ }
+
+-static inline time_t
++static inline uint64_t
+ gethrestime_sec(void)
+ {
+ #if defined(HAVE_INODE_TIMESPEC64_TIMES)
+diff --git a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h
+index 4f63e1ae5..b55871a5d 100644
+--- a/include/sys/vdev_impl.h
++++ b/include/sys/vdev_impl.h
+@@ -272,7 +272,7 @@ struct vdev {
+ range_tree_t *vdev_initialize_tree; /* valid while initializing */
+ uint64_t vdev_initialize_bytes_est;
+ uint64_t vdev_initialize_bytes_done;
+- time_t vdev_initialize_action_time; /* start and end time */
++ uint64_t vdev_initialize_action_time; /* start and end time */
+
+ /* TRIM related */
+ boolean_t vdev_trim_exit_wanted;
+@@ -293,7 +293,7 @@ struct vdev {
+ uint64_t vdev_trim_rate; /* requested rate (bytes/sec) */
+ uint64_t vdev_trim_partial; /* requested partial TRIM */
+ uint64_t vdev_trim_secure; /* requested secure TRIM */
+- time_t vdev_trim_action_time; /* start and end time */
++ uint64_t vdev_trim_action_time; /* start and end time */
+
+ /* for limiting outstanding I/Os (initialize and TRIM) */
+ kmutex_t vdev_initialize_io_lock;
+diff --git a/lib/libspl/include/sys/time.h b/lib/libspl/include/sys/time.h
+index 291f2190a..c9f616504 100644
+--- a/lib/libspl/include/sys/time.h
++++ b/lib/libspl/include/sys/time.h
+@@ -88,7 +88,7 @@ gethrestime(inode_timespec_t *ts)
+ ts->tv_nsec = tv.tv_usec * NSEC_PER_USEC;
+ }
+
+-static inline time_t
++static inline uint64_t
+ gethrestime_sec(void)
+ {
+ struct timeval tv;
+diff --git a/module/zfs/zfs_debug.c b/module/zfs/zfs_debug.c
+index a64971d0a..d98463f1b 100644
+--- a/module/zfs/zfs_debug.c
++++ b/module/zfs/zfs_debug.c
+@@ -28,7 +28,7 @@
+
+ typedef struct zfs_dbgmsg {
+ procfs_list_node_t zdm_node;
+- time_t zdm_timestamp;
++ uint64_t zdm_timestamp;
+ int zdm_size;
+ char zdm_msg[1]; /* variable length allocation */
+ } zfs_dbgmsg_t;
+diff --git a/module/zfs/vdev_initialize.c b/module/zfs/vdev_initialize.c
+index 3e691c7f5..5899af9fc 100644
+--- a/module/zfs/vdev_initialize.c
++++ b/module/zfs/vdev_initialize.c
+@@ -713,7 +713,7 @@ vdev_initialize_restart(vdev_t *vd)
+ vd->vdev_leaf_zap, VDEV_LEAF_ZAP_INITIALIZE_ACTION_TIME,
+ sizeof (timestamp), 1, &timestamp);
+ ASSERT(err == 0 || err == ENOENT);
+- vd->vdev_initialize_action_time = (time_t)timestamp;
++ vd->vdev_initialize_action_time = timestamp;
+
+ if (vd->vdev_initialize_state == VDEV_INITIALIZE_SUSPENDED ||
+ vd->vdev_offline) {
+diff --git a/module/zfs/vdev_trim.c b/module/zfs/vdev_trim.c
+index c7c429cbd..7dec07e3c 100644
+--- a/module/zfs/vdev_trim.c
++++ b/module/zfs/vdev_trim.c
+@@ -1051,7 +1051,7 @@ vdev_trim_restart(vdev_t *vd)
+ vd->vdev_leaf_zap, VDEV_LEAF_ZAP_TRIM_ACTION_TIME,
+ sizeof (timestamp), 1, &timestamp);
+ ASSERT(err == 0 || err == ENOENT);
+- vd->vdev_trim_action_time = (time_t)timestamp;
++ vd->vdev_trim_action_time = timestamp;
+
+ if (vd->vdev_trim_state == VDEV_TRIM_SUSPENDED ||
+ vd->vdev_offline) {
diff --git a/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch b/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch
new file mode 100644
index 000000000..deb81347b
--- /dev/null
+++ b/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch
@@ -0,0 +1,131 @@
+commit 795699a6cc28b8f1059397e03d1a86d576bfc7dc
+Author: Brian Behlendorf <behlendorf1@llnl.gov>
+Date: Thu Feb 6 12:37:25 2020 -0800
+
+ Linux 5.6 compat: timestamp_truncate()
+
+ The timestamp_truncate() function was added, it replaces the existing
+ timespec64_trunc() function. This change renames our wrapper function
+ to be consistent with the upstream name and updates the compatibility
+ code for older kernels accordingly.
+
+ Reviewed-by: Tony Hutter <hutter2@llnl.gov>
+ Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+ Closes #9956
+ Closes #9961
+
+diff --git a/config/kernel-inode-times.m4 b/config/kernel-inode-times.m4
+index 57e7f31fd..8a79c299e 100644
+--- a/config/kernel-inode-times.m4
++++ b/config/kernel-inode-times.m4
+@@ -1,8 +1,22 @@
+-dnl #
+-dnl # 4.18 API change
+-dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
+-dnl #
+ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [
++
++ dnl #
++ dnl # 5.6 API change
++ dnl # timespec64_trunc() replaced by timestamp_truncate() interface.
++ dnl #
++ ZFS_LINUX_TEST_SRC([timestamp_truncate], [
++ #include <linux/fs.h>
++ ],[
++ struct timespec64 ts;
++ struct inode ip;
++
++ ts = timestamp_truncate(ts, &ip);
++ ])
++
++ dnl #
++ dnl # 4.18 API change
++ dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
++ dnl #
+ ZFS_LINUX_TEST_SRC([inode_times], [
+ #include <linux/fs.h>
+ ],[
+@@ -15,6 +29,15 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [
+ ])
+
+ AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [
++ AC_MSG_CHECKING([whether timestamp_truncate() exists])
++ ZFS_LINUX_TEST_RESULT([timestamp_truncate], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1,
++ [timestamp_truncate() exists])
++ ],[
++ AC_MSG_RESULT(no)
++ ])
++
+ AC_MSG_CHECKING([whether inode->i_*time's are timespec64])
+ ZFS_LINUX_TEST_RESULT([inode_times], [
+ AC_MSG_RESULT(no)
+diff --git a/include/sys/zpl.h b/include/sys/zpl.h
+index 20a3dc674..ef5a0b842 100644
+--- a/include/sys/zpl.h
++++ b/include/sys/zpl.h
+@@ -170,13 +170,14 @@ zpl_dir_emit_dots(struct file *file, zpl_dir_context_t *ctx)
+ }
+ #endif /* HAVE_VFS_ITERATE */
+
+-/*
+- * Linux 4.18, inode times converted from timespec to timespec64.
+- */
+-#if defined(HAVE_INODE_TIMESPEC64_TIMES)
+-#define zpl_inode_timespec_trunc(ts, gran) timespec64_trunc(ts, gran)
++#if defined(HAVE_INODE_TIMESTAMP_TRUNCATE)
++#define zpl_inode_timestamp_truncate(ts, ip) timestamp_truncate(ts, ip)
++#elif defined(HAVE_INODE_TIMESPEC64_TIMES)
++#define zpl_inode_timestamp_truncate(ts, ip) \
++ timespec64_trunc(ts, (ip)->i_sb->s_time_gran)
+ #else
+-#define zpl_inode_timespec_trunc(ts, gran) timespec_trunc(ts, gran)
++#define zpl_inode_timestamp_truncate(ts, ip) \
++ timespec_trunc(ts, (ip)->i_sb->s_time_gran)
+ #endif
+
+ #endif /* _SYS_ZPL_H */
+diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c
+index ec63dbdeb..406cd7ef2 100644
+--- a/module/zfs/zfs_vnops.c
++++ b/module/zfs/zfs_vnops.c
+@@ -3444,8 +3444,8 @@ top:
+
+ if (mask & (ATTR_MTIME | ATTR_SIZE)) {
+ ZFS_TIME_ENCODE(&vap->va_mtime, mtime);
+- ZTOI(zp)->i_mtime = zpl_inode_timespec_trunc(vap->va_mtime,
+- ZTOI(zp)->i_sb->s_time_gran);
++ ZTOI(zp)->i_mtime = zpl_inode_timestamp_truncate(
++ vap->va_mtime, ZTOI(zp));
+
+ SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL,
+ mtime, sizeof (mtime));
+@@ -3453,8 +3453,8 @@ top:
+
+ if (mask & (ATTR_CTIME | ATTR_SIZE)) {
+ ZFS_TIME_ENCODE(&vap->va_ctime, ctime);
+- ZTOI(zp)->i_ctime = zpl_inode_timespec_trunc(vap->va_ctime,
+- ZTOI(zp)->i_sb->s_time_gran);
++ ZTOI(zp)->i_ctime = zpl_inode_timestamp_truncate(vap->va_ctime,
++ ZTOI(zp));
+ SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL,
+ ctime, sizeof (ctime));
+ }
+diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
+index e1c6ce7b7..c1b582574 100644
+--- a/module/zfs/zpl_inode.c
++++ b/module/zfs/zpl_inode.c
+@@ -382,10 +382,8 @@ zpl_setattr(struct dentry *dentry, struct iattr *ia)
+ vap->va_mtime = ia->ia_mtime;
+ vap->va_ctime = ia->ia_ctime;
+
+- if (vap->va_mask & ATTR_ATIME) {
+- ip->i_atime = zpl_inode_timespec_trunc(ia->ia_atime,
+- ip->i_sb->s_time_gran);
+- }
++ if (vap->va_mask & ATTR_ATIME)
++ ip->i_atime = zpl_inode_timestamp_truncate(ia->ia_atime, ip);
+
+ cookie = spl_fstrans_mark();
+ error = -zfs_setattr(ITOZ(ip), vap, 0, cr);
diff --git a/experimental/zfs/fix-autoconf-redirection-for-dash.patch b/experimental/zfs/fix-autoconf-redirection-for-dash.patch
new file mode 100644
index 000000000..aa6e3becc
--- /dev/null
+++ b/experimental/zfs/fix-autoconf-redirection-for-dash.patch
@@ -0,0 +1,11 @@
+--- a/config/kernel.m4 2020-03-28 09:54:37.851263408 +0000
++++ b/config/kernel.m4 2020-03-28 09:54:47.004155429 +0000
+@@ -603,7 +603,7 @@
+ AC_TRY_COMMAND([
+ KBUILD_MODPOST_NOFINAL="$5" KBUILD_MODPOST_WARN="$6"
+ make modules -k -j$TEST_JOBS -C $LINUX_OBJ $ARCH_UM
+- M=$PWD/$1 &>$1/build.log])
++ M=$PWD/$1 >$1/build.log 2>&1])
+ AS_IF([AC_TRY_COMMAND([$2])], [$3], [$4])
+ ])
+
diff --git a/system/adelie-base/APKBUILD b/system/adelie-base/APKBUILD
index 04b100e69..8b06a3699 100644
--- a/system/adelie-base/APKBUILD
+++ b/system/adelie-base/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=adelie-base
pkgver=0.9.4
-pkgrel=0
+pkgrel=1
pkgdesc="The Adélie Linux Base System"
url="https://www.adelielinux.org/"
arch="noarch"
@@ -13,8 +13,8 @@ _core_depends="apk-tools adelie-keys musl-utils shadow
coreutils diffutils findutils
util-linux net-tools
nvi sed psmisc less tzdata"
-depends="adelie-core binutils console-setup debianutils file gettys-openrc
- libarchive-tools man-db patch sed sharutils sysklogd zsh"
+depends="adelie-core binutils debianutils file gettys-openrc
+ kbd libarchive-tools man-db patch sed sharutils sysklogd zsh"
makedepends=""
makedepends_host="$depends"
subpackages="adelie-core:core $pkgname-doc $pkgname-posix $pkgname-lsb dev
diff --git a/system/asciidoctor/APKBUILD b/system/asciidoctor/APKBUILD
index 760f82d81..188751c26 100644
--- a/system/asciidoctor/APKBUILD
+++ b/system/asciidoctor/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Seung Soo Mun <hamletmun@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=asciidoctor
-pkgver=1.5.8
+pkgver=2.0.10
pkgrel=0
pkgdesc="An implementation of AsciiDoc in Ruby"
url="https://rubygems.org/gems/$pkgname"
@@ -13,7 +13,7 @@ makedepends=""
source="https://rubygems.org/downloads/$pkgname-$pkgver.gem"
package() {
- local gemdir="$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$(ruby -e 'puts Gem.default_dir')"
gem install \
--local \
@@ -26,7 +26,7 @@ package() {
rm -rf "$pkgdir"/$gemdir/cache
cd "$pkgdir"
- local i; for i in usr/lib/ruby/gems/*/bin/*; do
+ for i in usr/lib/ruby/gems/*/bin/*; do
if [ -e "$i" ]; then
mkdir -p "$pkgdir"/usr/bin
ln -s /$i "$pkgdir"/usr/bin/
@@ -34,4 +34,4 @@ package() {
done
}
-sha512sums="34ff0df98ff9ebb2d3640629870cd848cf2f4b617564a42e7b30b6cf60c01d1188b4cc695af49550e054c9e833accc1ed5d622b4952ece3da99c8ed98af769ac asciidoctor-1.5.8.gem"
+sha512sums="41db1947da60be27079eaef99c76ae7a20797f0291313ac82582466774a569130e995c674f7ef884a05d3d3783d70df3d5ef83b42ded1c722dd9ab7b1a3357ab asciidoctor-2.0.10.gem"
diff --git a/system/bc/APKBUILD b/system/bc/APKBUILD
index aaa5fc26c..99fb584f3 100644
--- a/system/bc/APKBUILD
+++ b/system/bc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bc
-pkgver=2.5.3
+pkgver=2.6.0
pkgrel=0
pkgdesc="An arbitrary precision numeric processing language (calculator)"
url="https://github.com/gavinhoward/bc"
@@ -25,4 +25,4 @@ package() {
make install
}
-sha512sums="97c0722969c4f2fd907786e0a89f9b403662b1bcdd1aab59418ab3fe140c50584b45eb346008ad94916335418f08433d2634b52b94ae1d7463b665a746f1a608 bc-2.5.3.tar.xz"
+sha512sums="809ca124d110bb96ded253fe8799786b48dc5ff8ab540aa97dc8ed43f5a835841d44a71ed082ded17c1df39b6fe5dc2ce7247be0c771b22d7d354aec40434411 bc-2.6.0.tar.xz"
diff --git a/system/bison/APKBUILD b/system/bison/APKBUILD
index 2c093c6d1..a053dd0b7 100644
--- a/system/bison/APKBUILD
+++ b/system/bison/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bison
-pkgver=3.4.2
+pkgver=3.5.3
pkgrel=0
pkgdesc="The GNU general-purpose parser generator"
arch="all"
@@ -9,7 +9,7 @@ arch="all"
license="GPL-3.0+"
url="https://www.gnu.org/software/bison/bison.html"
depends="m4"
-checkdepends="bison flex"
+checkdepends="bison flex musl-locales"
makedepends="perl"
provider_priority=1
subpackages="$pkgname-doc $pkgname-lang"
@@ -28,7 +28,7 @@ build() {
check() {
# Work around for Bison 3.4.x test failure
- for _calc in {,lex,mf,rec,rp}calc; do
+ for _calc in calc lexcalc mfcalc reccalc rpcalc; do
make -j1 examples/c/$_calc/$_calc
done
make check
@@ -40,4 +40,4 @@ package() {
rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true
}
-sha512sums="00d2b37187b93100ec4b220ce2752d12ccf68f9d0d39b380d375d36dd8a22aa1d6e60156918f95e4493f9531c5d42d8fad38fd807307b491c1ca7ca4177823d9 bison-3.4.2.tar.xz"
+sha512sums="888a1e8d4aeda3ff2d7d0a3a88b63bbfe89bdb718cc64d48c244e05fe6c6cd39526fd88143db379fef3071cf6c2dc2ab2fd69834c24acb23ed5f739584ff6308 bison-3.5.3.tar.xz"
diff --git a/system/bubblewrap/APKBUILD b/system/bubblewrap/APKBUILD
index c4ae4fa31..866bdb468 100644
--- a/system/bubblewrap/APKBUILD
+++ b/system/bubblewrap/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=bubblewrap
-pkgver=0.3.3
+pkgver=0.4.1
pkgrel=0
pkgdesc="Unprivileged sandboxing tool"
url="https://github.com/projectatomic/bubblewrap"
@@ -9,21 +9,23 @@ arch="all"
options="!check suid" # requires suid to already be set in order to check
license="LGPL-2.0+"
makedepends="autoconf automake libcap-dev docbook-xsl"
-checkdepends="sudo"
+checkdepends="python3 sudo"
subpackages="$pkgname-nosuid $pkgname-doc
$pkgname-bash-completion:bashcomp:noarch"
-source="bubblewrap-$pkgver.tar.gz::https://github.com/projectatomic/bubblewrap/archive/v$pkgver.tar.gz
+source="bubblewrap-$pkgver.tar.gz::https://github.com/containers/bubblewrap/archive/v$pkgver.tar.gz
realpath-workaround.patch
- musl-fixes.patch
- tests.patch"
+ tests.patch
+ "
# secfixes:
# 0.3.3-r0:
-# - CVE-2019-12439
+# - CVE-2019-12439
+# 0.4.1-r0:
+# - GHSA-j2qp-rvxj-43vj
prepare() {
- srcdir= NOCONFIGURE=1 ./autogen.sh
default_prepare
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
@@ -39,14 +41,16 @@ build() {
}
check() {
- # Uses sudo to chown root and setuid $builddir/test-bwrap
+ # 1. chown root and chmod u+s $builddir/test-bwrap
+ # 2. Run abuild check (suid test)
+ # 3. Unset permissions on test-bwrap
+ # 4. Run abuild check again (nosuid test)
#
- # As of 0.3.3-r0, all tests pass on ppc64 except those relating
- # to bind mounts over symlinks. Those tests fail because musl's
- # realpath depends on the availability of /proc, which is not
- # available in the middle of the setup procedure since pivot_root
- # has been performed at least once. They have been patched to be
- # skipped.
+ # As of 0.4.1, all tests pass except those relating to bind mounts
+ # over symlinks. Those tests fail because musl's realpath depends on
+ # the availability of /proc, which is not available in the middle of
+ # the setup procedure since pivot_root has been performed at least
+ # once. They have been patched to be skipped.
make check
}
@@ -72,7 +76,6 @@ bashcomp() {
mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/
}
-sha512sums="b1c38fad90ddaa23a5f2dd49f9ec3f9d9af7426af321ae9f7c43dd64f11a448b3502942a42112a1c6ebf8a4dea2e1196b17c31cca9c2f119dc2e0c1674c345ae bubblewrap-0.3.3.tar.gz
+sha512sums="83e036e242503e1364b2d0052bba5127175891203c57bd22ba47a1b1e934fdca64ca620cd0e48c903fa2bc7cdcf92339b8a7fcb8716b54c2e28034b6d6f86adc bubblewrap-0.4.1.tar.gz
400a0446670ebf80f16739f1a7a2878aadc3099424f957ba09ec3df780506c23a11368f0578c9e352d7ca6473fa713df826fad7a20c50338aa5f9fa9ac6b84a4 realpath-workaround.patch
-f59cda3b09dd99db9ca6d97099a15bb2523e054063d677502317ae3165ba2e32105a0ae8f877afc3827bd28d093c9d9d413270f4c87d9fe5f26f3eee670d916e musl-fixes.patch
d572a6296729ab192dd4f04707e0271df600d565897ce089b7f00b9ae6c62e71a087e864b4c4972e0a64aeb222a337ff4ed95560620c200cc44534db1ca79efd tests.patch"
diff --git a/system/bubblewrap/musl-fixes.patch b/system/bubblewrap/musl-fixes.patch
deleted file mode 100644
index ecf626331..000000000
--- a/system/bubblewrap/musl-fixes.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/config.h.in
-+++ b/config.h.in
-@@ -102,3 +102,14 @@
-
- /* Define to 1 if you need to in order for `stat' and other things to work. */
- #undef _POSIX_SOURCE
-+
-+/* taken from glibc unistd.h and fixes musl */
-+#ifndef TEMP_FAILURE_RETRY
-+#define TEMP_FAILURE_RETRY(expression) \
-+ (__extension__ \
-+ ({ long int __result; \
-+ do __result = (long int) (expression); \
-+ while (__result == -1L && errno == EINTR); \
-+ __result; }))
-+#endif
-+
diff --git a/system/check/APKBUILD b/system/check/APKBUILD
index 0cba779fa..7c07b68df 100644
--- a/system/check/APKBUILD
+++ b/system/check/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=check
-pkgver=0.13.0
+pkgver=0.14.0
pkgrel=0
pkgdesc="A unit test framework for C"
url="https://libcheck.github.io/check/"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="9e3a3b4b2e1aae02f6481a3d944a5a9216c1f03d85a2bbd63c05d047095fe16b78e5c4094b464fe531650daba24c58d7343f7ec059ce0e127e9aff1ff86213d0 check-0.13.0.tar.gz"
+sha512sums="07fc85b5eecffeb407f554c0cb737126ed6d68ba0db3d74c14697505f2b410496ff72311f08bbf43d7af1c971f0475e776966e320bfb3fe00cde1ecbe1d6f367 check-0.14.0.tar.gz"
diff --git a/system/console-setup/APKBUILD b/system/console-setup/APKBUILD
deleted file mode 100644
index 3a49f1c50..000000000
--- a/system/console-setup/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: A. Wilcox <awilfox@adelielinux.org>
-# Maintainer: A. Wilcox <awilfox@adelielinux.org>
-pkgname=console-setup
-pkgver=1.194
-pkgrel=0
-pkgdesc="Tools for configuring the console using X Window System key maps"
-url="https://salsa.debian.org/installer-team/console-setup"
-arch="noarch"
-options="!check" # No test suite.
-license="MIT AND GPL-2.0+ AND BSD-3-Clause"
-depends="ckbcomp kbd"
-makedepends="perl"
-subpackages="$pkgname-doc console-fonts:fonts console-keymaps:keymaps
- $pkgname-openrc ckbcomp"
-source="http://ftp.de.debian.org/debian/pool/main/c/$pkgname/${pkgname}_$pkgver.tar.xz
- console-setup.initd
- "
-
-build() {
- make build-linux
-}
-
-package() {
- make prefix="$pkgdir/usr" etcdir="$pkgdir/etc" xkbdir= install-linux
- install -D -m755 "$srcdir"/console-setup.initd "$pkgdir"/etc/init.d/console-setup
-}
-
-fonts() {
- pkgdesc="Console fonts for use with $pkgname"
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/consolefonts "$subpkgdir"/usr/share/
-}
-
-keymaps() {
- pkgdesc="Keyboard layouts for use with $pkgname"
- mkdir -p "$subpkgdir"/etc/console-setup
- mv "$pkgdir"/etc/console-setup/ckb "$subpkgdir"/etc/console-setup/
-}
-
-ckbcomp() {
- pkgdesc="XKB keyboard layout translation utility"
- depends="perl"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/ckbcomp "$subpkgdir"/usr/bin/
-}
-
-sha512sums="fe71480b45e8c88c9e46264f734d0eb21023a6afedfa6412551bb40f7525f14823befe726efc37f152a36d9a8de3aba00cd41f9fe42bcea2780c5cf8764a6b80 console-setup_1.194.tar.xz
-3b8e2c9d8551f9a51bcd33e58771a4f55ff2840f8fe392e0070bd2b6a3911cd9ed9377873538f6904fd99836ac4e0280c712be69d275aae9183dd12ff7efddae console-setup.initd"
diff --git a/system/console-setup/console-setup.initd b/system/console-setup/console-setup.initd
deleted file mode 100644
index bf3479566..000000000
--- a/system/console-setup/console-setup.initd
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/sbin/openrc-run
-# Copyright (c) 2007-2015 The OpenRC Authors.
-# See the Authors file at the top-level directory of this distribution and
-# https://github.com/OpenRC/openrc/blob/master/AUTHORS
-#
-# This file is part of OpenRC. It is subject to the license terms in
-# the LICENSE file found in the top-level directory of this
-# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
-# This file may not be copied, modified, propagated, or distributed
-# except according to the terms contained in the LICENSE file.
-
-description="Applies a keymap and font for the consoles."
-
-depend()
-{
- provide keymaps
- need localmount termencoding
- after bootmisc
- keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
-}
-
-start()
-{
- # Force linux keycodes for PPC.
- if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then
- echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
- fi
-
- ebegin "Loading default key mappings / font"
- setupcon
- eend $? "Error loading key mappings / font" || return $?
-}
diff --git a/system/coreutils/APKBUILD b/system/coreutils/APKBUILD
index 23d96edbd..71c10cca4 100644
--- a/system/coreutils/APKBUILD
+++ b/system/coreutils/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=coreutils
-pkgver=8.31
-pkgrel=4
+pkgver=8.32
+pkgrel=0
pkgdesc="Basic file, shell, and text manipulation utilities"
url="https://www.gnu.org/software/coreutils/"
arch="all"
@@ -15,12 +15,13 @@ subpackages="$pkgname-doc"
[ "${CBUILD}" = "${CHOST}" ] && subpackages="$subpackages $pkgname-lang"
install="$pkgname.post-deinstall"
source="https://ftp.gnu.org/gnu/coreutils/$pkgname-$pkgver.tar.xz
- date-debug.patch
+ cp-dont-delete.patch
disable-csplit-io-err-test.patch
disable-mbrtowc-test.patch
gnulib-tests-dont-require-gpg-passphrase.patch
gnulib-test-fixes.patch
localename-test-fix.patch
+ ls-removed-dirs.patch
test-df-symlink-bindmount.patch
"
[ "${CBUILD}" != "${CHOST}" ] && source="$source
@@ -68,13 +69,14 @@ package() {
done
}
-sha512sums="ef8941dae845bbf5ae5838bc49e44554a766302930601aada6fa594e8088f0fbad74e481ee392ff89633e68b99e4da3f761fcb5d31ee3b233d540fe2a2d4e1af coreutils-8.31.tar.xz
+sha512sums="1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145 coreutils-8.32.tar.xz
+96eecaaea757c0a39136733b6b5a9d97b869c50aa41d2052a293544a59a959de7dfa0412f5613e52ff946da42df5b50403b30c88c0a1a882690219fd4ee2efa9 cp-dont-delete.patch
bd8b5cecba59eba30458c8afa895877d39a987b989bc06b70cd6836e0ef684677aaadcb4949b58a713779fe1df1e15e3903e9be14e306671b86b69018b75de8b disable-csplit-io-err-test.patch
-532ef8210261437855ba3e2fc72ec57b0e0252b2b0f7817990c9629613ece2cdd86cf30aa049f3cff6fbda12ed3bb9a0db3a3642475378ae44ce319bdf005d9b disable-mbrtowc-test.patch
-86944e9ea5493c5b21ab62562a63aa134952738297b21cfb2e8f751db4a695ff25ee1592eb231ed1bb80999bc31f7504c7feffde2e93b4e068c05c44ac83cbdf localename-test-fix.patch
+595be7f580f8906467624959c7eddbd6d7007571d92668b6a1ea5543b73764035b44b02ab5f352c67ec6562a368f220af445edd0a0965fb9826bccfd25ddbdba disable-mbrtowc-test.patch
fd97fccd661befc558b3afb3e32c82dd2cef511a05e6129d49540599297c1b59ab1f109e63a12f585a2348c26c28fb98330c348829d1fe61cf8149d0dd1c989c gnulib-tests-dont-require-gpg-passphrase.patch
08f6de0e4c1615503a276fb7eb8abb3f1a996d3e9e4c789deb1507e9ac66364e3993591e37ee444d239c64bf3b7d61f909c0da5ead3047b75623cd846e9f868f gnulib-test-fixes.patch
-aac3a89b27a7854fbf483e155df9133c3d33a0f36bd55d5606559a7781f9d27d5c17779ea427142311749252767097bf92ec22d4cf86b510568c186da84ff16c date-debug.patch
+b1509e5678a05f24d6e764c047546e5e34a7fbd5edb59c7debedb144a0096d8ac247c7e2722a5f68c90751e5280bec743c9a6ed3e1433c1916294d68d7bca109 localename-test-fix.patch
+c7e7a03ed074d74fa836eaa6372d170b50d5719914160d9a835db25fb958e1fcfa4530231abd8f9b2323958a510750a8a5f65a5cea56555fa8a39dd8abd6e8cc ls-removed-dirs.patch
0b90b7721dd01bd22eba50f73bc756930dd4a8bc78ec408ce7f155a02b520375023897b9d12872030735d908208b912ea7adfac9e8b4d055e617873d982eef56 test-df-symlink-bindmount.patch"
[ "${CBUILD}" != "${CHOST}" ] && sha512sums="
bae804f057252c25452ac178c545dc2c4b4775cbfbdcfd4775edd1a4ed6507882bfac39e2b11ad01b74230ca48d761bf62f11bde5bcbc35a6e5a61cbe4a46e36 051_all_coreutils-mangen.patch
diff --git a/system/coreutils/cp-dont-delete.patch b/system/coreutils/cp-dont-delete.patch
new file mode 100644
index 000000000..a60608952
--- /dev/null
+++ b/system/coreutils/cp-dont-delete.patch
@@ -0,0 +1,72 @@
+From 7b5f0fa47cd04c84975250d5b5da7c98e097e99f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
+Date: Wed, 1 Apr 2020 12:51:34 +0100
+Subject: cp: ensure --attributes-only doesn't remove files
+
+* src/copy.c (copy_internal): Ensure we don't unlink the destination
+unless explicitly requested.
+* tests/cp/attr-existing.sh: Add test cases.
+Fixes https://bugs.gnu.org/40352
+---
+ NEWS | 7 +++++++
+ src/copy.c | 9 +++++----
+ tests/cp/attr-existing.sh | 21 ++++++++++++++++++---
+ 3 files changed, 30 insertions(+), 7 deletions(-)
+
+diff --git a/src/copy.c b/src/copy.c
+index 6e5efc708..54601ce07 100644
+--- a/src/copy.c
++++ b/src/copy.c
+@@ -2211,10 +2211,11 @@ copy_internal (char const *src_name, char const *dst_name,
+ /* Never unlink dst_name when in move mode. */
+ && ! x->move_mode
+ && (x->unlink_dest_before_opening
+- || (x->preserve_links && 1 < dst_sb.st_nlink)
+- || (x->dereference == DEREF_NEVER
+- && ! S_ISREG (src_sb.st_mode))
+- ))
++ || (x->data_copy_required
++ && ((x->preserve_links && 1 < dst_sb.st_nlink)
++ || (x->dereference == DEREF_NEVER
++ && ! S_ISREG (src_sb.st_mode))))
++ ))
+ {
+ if (unlink (dst_name) != 0 && errno != ENOENT)
+ {
+diff --git a/tests/cp/attr-existing.sh b/tests/cp/attr-existing.sh
+index 59ce64183..14fc8445c 100755
+--- a/tests/cp/attr-existing.sh
++++ b/tests/cp/attr-existing.sh
+@@ -19,11 +19,26 @@
+ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+ print_ver_ cp
+
+-printf '1' > file1
+-printf '2' > file2
+-printf '2' > file2.exp
++printf '1' > file1 || framework_failure_
++printf '2' > file2 || framework_failure_
++printf '2' > file2.exp || framework_failure_
+
+ cp --attributes-only file1 file2 || fail=1
+ cmp file2 file2.exp || fail=1
+
++# coreutils v8.32 and before would remove destination files
++# if hardlinked or the source was not a regular file.
++ln file2 link2 || framework_failure_
++cp -a --attributes-only file1 file2 || fail=1
++cmp file2 file2.exp || fail=1
++
++ln -s file1 sym1 || framework_failure_
++returns_ 1 cp -a --attributes-only sym1 file2 || fail=1
++cmp file2 file2.exp || fail=1
++
++# One can still force removal though
++cp -a --remove-destination --attributes-only sym1 file2 || fail=1
++test -L file2 || fail=1
++cmp file1 file2 || fail=1
++
+ Exit $fail
+--
+cgit v1.2.1
+
diff --git a/system/coreutils/date-debug.patch b/system/coreutils/date-debug.patch
deleted file mode 100644
index fc4977e72..000000000
--- a/system/coreutils/date-debug.patch
+++ /dev/null
@@ -1,56 +0,0 @@
->From 402c3646e19c199130e7a6db5238cf5908e51fb8 Mon Sep 17 00:00:00 2001
-From: Assaf Gordon <assafgordon@gmail.com>
-Date: Mon, 13 May 2019 16:37:40 -0600
-Subject: [PATCH] tests: avoid false-positive in date-debug test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When debugging an invalid date due to DST switching, the intermediate
-'normalized time' should not be checked - its value can differ between
-systems (e.g. glibc vs musl).
-
-Reported by Niklas Hambüchen in
-https://lists.gnu.org/r/coreutils/2019-05/msg00031.html
-Analyzed by Rich Felker in
-https://lists.gnu.org/r/coreutils/2019-05/msg00039.html
-
-* tests/misc/date-debug.sh: Replace the exact normalized time
-with 'XX:XX:XX' so different values would not trigger test failure.
----
- tests/misc/date-debug.sh | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/tests/misc/date-debug.sh b/tests/misc/date-debug.sh
-index aa47f1abb..2ce6f4ce8 100755
---- a/tests/misc/date-debug.sh
-+++ b/tests/misc/date-debug.sh
-@@ -71,7 +71,7 @@ date: input timezone: TZ="America/Edmonton" in date string
- date: using specified time as starting value: '02:30:00'
- date: error: invalid date/time value:
- date: user provided time: '(Y-M-D) 2006-04-02 02:30:00'
--date: normalized time: '(Y-M-D) 2006-04-02 03:30:00'
-+date: normalized time: '(Y-M-D) 2006-04-02 XX:XX:XX'
- date: --
- date: possible reasons:
- date: non-existing due to daylight-saving time;
-@@ -81,7 +81,14 @@ date: invalid date 'TZ="America/Edmonton" 2006-04-02 02:30:00'
- EOF
-
- # date should return 1 (error) for invalid date
--returns_ 1 date --debug -d "$in2" >out2 2>&1 || fail=1
-+returns_ 1 date --debug -d "$in2" >out2-t 2>&1 || fail=1
-+
-+# The output line of "normalized time" can differ between systems
-+# (e.g. glibc vs musl) and should not be checked.
-+# See: https://lists.gnu.org/archive/html/coreutils/2019-05/msg00039.html
-+sed '/normalized time:/s/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/ XX:XX:XX/' \
-+ out2-t > out2 || framework_failure_
-+
- compare exp2 out2 || fail=1
-
- ##
---
-2.11.0
-
-
diff --git a/system/coreutils/disable-mbrtowc-test.patch b/system/coreutils/disable-mbrtowc-test.patch
index d338e0324..fb595df0e 100644
--- a/system/coreutils/disable-mbrtowc-test.patch
+++ b/system/coreutils/disable-mbrtowc-test.patch
@@ -4,7 +4,7 @@
#!/bin/sh
-# Test whether the POSIX locale has encoding errors.
-LC_ALL=C \
--./test-mbrtowc${EXEEXT} 5 || exit
+-${CHECKER} ./test-mbrtowc${EXEEXT} 5 || exit
-LC_ALL=POSIX \
--./test-mbrtowc${EXEEXT} 5
+-${CHECKER} ./test-mbrtowc${EXEEXT} 5
+exit 77
diff --git a/system/coreutils/localename-test-fix.patch b/system/coreutils/localename-test-fix.patch
index ff89319c7..17aaa226f 100644
--- a/system/coreutils/localename-test-fix.patch
+++ b/system/coreutils/localename-test-fix.patch
@@ -8,7 +8,7 @@
# if !defined IN_LIBINTL
--- coreutils-8.27/gnulib-tests/localename.c.old 2016-12-31 13:54:43.000000000 +0000
+++ coreutils-8.27/gnulib-tests/localename.c 2017-07-30 16:40:47.098541270 +0000
-@@ -2692,16 +2692,19 @@
+@@ -3111,16 +3111,19 @@
locale_t thread_locale = uselocale (NULL);
if (thread_locale != LC_GLOBAL_LOCALE)
{
diff --git a/system/coreutils/ls-removed-dirs.patch b/system/coreutils/ls-removed-dirs.patch
new file mode 100644
index 000000000..59808345c
--- /dev/null
+++ b/system/coreutils/ls-removed-dirs.patch
@@ -0,0 +1,99 @@
+From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 5 Mar 2020 17:25:29 -0800
+Subject: ls: restore 8.31 behavior on removed directories
+
+* src/ls.c: Do not include <sys/sycall.h>
+(print_dir): Don't worry about whether the directory is removed.
+* tests/ls/removed-directory.sh: Adjust to match new (i.e., old)
+behavior.
+---
+ NEWS | 6 ++++++
+ src/ls.c | 22 ----------------------
+ tests/ls/removed-directory.sh | 10 ++--------
+ 3 files changed, 8 insertions(+), 30 deletions(-)
+
+diff --git a/src/ls.c b/src/ls.c
+index 24b983287..4acf5f44d 100644
+--- a/src/ls.c
++++ b/src/ls.c
+@@ -49,10 +49,6 @@
+ # include <sys/ptem.h>
+ #endif
+
+-#ifdef __linux__
+-# include <sys/syscall.h>
+-#endif
+-
+ #include <stdio.h>
+ #include <assert.h>
+ #include <setjmp.h>
+@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+ struct dirent *next;
+ uintmax_t total_blocks = 0;
+ static bool first = true;
+- bool found_any_entries = false;
+
+ errno = 0;
+ dirp = opendir (name);
+@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+ next = readdir (dirp);
+ if (next)
+ {
+- found_any_entries = true;
+ if (! file_ignored (next->d_name))
+ {
+ enum filetype type = unknown;
+@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+ if (errno != EOVERFLOW)
+ break;
+ }
+-#ifdef __linux__
+- else if (! found_any_entries)
+- {
+- /* If readdir finds no directory entries at all, not even "." or
+- "..", then double check that the directory exists. */
+- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
+- && errno != EINVAL)
+- {
+- /* We exclude EINVAL as that pertains to buffer handling,
+- and we've passed NULL as the buffer for simplicity.
+- ENOENT is returned if appropriate before buffer handling. */
+- file_failure (command_line_arg, _("reading directory %s"), name);
+- }
+- break;
+- }
+-#endif
+ else
+ break;
+
+diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
+index e8c835dab..fe8f929a1 100755
+--- a/tests/ls/removed-directory.sh
++++ b/tests/ls/removed-directory.sh
+@@ -26,20 +26,14 @@ case $host_triplet in
+ *) skip_ 'non linux kernel' ;;
+ esac
+
+-LS_FAILURE=2
+-
+-cat <<\EOF >exp-err || framework_failure_
+-ls: reading directory '.': No such file or directory
+-EOF
+-
+ cwd=$(pwd)
+ mkdir d || framework_failure_
+ cd d || framework_failure_
+ rmdir ../d || framework_failure_
+
+-returns_ $LS_FAILURE ls >../out 2>../err || fail=1
++ls >../out 2>../err || fail=1
+ cd "$cwd" || framework_failure_
+ compare /dev/null out || fail=1
+-compare exp-err err || fail=1
++compare /dev/null err || fail=1
+
+ Exit $fail
+--
+cgit v1.2.1
+
diff --git a/system/e2fsprogs/APKBUILD b/system/e2fsprogs/APKBUILD
index c72ff8c63..6ecbc37f4 100644
--- a/system/e2fsprogs/APKBUILD
+++ b/system/e2fsprogs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=e2fsprogs
-pkgver=1.45.5
+pkgver=1.45.6
pkgrel=0
pkgdesc="Ext2/3/4 filesystem utilities"
url="http://e2fsprogs.sourceforge.net"
@@ -59,6 +59,6 @@ libcom_err() {
mv "$pkgdir"/lib/libcom_err* "$subpkgdir"/lib/
}
-sha512sums="d1a8611b525742387061f390fb24825dfa175997cc7db05decea913fcc7b97a95a3e787091f2920d4a7d4eb1d813568af734a1610229ead09bcbf9f3e262e4ce e2fsprogs-1.45.5.tar.xz
+sha512sums="f3abfb6fe7ef632bb81152e2127d601cadd3fa93162178576a1d5ed82c2286627184b207b85a5b2a1793db0addf0885dfc3b9523bb340443224caf9c6d613b84 e2fsprogs-1.45.6.tar.xz
34ca45c64a132bb4b507cd4ffb763c6d1b7979eccfed20f63417e514871b47639d32f2a3ecff090713c21a0f02ac503d5093960c80401d64081c592d01af279d header-fix.patch
5f8ff2f096da4b445edff72dfa03f27dd8bf5b6733e724205f5661e32fd0bae92849a1aa53e20c6b60c026dc5ed68567b7866fade1ecd0187718509f03fe9145 time64.patch"
diff --git a/system/easy-kernel/APKBUILD b/system/easy-kernel/APKBUILD
index c840c960e..72d4a1c48 100644
--- a/system/easy-kernel/APKBUILD
+++ b/system/easy-kernel/APKBUILD
@@ -5,7 +5,7 @@ _kflavour=""
_patchver=0
_pkgname=easy-kernel$_kflavour
pkgver=5.4.5
-pkgrel=2
+pkgrel=3
pkgname=$_pkgname-$pkgver-mc$_patchver
pkgdesc="The Linux kernel, packaged for your convenience"
url="https://kernel.org/"
@@ -134,13 +134,13 @@ src() {
sha512sums="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f linux-5.4.tar.xz
37c85fcec3bd54d586523f74cfb56db6158152cfbb407469f0da12b24e5de01cbe273ad4e59d41df75011c163922dadf2fe5e919cb6b16f74872e80c28bba1b1 linux-5.4-mc0-patches.tar.xz
-8278765408dbeb860f2b125207f4e47f52c323d7b1596da426510af8a8acdf36decde26d581a902496042b8b7834f5377c4327458b2038f6a10eb653ce7208df config-ppc64
-89b7e2055586a3a71674ebe41cb3f6302b318cc24d8794a970150a1dfe236df4838c8126d6e43b951bbab2680a83b391b03b74317aa794b0371e91426c198008 config-ppc
-072143e5cfb4ba60b2af8de923e5ab8c71224ffee4a97ce6f3a35223afd83e8d86faa15f1d86219d3f8cc4c1b9c2eb4bdc5b0421be7501e5b00916bf63aa0763 config-x86_64
-c699a9499058a2df0692272bd15d7398745459458eb62c99813e0b4de28f359117c6c727be77d75ae08db23cb1824a3bf1f045aaadf88bc53b8267b2c0f6992f config-pmmx
-9d5ae66c32060c90074d2e217ade8dc700262bb737a46e5d7242cb24bb98b54c3d27eb19685fcef1875fbb6bd2283f2a8fda8c37940ea49fa58e891524893046 config-aarch64
-67d61164e5cfebb4127ba3ef265339bfce834f9b8bca1f82d4acdd5cefb673fdb456a837c090667fd6659a28fe7a9480dbbfceac6550e24245c260561cdc6070 config-sparc64
-7b240485f3adc7da4f08612d11c3001e40ab7b50cfdf492eb23aed335bcbf742c92afa39aa1764d8f85599d009a07c8dca77a1e19676d4729d232410bdd36905 config-m68k
+dcf8bc3638b3234df3d66f5b804938113e859ffd1df4c7b689f476ea5d9c43d5df9c58dbb8b4def61e8f720554d9d11db6d6065ed5ded7482d5bb088d838f23e config-ppc64
+7b251676a1e497f3bad5d93744af9ec181ee792ca90f70207116de82e059c901309273e7ca932ed6b336f67338d33efc20aa91ec563e9acd8c2539520ff70f4e config-ppc
+df6ad91d6889bdb5bd0fe8dc8dcddc1d133e290ca900702420160e5a3b8c1edaa3d73cfb7ecbf79e0dd53637d926254859e3cde7d12921f249bee76cb17f38fb config-x86_64
+a0fdd57f57ce52caa83f962a6352c843882ecc9375d9dfa922c389d46f785f358016d5112a2a447475f890727f2a44533dd8e4ebea1e6a48fcc0aad78ea4dd2f config-pmmx
+e5f8f07c588ebbaa53166711b9940aa6d14a72e017df50300f3817c34a1abc2931f191431246d313ba85bc691c97f5094e01460ed98f4dbcd6e4780eefec10bc config-aarch64
+4527b7951620953e83e824c41e2dbc5c49e92f13709500fd849813dc157897da33d177b901ce1304b317a51a7c19a561a891a02e463f98236ff9e6957131d65a config-sparc64
+581da20b2e0db48fcb29fe97ce6cf5d2e6a7092cbe2fd1b48cbdaddc1bc15d24e2470e56394624ff61b94b6ccf25035d07a18d9cbc4c16ac7f2865913a13c0d8 config-m68k
4b2cd7dd0010aaec617c756e7587be7fad6ff0ab3dbc1ed038e3dc72c9308fc9e347c6e5296c30711d914e286aa254600586e2ad954a5da226e6e4c1522b75b5 asound-syntax-fix.patch
61dcd633d72876566b7738dd08856b26850c935b4a81ab2364711335fe01c397083160f530b3382bbc239c6a8135be6a032e93039083ec2cefdae2902429a2e0 kernel.h
6f309a18c65c991240265afd200cc79a706f5d9e5d072838a9a641ab3676a5e4c32033f9767fc723ff4c45ee462169a0f77bd7dfe63b547d521dadd073f827a7 uapi-iphdr.patch"
diff --git a/system/easy-kernel/config-aarch64 b/system/easy-kernel/config-aarch64
index 4a6a7889b..9241599cd 100644
--- a/system/easy-kernel/config-aarch64
+++ b/system/easy-kernel/config-aarch64
@@ -7014,7 +7014,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-m68k b/system/easy-kernel/config-m68k
index 1b8be2d03..a180ea561 100644
--- a/system/easy-kernel/config-m68k
+++ b/system/easy-kernel/config-m68k
@@ -2629,7 +2629,9 @@ CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_DFS_UPCALL is not set
CONFIG_CODA_FS=m
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-pmmx b/system/easy-kernel/config-pmmx
index 68358793f..c27e17981 100644
--- a/system/easy-kernel/config-pmmx
+++ b/system/easy-kernel/config-pmmx
@@ -6680,7 +6680,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-ppc b/system/easy-kernel/config-ppc
index 60dfb0409..816582f7f 100644
--- a/system/easy-kernel/config-ppc
+++ b/system/easy-kernel/config-ppc
@@ -5262,7 +5262,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-ppc64 b/system/easy-kernel/config-ppc64
index 1bdb0d81b..c17fb433c 100644
--- a/system/easy-kernel/config-ppc64
+++ b/system/easy-kernel/config-ppc64
@@ -5179,7 +5179,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-sparc64 b/system/easy-kernel/config-sparc64
index 8230ed3f2..c4e4f71d9 100644
--- a/system/easy-kernel/config-sparc64
+++ b/system/easy-kernel/config-sparc64
@@ -4694,7 +4694,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/easy-kernel/config-x86_64 b/system/easy-kernel/config-x86_64
index 84397a343..b3df96c68 100644
--- a/system/easy-kernel/config-x86_64
+++ b/system/easy-kernel/config-x86_64
@@ -6842,7 +6842,9 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
diff --git a/system/execline/APKBUILD b/system/execline/APKBUILD
index 3e903ee56..bc7328ea3 100644
--- a/system/execline/APKBUILD
+++ b/system/execline/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=execline
-pkgver=2.5.3.0
+pkgver=2.6.0.2
pkgrel=0
pkgdesc="A small scripting language for non-interactive scripts"
url="https://skarnet.org/software/$pkgname/"
@@ -20,7 +20,8 @@ build() {
--enable-allstatic \
--enable-static-libc \
--libdir=/usr/lib \
- --with-dynlib=/lib
+ --with-dynlib=/lib \
+ --enable-pedantic-posix
make
}
@@ -61,4 +62,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="75b584e2365288bb1d05fd67e390fab1b6ccf48cb0a2ccbfb84a7d22ddf6957c9c591ab165542ed180b2ff1ef9ceb2a16cbae569e69c5dd5f20e52be092cff15 execline-2.5.3.0.tar.gz"
+sha512sums="915823af0d557fc7a181e088ce319568e62ea4bf743704e498786422c97b991e6b09447c7cff7d7dda520d391773ef4b2fea68e44479c02766966256719bb4c0 execline-2.6.0.2.tar.gz"
diff --git a/system/gettext-tiny/APKBUILD b/system/gettext-tiny/APKBUILD
index ce62d5c99..a1d199ecd 100644
--- a/system/gettext-tiny/APKBUILD
+++ b/system/gettext-tiny/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gettext-tiny
pkgver=0.3.1_git20191130
-pkgrel=2
+pkgrel=3
pkgdesc="An internationalisation and localisation system"
url="https://github.com/sabotage-linux/gettext-tiny"
arch="all"
@@ -16,6 +16,7 @@ source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
line-length.patch
respect-cflags.patch
stop-doing-macro-crap.patch
+ msgfmt-exit.patch
"
build() {
@@ -30,4 +31,5 @@ sha512sums="a318135626a0403a30a81fa475f7e1878b8af5a87053b0e00876c73b591508f3cf1e
8efbf9c11429ab26f3c15e00c34258200598833b8f846a23e4c8d95023c2184d9dcf9cbb48d58eec1604442691af76e6f8e904ad7348016c393257aa30eae7cd keyword.patch
0a26a8481bffe2ce8c73f7f500963aea9db8379fb87849142d8efabf1656604b22f6ad345483256f14c388466f2f44e5924b9f65d88f26867a753a96d1529270 line-length.patch
b4e7db4e415f6bc31f2214f2044506ad18ea0bd3cae4200d93bbd34aa493c7478a7f953d0a7e08f29f0fd5a5d7b7cbfa2bcfd5692c37e423706a1c193239bf1d respect-cflags.patch
-cd4cfc8cc6ea998f1e33ef666e3b9c3de3f3253994bccc942b177773c94f785e3892cb7d5f34bec1102dc7558236c07c5eac90e15d755e12ee06836336373526 stop-doing-macro-crap.patch"
+cd4cfc8cc6ea998f1e33ef666e3b9c3de3f3253994bccc942b177773c94f785e3892cb7d5f34bec1102dc7558236c07c5eac90e15d755e12ee06836336373526 stop-doing-macro-crap.patch
+0037a1347f9ac2aa6f68160441b83c35ce8128ca140be93f3c508e6cd02161e49edff82034877ed11c127886337455ff4ea941b6a14168c2ca69aa82a7cff8a5 msgfmt-exit.patch"
diff --git a/system/gettext-tiny/msgfmt-exit.patch b/system/gettext-tiny/msgfmt-exit.patch
new file mode 100644
index 000000000..f5ff3fbb8
--- /dev/null
+++ b/system/gettext-tiny/msgfmt-exit.patch
@@ -0,0 +1,36 @@
+From 0e62c2588742cfffd3dc81c09ecc8488c0ce25b9 Mon Sep 17 00:00:00 2001
+From: Max Rees <maxcrees@me.com>
+Date: Sun, 22 Mar 2020 20:20:15 -0500
+Subject: [PATCH] msgfmt: exit(1) if incorrectly used
+
+This prevents builds from continuing seemingly fine when they are
+actually not using this version of msgfmt correctly.
+---
+ src/msgfmt.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/msgfmt.c b/src/msgfmt.c
+index aa16c5e..3de9a56 100644
+--- a/src/msgfmt.c
++++ b/src/msgfmt.c
+@@ -278,7 +278,7 @@ void set_file(int out, char* fn, FILE** dest) {
+ int main(int argc, char**argv) {
+ if (argc == 1) {
+ syntax();
+- return 0;
++ return 1;
+ }
+
+ int arg = 1;
+@@ -376,7 +376,7 @@ int main(int argc, char**argv) {
+ streq(A+1, "D")
+ ) {
+ syntax();
+- return 0;
++ return 1;
+ } else if (streq(A+1, "l")) {
+ arg++;
+ locale = A;
+--
+2.25.1
+
diff --git a/system/git/APKBUILD b/system/git/APKBUILD
index 45d7b033b..04762f7ef 100644
--- a/system/git/APKBUILD
+++ b/system/git/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=git
-pkgver=2.25.1
+pkgver=2.25.4
pkgrel=0
pkgdesc="Distributed version control system"
url="https://www.git-scm.com/"
@@ -21,7 +21,6 @@ subpackages="$pkgname-doc
$pkgname-daemon
$pkgname-gitweb
$pkgname-subtree::noarch
- $pkgname-subtree-doc:subtree_doc:noarch
$pkgname-lang
"
replaces="git-perl perl-git"
@@ -33,20 +32,24 @@ source="https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz
_gitcoredir=/usr/libexec/git-core
# secfixes:
-# 2.24.1:
-# - CVE-2019-1348
-# - CVE-2019-1349
-# - CVE-2019-1350
-# - CVE-2019-1351
-# - CVE-2019-1352
-# - CVE-2019-1353
-# - CVE-2019-1354
-# - CVE-2019-1387
-# - CVE-2019-19604
-# 2.19.2:
-# - CVE-2018-19486
-# 2.14.1:
-# - CVE-2017-1000117
+# 2.25.4-r0:
+# - CVE-2020-11008
+# 2.25.3-r0:
+# - CVE-2020-5260
+# 2.24.1-r0:
+# - CVE-2019-1348
+# - CVE-2019-1349
+# - CVE-2019-1350
+# - CVE-2019-1351
+# - CVE-2019-1352
+# - CVE-2019-1353
+# - CVE-2019-1354
+# - CVE-2019-1387
+# - CVE-2019-19604
+# 2.19.2-r0:
+# - CVE-2018-19486
+# 2.14.1-r0:
+# - CVE-2017-1000117
prepare() {
default_prepare
@@ -163,17 +166,7 @@ subtree() {
make install prefix=/usr DESTDIR="$subpkgdir"
}
-subtree_doc() {
- depends=""
- pkgdesc="Split git repository into subtrees (documentation)"
- replaces=""
-
- cd "$builddir"/contrib/subtree
- make install-man prefix=/usr DESTDIR="$subpkgdir"
- gzip -9 "$subpkgdir"/usr/share/man/man1/git-subtree.1
-}
-
-sha512sums="15241143acfd8542d85d2709ac3c80dbd6e8d5234438f70c4f33cc71a2bdec3e32938df7f6351e2746d570b021d3bd0b70474ea4beec0c51d1fc45f9c287b344 git-2.25.1.tar.xz
+sha512sums="ca2ecc561d06dbb393fe47d445f0d69423d114766d9bcc125ef1d6d37e350ad903c456540cea420c1a51635b750cde3901e4196f29ce95b315fda11270173450 git-2.25.4.tar.xz
0a0935d876024d96156df3aeec06b47fd9e370484d4552786c450cb500ae671a631e64c30994ec39f43a2f313f75d68909688ea92b47327d1af65e365dc77480 dont-test-other-encodings.patch
89528cdd14c51fd568aa61cf6c5eae08ea0844e59f9af9292da5fc6c268261f4166017d002d494400945e248df6b844e2f9f9cd2d9345d516983f5a110e4c42a git-daemon.initd
fbf1f425206a76e2a8f82342537ed939ff7e623d644c086ca2ced5f69b36734695f9f80ebda1728f75a94d6cd2fcb71bf845b64239368caab418e4d368c141ec git-daemon.confd"
diff --git a/system/help2man/APKBUILD b/system/help2man/APKBUILD
index 822ae754e..0bb2530e1 100644
--- a/system/help2man/APKBUILD
+++ b/system/help2man/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=help2man
-pkgver=1.47.12
+pkgver=1.47.13
pkgrel=0
pkgdesc="Create simple man pages from --help output"
url="https://www.gnu.org/software/help2man"
@@ -28,4 +28,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fb71e48e4a7a0f4316148295ea539b667a131149f4467da0f3e283389c9d9f2a5f1e9124ca8d64d6c3250d332a713d4e8de204ca9e7088840e74f316fa5221be help2man-1.47.12.tar.xz"
+sha512sums="7bf4c75a42c103dd8413a94505f383c6e2b215f9a4cc506e11935acc7f108caad01a5fa489ee157ebef5fa02299145592f65cc828fc016417af557382975d57a help2man-1.47.13.tar.xz"
diff --git a/system/icu/APKBUILD b/system/icu/APKBUILD
index 4165246a3..046698316 100644
--- a/system/icu/APKBUILD
+++ b/system/icu/APKBUILD
@@ -6,7 +6,7 @@ pkgver=65.1
# convert x.y.z to x_y_z
_ver=$(printf '%s' "$pkgver" | tr . _)
-pkgrel=0
+pkgrel=1
pkgdesc="International Components for Unicode"
url="http://site.icu-project.org/"
arch="all"
@@ -17,6 +17,7 @@ makedepends=""
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs"
source="https://github.com/unicode-org/icu/releases/download/release-$(printf '%s' "$pkgver" | tr . -)/${pkgname}4c-$_ver-src.tgz
icu-60.2-always-use-utf8.patch
+ CVE-2020-10531.patch
"
# secfixes:
@@ -27,6 +28,9 @@ source="https://github.com/unicode-org/icu/releases/download/release-$(printf '%
# 58.2-r2:
# - CVE-2017-7867
# - CVE-2017-7868
+# 65.1-r1:
+# - CVE-2020-10531
+
builddir="$srcdir"/icu/source
prepare() {
@@ -73,4 +77,5 @@ static() {
}
sha512sums="8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 icu4c-65_1-src.tgz
-f86c62422f38f6485c58d4766e629bab69e4b0e00fa910854e40e7db1ace299152eaefa99ae2fbab7465e65d3156cbea7124612defa60680db58ab5c34d6262f icu-60.2-always-use-utf8.patch"
+f86c62422f38f6485c58d4766e629bab69e4b0e00fa910854e40e7db1ace299152eaefa99ae2fbab7465e65d3156cbea7124612defa60680db58ab5c34d6262f icu-60.2-always-use-utf8.patch
+2901235a24b1973516e495473188b077eb0486714ac47f702f226a3406176e913672159978b67548a1316284ecc716e06158b05c190ddfa83ad576a7a3539d72 CVE-2020-10531.patch"
diff --git a/system/icu/CVE-2017-7867-7868.patch b/system/icu/CVE-2017-7867-7868.patch
deleted file mode 100644
index df18283c2..000000000
--- a/system/icu/CVE-2017-7867-7868.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-Index: source/common/utext.cpp
-===================================================================
---- source/common/utext.cpp (revision 39670)
-+++ source/common/utext.cpp (revision 39671)
-@@ -848,7 +848,13 @@
-
- // Chunk size.
--// Must be less than 85, because of byte mapping from UChar indexes to native indexes.
--// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes
--// to two UChars.)
-+// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes.
-+// Worst case there are six UTF-8 bytes per UChar.
-+// obsolete 6 byte form fd + 5 trails maps to fffd
-+// obsolete 5 byte form fc + 4 trails maps to fffd
-+// non-shortest 4 byte forms maps to fffd
-+// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit
-+// mapToUChars array size must allow for the worst case, 6.
-+// This could be brought down to 4, by treating fd and fc as pure illegal,
-+// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros.
- //
- enum { UTF8_TEXT_CHUNK_SIZE=32 };
-@@ -890,5 +896,5 @@
- // one for a supplementary starting in the last normal position,
- // and one for an entry for the buffer limit position.
-- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to
-+ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to
- // correspoding offset in filled part of buf.
- int32_t align;
-@@ -1033,4 +1039,5 @@
- u8b = (UTF8Buf *)ut->p; // the current buffer
- mapIndex = ix - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- return TRUE;
-@@ -1299,4 +1306,8 @@
- // If index is at the end, there is no character there to look at.
- if (ix != ut->b) {
-+ // Note: this function will only move the index back if it is on a trail byte
-+ // and there is a preceding lead byte and the sequence from the lead
-+ // through this trail could be part of a valid UTF-8 sequence
-+ // Otherwise the index remains unchanged.
- U8_SET_CP_START(s8, 0, ix);
- }
-@@ -1312,5 +1323,8 @@
- uint8_t *mapToNative = u8b->mapToNative;
- uint8_t *mapToUChars = u8b->mapToUChars;
-- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1);
-+ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1;
-+ // Note that toUCharsMapStart can be negative. Happens when the remaining
-+ // text from current position to the beginning is less than the buffer size.
-+ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry.
- int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region
- // at end of buffer to leave room
-@@ -1339,4 +1353,5 @@
- // Special case ASCII range for speed.
- buf[destIx] = (UChar)c;
-+ U_ASSERT(toUCharsMapStart <= srcIx);
- mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx;
- mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart);
-@@ -1368,4 +1383,5 @@
- mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx;
- } while (sIx >= srcIx);
-+ U_ASSERT(toUCharsMapStart <= (srcIx+1));
-
- // Set native indexing limit to be the current position.
-@@ -1542,4 +1558,5 @@
- U_ASSERT(index<=ut->chunkNativeLimit);
- int32_t mapIndex = index - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- U_ASSERT(offset>=0 && offset<=ut->chunkLength);
-Index: source/test/intltest/utxttest.cpp
-===================================================================
---- source/test/intltest/utxttest.cpp (revision 39670)
-+++ source/test/intltest/utxttest.cpp (revision 39671)
-@@ -68,4 +68,6 @@
- case 7: name = "Ticket12130";
- if (exec) Ticket12130(); break;
-+ case 8: name = "Ticket12888";
-+ if (exec) Ticket12888(); break;
- default: name = ""; break;
- }
-@@ -1584,2 +1586,62 @@
- utext_close(&ut);
- }
-+
-+// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal,
-+// six byte utf-8 forms. Original implementation had an assumption that
-+// there would be at most three utf-8 bytes per UTF-16 code unit.
-+// The five and six byte sequences map to a single replacement character.
-+
-+void UTextTest::Ticket12888() {
-+ const char *badString =
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80";
-+
-+ UErrorCode status = U_ZERO_ERROR;
-+ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status));
-+ TEST_SUCCESS(status);
-+ for (;;) {
-+ UChar32 c = utext_next32(ut.getAlias());
-+ if (c == U_SENTINEL) {
-+ break;
-+ }
-+ }
-+ int32_t endIdx = utext_getNativeIndex(ut.getAlias());
-+ if (endIdx != (int32_t)strlen(badString)) {
-+ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx);
-+ return;
-+ }
-+
-+ for (int32_t prevIndex = endIdx; prevIndex>0;) {
-+ UChar32 c = utext_previous32(ut.getAlias());
-+ int32_t currentIndex = utext_getNativeIndex(ut.getAlias());
-+ if (c != 0xfffd) {
-+ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n",
-+ __FILE__, __LINE__, 0xfffd, c, currentIndex);
-+ break;
-+ }
-+ if (currentIndex != prevIndex - 6) {
-+ errln("%s:%d: wrong index. Expected, actual = %d, %d",
-+ __FILE__, __LINE__, prevIndex - 6, currentIndex);
-+ break;
-+ }
-+ prevIndex = currentIndex;
-+ }
-+}
-Index: source/test/intltest/utxttest.h
-===================================================================
---- source/test/intltest/utxttest.h (revision 39670)
-+++ source/test/intltest/utxttest.h (revision 39671)
-@@ -39,4 +39,5 @@
- void Ticket10983();
- void Ticket12130();
-+ void Ticket12888();
-
- private:
diff --git a/system/icu/CVE-2020-10531.patch b/system/icu/CVE-2020-10531.patch
new file mode 100644
index 000000000..f456b06ec
--- /dev/null
+++ b/system/icu/CVE-2020-10531.patch
@@ -0,0 +1,118 @@
+From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001
+From: Frank Tang <ftang@chromium.org>
+Date: Sat, 1 Feb 2020 02:39:04 +0000
+Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append
+
+See #971
+---
+ source/common/unistr.cpp | 6 ++-
+ source/test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++
+ source/test/intltest/ustrtest.h | 1 +
+ 3 files changed, 68 insertions(+), 1 deletion(-)
+
+diff --git source/common/unistr.cpp source/common/unistr.cpp
+index 901bb3358ba..077b4d6ef20 100644
+--- source/common/unistr.cpp
++++ source/common/unistr.cpp
+@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng
+ }
+
+ int32_t oldLength = length();
+- int32_t newLength = oldLength + srcLength;
++ int32_t newLength;
++ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) {
++ setToBogus();
++ return *this;
++ }
+
+ // Check for append onto ourself
+ const UChar* oldArray = getArrayStart();
+diff --git source/test/intltest/ustrtest.cpp source/test/intltest/ustrtest.cpp
+index b6515ea813c..ad38bdf53a3 100644
+--- source/test/intltest/ustrtest.cpp
++++ source/test/intltest/ustrtest.cpp
+@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* &
+ TESTCASE_AUTO(TestWCharPointers);
+ TESTCASE_AUTO(TestNullPointers);
+ TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf);
++ TESTCASE_AUTO(TestLargeAppend);
+ TESTCASE_AUTO_END;
+ }
+
+@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() {
+ str.insert(2, sub);
+ assertEquals("", u"abbcdcde", str);
+ }
++
++void UnicodeStringTest::TestLargeAppend() {
++ if(quick) return;
++
++ IcuTestErrorCode status(*this, "TestLargeAppend");
++ // Make a large UnicodeString
++ int32_t len = 0xAFFFFFF;
++ UnicodeString str;
++ char16_t *buf = str.getBuffer(len);
++ // A fast way to set buffer to valid Unicode.
++ // 4E4E is a valid unicode character
++ uprv_memset(buf, 0x4e, len * 2);
++ str.releaseBuffer(len);
++ UnicodeString dest;
++ // Append it 16 times
++ // 0xAFFFFFF times 16 is 0xA4FFFFF1,
++ // which is greater than INT32_MAX, which is 0x7FFFFFFF.
++ int64_t total = 0;
++ for (int32_t i = 0; i < 16; i++) {
++ dest.append(str);
++ total += len;
++ if (total <= INT32_MAX) {
++ assertFalse("dest is not bogus", dest.isBogus());
++ } else {
++ assertTrue("dest should be bogus", dest.isBogus());
++ }
++ }
++ dest.remove();
++ total = 0;
++ for (int32_t i = 0; i < 16; i++) {
++ dest.append(str);
++ total += len;
++ if (total + len <= INT32_MAX) {
++ assertFalse("dest is not bogus", dest.isBogus());
++ } else if (total <= INT32_MAX) {
++ // Check that a string of exactly the maximum size works
++ UnicodeString str2;
++ int32_t remain = INT32_MAX - total;
++ char16_t *buf2 = str2.getBuffer(remain);
++ if (buf2 == nullptr) {
++ // if somehow memory allocation fail, return the test
++ return;
++ }
++ uprv_memset(buf2, 0x4e, remain * 2);
++ str2.releaseBuffer(remain);
++ dest.append(str2);
++ total += remain;
++ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total);
++ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length());
++ assertFalse("dest is not bogus", dest.isBogus());
++
++ // Check that a string size+1 goes bogus
++ str2.truncate(1);
++ dest.append(str2);
++ total++;
++ assertTrue("dest should be bogus", dest.isBogus());
++ } else {
++ assertTrue("dest should be bogus", dest.isBogus());
++ }
++ }
++}
+diff --git source/test/intltest/ustrtest.h source/test/intltest/ustrtest.h
+index 218befdcc68..4a356a92c7a 100644
+--- source/test/intltest/ustrtest.h
++++ source/test/intltest/ustrtest.h
+@@ -97,6 +97,7 @@ class UnicodeStringTest: public IntlTest {
+ void TestWCharPointers();
+ void TestNullPointers();
+ void TestUnicodeStringInsertAppendToSelf();
++ void TestLargeAppend();
+ };
+
+ #endif
diff --git a/system/kbd/APKBUILD b/system/kbd/APKBUILD
index d54e7f29c..deb7fb205 100644
--- a/system/kbd/APKBUILD
+++ b/system/kbd/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kbd
pkgver=2.2.0_git20190823
-pkgrel=0
+pkgrel=1
pkgdesc="Console keyboard and font management utilities"
-url=" "
+url="https://kbd-project.org/"
arch="all"
options="!check" # padding error on at least ppc64
license="GPL-2.0+"
@@ -12,8 +12,13 @@ depends=""
checkdepends="check-dev"
makedepends="linux-headers linux-pam-dev autoconf automake libtool"
subpackages="$pkgname-doc $pkgname-fonts::noarch $pkgname-keymaps::noarch
- $pkgname-lang"
-source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz"
+ $pkgname-lang $pkgname-openrc"
+source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz
+ consolefont.confd
+ consolefont.initd
+ keymaps.confd
+ keymaps.initd
+ "
prepare() {
default_prepare
@@ -37,6 +42,19 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+
+ for i in consolefont keymaps; do
+ install -Dm644 "$srcdir"/$i.confd \
+ "$pkgdir"/etc/conf.d/$i
+ install -Dm755 "$srcdir"/$i.initd \
+ "$pkgdir"/etc/init.d/$i
+ done
+}
+
+openrc() {
+ default_openrc
+ license="BSD-2-Clause"
+ replaces="openrc<0.24.1-r10"
}
fonts() {
@@ -52,4 +70,8 @@ keymaps() {
mv "$pkgdir"/usr/share/unimaps "$subpkgdir"/usr/share/
}
-sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz"
+sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz
+19761fdd2b32c1bbcc9254b89b7893741e144b917a75410af3f274553fe61e2f56cbbd17ff77ac929e9377604663cbbfd9e53c73e7d41e71de6de573730950c7 consolefont.confd
+1e67f75f27ec5de8f71489c83f78e53e8fd0925ae2d82dabf516f98905c5aff206a8e943e92b6af413eae5f0ecb9c2240526dfc3c56811a8dc1d19ced561bba3 consolefont.initd
+af7d37fc6be1382414ca8245ca6f8d2ee8b82650b8a08eebbd980cf6dd2b92524fce2851ce0b2cd67e915488c12044ab50c5ab1f01c3072af87eed3e058ac268 keymaps.confd
+510d7eb582a914fa7cfb868d0c3d55a21ee1519033117d0943a153528b5810d09f6421ddc02d93906c1a66fb7e07e86240f38dad0d38cfb5a8c7e9a6335a937f keymaps.initd"
diff --git a/system/kbd/consolefont.confd b/system/kbd/consolefont.confd
new file mode 100644
index 000000000..4c41d0633
--- /dev/null
+++ b/system/kbd/consolefont.confd
@@ -0,0 +1,20 @@
+# The consolefont service is not activated by default. If you need to
+# use it, you should run "rc-update add consolefont boot" as root.
+#
+# consolefont specifies the default font that you'd like Linux to use on the
+# console. You will have to install a package such as kbd-fonts or
+# terminus-font to have a selection; they will be installed in
+# /usr/share/consolefonts.
+#
+# The following (from terminus-font) is a good font for HiDPI screens.
+#consolefont="ter-i32n"
+
+# consoletranslation is the charset map file to use. Leave commented to use
+# the default one. Have a look in /usr/share/consoletrans for a selection of
+# map files you can use.
+#consoletranslation="8859-1_to_uni"
+
+# unicodemap is the unicode map file to use. Leave commented to use the
+# default one. Have a look in /usr/share/unimaps (from the kbd-keymaps
+# package) for a selection of map files you can use.
+#unicodemap="iso01"
diff --git a/system/kbd/consolefont.initd b/system/kbd/consolefont.initd
new file mode 100644
index 000000000..63d8601c5
--- /dev/null
+++ b/system/kbd/consolefont.initd
@@ -0,0 +1,70 @@
+#!/sbin/openrc-run
+# Copyright (c) 2007-2015 The OpenRC Authors.
+# See the Authors file at the top-level directory of this distribution and
+# https://github.com/OpenRC/openrc/blob/master/AUTHORS
+#
+# This file is part of OpenRC. It is subject to the license terms in
+# the LICENSE file found in the top-level directory of this
+# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
+# This file may not be copied, modified, propagated, or distributed
+# except according to the terms contained in the LICENSE file.
+
+description="Sets a font for the consoles."
+
+depend()
+{
+ need localmount termencoding
+ after hotplug bootmisc modules
+ keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
+}
+
+start()
+{
+ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
+ consolefont=${consolefont:-${CONSOLEFONT}}
+ unicodemap=${unicodemap:-${UNICODEMAP}}
+ consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}}
+
+ if [ -z "$consolefont" ]; then
+ ebegin "Using the default console font"
+ eend 0
+ return 0
+ fi
+
+ if [ "$ttyn" = 0 ]; then
+ ebegin "Skipping font setup (rc_tty_number == 0)"
+ eend 0
+ return 0
+ fi
+
+ local x= param= sf_param= retval=0 ttydev=/dev/tty
+
+ # Get additional parameters
+ if [ -n "$consoletranslation" ]; then
+ param="$param -m $consoletranslation"
+ fi
+ if [ -n "${unicodemap}" ]; then
+ param="$param -u $unicodemap"
+ fi
+
+ # Set the console font
+ ebegin "Setting console font [$consolefont]"
+ [ -d /dev/vc ] && ttydev=/dev/vc/
+ x=1
+ while [ $x -le $ttyn ]; do
+ if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then
+ retval=1
+ break
+ fi
+ : $(( x += 1 ))
+ done
+ eend $retval
+
+ # Store the font so we can use it ASAP on boot
+ if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then
+ mkdir -p "$RC_LIBEXECDIR"/console
+ setfont -O "$RC_LIBEXECDIR"/console/font
+ fi
+
+ return $retval
+}
diff --git a/system/kbd/keymaps.confd b/system/kbd/keymaps.confd
new file mode 100644
index 000000000..9a2863413
--- /dev/null
+++ b/system/kbd/keymaps.confd
@@ -0,0 +1,24 @@
+# Use keymap to specify the default console keymap. There is a complete tree
+# of keymaps in /usr/share/keymaps to choose from (from the kbd-keymaps
+# package).
+keymap="us"
+
+# Should we first load the 'windowkeys' console keymap? Most x86 users will
+# say "yes" here. Note that non-x86 users should leave it as "no".
+# Loading this keymap will enable VT switching (like ALT+Left/Right)
+# using the special windows keys on the linux console.
+windowkeys="NO"
+
+# The maps to load for extended keyboards. Most users will leave this as is.
+extended_keymaps=""
+#extended_keymaps="backspace keypad euro2"
+
+# Tell dumpkeys(1) to interpret character action codes to be
+# from the specified character set.
+# This only matters if you set unicode="yes" in /etc/rc.conf.
+# For a list of valid sets, run `dumpkeys --help`
+dumpkeys_charset=""
+
+# Some fonts map AltGr-E to the currency symbol instead of the Euro.
+# To fix this, set to "yes"
+fix_euro="NO"
diff --git a/system/kbd/keymaps.initd b/system/kbd/keymaps.initd
new file mode 100644
index 000000000..49e41b0e7
--- /dev/null
+++ b/system/kbd/keymaps.initd
@@ -0,0 +1,77 @@
+#!/sbin/openrc-run
+# Copyright (c) 2007-2015 The OpenRC Authors.
+# See the Authors file at the top-level directory of this distribution and
+# https://github.com/OpenRC/openrc/blob/master/AUTHORS
+#
+# This file is part of OpenRC. It is subject to the license terms in
+# the LICENSE file found in the top-level directory of this
+# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
+# This file may not be copied, modified, propagated, or distributed
+# except according to the terms contained in the LICENSE file.
+
+description="Applies a keymap for the consoles."
+
+depend()
+{
+ need localmount termencoding
+ after bootmisc
+ keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
+}
+
+start()
+{
+ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
+ : ${unicode:=$UNICODE}
+ : ${keymap:=$KEYMAP}
+ : ${extended_keymaps:=$EXTENDED_KEYMAPS}
+ : ${windowkeys:=$SET_WINDOWSKEYS}
+ : ${fix_euro:=$FIX_EURO}
+ : ${dumpkeys_charset:=${DUMPKEYS_CHARSET}}
+
+ if [ -z "$keymap" ]; then
+ eerror "You need to setup keymap in /etc/conf.d/keymaps first"
+ return 1
+ fi
+
+ local ttydev=/dev/tty n=
+ [ -d /dev/vc ] && ttydev=/dev/vc/
+
+ # Force linux keycodes for PPC.
+ if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then
+ echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
+ fi
+
+ local wkeys= kmode="-a" msg="ASCII"
+ if yesno $unicode; then
+ kmode="-u"
+ msg="UTF-8"
+ fi
+ yesno $windowkeys && wkeys="windowkeys"
+
+ # Set terminal encoding to either ASCII or UNICODE.
+ # See utf-8(7) for more information.
+ ebegin "Setting keyboard mode [$msg]"
+ n=1
+ while [ $n -le $ttyn ]; do
+ kbd_mode $kmode -C $ttydev$n
+ : $(( n += 1 ))
+ done
+ eend 0
+
+ ebegin "Loading key mappings [$keymap]"
+ loadkeys -q $wkeys $keymap $extended_keymaps
+ eend $? "Error loading key mappings" || return $?
+
+ if yesno $fix_euro; then
+ ebegin "Fixing font for euro symbol"
+ # Fix some fonts displaying the Euro, #173528.
+ echo "altgr keycode 18 = U+20AC" | loadkeys -q -
+ eend $?
+ fi
+
+ # Save the keymapping for use immediately at boot
+ if checkpath -W "$RC_LIBEXECDIR"; then
+ mkdir -p "$RC_LIBEXECDIR"/console
+ dumpkeys >"$RC_LIBEXECDIR"/console/keymap
+ fi
+}
diff --git a/system/kmod/APKBUILD b/system/kmod/APKBUILD
index 748d26def..ad3396c8e 100644
--- a/system/kmod/APKBUILD
+++ b/system/kmod/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmod
-pkgver=26
+pkgver=27
pkgrel=0
pkgdesc="Linux kernel module management utilities"
url="https://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary"
@@ -10,7 +10,7 @@ options="!check" # https://bugs.gentoo.org/408915#c3
license="GPL-2.0+"
depends=""
makedepends_build="libxslt"
-makedepends_host="zlib-dev xz-dev"
+makedepends_host="openssl-dev zlib-dev xz-dev"
makedepends="$makedepends_build $makedepends_host"
triggers="$pkgname.trigger=/lib/modules/*"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc
@@ -29,13 +29,13 @@ build() {
--sysconfdir=/etc \
--with-rootlibdir=/lib \
--with-zlib \
- --with-xz
+ --with-xz \
+ --with-openssl
make
}
package() {
make DESTDIR="$pkgdir" install
- local i
mkdir -p "$pkgdir"/sbin
for i in lsmod rmmod insmod modinfo modprobe depmod; do
ln -sf ../bin/kmod "$pkgdir"/sbin/$i
@@ -57,6 +57,6 @@ bashcomp() {
}
-sha512sums="3ca276c6fc13c2dd2220ec528b8dc4ab4edee5d2b22e16b6f945c552e51f74342c01c33a53740e6af8c893d42bd4d6f629cd8fa6e15ef8bd8da30cb003ef0865 kmod-26.tar.xz
+sha512sums="e0513094935333fca1fb4c3e3493b232507a579ab00a6457cc9ed3e928363d05aad80634fb65a8287a336bf9895194c7be8ddc41bb088a6c2cca44fc1bfbdb6c kmod-27.tar.xz
f2ea3527bfba182c5e15557c224a5bba8c7e2ea3d21cf604e6eb2277226dcf983c3aeb9ac44a322c7f2b4942b35135da999d63a5b946b829d3f3b09c050a0f17 strndupa.patch
7f0f89fe98167f71b7924f341ba701d001158225463c2f5e39f706a0224b1e952ee901b441f28cb15787563e83bb6e54eb752bf8669ae7c0ffbb11984542f354 kmod-static-nodes.initd"
diff --git a/system/libucontext/APKBUILD b/system/libucontext/APKBUILD
index 93bc2b252..78b079435 100644
--- a/system/libucontext/APKBUILD
+++ b/system/libucontext/APKBUILD
@@ -1,17 +1,20 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libucontext
-pkgver=0.9.0
+pkgver=0.10
pkgrel=0
pkgdesc="Implementation of software-defined threading"
-url="https://code.foxkit.us/adelie/libucontext/"
+url=" "
arch="all"
license="ISC"
depends=""
makedepends=""
subpackages="$pkgname-dev"
-source="https://distfiles.adelielinux.org/source/libucontext/libucontext-$pkgver.tar.xz"
+source="https://distfiles.dereferenced.org/libucontext/libucontext-$pkgver.tar.xz
+ git.patch
+ "
case "$CTARGET_ARCH" in
+aarch64_be) LIBUCONTEXT_ARCH="aarch64" ;;
arm*) LIBUCONTEXT_ARCH="arm" ;;
ppc64le) LIBUCONTEXT_ARCH="ppc64" ;;
pmmx) LIBUCONTEXT_ARCH="x86" ;;
@@ -30,4 +33,5 @@ package() {
make ARCH="$LIBUCONTEXT_ARCH" DESTDIR="$pkgdir" install
}
-sha512sums="47ffa743e0b364d7a5d5ae633f89e83a7e3bbdf62a8a703a06a522c08b187b785548e8b8d58d53fc4fd984575f086794e74c12d40075326c6e88024e841550b6 libucontext-0.9.0.tar.xz"
+sha512sums="ef04485f66edd94711a15681953aed12652ea3821036e6a5b10d1ba3c0371ffabd689c85ee2403bc6a94544932e64855d8f5412f46b50d8b5a934f70a771fcb1 libucontext-0.10.tar.xz
+f3f5da2f76302fb3aeba8cca6e3485f264714ad12160e83ef92785a5f2a318cb4cea88e350df71dd6c976d075525361f36e67467ffb82b30fed6acee11be8095 git.patch"
diff --git a/system/libucontext/git.patch b/system/libucontext/git.patch
new file mode 100644
index 000000000..d42ee0803
--- /dev/null
+++ b/system/libucontext/git.patch
@@ -0,0 +1,115 @@
+From d7688a41df4cbe51e52bfebbab7d411548ed7738 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Mon, 30 Mar 2020 02:22:43 -0500
+Subject: [PATCH 1/3] README: Remove support section
+
+This is no longer a member of the gcompat family of projects;
+remove the mention of that and the gcompat mailing list link.
+---
+ README.md | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/README.md b/README.md
+index 97a03b6..1db0516 100644
+--- a/README.md
++++ b/README.md
+@@ -38,8 +38,3 @@ $ make ARCH=x86_64 check
+ $ make ARCH=x86_64 DESTDIR=out install
+ ```
+
+-
+-## support
+-
+-`libucontext` is offered as part of the `gcompat` project. Accordingly, please address all questions
+-and bug reports to gcompat@lists.adelielinux.org.
+
+From e2178de76a7d3f41fed7cc5bef3e68eea623a72a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 30 Mar 2020 08:21:20 +0000
+Subject: [PATCH 2/3] Makefile: Add LIBDIR variable
+
+This ensures that it can be installed into custom location and also
+
+Upstream-Status: Submitted
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a8dedc2..74ebdbf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,6 +3,7 @@ ifeq ($(ARCH),$(filter $(ARCH),i386 i686))
+ override ARCH = x86
+ endif
+
++LIBDIR := /lib
+ CFLAGS = -ggdb3 -O2 -Wall -Iarch/${ARCH} -Iarch/common
+
+ LIBUCONTEXT_C_SRC = $(wildcard arch/${ARCH}/*.c)
+@@ -13,8 +14,8 @@ LIBUCONTEXT_SOVERSION = 0
+ LIBUCONTEXT_NAME = libucontext.so
+ LIBUCONTEXT_STATIC_NAME = libucontext.a
+ LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION}
+-LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME}
+-LIBUCONTEXT_STATIC_PATH = /lib/${LIBUCONTEXT_STATIC_NAME}
++LIBUCONTEXT_PATH = ${LIBDIR}/${LIBUCONTEXT_SONAME}
++LIBUCONTEXT_STATIC_PATH = ${LIBDIR}/${LIBUCONTEXT_STATIC_NAME}
+
+ all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME}
+
+@@ -39,9 +40,9 @@ clean:
+ ${LIBUCONTEXT_OBJ} test_libucontext
+
+ install: all
+- install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}/${LIBUCONTEXT_PATH}
+- install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}/${LIBUCONTEXT_STATIC_PATH}
+- ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}/lib/${LIBUCONTEXT_NAME}
++ install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}${LIBUCONTEXT_PATH}
++ install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}${LIBUCONTEXT_STATIC_PATH}
++ ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}${LIBDIR}/${LIBUCONTEXT_NAME}
+
+ check: test_libucontext ${LIBUCONTEXT_SONAME}
+ env LD_LIBRARY_PATH=$(shell pwd) ./test_libucontext
+
+From 467ee2916d0eacbd32af10ead14e5d86e365fa2b Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Mon, 30 Mar 2020 17:25:30 -0500
+Subject: [PATCH 3/3] x86: Update copyright statement
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit d0ccf2f96f12bfa040cc056f7dc26b3fd25c168d contains the makecontext
+fix from Adélie commit aaeb73ea701388e55b7640e32509a5f6a57f6350[1], as
+seen at AdelieLinux/libucontext@aaeb73ea – but it didn't include the
+addition of my author line.
+
+The full commit text, for future documentation/reference, was:
+
+```
+x86: Write link pointer at correct stack offset
+
+It must come *after* the parameters, not *before*.
+```
+
+Fixes: d0ccf2f96f12 ("x86: modernize")
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+
+[1]: https://code.foxkit.us/adelie/libucontext/commit/aaeb73ea701388e55b7640e32509a5f6a57f6350
+---
+ arch/x86/makecontext.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/x86/makecontext.c b/arch/x86/makecontext.c
+index ee9c2e2..bc8163c 100644
+--- a/arch/x86/makecontext.c
++++ b/arch/x86/makecontext.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (c) 2018 Ariadne Conill <ariadne@dereferenced.org>
++ * Copyright (c) 2019 A. Wilcox <awilfox@adelielinux.org>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
diff --git a/system/libucontext/powerpc.patch b/system/libucontext/powerpc.patch
deleted file mode 100644
index ed7604d7b..000000000
--- a/system/libucontext/powerpc.patch
+++ /dev/null
@@ -1,1121 +0,0 @@
-From 94216c60c43a30e39fbc4f347450768699c6c77c Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Mon, 1 Apr 2019 23:02:12 -0500
-Subject: [PATCH] test ability to pass 10 args through makecontext
-
----
- test_libucontext.c | 23 +++++++++++++++++++++--
- 1 file changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/test_libucontext.c b/test_libucontext.c
-index 121cc3e..e5eac83 100644
---- a/test_libucontext.c
-+++ b/test_libucontext.c
-@@ -6,13 +6,32 @@
- #include <stdio.h>
- #include <ucontext.h>
- #include <stdint.h>
-+#include <stdlib.h>
- #include <string.h>
-
-
- static ucontext_t ctx[3];
-
-
--static void f1 (void) {
-+static void check_arg(int actual, int expected) {
-+ if (actual == expected) return;
-+ fprintf(stderr, "argument has wrong value. got %d, expected %d.\n", actual, expected);
-+ abort();
-+}
-+
-+
-+static void f1 (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) {
-+ check_arg(a, 1);
-+ check_arg(b, 2);
-+ check_arg(c, 3);
-+ check_arg(d, 4);
-+ check_arg(e, 5);
-+ check_arg(f, 6);
-+ check_arg(g, 7);
-+ check_arg(h, 8);
-+ check_arg(i, 9);
-+ check_arg(j, 10);
-+
- printf("start f1\n");
- swapcontext(&ctx[1], &ctx[2]);
- printf("finish f1\n");
-@@ -40,7 +59,7 @@ int main (int argc, const char *argv[]) {
- ctx[1].uc_stack.ss_sp = st1;
- ctx[1].uc_stack.ss_size = sizeof st1;
- ctx[1].uc_link = &ctx[0];
-- makecontext(&ctx[1], f1, 0);
-+ makecontext(&ctx[1], f1, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
-
-
- getcontext(&ctx[2]);
-From cb59e7ee957b389578a3f973484ae3198f6cfed1 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Mon, 1 Apr 2019 23:03:21 -0500
-Subject: [PATCH] test calls to getcontext without makecontext
-
----
- test_libucontext.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/test_libucontext.c b/test_libucontext.c
-index e5eac83..a4a9b4c 100644
---- a/test_libucontext.c
-+++ b/test_libucontext.c
-@@ -48,6 +48,7 @@ static void f2 (void) {
- int main (int argc, const char *argv[]) {
- char st1[8192];
- char st2[8192];
-+ volatile int done = 0;
-
-
- /* poison each coroutine's stack memory for debugging purposes */
-@@ -70,5 +71,16 @@ int main (int argc, const char *argv[]) {
-
-
- swapcontext(&ctx[0], &ctx[2]);
-+
-+
-+ /* test ability to use getcontext/setcontext without makecontext */
-+ getcontext(&ctx[1]);
-+ printf("done = %d\n", done);
-+ if (done++ == 0) setcontext(&ctx[1]);
-+ if (done != 2) {
-+ fprintf(stderr, "wrong value for done. got %d, expected 2\n", done);
-+ abort();
-+ }
-+
- return 0;
- }
-From b6a9b5e279123f16569e0fd9f8ff14ff04bed7a3 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 13:32:03 -0500
-Subject: [PATCH] ppc32: fix stack alignment
-
-The stack should be 16-byte aligned, not 8 mod 16.
----
- arch/ppc/makecontext.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index c562ea5..1b9efdf 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -37,7 +37,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
- sp -= (uc_link + 1);
-- sp = (greg_t *) (((uintptr_t) sp & -16L) - 8);
-+ sp = (greg_t *) ((uintptr_t) sp & -16L);
-
- ucp->uc_mcontext.gregs[REG_NIP] = (uintptr_t) func;
- ucp->uc_mcontext.gregs[REG_LNK] = (uintptr_t) &__start_context;
-From b9bd4045fb34f060d6cf37fc7da7ab13b91462de Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 13:35:00 -0500
-Subject: [PATCH] ppc32/64: fix back chain pointer
-
-The ABI states that sp[0] should point to the previous stack frame, or be
-zero if there is no previous stack frame. makecontext previously set this
-slot to point to the __start_context function, rather than to a valid
-stack frame.
----
- arch/ppc/makecontext.c | 2 +-
- arch/ppc64/makecontext.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 1b9efdf..729f465 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -44,7 +44,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gregs[REG_R31] = (uintptr_t) ucp->uc_link;
- ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp;
-
-- sp[0] = (uintptr_t) &__start_context;
-+ sp[0] = 0;
- sp[uc_link] = (uintptr_t) ucp->uc_link;
- argp = &sp[2];
-
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 9d6b998..91fb579 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -45,7 +45,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gp_regs[REG_ENTRY] = (uintptr_t) func;
- ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link;
-
-- sp[0] = (uintptr_t) &__start_context;
-+ sp[0] = 0;
- sp[uc_link] = (uintptr_t) ucp->uc_link;
- argp = &sp[2];
-
-From b500b054c7cf412a6042496afa08b4302f7ed929 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 13:38:36 -0500
-Subject: [PATCH] ppc32/64: don't store uc_link on the stack
-
-This was previously stored either in the CR (ppc64) or LR (ppc32) save
-area of the stack, or to one of the parameter save slots.
-
-In either case, the saved value was unused. This value is also passed
-to __start_context via r31, so there's no need to pass it on the stack.
----
- arch/ppc/makecontext.c | 6 ++----
- arch/ppc64/makecontext.c | 6 ++----
- 2 files changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 729f465..2b7ea67 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -30,13 +30,12 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- greg_t *sp, *argp;
- va_list va;
- int i;
-- unsigned int uc_link, stack_args;
-+ unsigned int stack_args;
-
- stack_args = argc > 8 ? argc - 8 : 0;
-- uc_link = stack_args + 1;
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
-- sp -= (uc_link + 1);
-+ sp -= stack_args + 2;
- sp = (greg_t *) ((uintptr_t) sp & -16L);
-
- ucp->uc_mcontext.gregs[REG_NIP] = (uintptr_t) func;
-@@ -45,7 +44,6 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp;
-
- sp[0] = 0;
-- sp[uc_link] = (uintptr_t) ucp->uc_link;
- argp = &sp[2];
-
- va_start(va, argc);
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 91fb579..b060371 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -30,13 +30,12 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- greg_t *sp, *argp;
- va_list va;
- int i;
-- unsigned int uc_link, stack_args;
-+ unsigned int stack_args;
-
- stack_args = argc > 8 ? argc - 8 : 0;
-- uc_link = stack_args + 1;
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
-- sp -= (uc_link + 1);
-+ sp -= stack_args + 2;
- sp = (greg_t *) (((uintptr_t) sp & -16L));
-
- ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func;
-@@ -46,7 +45,6 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link;
-
- sp[0] = 0;
-- sp[uc_link] = (uintptr_t) ucp->uc_link;
- argp = &sp[2];
-
- va_start(va, argc);
-From 55168fcb1809dde45c99450f1f3be27716c473db Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 13:57:53 -0500
-Subject: [PATCH] ppc32/64: simplify storage of stack parameters
-
-The switch statement is simpler as an if/else, and removing the argp
-variable makes the code more symmetric between the register and stack
-parameter cases.
----
- arch/ppc/makecontext.c | 24 ++++++------------------
- arch/ppc64/makecontext.c | 24 ++++++------------------
- 2 files changed, 12 insertions(+), 36 deletions(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 2b7ea67..4a404a4 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -27,7 +27,7 @@ extern void __start_context(void);
- void
- __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- {
-- greg_t *sp, *argp;
-+ greg_t *sp;
- va_list va;
- int i;
- unsigned int stack_args;
-@@ -44,27 +44,15 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp;
-
- sp[0] = 0;
-- argp = &sp[2];
-
- va_start(va, argc);
-
-- for (i = 0; i < argc; i++)
-- switch (i)
-- {
-- case 0:
-- case 1:
-- case 2:
-- case 3:
-- case 4:
-- case 5:
-- case 6:
-- case 7:
-+ for (i = 0; i < argc; i++) {
-+ if (i < 8)
- ucp->uc_mcontext.gregs[i + 3] = va_arg (va, greg_t);
-- break;
-- default:
-- *argp++ = va_arg (va, greg_t);
-- break;
-- }
-+ else
-+ sp[i-8 + 2] = va_arg (va, greg_t);
-+ }
-
- va_end(va);
- }
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index b060371..962f98a 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -27,7 +27,7 @@ extern void __start_context(void);
- void
- __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- {
-- greg_t *sp, *argp;
-+ greg_t *sp;
- va_list va;
- int i;
- unsigned int stack_args;
-@@ -45,27 +45,15 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link;
-
- sp[0] = 0;
-- argp = &sp[2];
-
- va_start(va, argc);
-
-- for (i = 0; i < argc; i++)
-- switch (i)
-- {
-- case 0:
-- case 1:
-- case 2:
-- case 3:
-- case 4:
-- case 5:
-- case 6:
-- case 7:
-+ for (i = 0; i < argc; i++) {
-+ if (i < 8)
- ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t);
-- break;
-- default:
-- *argp++ = va_arg (va, greg_t);
-- break;
-- }
-+ else
-+ sp[i-8 + 2] = va_arg (va, greg_t);
-+ }
-
- va_end(va);
- }
-From 8ea5f548b9146ffeea2074a33a06bbbd07a74402 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:01:10 -0500
-Subject: [PATCH] ppc64: fix makecontext with more than 8 parameters
-
-The ELFv2 ABI used on PPC64 differs from the ELFv1 ABI used on PPC32 here.
-On PPC64, once there are any parameters that need to be passed on the
-stack, space needs to be reserved on the stack to pass all parameters.
-Parameters 0-7 are still only passed by register, but if the callee needs
-to spill them, it can use the stack space reserved for the corresponding
-parameter to do so.
----
- arch/ppc64/makecontext.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 962f98a..ea980e9 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -32,7 +32,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- int i;
- unsigned int stack_args;
-
-- stack_args = argc > 8 ? argc - 8 : 0;
-+ stack_args = argc > 8 ? argc : 0;
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
- sp -= stack_args + 2;
-@@ -52,7 +52,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- if (i < 8)
- ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t);
- else
-- sp[i-8 + 2] = va_arg (va, greg_t);
-+ sp[i + 2] = va_arg (va, greg_t);
- }
-
- va_end(va);
-From a00a05ce2950ca3b306f8ccc3e817ea8cd675015 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:03:47 -0500
-Subject: [PATCH] ppc64: fix incorrect position of parameters within stack
- frame
-
-On PPC64, there are 4 register-sized stack slots below the parameter save
-area, which is different from the 2 stack slots on PPC32.
----
- arch/ppc64/makecontext.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index ea980e9..a4c1bf9 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -35,7 +35,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- stack_args = argc > 8 ? argc : 0;
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
-- sp -= stack_args + 2;
-+ sp -= stack_args + 4;
- sp = (greg_t *) (((uintptr_t) sp & -16L));
-
- ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func;
-@@ -52,7 +52,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
- if (i < 8)
- ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t);
- else
-- sp[i + 2] = va_arg (va, greg_t);
-+ sp[i + 4] = va_arg (va, greg_t);
- }
-
- va_end(va);
-From 40d07758a5677e8869d7a62a499236bb6ed01897 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:09:25 -0500
-Subject: [PATCH] ppc32/64: correct signature of function parameter to
- makecontext
-
-Because makecontext can pass a set of integer arguments to the provided
-function, it is incorrect to require that this function accept no
-parameters.
----
- arch/ppc/makecontext.c | 2 +-
- arch/ppc64/makecontext.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 4a404a4..0633c0f 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -25,7 +25,7 @@ extern void __start_context(void);
-
-
- void
--__makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
-+__makecontext(ucontext_t *ucp, void (*func)(), int argc, ...)
- {
- greg_t *sp;
- va_list va;
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index a4c1bf9..8a293b5 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -25,7 +25,7 @@ extern void __start_context(void);
-
-
- void
--__makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
-+__makecontext(ucontext_t *ucp, void (*func)(), int argc, ...)
- {
- greg_t *sp;
- va_list va;
-From edf69879eadaec0c72ba7ef5e7d2389946c6644b Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:09:39 -0500
-Subject: [PATCH] ppc64: remove unnecessary parentheses
-
----
- arch/ppc64/makecontext.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 8a293b5..84d390a 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -36,7 +36,7 @@ __makecontext(ucontext_t *ucp, void (*func)(), int argc, ...)
-
- sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
- sp -= stack_args + 4;
-- sp = (greg_t *) (((uintptr_t) sp & -16L));
-+ sp = (greg_t *) ((uintptr_t) sp & -16L);
-
- ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func;
- ucp->uc_mcontext.gp_regs[REG_LNK] = (uintptr_t) &__start_context;
-From 29eac4259adfd85e0f4946a1080bb9e3f8c0cc2e Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:10:28 -0500
-Subject: [PATCH] ppc32/64: remove unused includes
-
----
- arch/ppc/makecontext.c | 2 --
- arch/ppc64/makecontext.c | 2 --
- 2 files changed, 4 deletions(-)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 0633c0f..7214a40 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -11,10 +11,8 @@
- */
-
- #define _GNU_SOURCE
--#include <stddef.h>
- #include <stdarg.h>
- #include <signal.h>
--#include <string.h>
- #include <stdint.h>
-
-
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 84d390a..2650f56 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -11,10 +11,8 @@
- */
-
- #define _GNU_SOURCE
--#include <stddef.h>
- #include <stdarg.h>
- #include <signal.h>
--#include <string.h>
- #include <stdint.h>
-
-
-From 90ff6330e62c8f836016668c9f769af365b257cb Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Fri, 5 Apr 2019 14:11:21 -0500
-Subject: [PATCH] ppc32/64: update copyright
-
----
- arch/ppc/makecontext.c | 1 +
- arch/ppc64/makecontext.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c
-index 7214a40..51c492f 100644
---- a/arch/ppc/makecontext.c
-+++ b/arch/ppc/makecontext.c
-@@ -1,5 +1,6 @@
- /*
- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c
-index 2650f56..43da557 100644
---- a/arch/ppc64/makecontext.c
-+++ b/arch/ppc64/makecontext.c
-@@ -1,5 +1,6 @@
- /*
- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-From 2610c7faa7b9c4114d53bb659264a6be238cd2a3 Mon Sep 17 00:00:00 2001
-From: Bobby Bingham <koorogi@koorogi.info>
-Date: Sat, 23 Feb 2019 17:12:37 -0600
-Subject: [PATCH] ppc32/64: rewrite get/set/swapcontext in assembly
-
-getcontext cannot be correctly implemented in C.
-
-If this calls another function, as it does to call syscall, it needs to
-first spill its return address to the stack. If, after getcontext returns,
-its caller then calls other functions, this saved return address can be
-clobbered. When the context saved by getcontext is later restored, the
-(now clobbered) return address will be reloaded from the stack, and the
-second return from getcontext will return to the wrong location.
-
-Because the powerpc swapcontext syscall allows either the old context or
-new context pointers to be null, it is usable for implementing all of
-get/set/swapcontext.
-
-We therefore rewrite swapcontext in assembly, and get/setcontext as simple
-assembly function wrappers around swapcontext.
-
-The one piece we keep in C is the code to check the return value of the
-system call and to set errno. This code was actually unnecessary before --
-libc does this within syscall. However, now that the system call is made
-directly in assembly, bypassing libc, it is truly necessary. Because errno
-is thread-local and the details of how to set it can vary by libc, this
-code remains written in C.
----
- Makefile | 10 +----
- README.md | 2 +-
- arch/ppc/getcontext.S | 20 +++++++++
- arch/ppc/{getcontext.c => retfromsyscall.c} | 30 +++----------
- arch/ppc/setcontext.S | 21 +++++++++
- arch/ppc/setcontext.c | 45 -------------------
- arch/ppc/swapcontext.S | 23 ++++++++++
- arch/ppc/swapcontext.c | 45 -------------------
- arch/ppc64/getcontext.S | 25 +++++++++++
- arch/ppc64/{getcontext.c => retfromsyscall.c} | 30 +++----------
- arch/ppc64/setcontext.S | 26 +++++++++++
- arch/ppc64/setcontext.c | 45 -------------------
- arch/ppc64/swapcontext.S | 28 ++++++++++++
- arch/ppc64/swapcontext.c | 45 -------------------
- 14 files changed, 156 insertions(+), 239 deletions(-)
- create mode 100644 arch/ppc/getcontext.S
- rename arch/ppc/{getcontext.c => retfromsyscall.c} (53%)
- create mode 100644 arch/ppc/setcontext.S
- delete mode 100644 arch/ppc/setcontext.c
- create mode 100644 arch/ppc/swapcontext.S
- delete mode 100644 arch/ppc/swapcontext.c
- create mode 100644 arch/ppc64/getcontext.S
- rename arch/ppc64/{getcontext.c => retfromsyscall.c} (53%)
- create mode 100644 arch/ppc64/setcontext.S
- delete mode 100644 arch/ppc64/setcontext.c
- create mode 100644 arch/ppc64/swapcontext.S
- delete mode 100644 arch/ppc64/swapcontext.c
-
-diff --git a/Makefile b/Makefile
-index 51365a3..d6ff1b0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -2,14 +2,8 @@ ARCH := $(shell uname -m)
-
- CFLAGS = -ggdb3 -O2 -Wall -Iarch/${ARCH}
-
--LIBUCONTEXT_C_SRC = \
-- arch/${ARCH}/makecontext.c
--
--LIBUCONTEXT_S_SRC = \
-- arch/${ARCH}/getcontext.S \
-- arch/${ARCH}/setcontext.S \
-- arch/${ARCH}/swapcontext.S \
-- arch/${ARCH}/startcontext.S
-+LIBUCONTEXT_C_SRC = $(wildcard arch/${ARCH}/*.c)
-+LIBUCONTEXT_S_SRC = $(wildcard arch/${ARCH}/*.S)
-
- LIBUCONTEXT_OBJ = ${LIBUCONTEXT_C_SRC:.c=.o} ${LIBUCONTEXT_S_SRC:.S=.o}
- LIBUCONTEXT_SOVERSION = 0
-diff --git a/README.md b/README.md
-index 6bd4493..27d3d0b 100644
---- a/README.md
-+++ b/README.md
-@@ -19,7 +19,7 @@ Right now these archs are supported and should work on bare metal:
- * aarch64
- * s390x
-
--These archs require kernel assistance and use a syscall (the only assembly is the trampoline):
-+These archs require kernel assistance and use a syscall:
-
- * ppc
- * ppc64 (ELFv2 ABI spec only, ELFv1 not supported)
-diff --git a/arch/ppc/getcontext.S b/arch/ppc/getcontext.S
-new file mode 100644
-index 0000000..beffaf5
---- /dev/null
-+++ b/arch/ppc/getcontext.S
-@@ -0,0 +1,20 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __getcontext
-+.hidden __swapcontext
-+__getcontext:
-+ li 4, 0
-+ b __swapcontext@local
-+
-+.weak getcontext
-+getcontext = __getcontext
-diff --git a/arch/ppc/getcontext.c b/arch/ppc/retfromsyscall.c
-similarity index 53%
-rename from arch/ppc/getcontext.c
-rename to arch/ppc/retfromsyscall.c
-index 5da9dfb..3ad43c0 100644
---- a/arch/ppc/getcontext.c
-+++ b/arch/ppc/retfromsyscall.c
-@@ -1,5 +1,6 @@
- /*
- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-@@ -10,36 +11,15 @@
- * from the use of this software.
- */
-
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
- #include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
-
--
--int
--__getcontext(ucontext_t *ucp)
-+__attribute__ ((visibility ("hidden")))
-+int __retfromsyscall(long retval)
- {
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, ucp, NULL, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-+ if (retval < 0) {
-+ errno = -retval;
- return -1;
- }
--
- return 0;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
- }
-
--
--extern __typeof(__getcontext) getcontext __attribute__((weak, __alias__("__getcontext")));
-diff --git a/arch/ppc/setcontext.S b/arch/ppc/setcontext.S
-new file mode 100644
-index 0000000..89e6de0
---- /dev/null
-+++ b/arch/ppc/setcontext.S
-@@ -0,0 +1,21 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __setcontext
-+.hidden __swapcontext
-+__setcontext:
-+ mr 4, 3
-+ li 3, 0
-+ b __swapcontext@local
-+
-+.weak setcontext
-+setcontext = __setcontext
-diff --git a/arch/ppc/setcontext.c b/arch/ppc/setcontext.c
-deleted file mode 100644
-index 59c65b4..0000000
---- a/arch/ppc/setcontext.c
-+++ /dev/null
-@@ -1,45 +0,0 @@
--/*
-- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * This software is provided 'as is' and without any warranty, express or
-- * implied. In no event shall the authors be liable for any damages arising
-- * from the use of this software.
-- */
--
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
--#include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
--
--
--int
--__setcontext(const ucontext_t *ucp)
--{
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, NULL, (void *) ucp, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-- return -1;
-- }
--
-- return r;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
--}
--
--
--extern __typeof(__setcontext) setcontext __attribute__((weak, __alias__("__setcontext")));
-diff --git a/arch/ppc/swapcontext.S b/arch/ppc/swapcontext.S
-new file mode 100644
-index 0000000..24b6655
---- /dev/null
-+++ b/arch/ppc/swapcontext.S
-@@ -0,0 +1,23 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __swapcontext
-+__swapcontext:
-+ li 0, 249 # SYS_swapcontext
-+ li 5, 1184 # sizeof(ucontext_t)
-+ sc
-+
-+.hidden __retfromsyscall
-+ b __retfromsyscall@local
-+
-+.weak swapcontext
-+swapcontext = __swapcontext
-diff --git a/arch/ppc/swapcontext.c b/arch/ppc/swapcontext.c
-deleted file mode 100644
-index af14bc2..0000000
---- a/arch/ppc/swapcontext.c
-+++ /dev/null
-@@ -1,45 +0,0 @@
--/*
-- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * This software is provided 'as is' and without any warranty, express or
-- * implied. In no event shall the authors be liable for any damages arising
-- * from the use of this software.
-- */
--
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
--#include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
--
--
--int
--__swapcontext(ucontext_t *oucp, const ucontext_t *ucp)
--{
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, oucp, ucp, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-- return -1;
-- }
--
-- return r;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
--}
--
--
--extern __typeof(__swapcontext) swapcontext __attribute__((weak, __alias__("__swapcontext")));
-diff --git a/arch/ppc64/getcontext.S b/arch/ppc64/getcontext.S
-new file mode 100644
-index 0000000..935edd2
---- /dev/null
-+++ b/arch/ppc64/getcontext.S
-@@ -0,0 +1,25 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __getcontext
-+.hidden __swapcontext
-+__getcontext:
-+ addis 2, 12, .TOC.-__getcontext@ha
-+ addi 2, 12, .TOC.-__getcontext@l
-+
-+ .localentry __getcontext,.-__getcontext
-+
-+ li 4, 0
-+ b __swapcontext
-+
-+.weak getcontext
-+getcontext = __getcontext
-diff --git a/arch/ppc64/getcontext.c b/arch/ppc64/retfromsyscall.c
-similarity index 53%
-rename from arch/ppc64/getcontext.c
-rename to arch/ppc64/retfromsyscall.c
-index 5da9dfb..3ad43c0 100644
---- a/arch/ppc64/getcontext.c
-+++ b/arch/ppc64/retfromsyscall.c
-@@ -1,5 +1,6 @@
- /*
- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-@@ -10,36 +11,15 @@
- * from the use of this software.
- */
-
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
- #include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
-
--
--int
--__getcontext(ucontext_t *ucp)
-+__attribute__ ((visibility ("hidden")))
-+int __retfromsyscall(long retval)
- {
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, ucp, NULL, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-+ if (retval < 0) {
-+ errno = -retval;
- return -1;
- }
--
- return 0;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
- }
-
--
--extern __typeof(__getcontext) getcontext __attribute__((weak, __alias__("__getcontext")));
-diff --git a/arch/ppc64/setcontext.S b/arch/ppc64/setcontext.S
-new file mode 100644
-index 0000000..5a0cde3
---- /dev/null
-+++ b/arch/ppc64/setcontext.S
-@@ -0,0 +1,26 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __setcontext
-+.hidden __swapcontext
-+__setcontext:
-+ addis 2, 12, .TOC.-__setcontext@ha
-+ addi 2, 12, .TOC.-__setcontext@l
-+
-+ .localentry __setcontext,.-__setcontext
-+
-+ mr 4, 3
-+ li 3, 0
-+ b __swapcontext
-+
-+.weak setcontext
-+setcontext = __setcontext
-diff --git a/arch/ppc64/setcontext.c b/arch/ppc64/setcontext.c
-deleted file mode 100644
-index 59c65b4..0000000
---- a/arch/ppc64/setcontext.c
-+++ /dev/null
-@@ -1,45 +0,0 @@
--/*
-- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * This software is provided 'as is' and without any warranty, express or
-- * implied. In no event shall the authors be liable for any damages arising
-- * from the use of this software.
-- */
--
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
--#include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
--
--
--int
--__setcontext(const ucontext_t *ucp)
--{
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, NULL, (void *) ucp, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-- return -1;
-- }
--
-- return r;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
--}
--
--
--extern __typeof(__setcontext) setcontext __attribute__((weak, __alias__("__setcontext")));
-diff --git a/arch/ppc64/swapcontext.S b/arch/ppc64/swapcontext.S
-new file mode 100644
-index 0000000..982537a
---- /dev/null
-+++ b/arch/ppc64/swapcontext.S
-@@ -0,0 +1,28 @@
-+/*
-+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * This software is provided 'as is' and without any warranty, express or
-+ * implied. In no event shall the authors be liable for any damages arising
-+ * from the use of this software.
-+ */
-+
-+.global __swapcontext
-+__swapcontext:
-+ addis 2, 12, .TOC.-__swapcontext@ha
-+ addi 2, 12, .TOC.-__swapcontext@l
-+
-+ .localentry __swapcontext,.-__swapcontext
-+
-+ li 0, 249 # SYS_swapcontext
-+ li 5, 1696 # sizeof(ucontext_t)
-+ sc
-+
-+.hidden __retfromsyscall
-+ b __retfromsyscall
-+
-+.weak swapcontext
-+swapcontext = __swapcontext
-diff --git a/arch/ppc64/swapcontext.c b/arch/ppc64/swapcontext.c
-deleted file mode 100644
-index af14bc2..0000000
---- a/arch/ppc64/swapcontext.c
-+++ /dev/null
-@@ -1,45 +0,0 @@
--/*
-- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org>
-- *
-- * Permission to use, copy, modify, and/or distribute this software for any
-- * purpose with or without fee is hereby granted, provided that the above
-- * copyright notice and this permission notice appear in all copies.
-- *
-- * This software is provided 'as is' and without any warranty, express or
-- * implied. In no event shall the authors be liable for any damages arising
-- * from the use of this software.
-- */
--
--#define _GNU_SOURCE
--#include <stddef.h>
--#include <stdarg.h>
--#include <signal.h>
--#include <string.h>
--#include <stdint.h>
--#include <errno.h>
--#include <unistd.h>
--#include <sys/syscall.h>
--
--
--int
--__swapcontext(ucontext_t *oucp, const ucontext_t *ucp)
--{
--#ifdef SYS_swapcontext
-- int r;
--
-- r = syscall(SYS_swapcontext, oucp, ucp, sizeof(ucontext_t));
-- if (r < 0)
-- {
-- errno = -r;
-- return -1;
-- }
--
-- return r;
--#else
-- errno = ENOSYS;
-- return -1;
--#endif
--}
--
--
--extern __typeof(__swapcontext) swapcontext __attribute__((weak, __alias__("__swapcontext")));
diff --git a/system/libucontext/static.patch b/system/libucontext/static.patch
deleted file mode 100644
index a51e55f64..000000000
--- a/system/libucontext/static.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 9cc1a2c0e62c75dc7afd20d5e337953f44693b70 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gabriel=20Iva=C8=99cu?= <givascu@bitdefender.com>
-Date: Tue, 9 Apr 2019 16:07:39 +0300
-Subject: [PATCH] Build static library too
-
----
- Makefile | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index d6ff1b0..d81153c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -8,10 +8,14 @@ LIBUCONTEXT_S_SRC = $(wildcard arch/${ARCH}/*.S)
- LIBUCONTEXT_OBJ = ${LIBUCONTEXT_C_SRC:.c=.o} ${LIBUCONTEXT_S_SRC:.S=.o}
- LIBUCONTEXT_SOVERSION = 0
- LIBUCONTEXT_NAME = libucontext.so
-+LIBUCONTEXT_STATIC_NAME = libucontext.a
- LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION}
- LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME}
-
--all: ${LIBUCONTEXT_SONAME}
-+all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME}
-+
-+${LIBUCONTEXT_STATIC_NAME}: ${LIBUCONTEXT_OBJ}
-+ $(AR) rcs ${LIBUCONTEXT_STATIC_NAME} ${LIBUCONTEXT_OBJ}
-
- ${LIBUCONTEXT_NAME}: ${LIBUCONTEXT_OBJ}
- $(CC) -o ${LIBUCONTEXT_NAME} -Wl,-soname,${LIBUCONTEXT_SONAME} \
-From 2e15b383272fafbbb92882990b8f339e2c6888d2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gabriel=20Iva=C8=99cu?= <givascu@bitdefender.com>
-Date: Fri, 12 Apr 2019 10:48:24 +0300
-Subject: [PATCH] Makefile: Handle static library at clean/install
-
----
- .gitignore | 1 +
- Makefile | 5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/.gitignore b/.gitignore
-index 4fb95ca..d2e350f 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -34,5 +34,6 @@ Makefile.in
-
- *.o
- test_libucontext
-+libucontext.a
- libucontext.so
- libucontext.so.*
-diff --git a/Makefile b/Makefile
-index d81153c..8a605fd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -11,6 +11,7 @@ LIBUCONTEXT_NAME = libucontext.so
- LIBUCONTEXT_STATIC_NAME = libucontext.a
- LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION}
- LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME}
-+LIBUCONTEXT_STATIC_PATH = /lib/${LIBUCONTEXT_STATIC_NAME}
-
- all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME}
-
-@@ -31,10 +32,12 @@ ${LIBUCONTEXT_SONAME}: ${LIBUCONTEXT_NAME}
- $(CC) -fPIC -DPIC ${CFLAGS} ${CPPFLAGS} -c -o $@ $<
-
- clean:
-- rm -f ${LIBUCONTEXT_NAME} ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_OBJ} test_libucontext
-+ rm -f ${LIBUCONTEXT_NAME} ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME} \
-+ ${LIBUCONTEXT_OBJ} test_libucontext
-
- install: all
- install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}/${LIBUCONTEXT_PATH}
-+ install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}/${LIBUCONTEXT_STATIC_PATH}
- ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}/lib/${LIBUCONTEXT_NAME}
-
- check: test_libucontext ${LIBUCONTEXT_SONAME}
diff --git a/system/lvm2/APKBUILD b/system/lvm2/APKBUILD
index 4bb0d5d0c..3baea9c09 100644
--- a/system/lvm2/APKBUILD
+++ b/system/lvm2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=lvm2
pkgver=2.03.08
-pkgrel=0
+pkgrel=1
pkgdesc="Logical Volume Manager 2 utilities"
url="https://sourceware.org/lvm2/"
arch="all"
@@ -88,7 +88,7 @@ udev() {
sha512sums="411c76de2acd8d7d707b60a4aab3f846004a1fbdc7b1d3f34d21af8ed45716adc0516b11491a26261580da7396d13a506e3994b32f5d1cefdf49c97e5d62d2e3 LVM2.2.03.08.tgz
-62dd89e626adc86d1f9d7c575517b4454a362868e2fd3399813b61c1cc407316156456348cd4e8148542ee26124739d6c0e72f3dddee66662a40ca86f1bc3abd fix-stdio-usage.patch
+bc4473c2f48ff6cab121f92211cd1b67589a6abadd8e32ffa366fed6ddbf9c87be695aa54a6e97b5b79203bf1a7d22cdb5974da84d38b4977592ef7a061612e7 fix-stdio-usage.patch
9272ec8c5184ef5dc776ead8f74132e072b7563b5119a3a38b712f00d92a1e3878c9b3a54eb2b01dcba038110c686b39d4c17ecd0eb258537e9217d7ed03c408 mallinfo.patch
d190c40a137b006d7b63298069c93ff08d2804b990e85d44739cd7c48beec9a569903b98f0d940895fc7365723ba886acd7ef0e08f1f65a1a391d1c448ce080e mlockall-default-config.patch
a853078660fd2fd943538924f56e81dc5793294e26b8f61d93e6188893f15f4a438d33792b341c1865d61e03f4a371b7c7ee0db5f4130ef7cb7aeaeb9290086a lvm.initd
diff --git a/system/lvm2/fix-stdio-usage.patch b/system/lvm2/fix-stdio-usage.patch
index d5cc43f65..6b7ee0eaa 100644
--- a/system/lvm2/fix-stdio-usage.patch
+++ b/system/lvm2/fix-stdio-usage.patch
@@ -1,6 +1,6 @@
---- ./tools/lvmcmdline.c
-+++ ./tools/lvmcmdline.c
-@@ -1252,7 +1252,7 @@
+--- LVM2.2.03.08/tools/lvmcmdline.c 2020-02-11 03:59:27.000000000 -0600
++++ LVM2.2.03.08/tools/lvmcmdline.c 2020-03-22 16:17:35.470100377 -0500
+@@ -3233,7 +3233,7 @@ static int _check_standard_fds(void)
int err = is_valid_fd(STDERR_FILENO);
if (!is_valid_fd(STDIN_FILENO) &&
@@ -9,7 +9,7 @@
if (err)
perror("stdin stream open");
else
-@@ -1262,7 +1262,7 @@
+@@ -3243,7 +3243,7 @@ static int _check_standard_fds(void)
}
if (!is_valid_fd(STDOUT_FILENO) &&
@@ -18,7 +18,7 @@
if (err)
perror("stdout stream open");
/* else no stdout */
-@@ -1270,7 +1270,7 @@
+@@ -3251,7 +3251,7 @@ static int _check_standard_fds(void)
}
if (!is_valid_fd(STDERR_FILENO) &&
@@ -27,3 +27,23 @@
printf("stderr stream open: %s\n",
strerror(errno));
return 0;
+--- LVM2.2.03.08/lib/commands/toolcontext.c 2020-02-11 03:59:27.000000000 -0600
++++ LVM2.2.03.08/lib/commands/toolcontext.c 2020-03-22 16:18:35.130101016 -0500
+@@ -1599,7 +1599,7 @@ struct cmd_context *create_toolcontext(u
+ /* FIXME Make this configurable? */
+ reset_lvm_errno(1);
+
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ /* Set in/out stream buffering before glibc */
+ if (set_buffering
+ #ifdef SYS_gettid
+@@ -1980,7 +1980,7 @@ void destroy_toolcontext(struct cmd_cont
+
+ if (cmd->pending_delete_mem)
+ dm_pool_destroy(cmd->pending_delete_mem);
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ if (cmd->linebuffer) {
+ /* Reset stream buffering to defaults */
+ if (is_valid_fd(STDIN_FILENO) &&
diff --git a/system/make/APKBUILD b/system/make/APKBUILD
index 7f8639199..6459c306f 100644
--- a/system/make/APKBUILD
+++ b/system/make/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=make
-pkgver=4.2.1
-pkgrel=2
+pkgver=4.3
+pkgrel=0
pkgdesc="GNU make utility to maintain groups of programs"
url="https://www.gnu.org/software/make"
arch="all"
@@ -10,15 +10,10 @@ depends=""
checkdepends="perl"
makedepends=""
subpackages="$pkgname-doc $pkgname-lang"
-source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2
+source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
fix-atexit-exit.patch
"
-prepare() {
- update_config_sub
- default_prepare
-}
-
build() {
./configure \
--build=$CBUILD \
@@ -37,5 +32,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 make-4.2.1.tar.bz2
-a1639d9caf84a24a9f161a30d8b5dcd079b13faf2a5e3d514ff39fa11b13e796c7ff34c46ac2b56656d52129b4d3627c6102b129a4ab011f065076d872ef3992 fix-atexit-exit.patch"
+sha512sums="9a1185cc468368f4ec06478b1cfa343bf90b5cd7c92c0536567db0315b0ee909af53ecce3d44cfd93dd137dbca1ed13af5713e8663590c4fdd21ea635d78496b make-4.3.tar.gz
+ce638cf5689d384f961a92b186d9f53f34764b6ab55deca8cc284fc2192a981d4d896cf58ab764b032e9b09fe50d238c9b3031712bf94e368428174372307a45 fix-atexit-exit.patch"
diff --git a/system/make/fix-atexit-exit.patch b/system/make/fix-atexit-exit.patch
index a71d26fb5..bce562f90 100644
--- a/system/make/fix-atexit-exit.patch
+++ b/system/make/fix-atexit-exit.patch
@@ -4,8 +4,8 @@ POSIX says the behaviour is undefined if atexit callback calls
exit(). On glibc it works, but on musl it does not. Call instead
_exit() which is guaranteed to work.
---- ./output.c.orig
-+++ ./output.c
+--- make-4.3/src/output.c
++++ make-4.3/src/output.c
@@ -495,7 +495,7 @@
perror_with_name (_("write error: stdout"), "");
else
diff --git a/system/man-db/APKBUILD b/system/man-db/APKBUILD
index 5ee93c438..136e0720d 100644
--- a/system/man-db/APKBUILD
+++ b/system/man-db/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=man-db
-pkgver=2.9.0
+pkgver=2.9.1
pkgrel=0
pkgdesc="The man command and related utilities for examining on-line help files"
url="https://www.nongnu.org/man-db/"
@@ -40,5 +40,5 @@ package() {
rm -r "${pkgdir}"/usr/lib/tmpfiles.d # systemd
}
-sha512sums="7deb4421c7944276c6edf974b1336ee2f6605ee470c98d374544e2fcaa32ec2afe077c5fd020fc1f74df058384a293b8ad5a92d86b1c15a949573af46ba09cda man-db-2.9.0.tar.xz
+sha512sums="ae2d1e9f293795c63f5a9a1a765478a9a59cbe5fe6f759647be5057c1ae53f90baee8d5467921f3d0102300f2111a5026eeb25f78401bcb16ce45ad790634977 man-db-2.9.1.tar.xz
0a68260fc48488408dc11855858aa2569efa3aeefd765c425b8fc988e7fee3e1d42e19eb299e518afc9b2ae54c5d37911176127124a43d5041f1137af0457097 man-db-2.8.5-iconv.patch"
diff --git a/system/mdevd/APKBUILD b/system/mdevd/APKBUILD
index 8d52e5286..c0c9ac011 100644
--- a/system/mdevd/APKBUILD
+++ b/system/mdevd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=mdevd
-pkgver=0.1.1.1
+pkgver=0.1.1.2
pkgrel=0
pkgdesc="A small uevent manager daemon"
url="https://skarnet.org/software/$pkgname/"
@@ -47,7 +47,7 @@ openrc() {
ln -s ../../init.d/mdevd "$rldir/mdevd"
}
-sha512sums="cd7d6dcddc2bca30a3dd4583c2aa800fc54b559d4ca9385d3247eec93ee8500493254a60e47028243f715e6a3517930135407a5249641c8f23efdcaa67a50467 mdevd-0.1.1.1.tar.gz
+sha512sums="7d7a25facde1291854f564e805cc2bf7e7e0b06aaa4b631a640cf999007a3ef063ec68e8973559ec69023f40bb6ed24937d4d8510fd697f34a97345a22ede5b5 mdevd-0.1.1.2.tar.gz
b237443837c3d76f8964e2b1a48c2278af7b4a4e7f735da6fc861b7598cbf50017e961e5a4fd1f20dd9cb7dd46f4cdf68144539d909b1f245e110b75c2d849db mdev.conf
31231b28d0b980dda634e8b043a2ee31960493d60c2c9aac8a4f3f68ca1d130342569af2acd0bc04d9d8008b8e234ba949b64d9ec3ff1bded64b4e4f0ce3786b mdevd.run
f6f9eebf49c2de6abde9cfb7a9d7b3a6b3afdd3e01ba4155f1b95dfa27e522363059b69cec19305881773d776ffeccf6c1106d537d01780468bd3b9846edb2cc mdevd.initd"
diff --git a/user/musl-locales/APKBUILD b/system/musl-locales/APKBUILD
index 9bbf0c49b..f537430d0 100644
--- a/user/musl-locales/APKBUILD
+++ b/system/musl-locales/APKBUILD
@@ -1,18 +1,17 @@
# Contributor: Alyx <alyx@leuhta.com>
# Maintainer: Alyx <alyx@leuhta.com>
pkgname=musl-locales
-pkgver=0.20190626
+pkgver=0.20200319
pkgrel=0
pkgdesc="Locale program for musl"
url="https://gitlab.com/rilian-la-te/musl-locales"
arch="all"
options="!check" # No test suite.
-license="MIT"
+license="LGPL-3.0-only"
depends=""
makedepends="cmake make gettext-tiny-dev"
subpackages="$pkgname-lang"
-source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname"
+source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz"
build() {
cmake \
@@ -25,4 +24,9 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f65381b6eec64e69e649dacd3a3f75e74d9236164a1277bd2493afb3cb469049bee026d590a7207413b4d92675f877d1d8d3b16c58840a6e15a81638a2f731f2 musl-locales-0.20190626.tar.gz"
+lang() {
+ license="MIT"
+ default_lang
+}
+
+sha512sums="921c5a4dfb45ac12b1eaf284986237bd95420a58705702d0541a46fa2480ff97cd3ac929661108c67304e4e1bfe1efed7bf8edd535b7260d7eb69d72aa294e45 musl-locales-0.20200319.tar.xz"
diff --git a/system/nss/APKBUILD b/system/nss/APKBUILD
index 0e233e589..944668272 100644
--- a/system/nss/APKBUILD
+++ b/system/nss/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=nss
-pkgver=3.50
+pkgver=3.51
_ver=$(printf '%s' "$pkgver" | tr . _)
-pkgrel=0
+pkgrel=1
pkgdesc="Mozilla Network Security Services"
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
arch="all"
@@ -49,6 +49,17 @@ build() {
case "$CARCH" in
*64* | s390x) export USE_64=1;;
esac
+
+ # This actually enables -mvsx and -mcrypto too, and those can't
+ # be turned off separately in this case:
+ #
+ # altivec-types.h:20:1: error: use of _long long_ in AltiVec
+ # types is invalid without _-mvsx_
+ #
+ # typedef __vector signed long long vec_s64;
+ # ^~~~~~~
+ export NSS_DISABLE_ALTIVEC=1
+
make -j 1 -C nss/coreconf
make -j 1 -C nss/lib/dbm
make -j 1 -C nss
@@ -146,7 +157,7 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="d6bcaf8ad65b5a97c42cd6cbbc68add5c4b49db74b2debcedb2a007f72511ac0e9bd21fd2dec041bc1975cfc8af26a48450aa0d1b962f755931ab2ac45c795b1 nss-3.50.tar.gz
+sha512sums="9c894b1ea41449b000750a7b3a89fcb43dfc3d0d4d6dcc0dc288bc73996f76f1ee1ede927a8aecae6d4a07f9f3d3e3a042c6a60cf06e27e0cdc004fce2e510fd nss-3.51.tar.gz
75dbd648a461940647ff373389cc73bc8ec609139cd46c91bcce866af02be6bcbb0524eb3dfb721fbd5b0bc68c20081ed6f7debf6b24317f2a7ba823e8d3c531 nss.pc.in
0f2efa8563b11da68669d281b4459289a56f5a3a906eb60382126f3adcfe47420cdcedc6ab57727a3afeeffa2bbb4c750b43bef8b5f343a75c968411dfa30e09 nss-util.pc.in
09c69d4cc39ec9deebc88696a80d0f15eb2d8c94d9daa234a2adfec941b63805eb4ce7f2e1943857b938bddcaee1beac246a0ec627b71563d9f846e6119a4a15 nss-softokn.pc.in
diff --git a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch b/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch
deleted file mode 100644
index 6c23e2ab0..000000000
--- a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3d0d2b89745597ea973129eafa3f999cf19d761f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
-Date: Wed, 17 Aug 2016 17:52:58 +0200
-Subject: [PATCH 7/7] make consolefont service compatible with busyboxs setfont
- applet
-
-Compared to kdbs setfont program it doesn't support -O and -m.
----
- conf.d/consolefont | 11 ++---------
- init.d/consolefont.in | 7 ++-----
- 2 files changed, 4 insertions(+), 14 deletions(-)
-
-diff --git a/conf.d/consolefont b/conf.d/consolefont
-index e01ae842..75544b2f 100644
---- a/conf.d/consolefont
-+++ b/conf.d/consolefont
-@@ -3,16 +3,9 @@
- #
- # consolefont specifies the default font that you'd like Linux to use on the
- # console. You can find a good selection of fonts in /usr/share/consolefonts;
--# you shouldn't specify the trailing ".psf.gz", just the font name below.
--# To use the default console font, comment out the CONSOLEFONT setting below.
--consolefont="default8x16"
-+consolefont="default8x16.psf.gz"
-
- # consoletranslation is the charset map file to use. Leave commented to use
- # the default one. Have a look in /usr/share/consoletrans for a selection of
- # map files you can use.
--#consoletranslation="8859-1_to_uni"
--
--# unicodemap is the unicode map file to use. Leave commented to use the
--# default one. Have a look in /usr/share/unimaps for a selection of map files
--# you can use.
--#unicodemap="iso01"
-+#consoletranslation="8859-1_to_uni.trans"
-diff --git a/init.d/consolefont.in b/init.d/consolefont.in
-index 9fe95afa..173ed426 100644
---- a/init.d/consolefont.in
-+++ b/init.d/consolefont.in
-@@ -22,7 +22,6 @@ start()
- {
- ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
- consolefont=${consolefont:-${CONSOLEFONT}}
-- unicodemap=${unicodemap:-${UNICODEMAP}}
- consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}}
-
- if [ -z "$consolefont" ]; then
-@@ -43,9 +42,6 @@ start()
- if [ -n "$consoletranslation" ]; then
- param="$param -m $consoletranslation"
- fi
-- if [ -n "${unicodemap}" ]; then
-- param="$param -u $unicodemap"
-- fi
-
- # Set the console font
- ebegin "Setting console font [$consolefont]"
-@@ -63,7 +59,8 @@ start()
- # Store the font so we can use it ASAP on boot
- if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then
- mkdir -p "$RC_LIBEXECDIR"/console
-- setfont -O "$RC_LIBEXECDIR"/console/font
-+ zcat "/usr/share/consolefonts/$consolefont" \
-+ > "$RC_LIBEXECDIR"/console/font
- fi
-
- return $retval
---
-2.11.0
-
diff --git a/system/openrc/APKBUILD b/system/openrc/APKBUILD
index 2b1c5f520..c2cb32220 100644
--- a/system/openrc/APKBUILD
+++ b/system/openrc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer:
pkgname=openrc
pkgver=0.24.1
-pkgrel=8
+pkgrel=10
pkgdesc="OpenRC manages the services, startup and shutdown of a host"
url="https://github.com/OpenRC/openrc"
arch="all"
@@ -19,7 +19,6 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/OpenRC/openrc/archive/$pkgve
0004-hide-error-when-migrating-var-run-to-run.patch
0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch
0006-mount-efivars-read-only.patch
- 0007-make-consolefont-service-compatible-with-busyboxs-se.patch
openrc-configuration.patch
@@ -69,8 +68,11 @@ package() {
rm "$pkgdir"/etc/conf.d/network
rm "$pkgdir"/etc/init.d/network
- # we use console-setup for keymaps
- rm "$pkgdir"/etc/init.d/keymaps
+ # we ship these in system/kbd
+ for i in consolefont keymaps; do
+ rm "$pkgdir"/etc/conf.d/$i
+ rm "$pkgdir"/etc/init.d/$i
+ done
# we use gettys-openrc for TTY
rm "$pkgdir"/etc/init.d/agetty
@@ -86,7 +88,6 @@ aedf77f9159fefb4bd5f30a29a33b6aedbc986c9a0f993aa928cc79fbe24aac76bd9e5974dcce52e
d54630d40a2d6b10a325cb012d4efcda997a60c008ca953ce5d60059d3f267308a59dabddf93a5fc0d301aa91967137d144effbe5f574394af768ce4ebc48738 0004-hide-error-when-migrating-var-run-to-run.patch
39a35c54ec9112fe84c901ed155a711cec8e194af02d5483ee60b80743dab12391e6fdc7b3da2f86844dd4edcf53e681ff95bd4d6fa1101a89ce54dce2ddbb7c 0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch
7221dd2daccd8844f6f9481b7b5921abc2711c8abd1a4bb72f04db8fd8e734b817f5d0d571daea0e2e05d3bc687f75ee1d8025249996bdee0b3328e18d9da7d3 0006-mount-efivars-read-only.patch
-234c4f3cf39df3350dbea25c00b8d584794b28194f44c726767a6a16d91a26fee1b5d2dd16635f19803fc015b4e9d99c52b23128e6b815938b88365feba8cf59 0007-make-consolefont-service-compatible-with-busyboxs-se.patch
2dde266f3176456724e4b0c40476e7061e31986b67744b4a53c71ba0d3896860b4569e3af2ea4777a9d8fe3b6282ff869666570f1daa86cdc410c0e09805c990 openrc-configuration.patch
12bb6354e808fbf47bbab963de55ee7901738b4a912659982c57ef2777fff9a670e867fcb8ec316a76b151032c92dc89a950d7d1d835ef53f753a8f3b41d2cec openrc.logrotate
99b542c0903ad6874b8c308b2e0660a4fe2ff9db962dfec65325cd12c368873a2ae800d5e6d42dc4deff775e1d5c0068869eb72581f7ab16e88d5738afe1d3dd hostname.initd
diff --git a/system/openrc/openrc.post-install b/system/openrc/openrc.post-install
index 0f6572ef7..9632de2ee 100644
--- a/system/openrc/openrc.post-install
+++ b/system/openrc/openrc.post-install
@@ -1,6 +1,6 @@
#!/bin/sh
-if [ -d /etc/runlevels ]; then
+if [ -d /etc/runlevels/sysinit ]; then
exit 0
fi
diff --git a/system/openssl/APKBUILD b/system/openssl/APKBUILD
index 070d3d0e2..dde5f8603 100644
--- a/system/openssl/APKBUILD
+++ b/system/openssl/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=openssl
-pkgver=1.1.1d
+pkgver=1.1.1g
pkgrel=0
pkgdesc="Toolkit for SSL and TLS"
url="https://www.openssl.org/"
@@ -12,7 +12,7 @@ makedepends_build="perl"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc libcrypto1.1:libcrypto
libssl1.1:libssl"
source="https://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz
- CVE-2019-1551.patch
+ ppc-auxv.patch
ppc64.patch
"
@@ -58,6 +58,8 @@ source="https://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz
# - CVE-2019-1563
# 1.1.1d-r0:
# - CVE-2019-1551
+# 1.1.1g-r0:
+# - CVE-2020-1967
build() {
# openssl will prepend crosscompile always core CC et al
@@ -127,6 +129,6 @@ libssl() {
done
}
-sha512sums="2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7 openssl-1.1.1d.tar.gz
-11ca61515a89766241fe0fae27f3b39767128915f288ea88840bf93e8b50ac416024cb2153efcdf2658d3e82a8e4250a0c069333dbd7347475f9dafcc45370b5 CVE-2019-1551.patch
-66bbb0ae769643c8a0b1501d9c8466f08f0d8b3b2bc4fcc2c0c054ab1971ced85c07aa0e4b8168a4394d0ae407dfbd26066a7a068602ce5b58e459b12ce6d36a ppc64.patch"
+sha512sums="01e3d0b1bceeed8fb066f542ef5480862001556e0f612e017442330bbd7e5faee228b2de3513d7fc347446b7f217e27de1003dc9d7214d5833b97593f3ec25ab openssl-1.1.1g.tar.gz
+c164dd528d7408b8b2a52a0b181f2066ff00feb635df863bdeb4ce879db9ecdf7dd9033bb14b63ee5239aa814d5d777a86bb99cc37ecedae2d77a6bd86144b88 ppc-auxv.patch
+e040f23770d52b988578f7ff84d77563340f37c026db7643db8e4ef18e795e27d10cb42cb8656da4d9c57a28283a2828729d70f940edc950c3422a54fea55509 ppc64.patch"
diff --git a/system/openssl/ppc-auxv.patch b/system/openssl/ppc-auxv.patch
new file mode 100644
index 000000000..e19d8df1f
--- /dev/null
+++ b/system/openssl/ppc-auxv.patch
@@ -0,0 +1,17 @@
+--- openssl-1.1.1e/crypto/ppccap.c.old 2020-03-17 14:31:17.000000000 +0000
++++ openssl-1.1.1e/crypto/ppccap.c 2020-03-30 06:32:25.943988524 +0000
+@@ -207,11 +207,9 @@
+ return 0;
+ }
+
+-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+-# if __GLIBC_PREREQ(2, 16)
+-# include <sys/auxv.h>
+-# define OSSL_IMPLEMENT_GETAUXVAL
+-# endif
++#if defined(__linux__)
++# include <sys/auxv.h>
++# define OSSL_IMPLEMENT_GETAUXVAL
+ #endif
+
+ /* I wish <sys/auxv.h> was universally available */
diff --git a/system/openssl/ppc64.patch b/system/openssl/ppc64.patch
index 5f79c4ddc..c75ceedba 100644
--- a/system/openssl/ppc64.patch
+++ b/system/openssl/ppc64.patch
@@ -78,7 +78,7 @@ diff --git a/Configure b/Configure
index 22082deb4c7..e303d98deb3 100755
--- a/Configure
+++ b/Configure
-@@ -1411,8 +1410,15 @@
+@@ -1402,8 +1402,15 @@
my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC});
my %predefined_CXX = $config{CXX}
? compiler_predefined($config{CROSS_COMPILE}.$config{CXX})
diff --git a/system/pcre2/APKBUILD b/system/pcre2/APKBUILD
index 7bca0e450..4120d0a7b 100644
--- a/system/pcre2/APKBUILD
+++ b/system/pcre2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=pcre2
pkgver=10.33
-pkgrel=0
+pkgrel=1
pkgdesc="Perl-compatible regular expression library"
url="https://pcre.org"
arch="all"
@@ -12,7 +12,13 @@ depends_dev="libedit-dev zlib-dev"
makedepends="$depends_dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools
libpcre2-16:_libpcre libpcre2-32:_libpcre"
-source="https://ftp.pcre.org/pub/pcre/$pkgname-$pkgver.tar.gz"
+source="https://ftp.pcre.org/pub/pcre/$pkgname-$pkgver.tar.gz
+ CVE-2019-20454.patch
+ "
+
+# secfixes:
+# 10.33-r1:
+# - CVE-2019-20454
case "$CARCH" in
s390x) _enable_jit="";;
@@ -62,4 +68,5 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="649983c7725e2fd2451ba89243b4c08c408fc279b7be3b2d225045cced3b0667ff6da4c9dd37510eb9e5aed6478aff54c2dbd1d92f4d0f1174579df9ec2c1882 pcre2-10.33.tar.gz"
+sha512sums="649983c7725e2fd2451ba89243b4c08c408fc279b7be3b2d225045cced3b0667ff6da4c9dd37510eb9e5aed6478aff54c2dbd1d92f4d0f1174579df9ec2c1882 pcre2-10.33.tar.gz
+07c43ccf130c1ed2b4f97036671f92e9c1d0100fd32c053b448e5dbdf976543c12f74568e37b661db7fbd603e815f5683a59cb2a9f9c307505dca3cb36db8120 CVE-2019-20454.patch"
diff --git a/system/pcre2/CVE-2019-20454.patch b/system/pcre2/CVE-2019-20454.patch
new file mode 100644
index 000000000..bdec87294
--- /dev/null
+++ b/system/pcre2/CVE-2019-20454.patch
@@ -0,0 +1,50 @@
+Revision: 1091
+Author: ph10
+Date: Mon May 13 16:26:17 2019 UTC
+URL: https://vcs.pcre.org/pcre2?view=revision&revision=1091
+
+Fix crash when \X is used without UTF in JIT.
+
+--- a/testdata/testinput4 2019/05/11 11:43:39 1090
++++ b/testdata/testinput4 2019/05/13 16:26:17 1091
+@@ -2480,4 +2480,7 @@
+ /^(?'אABC'...)(?&אABC)/utf
+ 123123123456
+
++/\X*/
++ \xF3aaa\xE4\xEA\xEB\xFEa
++
+ # End of testinput4
+--- a/testdata/testoutput4 2019/05/11 11:43:39 1090
++++ b/testdata/testoutput4 2019/05/13 16:26:17 1091
+@@ -4012,4 +4012,8 @@
+ 0: 123123
+ 1: 123
+
++/\X*/
++ \xF3aaa\xE4\xEA\xEB\xFEa
++ 0: \xf3aaa\xe4\xea\xeb\xfea
++
+ # End of testinput4
+
+Revision: 1092
+Author: ph10
+Date: Mon May 13 16:38:18 2019 UTC
+URL: https://vcs.pcre.org/pcre2?view=revision&revision=1092
+
+Forgot this file in previous commit. Fixes JIT non-UTF bug.
+
+--- a/src/pcre2_jit_compile.c 2019/05/13 16:26:17 1091
++++ b/src/pcre2_jit_compile.c 2019/05/13 16:38:18 1092
+@@ -8571,7 +8571,10 @@
+ PCRE2_SPTR bptr;
+ uint32_t c;
+
+-GETCHARINC(c, cc);
++/* Patch by PH */
++/* GETCHARINC(c, cc); */
++
++c = *cc++;
+ #if PCRE2_CODE_UNIT_WIDTH == 32
+ if (c >= 0x110000)
+ return NULL;
diff --git a/system/python3/APKBUILD b/system/python3/APKBUILD
index b8c72f3a7..e875d3941 100644
--- a/system/python3/APKBUILD
+++ b/system/python3/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=python3
-pkgver=3.6.9
+pkgver=3.6.10
_basever="${pkgver%.*}"
pkgrel=2
pkgdesc="A high-level scripting language"
@@ -40,8 +40,7 @@ makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev xz-dev
source="https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz
musl-find_library.patch
fix-xattrs-glibc.patch
- CVE-2019-16056.patch
- CVE-2019-16935.patch
+ CVE-2019-18348.patch
"
builddir="$srcdir/Python-$pkgver"
@@ -63,6 +62,8 @@ builddir="$srcdir/Python-$pkgver"
# - CVE-2019-16056
# 3.6.9-r2:
# - CVE-2019-16935
+# 3.6.10-r0:
+# - CVE-2019-18348
prepare() {
default_prepare
@@ -153,11 +154,14 @@ EOF
}
package() {
+ export XDG_CACHE_HOME="$(mktemp -d)"
make -j1 DESTDIR="$pkgdir" EXTRA_CFLAGS="$CFLAGS" install maninstall
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
# those are provided by python3-tkinter
rm -r "$pkgdir"/usr/bin/idle* "$pkgdir"/usr/lib/python*/idlelib \
"$pkgdir"/usr/lib/python*/tkinter
+
+ rm -rf "$XDG_CACHE_HOME"
}
dev() {
@@ -189,8 +193,7 @@ wininst() {
"$subpkgdir"/usr/lib/python$_basever/distutils/command
}
-sha512sums="05de9c6f44d96a52bfce10ede4312de892573edaf8bece65926d19973a3a800d65eed7a857af945f69efcfb25efa3788e7a54016b03d80b611eb51c3ea074819 Python-3.6.9.tar.xz
+sha512sums="26147099e1f1a0ffc85febad26e18e991f019599a150887ea0b925e34663fad8e03b3c2a941e2770c1a63960695e173ef32709572c9361e7f2cb862ccf75b28a Python-3.6.10.tar.xz
ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 musl-find_library.patch
37b6ee5d0d5de43799316aa111423ba5a666c17dc7f81b04c330f59c1d1565540eac4c585abe2199bbed52ebe7426001edb1c53bd0a17486a2a8e052d0f494ad fix-xattrs-glibc.patch
-1f1eb61355eb7832bef8e9c3915895cc3b2966a30c809371430b4416260452cd39c48ba593b2259574867bd1e8fea98efbc45c4b0bd95aeb0690c8514b380ea0 CVE-2019-16056.patch
-7f94d887c81f79d90afd4a9621547c13cbdd0232250f62a686b26a63160a4d286a6db9b342d06b9b63af64f994835b489c37bab499a2093c3c2585dc7a04d8a1 CVE-2019-16935.patch"
+7a15409165feb60358455b711f978b7b1c4dea9ad53aa7b5be07c1f70262988e592e7a630f83125f37051bbed14d14b66d2acd775234a163ff5b048621b9a59c CVE-2019-18348.patch"
diff --git a/system/python3/CVE-2019-16056.patch b/system/python3/CVE-2019-16056.patch
deleted file mode 100644
index b2f5ce826..000000000
--- a/system/python3/CVE-2019-16056.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 13a19139b5e76175bc95294d54afc9425e4f36c9 Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <31488909+miss-islington@users.noreply.github.com>
-Date: Fri, 9 Aug 2019 08:22:19 -0700
-Subject: [PATCH] bpo-34155: Dont parse domains containing @ (GH-13079)
- (GH-14826)
-
-Before:
-
- >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
- (Address(display_name='', username='a', domain='malicious.org'),)
-
- >>> parseaddr('a@malicious.org@important.com')
- ('', 'a@malicious.org')
-
- After:
-
- >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
- (Address(display_name='', username='', domain=''),)
-
- >>> parseaddr('a@malicious.org@important.com')
- ('', 'a@')
-
-https://bugs.python.org/issue34155
-(cherry picked from commit 8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9)
-
-Co-authored-by: jpic <jpic@users.noreply.github.com>
----
- Lib/email/_header_value_parser.py | 2 ++
- Lib/email/_parseaddr.py | 11 ++++++++++-
- Lib/test/test_email/test__header_value_parser.py | 10 ++++++++++
- Lib/test/test_email/test_email.py | 14 ++++++++++++++
- .../2019-05-04-13-33-37.bpo-34155.MJll68.rst | 1 +
- 5 files changed, 37 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
-
-diff --git a/Lib/email/_header_value_parser.py b/Lib/email/_header_value_parser.py
-index 737951e4b1b1..bc9c9b6241d4 100644
---- a/Lib/email/_header_value_parser.py
-+++ b/Lib/email/_header_value_parser.py
-@@ -1561,6 +1561,8 @@ def get_domain(value):
- token, value = get_dot_atom(value)
- except errors.HeaderParseError:
- token, value = get_atom(value)
-+ if value and value[0] == '@':
-+ raise errors.HeaderParseError('Invalid Domain')
- if leader is not None:
- token[:0] = [leader]
- domain.append(token)
-diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
-index cdfa3729adc7..41ff6f8c000d 100644
---- a/Lib/email/_parseaddr.py
-+++ b/Lib/email/_parseaddr.py
-@@ -379,7 +379,12 @@ def getaddrspec(self):
- aslist.append('@')
- self.pos += 1
- self.gotonext()
-- return EMPTYSTRING.join(aslist) + self.getdomain()
-+ domain = self.getdomain()
-+ if not domain:
-+ # Invalid domain, return an empty address instead of returning a
-+ # local part to denote failed parsing.
-+ return EMPTYSTRING
-+ return EMPTYSTRING.join(aslist) + domain
-
- def getdomain(self):
- """Get the complete domain name from an address."""
-@@ -394,6 +399,10 @@ def getdomain(self):
- elif self.field[self.pos] == '.':
- self.pos += 1
- sdlist.append('.')
-+ elif self.field[self.pos] == '@':
-+ # bpo-34155: Don't parse domains with two `@` like
-+ # `a@malicious.org@important.com`.
-+ return EMPTYSTRING
- elif self.field[self.pos] in self.atomends:
- break
- else:
-diff --git a/Lib/test/test_email/test__header_value_parser.py b/Lib/test/test_email/test__header_value_parser.py
-index a2c900fa7fd2..02ef3e1006c6 100644
---- a/Lib/test/test_email/test__header_value_parser.py
-+++ b/Lib/test/test_email/test__header_value_parser.py
-@@ -1418,6 +1418,16 @@ def test_get_addr_spec_dot_atom(self):
- self.assertEqual(addr_spec.domain, 'example.com')
- self.assertEqual(addr_spec.addr_spec, 'star.a.star@example.com')
-
-+ def test_get_addr_spec_multiple_domains(self):
-+ with self.assertRaises(errors.HeaderParseError):
-+ parser.get_addr_spec('star@a.star@example.com')
-+
-+ with self.assertRaises(errors.HeaderParseError):
-+ parser.get_addr_spec('star@a@example.com')
-+
-+ with self.assertRaises(errors.HeaderParseError):
-+ parser.get_addr_spec('star@172.17.0.1@example.com')
-+
- # get_obs_route
-
- def test_get_obs_route_simple(self):
-diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py
-index f97ccc6711cc..68d052279987 100644
---- a/Lib/test/test_email/test_email.py
-+++ b/Lib/test/test_email/test_email.py
-@@ -3035,6 +3035,20 @@ def test_parseaddr_empty(self):
- self.assertEqual(utils.parseaddr('<>'), ('', ''))
- self.assertEqual(utils.formataddr(utils.parseaddr('<>')), '')
-
-+ def test_parseaddr_multiple_domains(self):
-+ self.assertEqual(
-+ utils.parseaddr('a@b@c'),
-+ ('', '')
-+ )
-+ self.assertEqual(
-+ utils.parseaddr('a@b.c@c'),
-+ ('', '')
-+ )
-+ self.assertEqual(
-+ utils.parseaddr('a@172.17.0.1@c'),
-+ ('', '')
-+ )
-+
- def test_noquote_dump(self):
- self.assertEqual(
- utils.formataddr(('A Silly Person', 'person@dom.ain')),
-diff --git a/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
-new file mode 100644
-index 000000000000..50292e29ed1d
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
-@@ -0,0 +1 @@
-+Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic.
diff --git a/system/python3/CVE-2019-16935.patch b/system/python3/CVE-2019-16935.patch
deleted file mode 100644
index 567eb90fc..000000000
--- a/system/python3/CVE-2019-16935.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 1698cacfb924d1df452e78d11a4bf81ae7777389 Mon Sep 17 00:00:00 2001
-From: Victor Stinner <vstinner@redhat.com>
-Date: Sat, 28 Sep 2019 09:33:00 +0200
-Subject: [PATCH] bpo-38243, xmlrpc.server: Escape the server_title (GH-16373)
- (GH-16441)
-
-Escape the server title of xmlrpc.server.DocXMLRPCServer
-when rendering the document page as HTML.
-
-(cherry picked from commit e8650a4f8c7fb76f570d4ca9c1fbe44e91c8dfaa)
----
- Lib/test/test_docxmlrpc.py | 16 ++++++++++++++++
- Lib/xmlrpc/server.py | 3 ++-
- .../2019-09-25-13-21-09.bpo-38243.1pfz24.rst | 3 +++
- 3 files changed, 21 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst
-
-diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py
-index 00903337c07c2..d2adb21af0fb3 100644
---- a/Lib/test/test_docxmlrpc.py
-+++ b/Lib/test/test_docxmlrpc.py
-@@ -1,5 +1,6 @@
- from xmlrpc.server import DocXMLRPCServer
- import http.client
-+import re
- import sys
- from test import support
- threading = support.import_module('threading')
-@@ -193,6 +194,21 @@ def test_annotations(self):
- b'method_annotation</strong></a>(x: bytes)</dt></dl>'),
- response.read())
-
-+ def test_server_title_escape(self):
-+ # bpo-38243: Ensure that the server title and documentation
-+ # are escaped for HTML.
-+ self.serv.set_server_title('test_title<script>')
-+ self.serv.set_server_documentation('test_documentation<script>')
-+ self.assertEqual('test_title<script>', self.serv.server_title)
-+ self.assertEqual('test_documentation<script>',
-+ self.serv.server_documentation)
-+
-+ generated = self.serv.generate_html_documentation()
-+ title = re.search(r'<title>(.+?)</title>', generated).group()
-+ documentation = re.search(r'<p><tt>(.+?)</tt></p>', generated).group()
-+ self.assertEqual('<title>Python: test_title&lt;script&gt;</title>', title)
-+ self.assertEqual('<p><tt>test_documentation&lt;script&gt;</tt></p>', documentation)
-+
-
- if __name__ == '__main__':
- unittest.main()
-diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py
-index 3e0dca027f068..efe593748968c 100644
---- a/Lib/xmlrpc/server.py
-+++ b/Lib/xmlrpc/server.py
-@@ -106,6 +106,7 @@ def export_add(self, x, y):
-
- from xmlrpc.client import Fault, dumps, loads, gzip_encode, gzip_decode
- from http.server import BaseHTTPRequestHandler
-+import html
- import http.server
- import socketserver
- import sys
-@@ -904,7 +905,7 @@ def generate_html_documentation(self):
- methods
- )
-
-- return documenter.page(self.server_title, documentation)
-+ return documenter.page(html.escape(self.server_title), documentation)
-
- class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
- """XML-RPC and documentation request handler class.
-diff --git a/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst b/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst
-new file mode 100644
-index 0000000000000..98d7be129573a
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst
-@@ -0,0 +1,3 @@
-+Escape the server title of :class:`xmlrpc.server.DocXMLRPCServer`
-+when rendering the document page as HTML.
-+(Contributed by Dong-hee Na in :issue:`38243`.)
diff --git a/system/python3/CVE-2019-18348.patch b/system/python3/CVE-2019-18348.patch
new file mode 100644
index 000000000..9ebb963a8
--- /dev/null
+++ b/system/python3/CVE-2019-18348.patch
@@ -0,0 +1,147 @@
+From 83fc70159b24f5b11a5ef87c9b05c2cf4c7faeba Mon Sep 17 00:00:00 2001
+From: "Miss Islington (bot)"
+ <31488909+miss-islington@users.noreply.github.com>
+Date: Sat, 14 Mar 2020 15:35:52 -0700
+Subject: [PATCH] bpo-38576: Disallow control characters in hostnames in
+ http.client (GH-18995) (GH-19002)
+
+Add host validation for control characters for more CVE-2019-18348 protection.
+(cherry picked from commit 9165addc22d05e776a54319a8531ebd0b2fe01ef)
+
+Co-authored-by: Ashwin Ramaswami <aramaswamis@gmail.com>
+---
+ Lib/http/client.py | 10 ++++++
+ Lib/test/test_httplib.py | 13 ++++++-
+ Lib/test/test_urllib.py | 36 +++++++++++++++++--
+ .../2020-03-14-14-57-44.bpo-38576.OowwQn.rst | 1 +
+ 4 files changed, 57 insertions(+), 3 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst
+
+diff --git a/Lib/http/client.py b/Lib/http/client.py
+index d4821f1a96e07..c0ac7db6f40a0 100644
+--- a/Lib/http/client.py
++++ b/Lib/http/client.py
+@@ -858,6 +858,8 @@ def __init__(self, host, port=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
+
+ (self.host, self.port) = self._get_hostport(host, port)
+
++ self._validate_host(self.host)
++
+ # This is stored as an instance variable to allow unit
+ # tests to replace it with a suitable mockup
+ self._create_connection = socket.create_connection
+@@ -1215,6 +1217,14 @@ def _validate_path(self, url):
+ raise InvalidURL(f"URL can't contain control characters. {url!r} "
+ f"(found at least {match.group()!r})")
+
++ def _validate_host(self, host):
++ """Validate a host so it doesn't contain control characters."""
++ # Prevent CVE-2019-18348.
++ match = _contains_disallowed_url_pchar_re.search(host)
++ if match:
++ raise InvalidURL(f"URL can't contain control characters. {host!r} "
++ f"(found at least {match.group()!r})")
++
+ def putheader(self, header, *values):
+ """Send a request header line to the server.
+
+diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
+index 14d42d483773c..fcd9231666ede 100644
+--- a/Lib/test/test_httplib.py
++++ b/Lib/test/test_httplib.py
+@@ -1132,7 +1132,7 @@ def run_server():
+ thread.join()
+ self.assertEqual(result, b"proxied data\n")
+
+- def test_putrequest_override_validation(self):
++ def test_putrequest_override_domain_validation(self):
+ """
+ It should be possible to override the default validation
+ behavior in putrequest (bpo-38216).
+@@ -1145,6 +1145,17 @@ def _validate_path(self, url):
+ conn.sock = FakeSocket('')
+ conn.putrequest('GET', '/\x00')
+
++ def test_putrequest_override_host_validation(self):
++ class UnsafeHTTPConnection(client.HTTPConnection):
++ def _validate_host(self, url):
++ pass
++
++ conn = UnsafeHTTPConnection('example.com\r\n')
++ conn.sock = FakeSocket('')
++ # set skip_host so a ValueError is not raised upon adding the
++ # invalid URL as the value of the "Host:" header
++ conn.putrequest('GET', '/', skip_host=1)
++
+ def test_putrequest_override_encoding(self):
+ """
+ It should be possible to override the default encoding
+diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
+index 0061a5297cb35..ddf425fd8d4b5 100644
+--- a/Lib/test/test_urllib.py
++++ b/Lib/test/test_urllib.py
+@@ -331,7 +331,7 @@ def test_willclose(self):
+ self.unfakehttp()
+
+ @unittest.skipUnless(ssl, "ssl module required")
+- def test_url_with_control_char_rejected(self):
++ def test_url_path_with_control_char_rejected(self):
+ for char_no in list(range(0, 0x21)) + [0x7f]:
+ char = chr(char_no)
+ schemeless_url = f"//localhost:7777/test{char}/"
+@@ -358,7 +358,7 @@ def test_url_with_control_char_rejected(self):
+ self.unfakehttp()
+
+ @unittest.skipUnless(ssl, "ssl module required")
+- def test_url_with_newline_header_injection_rejected(self):
++ def test_url_path_with_newline_header_injection_rejected(self):
+ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
+ host = "localhost:7777?a=1 HTTP/1.1\r\nX-injected: header\r\nTEST: 123"
+ schemeless_url = "//" + host + ":8080/test/?test=a"
+@@ -383,6 +383,38 @@ def test_url_with_newline_header_injection_rejected(self):
+ finally:
+ self.unfakehttp()
+
++ @unittest.skipUnless(ssl, "ssl module required")
++ def test_url_host_with_control_char_rejected(self):
++ for char_no in list(range(0, 0x21)) + [0x7f]:
++ char = chr(char_no)
++ schemeless_url = f"//localhost{char}/test/"
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ try:
++ escaped_char_repr = repr(char).replace('\\', r'\\')
++ InvalidURL = http.client.InvalidURL
++ with self.assertRaisesRegex(
++ InvalidURL, f"contain control.*{escaped_char_repr}"):
++ urlopen(f"http:{schemeless_url}")
++ with self.assertRaisesRegex(InvalidURL, f"contain control.*{escaped_char_repr}"):
++ urlopen(f"https:{schemeless_url}")
++ finally:
++ self.unfakehttp()
++
++ @unittest.skipUnless(ssl, "ssl module required")
++ def test_url_host_with_newline_header_injection_rejected(self):
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ host = "localhost\r\nX-injected: header\r\n"
++ schemeless_url = "//" + host + ":8080/test/?test=a"
++ try:
++ InvalidURL = http.client.InvalidURL
++ with self.assertRaisesRegex(
++ InvalidURL, r"contain control.*\\r"):
++ urlopen(f"http:{schemeless_url}")
++ with self.assertRaisesRegex(InvalidURL, r"contain control.*\\n"):
++ urlopen(f"https:{schemeless_url}")
++ finally:
++ self.unfakehttp()
++
+ def test_read_0_9(self):
+ # "0.9" response accepted (but not "simple responses" without
+ # a status line)
+diff --git a/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst b/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst
+new file mode 100644
+index 0000000000000..34b8af28988fa
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst
+@@ -0,0 +1 @@
++Disallow control characters in hostnames in http.client, addressing CVE-2019-18348. Such potentially malicious header injection URLs now cause a InvalidURL to be raised.
+\ No newline at end of file
diff --git a/system/ruby/APKBUILD b/system/ruby/APKBUILD
index 537c1010a..1f4eeafc2 100644
--- a/system/ruby/APKBUILD
+++ b/system/ruby/APKBUILD
@@ -38,9 +38,11 @@
# - CVE-2019-16201
# - CVE-2019-16254
# - CVE-2019-16255
+# 2.5.7-r1:
+# - CVE-2020-8130
#
pkgname=ruby
-pkgver=2.5.7
+pkgver=2.7.1
_abiver="${pkgver%.*}.0"
pkgrel=0
pkgdesc="An object-oriented language for quick and easy programming"
@@ -48,13 +50,12 @@ url="https://www.ruby-lang.org/"
arch="all"
license="Ruby AND BSD-2-Clause"
depends="ca-certificates"
-depends_dev="ruby=$pkgver-r$pkgrel gmp-dev"
+depends_dev="ruby=$pkgver-r$pkgrel gmp-dev libucontext-dev"
makedepends="$depends_dev zlib-dev openssl-dev db-dev libedit-dev
libffi-dev coreutils yaml-dev linux-headers autoconf"
install="$pkgname.post-upgrade"
subpackages="$pkgname-doc $pkgname-dev
$pkgname-bigdecimal
- $pkgname-did_you_mean::noarch
$pkgname-fiddle
$pkgname-io-console:io_console
$pkgname-irb::noarch
@@ -108,6 +109,9 @@ build() {
export CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-strict-aliasing"
export CPPFLAGS="$CPPFLAGS -fno-omit-frame-pointer -fno-strict-aliasing"
+ # Needed for coroutine stuff
+ export LIBS="-lucontext"
+
# ruby saves path to install. we want use $PATH
export INSTALL=install
@@ -144,7 +148,7 @@ package() {
rm -R "$pkgdir"$_gemdir/cache/*
if [ -d "$pkgdir"/usr/local ]; then
- local f="$(cd "$pkgdir" ; find usr/local -type f)"
+ f="$(cd "$pkgdir" ; find usr/local -type f)"
if [ -n "$f" ]; then
error "Found files in /usr/local:"
echo "$f"
@@ -162,14 +166,6 @@ bigdecimal() {
_mvgem bigdecimal
}
-did_you_mean() {
- pkgdesc="Did you mean? experience in Ruby"
- license="MIT"
- depends="$pkgname-libs"
-
- _mvgem did_you_mean
-}
-
fiddle() {
pkgdesc="A libffi wrapper for Ruby"
license="BSD-2-Clause"
@@ -295,7 +291,7 @@ full() {
}
_mv() {
- local i; for i in "$@"; do
+ for i in "$@"; do
mkdir -p "$subpkgdir"/${i%/*}
mv "$pkgdir"/${i} "$subpkgdir"/${i%/*}/
done
@@ -303,7 +299,7 @@ _mv() {
_mvgem() {
cd "$pkgdir"
- local path; for path in ./$_rubydir/${1}.rb \
+ for path in ./$_rubydir/${1}.rb \
./$_rubydir/${1} \
./$_rubydir/$_chost/${1} \
./$_rubydir/$_chost/${1}.so \
@@ -314,8 +310,8 @@ _mvgem() {
done
}
-sha512sums="63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75 ruby-2.5.7.tar.xz
-20e7e5ee9936a93872fe1ad836dd1fde001fe4a0e7ed54c26727ad83da3ceb0e6247681d9dd4f98a69e1b0250703ed8fc682d44075780d5f47faa1d5f58d2bdb rubygems-avoid-platform-specific-gems.patch
+sha512sums="79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31 ruby-2.7.1.tar.xz
+a142199140fa711a64717429e9069fd2082319abaf4b129f561db374b3bc16e2a90cc4c849b5d28334505d1c71fed242aef3c44d983da3513d239dcb778673a5 rubygems-avoid-platform-specific-gems.patch
814fe6359505b70d8ff680adf22f20a74b4dbd3fecc9a63a6c2456ee9824257815929917b6df5394ed069a6869511b8c6dce5b95b4acbbb7867c1f3a975a0150 test_insns-lower-recursion-depth.patch
-e99b36940fa8fdd445d82738c70b8fc042cab042a4662cab156578aad2dac9673a96da22b6676aa36beac08070e92a7798c60d6f36eeb169216c4c51864ce2fe fix-get_main_stack.patch
-6b88fccce164db1d8beb16adeffdd7effd077e9842b7f61deddebeb39afcf9b839192b68a43ce66a1ff0c9aeaacc4f13a0ee56184c22e822cd8b10a07a1c87b2 libedit-compat.patch"
+3ffc034c01110ee5531265333ca5ee8d61d08131843fe3004c5b34c88c9c1b32cb4ed89574f393177c8bd526e9c15da61ab344f93adf07b9148c561ee19e2eb5 fix-get_main_stack.patch
+6cbeb9d05a3c028e6bd371deaeec6e97fa8ebd03f0dc9d406648a03b569bb44a148e2bd81998a2a973e91ded8a08af141bdebe3e324bdc32df5e74209a42b024 libedit-compat.patch"
diff --git a/system/ruby/fix-get_main_stack.patch b/system/ruby/fix-get_main_stack.patch
index 4b1a101ab..b56bc114b 100644
--- a/system/ruby/fix-get_main_stack.patch
+++ b/system/ruby/fix-get_main_stack.patch
@@ -2,7 +2,7 @@ diff --git a/thread_pthread.c b/thread_pthread.c
index 951885ffa0..cf90321d1d 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
-@@ -552,9 +552,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr)
+@@ -656,9 +656,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr)
# define MAINSTACKADDR_AVAILABLE 0
# endif
#endif
@@ -12,7 +12,7 @@ index 951885ffa0..cf90321d1d 100644
#ifdef STACKADDR_AVAILABLE
/*
-@@ -632,6 +629,55 @@ get_stack(void **addr, size_t *size)
+@@ -740,6 +737,55 @@ get_stack(void **addr, size_t *size)
return 0;
#undef CHECK_ERR
}
diff --git a/system/ruby/libedit-compat.patch b/system/ruby/libedit-compat.patch
index 601a9feea..670b16dc8 100644
--- a/system/ruby/libedit-compat.patch
+++ b/system/ruby/libedit-compat.patch
@@ -1,6 +1,6 @@
--- ruby-2.5.5/ext/readline/readline.c.old 2017-09-30 08:35:23.000000000 +0000
+++ ruby-2.5.5/ext/readline/readline.c 2019-09-09 06:12:00.300098741 +0000
-@@ -571,6 +571,9 @@
+@@ -572,6 +572,9 @@
rb_syserr_fail(save_errno, "fdopen");
}
rl_instream = readline_rl_instream = f;
@@ -10,7 +10,7 @@
readline_instream = input;
}
return input;
-@@ -607,6 +610,9 @@
+@@ -608,6 +611,9 @@
rb_syserr_fail(save_errno, "fdopen");
}
rl_outstream = readline_rl_outstream = f;
diff --git a/system/ruby/rubygems-avoid-platform-specific-gems.patch b/system/ruby/rubygems-avoid-platform-specific-gems.patch
index da6884d09..4eb26a63f 100644
--- a/system/ruby/rubygems-avoid-platform-specific-gems.patch
+++ b/system/ruby/rubygems-avoid-platform-specific-gems.patch
@@ -17,7 +17,7 @@ a platform-agnostic (source) gem. Users can override it using
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
-@@ -764,7 +764,10 @@
+@@ -759,7 +759,10 @@
def self.platforms
@platforms ||= []
if @platforms.empty?
diff --git a/system/s6-linux-init/APKBUILD b/system/s6-linux-init/APKBUILD
index 58415752b..c3985d7d3 100644
--- a/system/s6-linux-init/APKBUILD
+++ b/system/s6-linux-init/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-linux-init
-pkgver=1.0.3.1
+pkgver=1.0.4.0
pkgrel=0
pkgdesc="A s6-based init system"
url="https://skarnet.org/software/$pkgname/"
@@ -119,7 +119,7 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="71b380ff0eaa1d297bf6af5a1c979efdf34d10ec1e440fd1ee3fcab8ddf2c5d7c903d151986ecb5f01a9e0135bedc8021e5fbf82a3fd66abfebcb5e3cbf19242 s6-linux-init-1.0.3.1.tar.gz
+sha512sums="791e376911c9217adace72c6048a295d4b486fc51c0a73578a40a0b020a735d9444f58e5f49d613e99a81aadd63d016ae60c8b056c49c1b50693a7b054890926 s6-linux-init-1.0.4.0.tar.gz
756b0cbbe5dabb4631380c3c7ea199cc213224b2e36e50a2d012a61948170078b78bf49b85d886319fecf59843087f937d3d804723b2553ac9f94d088a2f0fd8 rc.init
e73c3c32b118831074288d23fadace2158a2b15d5a13ffa73290b92a9e39c2a21c73d3b0eabea29bcbaa5f6381611fd8d0aaa6aa691ec7de91b8ef6ae404b6da runlevel
7bb050248a5c2ab6a56c50c35f87cde724f97ff9882f5e60b0f0f2f14bd93c1df7d99fedc3d81c8519cf1a1ed90e03f1cbb9bf891c7b3618aa9a5f5738d262f4 rc.shutdown
diff --git a/system/s6-rc/APKBUILD b/system/s6-rc/APKBUILD
index f857861e5..cc7148513 100644
--- a/system/s6-rc/APKBUILD
+++ b/system/s6-rc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-rc
-pkgver=0.5.1.1
+pkgver=0.5.1.2
pkgrel=0
pkgdesc="skarnet.org's service manager, working on top of s6"
url="https://skarnet.org/software/s6-rc/"
@@ -66,4 +66,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="88e6ad4f09501eda231e3bbac58e9dafc925ff4b2c2a845c9796f3c1519834901f0126d751705b00ecd71173e208085bd68c5ae221a7074da8254d2b71e8a772 s6-rc-0.5.1.1.tar.gz"
+sha512sums="d52b8b22c709f5d8df7d54d70363f06f7b64b841019d046e9ecaf2cb5f1d319ce8995da5eb5aafb9627f993abfe213c4f75ae3ad6cadad2b3a3175271989ac95 s6-rc-0.5.1.2.tar.gz"
diff --git a/system/s6/APKBUILD b/system/s6/APKBUILD
index e4acf50ef..e2a601690 100644
--- a/system/s6/APKBUILD
+++ b/system/s6/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6
-pkgver=2.9.0.1
+pkgver=2.9.1.0
pkgrel=0
pkgdesc="skarnet.org's small & secure supervision software suite"
url="https://skarnet.org/software/$pkgname/"
@@ -67,4 +67,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="5beb6170e4a457a0a307cbace67369cc35f6fd79d13ece2e82a3ebbdb4b032304eba8124be3e45b4db921863eaa02f51472c1365b0da000eef0868c11514dfff s6-2.9.0.1.tar.gz"
+sha512sums="190660ed3af678b304230c688d3364a20dfb8d6e944314506bc27c90fc2ccf1062c7b2931df93620dd3b6f5f794d6119d984f28cb2f4562c1abb8609270b90f5 s6-2.9.1.0.tar.gz"
diff --git a/system/skalibs/APKBUILD b/system/skalibs/APKBUILD
index 2ec93cd17..129fa7e79 100644
--- a/system/skalibs/APKBUILD
+++ b/system/skalibs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=skalibs
-pkgver=2.9.1.0
+pkgver=2.9.2.1
pkgrel=0
pkgdesc="A set of general-purpose C programming libraries for skarnet.org software"
url="https://skarnet.org/software/skalibs/"
@@ -57,4 +57,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="a85a9397cdb10cbc42fd7ef4984a77802cf8c42abeabc8ff18de6d2e11ff97d950418aeda5f2dd66a04bd30004a5c4608e7cc6f4c7e23b91f56ef1ff59f4b6d5 skalibs-2.9.1.0.tar.gz"
+sha512sums="bd507faf30f0564fb8d3e5f86de04ab4b39961dab2497ba9f4a81980a57f7ff68cad366b9847b25d555b5b9263460d13f096e1774d080d1d286979f2e7324c54 skalibs-2.9.2.1.tar.gz"
diff --git a/system/sqlite/APKBUILD b/system/sqlite/APKBUILD
index 0a3e367c1..e8db13ba0 100644
--- a/system/sqlite/APKBUILD
+++ b/system/sqlite/APKBUILD
@@ -1,20 +1,37 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=sqlite
-pkgver=3.30.1
+pkgver=3.31.1
_pkgver=${pkgver%.*}0${pkgver#*.*.}00
_pkgver=${_pkgver%.*}${_pkgver#*.}
pkgrel=0
pkgdesc="C library that implements an SQL database engine"
url="https://sqlite.org/"
arch="all"
+options="!check" # Test suite requires tcl - circular dependency
license="Public-Domain"
depends=""
makedepends="libedit-dev zlib-dev"
-source="https://sqlite.org/2019/$pkgname-autoconf-$_pkgver.tar.gz"
+source="https://sqlite.org/2020/$pkgname-autoconf-$_pkgver.tar.gz"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
builddir="$srcdir/$pkgname-autoconf-$_pkgver"
+# secfixes:
+# 3.31.1-r0:
+# - CVE-2019-19242
+# - CVE-2019-19244
+# - CVE-2019-19317
+# - CVE-2019-19603
+# - CVE-2019-19645
+# - CVE-2019-19646
+# - CVE-2019-19880
+# - CVE-2019-19923
+# - CVE-2019-19924
+# - CVE-2019-19925
+# - CVE-2019-19926
+# - CVE-2019-19959
+# - CVE-2019-20218
+
build() {
local _amalgamation="-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS3 \
@@ -61,4 +78,4 @@ libs() {
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
}
-sha512sums="9ec0283c417fb0323b0e43550af2a49e9a63988e4212c27ea62cc9da3534caa6faf5bdc7e051b6772c4ce61560a433b3d3288b68e05e9ba8495f61a3bcebda3e sqlite-autoconf-3300100.tar.gz"
+sha512sums="d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 sqlite-autoconf-3310100.tar.gz"
diff --git a/system/utmps/APKBUILD b/system/utmps/APKBUILD
index eef50c1d8..b60248950 100644
--- a/system/utmps/APKBUILD
+++ b/system/utmps/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=utmps
-pkgver=0.0.3.1
+pkgver=0.0.3.2
pkgrel=0
pkgdesc="A secure utmp/wtmp implementation"
url="https://skarnet.org/software/$pkgname/"
@@ -75,6 +75,6 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="30ad442d3dc4d8961b759361412b32903d6a0c9421d94e8fec2dd529dc63e0e551444be4c9b3a5f9eb8fcc6cbd2950f7c0bb0d6c5eda92b9278598dd2e4264b6 utmps-0.0.3.1.tar.gz
+sha512sums="096615bf4ef4bf73af6128fcdebc0473c736a154fb3f1db89f6f2f2301fdaf2ea183b709991d4591e75e6e8c51426ac03ce602e2d8ce9cd4a5c360bc5b44003e utmps-0.0.3.2.tar.gz
0ec30284c64c6ea9f25142c5f4a643bd48b137fe85781b650104f5137ffa4dfc35ca7be3e41e3acd3403ebe1d8c5378073afa4e2f3607d3d794fcd9f98ed51c4 utmpd.run
cba4f2ec3b8f5becf3ae57eecf584745d783046ee6cf5d116322421ad5ffd074d2955da22d31d2b5b1d05f906378aae92f221d2ac95ac21b54a361fbdc0566e7 wtmpd.run"
diff --git a/system/vim/APKBUILD b/system/vim/APKBUILD
index 3d0918d65..cb2f7090f 100644
--- a/system/vim/APKBUILD
+++ b/system/vim/APKBUILD
@@ -4,7 +4,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=vim
-pkgver=8.2.0255
+pkgver=8.2.0529
_pkgver=${pkgver%.*.*}${pkgver#*.}
_pkgver=${_pkgver%.*}
pkgrel=0
@@ -79,5 +79,5 @@ vimdiff() {
mv "$pkgdir"/usr/bin/vimdiff "$subpkgdir"/usr/bin
}
-sha512sums="347df5903c95753610eb48c85696d47df5fbfe1179544b4220cd3430dd228810d2639466ef4beaacf91b7ebf0ec9f7e029963af1f2a6b69b1d4bbff33d2db1bb vim-8.2.0255.tar.gz
+sha512sums="73cd3eb1522189f603c65ef1e80c0d1c860ce7332817967ab289aa8f2fdf376235fc9c30af53a66164cfe83a882b55003b4073b27852061295ca9b5fe203501d vim-8.2.0529.tar.gz
12ee3f96c94d74215159fba379ed61907ec5982a9f1643575dcb7c3d5e30824665d683de95f97b5067718b3f2a1238fb7534a70803bc170614498ad026f352d8 vimrc"
diff --git a/user/adwaita-icon-theme/APKBUILD b/user/adwaita-icon-theme/APKBUILD
index dbed574fe..4996402cb 100644
--- a/user/adwaita-icon-theme/APKBUILD
+++ b/user/adwaita-icon-theme/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=adwaita-icon-theme
-pkgver=3.34.3
+pkgver=3.36.0
pkgrel=0
pkgdesc="GNOME system icon set"
url="https://www.gnome.org/"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="77d8fa2cd0a82a7d539b5f9c8c1ed0dc8727de4975a8a770b05f78e4df9dda36aa40232a3ec71f87e24cd1fd6c6a369bcb20c909c1367b89b5327cf3771b48b5 adwaita-icon-theme-3.34.3.tar.xz"
+sha512sums="b5414e4e38d9ffdd5ae8e14cb2f467fc449ca833b3ffd888fa8dde8708ba0cd9292bec8d3c0bc9d917c3117a8d21f828d4113a85c3786d5dcadde46367659934 adwaita-icon-theme-3.36.0.tar.xz"
diff --git a/user/alsa-lib/APKBUILD b/user/alsa-lib/APKBUILD
index 4f854e443..49f14066e 100644
--- a/user/alsa-lib/APKBUILD
+++ b/user/alsa-lib/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=alsa-lib
-pkgver=1.2.1.2
+pkgver=1.2.2
pkgrel=0
pkgdesc="Linux sound support system"
url="https://www.alsa-project.org/wiki/Main_Page"
@@ -12,6 +12,7 @@ subpackages="$pkgname-dev $pkgname-dbg"
source="ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2
ucm_add_limits_h.patch
remove-test.patch
+ type_compat.patch
"
build() {
@@ -30,6 +31,7 @@ build() {
rm -rf "$builddir"/include/sound
mkdir "$builddir"/include/sound
printf "all:\ncheck:\ninstall:\n" > "$builddir"/include/sound/Makefile
+
make
}
@@ -41,6 +43,7 @@ package() {
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="e8286fd55f63ee0d95513279d0885c287533de89b7af6c338413dec5d38ba4f5a15da1a4a4ce36e052614e4b730e3778782dab9979d82958283be17b48604913 alsa-lib-1.2.1.2.tar.bz2
+sha512sums="d21adb3ff998918c7d1820f9ce2aaf4202dd45ccb87cb092d49da8b2402b6ddaad06325be0fd59f17393a5d9958e3743bfccb4b14bdb947a42e7d791d73c7033 alsa-lib-1.2.2.tar.bz2
3b37652d50809443b5f8e80f8d447108195b0cd66fd917805bb393fc091584b6f3dad4414f568742b61745617e7a695862058a0a0f93dcc31e4c97177a520352 ucm_add_limits_h.patch
-0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch"
+0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch
+bdcfa3d5fcc055fb6732922679e21689fc2ac19462fe7b72d16862c98ef8c995c3dd5becc4987ba417068e6b0e561bec7e6284d5f0a414e2966c8e00ac304fa8 type_compat.patch"
diff --git a/user/alsa-lib/type_compat.patch b/user/alsa-lib/type_compat.patch
new file mode 100644
index 000000000..4236d11d4
--- /dev/null
+++ b/user/alsa-lib/type_compat.patch
@@ -0,0 +1,23 @@
+Since we force the use of the uapi headers from linux-headers instead of
+using the vendored copy, type_compat.h never gets put in the place it
+should be for it to be seen in sound/.
+
+However, the only reason it was included here anyway was to replace a
+definition that was never used:
+
+https://github.com/alsa-project/alsa-lib/commit/ae564665ec261cf104de499b1cdda3564070fc65#diff-5e0b4d8ecf374a31036ffc7b224d5e7fL21
+
+ -#define __packed __attribute__((__packed__))
+ -
+ +#include <sound/type_compat.h>
+
+--- alsa-lib-1.2.2/src/topology/tplg_local.h 2020-02-19 03:35:39.000000000 -0600
++++ alsa-lib-1.2.2/src/topology/tplg_local.h 2020-03-17 01:26:25.159548858 -0500
+@@ -18,7 +18,6 @@
+ #include "list.h"
+ #include "topology.h"
+
+-#include <sound/type_compat.h>
+ #include <sound/asound.h>
+ #include <sound/asoc.h>
+ #include <sound/tlv.h>
diff --git a/user/alsa-plugins/APKBUILD b/user/alsa-plugins/APKBUILD
index 2976ee3f3..ebf39a4cb 100644
--- a/user/alsa-plugins/APKBUILD
+++ b/user/alsa-plugins/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=alsa-plugins
-pkgver=1.2.1
+pkgver=1.2.2
pkgrel=0
pkgdesc="Advanced Linux Sound Architecture (ALSA) plugins"
url="https://www.alsa-project.org/main/index.php/Main_Page"
@@ -60,4 +60,4 @@ a52() {
"$subpkgdir"/usr/share/alsa/alsa.conf.d/
}
-sha512sums="a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de alsa-plugins-1.2.1.tar.bz2"
+sha512sums="25a7dfaa64be024447d889b5cde668f1308d197f54880548a82d50beb4ac0dbff33b415da1e26dc5229408c934247a9bd38acfb0f82ca388deac0d77ab3cdadb alsa-plugins-1.2.2.tar.bz2"
diff --git a/user/alsa-utils/APKBUILD b/user/alsa-utils/APKBUILD
index 85811417f..569e8d6a4 100644
--- a/user/alsa-utils/APKBUILD
+++ b/user/alsa-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=alsa-utils
-pkgver=1.2.1
+pkgver=1.2.2
pkgrel=0
pkgdesc="Advanced Linux Sound Architecture (ALSA) utilities"
url="https://www.alsa-project.org/wiki/Main_Page"
@@ -36,7 +36,7 @@ package() {
install -Dm644 ../alsa.confd "$pkgdir"/etc/conf.d/alsa
}
-sha512sums="b7729659cd9809197dc30042f522f5103ff41ddc047f13f9c733c93f7e91a26f90cd864c70e654d12ef7a552b1d9ebe2727a24ec9fad03560cb7cdea906662ec alsa-utils-1.2.1.tar.bz2
+sha512sums="30598c658f3f2ad71a5ce7911b09ae13add54b293bcf3bebb053371d84a91528bd64fd376f167456b2e27e2546a2279019678e099247513e5142b283af756fd9 alsa-utils-1.2.2.tar.bz2
817215be6e9f103a8a187df5b1142c4d2e952f547a64579a9b8cfa58bd762d6a55bde75c0f66f018c0597744d07ccdb08216f7b368db464e36667cecedcc00f3 alsaconf.patch
7bf743024d7c5caed2fbf8af5cee73bcc569a7bab0bd6459541d3704cc6a7456d588b600b690e7406e122deaf0316dd1f67219a267bec4dff3f6c0f120edaae4 alsa.initd
6e716e6230fd3d2c33e3cb2dbf572d632c9ac6452c1768388bea7d3ca22f7c72cf6bcd702580f45cb9089983582011c8b04cbdb4420d14fb988167b1391ea547 alsa.confd"
diff --git a/user/apache-httpd/APKBUILD b/user/apache-httpd/APKBUILD
index 6488ffa9f..48fcaf26d 100644
--- a/user/apache-httpd/APKBUILD
+++ b/user/apache-httpd/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=apache-httpd
_pkgreal=httpd
-pkgver=2.4.41
-pkgrel=1
+pkgver=2.4.43
+pkgrel=0
pkgdesc="Open-source HTTP server"
url="https://httpd.apache.org"
arch="all"
@@ -37,6 +37,9 @@ builddir="$srcdir/$_pkgreal-$pkgver"
options="suid !check"
# secfixes: http_server
+# 2.4.43-r0:
+# - CVE-2020-1934
+# - CVE-2020-1927
# 2.4.34-r0:
# - CVE-2017-15710
# - CVE-2017-15715
@@ -143,7 +146,7 @@ ldap() {
"$subpkgdir"/usr/libexec/apache2
}
-sha512sums="02807a576ea29bd93e648c68e3ad853d5e4971177a0881d6a4873e9c4c5afd6d56877454b666429e70732488a258e0333a0f354d9dbbfd89fc3b38f12f0a0dce httpd-2.4.41.tar.gz
+sha512sums="d9879b8f8ef7d94dee1024e9c25b56d963a3b072520878a88a044629ad577c109a5456791b39016bf4f6672c04bf4a0e5cfd32381211e9acdc81d4a50b359e5e httpd-2.4.43.tar.gz
c8bc2bb06ae51b0956e0ee673e80c444551c9b33dfcbb845106477c46d9e52786a8896022e1f00102264fecdf66e35e47fc6cf0abe9836fa536735cff4e6adf4 adelie.layout
336e81fa0d08f8fbe6243d52bd59b12cf2e925deb49b29d7a22953c5d40a951b6b753f51e5a396752cb0bbaf1cf25b1358902f375fb65639d00e62db7ae55ff2 apache-httpd.confd
5762d53f39ce7ecd730e05ddf6c063ede65cd75b9e7d67217784c80366646491ef9474306e8eb119c8fb5b4358407b07636a4e9cd82325d8df4e3e00dabc3459 apache-httpd.initd
diff --git a/user/audacious-plugins/APKBUILD b/user/audacious-plugins/APKBUILD
index 6a53e2d56..3b9fca102 100644
--- a/user/audacious-plugins/APKBUILD
+++ b/user/audacious-plugins/APKBUILD
@@ -1,9 +1,7 @@
-# Contributor: Łukasz Jendrysik <scadu@yandex.com>
-# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=audacious-plugins
-pkgver=3.10.1
-pkgrel=1
+pkgver=4.0.1
+pkgrel=0
pkgdesc="Playlist-oriented media player (plugins)"
url="https://audacious-media-player.org/"
arch="all"
@@ -17,16 +15,10 @@ makedepends="audacious-dev>=${pkgver%.*} autoconf automake
libnotify-dev libogg-dev libsamplerate-dev libsndfile-dev libvorbis-dev
libxcomposite-dev libxml2-dev mpg123-dev neon-dev pulseaudio-dev
qt5-qtmultimedia-dev sdl-dev wavpack-dev"
-install_if="audacious=$pkgver"
subpackages="$pkgname-lang"
+install_if="audacious=$pkgver"
source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2"
-prepare() {
- default_prepare
- msg "Rebuilding configure..."
- aclocal -I m4 && autoheader && autoconf
-}
-
build() {
./configure \
--build=$CBUILD \
@@ -44,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="454e9ce4061e92a0ecda40f562d4cc7453fc0019fd76b25dbe9e319319fa37c22f9785cb29563e8074de8a88e6130106aca1e431790297e1b4636dc974fde565 audacious-plugins-3.10.1.tar.bz2"
+sha512sums="6611a9204f3f6e70b126ec4712078ba3e5a317b8a41e6d753a24e37e9b19894444ae091654240c6aa0c4d13d53b72d722549edf6077a565ebdd8caf3000823a0 audacious-plugins-4.0.1.tar.bz2"
diff --git a/user/audacious/APKBUILD b/user/audacious/APKBUILD
index 42e37fd98..473e37ff2 100644
--- a/user/audacious/APKBUILD
+++ b/user/audacious/APKBUILD
@@ -1,8 +1,6 @@
-# Contributor: Łukasz Jendrysik <scadu@yandex.com>
-# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=audacious
-pkgver=3.10.1
+pkgver=4.0.1
pkgrel=0
pkgdesc="A playlist-oriented media player with multiple interfaces"
url="https://audacious-media-player.org/"
@@ -11,16 +9,10 @@ options="!check" # No test suite.
license="ISC"
depends=""
depends_dev="qt5-qtbase-dev dbus-glib-dev"
-makedepends="$depends_dev libguess-dev>=1.2 libxml2-dev autoconf automake"
+makedepends="$depends_dev libguess-dev>=1.2 libxml2-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2"
-prepare() {
- default_prepare
- msg "Rebuilding configure..."
- aclocal -I m4 && autoheader && autoconf
-}
-
build() {
./configure \
--build=$CBUILD \
@@ -37,4 +29,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e88891caaa3897f9b4abf39136e20834aedf1287d0d5eefea392fda89050db8db00c6f363976a68fe250ddbae4e27590f7615916a76370a44ca9235f1fa60b43 audacious-3.10.1.tar.bz2"
+sha512sums="bd1387af281e7f533d4a21bf9fdb8ae49d5a406c051bcfa3a509b9d3cf8fdf6faff21dee841fad9ce1c9bf1a24ce1c08d9dc27a7a28b78ade3f0075fa89aad3d audacious-4.0.1.tar.bz2"
diff --git a/user/bcnm/APKBUILD b/user/bcnm/APKBUILD
new file mode 100644
index 000000000..c1f6e0b04
--- /dev/null
+++ b/user/bcnm/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=bcnm
+pkgver=0.0.1.0
+pkgrel=0
+pkgdesc="Client network manager"
+url="https://www.skarnet.org/software/bcnm/"
+arch="all"
+options="!check" # No test suite.
+license="ISC"
+depends=""
+makedepends="skalibs-dev"
+subpackages="$pkgname-dev"
+source="https://www.skarnet.org/software/bcnm/bcnm-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="abe37c2629baa3c583734c7f783565c52f376ff553c503b5666e081cce042efa2e4d2a219b4911b23ea1c437f1ab0d9d1a928cc5126d8efb65e2981b86b220e1 bcnm-0.0.1.0.tar.gz"
diff --git a/user/bluedevil/APKBUILD b/user/bluedevil/APKBUILD
index 3c6c4bc9d..be3635ac2 100644
--- a/user/bluedevil/APKBUILD
+++ b/user/bluedevil/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bluedevil
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Bluetooth framework for KDE"
url="https://userbase.kde.org/Bluedevil"
@@ -15,7 +15,7 @@ makedepends="bluez-qt-dev cmake extra-cmake-modules kauth-dev kcodecs-dev
kwindowsystem-dev kxmlgui-dev plasma-framework-dev qt5-qtbase-dev
qt5-qtdeclarative-dev solid-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/bluedevil-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/bluedevil-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b1f00b35b44d14d52ba8eb68d6519af0486cb3db2dba4607860730ca2afa825e473d93383097e733e5e322ba9868415d154c81b1f377dd93ed312329a2d840bb bluedevil-5.18.2.tar.xz"
+sha512sums="dbefd648e525b4dc15dad77748e27726bcdd4790d9a12b57cbcb878c45a8bba25d94e49f68fcf28fb77e41e95a26d0bfb00c1c7faf3983197ff500f462ae2c2d bluedevil-5.18.4.1.tar.xz"
diff --git a/user/breeze-grub/APKBUILD b/user/breeze-grub/APKBUILD
index 2c62f2f6a..a43740724 100644
--- a/user/breeze-grub/APKBUILD
+++ b/user/breeze-grub/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=breeze-grub
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE Breeze theme for GRUB boot screen"
url="https://www.kde.org/"
@@ -12,11 +12,11 @@ depends="grub"
makedepends=""
subpackages=""
install_if="grub breeze"
-source="https://download.kde.org/stable/plasma/$pkgver/breeze-grub-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-grub-$pkgver.tar.xz"
package() {
mkdir -p "$pkgdir"/usr/share/grub/themes
cp -r breeze "$pkgdir"/usr/share/grub/themes/
}
-sha512sums="39636bec70735e05dca3e544f541fd4483e90b57394fb514a12f80ec71fa96db7bb29ed5f122499a39fff2a81d7b0c69cbc1e48b3a00b48f0e94a93b51c3ae3f breeze-grub-5.18.2.tar.xz"
+sha512sums="1b170cc767f6d2178db4713d4ce68d61d9462ae2deda633b1afb3973e37cb16e156a012c94c98853855ef82d1087b4f95c0f0f0480b7b38a876e8bf3eedc762a breeze-grub-5.18.4.1.tar.xz"
diff --git a/user/breeze-gtk/APKBUILD b/user/breeze-gtk/APKBUILD
index 8308c281a..07b9fca4e 100644
--- a/user/breeze-gtk/APKBUILD
+++ b/user/breeze-gtk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=breeze-gtk
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="GTK+ style that matches KDE Breeze"
url="https://www.kde.org/"
@@ -11,7 +11,7 @@ depends="breeze gtk+2.0"
makedepends="breeze-dev cmake extra-cmake-modules py3-pycairo qt5-qtbase-dev sassc"
# XXX should be installed if breeze and gtk+3.0 are installed, as well
install_if="breeze~$pkgver gtk+2.0"
-source="https://download.kde.org/stable/plasma/$pkgver/breeze-gtk-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-gtk-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="124a55280936a24519bcf1fd17009c7da7dc3b7b96c86101e2fc2fe1628b1740f5aeb04fd019f60a15a73c64f2d035c7d9815a2b40c59d37e6519f5c7c1b491a breeze-gtk-5.18.2.tar.xz"
+sha512sums="c04b7b438dd3f23526627b1c416ff9b29d8cb6d8f27370731ffae9aad53c6554251a36663097d84645597b3cc541fbb80988cad093786a5d497958bd5e9ff57b breeze-gtk-5.18.4.1.tar.xz"
diff --git a/user/breeze/APKBUILD b/user/breeze/APKBUILD
index 6b0122e72..721d99c3f 100644
--- a/user/breeze/APKBUILD
+++ b/user/breeze/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=breeze
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Default KDE Plasma 5 style"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 kcmutils-dev
kconfigwidgets-dev kcoreaddons-dev kdecoration-dev kguiaddons-dev
ki18n-dev kpackage-dev frameworkintegration-dev kwindowsystem-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/breeze-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ebd888aeb2b81043e8d389b5596c44b5da585015d603978509bf0551c0cec145db042b277483061cef71e55ff36eb762fe184f7b7c71094247fcb249f4d19310 breeze-5.18.2.tar.xz"
+sha512sums="41c540c0136dafb35da6abcf84f6d0d9be905599c1448c1efa8a8c61a77a1b0903a11bfd821e26691deeb8aa7e5268e198c9d1846ab1d4c6590fbecc83d75342 breeze-5.18.4.1.tar.xz"
diff --git a/user/cbindgen/APKBUILD b/user/cbindgen/APKBUILD
index 2a735e5ce..8d0a30b7e 100644
--- a/user/cbindgen/APKBUILD
+++ b/user/cbindgen/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Gentoo Rust Maintainers <rust@gentoo.org>
# Contributor: Samuel Holland <samuel@sholland.org>
-# Maintainer: Molly Miller <adelie@m-squa.red>
+# Maintainer: Molly Miller <sysvinit@adelielinux.org>
pkgname=cbindgen
-pkgver=0.12.1
+pkgver=0.13.2
pkgrel=0
pkgdesc="Tool to generate C bindings from Rust code"
url="https://github.com/eqrion/cbindgen"
@@ -102,7 +102,7 @@ package() {
}
-sha512sums="851f82cfdd4304dc57dab1a145f78a05a6c5f05ad607d27e0ae909920a5d99013ffb7f7e87950541bda98462f73f0c338d9761b94a96c3073f39163c2ddacf08 cbindgen-0.12.1.tar.gz
+sha512sums="2e894c6cf2b08321418ef78228fbebb5f504aea1576b8e159b4d8d66442cb65cee4f611f0ce13fa58539c08fe21932358fcfead52acbe5413adc9fdba05faf66 cbindgen-0.13.2.tar.gz
a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa ansi_term-0.11.0.tar.gz
4554ca7dedb4c2e8693e5847ef1fe66161ed4cb2c19156bb03f41ce7e7ea21838369dabaf447a60d1468de8bfbb7087438c12934c4569dde63df074f168569ad atty-0.2.13.tar.gz
ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b bitflags-1.2.1.tar.gz
diff --git a/user/checkbashisms/APKBUILD b/user/checkbashisms/APKBUILD
index 26345d0ac..b616e4fab 100644
--- a/user/checkbashisms/APKBUILD
+++ b/user/checkbashisms/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=checkbashisms
-pkgver=2.19.7
+pkgver=2.20.2
pkgrel=0
pkgdesc="Check shell scripts for POSIX compliance"
-url="https://tracker.debian.org/pkg/devscripts"
+url="https://salsa.debian.org/debian/devscripts"
arch="noarch"
license="GPL-2.0+"
depends="perl"
@@ -37,4 +37,4 @@ bashcomp() {
"$subpkgdir/usr/share/bash-completion/completions/$pkgname"
}
-sha512sums="6e31862bc8f0d43678341f40ec527d76cdccc2e6e50c231eb7c6a1eb442f48b6c62e94126644224e9fdbef583be3166e2c7cc65ea15de4a7c20605089b708eb7 devscripts_2.19.7.tar.xz"
+sha512sums="d9147604a718582a19c036a040c62612427163146048dbf9e3665545072e8132d08f51dccfd3f0a01453c0405a0326dad8f83afd10270eec5c69fa0612cb8510 devscripts_2.20.2.tar.xz"
diff --git a/user/ckbcomp/APKBUILD b/user/ckbcomp/APKBUILD
new file mode 100644
index 000000000..8f4de4ff3
--- /dev/null
+++ b/user/ckbcomp/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=ckbcomp
+pkgver=1.195
+pkgrel=0
+pkgdesc="XKB keyboard layout translation utility"
+url="https://salsa.debian.org/installer-team/console-setup"
+arch="noarch"
+options="!check" # No test suite.
+license="GPL-2.0+"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="http://ftp.de.debian.org/debian/pool/main/c/console-setup/console-setup_$pkgver.tar.xz"
+builddir="$srcdir/console-setup"
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin Keyboard/ckbcomp
+ install -Dm644 -t "$pkgdir"/usr/share/man/man1 man/ckbcomp.1
+}
+
+sha512sums="f9ee8df45cfb78dea12b1ba3020e32f245dd940bc1d22801849f673f4448853c0ebadb6944a92b462e3e56c59ee13fd6d2130c260a1a406e1bb1c72e9902c04d console-setup_1.195.tar.xz"
diff --git a/user/clisp/APKBUILD b/user/clisp/APKBUILD
new file mode 100644
index 000000000..e4ce5999d
--- /dev/null
+++ b/user/clisp/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Soren Tempel <soeren+alpine@soeren-tempel.net>
+# Contrubutor: Carlo Landmeter <clandmeter@gmail.com>
+# Contributor: Lee Starnes <lee@canned-death.us>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=clisp
+pkgver=2.49
+pkgrel=0
+pkgdesc="ANSI Common Lisp interpreter, compiler, and debugger"
+url="https://clisp.sourceforge.io"
+arch="all"
+license="GPL-2.0-only"
+depends=""
+depends_dev="libsigsegv-dev libffcall-dev ncurses-dev"
+makedepends="$depends_dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ no-page.h.patch"
+
+prepare() {
+ default_prepare
+ update_config_sub
+}
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --with-ffcall \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ "$builddir"
+ # Parallel builds fail
+ make -j1
+}
+
+check() {
+ make check
+}
+
+package() {
+ make -j1 DESTDIR="$pkgdir" install
+}
+
+sha512sums="eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81 clisp-2.49.tar.bz2
+86273c5d5d05a8d41ab6311192e0c757d3f7fe4d78546590830aa00f8c2f170fcb08f66ea739ae8834cec00cdf0f6a20824eb6a3d0f6df97be405c26b1cc5d39 no-page.h.patch"
diff --git a/user/clisp/no-page.h.patch b/user/clisp/no-page.h.patch
new file mode 100644
index 000000000..aafb98a31
--- /dev/null
+++ b/user/clisp/no-page.h.patch
@@ -0,0 +1,12 @@
+--- a/src/unix.d
++++ b/src/unix.d
+@@ -135,9 +135,6 @@
+ #ifdef UNIX_AUX
+ #include <sys/mmu.h> /* for SHMLBA */
+ #endif
+- #if defined(UNIX_LINUX) && !defined(UNIX_GNU)
+- #include <asm/page.h> /* for SHMLBA on Linux 2.0 */
+- #endif
+ /* <sys/shm.h> declares shmget(), shmat(), shmdt(), shmctl() */
+ #endif
+ /* used by SPVW, STREAM */
diff --git a/user/clutter/APKBUILD b/user/clutter/APKBUILD
index 962fcf3e7..ff3469b1e 100644
--- a/user/clutter/APKBUILD
+++ b/user/clutter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=clutter
-pkgver=1.26.2
+pkgver=1.26.4
pkgrel=0
pkgdesc="OpenGL-based interactive canvas library"
url="https://gnome.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c8008a1a1f111313d9abaff8d4415f112ddc32a02e08845f3735d33bb25b72b082f133daba06749bb9595eaf1ba83b308d30a413fbbe8dcdc1afdd7077a30937 clutter-1.26.2.tar.xz"
+sha512sums="6d43ac09df7671fa2bda74d1231166e8331f3ef1dbe0d167225033b3ddae7377d1062db81b73fc498c2e9f0db467bf4febb7306a6f40c9ef0266dac2a397f43a clutter-1.26.4.tar.xz"
diff --git a/user/cogl/APKBUILD b/user/cogl/APKBUILD
index 988e85e8f..81910704b 100644
--- a/user/cogl/APKBUILD
+++ b/user/cogl/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=cogl
-pkgver=1.22.4
+pkgver=1.22.6
pkgrel=0
pkgdesc="GObject-based GL/GLES abstraction library"
url="https://gnome.org"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="85f3af49c16dd2e545a3b91c076ac10107a4b9d0dc785cefe489e91eabdd82837f732685f1f0dca1695fc2f8095f42d5f30f145b659eb4295964787f06c1e37a cogl-1.22.4.tar.xz"
+sha512sums="b3475fa4fff3b6725f643b0d17d2de242fce1503cd83bd18031d98495501917bf5173152fb1aba7f2614fcf6553029fbb6f26bda5a497f5f12e2849ed301a483 cogl-1.22.6.tar.xz"
diff --git a/user/cyrus-sasl/APKBUILD b/user/cyrus-sasl/APKBUILD
index be7505b82..b061d41ad 100644
--- a/user/cyrus-sasl/APKBUILD
+++ b/user/cyrus-sasl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=cyrus-sasl
pkgver=2.1.27
-pkgrel=0
+pkgrel=1
pkgdesc="Cyrus Simple Authentication Service Layer (SASL)"
url="https://www.cyrusimap.org/sasl/"
arch="all"
@@ -15,11 +15,14 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-gssapi $pkgname-gs2
libsasl $pkgname-openrc"
source="https://github.com/cyrusimap/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz
saslauthd.initd
+ CVE-2019-19906.patch
"
# secfixes:
# 2.1.26-r7:
-# - CVE-2013-4122
+# - CVE-2013-4122
+# 2.1.27-r1:
+# - CVE-2019-19906
build() {
./configure \
@@ -76,4 +79,5 @@ libsasl() {
}
sha512sums="d11549a99b3b06af79fc62d5478dba3305d7e7cc0824f4b91f0d2638daafbe940623eab235f85af9be38dcf5d42fc131db531c177040a85187aee5096b8df63b cyrus-sasl-2.1.27.tar.gz
-71a00a22f91f0fb6ba2796acede321a0f071b1d7a99616f0e36c354213777f30575c340b6df392dcbfc103ba7640d046144882f6a7b505f59709bb5c429b44d8 saslauthd.initd"
+71a00a22f91f0fb6ba2796acede321a0f071b1d7a99616f0e36c354213777f30575c340b6df392dcbfc103ba7640d046144882f6a7b505f59709bb5c429b44d8 saslauthd.initd
+35d2fc8d1ea905898d526af515ee6c1c23f46092d2a034c7fa1b989ec2985ff68f74b7dc26e86525beecb6997562f29aea87a0c945953db1b6a0fac807c294ae CVE-2019-19906.patch"
diff --git a/user/cyrus-sasl/CVE-2019-19906.patch b/user/cyrus-sasl/CVE-2019-19906.patch
new file mode 100644
index 000000000..acdf68243
--- /dev/null
+++ b/user/cyrus-sasl/CVE-2019-19906.patch
@@ -0,0 +1,25 @@
+From dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1 Mon Sep 17 00:00:00 2001
+From: Quanah Gibson-Mount <quanah@symas.com>
+Date: Tue, 18 Feb 2020 19:05:12 +0000
+Subject: [PATCH] Fix #587
+
+Off by one error in common.c, CVE-2019-19906.
+
+Thanks to Stephan Zeisberg for reporting
+---
+ lib/common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/common.c b/lib/common.c
+index bc3bf1df..9969d6aa 100644
+--- a/lib/common.c
++++ b/lib/common.c
+@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen,
+
+ if (add==NULL) add = "(null)";
+
+- addlen=strlen(add); /* only compute once */
++ addlen=strlen(add)+1; /* only compute once */
+ if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK)
+ return SASL_NOMEM;
+
diff --git a/user/davmail/APKBUILD b/user/davmail/APKBUILD
new file mode 100644
index 000000000..b65994cef
--- /dev/null
+++ b/user/davmail/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=davmail
+pkgver=5.5.1.3299
+_pkgver=${pkgver%.*}-${pkgver##*.}
+pkgrel=0
+pkgdesc="POP/IMAP/SMTP/Caldav/Carddav/LDAP proxy for Exchange/O365 servers"
+url="http://davmail.sourceforge.net/" # No HTTPS
+arch="noarch"
+options="!check" # Requires running mail servers and X11
+license="GPL-2.0+ AND MIT AND (LGPL-2.1+ or Apache-2.0) AND BSD-2-Clause AND Apache-2.0 AND LGPL-2.1 AND BSD-3-Clause AND (CDDL-1.1 OR GPL-2.0 WITH Classpath-exception-2.0)"
+depends="/bin/sh openjdk8-jre"
+makedepends="ant desktop-file-utils"
+subpackages=""
+source="https://sourceforge.net/projects/davmail/files/davmail/${pkgver%.*}/davmail-src-$_pkgver.tgz
+ davmail.sh
+ "
+builddir="$srcdir/$pkgname-src-$_pkgver"
+
+_ant() {
+ . /etc/profile.d/java.sh
+ . /etc/profile.d/ant.sh
+ ant "$@"
+}
+
+build() {
+ _ant jar
+}
+
+check() {
+ _ant test
+}
+
+package() {
+ _ant prepare-dist
+
+ install -Dm755 "$srcdir"/davmail.sh \
+ "$pkgdir"/usr/bin/davmail
+
+ rm -f dist/lib/*growl* \
+ dist/lib/*x86*.jar \
+ dist/lib/junit-*.jar \
+ dist/lib/winrun4j-*.jar
+ install -Dm644 -t "$pkgdir"/usr/lib/java/davmail/lib \
+ dist/lib/* dist/davmail.jar
+
+ desktop-file-install --dir "$pkgdir"/usr/share/applications \
+ src/desktop/davmail.desktop
+
+ for _i in 16 32 48 128; do
+ case $_i in
+ 16) _fn=src/java/tray.png;;
+ *) _fn=src/java/tray$_i.png;;
+ esac
+ install -Dm644 $_fn \
+ "$pkgdir"/usr/share/icons/hicolor/${_i}x${_i}/apps/davmail.png
+ done
+}
+
+sha512sums="0d3481f0930e09b30ae4341149b443bd92f107872d4e39dcc66e5e6c2fa6a667f9dde2c5a49bc5c96375d9e9b4b824a4211bf90a985a2cc2b1b8aa7613f02b5d davmail-src-5.5.1-3299.tgz
+e937f3bdf71cddba4678b768bc6fc87320cd2a76d324f5ef99a0248ddc989d89c25e1f0e291416acb264cb2a1dbfef6d5eeea092c95d9be3f75669d6f68d1fdd davmail.sh"
diff --git a/user/davmail/davmail.sh b/user/davmail/davmail.sh
new file mode 100755
index 000000000..17c5cd45e
--- /dev/null
+++ b/user/davmail/davmail.sh
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+# Usage: davmail [</path/to/davmail.properties>]
+
+# force GTK2 to avoid crash with OpenJDK 11
+JAVA_OPTS="-Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=2.2"
+JAVA_CP="/usr/lib/java/davmail/lib/*"
+exec java $JAVA_OPTS -cp "$JAVA_CP" davmail.DavGateway "$@"
diff --git a/user/dconf/APKBUILD b/user/dconf/APKBUILD
index 3495c4f93..98f8bd549 100644
--- a/user/dconf/APKBUILD
+++ b/user/dconf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=dconf
-pkgver=0.34.0
+pkgver=0.36.0
pkgrel=0
pkgdesc="Configuration management for the Gnome desktop environment"
url="https://gnome.org"
@@ -12,9 +12,7 @@ depends="dbus"
makedepends="meson ninja
bash-completion dbus-dev docbook-xsl libxslt-dev python3-dev vala-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz
- meson.patch
- "
+source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz"
build() {
meson \
@@ -32,5 +30,4 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="8b28373f31fe36ba3f21f56fca84563681c3648ff595709880cd9ac49fc6b130ac375fb89fd585f1dd62b5a2f728127292ea57d18feca1147b709a93e8c4c743 dconf-0.34.0.tar.xz
-be807b17c20c829b307da2df23252893f99f47845825328a0b1880aad9d97f85fe1d66be3903e8c1cc62bb6daa2baf1462bc09daf397c31394e7159ede07d58c meson.patch"
+sha512sums="fed0b4ac13dfeff3bbe428a5c25408a0f13610219e561841a3af75cf18f9c630c385989b700c081b79ab53c00bdecf43c7c94979312c047faefbda4b2653d40d dconf-0.36.0.tar.xz"
diff --git a/user/dconf/meson.patch b/user/dconf/meson.patch
deleted file mode 100644
index 77d980e31..000000000
--- a/user/dconf/meson.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From cc32667c5d7d9ff95e65cc21f59905d8f9218394 Mon Sep 17 00:00:00 2001
-From: Diego Escalante Urrelo <diegoe@gnome.org>
-Date: Thu, 31 Oct 2019 05:51:22 -0500
-Subject: [PATCH] build: Update use of link_whole for meson-0.52
-
-A regression in meson-0.52 caused uses of link_whole to expose scenarios
-where duplicate symbols issues could appear. In particular
-libdconf_client_dep was being link_whole'd to itself, which recursively
-already included libdconf_common which was also a link_whole.
-
-This change does not modify the available symbols in libdconf.so, and is
-compatible with meson-0.52 and 0.51.
-
-See: https://github.com/mesonbuild/meson/pull/6030
-Fixes: https://gitlab.gnome.org/GNOME/dconf/issues/59
----
- client/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client/meson.build b/client/meson.build
-index f3b7122..de6387e 100644
---- a/client/meson.build
-+++ b/client/meson.build
-@@ -28,7 +28,7 @@ libdconf_client = static_library(
-
- libdconf_client_dep = declare_dependency(
- dependencies: gio_dep,
-- link_whole: libdconf_client,
-+ link_with: libdconf_client,
- )
-
- libdconf = shared_library(
---
-2.24.1
-
diff --git a/user/dev86/APKBUILD b/user/dev86/APKBUILD
new file mode 100644
index 000000000..a17deec0f
--- /dev/null
+++ b/user/dev86/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=dev86
+pkgver=0.16.21
+pkgrel=0
+pkgdesc="Standalone 8086 assembler and linker"
+url="https://github.com/lkundrak/dev86/"
+arch="pmmx x86 x86_64"
+options="!check" # Just compiles stuff with bcc which we don't build
+license="GPL-2.0 AND LGPL-2.0"
+depends=""
+makedepends=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/lkundrak/dev86/archive/v$pkgver.tar.gz"
+
+build() {
+ make -j1 as ld \
+ GCCFLAG="$CFLAGS" \
+ NATIVE='-DA_OUT_INCL=\"../libc/include/a.out.h\"'
+}
+
+package() {
+ install -Dm755 as/as86 "$pkgdir"/usr/bin/as86
+ install -Dm755 ld/ld86 "$pkgdir"/usr/bin/ld86
+
+ install -Dm644 man/as86.1 "$pkgdir"/usr/share/man/man1/as86.1
+ install -Dm644 man/ld86.1 "$pkgdir"/usr/share/man/man1/ld86.1
+}
+
+sha512sums="e51d94cecc298f860c1dcbc225d5c77a18769eb7a51f888853ca3bdb3cc6596c07d67cd9b403f7d52155716eb1708396461dc596cd02728d762d0ed5e87d054f dev86-0.16.21.tar.gz"
diff --git a/user/dialog/APKBUILD b/user/dialog/APKBUILD
index 0c077d307..d00813c2d 100644
--- a/user/dialog/APKBUILD
+++ b/user/dialog/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=dialog
-pkgver=1.3.20191210
+pkgver=1.3.20200327
_realver="${pkgver%.*}-${pkgver##*.}"
pkgrel=0
pkgdesc="Script interpreter providing curses widgets"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4196287f26da2aab8376141a1442bccea52bcc6f7003042101df0c6a72aa3e25aa909d9fbcb937b047ab12a2e4349ec4b71b26f6e5cd4ba41cfd5665f732975d dialog-1.3-20191210.tgz"
+sha512sums="c8c7ccd86fa189a2b6739320f59f127512e53f908ed257280099f8c45754da98d2095835d0c14090cd071af0ed6e8ff95f9938f5ca8027b0b7001c7fd746fe59 dialog-1.3-20200327.tgz"
diff --git a/user/dovecot/APKBUILD b/user/dovecot/APKBUILD
new file mode 100644
index 000000000..5af5254e1
--- /dev/null
+++ b/user/dovecot/APKBUILD
@@ -0,0 +1,286 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Contributor: Lukasz Jendrysik <scadu@yandex.com>
+# Contributor: Michael Mason <ms13sp@gmail.com>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=dovecot
+pkgver=2.3.10.1
+_pkgvermajor=2.3
+pkgrel=0
+_pigeonholever=0.5.9
+_pigeonholevermajor=${_pigeonholever%.*}
+pkgdesc="IMAP and POP3 server"
+url="https://www.dovecot.org/"
+arch="all"
+options="libtool"
+license="LGPL-2.0+"
+depends="openssl"
+pkgusers="dovecot dovenull"
+pkggroups="dovecot dovenull"
+makedepends="
+ autoconf
+ automake
+ bzip2-dev
+ clucene-dev
+ expat-dev
+ krb5-dev
+ libcap-dev
+ openssl-dev
+ libtool
+ linux-headers
+ linux-pam-dev
+ mariadb-dev
+ openldap-dev
+ postgresql-dev
+ sqlite-dev
+ zlib-dev
+ libsodium-dev
+ "
+install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade"
+subpackages="
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-openrc
+ $pkgname-lmtpd
+ $pkgname-pop3d
+ $pkgname-submissiond
+ $pkgname-pigeonhole-plugin-ldap:_sieve_ldap
+ $pkgname-pigeonhole-plugin:_sieve
+ $pkgname-sql
+ $pkgname-pgsql
+ $pkgname-mysql
+ $pkgname-sqlite
+ $pkgname-gssapi
+ $pkgname-ldap
+ $pkgname-fts-solr:_fts_solr
+ $pkgname-fts-lucene:_fts_lucene
+ "
+source="https://www.dovecot.org/releases/$_pkgvermajor/dovecot-$pkgver.tar.gz
+ https://pigeonhole.dovecot.org/releases/$_pkgvermajor/$pkgname-$_pkgvermajor-pigeonhole-$_pigeonholever.tar.gz
+ skip-iconv-check.patch
+ split-protocols.patch
+ default-config.patch
+ ssl-paths.patch
+ dovecot.logrotate
+ dovecot.initd
+ "
+_builddir_pigeonhole="$srcdir/$pkgname-$_pkgvermajor-pigeonhole-$_pigeonholever"
+
+# secfixes:
+# 2.3.10.1-r0:
+# - CVE-2020-10957
+# - CVE-2020-10958
+# - CVE-2020-10967
+
+_configure() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --disable-static \
+ "$@"
+}
+
+build() {
+ _configure \
+ --with-gssapi=plugin \
+ --with-ldap=plugin \
+ --with-sql=plugin \
+ --with-pam \
+ --with-mysql \
+ --with-sqlite \
+ --with-pgsql \
+ --with-solr \
+ --with-lucene \
+ --with-ssl=openssl \
+ --with-ssldir=/etc/ssl/dovecot \
+ --with-rundir=/run/dovecot
+ make
+
+ # Build pigeonhole plugin
+ cd "$_builddir_pigeonhole"
+ _configure \
+ --with-dovecot="$builddir" \
+ --with-ldap=plugin
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+
+ install -d ./etc/ssl/dovecot
+ install -D -m 755 "$srcdir"/dovecot.initd ./etc/init.d/dovecot
+ install -D -m 644 "$srcdir"/dovecot.logrotate ./etc/logrotate.d/dovecot
+
+ # default config
+ rm ./etc/dovecot/*
+ rm ./usr/share/doc/dovecot/mkcert.sh
+ mv ./usr/share/doc/dovecot/dovecot-openssl.cnf ./etc/dovecot/
+ mv ./usr/share/doc/dovecot/example-config/dovecot* \
+ ./usr/share/doc/dovecot/example-config/conf.d \
+ ./etc/dovecot/
+ rm -fr ./usr/share/doc/dovecot/example-config
+
+ # Installing pigeonhole plugin.
+ cd "$_builddir_pigeonhole"
+ make install DESTDIR="$pkgdir"
+
+ # Moving config in the correct place
+ mv "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/* \
+ "$pkgdir"/etc/dovecot/conf.d
+
+ # Remove libtool archives. abuild doesn't remove them automatically even without options=libtool.
+ find "$pkgdir" -name '*.la' | xargs rm -f
+}
+
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/lib/dovecot
+ mv "$pkgdir"/usr/lib/dovecot/dovecot-config \
+ "$subpkgdir"/usr/lib/dovecot/
+}
+
+lmtpd() {
+ pkgdesc="$pkgdesc (LMTP server)"
+ _protocol lmtp
+}
+
+pop3d() {
+ pkgdesc="$pkgdesc (POP3 daemon)"
+ _protocol pop3
+}
+
+submissiond() {
+ pkgdesc="$pkgdesc (mail submission agent)"
+ _protocol submission
+}
+
+_protocol() {
+ depends="$pkgname=$pkgver-r$pkgrel"
+ _name="$1"
+ _protocolsd="$subpkgdir/usr/share/dovecot/protocols.d"
+
+ cd "$pkgdir"
+ _submv usr/libexec/dovecot/$_name*
+ _submv etc/dovecot/conf.d/*-$_name.conf
+
+ mkdir -p "$_protocolsd"
+ echo "protocols = \$protocols $_name" \
+ > "$_protocolsd"/${subpkgname#$pkgname-}.conf
+}
+
+_sieve() {
+ pkgdesc="Sieve and managesieve plugin for Dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*sieve_extprograms*')
+ _submv $(find usr/ -name '*sieve_imapsieve*')
+ _submv $(find usr/ -name '*sieve*')
+ _submv $(find usr/ -name '*pigeonhole*')
+ _submv $(find etc/dovecot/ -name '*sieve*')
+}
+
+_sieve_ldap() {
+ pkgdesc="Sieve and managesieve plugin for Dovecot (LDAP support)"
+ depends="$pkgname-pigeonhole-plugin=$pkgver-r$pkgrel $pkgname-ldap=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*_sieve_storage_ldap_*')
+}
+
+pgsql() {
+ pkgdesc="PostgreSQL driver for Dovecot"
+ depends="$pkgname-sql=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*_pgsql*')
+}
+
+mysql() {
+ pkgdesc="MySQL driver for Dovecot"
+ depends="$pkgname-sql=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*_mysql*')
+}
+
+sqlite() {
+ pkgdesc="SQLite driver for Dovecot"
+ depends="$pkgname-sql=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*_sqlite*')
+}
+
+gssapi() {
+ pkgdesc="GSSAPI auth plugin for Dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*_gssapi*')
+}
+
+ldap() {
+ pkgdesc="LDAP auth plugin for Dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*[_-]ldap*')
+ _submv $(find etc/dovecot/ -name '*-ldap.conf*')
+}
+
+sql() {
+ pkgdesc="SQL plugin for dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*-sql.*')
+ _submv $(find etc/dovecot/ -name '*-sql.conf*')
+}
+
+_fts_solr() {
+ pkgdesc="FTS-Solr plugin for dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*fts*solr*')
+}
+
+_fts_lucene() {
+ pkgdesc="FTS-Lucene plugin for dovecot"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv $(find usr/ -name '*fts*lucene*')
+}
+
+_submv() {
+ while [ $# -gt 0 ]; do
+ _dir=${1%/*}
+ mkdir -p "$subpkgdir"/$_dir
+ mv "$pkgdir/$1" "$subpkgdir/$_dir/"
+ [ "$(ls -A $pkgdir/$_dir)" ] || rmdir "$pkgdir"/$_dir
+ shift
+ done
+}
+
+sha512sums="5c07436a3e861993f241caa2c60f035c533c5fceb5c8540c1717d31bedd54b82299f7ea11bfee12c72d4d33985d93a7130c4f56877864a7ad21cf7373a29cc06 dovecot-2.3.10.1.tar.gz
+1b8d2ac8d3985dde035fc45df519788a924ba971f3e39717f5196ea56a982d4156226586d0a964473525d086967883ea52f2e624e81f7035cb0952b76f2414d8 dovecot-2.3-pigeonhole-0.5.9.tar.gz
+fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec53ec877c08f735b42d23edb13117d7268420e001aa30967a skip-iconv-check.patch
+794875dbf0ded1e82c5c3823660cf6996a7920079149cd8eed54231a53580d931b966dfb17185ab65e565e108545ecf6591bae82f935ab1b6ff65bb8ee93d7d5 split-protocols.patch
+0d8f89c7ba6f884719b5f9fc89e8b2efbdc3e181de308abf9b1c1b0e42282f4df72c7bf62f574686967c10a8677356560c965713b9d146e2770aab17e95bcc07 default-config.patch
+5e68a0042a7c11b3d8c411fc157f5960e2e3305dac11f4b6b880441e2b4105769ddf6c56f67a995af6e1a58f3bfa2c199ea51318a3a0e37c7ef0ae6c4109b13f ssl-paths.patch
+9f19698ab45969f1f94dc4bddf6de59317daee93c9421c81f2dbf8a7efe6acf89689f1d30f60f536737bb9526c315215d2bce694db27e7b8d7896036a59c31f0 dovecot.logrotate
+d91951b81150d7a3ef6a674c0dc7b012f538164dac4b9d27a6801d31da6813b764995a438f69b6a680463e1b60a3b4f2959654f68e565fe116ea60312d5e5e70 dovecot.initd"
diff --git a/user/dovecot/default-config.patch b/user/dovecot/default-config.patch
new file mode 100644
index 000000000..0f8a7385a
--- /dev/null
+++ b/user/dovecot/default-config.patch
@@ -0,0 +1,46 @@
+--- a/doc/example-config/conf.d/10-mail.conf
++++ b/doc/example-config/conf.d/10-mail.conf
+@@ -208,10 +208,10 @@
+
+ # UNIX socket path to master authentication server to find users.
+ # This is used by imap (for shared users) and lda.
+-#auth_socket_path = /var/run/dovecot/auth-userdb
++#auth_socket_path = /run/dovecot/auth-userdb
+
+ # Directory where to look up mail plugins.
+-#mail_plugin_dir = /usr/lib/dovecot
++#mail_plugin_dir = /usr/lib/dovecot/modules
+
+ # Space separated list of plugins to load for all services. Plugins specific to
+ # IMAP, LDA, etc. are added to this list in their own .conf files.
+@@ -322,6 +322,7 @@ protocol !indexer-worker {
+ # them simultaneously.
+ #mbox_read_locks = fcntl
+ #mbox_write_locks = dotlock fcntl
++mbox_write_locks = fcntl
+
+ # Maximum time to wait for lock (all of them) before aborting.
+ #mbox_lock_timeout = 5 mins
+--- a/doc/example-config/conf.d/10-ssl.conf
++++ b/doc/example-config/conf.d/10-ssl.conf
+@@ -3,7 +3,10 @@
+ ##
+
+ # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
+-#ssl = yes
++# Disable plain (unencrypted) POP3 and IMAP, allowed are only POP3+TLS,
++# POP3S, IMAP+TLS and IMAPS.
++# Plain IMAP and POP3 are still allowed for local connections.
++ssl = required
+
+ # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
+ # dropping root privileges, so keep the key file unreadable by anyone but
+@@ -67,7 +67,7 @@
+ #ssl_curve_list =
+
+ # Prefer the server's order of ciphers over client's.
+-#ssl_prefer_server_ciphers = no
++ssl_prefer_server_ciphers = yes
+
+ # SSL crypto device to use, for valid values run "openssl engine"
+ #ssl_crypto_device =
diff --git a/user/dovecot/dovecot.initd b/user/dovecot/dovecot.initd
new file mode 100644
index 000000000..721f131ad
--- /dev/null
+++ b/user/dovecot/dovecot.initd
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+[ "$RC_SVCNAME" != "${RC_SVCNAME##*.}" ] && instance=${RC_SVCNAME##*.}
+
+description="Secure POP3/IMAP server"
+
+cfgfile=/etc/dovecot/dovecot${instance:+.$instance}.conf
+pidfile=$(doveconf -c $cfgfile -h base_dir 2>/dev/null)/master.pid
+command=/usr/sbin/dovecot
+command_args=${instance:+-c $cfgfile}
+required_files="$cfgfile"
+extra_started_commands="reload reopen"
+description_reload="Reload configuration"
+description_reopen="Reopen log files"
+
+depend() {
+ need localmount net
+ before mta
+ after bootmisc firewall ldap mysql ntp-client ntpd postgresql saslauthd slapd
+ use logger
+}
+
+start_pre() {
+ ebegin
+ doveconf -c $cfgfile -x >/dev/null 2>&1 && \
+ checkpath --directory ${pidfile%/*}
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME configs and restarting auth/login processes"
+ start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
+ eend $?
+}
+
+reopen() {
+ ebegin "Reopening $RC_SVCNAME log files"
+ start-stop-daemon --signal USR1 --pidfile $pidfile
+ eend $?
+}
diff --git a/user/dovecot/dovecot.logrotate b/user/dovecot/dovecot.logrotate
new file mode 100644
index 000000000..b1a4087b4
--- /dev/null
+++ b/user/dovecot/dovecot.logrotate
@@ -0,0 +1,12 @@
+/var/log/dovecot*.log {
+ daily
+ missingok
+ copytruncate
+ rotate 7
+ compress
+ notifempty
+ sharedscripts
+ postrotate
+ /etc/init.d/dovecot --quiet --ifstarted reopen
+ endscript
+}
diff --git a/user/dovecot/dovecot.post-install b/user/dovecot/dovecot.post-install
new file mode 100644
index 000000000..eb70cdece
--- /dev/null
+++ b/user/dovecot/dovecot.post-install
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# based on doc/mkcert.sh
+
+# if ssl disabled then lets just exit
+doveconf ssl 2>/dev/null | grep -Eq '(yes|required)' || exit 0
+# Generates a self-signed certificate.
+
+OPENSSL=${OPENSSL-openssl}
+SSLDIR=${SSLDIR-/etc/ssl/dovecot}
+OPENSSLCONFIG=${OPENSSLCONFIG-/etc/dovecot/dovecot-openssl.cnf}
+
+CERTDIR=$SSLDIR
+KEYDIR=$SSLDIR
+
+# check if we have ssl_cert and/or key (for dovecot-2.0+)
+# try expand the cert/key itself and if found, lets just keep it
+[ -n "$(doveconf -x ssl_cert 2>/dev/null)" ] && exit 0
+[ -n "$(doveconf -x ssl_key 2>/dev/null)" ] && exit 0
+
+ssl_cert_file=$(doveconf ssl_cert | sed 's/.*= <//')
+ssl_key_file=$(doveconf ssl_key | sed 's/.*= <//')
+
+CERTFILE=${ssl_cert_file:-$CERTDIR/server.pem}
+KEYFILE=${ssl_key_file:-$KEYDIR/server.key}
+
+if [ -e "$CERTFILE" ]; then
+ echo "Keeping existing $CERTFILE"
+ exit 0
+fi
+
+if [ -e "$KEYFILE" ]; then
+ echo "Keeping existing $KEYFILE"
+ exit 0
+fi
+
+if [ ! -c /dev/urandom ] && [ ! -c /dev/random ]; then
+ echo "No /dev/urandom or /dev/random so ssl cert not created"
+ exit 1
+fi
+
+$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 365 || exit 2
+chmod 0600 $KEYFILE
+echo
+$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2
diff --git a/user/dovecot/dovecot.post-upgrade b/user/dovecot/dovecot.post-upgrade
new file mode 100644
index 000000000..69f4366ed
--- /dev/null
+++ b/user/dovecot/dovecot.post-upgrade
@@ -0,0 +1,7 @@
+#!/bin/sh
+if ! grep ^"version_ignore=yes" /etc/dovecot/dovecot.conf; then
+ printf "dovecot restart required (version_ignore=yes not set)\n"
+fi
+
+exit $?
+
diff --git a/user/dovecot/dovecot.pre-install b/user/dovecot/dovecot.pre-install
new file mode 100644
index 000000000..73a0aa3e3
--- /dev/null
+++ b/user/dovecot/dovecot.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+groupadd -r dovecot 2>/dev/null
+groupadd -r dovenull 2>/dev/null
+useradd -r -u 90 -h /dev/null -s /sbin/nologin -g dovecot dovecot 2>/dev/null
+useradd -r -u 91 -h /dev/null -s /sbin/nologin -g dovenull dovenull 2>/dev/null
+
+exit 0
diff --git a/user/dovecot/skip-iconv-check.patch b/user/dovecot/skip-iconv-check.patch
new file mode 100644
index 000000000..bb1002c84
--- /dev/null
+++ b/user/dovecot/skip-iconv-check.patch
@@ -0,0 +1,11 @@
+--- a/src/lib-charset/test-charset.c
++++ b/src/lib-charset/test-charset.c
+@@ -159,7 +159,7 @@
+ static void (*const test_functions[])(void) = {
+ test_charset_is_utf8,
+ test_charset_utf8,
+-#ifdef HAVE_ICONV
++#if 0 //def HAVE_ICONV
+ test_charset_iconv,
+ test_charset_iconv_crashes,
+ test_charset_iconv_utf7_state,
diff --git a/user/dovecot/split-protocols.patch b/user/dovecot/split-protocols.patch
new file mode 100644
index 000000000..b4bed2ccb
--- /dev/null
+++ b/user/dovecot/split-protocols.patch
@@ -0,0 +1,30 @@
+For each protocol $prot, which is moved into subpackage $subname,
+is installed file /usr/share/dovecot/protocols.d/$subname.conf with:
+
+ protocols = $protocols $prot
+
+--- a/doc/example-config/dovecot.conf
++++ b/doc/example-config/dovecot.conf
+@@ -20,8 +20,9 @@
+ # options. The paths listed here are for configure --prefix=/usr
+ # --sysconfdir=/etc --localstatedir=/var
+
+-# Protocols we want to be serving.
+-#protocols = imap pop3 lmtp submission
++# Enable installed protocols.
++#protocols = imap
++!include_try /usr/share/dovecot/protocols.d/*.conf
+
+ # A comma separated list of IPs or hosts where to listen in for connections.
+ # "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
+--- a/src/master/master-settings.c.orig
++++ b/src/master/master-settings.c
+@@ -206,7 +206,7 @@
+ .state_dir = PKG_STATEDIR,
+ .libexec_dir = PKG_LIBEXECDIR,
+ .instance_name = PACKAGE,
+- .protocols = "imap pop3 lmtp",
++ .protocols = "imap",
+ .listen = "*, ::",
+ .ssl = "yes:no:required",
+ .default_internal_user = "dovecot",
diff --git a/user/dovecot/ssl-paths.patch b/user/dovecot/ssl-paths.patch
new file mode 100644
index 000000000..b354b607e
--- /dev/null
+++ b/user/dovecot/ssl-paths.patch
@@ -0,0 +1,13 @@
+--- dovecot-2.3.10/doc/example-config/conf.d/10-ssl.conf 2020-03-05 14:35:53.000000000 +0000
++++ dovecot-2.3.10.new/doc/example-config/conf.d/10-ssl.conf 2020-04-26 06:49:45.860000000 +0000
+@@ -9,8 +9,8 @@
+ # dropping root privileges, so keep the key file unreadable by anyone but
+ # root. Included doc/mkcert.sh can be used to easily generate self-signed
+ # certificate, just make sure to update the domains in dovecot-openssl.cnf
+-ssl_cert = </etc/ssl/certs/dovecot.pem
+-ssl_key = </etc/ssl/private/dovecot.pem
++ssl_cert = </etc/ssl/dovecot/server.pem
++ssl_key = </etc/ssl/dovecot/server.key
+
+ # If key file is password protected, give the password here. Alternatively
+ # give it when starting dovecot with -p parameter. Since this file is often
diff --git a/user/dracut/APKBUILD b/user/dracut/APKBUILD
index fd0988844..40f60f469 100644
--- a/user/dracut/APKBUILD
+++ b/user/dracut/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=dracut
-pkgver=048
-pkgrel=4
+pkgver=050
+pkgrel=0
pkgdesc="Event-driven initramfs infrastructure"
url="https://dracut.wiki.kernel.org/"
arch="all"
@@ -13,6 +13,7 @@ makedepends="fts-dev kmod-dev"
subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch
$pkgname-crypt::noarch $pkgname-lvm::noarch"
source="https://www.kernel.org/pub/linux/utils/boot/$pkgname/$pkgname-$pkgver.tar.xz
+ fts.patch
header-fix.patch
mount-run-without-noexec.patch
"
@@ -67,6 +68,7 @@ lvm() {
mkdir -p "$subpkgdir"
}
-sha512sums="97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0 dracut-048.tar.xz
+sha512sums="eba046cf1c8013369a398e585e0bff233daa8595d469ce9acc8bbc6a32d55c6a5429d4219db19abbf6001104be05b357f0961f9e66b7f926039a5d3ee7c2b850 dracut-050.tar.xz
+ce84e527e441e18494ea9011b4b10cf723ce5981c4717140f43861b6ed3e0f0aa78545be41c111d3338422f2ad158edc8704376c3dca207ae4445c58f54a4574 fts.patch
988f03a3fd2e7ee62409d3c57e8029403513dcec5efb37e64633d989728e4c7b619ce5b8775a04c5a0b654f7f093777d94fe6e4098a99a690c353a94f537e24c header-fix.patch
d7aa2b35def975ec2a9620d3e8c94da5fad5be51e81ac913b9f3497b3ca62beefb9d4cf8e4ba3b292f89b936373486d0e3184f65eb1eaed972f38d17424a32b1 mount-run-without-noexec.patch"
diff --git a/user/dracut/fts.patch b/user/dracut/fts.patch
new file mode 100644
index 000000000..f2bbb03b7
--- /dev/null
+++ b/user/dracut/fts.patch
@@ -0,0 +1,30 @@
+From 7f6517b7dc3f3d160ae43de43d1184b137c0c96f Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Sun, 5 Apr 2020 04:52:19 -0500
+Subject: [PATCH] configure: Find FTS library with --as-needed
+
+When LDFLAGS contains ``-Wl,--as-needed``, the FTS library will be
+ignored if it is specified before the .c source.
+
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+Fixes: 62f27ee6f145 ("configure: find cflags and libs for fts on musl")
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 3f724ef2..aceec138 100755
+--- a/configure
++++ b/configure
+@@ -85,7 +85,7 @@ EOF
+
+ found=no
+ for lib in "-lc" "-lfts"; do
+- ${CC} $CFLAGS -Wl,$lib $LDFLAGS conftest.c >/dev/null 2>&1
++ ${CC} $CFLAGS $LDFLAGS conftest.c -Wl,$lib >/dev/null 2>&1
+ ret=$?
+ if test $ret -eq 0; then
+ FTS_LIBS="$lib"
+--
+2.25.1
+
diff --git a/user/drkonqi/APKBUILD b/user/drkonqi/APKBUILD
index 7c2089579..3356bc9ce 100644
--- a/user/drkonqi/APKBUILD
+++ b/user/drkonqi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=drkonqi
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Crash diagnostic system for KDE"
url="https://www.kde.org/"
@@ -15,7 +15,7 @@ makedepends="cmake extra-cmake-modules kauth-dev kcodecs-dev kcompletion-dev
kwallet-dev kwidgetsaddons-dev kwindowsystem-dev kxmlgui-dev
qt5-qtbase-dev qt5-qtx11extras-dev solid-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/drkonqi-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/drkonqi-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c878a9348fe270a84321e5bc3f22063c39acde8ff1378d32c6d3f009f17374bb861cfb71559cdfe2c8046ce60c1198e7946ab181ebfa27a02c6e0aa74c9adb0b drkonqi-5.18.2.tar.xz"
+sha512sums="5d9c7dfbe4687d88ffe43e6676d6dbd04c97816acb4819604ff6ea5a1f9b987834b2831e75281f8fbe6837a42c410a6a595d61e6f2a4b8a9bd6c23b2102ee544 drkonqi-5.18.4.1.tar.xz"
diff --git a/user/efibootmgr/APKBUILD b/user/efibootmgr/APKBUILD
index 5f2149b22..379316b65 100644
--- a/user/efibootmgr/APKBUILD
+++ b/user/efibootmgr/APKBUILD
@@ -5,7 +5,7 @@ pkgver=16
pkgrel=0
pkgdesc="User-space application to modify the Intel EFI Boot Manager"
url="https://github.com/rhboot/efibootmgr"
-arch="pmmx x86_64 arm64 ia64"
+arch="pmmx x86_64 aarch64 ia64"
options="!check" # Dangerous.
license="GPL-2.0-only"
depends=""
diff --git a/user/efivar/APKBUILD b/user/efivar/APKBUILD
index 13b1b64bd..c8a8ba600 100644
--- a/user/efivar/APKBUILD
+++ b/user/efivar/APKBUILD
@@ -5,7 +5,7 @@ pkgver=37
pkgrel=0
pkgdesc="Tools and library to manipulate EFI variables"
url="https://github.com/rhboot/efivar"
-arch="pmmx x86_64 arm64 ia64"
+arch="pmmx x86_64 aarch64 ia64"
options="!check" # "WARNING: You should probably not run tests /ever/. This is not a joke."
license="LGPL-2.1+"
depends=""
diff --git a/user/elixir/APKBUILD b/user/elixir/APKBUILD
new file mode 100644
index 000000000..e23466f18
--- /dev/null
+++ b/user/elixir/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Daniel Isaksen <d@duniel.no>
+# Contributor: Marlus Saraiva <marlus.saraiva@gmail.com>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=elixir
+pkgver=1.10.3
+pkgrel=0
+pkgdesc="Dynamic, functional language designed for building scalable and maintainable applications"
+url="https://elixir-lang.org/"
+arch="noarch"
+license="Apache-2.0"
+depends="erlang"
+makedepends="erlang-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/elixir-lang/elixir/archive/v$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="66b18b983e5374afbd4d94c43a880c5e46a9aa150fa6f38be74ff7f58a19eaaee00248b202d9ae3f6b78e2495fc8d5cec755de644256a731be367766c3812855 elixir-1.10.3.tar.gz"
diff --git a/user/erlang/APKBUILD b/user/erlang/APKBUILD
index 733fcae80..32250cbf3 100644
--- a/user/erlang/APKBUILD
+++ b/user/erlang/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=erlang
-pkgver=22.2.7
+pkgver=22.3
pkgrel=0
pkgdesc="Soft real-time system programming language"
url="https://www.erlang.org/"
@@ -50,5 +50,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1746acd526eda37c769b70bba1ad0f73ee1e658d05d0cbbe4063f34c11f8061932b2cde04df725537f5c5b81b537897ada2f0f9b6b18b7554b0f7596c492906b erlang-22.2.7.tar.gz
+sha512sums="138c4807f1116ad507d5ce2899438aebf3e1d5503d0de1cf81535dfa2d7bf9224dc45adeeabe5e479bb83293002c0d03e7f78be9f93394e9b85f1d83a3381446 erlang-22.3.tar.gz
4331f4b9a8cd0787d79f26304415604118cf2f750cb2e98f3d0bb16dbf9e2b5e230b4b4b15fed4ac207a0ae83a0963adebd3f5e9423b98f0b7f733334669709d fix-wx-linking.patch"
diff --git a/user/ethtool/APKBUILD b/user/ethtool/APKBUILD
index 0f899072c..984066d58 100644
--- a/user/ethtool/APKBUILD
+++ b/user/ethtool/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=ethtool
-pkgver=5.3
+pkgver=5.4
pkgrel=0
pkgdesc="Utility for controlling network drivers and hardware"
url="https://mirrors.edge.kernel.org/pub/software/network/ethtool/"
@@ -40,4 +40,4 @@ bashcomp() {
mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/
}
-sha512sums="ad3651f74850e6773489baec27c51d077e3c080eb1d536a585ae05c618304880caf7598df5c9b1416c47ae9c4eac301032f6ea65fe47650dd9ecb7603c1857b0 ethtool-5.3.tar.xz"
+sha512sums="c7bfe7eae2ba207d710716274e9f5ae275c57d0bebc0a9acb95677125e64f1b42ef610032011fb59894aab46973988bad40fddbc5ccc238893e7da66f913255b ethtool-5.4.tar.xz"
diff --git a/user/eudev/APKBUILD b/user/eudev/APKBUILD
index 16858e1f5..86a8e30f8 100644
--- a/user/eudev/APKBUILD
+++ b/user/eudev/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=eudev
pkgver=3.2.9
-pkgrel=0
+pkgrel=1
pkgdesc="OpenRC compatible fork of systemd-udev"
url="https://wiki.gentoo.org/wiki/Project:Eudev"
arch="all"
@@ -91,12 +91,16 @@ openrc() {
replaces="udev-init-scripts-openrc"
default_openrc
install -d "$subpkgdir"/usr/share/openrc/runlevels/sysinit
+ install -d "$subpkgdir"/etc/runlevels/sysinit
# https://bts.adelielinux.org/show_bug.cgi?id=51
# if eudev is installed, it should be running in the sysinit runlevel
ln -s /etc/init.d/udev \
"$subpkgdir"/usr/share/openrc/runlevels/sysinit/udev
+ ln -s /etc/init.d/udev "$subpkgdir"/etc/runlevels/sysinit/udev
ln -s /etc/init.d/udev-trigger \
"$subpkgdir"/usr/share/openrc/runlevels/sysinit/udev-trigger
+ ln -s /etc/init.d/udev-trigger \
+ "$subpkgdir"/etc/runlevels/sysinit/udev-trigger
}
sha512sums="09e49fff9848e72507ef14b9d4cfab2d1443f16d5b3d54d2b0e4f6b04c471ca41f09200cb8772e9f850f0dc4a574a7ec7eede7ce11cbabda65e210a89287531f eudev-3.2.9.tar.gz
diff --git a/user/evince/APKBUILD b/user/evince/APKBUILD
index 6811c1bef..6ddc8cf92 100644
--- a/user/evince/APKBUILD
+++ b/user/evince/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=evince
-pkgver=3.34.2
+pkgver=3.36.0
pkgrel=0
pkgdesc="GNOME document viewer"
url="https://wiki.gnome.org/Apps/Evince"
@@ -32,38 +32,6 @@ build() {
--disable-nautilus \
--enable-introspection \
--enable-ps
-
- # our msgfmt(1) can't do --desktop
- cp data/org.gnome.Evince.desktop.in data/org.gnome.Evince.desktop
- cp data/org.gnome.Evince-previewer.desktop.in \
- data/org.gnome.Evince-previewer.desktop
- cp backend/pdf/evince-pdfdocument.metainfo.xml.in \
- backend/pdf/evince-pdfdocument.metainfo.xml
- cp backend/pdf/pdfdocument.evince-backend.desktop.in \
- backend/pdf/pdfdocument.evince-backend
- cp backend/djvu/evince-djvudocument.metainfo.xml.in \
- backend/djvu/evince-djvudocument.metainfo.xml
- cp backend/djvu/djvudocument.evince-backend.desktop.in \
- backend/djvu/djvudocument.evince-backend
- cp backend/tiff/evince-tiffdocument.metainfo.xml.in \
- backend/tiff/evince-tiffdocument.metainfo.xml
- cp backend/tiff/tiffdocument.evince-backend.desktop.in \
- backend/tiff/tiffdocument.evince-backend
- cp backend/comics/evince-comicsdocument.metainfo.xml.in \
- backend/comics/evince-comicsdocument.metainfo.xml
- cp backend/comics/comicsdocument.evince-backend.desktop.in \
- backend/comics/comicsdocument.evince-backend
- cp backend/xps/evince-xpsdocument.metainfo.xml.in \
- backend/xps/evince-xpsdocument.metainfo.xml
- cp backend/xps/xpsdocument.evince-backend.desktop.in \
- backend/xps/xpsdocument.evince-backend
- cp backend/ps/evince-psdocument.metainfo.xml.in \
- backend/ps/evince-psdocument.metainfo.xml
- cp backend/ps/psdocument.evince-backend.desktop.in \
- backend/ps/psdocument.evince-backend
- cp org.gnome.Evince.appdata.xml.in org.gnome.Evince.appdata.xml
-
- # we now return you to your regularly scheduled build
make
}
@@ -75,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="51bfa4671e17a98c536790185ece6f4f77b956062901f840cd298cdc3e42eb7e8cabe9bfa84387f185cdf7462a322ef54bbc463b988a677af68561e55acd9f12 evince-3.34.2.tar.xz"
+sha512sums="914c182f0ca71a0df99036339fe18f7c93514bae461ddecd719c5659c1cc67701f825e7a58b1eb203051ec55ccd402371fc70d3a27134ccdf915966e5bad8b7a evince-3.36.0.tar.xz"
diff --git a/user/farstream/APKBUILD b/user/farstream/APKBUILD
index c5a6f422e..cba6a5fad 100644
--- a/user/farstream/APKBUILD
+++ b/user/farstream/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=farstream
-pkgver=0.2.8
+pkgver=0.2.9
pkgrel=0
pkgdesc="Audio/Video communications framework"
url="https://www.freedesktop.org/wiki/Software/Farstream/"
@@ -11,11 +11,14 @@ license="LGPL-2.1+"
depends="gst-plugins-base gst-plugins-good"
depends_dev="glib-dev"
makedepends="$depends_dev gobject-introspection-dev gstreamer-dev
- gst-plugins-base-dev libnice-dev"
+ gst-plugins-base-dev libnice-dev autoconf automake libtool cmd:which"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://freedesktop.org/software/farstream/releases/farstream/farstream-$pkgver.tar.gz"
+source="https://freedesktop.org/software/farstream/releases/farstream/farstream-$pkgver.tar.gz
+ make43.patch
+ "
build() {
+ ./autogen.sh --disable-gtk-doc
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -35,4 +38,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7ec5c57f8778f4107cb628dbf411e38b726152cf78920127dff4423239ff7e4980b6b4f938abba2aa21ab984b1e3053e7e648611322a0ce94df0af576df99a7e farstream-0.2.8.tar.gz"
+sha512sums="8840725d2f1de59bebc8c49cf68a6712822a4e7b6ba9078713f80e3c35a39135565a1a885edab43a562f895e11b8f5d8d666d57d9b3814dabb661f46498515bd farstream-0.2.9.tar.gz
+ea863d7e72e6c0311c1e6f4718721f4f03955e0c9a61066db833cc0b73246b27387067abfe677f594c6a132c7e3836de50cc216903ba12e286638988f41e3bd5 make43.patch"
diff --git a/user/farstream/make43.patch b/user/farstream/make43.patch
new file mode 100644
index 000000000..7b1ec9a9e
--- /dev/null
+++ b/user/farstream/make43.patch
@@ -0,0 +1,38 @@
+From 54987d445ea714b467d901b7daf8c09ed0644189 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@freedesktop.org>
+Date: Thu, 12 Mar 2020 14:07:23 +0100
+Subject: [PATCH] build: Adapt to backwards incompatible change in GNU Make 4.3
+
+GNU Make 4.3 has a backwards incompatible change affecting the use of
+number signs or hashes (ie., #) inside function invocations. See:
+https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html
+
+In this case, it would expand the '\#' in the '\n\#include \"$(h)\"'
+argument to the foreach call to '\#', not '#'. This would lead to
+spurious backslashes in front of the '#include' directives in the
+generated fs-enumtypes.c file.
+
+Spotted by Ernestas Kulik.
+
+https://gitlab.freedesktop.org/farstream/farstream/-/merge_requests/4
+---
+ common-modified/gst-glib-gen.mak | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/common-modified/gst-glib-gen.mak b/common-modified/gst-glib-gen.mak
+index 14f1ba37c788..2247a41c49ea 100644
+--- a/common-modified/gst-glib-gen.mak
++++ b/common-modified/gst-glib-gen.mak
+@@ -6,7 +6,8 @@
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+
+-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++hash:=\#
++enum_headers=$(foreach h,$(glib_enum_headers),\n$(hash)include \"$(h)\")
+
+ # these are all the rules generating the relevant files
+ $(glib_gen_basename)-enumtypes.h: $(glib_enum_headers)
+--
+2.24.1
+
diff --git a/user/featherpad/APKBUILD b/user/featherpad/APKBUILD
index 2d9bf4be6..e88d1344e 100644
--- a/user/featherpad/APKBUILD
+++ b/user/featherpad/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=featherpad
-pkgver=0.12.1
+pkgver=0.13.1
pkgrel=0
pkgdesc="Featureful Qt-based text editor"
url="https://github.com/tsujan/FeatherPad"
@@ -31,5 +31,5 @@ package() {
make INSTALL_ROOT="$pkgdir" PREFIX=/usr install
}
-sha512sums="fdeb20574e265f5cae36f97b1993b83afc7dfc3c5dc24aa8482adb972e1bd7624e343b15a5996fee31f8fd1815c072f89e8d97910def560e99301586442c67e5 FeatherPad-0.12.1.tar.gz
+sha512sums="287a97907baba93a760751f8f28472b12d6c65ebb0855fcf684e126d8635adbc4e00b2fb4703bbabdc182b8a337dd9281b5b2c97add4b571fca976d90ecc7db9 FeatherPad-0.13.1.tar.gz
471714eec9a376b138cc4c6c7b7d1339c9767091309c95b11ef2a8536250c796367b1544dca9610cc10babdbd08ac1436784d71292680b9da90e681dd855aaf0 hunspell-link.patch"
diff --git a/user/ffmpeg/APKBUILD b/user/ffmpeg/APKBUILD
index b6de0597c..06e68aecb 100644
--- a/user/ffmpeg/APKBUILD
+++ b/user/ffmpeg/APKBUILD
@@ -4,7 +4,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ffmpeg
pkgver=4.2.2
-pkgrel=0
+pkgrel=1
pkgdesc="Record, convert, and stream audio and video"
url="https://ffmpeg.org/"
arch="all"
@@ -21,6 +21,8 @@ makedepends="alsa-lib-dev bzip2-dev freetype-dev gnutls-dev imlib2-dev
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz
0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
+ CVE-2019-13312.patch
+ CVE-2020-12284.patch
"
# secfixes:
@@ -37,6 +39,9 @@ source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz
# - CVE-2017-14222
# - CVE-2017-14223
# - CVE-2017-14225
+# 4.2.2-r1:
+# - CVE-2019-13312
+# - CVE-2020-12284
build() {
_asm=""
@@ -98,4 +103,6 @@ libs() {
}
sha512sums="381cd6732fa699eb89000621cf34256920596ed1f9de3c2194dbad35fdf2165269eb7d3a147a0eb75dc18fbb6d601382b5801750e09fc63547766842f84208e3 ffmpeg-4.2.2.tar.xz
-1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch"
+1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
+0c53680ae480b8f848893d4e5c40ea522bd25a72860e0955e039ec838ee09159ab2bfa0eafc71113009082c7f53981ba70116dcef17053cd3cc3ea59e4da5a5c CVE-2019-13312.patch
+910f8da9ed8e0998c311cc451f1725a20c4cc3e9f0c2d1981a1ceea8da5f434519044b4997e71d87424e19fcc45cb203238e49ad178e313696667e6c9bf311c9 CVE-2020-12284.patch"
diff --git a/user/ffmpeg/CVE-2019-13312.patch b/user/ffmpeg/CVE-2019-13312.patch
new file mode 100644
index 000000000..1ef9d92b4
--- /dev/null
+++ b/user/ffmpeg/CVE-2019-13312.patch
@@ -0,0 +1,30 @@
+From ea56af88956061d700043c5c4b026ac57834b0c8 Mon Sep 17 00:00:00 2001
+From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
+Date: Mon, 1 Jul 2019 01:45:36 +0200
+Subject: [PATCH] lavc/zmbvenc: Do not left-shift negative values.
+
+Fixes the following ubsan errors with the sample from ticket #7980:
+libavcodec/zmbvenc.c:243:29: runtime error: left shift of negative value -4
+libavcodec/zmbvenc.c:244:28: runtime error: left shift of negative value -2
+---
+ libavcodec/zmbvenc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c
+index 4887175..0e22ce6 100644
+--- a/libavcodec/zmbvenc.c
++++ b/libavcodec/zmbvenc.c
+@@ -240,8 +240,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
+ tprev = prev + x * c->bypp;
+
+ zmbv_me(c, tsrc, p->linesize[0], tprev, c->pstride, x, y, &mx, &my, &xored);
+- mv[0] = (mx << 1) | !!xored;
+- mv[1] = my << 1;
++ mv[0] = (mx * 2) | !!xored;
++ mv[1] = my * 2;
+ tprev += mx * c->bypp + my * c->pstride;
+ if(xored){
+ for(j = 0; j < bh2; j++){
+--
+2.7.4
+
diff --git a/user/ffmpeg/CVE-2020-12284.patch b/user/ffmpeg/CVE-2020-12284.patch
new file mode 100644
index 000000000..7360b5870
--- /dev/null
+++ b/user/ffmpeg/CVE-2020-12284.patch
@@ -0,0 +1,32 @@
+From 1812352d767ccf5431aa440123e2e260a4db2726 Mon Sep 17 00:00:00 2001
+From: Michael Niedermayer <michael@niedermayer.cc>
+Date: Sat, 7 Mar 2020 15:42:58 +0100
+Subject: [PATCH] avcodec/cbs_jpeg: Check length for SOS
+
+Fixes: out of array access
+Fixes: 19734/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5673507031875584
+Fixes: 19353/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5703944462663680
+
+Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
+Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
+---
+ libavcodec/cbs_jpeg.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c
+index 6bbce5f..89512a2 100644
+--- a/libavcodec/cbs_jpeg.c
++++ b/libavcodec/cbs_jpeg.c
+@@ -197,6 +197,9 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
+ if (marker == JPEG_MARKER_SOS) {
+ length = AV_RB16(frag->data + start);
+
++ if (length > end - start)
++ return AVERROR_INVALIDDATA;
++
+ data_ref = NULL;
+ data = av_malloc(end - start +
+ AV_INPUT_BUFFER_PADDING_SIZE);
+--
+2.7.4
+
diff --git a/user/firefox-esr/APKBUILD b/user/firefox-esr/APKBUILD
index e4c2a5687..f780d8765 100644
--- a/user/firefox-esr/APKBUILD
+++ b/user/firefox-esr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Molly Miller <adelie@m-squa.red>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=firefox-esr
-pkgver=68.5.0
+pkgver=68.9.0
pkgrel=0
pkgdesc="Firefox web browser (extended support release)"
url="https://www.mozilla.org/firefox/"
@@ -41,7 +41,8 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$_ffxver/source/firefox-$_f
mozilla-build-arm.patch
ppc32-fix.patch
rust-32bit.patch
- rust-config.patch
+ seccomp-musl.patch
+ seccomp-time64.patch
shut-up-warning.patch
skia-sucks1.patch
skia-sucks2.patch
@@ -106,7 +107,30 @@ ldpath="$_mozappdir"
# - CVE-2020-6797
# - CVE-2020-6798
# - CVE-2020-6799
-
+# 68.6.0-r0:
+# - CVE-2019-20503
+# - CVE-2020-6805
+# - CVE-2020-6806
+# - CVE-2020-6807
+# - CVE-2020-6811
+# - CVE-2020-6812
+# - CVE-2020-6814
+# 68.7.0-r0:
+# - CVE-2020-6819
+# - CVE-2020-6820
+# - CVE-2020-6821
+# - CVE-2020-6822
+# - CVE-2020-6825
+# 68.8.0-r0:
+# - CVE-2020-6831
+# - CVE-2020-12387
+# - CVE-2020-12392
+# - CVE-2020-12395
+# 68.9.0-r0:
+# - CVE-2020-12399
+# - CVE-2020-12405
+# - CVE-2020-12406
+# - CVE-2020-12410
unpack() {
default_unpack
@@ -222,7 +246,7 @@ package() {
EOF
}
-sha512sums="0acf4ecd47bccf062ab330231e36355f5d84e66ab411f653ae3160583613840925bb473c0f7dfa4b15311a543940293c4633516851c9466c4b0133c9271710d3 firefox-68.5.0esr.source.tar.xz
+sha512sums="98431800d80f7c680aef9eede29df8217810912a319a7f7f8c2e637c43ecd4f4e29223a417afb2a6315e825f979453ff6e6b5a575649aba5cc63ce5956375bb8 firefox-68.9.0esr.source.tar.xz
16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz
f82758d279cd12a1b30a9b36ac3c265cfb137df3db7ae185f2c538504e46fa70ace1b051fce847356851062b5cc9cd741a6d33d54f8cd103aa0c8272cb19ccc4 mozconfig
ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch
@@ -233,7 +257,8 @@ de8e3b15cd7dffb0eca5a729434986e5916234914cdc5fdcdbbc67d8bb439a535ed932293518dd74
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
06a3f4ee6d3726adf3460952fcbaaf24bb15ef8d15b3357fdd1766c7a62b00bd53a1e943b5df7f4e1a69f4fae0d44b64fae1e027d7812499c77894975969ea10 ppc32-fix.patch
7c615703dc9b8427eeadd13bc9beda02e1c3d986cac1167feaf48fdfdcc15b7456460d4d58f301054cf459242ee75bbcd76bf67e26c2a443bc5655975d24ca1b rust-32bit.patch
-45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch
+efc77a320850e10e8b99e6fb5d3dd28a3044e287fd87efbdf95807de26a6885235b2d994743cb374345d91a0353abd70a5790b829e37b717b77605e24d4f7f98 seccomp-musl.patch
+4b20dfa3ef3d470af069a274c53ea35c67d2d123f1b543ee243e7038ed94f5a1a6121f1f67713a9442e246b979c042f11efc7a6c32d0b8d3fd2c448dd1258733 seccomp-time64.patch
39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch
e751ffab263f03d4c74feebc617e3af115b1b53cf54fe16c3acc585eec67773f37aa8de4c19599fa6478179b01439025112ef2b759aa9923c9900e7081cb65a9 skia-sucks1.patch
9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4 skia-sucks2.patch
diff --git a/user/firefox-esr/rust-config.patch b/user/firefox-esr/rust-config.patch
deleted file mode 100644
index eab72a0e4..000000000
--- a/user/firefox-esr/rust-config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -urw firefox-68.0-old/build/moz.configure/rust.configure firefox-68.0/build/moz.configure/rust.configure
---- firefox-68.0-old/build/moz.configure/rust.configure 2019-07-07 15:56:29.345963800 +0000
-+++ firefox-68.0/build/moz.configure/rust.configure 2019-07-07 16:19:25.990645334 +0000
-@@ -193,12 +193,16 @@
- ambiguous = set()
- per_raw_os = {}
- for t in out:
-+ if 'fuchsia' in t: continue
- t = split_triplet(t, allow_unknown=True)
- endianness = t.endianness
- if t.cpu.startswith('thumb') and endianness not in ('big', 'little'):
- endianness = 'little'
- key = (t.cpu, endianness, t.os)
- if key in per_os:
-+ # hax to allow Adélie toolchains to work
-+ if 'foxkit' in per_os[key].alias:
-+ continue
- previous = per_os[key]
- per_raw_os[(previous.cpu, previous.endianness,
- previous.raw_os)] = previous
diff --git a/user/firefox-esr/seccomp-musl.patch b/user/firefox-esr/seccomp-musl.patch
new file mode 100644
index 000000000..edd4a3024
--- /dev/null
+++ b/user/firefox-esr/seccomp-musl.patch
@@ -0,0 +1,49 @@
+Backport of https://hg.mozilla.org/mozilla-central/rev/a0be746532f437055e4190cc8db802ad1239405e
+
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -419,16 +419,20 @@ class SandboxPolicyCommon : public Sandb
+ case __NR_faccessat:
+ return Trap(AccessAtTrap, mBroker);
+ CASES_FOR_stat:
+ return Trap(StatTrap, mBroker);
+ CASES_FOR_lstat:
+ return Trap(LStatTrap, mBroker);
+ CASES_FOR_fstatat:
+ return Trap(StatAtTrap, mBroker);
++ // Used by new libc and Rust's stdlib, if available.
++ // We don't have broker support yet so claim it does not exist.
++ case __NR_statx:
++ return Error(ENOSYS);
+ case __NR_chmod:
+ return Trap(ChmodTrap, mBroker);
+ case __NR_link:
+ return Trap(LinkTrap, mBroker);
+ case __NR_mkdir:
+ return Trap(MkdirTrap, mBroker);
+ case __NR_symlink:
+ return Trap(SymlinkTrap, mBroker);
+@@ -538,16 +542,20 @@ class SandboxPolicyCommon : public Sandb
+ .ElseIf(advice == MADV_HUGEPAGE, Allow())
+ .ElseIf(advice == MADV_NOHUGEPAGE, Allow())
+ #ifdef MOZ_ASAN
+ .ElseIf(advice == MADV_DONTDUMP, Allow())
+ #endif
+ .Else(InvalidSyscall());
+ }
+
++ // musl libc will set this up in pthreads support.
++ case __NR_membarrier:
++ return Allow();
++
+ // Signal handling
+ #if defined(ANDROID) || defined(MOZ_ASAN)
+ case __NR_sigaltstack:
+ #endif
+ CASES_FOR_sigreturn:
+ CASES_FOR_sigprocmask:
+ CASES_FOR_sigaction:
+ return Allow();
+
+
diff --git a/user/firefox-esr/seccomp-time64.patch b/user/firefox-esr/seccomp-time64.patch
new file mode 100644
index 000000000..72cc28b5d
--- /dev/null
+++ b/user/firefox-esr/seccomp-time64.patch
@@ -0,0 +1,112 @@
+This drops the use of the chromium sandbox syscall headers which were
+defining syscall numbers if they were undefined. This masked the time64
+issue initially since while musl renamed several of the time32 syscall
+numbers to catch breakage like this, these headers were silently
+bringing them back. I did this by comparing the syscall numbers provided
+by the chromium and musl headers and redefining the generic names to
+their time64 counterparts.
+
+For gettimeofday and settimeofday there does not appear to be a time64
+counterpart so I have defined them as the time32 versions. For
+settimeofday this should not matter (the seccomp filter will block this
+by virture of not being on the whitelist - no content process needs to
+set the time anyway).
+
+It is not possible to entirely block the usage of time32 syscalls
+because musl uses them internally when it can or in fallback paths.
+
+I did not check the MIPS headers since we don't currently ship a MIPS
+port, so in the future those includes should be examined and dropped
+too...
+
+--- firefox-68.8.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_syscalls.h 2020-04-29 16:49:45.000000000 -0500
++++ firefox-68.8.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_syscalls.h 2020-05-20 03:09:47.369457646 -0500
+@@ -8,18 +8,7 @@
+
+ #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
+ #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
+-
+-#if defined(__x86_64__)
+-#include "sandbox/linux/system_headers/x86_64_linux_syscalls.h"
+-#endif
+-
+-#if defined(__i386__)
+-#include "sandbox/linux/system_headers/x86_32_linux_syscalls.h"
+-#endif
+-
+-#if defined(__arm__) && defined(__ARM_EABI__)
+-#include "sandbox/linux/system_headers/arm_linux_syscalls.h"
+-#endif
++#include <sys/syscall.h>
+
+ #if defined(__mips__) && (_MIPS_SIM == _ABIO32)
+ #include "sandbox/linux/system_headers/mips_linux_syscalls.h"
+@@ -33,5 +22,36 @@
+ #include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
+ #endif
+
++#if !defined(__NR_clock_getres) && defined(__NR_clock_getres_time64)
++#define __NR_clock_getres __NR_clock_getres_time64
++#endif
++#if !defined(__NR_clock_gettime) && defined(__NR_clock_gettime64)
++#define __NR_clock_gettime __NR_clock_gettime64
++#endif
++#if !defined(__NR_clock_nanosleep) && defined(__NR_clock_nanosleep_time64)
++#define __NR_clock_nanosleep __NR_clock_nanosleep_time64
++#endif
++#if !defined(__NR_clock_settime) && defined(__NR_clock_settime64)
++#define __NR_clock_settime __NR_clock_settime64
++#endif
++#if !defined(__NR_gettimeofday) && defined(__NR_gettimeofday_time32)
++#define __NR_gettimeofday __NR_gettimeofday_time32
++#endif
++#if !defined(__NR_settimeofday) && defined(__NR_settimeofday_time32)
++#define __NR_settimeofday __NR_settimeofday_time32
++#endif
++#if !defined(__NR_timer_gettime) && defined(__NR_timer_gettime64)
++#define __NR_timer_gettime __NR_timer_gettime64
++#endif
++#if !defined(__NR_timer_settime) && defined(__NR_timer_settime64)
++#define __NR_timer_settime __NR_timer_settime64
++#endif
++#if !defined(__NR_timerfd_gettime) && defined(__NR_timerfd_gettime64)
++#define __NR_timerfd_gettime __NR_timerfd_gettime64
++#endif
++#if !defined(__NR_timerfd_settime) && defined(__NR_timerfd_settime64)
++#define __NR_timerfd_settime __NR_timerfd_settime64
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
+
+--- firefox-68.8.0/security/sandbox/linux/SandboxFilter.cpp 2020-04-29 16:49:45.000000000 -0500
++++ firefox-68.8.0/security/sandbox/linux/SandboxFilter.cpp 2020-05-19 23:33:27.829642593 -0500
+@@ -478,6 +478,9 @@ class SandboxPolicyCommon : public Sandb
+
+ // Thread synchronization
+ case __NR_futex:
++#ifdef __NR_futex_time64
++ case __NR_futex_time64:
++#endif
+ // FIXME: This could be more restrictive....
+ return Allow();
+
+@@ -488,6 +491,9 @@ class SandboxPolicyCommon : public Sandb
+ case __NR_epoll_pwait:
+ case __NR_epoll_ctl:
+ case __NR_ppoll:
++#ifdef __NR_ppoll_time64
++ case __NR_ppoll_time64:
++#endif
+ case __NR_poll:
+ return Allow();
+
+@@ -1017,6 +1023,9 @@ class ContentSandboxPolicy : public Sand
+
+ CASES_FOR_select:
+ case __NR_pselect6:
++#ifdef __NR_pselect6_time64
++ case __NR_pselect6_time64:
++#endif
+ return Allow();
+
+ CASES_FOR_getdents:
diff --git a/user/fuse3/APKBUILD b/user/fuse3/APKBUILD
index 821be29db..14cafec71 100644
--- a/user/fuse3/APKBUILD
+++ b/user/fuse3/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=fuse3
_pkgname=fuse
-pkgver=3.9.0
+pkgver=3.9.1
pkgrel=0
pkgdesc="The reference implementation of the Linux FUSE (Filesystem in Userspace) interface"
url="https://github.com/libfuse/libfuse"
@@ -26,18 +26,26 @@ builddir="$srcdir/$_pkgname-$pkgver"
# - CVE-2018-10906
build() {
+ # The examples are required for the tests to work, and aren't
+ # otherwise installed
+
meson \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var \
--buildtype=release \
- -Dexamples=false \
+ -Dexamples=true \
. output
ninja -C output
}
check() {
+ # Recommended procedure:
+ # 1. modprobe fuse
+ # 2. chown root and chmod u+s $builddir/output/util/fusermount3
+ # 3. abuild check
+
cd "$builddir"/output
python3 -m pytest test/
}
@@ -72,6 +80,6 @@ openrc() {
install_if="openrc fuse-common=$pkgver-r$pkgrel"
}
-sha512sums="0c96df5db4d0ceb7885ddb6f6c05b523ee7e179f8f411ad0614caecb9fa0f5fd682ab9bf4dfdaa3aff9d90c18b8947a122ee376328535e49fa6091d784aa0cb7 fuse-3.9.0.tar.xz
+sha512sums="295bb62274264789c977a1fee78c6c122a2f227ae85d750b8519cafbdcf6551499b77cf021d83cc8261831e29761c166d84a4e50bdebb4191c76bcad1d15d329 fuse-3.9.1.tar.xz
1a9e1d1e8a7b0778ffde328e4322c73b5d57ec98d52767c846d755cce861ab27989823a75b6c5f994432ddb77fa351dfa4a8f948c9467c5f7d5f471e4608358b fix-realpath.patch
7f6a503ef23cfa8b809c544375c2d83ad56525269b48ad1a7dff0ce36f4bf2f2a3fafed9dc70a71ff6281b261db5f01829e16c06f041921a5d8c8d715a04a8c1 fuse.initd"
diff --git a/user/garcon/APKBUILD b/user/garcon/APKBUILD
index 476a1ecf5..0c452a7a9 100644
--- a/user/garcon/APKBUILD
+++ b/user/garcon/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=garcon
-pkgver=0.6.4
+pkgver=0.7.0
pkgrel=0
pkgdesc="freedesktop.org menu library for the XFCE desktop environment"
url="https://xfce.org"
@@ -11,7 +11,7 @@ depends=""
makedepends="intltool glib-dev libxfce4util-dev gtk+3.0-dev libxfce4util-dev
libxfce4ui-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://archive.xfce.org/src/xfce/garcon/0.6/garcon-$pkgver.tar.bz2"
+source="https://archive.xfce.org/src/xfce/garcon/${pkgver%.*}/garcon-$pkgver.tar.bz2"
build() {
LIBS="-lintl" ./configure \
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="96a99eb163909ba411ca5928c3fc0a569a6d833fba92edcfa845eb90b56abb02e1428a2cbf61fc1c564f1659d51b24ce174e3864fcc987a37158703df0ac2510 garcon-0.6.4.tar.bz2"
+sha512sums="e865f68fe595bbc22d023d72ce4663c75e837a6789eb2158747e2cb7420ea2bba06dfd660e1de20675b9f9057cb2a9c1dc24221de8be93882e9b29bffb1fce37 garcon-0.7.0.tar.bz2"
diff --git a/legacy/glfw/APKBUILD b/user/glfw/APKBUILD
index ab55f9771..ab55f9771 100644
--- a/legacy/glfw/APKBUILD
+++ b/user/glfw/APKBUILD
diff --git a/user/glibmm/APKBUILD b/user/glibmm/APKBUILD
index f499efc9d..e404babdc 100644
--- a/user/glibmm/APKBUILD
+++ b/user/glibmm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=glibmm
-pkgver=2.62.0
+pkgver=2.64.2
pkgrel=0
pkgdesc="C++ interfaces for glib"
url="https://gnome.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f26fca5724c17d915480556b6918ae6e4999c14a25e7623cda3d37a59d6965310fc2b2d8a8500a849f1d0f00fd2d326eeddc690207846d38a13ae695ad0805de glibmm-2.62.0.tar.xz"
+sha512sums="0130af9a16981a54630150db6f4b1a95458d72d650c5e4781ee97ce624ec98c600b79ebf234d212e025781453fd11d78b9e8273235ffa143397423418fe970cc glibmm-2.64.2.tar.xz"
diff --git a/user/gmime/APKBUILD b/user/gmime/APKBUILD
index 659a0d1b1..cad989ef8 100644
--- a/user/gmime/APKBUILD
+++ b/user/gmime/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gmime
-pkgver=3.2.6
+pkgver=3.2.7
pkgrel=0
pkgdesc="MIME utility library"
url="https://developer.gnome.org/gmime/"
@@ -42,5 +42,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a60d3f9f1aa8490865c22cd9539544e9c9f3ceb4037b9749cf9e5c279f97aa88fc4cd077bf2aff314ba0db2a1b7bbe76f9b1ca5a17fffcbd6315ecebc5414a3d gmime-3.2.6.tar.xz
+sha512sums="2c8fecd6eb74c9e956c419ce111bef6280916ea3756a534b6b800a273f0fff260717cda7fefd4bd4c6ddb27973112ec6e73fa971fa74bb9aa04cfe587d45f10b gmime-3.2.7.tar.xz
443e768e15eb25116368739957ac31a30cd10a921c113b76af1a0baf0c690ca1346463577289d24ce8f46deb014dd014040033bc1f3d02d8a2190c70dd4c2a74 3.2.3-broken-tests.patch"
diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD
index f54b81265..af6b363ae 100644
--- a/user/gvim/APKBUILD
+++ b/user/gvim/APKBUILD
@@ -5,7 +5,7 @@
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=gvim
_pkgreal=vim
-pkgver=8.2.0255
+pkgver=8.2.0529
pkgrel=0
pkgdesc="advanced text editor"
url="http://www.vim.org"
@@ -71,4 +71,4 @@ package() {
ln -s gvim rgvim
}
-sha512sums="347df5903c95753610eb48c85696d47df5fbfe1179544b4220cd3430dd228810d2639466ef4beaacf91b7ebf0ec9f7e029963af1f2a6b69b1d4bbff33d2db1bb vim-8.2.0255.tar.gz"
+sha512sums="73cd3eb1522189f603c65ef1e80c0d1c860ce7332817967ab289aa8f2fdf376235fc9c30af53a66164cfe83a882b55003b4073b27852061295ca9b5fe203501d vim-8.2.0529.tar.gz"
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
new file mode 100644
index 000000000..6c3278bc1
--- /dev/null
+++ b/user/horizon/APKBUILD
@@ -0,0 +1,136 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=horizon
+pkgver=0.9.2
+pkgrel=0
+pkgdesc="Installation tools for Adélie Linux"
+url="https://horizon.adelielinux.org/"
+arch="all"
+options="!archcheck !check" # Unpackaged dependency ruby-aruba.
+license="AGPL-3.0+"
+depends=""
+checkdepends="ruby-aruba ruby-rspec valgrind"
+# Second group is the Qt5 UI deps.
+makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
+ linux-headers parted-dev skalibs-dev util-linux-dev
+
+ libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-dev"
+subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5
+ $pkgname-tools $pkgname-wizard $pkgname-boot"
+source="https://distfiles.adelielinux.org/source/horizon-$pkgver.tar.xz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DBUILD_TOOLS=ON \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DINSTALL=ON \
+ ${CMAKE_CROSSOPTS} \
+ -Bbuild
+ make -C build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=False \
+ -DBUILD_TOOLS=OFF \
+ -DBUILD_UI=ON \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DINSTALL=OFF \
+ ${CMAKE_CROSSOPTS} \
+ -Bbuild-wizard
+ make -C build-wizard
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test
+}
+
+package() {
+ make DESTDIR="$pkgdir" -C build install
+}
+
+image() {
+ pkgdesc="Tools for generating images using HorizonScript"
+ depends="mtools"
+ mkdir -p "$subpkgdir"/usr/bin
+ mkdir -p "$subpkgdir"/usr/lib
+ mkdir -p "$subpkgdir"/usr/share/horizon
+
+ mv "$pkgdir"/usr/bin/hscript-image "$subpkgdir"/usr/bin/
+ mv "$pkgdir"/usr/lib/libhi-backends.so "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/share/horizon/iso "$subpkgdir"/usr/share/horizon/
+}
+
+qt5() {
+ pkgdesc="Qt 5 installation wizard for Adélie Linux"
+ depends="horizon"
+ mkdir -p "$subpkgdir"/etc/horizon
+ mkdir -p "$subpkgdir"/usr/bin
+ mkdir -p "$subpkgdir"/var/log/horizon
+
+ for _bin in horizon-ppc64-detect horizon-qt5 horizon-run-qt5; do
+ mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/
+ done
+}
+
+tools() {
+ pkgdesc="Tools for authoring HorizonScript files"
+ mkdir -p "$subpkgdir"/usr/bin
+
+ for _bin in hscript-fromjson hscript-simulate hscript-validate; do
+ mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/
+ done
+}
+
+wizard() {
+ pkgdesc="Wizard to generate a HorizonScript for another computer"
+
+ make DESTDIR="$subpkgdir" -C "$builddir"/build-wizard install
+ rm -r "$subpkgdir"/usr/include
+ rm -r "$subpkgdir"/usr/lib
+ rm -r "$subpkgdir"/usr/share
+}
+
+boot() {
+ pkgdesc="Boot to Horizon"
+ depends="horizon-qt5 horizon kwin qt5ct sddm
+ netsurf partitionmanager xterm"
+
+ mkdir -p "$subpkgdir"/etc/profile.d
+ mkdir -p "$subpkgdir"/etc/sddm.conf.d
+ mkdir -p "$subpkgdir"/etc/xdg/qt5ct
+ mkdir -p "$subpkgdir"/usr/bin
+ mkdir -p "$subpkgdir"/usr/share/qt5ct/qss
+ mkdir -p "$subpkgdir"/usr/share/xsessions
+
+ cat >"$subpkgdir"/etc/profile.d/horizon-qt5.sh <<PROFILE
+#!/bin/sh
+export QT_QUICK_BACKEND=software
+export QT_QPA_PLATFORMTHEME=qt5ct
+PROFILE
+ chmod 755 "$subpkgdir"/etc/profile.d/horizon-qt5.sh
+
+ install -D -m644 "$builddir"/boot/horizon.sddm.conf \
+ "$subpkgdir"/etc/sddm.conf.d/horizon.conf
+
+ install -D -m755 "$builddir"/boot/start-horizon-qt5 \
+ "$subpkgdir"/usr/bin/start-horizon-qt5
+
+ install -D -m644 "$builddir"/boot/qt5ct.conf \
+ "$subpkgdir"/etc/xdg/qt5ct/qt5ct.conf
+ install -D -m644 "$builddir"/boot/horizon.qss \
+ "$subpkgdir"/usr/share/qt5ct/qss/horizon.qss
+
+ install -D -m644 "$builddir"/boot/horizon-session.desktop \
+ "$subpkgdir"/usr/share/xsessions/horizon.desktop
+}
+
+sha512sums="ef7ad97508dd70bd8d179e844c8d619ff9802fbb4812bddd677fe5ed945cadad416667995a4a358dfe9b426b9c40f9b847ce5aa11e44357b7952fecbc37184fc horizon-0.9.2.tar.xz"
diff --git a/user/horizon/fix-qt-runner.patch b/user/horizon/fix-qt-runner.patch
new file mode 100644
index 000000000..39cab1181
--- /dev/null
+++ b/user/horizon/fix-qt-runner.patch
@@ -0,0 +1,25 @@
+From 9f737dbab8b9ed9fa57bdf15542cc00a8363d98b Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Thu, 4 Jun 2020 21:29:37 -0500
+Subject: [PATCH] Qt UI: Ensure log is opened when built in release modes
+
+---
+ ui/qt5/runner/executepage.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ui/qt5/runner/executepage.cc b/ui/qt5/runner/executepage.cc
+index 999731a..d5788df 100644
+--- a/ui/qt5/runner/executepage.cc
++++ b/ui/qt5/runner/executepage.cc
+@@ -48,7 +48,7 @@ ExecutePage::ExecutePage(QWidget *parent) : HorizonWizardPage(parent) {
+ });
+
+ log.setFileName("/var/log/horizon/executor.log");
+- Q_ASSERT(log.open(QFile::Append));
++ log.open(QFile::Append);
+
+ this->current = Prepare;
+ markRunning(this->current);
+--
+2.25.4
+
diff --git a/user/hwids/APKBUILD b/user/hwids/APKBUILD
index 17760d3c6..183bda57d 100644
--- a/user/hwids/APKBUILD
+++ b/user/hwids/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=hwids
-pkgver=20200204
+pkgver=20200306
pkgrel=0
pkgdesc="Hardware identification databases"
url="https://github.com/gentoo/hwids/"
@@ -25,7 +25,6 @@ package() {
}
_mv() {
- local _file
pkgdesc="$pkgdesc ($1)"
shift
depends=""
@@ -65,4 +64,4 @@ udev() {
mv "$pkgdir"/etc "$subpkgdir"/
}
-sha512sums="1d2a9baaa7ab64575a3d9b98ae4df9060cb8593ae752365296dd53b18bc5996170bbfe1c5b4b1ffc24b28e3dbaa7c321c4fa333bbf91449a6ca7b187cbe23741 hwids-20200204.tar.gz"
+sha512sums="eff1d2783925ca459b387fbaa5cf68a98aa4209ab8509ad92a902b4d02cc7f4a47e5506c2beed4c792d24a8ab636ad77b376a92b59ae4f605d1b5258350ff250 hwids-20200306.tar.gz"
diff --git a/user/icewm/APKBUILD b/user/icewm/APKBUILD
index 0149ef2d6..51804b714 100644
--- a/user/icewm/APKBUILD
+++ b/user/icewm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=icewm
-pkgver=1.6.4
+pkgver=1.6.5
pkgrel=0
pkgdesc="A window manager designed for speed, usability, and consistency"
url="https://github.com/bbidulock/icewm"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6a8c3b2e561c4471759b0566a4c5dc390f4abd6f266ab738a80a21445dffe9f45b24eca898507ff7c9b84ea12331262b81967b5a76be0b19e737842a66bcb000 icewm-1.6.4.tar.lz"
+sha512sums="7914031fa2df42ed337aa9c65c04f959746210c255dc799361b636042f1614949e1f9a3b9a2357fe39f469f2ed9a75d4c916c7b4c3e61c7b7ab6dc2cf9d3d9be icewm-1.6.5.tar.lz"
diff --git a/user/ipmiutil/APKBUILD b/user/ipmiutil/APKBUILD
index 56172ac63..914a43491 100644
--- a/user/ipmiutil/APKBUILD
+++ b/user/ipmiutil/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ipmiutil
-pkgver=3.1.5
+pkgver=3.1.6
pkgrel=0
pkgdesc="IPMI Management Utilities"
url="http://ipmiutil.sourceforge.net/"
@@ -40,5 +40,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a9bd4d99d5bcad8a9f64c3636d6774d09e1d4c20927a6803891777ba035ee3c114b06295185cf00fb0c5d4b4b9afd335fd19c06f64298130e42945dc5f6e8010 ipmiutil-3.1.5.tar.gz
+sha512sums="9bccfa2e0bba7f30e422d67f93ee6cff50c08cc8bceab5ba5bfd1b0a91e1af8a4a98a2eaa81364e8a1f38e0bd1ce6b99717d86957c6f689aa7329e7013f5b0ef ipmiutil-3.1.6.tar.gz
74e8951bccd004f765b99de87dc5f04834e594b3e14ba885148fb971eaf15164ccac2de880e409f201a38cba5c0948a0fabc04e1e34fb396f50b1ecddb6b305b ipmiutil-3.0.7-fix-sha256.patch"
diff --git a/user/kactivitymanagerd/APKBUILD b/user/kactivitymanagerd/APKBUILD
index bbcd6f519..ce56755c7 100644
--- a/user/kactivitymanagerd/APKBUILD
+++ b/user/kactivitymanagerd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kactivitymanagerd
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Service to manage KDE Plasma activities"
url="https://www.kde.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kdbusaddons-dev ki18n-dev
boost-dev python3 kconfig-dev kcoreaddons-dev kwindowsystem-dev kio-dev
kglobalaccel-dev kxmlgui-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kactivitymanagerd-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kactivitymanagerd-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make -C build DESTDIR="$pkgdir" install
}
-sha512sums="3e387114cb4245357d8c7a042077b9591de1743a89efdeb0199ff354d67670d5021bca69bcb70679ea5f9f61ba95aed209370f98c48ce3c7f051b7f9dd9a55b3 kactivitymanagerd-5.18.2.tar.xz"
+sha512sums="b3231305643247fa82f267ac942878136f1710faf1fe3b084efad25e8a3fb124ebbab5cf88251dd54d8e8bbbf3ac31088b25bf8047307adef95b5d40c8175ee0 kactivitymanagerd-5.18.4.1.tar.xz"
diff --git a/user/kde-cli-tools/APKBUILD b/user/kde-cli-tools/APKBUILD
index 3688e24c9..02419dc38 100644
--- a/user/kde-cli-tools/APKBUILD
+++ b/user/kde-cli-tools/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kde-cli-tools
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE command-like utilities"
url="https://www.kde.org/"
@@ -15,7 +15,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev
kdeclarative-dev kdesu-dev kdoctools-dev ki18n-dev kiconthemes-dev
kinit-dev kio-dev kservice-dev kwindowsystem-dev libkworkspace-dev"
subpackages="$pkgname-lang $pkgname-doc"
-source="https://download.kde.org/stable/plasma/$pkgver/kde-cli-tools-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kde-cli-tools-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d87cec3a791f2fc17533bac3901a578df842d110afc0c9ce85e02e50d401a909beff4f16d144f3e79c0a7b4e308e2a4ed40359629a833ffe8b7bc179771c0f12 kde-cli-tools-5.18.2.tar.xz"
+sha512sums="9cf32f4b87b1cf45f9e034c9929ed38a39de989c36cc0118d4f544fbb9ceb4b9419d2d518165a1c2d0b0dca4ec20f063f771dad4859bb6df1975afaa6388412e kde-cli-tools-5.18.4.1.tar.xz"
diff --git a/user/kde-gtk-config/APKBUILD b/user/kde-gtk-config/APKBUILD
index be224072d..c6e951067 100644
--- a/user/kde-gtk-config/APKBUILD
+++ b/user/kde-gtk-config/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kde-gtk-config
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE System Settings panel for configuring GTK+ application styles"
url="https://www.kde.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev gtk+2.0-dev gtk+3.0-dev
karchive-dev kcmutils-dev kconfigwidgets-dev ki18n-dev kiconthemes-dev
kio-dev knewstuff-dev gsettings-desktop-schemas-dev"
subpackages=""
-source="https://download.kde.org/stable/plasma/$pkgver/kde-gtk-config-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kde-gtk-config-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="950be06b4aee8d51c21b60a9b698426dd3444a63edff92e1dec0fc62269fcd1054cbebb602e5b26e84399959038f26a221590ebf084a6118bb6a84cde78d6083 kde-gtk-config-5.18.2.tar.xz"
+sha512sums="9a6ba26c4d0b4936fcdc8a32a8d0e48294757a3315de38bba64bbeaed2d23a0ccf117d54208af502f30e5d5878a4a925a84c061adf23741d5f64db539efa2737 kde-gtk-config-5.18.4.1.tar.xz"
diff --git a/user/kdecoration/APKBUILD b/user/kdecoration/APKBUILD
index 58585fbdf..6dc6957d9 100644
--- a/user/kdecoration/APKBUILD
+++ b/user/kdecoration/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kdecoration
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Window decoration plugin library"
url="https://www.kde.org/"
@@ -12,7 +12,7 @@ depends=""
depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev cmake extra-cmake-modules ki18n-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kdecoration-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kdecoration-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b7408a3c57951d6038c1a603bfe34093a95848b7fa341352a19ead272c8e9241876138321b135c1ee6461b4bdfcc10a8606f2650cf2444733ba2038dae105462 kdecoration-5.18.2.tar.xz"
+sha512sums="32ba5c14b8b11a9874131405f0cddcec8eec634afd016cb8454a0247ccef55a8411a718e1d3eccc5f23efedafa0a1d32a62e0dc9b20ce9133a09e23f4c6739e1 kdecoration-5.18.4.1.tar.xz"
diff --git a/user/kdeplasma-addons/APKBUILD b/user/kdeplasma-addons/APKBUILD
index 87073b883..1d40d7213 100644
--- a/user/kdeplasma-addons/APKBUILD
+++ b/user/kdeplasma-addons/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kdeplasma-addons
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Extra applets and toys for KDE Plasma"
url="https://www.kde.org/"
@@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev
kross-dev krunner-dev kservice-dev kunitconversion-dev kholidays-dev
plasma-framework-dev plasma-workspace-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kdeplasma-addons-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kdeplasma-addons-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -41,4 +41,4 @@ package() {
make -C build DESTDIR="$pkgdir" install
}
-sha512sums="ae20b08ac7624dbad78d4bc30086a115bcd8d97c59c67452902afa63d3288f896b760ca7ef54e53f06f4cd14edacf5603f33842ebd25517dad775f24389cd8b2 kdeplasma-addons-5.18.2.tar.xz"
+sha512sums="1ec38e56b132e1d774973d2a8a758bfc88de01c96a11e95507bfebb4c5fcce35c6f9e446fabf5e9754678232d31ee95d8470340f7d5c861960ceca81b20b45ee kdeplasma-addons-5.18.4.1.tar.xz"
diff --git a/user/kdiagram/APKBUILD b/user/kdiagram/APKBUILD
index 5c5b7e882..6fbff8e0a 100644
--- a/user/kdiagram/APKBUILD
+++ b/user/kdiagram/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kdiagram
-pkgver=2.6.1
+pkgver=2.6.2
pkgrel=0
pkgdesc="Charting libraries used by KDE"
url="https://www.kde.org/"
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="caa1f6f8bffb4b311224edfed115f189fa9c88e4b9d8bc9d4b7bc963c6b8c896813b438ad89fa9e91e4cde2f55ae822cfc7ba559bbdad517c60a037591dc5128 kdiagram-2.6.1.tar.xz"
+sha512sums="008688e76e30b933576523e2204b029ce2a5f5d232002d481c7c49f4ad2955b3f46cbe4b51a046a771130f3584225127b21df30efc042cddc9440f81ea8f495a kdiagram-2.6.2.tar.xz"
diff --git a/user/keepassxc/APKBUILD b/user/keepassxc/APKBUILD
index 739ee75db..4aa4ecff3 100644
--- a/user/keepassxc/APKBUILD
+++ b/user/keepassxc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=keepassxc
-pkgver=2.4.3
+pkgver=2.5.3
pkgrel=0
pkgdesc="A community revival of the KeePassX password manager"
url="https://keepassxc.org"
@@ -19,6 +19,9 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DWITH_XC_BROWSER=bool:ON \
+ -DWITH_XC_FDOSECRETS=bool:ON \
+ -DWITH_XC_SSHAGENT=bool:ON \
-Bbuild
make -C build
}
@@ -31,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="893f1d18ab8051143d29c568ba87adcc42a13d28d0c3a7af04396cd91d6724f8a98d76d2e20ca15138c4642ec060d48b9e957857251f3a0df6066af08cd0765d keepassxc-2.4.3-src.tar.xz"
+sha512sums="8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6 keepassxc-2.5.3-src.tar.xz"
diff --git a/user/kgamma5/APKBUILD b/user/kgamma5/APKBUILD
index 33b326b0a..f033c706a 100644
--- a/user/kgamma5/APKBUILD
+++ b/user/kgamma5/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kgamma5
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Control monitor gamma from KDE 5"
url="https://www.KDE.org/"
@@ -11,7 +11,7 @@ depends=""
makedepends="cmake extra-cmake-modules qt5-qtbase-dev kconfig-dev
kconfigwidgets-dev kdoctools-dev ki18n-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kgamma5-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kgamma5-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2a5a470f55a0d68c6083725ce157039c9965c0262ceb0b34a67269eca696110191d4c5dce11be16944e86eb03df7b11d2162953b40b682ea55d5fef29091eab2 kgamma5-5.18.2.tar.xz"
+sha512sums="5ad1154a84568d0cfa7640f028f9059e5b9f09f1104990ef21d06fb7fdc3d74ba7c6fafcaaff7b4f303682bf521f10db76849b131f9a020a2b8d354b5e1160a5 kgamma5-5.18.4.1.tar.xz"
diff --git a/user/khotkeys/APKBUILD b/user/khotkeys/APKBUILD
index 0eacef73e..e9aee7205 100644
--- a/user/khotkeys/APKBUILD
+++ b/user/khotkeys/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=khotkeys
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Hot key mapping for KDE Plasma 5"
url="https://www.KDE.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcmutils-dev libx11-dev
kdbusaddons-dev kdelibs4support-dev kglobalaccel-dev ki18n-dev kio-dev
kxmlgui-dev libice-dev libkworkspace-dev plasma-framework-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/khotkeys-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/khotkeys-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5acf66cf3bc7fb3c9ea5bda5e7af9af04883d7e00b82d66357bbc7651d279e9a7f280d94cce7da8427df9377c8161332676333f3ae8d38ef11f0ccf25b2cbb80 khotkeys-5.18.2.tar.xz"
+sha512sums="9c290c75caf175e66b69f182cb81348d0926b03dd569533dd6da380c299d416fd42f06d6c18fc6791c913e31f955c9adc98c20215442d7d93561b9bdb278e36d khotkeys-5.18.4.1.tar.xz"
diff --git a/user/kinfocenter/APKBUILD b/user/kinfocenter/APKBUILD
index c0d3c7dcd..c015c7713 100644
--- a/user/kinfocenter/APKBUILD
+++ b/user/kinfocenter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kinfocenter
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Information about the running computer"
url="https://userbase.kde.org/KInfoCenter"
@@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcompletion-dev ki18n-dev
kservice-dev solid-dev kwidgetsaddons-dev kxmlgui-dev kdeclarative-dev
kpackage-dev libraw1394-dev pciutils-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kinfocenter-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kinfocenter-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="de8786eba290778af51eed8335a7026f06fac809a913b340321739b0e815e37c19b91b544c86054aedf835d6316d8b897547e9bdd3fa823a5d1e9c5e2439067e kinfocenter-5.18.2.tar.xz"
+sha512sums="6b7c5c4c755afdc3c04ca15f6a958cf541d33b03c731fa77a5cf99fa015d0e35a00016ab7f21b6b1f30afd7c423dc4fdde03557645b040d325509a6ae8c44dcb kinfocenter-5.18.4.1.tar.xz"
diff --git a/user/kmenuedit/APKBUILD b/user/kmenuedit/APKBUILD
index 2e66d85df..0c3734bbb 100644
--- a/user/kmenuedit/APKBUILD
+++ b/user/kmenuedit/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kmenuedit
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Menu editor for Plasma 5"
url="https://www.KDE.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kdbusaddons-dev ki18n-dev
kiconthemes-dev kglobalaccel-dev kinit-dev kio-dev kitemviews-dev kxmlgui-dev
sonnet-dev kdoctools-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kmenuedit-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kmenuedit-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2b38ff3ae5a05125d08e27a6591d424035fede907c2cb21b95b4c9f5aa24174367ff00b123d015448d2871a82c95c8bef5d40cf488b779cfb7b2fb4d03aa03a0 kmenuedit-5.18.2.tar.xz"
+sha512sums="6a4e45a8c97de0badea82d70ec1085b3b34c06fd11723dd024263e966bbbbae5cfc4c42dfe217f79e59d84723c418f7146f0dee55ace0fbb77645714731f4a49 kmenuedit-5.18.4.1.tar.xz"
diff --git a/user/kscreenlocker/APKBUILD b/user/kscreenlocker/APKBUILD
index 0f5d0c768..19f6a0c4d 100644
--- a/user/kscreenlocker/APKBUILD
+++ b/user/kscreenlocker/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kscreenlocker
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Secure X11 screen locker"
url="https://www.kde.org/"
@@ -17,7 +17,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 libx11-dev
ktextwidgets-dev kwayland-dev kwindowsystem-dev kxmlgui-dev solid-dev
consolekit2-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kscreenlocker-$pkgver.tar.xz
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kscreenlocker-$pkgver.tar.xz
kde.pam
kde-np.pam
"
@@ -47,6 +47,6 @@ package() {
install -m644 "$srcdir"/kde-np.pam "$pkgdir"/etc/pam.d/kde-np
}
-sha512sums="904c6438c8afea186896ffd508fc30020f12456eb3631dd97596096b00a51928654382091c7aca5e0db927c18173ea5b6d60877591b1f4e5eb23a5617cb4f9d4 kscreenlocker-5.18.2.tar.xz
+sha512sums="f58e46b6b86ab49f458ca00604655369755d51b54e7f97ad1f640d4fa51bab5d904ee26c0981a2252ee4edff3063a40f5792b860cd39d19f3db8ba93ec9aed5b kscreenlocker-5.18.4.1.tar.xz
56e87d02d75c4a8cc4ed183faed416fb4972e7f223b8759959c0f5da32e11e657907a1df279d62a44a6a174f5aca8b2ac66a5f3325c5deb92011bcf71eed74c3 kde.pam
565265485dd7466b77966d75a56766216b8bcc187c95a997e531e9481cf50ddbe576071eb0e334421202bcab19aa6de6b93e042447ca4797a24bf97e1d053ffd kde-np.pam"
diff --git a/user/ksshaskpass/APKBUILD b/user/ksshaskpass/APKBUILD
index e1e349f2b..f0c780cd9 100644
--- a/user/ksshaskpass/APKBUILD
+++ b/user/ksshaskpass/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=ksshaskpass
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Plasma integration for SSH agents"
url="https://www.KDE.org/"
@@ -11,7 +11,7 @@ depends=""
makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcoreaddons-dev
kdoctools-dev ki18n-dev kwallet-dev kwidgetsaddons-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/ksshaskpass-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/ksshaskpass-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6cf83ddee7273a4dcae9e6a73c204edfe4318c20277c9526af4faf49c28c7dc27d041836e11cd4cf93b5eb15175ad4f88451ff506c209ddd98986e06713975b8 ksshaskpass-5.18.2.tar.xz"
+sha512sums="42d3615b631b225a455c939a72a0a1cd1766c7baa7bf9396b4509c880f37784beddaf2596d124362d9720901bad776aaf6b248ccf8b53e0691d74c948272c952 ksshaskpass-5.18.4.1.tar.xz"
diff --git a/user/ksysguard/APKBUILD b/user/ksysguard/APKBUILD
index 7ae8ab039..11537dc35 100644
--- a/user/ksysguard/APKBUILD
+++ b/user/ksysguard/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=ksysguard
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE system monitor utility"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ makedepends="qt5-qtbase-dev kconfig-dev kcoreaddons-dev kdbusaddons-dev kio-dev
knotifications-dev kwindowsystem-dev libksysguard-dev
cmake extra-cmake-modules kdoctools-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/ksysguard-$pkgver.tar.xz
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/ksysguard-$pkgver.tar.xz
ksysguard-5.6.5-rindex-header.patch
"
@@ -40,5 +40,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2d1f02fa4ca05b130ebf2bf3ec82ab5d8966451ae078f0c5c5d8807f17d8d2067b3dc028da6f92d69aad89a7818849cb9a8d0b3e0cfa519957592b6e63415595 ksysguard-5.18.2.tar.xz
+sha512sums="2c2bb6596987effe558eeafe855a4914186da815a7688b68c75bf44daa29e5153b0cae4b2692f780fe2001042dbb12568e3c708b711c179f93fb7110f50dc696 ksysguard-5.18.4.1.tar.xz
75e07b80c647bc6fdfb092ad3855813ef6bfe91b0ad03562dacfe4e680cfdee201364a2e452db162822045684635c1791ab2392c47d8e5c560c9e617a970cf39 ksysguard-5.6.5-rindex-header.patch"
diff --git a/user/kwin/APKBUILD b/user/kwin/APKBUILD
index 2487fe332..b9573edc3 100644
--- a/user/kwin/APKBUILD
+++ b/user/kwin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=kwin
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Modern, stylish window manager (requires OpenGL)"
url="https://www.kde.org/"
@@ -24,7 +24,7 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qttools-dev python3
kservice-dev ktextwidgets-dev kwayland-dev kwidgetsaddons-dev
kxmlgui-dev plasma-framework-dev qt5-qtvirtualkeyboard-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/kwin-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/kwin-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -50,4 +50,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="dab807fd97d501b6dd90cb881a571a9c60be0fc6a7159460d7b025416d10fbfbe152d3cb13c067cd0ac035590e28ed5e72d971b8fd4e10cf2d3883309230b129 kwin-5.18.2.tar.xz"
+sha512sums="5e2ef7a8bd2969121d560e6558791298d8506d1af4c67aca8e6d2377af76e10b8e6ee32f116911a85352a74195a1cbd6dd4d40054f1796ff4b54b1e5418a5772 kwin-5.18.4.1.tar.xz"
diff --git a/user/lesscpy/APKBUILD b/user/lesscpy/APKBUILD
index 00f5933d5..b85dd07b5 100644
--- a/user/lesscpy/APKBUILD
+++ b/user/lesscpy/APKBUILD
@@ -1,16 +1,18 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=lesscpy
-pkgver=0.13.0
+pkgver=0.14.0
pkgrel=0
pkgdesc="LESS language compiler, written in Python"
url=" "
arch="noarch"
+options="!check" # Unpackaged dependencies
license="MIT"
depends="python3 py3-ply py3-six"
+#checkdepends="coverage py3-flake8 py3-nose"
makedepends="python3-dev"
subpackages=""
-source="lesscpy-$pkgver.tar.gz::https://github.com/lesscpy/lesscpy/archive/$pkgver.tar.gz"
+source="https://pypi.python.org/packages/source/l/$pkgname/$pkgname-$pkgver.tar.gz"
build() {
python3 setup.py build
@@ -24,4 +26,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="fc540e792dd5b094e284d23257ee48aef7c72cd1733a3d5ffa1ab87821db694c6ab3f2afc0d3b39b82bc5b8a8d52b496e5b413186c4190b6fd59eb687cd38014 lesscpy-0.13.0.tar.gz"
+sha512sums="333015e3d4169fafedf0c295d12d5f0eadb8bea2576d147f1461e5854638b0501ea3038a945924efd81629b66dcc7ffcd3fabd12933529cb5fd4b962e87fe2c3 lesscpy-0.14.0.tar.gz"
diff --git a/user/libbytesize/APKBUILD b/user/libbytesize/APKBUILD
index c013f2953..3c91d3cb2 100644
--- a/user/libbytesize/APKBUILD
+++ b/user/libbytesize/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libbytesize
-pkgver=2.1
+pkgver=2.2
pkgrel=0
pkgdesc="Library for working with sizes in bytes"
url="https://github.com/storaged-project/libbytesize/"
@@ -44,5 +44,5 @@ py() {
mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}
-sha512sums="6b93d877e921820c19ed6874a36d9f8b6958112f6230f24980e8e6e30570b39ce74594f0ef126f70dc81b5434899c1f0f3ad0925f3ff7b6a596a9329c8f106c8 libbytesize-2.1.tar.gz
+sha512sums="4538ac3499a24023c21fe07f527e400f99509921e377248970ac2da0eaf1655ddb261f432eed46a59ef69a1275ba7d1e5b0cc488d64eeea936b6cfa54c552ac1 libbytesize-2.2.tar.gz
5f8b46c257553672b7c2501bae99ff44594b91bfcf3f1ee209a390a8cdda693616e8207a99cea2e1263093324807a307dac9e643d1482e14f9ba604f51a05d6d no-msgcat.patch"
diff --git a/user/libdca/APKBUILD b/user/libdca/APKBUILD
index aa4925405..151f517f8 100644
--- a/user/libdca/APKBUILD
+++ b/user/libdca/APKBUILD
@@ -1,18 +1,19 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libdca
-pkgver=0.0.6
+pkgver=0.0.7
pkgrel=0
pkgdesc="Free DTS Coherent Acoustics decoder"
url="https://www.videolan.org/developers/libdca.html"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends=""
+makedepends="autoconf automake libtool"
subpackages="$pkgname-dev $pkgname-doc"
source="https://download.videolan.org/pub/videolan/libdca/$pkgver/libdca-$pkgver.tar.bz2"
build() {
+ ./bootstrap
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d264128019e7fd295a35691636311f81960c17802dbbc67764c4e00b2fdf12ebc69b057a4947b57551a130e5cfd1fef3fe3558c7067216ea04a0b6bbb881b4f1 libdca-0.0.6.tar.bz2"
+sha512sums="dae15d77d066687c882833d5bed8d65a585c1fc0277b7276563c89ddd5a83b35389ec94cca445f38af28a9b01430b72647e9afd1b08f030959e711de1a08924a libdca-0.0.7.tar.bz2"
diff --git a/user/libdrm/APKBUILD b/user/libdrm/APKBUILD
index 59c09b360..99534d596 100644
--- a/user/libdrm/APKBUILD
+++ b/user/libdrm/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libdrm
-pkgver=2.4.100
+pkgver=2.4.101
pkgrel=0
pkgdesc="Userspace interface to kernel DRM services"
url="https://dri.freedesktop.org/"
@@ -12,39 +12,34 @@ depends=""
depends_dev="linux-headers"
checkdepends="bash cunit-dev"
makedepends="$depends_dev bash eudev-dev libpciaccess-dev libpthread-stubs
- xmlto"
+ meson ninja xmlto"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2
- ioctl.patch
- "
+source="https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.xz"
build() {
case $CARCH in
- arm*|aarch64*) _arch_conf="--enable-omap-experimental-api
- --enable-exynos-experimental-api
- --enable-tegra-experimental-api" ;;
+ arm*|aarch64*) _arch_conf="-Domap=true
+ -Dexynos=true
+ -Detnaviv=true
+ -Dtegra=true" ;;
esac
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-udev \
- --disable-valgrind \
- $_arch_conf
- make
+ meson \
+ -Dprefix=/usr \
+ -Dman-pages=true \
+ -Dudev=true \
+ -Dvalgrind=false \
+ $_arch_conf \
+ build
+ ninja -C build
}
check() {
- make check
+ ninja -C build test
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="4d3a5556e650872944af52f49de395e0ce8ac9ac58530e39a34413e94dc56c231ee71b8b8de9fb944263515a922b3ebbf7ddfebeaaa91543c2604f9bcf561247 libdrm-2.4.100.tar.bz2
-af52fef51aaa05a4dd17919371cb9d92a77480402730bf53ba223e54df52f3825be05a7f28e6aef8c904db5ee59fe38a6c15bc6aafa7f8d31a719e80399dd51f ioctl.patch"
+sha512sums="658cfc6f478b674b77b4613e1af9ce8f4fd2ace8a18e75729de254d14b7c1f5d67d4bfdb58744aea74abca0f6521326225f4156bd5cbeeed79ca3e025f657e8c libdrm-2.4.101.tar.xz"
diff --git a/user/libdrm/ioctl.patch b/user/libdrm/ioctl.patch
deleted file mode 100644
index 9ffe5f933..000000000
--- a/user/libdrm/ioctl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libdrm-2.4.83/tests/nouveau/threaded.c
-+++ libdrm-2.4.83/tests/nouveau/threaded.c
-@@ -40,7 +40,7 @@
-
- static int import_fd;
-
--int ioctl(int fd, unsigned long request, ...)
-+int ioctl(int fd, int request, ...)
- {
- va_list va;
- int ret;
diff --git a/user/libffcall/APKBUILD b/user/libffcall/APKBUILD
new file mode 100644
index 000000000..48b16a78f
--- /dev/null
+++ b/user/libffcall/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Contributor: Will Sinatra <wpsinatra@gmail.com>
+# Contributor: Lee Starnes <lee@canned-death.us>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=libffcall
+pkgver=2.2
+pkgrel=0
+pkgdesc="C library for implementing foreign function calls in embedded interpreters"
+url="https://www.gnu.org/software/libffcall"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://ftp.gnu.org/gnu/libffcall/libffcall-$pkgver.tar.gz
+ ppc64.patch
+ "
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ # Fails to build if building in parallel
+ make -j1
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" htmldir=/usr/share/doc/ffcall install
+
+}
+
+sha512sums="b9d3ca4c67ab92915a8183d850153e585dcb58ceb2199a104426a7aae363d37017b1226440acd18a2db0cc207e044f71e932857189964261e8eaa6de5cef1731 libffcall-2.2.tar.gz
+db7fae1d2f0d95003186671fd89b097b4abf6184d3001e34dd93419640502b9cd5cf32aef4839d6a4208f4aed793c70f9a4367f12adde21372dc131b111238fe ppc64.patch"
diff --git a/user/libffcall/ppc64.patch b/user/libffcall/ppc64.patch
new file mode 100644
index 000000000..74525987b
--- /dev/null
+++ b/user/libffcall/ppc64.patch
@@ -0,0 +1,1685 @@
+--- libffcall-2.2/avcall/avcall-powerpc64.c.old 2018-09-17 16:47:43.000000000 +0000
++++ libffcall-2.2/avcall/avcall-powerpc64.c 2020-05-11 23:06:57.534813743 +0000
+@@ -181,111 +181,111 @@
+ /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */
+ if (l->rsize > 0 && l->rsize <= 16) {
+ void* raddr = l->raddr;
+- #if 0 /* Unoptimized */
++ #if 1 /* Unoptimized */
+ if (l->rsize == 1) {
+ ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+ } else
+ if (l->rsize == 2) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>8);
+ } else
+ if (l->rsize == 3) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[2] = (unsigned char)(iret);
+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
+- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>16);
+ } else
+ if (l->rsize == 4) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
+- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
+- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24);
++ ((unsigned char *)raddr)[3] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>16);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>24);
+ } else
+ if (l->rsize == 5) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[4] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>8);
+ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
+- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24);
+- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>24);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>32);
+ } else
+ if (l->rsize == 6) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
+- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
+- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24);
+- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32);
+- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40);
++ ((unsigned char *)raddr)[5] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>16);
++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>24);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>32);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>40);
+ } else
+ if (l->rsize == 7) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
+- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
++ ((unsigned char *)raddr)[6] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>16);
+ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24);
+- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32);
+- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40);
+- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48);
++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>32);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>40);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>48);
+ } else
+ if (l->rsize >= 8 && l->rsize <= 16) {
+- ((unsigned char *)raddr)[0] = (unsigned char)(iret);
+- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8);
+- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16);
+- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24);
+- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32);
+- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40);
+- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48);
+- ((unsigned char *)raddr)[7] = (unsigned char)(iret>>56);
++ ((unsigned char *)raddr)[7] = (unsigned char)(iret);
++ ((unsigned char *)raddr)[6] = (unsigned char)(iret>>8);
++ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>16);
++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>24);
++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>32);
++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>40);
++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>48);
++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>56);
+ if (l->rsize == 8) {
+ } else
+ if (l->rsize == 9) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
+ } else
+ if (l->rsize == 10) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
+ } else
+ if (l->rsize == 11) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
+ } else
+ if (l->rsize == 12) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
+- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32);
+ } else
+ if (l->rsize == 13) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
+- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24);
+- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32);
++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24);
+ } else
+ if (l->rsize == 14) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
+- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24);
+- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32);
+- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32);
++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24);
++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16);
+ } else
+ if (l->rsize == 15) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
+- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24);
+- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32);
+- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40);
+- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32);
++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24);
++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16);
++ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8);
+ } else
+ if (l->rsize == 16) {
+- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2);
+- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8);
+- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16);
+- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24);
+- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32);
+- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40);
+- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48);
+- ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56);
++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48);
++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40);
++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32);
++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24);
++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16);
++ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8);
++ ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2);
+ }
+ }
+ #else /* Optimized: fewer conditional jumps, fewer memory accesses */
+--- libffcall-2.2/avcall/avcall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:04.000000000 +0000
++++ libffcall-2.2/avcall/avcall-powerpc64-elfv2-linux.S 2020-05-11 23:07:17.992574561 +0000
+@@ -1,44 +1,52 @@
+ .file "avcall-powerpc64.c"
+- .machine power4
+ .abiversion 2
+- .section ".toc","aw"
+ .section ".text"
+ .align 2
+ .p2align 4,,15
+ .globl avcall_call
+ .type avcall_call, @function
+ avcall_call:
+-0: addis 2,12,.TOC.-0b@ha
+- addi 2,2,.TOC.-0b@l
++.LFB0:
++ .cfi_startproc
++.LCF0:
++0: addis 2,12,.TOC.-.LCF0@ha
++ addi 2,2,.TOC.-.LCF0@l
+ .localentry avcall_call,.-avcall_call
+ mflr 0
+ std 30,-16(1)
+ std 31,-8(1)
++ .cfi_register 65, 0
++ .cfi_offset 30, -16
++ .cfi_offset 31, -8
+ mr 30,3
+ std 0,16(1)
+- stdu 1,-112(1)
+- ld 3,48(3)
+- ld 9,40(30)
++ stdu 1,-128(1)
++ .cfi_def_cfa_offset 128
++ .cfi_offset 65, 16
+ mr 31,1
++ .cfi_def_cfa_register 31
++ ld 3,48(3)
+ ld 10,0(1)
++ ld 9,-28688(13)
++ std 9,104(31)
++ li 9,0
++ ld 9,40(30)
++ stdu 10,-2048(1)
+ subf 9,3,9
+- stdu 10,-2064(1)
+ sradi 9,9,3
+ cmpwi 7,9,8
+ ble 7,.L6
+- addi 10,9,-9
+- addi 8,1,96
+- addi 9,3,56
+- rldicl 10,10,0,32
+- addi 8,8,-8
+- addi 10,10,8
+- sldi 10,10,3
+- add 10,3,10
++ addi 8,9,-9
++ addi 7,1,96
++ addi 10,3,56
++ rldic 8,8,3,29
++ addi 9,7,-8
++ add 7,7,8
+ .p2align 4,,15
+ .L5:
+- ldu 7,8(9)
+- cmpld 7,10,9
+- stdu 7,8(8)
++ ldu 8,8(10)
++ stdu 8,8(9)
++ cmpld 7,7,9
+ bne 7,.L5
+ .L6:
+ ld 10,64(30)
+@@ -114,191 +122,210 @@
+ ld 2,24(1)
+ lwz 9,24(30)
+ cmplwi 7,9,1
+- beq 7,.L19
++ beq 7,.L20
+ cmpdi 7,9,0
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,2
+- beq 7,.L45
++ beq 7,.L62
+ cmplwi 7,9,3
+- beq 7,.L45
++ beq 7,.L62
+ cmplwi 7,9,4
+- beq 7,.L45
++ beq 7,.L62
+ cmplwi 7,9,5
+- beq 7,.L46
++ beq 7,.L63
+ cmplwi 7,9,6
+- beq 7,.L46
++ beq 7,.L63
+ cmplwi 7,9,7
+- beq 7,.L47
++ beq 7,.L64
+ cmplwi 7,9,8
+- beq 7,.L47
++ beq 7,.L64
+ cmplwi 7,9,9
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,10
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,11
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,12
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,13
+- beq 7,.L52
++ beq 7,.L71
+ cmplwi 7,9,14
+- beq 7,.L53
++ beq 7,.L72
+ cmplwi 7,9,15
+- beq 7,.L50
++ beq 7,.L68
+ cmplwi 7,9,16
+- bne 7,.L19
++ bne 7,.L20
+ lwz 9,0(30)
+- rldicl. 10,9,55,63
+- beq 0,.L19
++ andi. 9,9,0x200
++ beq 0,.L20
+ ld 10,32(30)
+ addi 9,10,-1
+ cmpldi 7,9,15
+- bgt 7,.L19
+- ld 8,16(30)
+- cmpldi 7,10,8
+- rldicl 9,8,0,61
+- rldicr 8,8,0,60
+- add 10,10,9
+- bgt 7,.L35
++ bgt 7,.L20
++ cmpldi 7,10,1
++ ld 9,16(30)
++ rlwinm 8,3,0,0xff
++ beq 7,.L69
++ cmpldi 7,10,2
++ beq 7,.L73
++ cmpldi 7,10,3
++ rldicl 8,3,48,56
++ beq 7,.L74
++ cmpldi 7,10,4
++ beq 7,.L75
++ cmpldi 7,10,5
++ rldicl 8,3,32,56
++ beq 7,.L76
++ cmpldi 7,10,6
++ rldicl 7,3,24,56
++ beq 7,.L77
++ cmpldi 7,10,7
++ rldicl 6,3,16,56
++ beq 7,.L78
++ std 3,0(9)
++ ld 10,32(30)
+ cmpldi 7,10,8
+- bgt 7,.L36
+- slwi 10,10,3
+- li 7,2
+- ld 6,0(8)
+- slwi 9,9,3
+- addi 10,10,-1
+- sld 10,7,10
+- li 7,1
+- sld 7,7,9
+- sld 9,3,9
+- subf 10,7,10
+- xor 9,9,6
+- and 9,10,9
+- xor 9,9,6
+- std 9,0(8)
+-.L19:
+- addi 1,31,112
++ beq 7,.L20
++ cmpldi 7,10,9
++ beq 7,.L79
++ cmpldi 7,10,10
++ beq 7,.L80
++ cmpldi 7,10,11
++ beq 7,.L81
++ cmpldi 7,10,12
++ beq 7,.L82
++ cmpldi 7,10,13
++ beq 7,.L83
++ cmpldi 7,10,14
++ beq 7,.L84
++ cmpldi 7,10,15
++ beq 7,.L85
++ cmpldi 7,10,16
++ bne 7,.L20
++ std 4,8(9)
++ .p2align 4,,15
++.L20:
++ ld 9,104(31)
++ ld 10,-28688(13)
++ xor. 9,9,10
++ li 10,0
+ li 3,0
++ bne 0,.L86
++ addi 1,31,128
++ .cfi_remember_state
++ .cfi_def_cfa 1, 0
+ ld 0,16(1)
+ ld 30,-16(1)
+ ld 31,-8(1)
+ mtlr 0
++ .cfi_restore 65
++ .cfi_restore 31
++ .cfi_restore 30
+ blr
+ .p2align 4,,15
+-.L50:
++.L68:
++ .cfi_restore_state
+ ld 9,16(30)
+ std 3,0(9)
+- addi 1,31,112
+- li 3,0
+- ld 0,16(1)
+- ld 30,-16(1)
+- ld 31,-8(1)
+- mtlr 0
+- blr
++ b .L20
+ .p2align 4,,15
+-.L45:
++.L62:
+ ld 9,16(30)
+ stb 3,0(9)
+- addi 1,31,112
+- li 3,0
+- ld 0,16(1)
+- ld 30,-16(1)
+- ld 31,-8(1)
+- mtlr 0
+- blr
+-.L46:
++ b .L20
++.L63:
+ ld 9,16(30)
+ sth 3,0(9)
+- b .L19
+-.L47:
++ b .L20
++.L64:
+ ld 9,16(30)
+ stw 3,0(9)
+- b .L19
+-.L52:
++ b .L20
++.L71:
+ ld 9,16(30)
+ stfs 1,0(9)
+- b .L19
+-.L53:
++ b .L20
++.L72:
+ ld 9,16(30)
+ stfd 1,0(9)
+- b .L19
+-.L36:
+- rldicl 9,9,0,32
+- slwi 10,10,3
+- ld 11,0(8)
+- ld 4,8(8)
+- li 7,2
+- mulli 6,9,-8
+- addi 10,10,-65
+- slwi 9,9,3
+- sld 10,7,10
+- sld 5,3,9
+- li 7,-1
+- addi 6,6,64
+- addi 10,10,-1
+- sld 7,7,9
+- srad 3,3,6
+- xor 6,5,11
+- xor 9,3,4
+- and 7,7,6
+- and 9,10,9
+- xor 10,7,11
+- xor 9,9,4
+- std 10,0(8)
+- std 9,8(8)
+- b .L19
+-.L35:
+- rldicl 9,9,0,32
+- ld 11,0(8)
+- li 6,-1
+- cmpldi 7,10,16
+- slwi 5,9,3
+- sld 7,3,5
+- sld 6,6,5
+- xor 7,7,11
+- and 7,6,7
+- xor 7,7,11
+- std 7,0(8)
+- ble 7,.L54
+- mulli 9,9,-8
+- ld 11,16(8)
+- slwi 10,10,3
+- li 7,2
+- addi 10,10,-129
+- addi 9,9,64
+- sld 7,7,10
+- srad 6,4,9
+- srad 3,3,9
+- addi 7,7,-1
+- sld 9,4,5
+- xor 10,6,11
+- or 9,3,9
+- and 10,7,10
+- std 9,8(8)
+- xor 10,10,11
+- std 10,16(8)
+- b .L19
+-.L54:
+- mulli 9,9,-4
+- slwi 10,10,3
+- ld 11,8(8)
+- sld 4,4,5
+- addi 10,10,-65
+- li 6,2
+- addi 9,9,32
+- sld 10,6,10
+- srad 3,3,9
+- srad 9,3,9
+- or 7,9,4
+- addi 9,10,-1
+- xor 10,7,11
+- and 9,10,9
+- xor 9,9,11
+- std 9,8(8)
+- b .L19
++ b .L20
++.L86:
++ bl __stack_chk_fail
++ nop
++.L74:
++ sth 3,1(9)
++.L69:
++ stb 8,0(9)
++ b .L20
++.L85:
++ srdi 7,4,32
++ sradi 8,4,24
++ sradi 10,4,16
++ sradi 4,4,8
++ stw 7,8(9)
++ stb 8,12(9)
++ stb 10,13(9)
++ stb 4,14(9)
++ b .L20
++.L76:
++ stw 3,1(9)
++ stb 8,0(9)
++ b .L20
++.L75:
++ stw 3,0(9)
++ b .L20
++.L73:
++ sth 3,0(9)
++ b .L20
++.L84:
++ srdi 8,4,32
++ sradi 10,4,24
++ sradi 4,4,16
++ stw 8,8(9)
++ stb 10,12(9)
++ stb 4,13(9)
++ b .L20
++.L83:
++ srdi 10,4,32
++ sradi 4,4,24
++ stw 10,8(9)
++ stb 4,12(9)
++ b .L20
++.L82:
++ srdi 4,4,32
++ stw 4,8(9)
++ b .L20
++.L81:
++ srdi 10,4,48
++ sradi 4,4,40
++ sth 10,8(9)
++ stb 4,10(9)
++ b .L20
++.L80:
++ srdi 4,4,48
++ sth 4,8(9)
++ b .L20
++.L79:
++ sradi 4,4,56
++ stb 4,8(9)
++ b .L20
++.L78:
++ stw 3,3(9)
++ stb 8,2(9)
++ stb 7,1(9)
++ stb 6,0(9)
++ b .L20
++.L77:
++ stw 3,2(9)
++ stb 8,1(9)
++ stb 7,0(9)
++ b .L20
+ .long 0
+ .byte 0,0,0,1,128,2,0,0
++ .cfi_endproc
++.LFE0:
+ .size avcall_call,.-avcall_call
++ .gnu_attribute 4, 9
+ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+ .section .note.GNU-stack,"",@progbits
+ #endif
+--- libffcall-2.2/vacall/vacall-powerpc64.c.old 2020-05-11 23:11:15.566571148 +0000
++++ libffcall-2.2/vacall/vacall-powerpc64.c 2020-05-11 23:16:52.489693582 +0000
+@@ -140,111 +140,111 @@
+ if (list.flags & __VA_REGISTER_STRUCT_RETURN) {
+ /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */
+ if (list.rsize > 0 && list.rsize <= 16) {
+- #if 0 /* Unoptimized */
++ #if 1 /* Unoptimized */
+ if (list.rsize == 1) {
+ iret = (__vaword)((unsigned char *) list.raddr)[0];
+ } else
+ if (list.rsize == 2) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8);
++ iret = ((__vaword)((unsigned char *) list.raddr)[1])
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 8);
+ } else
+ if (list.rsize == 3) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
++ iret = ((__vaword)((unsigned char *) list.raddr)[2])
+ | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[2] << 16);
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 16);
+ } else
+ if (list.rsize == 4) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[2] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[3] << 24);
++ iret = ((__vaword)((unsigned char *) list.raddr)[3])
++ | ((__vaword)((unsigned char *) list.raddr)[2] << 8)
++ | ((__vaword)((unsigned char *) list.raddr)[1] << 16)
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 24);
+ } else
+ if (list.rsize == 5) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
++ iret = ((__vaword)((unsigned char *) list.raddr)[4])
++ | ((__vaword)((unsigned char *) list.raddr)[3] << 8)
+ | ((__vaword)((unsigned char *) list.raddr)[2] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[3] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[4] << 32);
++ | ((__vaword)((unsigned char *) list.raddr)[1] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 32);
+ } else
+ if (list.rsize == 6) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[2] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[3] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[4] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[5] << 40);
++ iret = ((__vaword)((unsigned char *) list.raddr)[5])
++ | ((__vaword)((unsigned char *) list.raddr)[4] << 8)
++ | ((__vaword)((unsigned char *) list.raddr)[3] << 16)
++ | ((__vaword)((unsigned char *) list.raddr)[2] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[1] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 40);
+ } else
+ if (list.rsize == 7) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[2] << 16)
++ iret = ((__vaword)((unsigned char *) list.raddr)[6])
++ | ((__vaword)((unsigned char *) list.raddr)[5] << 8)
++ | ((__vaword)((unsigned char *) list.raddr)[4] << 16)
+ | ((__vaword)((unsigned char *) list.raddr)[3] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[4] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[5] << 40)
+- | ((__vaword)((unsigned char *) list.raddr)[6] << 48);
++ | ((__vaword)((unsigned char *) list.raddr)[2] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[1] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 48);
+ } else
+ if (list.rsize >= 8 && list.rsize <= 16) {
+- iret = ((__vaword)((unsigned char *) list.raddr)[0])
+- | ((__vaword)((unsigned char *) list.raddr)[1] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[2] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[3] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[4] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[5] << 40)
+- | ((__vaword)((unsigned char *) list.raddr)[6] << 48)
+- | ((__vaword)((unsigned char *) list.raddr)[7] << 56);
++ iret = ((__vaword)((unsigned char *) list.raddr)[7])
++ | ((__vaword)((unsigned char *) list.raddr)[6] << 8)
++ | ((__vaword)((unsigned char *) list.raddr)[5] << 16)
++ | ((__vaword)((unsigned char *) list.raddr)[4] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[3] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[2] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[1] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[0] << 56);
+ if (list.rsize == 8) {
+ } else
+ if (list.rsize == 9) {
+- iret2 = (__vaword)((unsigned char *) list.raddr)[8];
++ iret2 = (__vaword)((unsigned char *) list.raddr)[8] << 56;
+ } else
+ if (list.rsize == 10) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48);
+ } else
+ if (list.rsize == 11) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40);
+ } else
+ if (list.rsize == 12) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[11] << 24);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32);
+ } else
+ if (list.rsize == 13) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[11] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[12] << 32);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24);
+ } else
+ if (list.rsize == 14) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[11] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[12] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[13] << 40);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16);
+ } else
+ if (list.rsize == 15) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[11] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[12] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[13] << 40)
+- | ((__vaword)((unsigned char *) list.raddr)[14] << 48);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16)
++ | ((__vaword)((unsigned char *) list.raddr)[14] << 8);
+ } else
+ if (list.rsize == 16) {
+- iret2 = ((__vaword)((unsigned char *) list.raddr)[8])
+- | ((__vaword)((unsigned char *) list.raddr)[9] << 8)
+- | ((__vaword)((unsigned char *) list.raddr)[10] << 16)
+- | ((__vaword)((unsigned char *) list.raddr)[11] << 24)
+- | ((__vaword)((unsigned char *) list.raddr)[12] << 32)
+- | ((__vaword)((unsigned char *) list.raddr)[13] << 40)
+- | ((__vaword)((unsigned char *) list.raddr)[14] << 48)
+- | ((__vaword)((unsigned char *) list.raddr)[15] << 56);
++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56)
++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48)
++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40)
++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32)
++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24)
++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16)
++ | ((__vaword)((unsigned char *) list.raddr)[14] << 8)
++ | ((__vaword)((unsigned char *) list.raddr)[15]);
+ }
+ }
+ #else /* Optimized: fewer conditional jumps, fewer memory accesses */
+--- libffcall-2.2/vacall/vacall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:06.000000000 +0000
++++ libffcall-2.2/vacall/vacall-powerpc64-elfv2-linux.S 2020-05-11 23:18:00.842212129 +0000
+@@ -1,9 +1,8 @@
+ .file "vacall-powerpc64.c"
+- .machine power4
+ .abiversion 2
+- .section ".toc","aw"
+ .section ".text"
+ .section ".toc","aw"
++ .align 3
+ .LC0:
+ .quad vacall_function
+ .section ".text"
+@@ -12,40 +11,50 @@
+ .globl vacall_receiver
+ .type vacall_receiver, @function
+ vacall_receiver:
+-0: addis 2,12,.TOC.-0b@ha
+- addi 2,2,.TOC.-0b@l
++.LFB0:
++ .cfi_startproc
++.LCF0:
++0: addis 2,12,.TOC.-.LCF0@ha
++ addi 2,2,.TOC.-.LCF0@l
+ .localentry vacall_receiver,.-vacall_receiver
+ mflr 0
+ std 31,-8(1)
++ std 30,-16(1)
+ addis 11,2,.LC0@toc@ha
+- ld 12,.LC0@toc@l(11)
+- li 11,0
+ std 0,16(1)
+ stdu 1,-224(1)
+- mr 31,1
+- ld 0,0(12)
++ .cfi_def_cfa_offset 224
++ .cfi_offset 65, 16
++ .cfi_offset 31, -8
++ .cfi_offset 30, -16
++ li 0,0
++ ld 12,.LC0@toc@l(11)
+ std 2,24(1)
++ mr 31,1
++ .cfi_def_cfa_register 31
++ addi 11,31,256
++ ld 30,-28688(13)
++ std 30,200(31)
++ li 30,0
++ std 6,280(31)
++ ld 6,0(12)
+ std 9,304(31)
+ li 9,0
+ std 3,256(31)
+- addi 3,31,32
+ std 4,264(31)
++ stfd 1,96(31)
+ std 5,272(31)
+- mtctr 0
+- stw 9,32(31)
+- std 6,280(31)
+ std 7,288(31)
+ std 8,296(31)
++ mtctr 6
+ std 10,312(31)
+- stfd 1,96(31)
+- addi 9,31,256
+ stfd 2,104(31)
+ stfd 3,112(31)
+ stfd 4,120(31)
++ mr 12,6
+ stfd 5,128(31)
+- mr 12,0
+- std 9,56(31)
+ stfd 6,136(31)
++ addi 3,31,32
+ stfd 7,144(31)
+ stfd 8,152(31)
+ stfd 9,160(31)
+@@ -53,173 +62,232 @@
+ stfd 11,176(31)
+ stfd 12,184(31)
+ stfd 13,192(31)
+- std 11,64(31)
+- stw 11,72(31)
+- stw 11,88(31)
++ stw 0,32(31)
++ std 11,56(31)
++ std 9,64(31)
++ stw 9,72(31)
++ stw 9,88(31)
+ bctrl
+ ld 2,24(1)
+ lwz 9,72(31)
+ cmpdi 7,9,0
+ beq 7,.L1
+ cmplwi 7,9,1
+- beq 7,.L27
++ beq 7,.L41
+ cmplwi 7,9,2
+- beq 7,.L30
++ beq 7,.L45
+ cmplwi 7,9,3
+- beq 7,.L27
++ beq 7,.L41
+ cmplwi 7,9,4
+- beq 7,.L31
++ beq 7,.L46
+ cmplwi 7,9,5
+- beq 7,.L32
++ beq 7,.L47
+ cmplwi 7,9,6
+- beq 7,.L33
++ beq 7,.L48
+ cmplwi 7,9,7
+- beq 7,.L34
++ beq 7,.L49
+ cmplwi 7,9,8
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,9
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,10
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,11
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,12
+- beq 7,.L35
++ beq 7,.L50
+ cmplwi 7,9,13
+- beq 7,.L36
++ beq 7,.L51
+ cmplwi 7,9,14
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,15
+ bne 7,.L1
+ lwz 9,32(31)
+- rldicl. 10,9,54,63
++ andi. 9,9,0x400
+ beq 0,.L1
+- ld 9,80(31)
+- addi 10,9,-1
+- cmpldi 7,10,15
++ ld 10,80(31)
++ addi 9,10,-1
++ cmpldi 7,9,15
+ bgt 7,.L1
++ cmpldi 7,10,1
+ ld 8,64(31)
+- cmpldi 7,9,8
+- rldicl 10,8,0,61
+- rldicr 8,8,0,60
+- add 9,9,10
+- bgt 7,.L17
+- cmpldi 7,9,8
+- slwi 9,9,3
+- bgt 7,.L18
+- ld 7,0(8)
+- addi 9,9,-1
+- li 8,2
+- slwi 10,10,3
+- sld 9,8,9
+- addi 9,9,-1
+- and 9,9,7
+- srad 3,9,10
++ lbz 9,0(8)
++ beq 7,.L52
++ cmpldi 7,10,2
++ beq 7,.L53
++ cmpldi 7,10,3
++ lbz 7,1(8)
++ lbz 6,2(8)
++ beq 7,.L54
++ cmpldi 7,10,4
++ beq 7,.L55
++ cmpldi 7,10,5
++ beq 7,.L56
++ cmpldi 7,10,6
++ beq 7,.L57
++ cmpldi 7,10,7
++ beq 7,.L58
++ cmpldi 7,10,8
++ ld 3,0(8)
++ beq 7,.L1
++ cmpldi 7,10,9
++ lbz 9,8(8)
++ sldi 9,9,56
++ beq 7,.L59
++ lbz 7,9(8)
++ cmpldi 7,10,10
++ sldi 7,7,48
++ or 7,7,9
++ beq 7,.L60
++ cmpldi 7,10,11
++ lbz 9,10(8)
++ sldi 9,9,40
++ beq 7,.L43
++ cmpldi 7,10,12
++ lbz 6,11(8)
++ sldi 6,6,32
++ beq 7,.L61
++ cmpldi 7,10,13
++ lbz 5,12(8)
++ sldi 5,5,24
++ beq 7,.L62
++ cmpldi 7,10,14
++ lbz 11,13(8)
++ sldi 11,11,16
++ beq 7,.L63
++ cmpldi 7,10,15
++ beq 7,.L64
++ ld 4,8(8)
++ .p2align 4,,15
+ .L1:
++ ld 9,200(31)
++ ld 10,-28688(13)
++ xor. 9,9,10
++ li 10,0
++ bne 0,.L65
+ addi 1,31,224
++ .cfi_remember_state
++ .cfi_def_cfa 1, 0
+ ld 0,16(1)
++ ld 30,-16(1)
+ ld 31,-8(1)
+ mtlr 0
++ .cfi_restore 65
++ .cfi_restore 31
++ .cfi_restore 30
+ blr
+ .p2align 4,,15
+-.L27:
+- addi 1,31,224
++.L41:
++ .cfi_restore_state
+ lbz 3,40(31)
+- ld 0,16(1)
+- ld 31,-8(1)
+- mtlr 0
+- blr
++ b .L1
+ .p2align 4,,15
+-.L30:
+- lbz 9,40(31)
+- extsb 3,9
++.L45:
++ lbz 3,40(31)
++ extsb 3,3
+ b .L1
+ .p2align 4,,15
+-.L28:
+- ld 3,40(31)
++.L48:
++ lwa 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L31:
++.L46:
+ lha 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L32:
++.L47:
+ lhz 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L33:
+- lwa 3,40(31)
+- b .L1
+- .p2align 4,,15
+-.L35:
+- lfs 1,40(31)
++.L42:
++ ld 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L34:
++.L49:
+ lwz 3,40(31)
+ b .L1
+-.L36:
++.L50:
++ lfs 1,40(31)
++ b .L1
++.L51:
+ lfd 1,40(31)
+ b .L1
+-.L17:
+- cmpldi 7,9,16
+- rldicl 10,10,0,32
+- slwi 9,9,3
+- ble 7,.L37
+- li 7,2
+- addi 9,9,-129
+- ld 11,16(8)
+- ld 5,0(8)
+- mulli 6,10,-8
+- sld 9,7,9
+- ld 7,8(8)
+- addi 8,9,-1
+- slwi 9,10,3
+- addi 6,6,64
+- and 10,8,11
+- srad 8,5,9
+- sld 5,7,6
+- srad 9,7,9
+- sld 10,10,6
+- or 3,8,5
+- or 4,10,9
+- b .L1
+-.L18:
+- rldicl 10,10,0,32
+- li 7,2
+- ld 6,8(8)
+- ld 8,0(8)
+- addi 9,9,-65
+- sld 9,7,9
+- mulli 7,10,-8
+- slwi 10,10,3
+- addi 9,9,-1
+- srad 10,8,10
+- and 9,9,6
+- addi 7,7,64
+- sld 9,9,7
+- or 3,9,10
+- b .L1
+-.L37:
+- li 7,2
+- addi 9,9,-65
+- ld 5,8(8)
+- ld 6,0(8)
+- sld 9,7,9
+- mulli 7,10,-4
+- addi 9,9,-1
+- addi 7,7,32
+- and 8,9,5
+- slwi 9,10,3
+- sld 10,8,7
+- srad 6,6,9
+- srad 4,8,9
+- sld 7,10,7
+- or 3,6,7
++.L65:
++ bl __stack_chk_fail
++ nop
++.L64:
++ or 4,9,6
++ lbz 9,14(8)
++ or 4,4,5
++ sldi 9,9,8
++ or 4,4,11
++ or 4,4,9
++ or 4,4,7
++ b .L1
++.L63:
++ or 4,9,6
++ or 4,4,5
++ or 4,4,11
++ or 4,4,7
++ b .L1
++.L55:
++ lwz 3,0(8)
++ b .L1
++.L54:
++ sldi 7,7,8
++ sldi 9,9,16
++ or 9,7,9
++ or 3,9,6
++ b .L1
++.L53:
++ lhz 3,0(8)
++ b .L1
++.L52:
++ mr 3,9
++ b .L1
++.L62:
++ or 9,9,6
++ or 4,9,5
++ or 4,4,7
++ b .L1
++.L61:
++ or 9,9,6
++.L43:
++ or 4,9,7
++ b .L1
++.L60:
++ mr 4,7
++ b .L1
++.L59:
++ mr 4,9
++ b .L1
++.L58:
++ sldi 6,6,32
++ sldi 7,7,40
++ lwz 3,3(8)
++ sldi 9,9,48
++ or 7,6,7
++ or 3,7,3
++ or 3,3,9
++ b .L1
++.L57:
++ sldi 7,7,32
++ sldi 9,9,40
++ lwz 3,2(8)
++ or 9,7,9
++ or 3,9,3
++ b .L1
++.L56:
++ lwz 3,1(8)
++ sldi 9,9,32
++ or 3,3,9
+ b .L1
+ .long 0
+- .byte 0,0,0,1,128,1,0,0
++ .byte 0,0,0,1,128,2,0,0
++ .cfi_endproc
++.LFE0:
+ .size vacall_receiver,.-vacall_receiver
++ .gnu_attribute 4, 9
+ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+ .section .note.GNU-stack,"",@progbits
+ #endif
+--- libffcall-2.2/callback/vacall_r/vacall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:08.000000000 +0000
++++ libffcall-2.2/callback/vacall_r/vacall-powerpc64-elfv2-linux.S 2020-05-11 23:26:54.443785997 +0000
+@@ -1,45 +1,56 @@
+ .file "vacall-powerpc64.c"
+- .machine power4
+ .abiversion 2
+- .section ".toc","aw"
+ .section ".text"
+ .align 2
+ .p2align 4,,15
+ .type callback_receiver, @function
+ callback_receiver:
+-0: addis 2,12,.TOC.-0b@ha
+- addi 2,2,.TOC.-0b@l
++.LFB0:
++ .cfi_startproc
++.LCF0:
++0: addis 2,12,.TOC.-.LCF0@ha
++ addi 2,2,.TOC.-.LCF0@l
+ .localentry callback_receiver,.-callback_receiver
+ mflr 0
+- std 30,-16(1)
++ std 28,-32(1)
++ std 29,-24(1)
+ std 31,-8(1)
++ std 30,-16(1)
+ std 0,16(1)
+- stdu 1,-224(1)
+- li 0,0
+- ld 30,0(11)
++ stdu 1,-240(1)
++ .cfi_def_cfa_offset 240
++ .cfi_offset 65, 16
++ .cfi_offset 28, -32
++ .cfi_offset 29, -24
++ .cfi_offset 31, -8
++ .cfi_offset 30, -16
++ li 28,0
++ std 2,24(1)
+ mr 31,1
+- std 3,256(31)
+- std 4,264(31)
+- addi 4,31,32
+- ld 3,8(11)
+- std 9,304(31)
+- mtctr 30
++ .cfi_def_cfa_register 31
++ addi 29,31,272
++ ld 0,-28688(13)
++ std 0,200(31)
++ li 0,0
++ ld 0,0(11)
++ std 9,320(31)
+ li 9,0
+- std 5,272(31)
+- std 6,280(31)
+- std 7,288(31)
+- std 8,296(31)
+- stw 9,32(31)
+- std 10,312(31)
+ stfd 1,96(31)
++ std 3,272(31)
++ std 4,280(31)
++ std 5,288(31)
+ stfd 2,104(31)
+- mr 12,30
+- addi 9,31,256
++ mtctr 0
++ std 6,296(31)
++ std 7,304(31)
++ std 8,312(31)
++ std 10,328(31)
+ stfd 3,112(31)
+ stfd 4,120(31)
+ stfd 5,128(31)
+ stfd 6,136(31)
+- std 9,56(31)
++ mr 12,0
++ addi 4,31,32
+ stfd 7,144(31)
+ stfd 8,152(31)
+ stfd 9,160(31)
+@@ -47,195 +58,266 @@
+ stfd 11,176(31)
+ stfd 12,184(31)
+ stfd 13,192(31)
+- std 0,64(31)
+- stw 0,72(31)
+- stw 0,88(31)
+- std 2,24(1)
++ ld 3,8(11)
++ stw 28,32(31)
++ std 9,64(31)
++ stw 9,72(31)
++ stw 9,88(31)
++ std 29,56(31)
+ bctrl
+ ld 2,24(1)
+ lwz 9,72(31)
+ cmpdi 7,9,0
+ beq 7,.L1
+ cmplwi 7,9,1
+- beq 7,.L27
++ beq 7,.L41
+ cmplwi 7,9,2
+- beq 7,.L30
++ beq 7,.L45
+ cmplwi 7,9,3
+- beq 7,.L27
++ beq 7,.L41
+ cmplwi 7,9,4
+- beq 7,.L31
++ beq 7,.L46
+ cmplwi 7,9,5
+- beq 7,.L32
++ beq 7,.L47
+ cmplwi 7,9,6
+- beq 7,.L33
++ beq 7,.L48
+ cmplwi 7,9,7
+- beq 7,.L34
++ beq 7,.L49
+ cmplwi 7,9,8
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,9
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,10
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,11
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,12
+- beq 7,.L35
++ beq 7,.L50
+ cmplwi 7,9,13
+- beq 7,.L36
++ beq 7,.L51
+ cmplwi 7,9,14
+- beq 7,.L28
++ beq 7,.L42
+ cmplwi 7,9,15
+ bne 7,.L1
+ lwz 9,32(31)
+- rldicl. 10,9,54,63
++ andi. 9,9,0x400
+ beq 0,.L1
+- ld 9,80(31)
+- addi 10,9,-1
+- cmpldi 7,10,15
++ ld 10,80(31)
++ addi 9,10,-1
++ cmpldi 7,9,15
+ bgt 7,.L1
++ cmpldi 7,10,1
+ ld 8,64(31)
+- cmpldi 7,9,8
+- rldicl 10,8,0,61
+- rldicr 8,8,0,60
+- add 9,9,10
+- bgt 7,.L17
+- cmpldi 7,9,8
+- slwi 9,9,3
+- bgt 7,.L18
+- ld 7,0(8)
+- addi 9,9,-1
+- li 8,2
+- slwi 10,10,3
+- sld 9,8,9
+- addi 9,9,-1
+- and 9,9,7
+- srad 3,9,10
++ lbz 9,0(8)
++ beq 7,.L52
++ cmpldi 7,10,2
++ beq 7,.L53
++ cmpldi 7,10,3
++ lbz 7,1(8)
++ lbz 6,2(8)
++ beq 7,.L54
++ cmpldi 7,10,4
++ beq 7,.L55
++ cmpldi 7,10,5
++ beq 7,.L56
++ cmpldi 7,10,6
++ beq 7,.L57
++ cmpldi 7,10,7
++ beq 7,.L58
++ cmpldi 7,10,8
++ ld 3,0(8)
++ beq 7,.L1
++ cmpldi 7,10,9
++ lbz 9,8(8)
++ sldi 9,9,56
++ beq 7,.L59
++ lbz 7,9(8)
++ cmpldi 7,10,10
++ sldi 7,7,48
++ or 7,7,9
++ beq 7,.L60
++ cmpldi 7,10,11
++ lbz 9,10(8)
++ sldi 9,9,40
++ beq 7,.L43
++ cmpldi 7,10,12
++ lbz 6,11(8)
++ sldi 6,6,32
++ beq 7,.L61
++ cmpldi 7,10,13
++ lbz 5,12(8)
++ sldi 5,5,24
++ beq 7,.L62
++ cmpldi 7,10,14
++ lbz 0,13(8)
++ sldi 0,0,16
++ beq 7,.L63
++ cmpldi 7,10,15
++ beq 7,.L64
++ ld 4,8(8)
++ .p2align 4,,15
+ .L1:
+- addi 1,31,224
++ ld 9,200(31)
++ ld 10,-28688(13)
++ xor. 9,9,10
++ li 10,0
++ bne 0,.L65
++ addi 1,31,240
++ .cfi_remember_state
++ .cfi_def_cfa 1, 0
+ ld 0,16(1)
++ ld 28,-32(1)
++ ld 29,-24(1)
+ ld 30,-16(1)
+ ld 31,-8(1)
+ mtlr 0
++ .cfi_restore 65
++ .cfi_restore 31
++ .cfi_restore 30
++ .cfi_restore 29
++ .cfi_restore 28
+ blr
+ .p2align 4,,15
+-.L27:
+- addi 1,31,224
++.L41:
++ .cfi_restore_state
+ lbz 3,40(31)
+- ld 0,16(1)
+- ld 30,-16(1)
+- ld 31,-8(1)
+- mtlr 0
+- blr
++ b .L1
+ .p2align 4,,15
+-.L30:
+- lbz 9,40(31)
+- extsb 3,9
++.L45:
++ lbz 3,40(31)
++ extsb 3,3
+ b .L1
+ .p2align 4,,15
+-.L28:
+- ld 3,40(31)
++.L48:
++ lwa 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L31:
++.L46:
+ lha 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L32:
++.L47:
+ lhz 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L33:
+- lwa 3,40(31)
+- b .L1
+- .p2align 4,,15
+-.L35:
+- lfs 1,40(31)
++.L42:
++ ld 3,40(31)
+ b .L1
+ .p2align 4,,15
+-.L34:
++.L49:
+ lwz 3,40(31)
+ b .L1
+-.L36:
++.L50:
++ lfs 1,40(31)
++ b .L1
++.L51:
+ lfd 1,40(31)
+ b .L1
+-.L17:
+- cmpldi 7,9,16
+- rldicl 10,10,0,32
+- slwi 9,9,3
+- ble 7,.L37
+- li 7,2
+- addi 9,9,-129
+- ld 0,16(8)
+- ld 5,0(8)
+- mulli 6,10,-8
+- sld 9,7,9
+- ld 7,8(8)
+- addi 8,9,-1
+- slwi 9,10,3
+- addi 6,6,64
+- and 10,8,0
+- srad 8,5,9
+- sld 5,7,6
+- srad 9,7,9
+- sld 10,10,6
+- or 3,8,5
+- or 4,10,9
+- b .L1
+-.L18:
+- rldicl 10,10,0,32
+- li 7,2
+- ld 6,8(8)
+- ld 8,0(8)
+- addi 9,9,-65
+- sld 9,7,9
+- mulli 7,10,-8
+- slwi 10,10,3
+- addi 9,9,-1
+- srad 10,8,10
+- and 9,9,6
+- addi 7,7,64
+- sld 9,9,7
+- or 3,9,10
+- b .L1
+-.L37:
+- li 7,2
+- addi 9,9,-65
+- ld 5,8(8)
+- ld 6,0(8)
+- sld 9,7,9
+- mulli 7,10,-4
+- addi 9,9,-1
+- addi 7,7,32
+- and 8,9,5
+- slwi 9,10,3
+- sld 10,8,7
+- srad 6,6,9
+- srad 4,8,9
+- sld 7,10,7
+- or 3,6,7
++.L65:
++ bl __stack_chk_fail
++ nop
++.L64:
++ or 4,9,6
++ lbz 9,14(8)
++ or 4,4,5
++ sldi 9,9,8
++ or 4,4,0
++ or 4,4,9
++ or 4,4,7
++ b .L1
++.L63:
++ or 4,9,6
++ or 4,4,5
++ or 4,4,0
++ or 4,4,7
++ b .L1
++.L55:
++ lwz 3,0(8)
++ b .L1
++.L54:
++ sldi 7,7,8
++ sldi 9,9,16
++ or 9,7,9
++ or 3,9,6
++ b .L1
++.L53:
++ lhz 3,0(8)
++ b .L1
++.L52:
++ mr 3,9
++ b .L1
++.L62:
++ or 9,9,6
++ or 4,9,5
++ or 4,4,7
++ b .L1
++.L61:
++ or 9,9,6
++.L43:
++ or 4,9,7
++ b .L1
++.L60:
++ mr 4,7
++ b .L1
++.L59:
++ mr 4,9
++ b .L1
++.L58:
++ sldi 6,6,32
++ sldi 7,7,40
++ lwz 3,3(8)
++ sldi 9,9,48
++ or 7,6,7
++ or 3,7,3
++ or 3,3,9
++ b .L1
++.L57:
++ sldi 7,7,32
++ sldi 9,9,40
++ lwz 3,2(8)
++ or 9,7,9
++ or 3,9,3
++ b .L1
++.L56:
++ lwz 3,1(8)
++ sldi 9,9,32
++ or 3,3,9
+ b .L1
+ .long 0
+- .byte 0,0,0,1,128,2,0,0
++ .byte 0,0,0,1,128,4,0,0
++ .cfi_endproc
++.LFE0:
+ .size callback_receiver,.-callback_receiver
+ .align 2
+ .p2align 4,,15
+ .globl callback_get_receiver
+ .type callback_get_receiver, @function
+ callback_get_receiver:
+-0: addis 2,12,.TOC.-0b@ha
+- addi 2,2,.TOC.-0b@l
++.LFB1:
++ .cfi_startproc
++.LCF1:
++0: addis 2,12,.TOC.-.LCF1@ha
++ addi 2,2,.TOC.-.LCF1@l
+ .localentry callback_get_receiver,.-callback_get_receiver
+ std 31,-8(1)
+ stdu 1,-48(1)
++ .cfi_def_cfa_offset 48
++ .cfi_offset 31, -8
+ addis 3,2,callback_receiver@toc@ha
+ addi 3,3,callback_receiver@toc@l
+ mr 31,1
++ .cfi_def_cfa_register 31
+ addi 1,31,48
++ .cfi_def_cfa 1, 0
+ ld 31,-8(1)
++ .cfi_restore 31
+ blr
+ .long 0
+ .byte 0,0,0,0,128,1,0,0
++ .cfi_endproc
++.LFE1:
+ .size callback_get_receiver,.-callback_get_receiver
++ .gnu_attribute 4, 9
+ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+ .section .note.GNU-stack,"",@progbits
+ #endif
diff --git a/user/libgd/APKBUILD b/user/libgd/APKBUILD
index 2a537dfca..c5da3861e 100644
--- a/user/libgd/APKBUILD
+++ b/user/libgd/APKBUILD
@@ -1,27 +1,24 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=libgd
-pkgver=2.2.5
-pkgrel=2
+pkgver=2.3.0
+pkgrel=0
pkgdesc="Library for dynamic image creation"
url="http://libgd.github.io/"
arch="all"
-options="!check" # Upstream bug 201 regression.
+options="!check" # Multiple test suite failures. Assumes SSE+ math.
license="MIT"
depends=""
makedepends="autoconf automake bash fontconfig-dev freetype-dev
libjpeg-turbo-dev libpng-dev libtool libwebp-dev tiff-dev zlib-dev
"
+# While the fontconfig/basic test checks for what happens if an empty
+# fontlist is passed to gdImageStringFT(), there still needs to be at
+# least one font installed on the system...
+checkdepends="ttf-liberation"
subpackages="$pkgname-dev"
replaces="gd"
-source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgname-$pkgver.tar.xz
- CVE-2016-7568.patch
- CVE-2018-5711.patch
- CVE-2018-14553.patch
- CVE-2018-1000222.patch
- CVE-2019-6977.patch
- CVE-2019-6978.patch
- "
+source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgname-$pkgver.tar.xz"
# secfixes:
# 2.2.5-r1:
@@ -31,11 +28,8 @@ source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgna
# - CVE-2019-6978
# 2.2.5-r2:
# - CVE-2018-14553
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
+# 2.3.0-r0:
+# - CVE-2019-11038
build() {
./configure \
@@ -61,13 +55,8 @@ dev() {
default_dev
depends="$pkgname perl"
replaces="gd-dev"
+ mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/bdftogd "$subpkgdir"/usr/bin
}
-sha512sums="e4598e17a277a75e02255402182cab139cb3f2cffcd68ec05cc10bbeaf6bc7aa39162c3445cd4a7efc1a26b72b9152bbedb187351e3ed099ea51767319997a6b libgd-2.2.5.tar.xz
-8310d11a2398e8617c9defc4500b9ce3897ac1026002ffa36000f1d1f8df19336005e8c1f6587533f1d787a4a54d7a3a28ad25bddbc966a018aedf4d8704a716 CVE-2016-7568.patch
-d6577566814cbe2d93b141a4216b32acdeb2989dc1712eb137565081b913151bbb4c69911c96b2bb7c90695078a85152d368aad183de494d1283fde25021751b CVE-2018-5711.patch
-353491fab6c6e0916dca910c9d14f0e0efab6d9d88c48f6f3f2f69e60312489039b25d26980e7c5c2c04ed9e56003b99eae77bd412fbbed1d8eb47d561f7af74 CVE-2018-14553.patch
-d12462f1b159d50b9032435e9767a5d76e1797a88be950ed33dda7aa17005b7cb60560d04b9520e46d8111e1669d42ce28cb2c508f9c8825d545ac0335d2a10b CVE-2018-1000222.patch
-df84e469515f684d79ebad163e137401627310a984ac1ae6a4d31b739b3dc6d9144f101e9bfc3211af1d7cdbaa827721d21a9fe528e69b9b60a943ec8a7ab74b CVE-2019-6977.patch
-3bf31941365a878bef899afa14a89e4ad0fbfb3280d34b2118c8484698e15eff600751ae3ce146a4f006e6c21730cb18899bae3538f6cc2651025274b40cf1ca CVE-2019-6978.patch"
+sha512sums="5b201d22560e147a3d5471010b898ad0268c3a2453b870d1267b6ba92e540cf9f75099336c1ab08217e41827ac86fe04525726bf29ad117e5dcbaef9a8d0622a libgd-2.3.0.tar.xz"
diff --git a/user/libgd/CVE-2016-7568.patch b/user/libgd/CVE-2016-7568.patch
deleted file mode 100644
index 56156411e..000000000
--- a/user/libgd/CVE-2016-7568.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2806adfdc27a94d333199345394d7c302952b95f Mon Sep 17 00:00:00 2001
-From: trylab <trylab@users.noreply.github.com>
-Date: Tue, 6 Sep 2016 18:35:32 +0800
-Subject: [PATCH] Fix integer overflow in gdImageWebpCtx
-
-Integer overflow can be happened in expression gdImageSX(im) * 4 *
-gdImageSY(im). It could lead to heap buffer overflow in the following
-code. This issue has been reported to the PHP Bug Tracking System. The
-proof-of-concept file will be supplied some days later. This issue was
-discovered by Ke Liu of Tencent's Xuanwu LAB.
----
- src/gd_webp.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/gd_webp.c b/src/gd_webp.c
-index 8eb4dee..9886399 100644
---- a/src/gd_webp.c
-+++ b/src/gd_webp.c
-@@ -199,6 +199,14 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
- quality = 80;
- }
-
-+ if (overflow2(gdImageSX(im), 4)) {
-+ return;
-+ }
-+
-+ if (overflow2(gdImageSX(im) * 4, gdImageSY(im))) {
-+ return;
-+ }
-+
- argb = (uint8_t *)gdMalloc(gdImageSX(im) * 4 * gdImageSY(im));
- if (!argb) {
- return;
diff --git a/user/libgd/CVE-2018-1000222.patch b/user/libgd/CVE-2018-1000222.patch
deleted file mode 100644
index 80f9712bf..000000000
--- a/user/libgd/CVE-2018-1000222.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 14 Jul 2018 13:54:08 -0400
-Subject: [PATCH] bmp: check return value in gdImageBmpPtr
-
-Closes #447.
----
- src/gd_bmp.c | 17 ++++++++++++++---
- 1 file changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/src/gd_bmp.c b/src/gd_bmp.c
-index bde0b9d3..78f40d9a 100644
---- a/src/gd_bmp.c
-+++ b/src/gd_bmp.c
-@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
- static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header);
- static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info);
-
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression);
-+
- #define BMP_DEBUG(s)
-
- static int gdBMPPutWord(gdIOCtx *out, int w)
-@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageBmpCtx(im, out, compression);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageBmpCtx(im, out, compression))
-+ rv = gdDPExtractData(out, size);
-+ else
-+ rv = NULL;
- out->gd_free(out);
- return rv;
- }
-@@ -141,6 +145,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression)
- compression - whether to apply RLE or not.
- */
- BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
-+{
-+ _gdImageBmpCtx(im, out, compression);
-+}
-+
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- {
- int bitmap_size = 0, info_size, total_size, padding;
- int i, row, xpos, pixel;
-@@ -148,6 +157,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL;
- FILE *tmpfile_for_compression = NULL;
- gdIOCtxPtr out_original = NULL;
-+ int ret = 1;
-
- /* No compression if its true colour or we don't support seek */
- if (im->trueColor) {
-@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- out_original = NULL;
- }
-
-+ ret = 0;
- cleanup:
- if (tmpfile_for_compression) {
- #ifdef _WIN32
-@@ -338,7 +349,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- if (out_original) {
- out_original->gd_free(out_original);
- }
-- return;
-+ return ret;
- }
-
- static int compress_row(unsigned char *row, int length)
diff --git a/user/libgd/CVE-2018-14553.patch b/user/libgd/CVE-2018-14553.patch
deleted file mode 100644
index 7510101d1..000000000
--- a/user/libgd/CVE-2018-14553.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From a93eac0e843148dc2d631c3ba80af17e9c8c860f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?F=C3=A1bio=20Cabral=20Pacheco?= <fcabralpacheco@gmail.com>
-Date: Fri, 20 Dec 2019 12:03:33 -0300
-Subject: [PATCH] Fix potential NULL pointer dereference in gdImageClone()
-
----
- src/gd.c | 9 +--------
- tests/gdimageclone/CMakeLists.txt | 1 +
- tests/gdimageclone/Makemodule.am | 3 ++-
- tests/gdimageclone/style.c | 30 ++++++++++++++++++++++++++++++
- 5 files changed, 35 insertions(+), 9 deletions(-)
- create mode 100644 tests/gdimageclone/style.c
-
-diff --git a/src/gd.c b/src/gd.c
-index 592a0286..d564d1f9 100644
---- a/src/gd.c
-+++ b/src/gd.c
-@@ -2865,14 +2865,6 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
- }
- }
-
-- if (src->styleLength > 0) {
-- dst->styleLength = src->styleLength;
-- dst->stylePos = src->stylePos;
-- for (i = 0; i < src->styleLength; i++) {
-- dst->style[i] = src->style[i];
-- }
-- }
--
- dst->interlace = src->interlace;
-
- dst->alphaBlendingFlag = src->alphaBlendingFlag;
-@@ -2907,6 +2899,7 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
-
- if (src->style) {
- gdImageSetStyle(dst, src->style, src->styleLength);
-+ dst->stylePos = src->stylePos;
- }
-
- for (i = 0; i < gdMaxColors; i++) {
-diff --git a/tests/gdimageclone/CMakeLists.txt b/tests/gdimageclone/CMakeLists.txt
-index e6ccc318..662f4e96 100644
---- a/tests/gdimageclone/CMakeLists.txt
-+++ b/tests/gdimageclone/CMakeLists.txt
-@@ -1,5 +1,6 @@
- LIST(APPEND TESTS_FILES
- bug00300
-+ style
- )
-
- ADD_GD_TESTS()
-diff --git a/tests/gdimageclone/Makemodule.am b/tests/gdimageclone/Makemodule.am
-index 4b1b54c0..51abf5c1 100644
---- a/tests/gdimageclone/Makemodule.am
-+++ b/tests/gdimageclone/Makemodule.am
-@@ -1,5 +1,6 @@
- libgd_test_programs += \
-- gdimageclone/bug00300
-+ gdimageclone/bug00300 \
-+ gdimageclone/style
-
- EXTRA_DIST += \
- gdimageclone/CMakeLists.txt
-diff --git a/tests/gdimageclone/style.c b/tests/gdimageclone/style.c
-new file mode 100644
-index 00000000..c2b246ed
---- /dev/null
-+++ b/tests/gdimageclone/style.c
-@@ -0,0 +1,30 @@
-+/**
-+ * Cloning an image should exactly reproduce all style related data
-+ */
-+
-+
-+#include <string.h>
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+int main()
-+{
-+ gdImagePtr im, clone;
-+ int style[] = {0, 0, 0};
-+
-+ im = gdImageCreate(8, 8);
-+ gdImageSetStyle(im, style, sizeof(style)/sizeof(style[0]));
-+
-+ clone = gdImageClone(im);
-+ gdTestAssert(clone != NULL);
-+
-+ gdTestAssert(clone->styleLength == im->styleLength);
-+ gdTestAssert(clone->stylePos == im->stylePos);
-+ gdTestAssert(!memcmp(clone->style, im->style, sizeof(style)/sizeof(style[0])));
-+
-+ gdImageDestroy(clone);
-+ gdImageDestroy(im);
-+
-+ return gdNumFailures();
-+}
diff --git a/user/libgd/CVE-2018-5711.patch b/user/libgd/CVE-2018-5711.patch
deleted file mode 100644
index dff2b9ea2..000000000
--- a/user/libgd/CVE-2018-5711.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Wed, 29 Nov 2017 19:37:38 +0100
-Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
-
-Due to a signedness confusion in `GetCode_` a corrupt GIF file can
-trigger an infinite loop. Furthermore we make sure that a GIF without
-any palette entries is treated as invalid *after* open palette entries
-have been removed.
-
-CVE-2018-5711
-
-See also https://bugs.php.net/bug.php?id=75571.
----
- src/gd_gif_in.c | 12 ++++++------
- tests/gif/.gitignore | 1 +
- tests/gif/CMakeLists.txt | 1 +
- tests/gif/Makemodule.am | 2 ++
- tests/gif/php_bug_75571.c | 28 ++++++++++++++++++++++++++++
- tests/gif/php_bug_75571.gif | Bin 0 -> 1731 bytes
- 6 files changed, 38 insertions(+), 6 deletions(-)
- create mode 100644 tests/gif/php_bug_75571.c
- create mode 100644 tests/gif/php_bug_75571.gif
-
-diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
-index daf26e79..0a8bd717 100644
---- a/src/gd_gif_in.c
-+++ b/src/gd_gif_in.c
-@@ -335,11 +335,6 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- return 0;
- }
-
-- if(!im->colorsTotal) {
-- gdImageDestroy(im);
-- return 0;
-- }
--
- /* Check for open colors at the end, so
- * we can reduce colorsTotal and ultimately
- * BitsPerPixel */
-@@ -351,6 +346,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- }
- }
-
-+ if(!im->colorsTotal) {
-+ gdImageDestroy(im);
-+ return 0;
-+ }
-+
- return im;
- }
-
-@@ -447,7 +447,7 @@ static int
- GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
- {
- int i, j, ret;
-- unsigned char count;
-+ int count;
-
- if(flag) {
- scd->curbit = 0;
diff --git a/user/libgd/CVE-2019-6977.patch b/user/libgd/CVE-2019-6977.patch
deleted file mode 100644
index 4cfb9ab98..000000000
--- a/user/libgd/CVE-2019-6977.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Bug: https://bts.adelielinux.org/show_bug.cgi?id=159
-Backported-From: http://git.php.net/?p=php-src.git;a=commit;h=7a12dad4dd6c370835b13afae214b240082c7538
-Author: A. Wilcox <awilfox@adelielinux.org>
-Bug: https://bugs.php.net/bug.php?id=77270
-Author: Christoph M. Becker <cmbecker69@gmx.de>
-Committer: Stanislav Malyshev <stas@php.net>
-Upstream-Status: unknown
-
---- libgd-2.2.5/src/gd_color_match.c.old 2017-08-30 11:05:54.000000000 +0000
-+++ libgd-2.2.5/src/gd_color_match.c 2019-10-03 16:17:55.842322245 +0000
-@@ -31,8 +31,8 @@
- return -4; /* At least 1 color must be allocated */
- }
-
-- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal);
-- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal );
-+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors);
-+ memset( buf, 0, sizeof(unsigned long) * 5 * gdMaxColors );
-
- for (x=0; x < im1->sx; x++) {
- for( y=0; y<im1->sy; y++ ) {
diff --git a/user/libgd/CVE-2019-6978.patch b/user/libgd/CVE-2019-6978.patch
deleted file mode 100644
index 0cfdda919..000000000
--- a/user/libgd/CVE-2019-6978.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Thu, 17 Jan 2019 11:54:55 +0100
-Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr()
-
-Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we
-must not call `gdDPExtractData()`; otherwise a double-free would
-happen. Since `gdImage*Ctx()` are void functions, and we can't change
-that for BC reasons, we're introducing static helpers which are used
-internally.
-
-We're adding a regression test for `gdImageJpegPtr()`, but not for
-`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to
-trigger failure of the respective `gdImage*Ctx()` calls.
-
-This potential security issue has been reported by Solmaz Salimi (aka.
-Rooney).
----
- src/gd_gif_out.c | 18 +++++++++++++++---
- src/gd_jpeg.c | 20 ++++++++++++++++----
- src/gd_wbmp.c | 21 ++++++++++++++++++---
- tests/jpeg/.gitignore | 1 +
- tests/jpeg/CMakeLists.txt | 1 +
- tests/jpeg/Makemodule.am | 3 ++-
- tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++
- 7 files changed, 84 insertions(+), 11 deletions(-)
- create mode 100644 tests/jpeg/jpeg_ptr_double_free.c
-
-diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c
-index 298a5812..d5a95346 100644
---- a/src/gd_gif_out.c
-+++ b/src/gd_gif_out.c
-@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx);
- static void char_out(int c, GifCtx *ctx);
- static void flush_char(GifCtx *ctx);
-
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
-
-
-
-@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageGifCtx(im, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageGifCtx(im, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
-
- */
- BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
-+{
-+ _gdImageGifCtx(im, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- {
- gdImagePtr pim = 0, tim = im;
- int interlace, BitsPerPixel;
-@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- based temporary image. */
- pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
- if(!pim) {
-- return;
-+ return 1;
- }
- tim = pim;
- }
-@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- /* Destroy palette based temporary image. */
- gdImageDestroy( pim);
- }
-+
-+ return 0;
- }
-
-
-diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c
-index fc058420..96ef4302 100644
---- a/src/gd_jpeg.c
-+++ b/src/gd_jpeg.c
-@@ -123,6 +123,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
- exit(99);
- }
-
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
-+
- /*
- * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
- * QUALITY. If QUALITY is in the range 0-100, increasing values
-@@ -237,8 +239,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageJpegCtx(im, out, quality);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageJpegCtx(im, out, quality)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -259,6 +264,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
-
- */
- BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
-+{
-+ _gdImageJpegCtx(im, outfile, quality);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- {
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
-@@ -293,7 +304,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row) {
- gdFree(row);
- }
-- return;
-+ return 1;
- }
-
- cinfo.err->emit_message = jpeg_emit_message;
-@@ -334,7 +345,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row == 0) {
- gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n");
- jpeg_destroy_compress(&cinfo);
-- return;
-+ return 1;
- }
-
- rowptr[0] = row;
-@@ -411,6 +424,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- jpeg_finish_compress(&cinfo);
- jpeg_destroy_compress(&cinfo);
- gdFree(row);
-+ return 0;
- }
-
-
-diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c
-index f19a1c96..a49bdbec 100644
---- a/src/gd_wbmp.c
-+++ b/src/gd_wbmp.c
-@@ -88,6 +88,8 @@ int gd_getin(void *in)
- return (gdGetC((gdIOCtx *)in));
- }
-
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
-+
- /*
- Function: gdImageWBMPCtx
-
-@@ -100,6 +102,12 @@ int gd_getin(void *in)
- out - the stream where to write
- */
- BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-+{
-+ _gdImageWBMPCtx(image, fg, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- {
- int x, y, pos;
- Wbmp *wbmp;
-@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- /* create the WBMP */
- if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) {
- gd_error("Could not create WBMP\n");
-- return;
-+ return 1;
- }
-
- /* fill up the WBMP structure */
-@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-
- /* write the WBMP to a gd file descriptor */
- if(writewbmp(wbmp, &gd_putout, out)) {
-+ freewbmp(wbmp);
- gd_error("Could not save WBMP\n");
-+ return 1;
- }
-
- /* des submitted this bugfix: gdFree the memory. */
- freewbmp(wbmp);
-+
-+ return 0;
- }
-
- /*
-@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageWBMPCtx(im, fg, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageWBMPCtx(im, fg, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
diff --git a/user/libgeoip/APKBUILD b/user/libgeoip/APKBUILD
new file mode 100644
index 000000000..db33d2f11
--- /dev/null
+++ b/user/libgeoip/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=libgeoip
+pkgver=1.6.12
+pkgrel=0
+pkgdesc="GeoIP legacy C API"
+url="https://github.com/maxmind/geoip-api-c"
+arch="all"
+license="LGPL-2.1-only"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/maxmind/geoip-api-c/releases/download/v$pkgver/GeoIP-$pkgver.tar.gz"
+builddir="$srcdir/GeoIP-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a1c8120692a7ba6de5836550917f86f4797dd236a8b7d71b6f92b5389e4b071d89e57036654f5de1d4b762730a2a5c331c31414eab0c889c9befaa097941fee7 GeoIP-1.6.12.tar.gz"
diff --git a/user/libinput/APKBUILD b/user/libinput/APKBUILD
index 21aeed83d..1e2c6d670 100644
--- a/user/libinput/APKBUILD
+++ b/user/libinput/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libinput
-pkgver=1.15.2
+pkgver=1.15.4
pkgrel=0
pkgdesc="Library for handling input devices"
url="https://www.freedesktop.org/wiki/Software/libinput/"
@@ -32,4 +32,4 @@ package() {
DESTDIR="$pkgdir" ninja -C builddir/ install
}
-sha512sums="f6b50dbdf6ee6b65f88e020c4292c94c3178125d58629f27c2e52f92b658ccd67e0c5604fbf0b303621ff0386637ce1e291daaa991761d4145e8bcda4dd128a2 libinput-1.15.2.tar.xz"
+sha512sums="4659818952dc729cd5bdb78ebe21edbbacbf8a66a592b13ba30f3bb4c4e264208ec94440a253cfa4edc8b2ef904954eecea6be0f8d63cf239e3858d3abb64a80 libinput-1.15.4.tar.xz"
diff --git a/user/libkscreen/APKBUILD b/user/libkscreen/APKBUILD
index 0e4679641..c262c702f 100644
--- a/user/libkscreen/APKBUILD
+++ b/user/libkscreen/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=libkscreen
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE Plasma screen management software"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev cmake extra-cmake-modules qt5-qtx11extras-dev
qt5-qttools-dev kwayland-dev doxygen"
subpackages="kscreen-doctor:doctor $pkgname-dev $pkgname-doc $pkgname-wayland"
-source="https://download.kde.org/stable/plasma/$pkgver/libkscreen-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/libkscreen-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -53,4 +53,4 @@ wayland() {
"$subpkgdir"/usr/lib/qt5/plugins/kf5/kscreen/
}
-sha512sums="fba933c4b26a32f19a6352738e3704f8a35ad24b268bed6fca173c2c4abe0b899845ce1750ce6473b3b9185239332980384a8bb708081484162ee30ff4b3e29a libkscreen-5.18.2.tar.xz"
+sha512sums="73e5d105701d11f1bbe403034614d89a6aab3e4f47d949633e2104c590c62a4e89e7643558056d45d16e43d326c52a950024b84f184dd86fff9cfd57f37efa43 libkscreen-5.18.4.1.tar.xz"
diff --git a/user/libksysguard/APKBUILD b/user/libksysguard/APKBUILD
index b79e945db..a72a949e6 100644
--- a/user/libksysguard/APKBUILD
+++ b/user/libksysguard/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=libksysguard
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE system monitor library"
url="https://www.kde.org/"
@@ -16,7 +16,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 libx11-dev zlib-dev
kwindowsystem-dev kwidgetsaddons-dev qt5-qtwebchannel-dev kio-dev
kglobalaccel-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/libksysguard-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/libksysguard-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="75de2526ffeaabf623163f6fd1f592a8eb3edb0f25b70a1f7c8715d83a01158079addc5ea3cf81baa4650049370a0efefcbece1b3f80edfe511c6942d08ad2a6 libksysguard-5.18.2.tar.xz"
+sha512sums="4407bb15ca4e1e70f8c082ba11c25b4855330ca54fea15c900610245e2966bf2eeebbb6d5ea94bc0627df869363837660bfcca0a88fbfec9cc2ca43e0b635cd8 libksysguard-5.18.4.1.tar.xz"
diff --git a/user/libkworkspace/APKBUILD b/user/libkworkspace/APKBUILD
index 487c573a7..84b7e5e7a 100644
--- a/user/libkworkspace/APKBUILD
+++ b/user/libkworkspace/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=libkworkspace
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE Plasma 5 workspace library"
url="https://www.kde.org/plasma-desktop"
@@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules libice-dev libsm-dev libxau-dev
kcoreaddons-dev ki18n-dev kscreenlocker-dev kwin-dev kwindowsystem-dev
plasma-framework-dev"
subpackages="$pkgname-dev"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-$pkgver.tar.xz
header-generation.patch
session.patch
standalone.patch
@@ -45,7 +45,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0fa91451e28b70d7602de79686afb57143eecd86e3856ed9c773bc4f5394610e5a5cf2f13fd03398b7a01624b45ab86d7e12da016980cb91ab23adac41a6793e plasma-workspace-5.18.2.tar.xz
+sha512sums="683a97a83361149560d866f3d064448a43783c6ea715e9a5e0764ef9ec6dc8bd26e4c7a49023f913b8a649abef39614e5bd3b9e000477949584921c3f1754ab7 plasma-workspace-5.18.4.1.tar.xz
3f72f33219999bc39c52c143c047df37eb34b4149bf479ec9aee64ce14c78946635cf20cf120858f10a676a2b7c00cef0b95aa696e8e71b7412d936fbdd7e755 header-generation.patch
1c7a23a4bb13030b992b8bde125548f104dbc6db489b60a6c40d91e2b793b208f35f88cca9ad90a9cc116d92b902d5c536b0e643805799b07286fbc82a0dafe8 session.patch
-b9dc109c4a2dafddceba194cfa268ef3b34b21826d715d680447c0d3932d16daa16a7cf12c6456f48d6c654beeb7fcb02f30512bd74b80264e9af26871164e4c standalone.patch"
+520a29666deed549b9d6bafe9ae6576aae39004616a46383e40d874fc0622710497de85da508cf6299f55e27c2d2681fc140678efef592abb14253b02d0fce59 standalone.patch"
diff --git a/user/libkworkspace/standalone.patch b/user/libkworkspace/standalone.patch
index 23ccb2de2..27ad62eab 100644
--- a/user/libkworkspace/standalone.patch
+++ b/user/libkworkspace/standalone.patch
@@ -15,7 +15,7 @@ index 3c4c47870..53bc780b5 100644
+project(libkworkspace)
+
+if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
-+ set(PROJECT_VERSION "5.18.2")
++ set(PROJECT_VERSION "5.18.4.1")
+ set(PROJECT_VERSION_MAJOR 5)
+
+ cmake_minimum_required(VERSION 3.0)
diff --git a/user/libmaxminddb/APKBUILD b/user/libmaxminddb/APKBUILD
new file mode 100644
index 000000000..f1762c4ca
--- /dev/null
+++ b/user/libmaxminddb/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=libmaxminddb
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="Library for the MaxMind DB file format"
+url="http://maxmind.github.io/libmaxminddb/"
+arch="all"
+license="Apache-2.0"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/maxmind/libmaxminddb/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="bc18d2f19a74639888a466483afde1bccfc3a83787011a6f38808b76e5a513c9912ff369ccbf584091d4def657e0574b16b35dc69ab12ae4c439aaaf3669c4c1 libmaxminddb-1.4.2.tar.gz"
diff --git a/user/libmbim/APKBUILD b/user/libmbim/APKBUILD
index ab32fba1b..360392390 100644
--- a/user/libmbim/APKBUILD
+++ b/user/libmbim/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libmbim
-pkgver=1.20.4
+pkgver=1.22.0
pkgrel=0
pkgdesc="Library for interfacing with WWAN modems"
url="https://www.freedesktop.org/wiki/Software/libmbim/"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="246f601ddda48b10e8a7b337d6e996dc65f6300e87f13d5260a5c903f95e9035e8a8d1c88540101c22fb3c44eca242451ab75bbfdb6503cfbce279c6d4cf99c8 libmbim-1.20.4.tar.xz"
+sha512sums="ec7ecf1c65dd7b6017cc3e91eadd6700a954065d070640ab97e583b1791cc315133dd6c882f569fff2efe1f56e3766821533c20d814fe7db75aeb0bbcd7ed3ee libmbim-1.22.0.tar.xz"
diff --git a/user/libnftnl/APKBUILD b/user/libnftnl/APKBUILD
index b634ff0c2..2456f0522 100644
--- a/user/libnftnl/APKBUILD
+++ b/user/libnftnl/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Luis Ressel <aranea@aixah.de>
-# Maintainer:
+# Maintainer: Molly Miller <sysvinit@adelielinux.org>
pkgname=libnftnl
-pkgver=1.1.5
+pkgver=1.1.6
pkgrel=0
pkgdesc="Netfilter library providing interface to the nf_tables subsystem"
url="https://netfilter.org/projects/libnftnl"
@@ -12,7 +12,6 @@ depends=""
makedepends="libmnl-dev"
subpackages="$pkgname-dev"
source="https://netfilter.org/projects/libnftnl/files/$pkgname-$pkgver.tar.bz2
- nft-flowtable-test.patch
"
build() {
@@ -34,5 +33,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a0495e1a99ea9efcf3994db48e50943023ff3d8101055887574ff4eb6b0df8600cf7db68a9c91ca02bbbcc1f01099b008649f88321bb956897bcc90eb4167ee7 libnftnl-1.1.5.tar.bz2
-0978037a5dec71a96f5713dbc5a4dc8dc30b7b37d79ec7dd6ec8b201740303785c3625c21a2388f8fd5d9d446f8706ac14d0bf5909a48ed3ef3e7417173dd2c8 nft-flowtable-test.patch"
+sha512sums="3de13cb667060f0942c8dd9e139ee8c7aff1854c544793774a827c01d06e432a4ce05d54846e1062aa620b5e54533da09daa9588467866c82c9119ef4cfbb57d libnftnl-1.1.6.tar.bz2
+"
diff --git a/user/libnftnl/nft-flowtable-test.patch b/user/libnftnl/nft-flowtable-test.patch
deleted file mode 100644
index 719c1f2cf..000000000
--- a/user/libnftnl/nft-flowtable-test.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From b2388765e0c4405442faa13845419f6a35d0134c Mon Sep 17 00:00:00 2001
-From: Phil Sutter <phil@nwl.cc>
-Date: Mon, 2 Dec 2019 18:29:56 +0100
-Subject: tests: flowtable: Don't check NFTNL_FLOWTABLE_SIZE
-
-Marshalling code around that attribute has been dropped by commit
-d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE") so it's value is
-lost during the test.
-
-Assuming that NFTNL_FLOWTABLE_SIZE will receive kernel support at a
-later point, leave the test code in place but just comment it out.
-
-Fixes: d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE")
-Signed-off-by: Phil Sutter <phil@nwl.cc>
-Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
----
- tests/nft-flowtable-test.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/nft-flowtable-test.c b/tests/nft-flowtable-test.c
-index 3edb00d..8ab8d4c 100644
---- a/tests/nft-flowtable-test.c
-+++ b/tests/nft-flowtable-test.c
-@@ -33,9 +33,11 @@ static void cmp_nftnl_flowtable(struct nftnl_flowtable *a, struct nftnl_flowtabl
- if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_USE) !=
- nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_USE))
- print_err("Flowtable use mismatches");
-+#if 0
- if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_SIZE) !=
- nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_SIZE))
- print_err("Flowtable size mismatches");
-+#endif
- if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_FLAGS) !=
- nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_FLAGS))
- print_err("Flowtable flags mismatches");
---
-2.24.1
diff --git a/user/libnotify/APKBUILD b/user/libnotify/APKBUILD
index ad021ad4f..9e7ded542 100644
--- a/user/libnotify/APKBUILD
+++ b/user/libnotify/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libnotify
-pkgver=0.7.8
+pkgver=0.7.9
pkgrel=0
pkgdesc="Desktop notification library"
url="https://developer.gnome.org/notification-spec/"
@@ -9,17 +9,19 @@ options="!check" # Test suite requires running X11
license="LGPL-2.1+"
depends=""
makedepends="gdk-pixbuf-dev glib-dev gobject-introspection-dev gtk-doc
- gtk+3.0-dev meson ninja"
+ gtk+3.0-dev meson ninja docbook-xsl-ns xmlto"
subpackages="$pkgname-dev $pkgname-doc"
source="https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"
build() {
- meson --prefix=/usr builddir/
- ninja -C builddir/
+ meson \
+ -Dprefix=/usr \
+ build
+ ninja -C build
}
package() {
- DESTDIR="$pkgdir" ninja -C builddir/ install
+ DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="9973d7a1af5dd7cfbaa0d0d2c9e72a40df9d814967fde47e95763a69690cc4ed32ecf713d75f91f3dff99a693eff9dab963be124e0530ebf231d517a44e75e94 libnotify-0.7.8.tar.xz"
+sha512sums="8a842b50777279efdb7d96a836a546c47decad158a4f03f7ffc818860d1f6276a657619e4f4a19a4e2f5ad55e0371c793420d50d802983700e8c342273b73874 libnotify-0.7.9.tar.xz"
diff --git a/user/libpeas/APKBUILD b/user/libpeas/APKBUILD
index 9c517e05f..74e405157 100644
--- a/user/libpeas/APKBUILD
+++ b/user/libpeas/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=libpeas
-pkgver=1.24.1
+pkgver=1.26.0
pkgrel=0
pkgdesc="GObject-based plugin framework"
url="https://gnome.org"
@@ -13,7 +13,8 @@ depends=""
makedepends="glib-dev gobject-introspection-dev gtk+3.0-dev
meson ninja py3-pygobject py3-pygobject-dev python3-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz"
+source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz
+ use-locale.h.patch"
build() {
meson -Dprefix=/usr build
@@ -28,4 +29,5 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="9e2f2f3e7208baa7e72f6b963ad2bca7bf2789ffb2656151bd913be10d45f3e0d40379d69513d2ecf597cc6d211d157c273cc841dfd445829d0cb57d24275e1b libpeas-1.24.1.tar.xz"
+sha512sums="86157da14d17c16df2ef3f44ab48822ea1a8be8aec8f5419bc421bd475113f686cd16f9616ac53cbf3dc6f31f521384ac63eb8e9f1a46ea21b5cda8ba21e855f libpeas-1.26.0.tar.xz
+307f198078d3d1b0f8d914011ecffaae500e4d8f71cbc876fef36b5f25c49858fe1c929c572e2c75146097068771524cc50fbb4638cbbbf90cbb3eab29c0964b use-locale.h.patch"
diff --git a/user/libpeas/use-locale.h.patch b/user/libpeas/use-locale.h.patch
new file mode 100644
index 000000000..97b3a08c0
--- /dev/null
+++ b/user/libpeas/use-locale.h.patch
@@ -0,0 +1,12 @@
+diff -Nurd libpeas-1.26.0/peas-demo/peas-demo.c libpeas-1.26.0.new/peas-demo/peas-demo.c
+--- libpeas-1.26.0/peas-demo/peas-demo.c 2020-03-06 21:12:16.247286600 +0000
++++ libpeas-1.26.0.new/peas-demo/peas-demo.c 2020-04-08 07:47:04.093350285 +0000
+@@ -23,6 +23,8 @@
+ #include <config.h>
+ #endif
+
++#include <locale.h>
++
+ #include <girepository.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
diff --git a/user/libqmi/APKBUILD b/user/libqmi/APKBUILD
index f662aa30d..fe44ce40b 100644
--- a/user/libqmi/APKBUILD
+++ b/user/libqmi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libqmi
-pkgver=1.24.4
+pkgver=1.24.8
pkgrel=0
pkgdesc="Library for interfacing with Qualcomm modems"
url="https://www.freedesktop.org/wiki/Software/libqmi/"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7850c2754763d3d0addfa6760ed11ba895dd78421a6b3453224b50bd97d09109ccacf16c322d81c8e512321e45fd8e611015796c86a94f30acf8611eb37e8a1a libqmi-1.24.4.tar.xz"
+sha512sums="b60ac355792373afbb202b2791c641468b48a1e54e5f34336fe37fa799c24ac566d6070ba4faaaf6b5693ae2bb5cc75c1240c7f2ee04c8e35eeeb66ec2677093 libqmi-1.24.8.tar.xz"
diff --git a/user/libsecret/APKBUILD b/user/libsecret/APKBUILD
index 828b3ed74..cf4630962 100644
--- a/user/libsecret/APKBUILD
+++ b/user/libsecret/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libsecret
-pkgver=0.20.1
+pkgver=0.20.2
pkgrel=0
pkgdesc="Library for storing and retrieving passphrases"
url="https://wiki.gnome.org/Projects/Libsecret"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d8fca5f4da63427f594e1cb38c91330a98ab706aa945f8e735337f3fd342895bc96ceb36390ba01a4c0b9c5d503c4b544753c3243c444579f46f7b2e7836d1ac libsecret-0.20.1.tar.xz"
+sha512sums="89143c8ccc8f6fa0cda2c98baef92e8cbf9b319a984826a09c527125e14712023ee65cada42a2c9232524528da8c1c3d2235ecbcb93e2f06e94121a601c22857 libsecret-0.20.2.tar.xz"
diff --git a/user/libsigsegv/APKBUILD b/user/libsigsegv/APKBUILD
new file mode 100644
index 000000000..a99ee7075
--- /dev/null
+++ b/user/libsigsegv/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Contributor: Lee Starnes <lee@canned-death.us>
+# Maintainer: Lee Starnes <lee@canned-death.us>
+pkgname=libsigsegv
+pkgver=2.12
+pkgrel=0
+pkgdesc="A library for handling page faults in user mode"
+url="https://www.gnu.org/software/libsigsegv"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev"
+source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
+ musl-ppc32.patch
+ "
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --enable-shared
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="27986e8aaf4357ed131032aa7c281a5a28c5759530c62bb76f034aea33959547dcaae805e06347a1f532f0488b72fbbbdac4400f74e8d3f2128511526e8a5913 libsigsegv-2.12.tar.gz
+fba3bf8679619d9e363bf42e476960dd73cc9a01915773193d6b6d2ca76ee5240a9284982d00bc40601c6da3210c08eb90e61661404ccaf017144ccc36b25762 musl-ppc32.patch"
diff --git a/user/libsigsegv/musl-ppc32.patch b/user/libsigsegv/musl-ppc32.patch
new file mode 100644
index 000000000..75e10a45f
--- /dev/null
+++ b/user/libsigsegv/musl-ppc32.patch
@@ -0,0 +1,10 @@
+--- libsigsegv-2.12/src/fault-linux-powerpc.h.old 2017-03-04 15:28:15.000000000 +0000
++++ libsigsegv-2.12/src/fault-linux-powerpc.h 2020-05-11 21:49:56.190783142 +0000
+@@ -33,6 +33,6 @@
+ # if 0
+ # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1]
+ # else
+-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1]
+ # endif
+ #endif
diff --git a/user/libslirp/APKBUILD b/user/libslirp/APKBUILD
new file mode 100644
index 000000000..bd88d3957
--- /dev/null
+++ b/user/libslirp/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=libslirp
+pkgver=4.3.0
+pkgrel=0
+pkgdesc="A general-purpose TCP/IP emulator"
+url="https://gitlab.freedesktop.org/slirp/libslirp"
+arch="all"
+options="!check" # No test suite.
+license="BSD-3-Clause AND MIT"
+depends=""
+makedepends="glib-dev meson"
+subpackages="$pkgname-dev"
+source="https://elmarco.fedorapeople.org/libslirp-$pkgver.tar.xz
+ git-describe.patch
+ static.patch
+ "
+
+# secfixes:
+# 4.3.0-r0:
+# - CVE-2020-1983
+
+build() {
+ meson \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --buildtype=release \
+ . output
+ ninja -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C output install
+}
+
+sha512sums="656a57878354b893503af69dfb11ab93dcf4728cc68bd0b6aa352073cbcf1b558924a5932e1996011002f72f5bddfb22ddaffc5a88078a61862c630d908e8beb libslirp-4.3.0.tar.xz
+fb66abe30c7b36c93bf759960275119c6d34e57861efe0cdc147a606a7a13b2d29f0f77dfe99326539800bd4ded9e39c736abd9d4ca9d6f16df2d50fd70fb7f6 git-describe.patch
+bb1bb5443d8083099d2a270b78b7ec74daa26634b2062d2c30460ed118b333942a9a555c96910216bb746311ae021d457f39a304a60fe07a3908a0c315a7c756 static.patch"
diff --git a/user/libslirp/git-describe.patch b/user/libslirp/git-describe.patch
new file mode 100644
index 000000000..9cc66bbad
--- /dev/null
+++ b/user/libslirp/git-describe.patch
@@ -0,0 +1,24 @@
+Otherwise you might get "-dirty" in the pc: version
+
+--- libslirp-4.3.0/build-aux/git-version-gen 2020-04-23 06:09:44.166262600 -0500
++++ libslirp-4.3.0/build-aux/git-version-gen 2020-04-24 15:08:09.450004079 -0500
+@@ -133,19 +133,6 @@ fi
+
+ v=`echo "$v" |sed 's/^v//'`
+
+-# Don't declare a version "dirty" merely because a time stamp has changed.
+-git update-index --refresh > /dev/null 2>&1
+-
+-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
+-case "$dirty" in
+- '') ;;
+- *) # Append the suffix only if there isn't one already.
+- case $v in
+- *-dirty) ;;
+- *) v="$v-dirty" ;;
+- esac ;;
+-esac
+-
+ # Omit the trailing newline, so that m4_esyscmd can use the result directly.
+ echo "$v" | tr -d "$nl"
+
diff --git a/user/libslirp/static.patch b/user/libslirp/static.patch
new file mode 100644
index 000000000..46451a168
--- /dev/null
+++ b/user/libslirp/static.patch
@@ -0,0 +1,14 @@
+library = shared
+both_libraries = shared and static (needed by qemu)
+
+--- libslirp-v4.2.0/meson.build 2020-03-17 10:07:35.000000000 +0000
++++ libslirp-v4.2.0/meson.build 2020-03-24 20:41:57.030331048 +0000
+@@ -100,7 +100,7 @@ configure_file(
+ configuration : conf
+ )
+
+-lib = library('slirp', sources,
++lib = both_libraries('slirp', sources,
+ version : lt_version,
+ c_args : cargs,
+ link_args : vflag,
diff --git a/user/libsoup/APKBUILD b/user/libsoup/APKBUILD
index 2f9ee4358..7992f7d22 100644
--- a/user/libsoup/APKBUILD
+++ b/user/libsoup/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=libsoup
-pkgver=2.68.3
+pkgver=2.70.0
pkgrel=0
pkgdesc="GObject-based HTTP library"
url="https://wiki.gnome.org/Projects/libsoup"
@@ -31,4 +31,4 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="4ab7777e8e910a5741628d10a9e22215b7811c03034dc3ccd1fa34bcfa2a643f27e7c005ab048f2931d58af4b161eee71e1f433cb55a74628da5b08ef8b693fd libsoup-2.68.3.tar.xz"
+sha512sums="c3e2a963f4b38b2eee5d772b68a325c076fde19c26413bb3ada91824d3c7e108fbc325bfdc49a28141a641233485d3044d18142720c2aebaa7cc820f8718159b libsoup-2.70.0.tar.xz"
diff --git a/user/libuninameslist/APKBUILD b/user/libuninameslist/APKBUILD
index 66be1f6ef..73d53a4e1 100644
--- a/user/libuninameslist/APKBUILD
+++ b/user/libuninameslist/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libuninameslist
-pkgver=20190701
+pkgver=20200313
pkgrel=0
pkgdesc="Library of Unicode names and annotation data"
url=" "
@@ -38,4 +38,4 @@ py3() {
python3 setup.py install --prefix=/usr --root="$subpkgdir"
}
-sha512sums="05cd3cbba195e270e1cb23886d0fa666d47fbe5eb23b89388025683ae7e2380de43ac4137056ec8f386e53fc869218e7417566f29ccfd86f26168bcfe472ee52 libuninameslist-dist-20190701.tar.gz"
+sha512sums="7f42d839b251859d94cca44d4f8a789aeed0554ce86bbdba38f25da2c2ce0626d95801679a1ce3c9f691ceb4988960c56f1268478e55175d94744a969e1bd6c3 libuninameslist-dist-20200313.tar.gz"
diff --git a/user/libvncserver/APKBUILD b/user/libvncserver/APKBUILD
index 2b42311c2..7058ad208 100644
--- a/user/libvncserver/APKBUILD
+++ b/user/libvncserver/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libvncserver
pkgver=0.9.12
-pkgrel=0
+pkgrel=1
pkgdesc="Library to make writing a vnc server easy"
url="https://libvnc.github.io/"
arch="all"
@@ -15,7 +15,10 @@ depends_dev="libgcrypt-dev libjpeg-turbo-dev gnutls-dev libpng-dev
makedepends="$depends_dev cmake"
subpackages="$pkgname-dev"
source="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$pkgver.tar.gz
- CVE-2018-15127.patch"
+ CVE-2018-15127.patch
+ CVE-2019-15681.patch
+ CVE-2019-15690.patch
+ "
builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# secfixes:
@@ -24,6 +27,9 @@ builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# - CVE-2016-9942
# 0.9.12-r0:
# - CVE-2018-15127
+# 0.9.12-r1:
+# - CVE-2019-15681
+# - CVE-2019-15690
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -49,4 +55,6 @@ package() {
}
sha512sums="60ff1cc93a937d6f8f97449bc58b763095846207112f7b1b3c43eb2d74448b595d6da949903a764bd484ee54e38ff6277e882adbe965dd6d26ba15ef6ff6fcb8 LibVNCServer-0.9.12.tar.gz
-8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch"
+8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch
+5ecb5a26813f3f07440ef6c54eebaca4e9b4f7c1cf2ba13375e3b23b950a9b818d068d4eef5532d7ea4d7ae084c4356af7257c45426101ff51afe2b7da338a1f CVE-2019-15681.patch
+52f62a65c3e91b7c7a11b5ad6e1432d697e1314bf6c938b5cb0c9cc8bdffbf1c25612c33e05282c11d59c6523e208b882f963fca8bcd34a5c72dd476427e7542 CVE-2019-15690.patch"
diff --git a/user/libvncserver/CVE-2019-15681.patch b/user/libvncserver/CVE-2019-15681.patch
new file mode 100644
index 000000000..e328d8792
--- /dev/null
+++ b/user/libvncserver/CVE-2019-15681.patch
@@ -0,0 +1,23 @@
+From d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a Mon Sep 17 00:00:00 2001
+From: Christian Beier <dontmind@freeshell.org>
+Date: Mon, 19 Aug 2019 22:32:25 +0200
+Subject: [PATCH] rfbserver: don't leak stack memory to the remote
+
+Thanks go to Pavel Cheremushkin of Kaspersky for reporting.
+---
+ libvncserver/rfbserver.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
+index 3bacc891..310e5487 100644
+--- a/libvncserver/rfbserver.c
++++ b/libvncserver/rfbserver.c
+@@ -3724,6 +3724,8 @@ rfbSendServerCutText(rfbScreenInfoPtr rfbScreen,char *str, int len)
+ rfbServerCutTextMsg sct;
+ rfbClientIteratorPtr iterator;
+
++ memset((char *)&sct, 0, sizeof(sct));
++
+ iterator = rfbGetClientIterator(rfbScreen);
+ while ((cl = rfbClientIteratorNext(iterator)) != NULL) {
+ sct.type = rfbServerCutText;
diff --git a/user/libvncserver/CVE-2019-15690.patch b/user/libvncserver/CVE-2019-15690.patch
new file mode 100644
index 000000000..7fe36e454
--- /dev/null
+++ b/user/libvncserver/CVE-2019-15690.patch
@@ -0,0 +1,36 @@
+From 54220248886b5001fbbb9fa73c4e1a2cb9413fed Mon Sep 17 00:00:00 2001
+From: Christian Beier <dontmind@freeshell.org>
+Date: Sun, 17 Nov 2019 17:18:35 +0100
+Subject: [PATCH] libvncclient/cursor: limit width/height input values
+
+Avoids a possible heap overflow reported by Pavel Cheremushkin
+<Pavel.Cheremushkin@kaspersky.com>.
+
+re #275
+---
+ libvncclient/cursor.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libvncclient/cursor.c b/libvncclient/cursor.c
+index 67f45726..40ffb3b0 100644
+--- a/libvncclient/cursor.c
++++ b/libvncclient/cursor.c
+@@ -28,6 +28,8 @@
+ #define OPER_SAVE 0
+ #define OPER_RESTORE 1
+
++#define MAX_CURSOR_SIZE 1024
++
+ #define RGB24_TO_PIXEL(bpp,r,g,b) \
+ ((((uint##bpp##_t)(r) & 0xFF) * client->format.redMax + 127) / 255 \
+ << client->format.redShift | \
+@@ -54,6 +56,9 @@ rfbBool HandleCursorShape(rfbClient* client,int xhot, int yhot, int width, int h
+ if (width * height == 0)
+ return TRUE;
+
++ if (width >= MAX_CURSOR_SIZE || height >= MAX_CURSOR_SIZE)
++ return FALSE;
++
+ /* Allocate memory for pixel data and temporary mask data. */
+ if(client->rcSource)
+ free(client->rcSource);
diff --git a/user/libwacom/APKBUILD b/user/libwacom/APKBUILD
index 58de8225a..aa80bcae0 100644
--- a/user/libwacom/APKBUILD
+++ b/user/libwacom/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Ivan Tham <pickfire@riseup.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libwacom
-pkgver=1.2
+pkgver=1.3
pkgrel=0
pkgdesc="Tablet description library"
url="http://linuxwacom.sourceforge.net/"
@@ -31,5 +31,5 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="595c073d8160bce2d6cec13d5c672594c73ae677e37dbba0ac088c9010d6e2f824d442ccdb7f695642bd06cce75c85473d863823c20a46fbe27e966ae3fed147 libwacom-1.2.tar.bz2
-5aebef9f8b224c83fa9f175b2cfec0198aeb0b462b2bb55c02e0cf10ef78f8af66def81f715fc3d95e8d7191f6fb688795f3561eb6850eed76105f865229d3f4 musl-test.patch"
+sha512sums="beb92051d1a2be5079518b9f254e5621bf7c13ab92f811d5a1b7d19eb0ecddb28d94db0e1724b379be8970b0de0e7d3eb4d3c15b4aeedacc623357e10740355c libwacom-1.3.tar.bz2
+62b1a137d74e32bd38f807e1dd51150a59f8be105cf1f8a56ec7da8d7139ec5dcd7e4590e12e5cd1e4a81a34d9a50d4c82df933187026760a39f351b4b5d1789 musl-test.patch"
diff --git a/user/libwacom/musl-test.patch b/user/libwacom/musl-test.patch
index 74625f02b..cc4add634 100644
--- a/user/libwacom/musl-test.patch
+++ b/user/libwacom/musl-test.patch
@@ -1,6 +1,6 @@
--- libwacom-1.2/meson.build.old 2019-12-22 21:45:06.000000000 +0000
+++ libwacom-1.2/meson.build 2019-12-25 11:43:51.004107631 +0000
-@@ -555,7 +555,7 @@
+@@ -588,7 +588,7 @@
# because of the tricks we use in calling the function and exposing
# it to begin with, LTO gets confused and this fails to link.
# Let's just disable it here.
@@ -12,9 +12,9 @@
--- libwacom-1.2/meson_options.txt.old 2019-11-07 02:25:47.000000000 +0000
+++ libwacom-1.2/meson_options.txt 2019-12-25 11:45:11.585452086 +0000
@@ -10,4 +10,8 @@
- type: 'boolean',
- value: true,
- description: 'Build the tests [default=true]')
+ type: 'feature',
+ value: 'enabled',
+ description: 'Build the tests [default=enabled]')
+option('test_deprecated',
+ type: 'boolean',
+ value: true,
diff --git a/user/libwnck/APKBUILD b/user/libwnck/APKBUILD
index 5eb5e4e81..2a33337a0 100644
--- a/user/libwnck/APKBUILD
+++ b/user/libwnck/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=libwnck
-pkgver=3.32.0
+pkgver=3.36.0
_pkgmaj=${pkgver%.*}
-pkgrel=1
+pkgrel=0
pkgdesc="Window navigator construction kit library from Gnome"
url="https://gnome.org"
arch="all"
@@ -28,4 +28,4 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="a939b96feda20b0eba2b87556b97a9ba4b9aaea4c82c0e274a23796a3a9b49cb93be582d79e32a52a87b5ca6e35182a9d617cb802802b3c2ba2bff2b028aa3de libwnck-3.32.0.tar.xz"
+sha512sums="b7bf5d935327f61634a898594cf20a270e1b403c8df6c74e6ac20e22eea2845ac8c3007b31994728b74953e40c1015373efe10ed64243cf5e85fd210654aecb3 libwnck-3.36.0.tar.xz"
diff --git a/user/libzip/APKBUILD b/user/libzip/APKBUILD
index 379075ae7..62a55bfba 100644
--- a/user/libzip/APKBUILD
+++ b/user/libzip/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=libzip
-pkgver=1.5.2
+pkgver=1.6.1
pkgrel=0
pkgdesc="C library for manipulating ZIP archives"
url="https://libzip.org/"
@@ -11,7 +11,7 @@ arch="all"
license="BSD-3-Clause"
depends=""
depends_dev="zlib-dev"
-makedepends="$depends_dev cmake openssl-dev perl"
+makedepends="$depends_dev cmake groff openssl-dev perl"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
source="https://libzip.org/download/$pkgname-$pkgver.tar.xz"
@@ -44,4 +44,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}
-sha512sums="1e6d48ddbac4d270f70b314f6ada3c93a3196a8cc3b8d17c6cf5ea8409ff29f36ac351206675f9d81351fcf633b0c15d7b0b5530c30c4140e4fe55e64c602643 libzip-1.5.2.tar.xz"
+sha512sums="dcf3790933c95f66bdcbdb276497b36e57776103b0b1064a94479e84eaa0a09df8dd91509cb4ccab3a6724f0650f076ca1e332d73acc94b653e99a3e94a64574 libzip-1.6.1.tar.xz"
diff --git a/user/lilo/APKBUILD b/user/lilo/APKBUILD
new file mode 100644
index 000000000..606b633b3
--- /dev/null
+++ b/user/lilo/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=lilo
+pkgver=24.2
+pkgrel=0
+pkgdesc="Minimal BIOS bootloader for x86 systems"
+url="https://www.joonet.de/lilo/"
+arch="pmmx x86 x86_64"
+options="!check" # No test suite.
+license="BSD-3-Clause AND GPL-2.0+ AND Public-Domain"
+depends="perl"
+makedepends="dev86 linux-headers lvm2-dev sharutils"
+subpackages="$pkgname-doc"
+triggers="$pkgname.trigger=/boot"
+source="https://www.joonet.de/lilo/ftp/sources/lilo-$pkgver.tar.gz
+ adelie.patch
+ cflags.patch
+ musl.patch
+ partuuid.patch
+ lilo.conf.template
+ "
+
+build() {
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir"/etc/lilo/kernel \
+ "$pkgdir"/etc/lilo/initramfs \
+ "$pkgdir"/usr/sbin/mkrescue \
+ "$pkgdir"/usr/share/man/man8/mkrescue.8
+
+ mkdir "$pkgdir"/boot/lilo/gfx
+ mv "$pkgdir"/boot/lilo/*.bmp \
+ "$pkgdir"/boot/lilo/*.dat \
+ "$pkgdir"/boot/lilo/gfx
+
+ install -Dm644 "$srcdir"/lilo.conf.template \
+ "$pkgdir"/etc/lilo/lilo.conf.template
+ mv "$pkgdir"/etc/lilo/lilo.conf_example \
+ "$pkgdir"/etc/lilo/lilo.conf.example
+}
+
+sha512sums="4437cae21345f483194a5dc95f686f3f3cb2beec78faae3fba959db25eae29fe2c56732e055c05f1d101682c5d442cdc9561fae8074f61f5537dde0413204c54 lilo-24.2.tar.gz
+cf8dab563e88cc7b280f5740c3b0f25049b9ce27c77a67e7b0c55dc21a158f8b2998f0c7743f11bcc4ae893697e6b6cc56054a40919899bf2d6d79b4e1a59190 adelie.patch
+ed1ffb03dbbbf6fe6974d045005f72b3657d470cd3f3556d582e09a38836090c3e75a684a1dcfbe7ade91e5ada3706b712ae7111460df85454518a746c60bde4 cflags.patch
+1c1ce61d2d7c88c1ba66e1415b36edb6743f46a50857b5bcd2b6b28a0711e4de3f0a75c352a5997bc9b5d50b0754c49a3f69b736e07a6e389c02da004289c64f musl.patch
+3962bf30a866f31fa5263618210d61ac5663117cac1d5a52a5e14f3665ff8edfd628c80807591f3da5f2e6908b8c0af9b19fac32f6ab90e6c4755bf79cb34d5a partuuid.patch
+489f57d29ee6607fb7040a33655bc369a510290804ae11686e02ba91d6cd3401175fa93d8d74da6058f03126b924004d28d5145ec5df70be4d04acba112c5729 lilo.conf.template"
diff --git a/user/lilo/adelie.patch b/user/lilo/adelie.patch
new file mode 100644
index 000000000..29983faff
--- /dev/null
+++ b/user/lilo/adelie.patch
@@ -0,0 +1,400 @@
+Adjust paths so that lilo has its own dir in /etc and /boot.
+
+--- lilo-24.2/make.vars 2013-06-07 02:50:30.000000000 -0500
++++ lilo-24.2/make.vars 2020-03-19 15:50:13.710057044 -0500
+@@ -90,8 +90,8 @@ OPT=-Os
+ #
+
+ SBIN_DIR=/sbin
+-CFG_DIR=/etc
+-BOOT_DIR=/boot
++CFG_DIR=/etc/lilo
++BOOT_DIR=/boot/lilo
+ USRSBIN_DIR=/usr/sbin
+ BUILTIN=1
+
+--- lilo-24.2/src/config.h 2011-06-22 02:13:58.000000000 -0500
++++ lilo-24.2/src/config.h 2020-03-19 15:34:21.320045281 -0500
+@@ -39,8 +39,8 @@
+ #define DFL_CHAIN LILO_DIR "/chain.b" /* default chain loader */
+ #define DFL_MBR LILO_DIR "/mbr.b" /* default MBR */
+ #else
+-#define CFG_DIR "/etc" /* location of configuration files */
+-#define BOOT_DIR "/boot" /* location of boot files */
++#define CFG_DIR "/etc/lilo" /* location of configuration files */
++#define BOOT_DIR "/boot/lilo" /* location of boot files */
+ #define BACKUP_DIR BOOT_DIR /* boot sector and partition table backups */
+ #define DFL_CONFIG CFG_DIR "/lilo.conf"/* default configuration file */
+ #define DFL_DISKTAB CFG_DIR "/disktab" /* LILO's disk parameter table */
+--- lilo-24.2/sample/lilo.example.conf 2015-11-20 14:50:03.000000000 -0600
++++ lilo-24.2/sample/lilo.example.conf 2020-03-19 15:53:08.030059197 -0500
+@@ -1,4 +1,4 @@
+-# /etc/lilo.conf - systemwide LILO configuration (LILO 24)
++# /etc/lilo/lilo.conf - systemwide LILO configuration (LILO 24)
+ # details see in manpages: lilo(8) and lilo.conf(5)
+
+ # +-------------------------------------------------------------+
+@@ -50,7 +50,7 @@ root = /dev/sda1
+ # Specifies the location of the map file. Lilo creates the (sector)
+ # map file of direct sector addresses which are independent of any
+ # filesystem.
+-map = /boot/map
++map = /boot/lilo/map
+
+ # ---------------------------------------------------------------
+
+@@ -63,7 +63,7 @@ install = menu
+ # A) Customized boot message for choice 'text'.
+ # For the simple text menu you can set an extra message in the
+ # created file. Its text will be displayed before boot prompt.
+-#message = /boot/message.txt
++#message = /boot/lilo/message.txt
+
+ # B) Configuration of the scheme for choice 'menu'.
+ # Use following coding: <text>:<highlight>:<border>:<title>
+@@ -83,7 +83,7 @@ menu-scheme = Wb:Yr:Wb:Wb
+ # with 16 colors: onlyblue, tuxlogo, inside
+ # with 256 colors: coffee
+ # for Debian: debianlilo, debian, debian-de
+-#bitmap = /boot/tuxlogo.bmp
++#bitmap = /boot/lilo/gfx/tuxlogo.bmp
+
+ # ---------------------------------------------------------------
+
+--- lilo-24.2/scripts/liloconfig 2015-11-21 18:00:21.000000000 -0600
++++ lilo-24.2/scripts/liloconfig 2020-03-19 15:23:42.240037388 -0500
+@@ -44,7 +44,7 @@ getopts('hvfu');
+ pod2usage(1) if $opt_h;
+
+ #---- other variables
+-our $liloconf = "/etc/lilo.conf";
++our $liloconf = "/etc/lilo/lilo.conf";
+ our $conftmp_1 = "/tmp/lilotmp1";
+ our $conftmp_2 = "/tmp/lilotmp2";
+ our $liloconfold = $liloconf . ".old";
+@@ -54,7 +54,7 @@ our $fstabconf = "/etc/fstab";
+ our $idpath = "/dev/disk/by-id";
+ our $uuidpath = "/dev/disk/by-uuid";
+ our $lblpath = "/dev/disk/by-label";
+-our $template = "/usr/share/doc/lilo/examples/lilo.example.conf.gz";
++our $template = "/etc/lilo/lilo.conf.template";
+
+ our $rootpart; # found root part
+ our $root_dev; # /dev/hdX9, /dev/sdX9, /dev/md/*
+@@ -399,8 +401,12 @@ sub copy_template {
+
+ # copy template config
+ if (-f $template) {
+- system("gzip -d -c $template >$conftmp_1") if ($template =~ /\.gz$/);
+- system("cat $template >$conftmp_1") if ($template =~ /\.conf$/);
++ if ($template =~ /\.gz$/) {
++ system("gzip -d -c $template >$conftmp_1");
++ }
++ else {
++ system("cat $template >$conftmp_1");
++ }
+
+ open(CONFTMP1, "<$conftmp_1") or die "$prog: couldn't open $conftmp_1: $!\n";
+ open(CONFTMP2, ">$conftmp_2") or die "$prog: couldn't open $conftmp_2: $!\n";
+@@ -418,7 +418,7 @@ sub copy_template {
+ }
+ else {
+ open(CONFTMP2, ">$conftmp_2") or die "$prog: couldn't open $conftmp_2: $!\n";
+- print CONFTMP2 "# /etc/lilo.conf
++ print CONFTMP2 "# /etc/lilo/lilo.conf
+
+ ### LILO global section ###
+
+@@ -426,7 +426,7 @@ sub copy_template {
+ lba32
+ boot = /dev/sda
+ root = /dev/sda1
+-map = /boot/map
++map = /boot/lilo/map
+ install = menu
+ menu-scheme = Wb:Yr:Wb:Wb
+ prompt
+@@ -781,7 +781,7 @@ lilo.conf file you find many useful comm
+ Please pay attention about error messages if liloconfig cannot find
+ any images (/boot/vmlinuz*) oder image symlinks (/vmlinuz, /vmlinu.old).
+ Then you need to search for images by ourself and make some changes
+-in the '/etc/lilo.conf' file. Otherwise no bootloader can be installed
++in the '/etc/lilo/lilo.conf' file. Otherwise no bootloader can be installed
+ with '/sbin/lilo'.
+
+ =head1 OPTIONS
+@@ -808,7 +808,7 @@ Force overriding/update of boot line in
+
+ =head1 EXAMPLES
+
+-Lines in the configuration file /etc/lilo.conf:
++Lines in the configuration file /etc/lilo/lilo.conf:
+
+ ### LILO global section ###
+
+@@ -818,7 +818,7 @@ Lines in the configuration file /etc/lil
+ boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999
+ #root = /dev/sda1
+ root = "UUID=18843936-00f9-4df0-a373-000d05a5dd44"
+- map = /boot/map
++ map = /boot/lilo/map
+ install = menu
+ menu-scheme = Wb:Yr:Wb:Wb
+ prompt
+--- lilo-24.2/scripts/lilo-uuid-diskid 2014-10-16 16:53:29.000000000 -0500
++++ lilo-24.2/scripts/lilo-uuid-diskid 2020-03-19 15:28:07.360040662 -0500
+@@ -1,7 +1,7 @@
+ #!/usr/bin/perl -w
+
+ # lilo-uuid-diskid - convert boot and root options to diskid
+-# and uuid in /etc/lilo.conf
++# and uuid in /etc/lilo/lilo.conf
+ #
+ # Copyright 2010-2014 Joachim Wiedorn <joodevel at joonet.de>
+ #
+@@ -41,7 +41,7 @@ getopts('hv');
+ pod2usage(1) if $opt_h;
+
+ #---- other variables
+-our $liloconf = "/etc/lilo.conf";
++our $liloconf = "/etc/lilo/lilo.conf";
+ our $liloconfold = $liloconf . ".old";
+ our $liloconfnew = $liloconf . ".new";
+ our $fstabconf = "/etc/fstab";
+@@ -454,7 +454,7 @@ Print verbose messages.
+
+ =head1 EXAMPLES
+
+-Lines in the configuration file /etc/lilo.conf:
++Lines in the configuration file /etc/lilo/lilo.conf:
+
+ #boot = /dev/sda
+ boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999
+--- lilo-24.2/man/keytab-lilo.8 2010-06-28 15:41:18.000000000 -0500
++++ lilo-24.2/man/keytab-lilo.8 2020-03-19 16:01:06.730065109 -0500
+@@ -37,7 +37,7 @@ to set the keyboard type when booting
+ [using the
+ .B keytable
+ parameter in
+-.BR /etc/lilo.conf ].
++.BR /etc/lilo/lilo.conf ].
+
+ .I kbd_layout
+ should be the name of a map file which specifies the desired
+@@ -68,7 +68,7 @@ output, so you should redirect it to a s
+ .B lilo
+ has no particular restrictions on the name of keyboard translation
+ files, but the suggested naming convention and location is
+-.BI /boot/ mapping .ktl
++.BI /boot/lilo/ mapping .ktl
+ (where
+ .B .ktl
+ stands for "Keyboard Table for Lilo").
+@@ -86,11 +86,11 @@ respectively.
+
+ .SH "EXAMPLES"
+ .TP
+-.B keytab\-lilo dvorak >/boot/dvorak.ktl
++.B keytab\-lilo dvorak >/boot/lilo/dvorak.ktl
+
+ This is the most common form of invocation; it simply compiles the
+ given map file (in this case dvorak) and puts the result in
+-.BR /boot/dvorak.ktl .
++.BR /boot/lilo/dvorak.ktl .
+
+ .SH "AUTHOR"
+ Werner Almesberger (almesber@bernina.ethz.ch).
+--- lilo-24.2/man/lilo-uuid-diskid.8 2015-11-21 17:25:42.000000000 -0600
++++ lilo-24.2/man/lilo-uuid-diskid.8 2020-03-19 15:59:05.390063610 -0500
+@@ -100,7 +100,7 @@ Print a brief help.
+ Print verbose messages.
+ .SH "EXAMPLES"
+ .IX Header "EXAMPLES"
+-Lines in the configuration file /etc/lilo.conf:
++Lines in the configuration file /etc/lilo/lilo.conf:
+ .PP
+ .Vb 2
+ \& #boot = /dev/sda
+--- lilo-24.2/man/lilo.8 2015-11-21 17:25:31.000000000 -0600
++++ lilo-24.2/man/lilo.8 2020-03-19 16:01:39.580065515 -0500
+@@ -108,7 +108,7 @@ Auxiliary uses:
+ .SH "DESCRIPTION"
+ .IX Header "DESCRIPTION"
+ lilo installs a boot loader that will be activated the next time you boot
+-your system. The default configuration file \fI/etc/lilo.conf\fR (see manpage
++your system. The default configuration file \fI/etc/lilo/lilo.conf\fR (see manpage
+ \&\fIlilo.conf\fR\|(5)) will contain most options, but many, including those which
+ override the configuration file, may be specified on the command line.
+ .SH "OPTIONS"
+@@ -140,7 +140,7 @@ Speeds up the booting especially from fl
+ .IP "\fB\-C\fR \fIconfig-file\fR" 4
+ .IX Item "-C config-file"
+ Set another pathname and filename for the configuration file. The default
+-configuration file is \fI/etc/lilo.conf\fR.
++configuration file is \fI/etc/lilo/lilo.conf\fR.
+ .IP "\fB\-d\fR \fIdelay-time\fR" 4
+ .IX Item "-d delay-time"
+ Set the delay time in tenths of a second ('20' = 2 sec) before automatically
+@@ -171,7 +171,7 @@ header will be lost. It can be restored
+ a text-based backup for the \s-1LILO\s0 header information.
+ .IP "\fB\-f\fR \fIdisk-tab\fR" 4
+ .IX Item "-f disk-tab"
+-Set another disk geometry parameter file. The default is \fI/etc/disktab\fR.
++Set another disk geometry parameter file. The default is \fI/etc/lilo/disktab\fR.
+ .IP "\fB\-F\fR" 4
+ .IX Item "-F"
+ Override boot sector check for filesystems (e.g., swap, ext4, xfs ...) which
+@@ -204,7 +204,7 @@ addresses, allowing access to all partit
+ (This is the default geometry).
+ .IP "\fB\-m\fR \fImap-file\fR" 4
+ .IX Item "-m map-file"
+-Use another map file instead of the default file /boot/map.
++Use another map file instead of the default file /boot/lilo/map.
+ .IP "\fB\-M\fR \fImaster-device\fR \fB{mbr|ext}\fR" 4
+ .IX Item "-M master-device {mbr|ext}"
+ Install a Master Boot Record on the device specified as master-device, selecting
+@@ -232,7 +232,7 @@ sector. Compare with the '\-F' flag, whi
+ boot sector.
+ .Sp
+ \&\fB<global\-option>\fR allows the passing of any global option which may
+-appear in the global section (top) of the configuration file (\fI/etc/lilo.conf\fR).
++appear in the global section (top) of the configuration file (\fI/etc/lilo/lilo.conf\fR).
+ For instance \fI'\-P nowarn'\fR will pass the 'nowarn' option, just as though 'nowarn'
+ appeared in the configuration file (same as the '\-w' switch). Similarly
+ \&\fI'\-P timeout=50'\fR will add or override the 'timeout=' line in the configuration
+@@ -241,7 +241,7 @@ line option switches. However, it is not
+ cause an override of other options; e.g. '\-g' (\-P geometric), '\-L' (\-P lba32).
+ .IP "\fB\-q\fR" 4
+ .IX Item "-q"
+-List the currently mapped files. \fBlilo\fR maintains a file, by default \fI/boot/map\fR,
++List the currently mapped files. \fBlilo\fR maintains a file, by default \fI/boot/lilo/map\fR,
+ containing each name and location of the kernel(s) to boot. This option will list
+ the names therein. Use with \fB\-v\fR for more detailed information about the
+ installed boot loader.
+@@ -249,7 +249,7 @@ installed boot loader.
+ .IX Item "-r root-directory"
+ Before doing anything else, do a \fI'chroot'\fR to the indicated directory. The new
+ root directory must contain a \fI/dev\fR directory and may need a /boot directory.
+-It may also need an \fI/etc/lilo.conf\fR file.
++It may also need an \fI/etc/lilo/lilo.conf\fR file.
+ .IP "\fB\-R\fR \fIcommand-line\fR" 4
+ .IX Item "-R command-line"
+ This option sets the default command for the boot loader for the next time it
+@@ -267,13 +267,13 @@ Refer to \fI\fIlilo.conf\fI\|(5)\fR for
+ .IP "\fB\-s\fR \fIsave-file\fR" 4
+ .IX Item "-s save-file"
+ When lilo writes a new boot sector, it preserves the former contents of the boot
+-sector in a file, named by default /boot/boot.NNNN, where \s-1NNNN\s0 is the hexadecimal
++sector in a file, named by default /boot/lilo/boot.NNNN, where \s-1NNNN\s0 is the hexadecimal
+ representation of the major and minor device numbers of the drive/partition.
+ .Sp
+ This option defines the backup save file in one of three ways: a save directory
+-(default is '/boot') using the default filename 'boot.NNNN' in the defined
++(default is '/boot/lilo') using the default filename 'boot.NNNN' in the defined
+ directory; a pathname template to which '.NNNN' is appended (default would be
+-\&'/boot/boot'); or the full pathname of the file, which must include the correct
++\&'/boot/lilo/boot'); or the full pathname of the file, which must include the correct
+ \&'.NNNN' suffix. When used with the \-u option, the full file pathname must be set.
+ .IP "\fB\-S\fR \fIsave-file\fR" 4
+ .IX Item "-S save-file"
+@@ -386,7 +386,7 @@ removed from the command line before it
+ noted.
+ .IP "\fBlock\fR" 4
+ .IX Item "lock"
+-Locks the command line, as though 'lock' had been defined in \fI/etc/lilo.conf\fR.
++Locks the command line, as though 'lock' had been defined in \fI/etc/lilo/lilo.conf\fR.
+ .IP "\fBmem=###[,K,M,G]\fR" 4
+ .IX Item "mem=###[,K,M,G]"
+ Set the maximum memory in the system in bytes, kilobytes, megabytes or gigabytes.
+--- lilo-24.2/man/lilo.conf.5 2013-06-07 14:17:39.000000000 -0500
++++ lilo-24.2/man/lilo.conf.5 2020-03-19 16:01:57.970065742 -0500
+@@ -25,13 +25,13 @@ lilo.conf \- configuration file for lilo
+ .SH DESCRIPTION
+ .LP
+ This file, by default
+-.IR /etc/lilo.conf ,
++.IR /etc/lilo/lilo.conf ,
+ is read by the boot loader installer 'lilo' (see lilo(8)).
+ .LP
+ It might look as follows:
+ .IP
+ .nf
+-# /etc/lilo.conf
++# /etc/lilo/lilo.conf
+ #
+ # global options:
+ boot=/dev/hda
+@@ -111,7 +111,7 @@ All RAID installations should use only t
+ multiple backups may be created. The '.NNNN' suffix is the hexadecimal
+ representation of the major and minor device numbers of the device or
+ partition. If this option is not specified, the default name of boot sector
+-backups is '/boot/boot.NNNN'. If a backup already exists, it will be
++backups is '/boot/lilo/boot.NNNN'. If a backup already exists, it will be
+ preserved, rather than overwritten. C.f., \fBforce-backup=\fP below.
+ .TP
+ .BI "bios-passes-dl=" <option>
+@@ -334,7 +334,7 @@ viz.,
+ .BI "disktab=" <disktab-file>
+ Specifies the name of the disk parameter table.
+ The map installer looks for
+-.I /etc/disktab
++.I /etc/lilo/disktab
+ if `disktab' is omitted. The use of disktabs is discouraged.
+ .TP
+ .BI "el-torito-bootable-CD"
+@@ -436,7 +436,7 @@ The per-image password option `mandatory
+ .TP
+ .BI "map=" <map-file>
+ Specifies the location of the map file. If `map' is omitted, the file
+-.I /boot/map
++.I /boot/lilo/map
+ is used.
+
+ On machines with a pre-1998 BIOS, the EDD bios extensions which are required
+@@ -812,7 +812,7 @@ requirements of the boot-installer parse
+ an operator. The kernel command line parser is very much simpler, and
+ must not see any quotation marks. Simply stated, only use the quotation
+ marks within
+-.IR /etc/lilo.conf .
++.IR /etc/lilo/lilo.conf .
+ .TP
+ .BI "vga=" <mode>
+ This specifies the VGA text mode that should be selected when
+@@ -1027,7 +1027,7 @@ at the time the boot loader is installed
+ the password, it should be specified: \fBpassword=""\fP.
+ Passwords entered interactively are not required to be entered again if the
+ boot installer is re-run. They are cached, in hashed form, in a companion
+-file to the config-file, default name: \fB/etc/lilo.conf.crc\fP. If the
++file to the config-file, default name: \fB/etc/lilo/lilo.conf.crc\fP. If the
+ config-file is updated, a warning message
+ will be issued telling you to re-run \fIlilo \-p\fP to force re-creation of the
+ password cache file.
+--- lilo-24.2/man/liloconfig.8 2015-11-21 17:25:48.000000000 -0600
++++ lilo-24.2/man/liloconfig.8 2020-03-19 16:02:08.680065874 -0500
+@@ -92,7 +92,7 @@ lilo.conf file you find many useful comm
+ Please pay attention about error messages if liloconfig cannot find
+ any images (/boot/vmlinuz*) oder image symlinks (/vmlinuz, /vmlinu.old).
+ Then you need to search for images by ourself and make some changes
+-in the '/etc/lilo.conf' file. Otherwise no bootloader can be installed
++in the '/etc/lilo/lilo.conf' file. Otherwise no bootloader can be installed
+ with '/sbin/lilo'.
+ .SH "OPTIONS"
+ .IX Header "OPTIONS"
+@@ -110,7 +110,7 @@ Force overriding existing lilo.conf.
+ Force overriding/update of boot line in lilo.conf.
+ .SH "EXAMPLES"
+ .IX Header "EXAMPLES"
+-Lines in the configuration file /etc/lilo.conf:
++Lines in the configuration file /etc/lilo/lilo.conf:
+ .PP
+ .Vb 1
+ \& ### LILO global section ###
+@@ -121,7 +121,7 @@ Lines in the configuration file /etc/lil
+ \& boot = /dev/disk/by\-id/ata\-SAMSUNG_SV1604N_S01FJ10X999999
+ \& #root = /dev/sda1
+ \& root = "UUID=18843936\-00f9\-4df0\-a373\-000d05a5dd44"
+-\& map = /boot/map
++\& map = /boot/lilo/map
+ \& install = menu
+ \& menu\-scheme = Wb:Yr:Wb:Wb
+ \& prompt
diff --git a/user/lilo/cflags.patch b/user/lilo/cflags.patch
new file mode 100644
index 000000000..253d77a33
--- /dev/null
+++ b/user/lilo/cflags.patch
@@ -0,0 +1,13 @@
+Ensure our CFLAGS are being used
+
+--- lilo-24.2/src/Makefile 2015-11-21 17:50:25.000000000 -0600
++++ lilo-24.2/src/Makefile 2020-03-19 04:48:25.069499686 -0500
+@@ -22,7 +22,7 @@ LD86=ld86 -0
+ NASM=nasm
+ G=`cat foo1 foo2 | grep version | cut -d " " -f 3`
+
+-CFLAGS=$(OPT) -Wall $(PCONFIG)
++CFLAGS+=-Wall $(PCONFIG)
+ LIBS=$(DEVMAPPER)
+
+ OBJS=lilo.o raid.o map.o geometry.o boot.o device.o common.o bsect.o cfg.o \
diff --git a/user/lilo/lilo.conf.template b/user/lilo/lilo.conf.template
new file mode 100644
index 000000000..527ecf364
--- /dev/null
+++ b/user/lilo/lilo.conf.template
@@ -0,0 +1,23 @@
+# /etc/lilo/lilo.conf
+
+### LILO global section ###
+
+# Good assumptions for a modern (post-1998) system
+compact
+large-memory
+lba32
+
+# Menu configuration
+install = bmp
+bitmap = /boot/lilo/gfx/tuxlogo.bmp
+
+# Boot the first entry automatically in 10 seconds
+prompt
+timeout = 100
+
+# These will be configured automatically by liloconfig(8)
+boot = ""
+root = ""
+
+### LILO per-image section ###
+
diff --git a/user/lilo/lilo.trigger b/user/lilo/lilo.trigger
new file mode 100644
index 000000000..0f5a802a2
--- /dev/null
+++ b/user/lilo/lilo.trigger
@@ -0,0 +1,93 @@
+#!/bin/sh -e
+conf=/etc/lilo/lilo.conf
+
+# Check whether LILO is installed
+# This function is from /usr/sbin/mkboot from debianutils, with copyright:
+#
+# Debian GNU/Linux
+# Copyright 1996-1997 Guy Maor <maor@debian.org>
+#
+# Modified for Gentoo for use with the lilo ebuild by:
+# Martin Schlemmer <azarah@gentoo.org> (16 Mar 2003)
+#
+# Modified for Adélie for use with the lilo APKBUILD by:
+# Max Rees <maxcrees@me.com> (19 Mar 2020)
+lilocheck() {
+ if ! [ -e "$conf" ]; then
+ cat >&2 <<-EOF
+ *
+ * Could not find '$conf'!
+ *
+ EOF
+ exit 1
+ fi
+
+ if grep -q "^[[:space:]]*password[[:space:]]*=[[:space:]]*\"\"" \
+ "$conf"; then
+ cat >&2 <<-EOF
+ *
+ * You have requested interactive LILO password setup.
+ * Run "lilo -p" by hand.
+ *
+ EOF
+ return 1
+ fi
+
+ bootpart="$(sed -n "s:^boot[ ]*=[ ]*\(.*\)[ ]*:\1:p" "$conf")"
+ if ! [ -b "$bootpart" ]; then
+ cat >&2 <<-EOF
+ *
+ * Could not find '$bootpart'!
+ *
+ EOF
+ exit 1
+ fi
+
+ if ! dd if="$bootpart" ibs=16 count=1 2>/dev/null | grep -q LILO; then
+ cat >&2 <<-EOF
+ *
+ * No LILO signature found on '$bootpart'.
+ * You must run 'lilo' yourself.
+ *
+ EOF
+ return 1
+ fi
+}
+
+if ! [ -e /etc/fstab ]; then
+ cat >&2 <<-EOF
+ *
+ * You are missing an /etc/fstab file, so liloconfig
+ * cannot determine the root filesystem. Skipping
+ * automatic configuration.
+ *
+ EOF
+ exit 0
+fi
+
+if [ -e "$conf" ] && [ "$conf" -nt "$conf.template" ]; then
+ cat >&2 <<-EOF
+ *
+ * You appear to have manually edited '$conf'.
+ * LILO configuration will not be automatically regenerated.
+ *
+ EOF
+ exit 0
+fi
+
+cat >&2 <<-EOF
+*
+* Running liloconfig...
+*
+EOF
+liloconfig -f "$conf"
+touch -r "$conf.template" "$conf"
+
+if lilocheck; then
+ cat >&2 <<-EOF
+ *
+ * Running lilo...
+ *
+ EOF
+ lilo -C "$conf"
+fi
diff --git a/user/lilo/musl.patch b/user/lilo/musl.patch
new file mode 100644
index 000000000..5b95e717f
--- /dev/null
+++ b/user/lilo/musl.patch
@@ -0,0 +1,81 @@
+Regarding O_NOACCESS:
+
+ > Using a value of 3 as the argument to open is a traditional Linux
+ > extension for getting an fd that's usable only for ioctls. That's
+ > reasonable. What's not reasonable or correct is using O_ACCMODE as a
+ > way to get a 3.
+
+https://www.openwall.com/lists/musl/2014/07/01/12
+
+--- lilo-24.2/src/common.h 2015-11-21 17:50:23.000000000 -0600
++++ lilo-24.2/src/common.h 2020-03-19 07:32:52.429998369 -0500
+@@ -26,12 +26,8 @@
+ # define PAGE_SIZE 4096U
+ #endif
+
+-#ifdef O_ACCMODE
+-# define O_NOACCESS O_ACCMODE
+-#else
+ /* open a file for "no access" */
+-# define O_NOACCESS 3
+-#endif
++#define O_NOACCESS 3
+
+ /* special for LILO, bypass the actual open in dev_open( , ,-1) */
+ #define O_BYPASS -1
+--- lilo-24.2/src/config.h 2011-06-22 02:13:58.000000000 -0500
++++ lilo-24.2/src/config.h 2020-03-19 04:43:53.769503552 -0500
+@@ -20,10 +20,6 @@
+ #endif
+
+ #if !__MSDOS__
+-#if !defined(__GLIBC__) || (__GLIBC__ < 2) || \
+- !defined(__GLIBC_MINOR__) || (__GLIBC_MINOR__ < 1)
+-# warning "glibc version 2.1 or later is recommended"
+-#endif /* !__MSDOS__ */
+
+ #define TMP_DEV "/tmp/dev.%d" /* temporary devices are created here */
+ #define MAX_TMP_DEV 50 /* highest temp. device number */
+--- lilo-24.2/src/lilo.c 2015-11-21 17:51:24.000000000 -0600
++++ lilo-24.2/src/lilo.c 2020-03-19 04:34:43.899511387 -0500
+@@ -182,7 +182,6 @@ extern int has_partitions_beta(dev_t dev
+ printf("Without");
+ #endif
+ printf(" device-mapper\n");
+- printf("\nglibc version %d.%d\n", __GLIBC__, __GLIBC_MINOR__);
+ printf("Kernel Headers included from %d.%d.%d\n",
+ LINUX_VERSION_CODE>>16,
+ LINUX_VERSION_CODE>>8 & 255,
+--- lilo-24.2/src/partition.c 2015-11-21 17:50:20.000000000 -0600
++++ lilo-24.2/src/partition.c 2020-03-19 04:41:05.339505952 -0500
+@@ -31,30 +31,6 @@
+ #include "boot.h"
+ #include "loader.h"
+
+-#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 1
+-#if defined(_syscall5) && defined(__NR__llseek)
+-
+- _syscall5(int, _llseek, unsigned int, fd, unsigned int, hi,
+- unsigned int, lo, lloff_t *, res, unsigned int, wh);
+- int _llseek(unsigned int fd, unsigned int offset_high,
+- unsigned int offset_low, lloff_t * result, unsigned int whence);
+-
+- lloff_t lseek64(unsigned int fd, lloff_t offs, unsigned int whence)
+- { lloff_t res;
+- return _llseek(fd, offs>>32, offs, &res, whence) < 0 ?
+- (lloff_t)(-1) : res;
+- }
+-
+-#else
+-/* last ditch attempt on small disks, and very old systems */
+-# warning "*****************************************"
+-# warning "***** no 64 bit lseek is available ******"
+-# warning "***** using 23 bit sector addresses *****"
+-# warning "*****************************************"
+-# define lseek64 lseek
+-#endif
+-#endif
+-
+ static
+ int anywhere(unsigned char *buf, char *str)
+ {
diff --git a/user/lilo/partuuid.patch b/user/lilo/partuuid.patch
new file mode 100644
index 000000000..a1a4fcc10
--- /dev/null
+++ b/user/lilo/partuuid.patch
@@ -0,0 +1,65 @@
+Enable usage of PARTUUID if /etc/fstab uses it for the root filesystem.
+While we're here, make the generated labels for the kernel choices more
+descriptive as well.
+
+--- lilo-24.2/src/bsect.c 2011-06-22 02:09:44.000000000 -0500
++++ lilo-24.2/src/bsect.c 2020-03-19 07:59:59.819990912 -0500
+@@ -1098,6 +1098,9 @@ if (image) { /* long section specific to
+ else if (strlen(root)>5 && !strncmp(root,"UUID=",5)) {
+ sprintf(strchr(options,0),"root=%s ", root);
+ }
++ else if (strlen(root)>9 && !strncmp(root,"PARTUUID=",9)) {
++ sprintf(strchr(options,0),"root=%s ", root);
++ }
+ else {
+ sprintf(strchr(options,0),"root=%x ",dev_number(root));
+ }
+--- lilo-24.2/scripts/liloconfig 2015-11-21 18:00:21.000000000 -0600
++++ lilo-24.2/scripts/liloconfig 2020-03-19 14:36:22.710002318 -0500
+@@ -217,11 +218,12 @@ sub convert_root_device {
+ $found = 0;
+ }
+ }
+- elsif ($rootpart =~ /^UUID/ or $rootpart =~ /^LABEL/) {
++ elsif ($rootpart =~ /^(PART)?UUID/ or $rootpart =~ /^LABEL/) {
+ $root_link = $rootpart;
+ $root_link =~ s{\"}{}g;
+ $root_link =~ s{^LABEL=}{/dev/disk/by-label/};
+ $root_link =~ s{^UUID=}{/dev/disk/by-uuid/};
++ $root_link =~ s{^PARTUUID=}{/dev/disk/by-partuuid/};
+
+ if (-l $root_link) {
+ $root_id = $rootpart;
+@@ -610,6 +610,7 @@ sub write_image_config {
+ my $initrd2;
+ my $nr;
+ my $nr2;
++ my $label;
+
+ # append to new lilo.conf
+ open(MYFH_NEW, ">> $liloconfnew") or die "Cannot open file: $!";
+@@ -627,18 +628,16 @@ sub write_image_config {
+ $initrd2 = $initrd;
+ $initrd2 =~ s/\.img//;
+ $nr2 = $nr + 1;
++ $label = $image;
++ $label =~ s@/boot/vmlinuz-@@;
++ $label =~ s/-[^-]*$//;
++ $label = substr $label, 0, 15;
+
+ print MYFH_NEW 'image = ' . $image . "\n";
+ if($opt_v) { print 'image = ' . $image . "\n"; }
+
+- if ($nr == 0) {
+- print MYFH_NEW "\t" . 'label = "Linux"' . "\n";
+- if($opt_v) { print "\t" . 'label = "Linux"' . "\n"; }
+- }
+- elsif ($nr == 1) {
+- print MYFH_NEW "\t" . 'label = "Linux Old"' . "\n";
+- if($opt_v) { print "\t" . 'label = "Linux Old"' . "\n"; }
+- }
++ print MYFH_NEW "\t" . "label = \"$label\"" . "\n";
++ if($opt_v) { print "\t" . "label = \"$label\"" . "\n"; }
+
+ print MYFH_NEW "\t" . 'read-only' . "\n";
+ if($opt_v) { print "\t" . 'read-only' . "\n"; }
diff --git a/user/lua-yaml/APKBUILD b/user/lua-yaml/APKBUILD
new file mode 100644
index 000000000..f252b3a7b
--- /dev/null
+++ b/user/lua-yaml/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=lua-yaml
+pkgver=6.2.4
+pkgrel=0
+pkgdesc="LibYAML binding for Lua"
+url="https://gvvaughan.github.io/lyaml/"
+arch="all"
+options="!check" # No tests, sweet.
+license="MIT"
+depends="lua5.3"
+makedepends="lua5.3-dev yaml-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gvvaughan/lyaml/archive/v$pkgver.tar.gz"
+builddir="$srcdir/lyaml-$pkgver"
+
+build () {
+ ./build-aux/luke PREFOX=$pkgdir/usr VERSION="${pkgver}"
+}
+
+package() {
+ mkdir -p $pkgdir/usr
+ ./build-aux/luke PREFIX=$pkgdir/usr install
+}
+
+sha512sums="92dea86a3b1d648093d2134ea4c558432b0861942aa141359d1ca9d7bc55f33a62bb38e12fd653d69139e0a6f0ea6202a9e8c57f750a065d35f0dd674eacaf8a lua-yaml-6.2.4.tar.gz"
diff --git a/user/mate-backgrounds/APKBUILD b/user/mate-backgrounds/APKBUILD
index ff2dd8671..7d781f313 100644
--- a/user/mate-backgrounds/APKBUILD
+++ b/user/mate-backgrounds/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=mate-backgrounds
-pkgver=1.24.0
+pkgver=1.24.1
pkgrel=0
pkgdesc="Desktop wallpapers provided by the MATE desktop environment"
url="https://mate-desktop.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="29bb18ad77767593c9428c0bbb28da5b2fccab67b71b7d295784c7ec018692f6d5fcdcbae202549650765bc090932cec99a9ec9066d066dc8b4fc6d7347f5905 mate-backgrounds-1.24.0.tar.xz"
+sha512sums="6af6bd1be186da3c4c594687ece1f6b50c3b05fb0619dd0062955e9e09c8007efe76a7625826cba0e4716c8ed61eac4d372b0a3bf2b87f00b7f170bb97709f09 mate-backgrounds-1.24.1.tar.xz"
diff --git a/user/mate-common/APKBUILD b/user/mate-common/APKBUILD
index 210e68923..2ddf24626 100644
--- a/user/mate-common/APKBUILD
+++ b/user/mate-common/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=mate-common
-pkgver=1.24.0
+pkgver=1.24.1
pkgrel=0
pkgdesc="Additional development support for the MATE desktop environment"
url="https://mate-desktop.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bbeead4b0493e386756670ca31e9f9cca92d9205e84282c87ee73d4a17b77ca258265569dc6f3483566ac04bc4a2de1aa737bcaaecbb01a83c73fb804b18a642 mate-common-1.24.0.tar.xz"
+sha512sums="da3e670e5b4f566bf1893692b34b63d94cb5bd993ce94d0d8245a54c12b2cc2c6af7c29edd184b09ce5296566dbe34112bc318e740a8a7910e4767569e64d623 mate-common-1.24.1.tar.xz"
diff --git a/user/mate-complete/APKBUILD b/user/mate-complete/APKBUILD
index a828fd924..011965eca 100644
--- a/user/mate-complete/APKBUILD
+++ b/user/mate-complete/APKBUILD
@@ -8,7 +8,7 @@ url="https://mate-desktop.org"
arch="noarch"
options="!check" # No tests
license="Public-Domain"
-depends="atril caja caja-dropbox caja-extensions engrampa eom marco
+depends="atril caja caja-dropbox caja-extensions consolekit2 engrampa eom marco
mate-applets mate-backgrounds mate-calc mate-control-center
mate-desktop mate-icon-theme mate-indicator-applet mate-media
mate-menus mate-netbook mate-notification-daemon mate-panel
@@ -17,12 +17,16 @@ depends="atril caja caja-dropbox caja-extensions engrampa eom marco
mate-terminal mate-user-guide mate-user-share mate-utils mozo pluma"
makedepends=""
subpackages=""
-source="org.adelie-linux.about-mate.desktop"
+source="org.adelie-linux.about-mate.desktop
+ mate.desktop"
package() {
- mkdir -p "$pkgdir"/usr/share/applications
+ mkdir -p "$pkgdir"/usr/share/applications "$pkgdir"/usr/share/xsessions
install -Dm644 "$srcdir"/org.adelie-linux.about-mate.desktop \
"$pkgdir"/usr/share/applications
+ install -Dm644 "$srcdir"/mate.desktop \
+ "$pkgdir"/usr/share/xsessions
}
-sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop"
+sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop
+bb01b5fa7b30001ad06833d56b4ab5a6054ba09789b1beb3d6b9ed7b70ef4b304daf5a7e69dde58bef65d6ea82bd623d7576f2e1323e01ea29450cc06af8d78b mate.desktop"
diff --git a/user/mate-complete/mate.desktop b/user/mate-complete/mate.desktop
new file mode 100644
index 000000000..f3c0adda5
--- /dev/null
+++ b/user/mate-complete/mate.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=MATE
+Comment=This session logs you into MATE
+Exec=ck-launch-session --sh-syntax mate-session
+TryExec=mate-session
+Icon=
+Type=Application
+DesktopNames=MATE
+# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
+Keywords=launch;MATE;desktop;session;
+
diff --git a/user/mate-power-manager/APKBUILD b/user/mate-power-manager/APKBUILD
index 3a9c24620..5bc66d5aa 100644
--- a/user/mate-power-manager/APKBUILD
+++ b/user/mate-power-manager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=mate-power-manager
-pkgver=1.24.0
+pkgver=1.24.1
pkgrel=0
pkgdesc="Power management utility for the MATE desktop environment"
url="https://mate-desktop.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6194d1156a004c1006b3b0b5d50a4def5e6d07df5229aafac487843e4e544e144b85e2a9b45ee0b932b8de9a6969aa844f8f61ac607f9f5e6234fd4ff5d8a4d5 mate-power-manager-1.24.0.tar.xz"
+sha512sums="57bae519bfa2894bc6923bf0932f823bcabe2dc0de06dc6676597708482b369a24f39bb94558163f0fdcc2d764702b87f58abc1793679a1c7fb7f53be074bae5 mate-power-manager-1.24.1.tar.xz"
diff --git a/user/mate-session-manager/APKBUILD b/user/mate-session-manager/APKBUILD
index 1947acf5f..2949030fa 100644
--- a/user/mate-session-manager/APKBUILD
+++ b/user/mate-session-manager/APKBUILD
@@ -29,6 +29,7 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir"/usr/share/xsessions
}
sha512sums="ee519c8ded1f2df26e62a1384439e8929942d19560c258c91010f8d34bcc7518975406fbc0a5b76d4e73e954cdc2ea106d71476e446573d4a77d2704f6cc9e37 mate-session-manager-1.24.0.tar.xz"
diff --git a/user/milou/APKBUILD b/user/milou/APKBUILD
index 1aed6cff3..68bc29b40 100644
--- a/user/milou/APKBUILD
+++ b/user/milou/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=milou
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Search and launch plasmoid"
url="https://www.kde.org/"
@@ -11,7 +11,7 @@ depends=""
makedepends="cmake extra-cmake-modules python3 kcoreaddons-dev kdeclarative-dev
ki18n-dev kitemmodels-dev krunner-dev kservice-dev plasma-framework-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/milou-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/milou-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5f5cdf1ff5d18413cc747d3c06b542678bc44af6dcc3670d2805c4902b18997ce8af81f26d94dbe59a49b8c2b882ef25556ae54276e89d85a14f023cae5ddb9a milou-5.18.2.tar.xz"
+sha512sums="812b1ac049c7af9cf625e1203cbb9ae0e36a99ac3b89781f4e007974dca460cbf9e866b3773a2117261bd845d4a7c65f70860b45e54b6b87124695c011a3e51e milou-5.18.4.1.tar.xz"
diff --git a/user/mlt/APKBUILD b/user/mlt/APKBUILD
index fcab2635f..dce0dca9f 100644
--- a/user/mlt/APKBUILD
+++ b/user/mlt/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=mlt
-pkgver=6.18.0
+pkgver=6.20.0
pkgrel=0
pkgdesc="MLT multimedia framework"
url="https://www.mltframework.org/"
@@ -45,5 +45,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af6042fa554a7bf87060aaab401c51111fd03a1e50037024662fe727a2281c218f62db07f2c44db62d46f2b9ff67d4599f7aaccc2b337e20394383a24e3c5953 mlt-6.18.0.tar.gz
+sha512sums="939e837fb07ff0eace308987d83913e979f82c6eb156b40fde784f3f2b031b5f6896ac96dcde1627925cbb6fc76725f3fc4e5b2d0616fae11263648bcdbe82e3 mlt-6.20.0.tar.gz
d00f01d50d5c78b1da5b43dc2b0bbfc49d5e383b602169ae9554734d29f6d43b9da8f97546141933c06ff0367bb4c9f0d2161bbcb6f016265bb0aa1dcbfcb3b1 mlt-6.14.0-locale-header.patch"
diff --git a/user/modemmanager/APKBUILD b/user/modemmanager/APKBUILD
index 62cf584ce..c239f17fc 100644
--- a/user/modemmanager/APKBUILD
+++ b/user/modemmanager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=modemmanager
-pkgver=1.12.6
+pkgver=1.12.8
pkgrel=0
pkgdesc="Software to control mobile broadband modems"
url="https://www.freedesktop.org/wiki/Software/ModemManager/"
@@ -43,6 +43,6 @@ package() {
"$srcdir"/01-org.freedesktop.ModemManager.rules
}
-sha512sums="63c2f874c8ac62ddddf02735cc3dc0dec0c3ea62be39eb7f69cfb899ae04f6d14cfe59d63cd2fa4a5150afa15560d4a6db7a3fdb7c4467f228cd1b4b30fbd1ec ModemManager-1.12.6.tar.xz
+sha512sums="9469b6c1e9927d578c79b821fad05ce9ade4d8d62be8b2399e3c892155ff7125ccc03b8a16912ae534bac32e053cef13bd8d0f79435df1e0cd554b320286f7cd ModemManager-1.12.8.tar.xz
78e1c2ef604fb8b204618b9ecdc741ed7087fcc46ee563dbaaf6c9c0185165be58abfc3bf8ba89129fce7570c172cd1ac1e191e6d1200e3029c14a585ff40b83 no-translit.patch
31ded548acc8ccfcca5cd54384819b73ad9ac83556b754fa03a1a9c08aed7f913c7f066000abef0e52310721ef8c00ca8f48f1f762faaa5792420f62b5201881 01-org.freedesktop.ModemManager.rules"
diff --git a/user/mosquitto/APKBUILD b/user/mosquitto/APKBUILD
index 7e19f62f4..67ec942a1 100644
--- a/user/mosquitto/APKBUILD
+++ b/user/mosquitto/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mosquitto
-pkgver=1.6.8
+pkgver=1.6.9
pkgrel=0
pkgdesc="An Open Source MQTT Broker"
url="https://mosquitto.org/"
@@ -74,7 +74,7 @@ clients() {
mv "$pkgdir"/usr/bin/mosquitto_[ps]ub "$subpkgdir"/usr/bin/
}
-sha512sums="c15897df4e0979ee29a1e67cc671f56db600a078e9eb0bea376248b3f53b13ceed36616ad3678e2c9e07d6834a6d75e4efca2c40086069c1546e0223be04c071 mosquitto-1.6.8.tar.gz
+sha512sums="f78228a1e8305e4d89b34250981ed2c5fe5317636003636dc90f6fa2b1e3ca3c8fadb705ee7301f5252456cb093a6547bd46a255ca3d9fb5cdced697738d6eb7 mosquitto-1.6.9.tar.gz
681fddc737b3ef3e6c052f0c854a730df290352640a18a63e23ef83d14c425558aff87805d1eb95e44de101b5df48872173af9f5414464ffa8cf727ea2c0491e mosquitto.initd
3886171e36f759a717aa6626d5b8dbd392963c737d5de28b4d52b81359008927b99ff7a0ca82f56a0e5deaed4585571759ba9216336a664fd346845837c2bc18 disable-flaky-test.patch
b07f9bec2751ab32c43f53e74d8fca18dbf2d7ce7f8fab562dbcf75de19609ba6219d735ac504697404e0ed36613a14074e3a19e735297195877798f778d337a openrc-conf.patch"
diff --git a/user/mtools/APKBUILD b/user/mtools/APKBUILD
new file mode 100644
index 000000000..34b0b8730
--- /dev/null
+++ b/user/mtools/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=mtools
+pkgver=4.0.24
+pkgrel=0
+pkgdesc="Utilities to access MS-DOS disks without mounting them"
+url="https://www.gnu.org/software/mtools/"
+arch="all"
+options="!check" # No test suite.
+license="GPL-3.0+"
+depends=""
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://ftp.gnu.org/gnu/mtools/mtools-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 -t "$pkgdir"/etc mtools.conf
+ sed -i -e 's/^SAMPLE FILE$/#&/' "$pkgdir"/etc/mtools.conf
+}
+
+sha512sums="b74becc4f696315cfabc016d1746e744b43e366de73bf1bffeec4fbab1e4815967594de8acb4af01f89d36a925f93672efbac205b89540161bd53ab7edebcf04 mtools-4.0.24.tar.bz2"
diff --git a/user/mutt/APKBUILD b/user/mutt/APKBUILD
index 505d0c869..09b0f49d3 100644
--- a/user/mutt/APKBUILD
+++ b/user/mutt/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mutt
-pkgver=1.13.2
+pkgver=1.13.4
pkgrel=0
pkgdesc="Small but very powerful text-mode email client"
url="http://www.mutt.org" # No HTTPS
@@ -57,4 +57,4 @@ package() {
"$pkgdir"/etc/Muttrc.gpg.dist
}
-sha512sums="af6eb8d2125dc49391392f350ec44203824a0cea2856ca194e7f8f534e598049185c813a56053491fda221042d1508a48cf46b2167e2ebf44af7b69938dcb829 mutt-1.13.2.tar.gz"
+sha512sums="59ae13d7cef052818f38f6d52e2cb42251f393ecf622eae113bfa29218b541195471de822efbdb072c6f74a4dc385bb94fe27c37b44c62eac7e2a0a4e0c6adc3 mutt-1.13.4.tar.gz"
diff --git a/user/net-snmp/APKBUILD b/user/net-snmp/APKBUILD
index 3fc1bceb4..8dea420b2 100644
--- a/user/net-snmp/APKBUILD
+++ b/user/net-snmp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=net-snmp
pkgver=5.8
-pkgrel=0
+pkgrel=1
pkgdesc="Simple Network Management Protocol"
url="http://www.net-snmp.org/"
arch="all"
@@ -74,7 +74,7 @@ package() {
install -m644 -D "$srcdir"/snmpd.confd "$pkgdir"/etc/conf.d/snmpd
install -m644 -D "$srcdir"/snmptrapd.confd \
"$pkgdir"/etc/conf.d/snmptrapd
- install -m644 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf
+ install -m600 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf
echo "authCommunity log,execute,net public" > "$pkgdir"/etc/snmp/snmptrapd.conf
mkdir -p "$pkgdir"/var/lib/net-snmp
find "$pkgdir" -name perllocal.pod -delete
diff --git a/user/netqmail/0005-CVE-2005-1513.patch b/user/netqmail/0005-CVE-2005-1513.patch
new file mode 100644
index 000000000..3b3876cb3
--- /dev/null
+++ b/user/netqmail/0005-CVE-2005-1513.patch
@@ -0,0 +1,19 @@
+diff -rNU3 netqmail-1.06.old/alloc.c netqmail-1.06/alloc.c
+--- netqmail-1.06.old/alloc.c 1998-06-15 10:53:16.000000000 +0000
++++ netqmail-1.06/alloc.c 2020-05-21 11:33:24.689739728 +0000
+@@ -1,3 +1,4 @@
++#include <limits.h>
+ #include "alloc.h"
+ #include "error.h"
+ extern char *malloc();
+@@ -15,6 +16,10 @@
+ unsigned int n;
+ {
+ char *x;
++ if (n >= (INT_MAX >> 3)) {
++ errno = error_nomem;
++ return 0;
++ }
+ n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */
+ if (n <= avail) { avail -= n; return space + avail; }
+ x = malloc(n);
diff --git a/user/netqmail/APKBUILD b/user/netqmail/APKBUILD
index 551895f83..45b92dbc8 100644
--- a/user/netqmail/APKBUILD
+++ b/user/netqmail/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=netqmail
pkgver=1.06
-pkgrel=6
+pkgrel=7
pkgdesc="The qmail mail transfer agent (community version)"
url="http://www.netqmail.org/"
arch="all"
@@ -19,6 +19,7 @@ source="http://www.netqmail.org/$pkgname-$pkgver.tar.gz
0002-qbiffutmpx-20170820.patch
0003-qmailremote-20170716.patch
0004-notifyfd.patch
+ 0005-CVE-2005-1513.patch
qmail.run
smtpd.run
smtpsd.run
@@ -106,6 +107,7 @@ ad126cad5c0d35351919ad87022fd94b910519d91cf82f38c158f423bbfc1b82455844a791ba0c69
b3af9c29e6d46daa2a1b9f677c6f32892d5f8c9b8d5c2bdd6f34b106dd5ad41394c05a5ebe145c6e29b4ced4482f08b2d09e7818fd309123c0d087600500e336 0002-qbiffutmpx-20170820.patch
cbebdc72c7cc5c437531c9277534ae552c6d044a83b36e3f3ce60ab5563c55eb814d6c543cc0997abab73075d1b517cc0929dd65674d468d517b0ca38196e2b4 0003-qmailremote-20170716.patch
b32a8a36c8ab8872abd4f1a117482f064a6d631a6bb2ba75cafe61743bef09f923d26935d9514eec33a7dec5aeb3d0b517d677e55924859d2db5233bc11f9f11 0004-notifyfd.patch
+ac8406c1d16ce2e55e47bc83ca6e095833a54de73cecee222cad3fcececa518386b95a11cb0c9c2dcc6851bae28aa539b11069305aa887a291177bf177ee7b01 0005-CVE-2005-1513.patch
954a905bac5e3bc49f180dc0de7f6ee4c4ae8f94dd400ee4b06d3c944f1ff1cfc44bddccb07ae439f2523ad06fcb89023e57d091737da88f836013757794e931 qmail.run
c0cd244af4d8186305c51b0e93960bdb1ea6ce40f1adf20c4f72419aa7498e35649590919ebd16547a0313676bf9171c9efea2ff8ac3a5c773b18473a972a977 smtpd.run
719c4ce5ad93cddeafbb734cffeec3fd959d3f374e44e1f34e9a25d638303dd97df41642d3df5c7a069a8db47d1e31c32a16ecd2d04b72860c4e00bbba0c9fcf smtpsd.run
diff --git a/user/networkmanager/APKBUILD b/user/networkmanager/APKBUILD
index 19ba6c868..a86436b13 100644
--- a/user/networkmanager/APKBUILD
+++ b/user/networkmanager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=networkmanager
-pkgver=1.22.8
+pkgver=1.22.10
pkgrel=0
pkgdesc="Network management daemon"
url="https://wiki.gnome.org/Projects/NetworkManager"
@@ -90,7 +90,7 @@ openrc() {
"$subpkgdir"/etc/NetworkManager/dispatcher.d/
}
-sha512sums="3533f6d0cfb2723078aece287101feda0d4f65a1f0160ae17dd77142ca5e126a0f27f5904c2e2c4dcdf9433dacc3990e1bf366f14e67b94fa1cd3006dd6b3a4c NetworkManager-1.22.8.tar.xz
+sha512sums="342d0c8db2c94992f8f53b13dc4432fe566637e03e1d65cdc44ebf51a4f70d4ec804ebc48ed9cbe010c61abc665f1bb1be22f9364de991d6e5ffc5212b9efd23 NetworkManager-1.22.10.tar.xz
ecd9cb920a125e0e3c4b8c96048ca3ac24490fdd453f0525ecaccf688687692e7a5feaf87eeaf97a2dfb405b2e0db8743114510e30f00f7ae119dc9b9551e7d7 editline.patch
b0b85294c19510893ba30cf3d0e1984430c451273d4eb545760de52c69866a5ed0385f9c14a9bc180da01daad7d1c0da221101e7a826bc5be53c2724c9990d95 errno.patch
7b3cfbea8b80f832862d79fce9f89f604b457744324a8ae6b428cf3cb42ec2536d3c5784303d140d50c5a2cd8caf91d04f5096ef420a57a761e412bf2256bd5a musl.patch
diff --git a/user/nextcloud-client/APKBUILD b/user/nextcloud-client/APKBUILD
index 19b8959ae..b9b3064d6 100644
--- a/user/nextcloud-client/APKBUILD
+++ b/user/nextcloud-client/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=nextcloud-client
-pkgver=2.5.3
+pkgver=2.6.3
pkgrel=0
pkgdesc="Nextcloud desktop client"
url="https://github.com/nextcloud/desktop"
@@ -13,7 +13,7 @@ makedepends="cmake qt5-qttools-dev qtkeychain-dev zlib-dev
subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/nextcloud/desktop/archive/v$pkgver.tar.gz
no-webengine.patch
- openssl.patch"
+ test-fix-include.patch"
builddir="$srcdir/desktop-$pkgver"
build() {
@@ -21,11 +21,10 @@ build() {
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_SYSCONFDIR="/etc/$pkgname" \
- -DNO_SHIBBOLETH=1 \
-DWITH_CRASHREPORTER=bool:OFF \
-DUNIT_TESTING=bool:ON \
- -DNO_SHIBBOLETH=bool:ON .
+ -DNO_SHIBBOLETH=bool:ON \
+ -DNO_WEBENGINE=bool:ON .
make
}
@@ -37,8 +36,12 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ cat > "$pkgdir"/etc/Nextcloud/Nextcloud.conf <<-EOF
+ [General]
+ skipUpdateCheck=true
+ EOF
}
-sha512sums="998e38278472e87e9606fad407ba7b1295594a777845c6fa7413ffb485b3a3b7a26ad8212a1161e1d695d9ecfa066e9090aa633b4ec4af84700c28bc1321b710 nextcloud-client-2.5.3.tar.gz
-17e6a8437d33a2bb1305e45405aee4e23f233e00c232669a1f8317355032d88329899d3f7b65d1069cf1612029b589a575b0f64018b9b23d239a73c5f4bed2ce no-webengine.patch
-e323a1074f8ac96667a420f076fdfc988e2fd97cdacd05d83ac54b467b567f5adbf635e7c4fb0414af0012b4016cc4c13441cb35ed3976bc970e514e81b65fd4 openssl.patch"
+sha512sums="ddeb8a32e0208bc415bf421cb3ce05713adb617fa78c0b5cb4d894c9e8d3499dcc495c115de3ea7abb0c402eef4bc64ede8c59a7f056acda47779096fedc8025 nextcloud-client-2.6.3.tar.gz
+38dd89ca2bf67294187bb4d5c59cdf725ec3b502f23bf4a60210e85c66f6a7e00da0e0b41775bc138159bed300dc60a1f179d1d6ad3b7a27e1aadf4f0576f348 no-webengine.patch
+c14054e6dc228ca77a659371b3c151e0551477fce3a2678a54da4ba73adbcf972a78114c5649adc3dc813fb01b55bbb812620caac0bc0460519424c2caa6c81f test-fix-include.patch"
diff --git a/user/nextcloud-client/no-webengine.patch b/user/nextcloud-client/no-webengine.patch
index 762b5092d..cbbfe2a72 100644
--- a/user/nextcloud-client/no-webengine.patch
+++ b/user/nextcloud-client/no-webengine.patch
@@ -1,6 +1,45 @@
---- desktop-2.5.2/src/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/CMakeLists.txt 2019-04-22 04:01:31.260028906 +0000
-@@ -4,7 +4,7 @@
+From 61561d454fec726741a938b81149fa0e2d7db4d6 Mon Sep 17 00:00:00 2001
+From: Max Rees <maxcrees@me.com>
+Date: Mon, 24 Feb 2020 21:32:58 -0600
+Subject: [PATCH] Add support for compiling without QtWebEngine (webflow /
+ flow2 support)
+
+Signed-off-by: Max Rees <maxcrees@me.com>
+---
+ CMakeLists.txt | 7 +++++++
+ src/CMakeLists.txt | 6 +++++-
+ src/gui/CMakeLists.txt | 25 +++++++++++++++-------
+ src/gui/accountmanager.cpp | 2 ++
+ src/gui/creds/credentialsfactory.cpp | 4 ++++
+ src/gui/wizard/owncloudsetuppage.cpp | 4 ++++
+ src/gui/wizard/owncloudwizard.cpp | 31 +++++++++++++++++++++++++++-
+ src/gui/wizard/owncloudwizard.h | 6 ++++++
+ src/libsync/networkjobs.cpp | 8 +++++++
+ 9 files changed, 83 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8e92e250..90719c222 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -167,6 +167,13 @@ if(NO_SHIBBOLETH)
+ add_definitions(-DNO_SHIBBOLETH=1)
+ endif()
+
++# Disable webengine-based components
++option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
++if(NO_WEBENGINE)
++ message("Compiling without webengine")
++ add_definitions(-DNO_WEBENGINE=1)
++endif()
++
+ if(APPLE)
+ set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9f854b006..881daec8e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -4,11 +4,15 @@ endif()
set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
@@ -9,26 +48,35 @@
if (Qt5Core_VERSION VERSION_LESS 5.9.0)
message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.")
endif()
---- desktop-2.5.2/src/gui/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/CMakeLists.txt 2019-04-22 04:15:53.230034980 +0000
-@@ -40,7 +40,6 @@
- wizard/owncloudoauthcredspage.ui
- wizard/owncloudsetupnocredspage.ui
- wizard/owncloudwizardresultpage.ui
-- wizard/webview.ui
- )
- set(client_SRCS
-@@ -103,8 +102,6 @@
++if(NOT NO_WEBENGINE)
++ find_package(Qt5 5.6 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
++endif()
++
+ if(NOT TOKEN_AUTH_ONLY)
+ find_package(Qt5Keychain REQUIRED)
+ endif()
+diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
+index 4372a9f23..d62f23d1e 100644
+--- a/src/gui/CMakeLists.txt
++++ b/src/gui/CMakeLists.txt
+@@ -108,24 +108,17 @@ set(client_SRCS
creds/credentialsfactory.cpp
creds/httpcredentialsgui.cpp
creds/oauth.cpp
+- creds/flow2auth.cpp
+ creds/keychainchunk.cpp
- creds/webflowcredentials.cpp
- creds/webflowcredentialsdialog.cpp
wizard/postfixlineedit.cpp
wizard/abstractcredswizardpage.cpp
wizard/owncloudadvancedsetuppage.cpp
-@@ -115,8 +112,6 @@
+ wizard/owncloudconnectionmethoddialog.cpp
+ wizard/owncloudhttpcredspage.cpp
+ wizard/owncloudoauthcredspage.cpp
+- wizard/flow2authcredspage.cpp
+- wizard/flow2authwidget.cpp
+ wizard/owncloudsetuppage.cpp
wizard/owncloudwizardcommon.cpp
wizard/owncloudwizard.cpp
wizard/owncloudwizardresultpage.cpp
@@ -37,169 +85,291 @@
wizard/slideshow.cpp
)
-@@ -295,7 +290,7 @@
+@@ -138,6 +131,18 @@ IF(NOT NO_SHIBBOLETH)
+ )
+ endif()
+
++IF(NOT NO_WEBENGINE)
++ list(APPEND client_SRCS
++ creds/flow2auth.cpp
++ creds/webflowcredentials.cpp
++ creds/webflowcredentialsdialog.cpp
++ wizard/flow2authcredspage.cpp
++ wizard/flow2authwidget.cpp
++ wizard/webviewpage.cpp
++ wizard/webview.cpp
++ )
++endif()
++
+ set(updater_SRCS
+ updater/ocupdater.cpp
+ updater/updateinfo.cpp
+@@ -298,7 +303,11 @@ else()
endif()
add_library(updater STATIC ${updater_SRCS})
-target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets)
-+target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml)
++if(NOT NO_WEBENGINE)
++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets)
++else()
++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml)
++endif()
target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
---- desktop-2.5.2/src/gui/accountmanager.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/accountmanager.cpp 2019-04-22 04:17:04.440035482 +0000
-@@ -253,20 +253,6 @@
+diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
+index eec375180..2d7b0bc30 100644
+--- a/src/gui/accountmanager.cpp
++++ b/src/gui/accountmanager.cpp
+@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
acc->setUrl(urlConfig.toUrl());
}
-- // Migrate to webflow
-- if (authType == QLatin1String("http")) {
-- authType = "webflow";
-- settings.setValue(QLatin1String(authTypeC), authType);
--
-- foreach(QString key, settings.childKeys()) {
-- if (!key.startsWith("http_"))
-- continue;
-- auto newkey = QString::fromLatin1("webflow_").append(key.mid(5));
-- settings.setValue(newkey, settings.value((key)));
-- settings.remove(key);
-- }
-- }
--
++#ifndef NO_WEBENGINE
+ // Migrate to webflow
+ if (authType == QLatin1String("http")) {
+ authType = "webflow";
+@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
+ settings.remove(key);
+ }
+ }
++#endif
+
qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- acc->_serverVersion = settings.value(QLatin1String(serverVersionC)).toString();
---- desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-04-22 04:23:19.590038126 +0000
-@@ -21,7 +21,6 @@
+diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
+index 6062f70eb..723196d08 100644
+--- a/src/gui/creds/credentialsfactory.cpp
++++ b/src/gui/creds/credentialsfactory.cpp
+@@ -21,7 +21,9 @@
#ifndef NO_SHIBBOLETH
#include "creds/shibbolethcredentials.h"
#endif
--#include "creds/webflowcredentials.h"
++#ifndef NO_WEBENGINE
+ #include "creds/webflowcredentials.h"
++#endif
namespace OCC {
-@@ -40,8 +39,6 @@
+@@ -40,8 +42,10 @@ namespace CredentialsFactory {
} else if (type == "shibboleth") {
return new ShibbolethCredentials;
#endif
-- } else if (type == "webflow") {
-- return new WebFlowCredentials;
++#ifndef NO_WEBENGINE
+ } else if (type == "webflow") {
+ return new WebFlowCredentials;
++#endif
} else {
qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
return new DummyCredentials;
---- desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-04-22 04:24:59.360038829 +0000
-@@ -26,7 +26,6 @@
+diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
+index 11b1fc80c..30df7cc7f 100644
+--- a/src/gui/wizard/owncloudsetuppage.cpp
++++ b/src/gui/wizard/owncloudsetuppage.cpp
+@@ -144,7 +144,11 @@ void OwncloudSetupPage::slotLogin()
+ void OwncloudSetupPage::slotGotoProviderList()
+ {
+ _ocWizard->setRegistration(true);
++#ifndef NO_WEBENGINE
+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
++#else
++ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
++#endif
+ _authTypeKnown = true;
+ _checking = false;
+ emit completeChanged();
+diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
+index 2076136ff..8cb91e250 100644
+--- a/src/gui/wizard/owncloudwizard.cpp
++++ b/src/gui/wizard/owncloudwizard.cpp
+@@ -27,8 +27,10 @@
#endif
#include "wizard/owncloudadvancedsetuppage.h"
#include "wizard/owncloudwizardresultpage.h"
--#include "wizard/webviewpage.h"
++#ifndef NO_WEBENGINE
+ #include "wizard/webviewpage.h"
+ #include "wizard/flow2authcredspage.h"
++#endif
#include "QProgressIndicator.h"
-@@ -51,7 +50,6 @@
+@@ -47,14 +49,18 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ , _setupPage(new OwncloudSetupPage(this))
+ , _httpCredsPage(new OwncloudHttpCredsPage(this))
+ , _browserCredsPage(new OwncloudOAuthCredsPage)
++#ifndef NO_WEBENGINE
+ , _flow2CredsPage(new Flow2AuthCredsPage)
++#endif
+ #ifndef NO_SHIBBOLETH
+ , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
+ #endif
, _advancedSetupPage(new OwncloudAdvancedSetupPage)
, _resultPage(new OwncloudWizardResultPage)
, _credentialsPage(nullptr)
-- , _webViewPage(new WebViewPage(this))
++#ifndef NO_WEBENGINE
+ , _webViewPage(new WebViewPage(this))
++#endif
, _setupLog()
, _registration(false)
{
-@@ -64,7 +62,6 @@
+@@ -62,13 +68,17 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ setPage(WizardCommon::Page_ServerSetup, _setupPage);
+ setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
+ setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
++#ifndef NO_WEBENGINE
+ setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
++#endif
+ #ifndef NO_SHIBBOLETH
+ setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
#endif
setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
setPage(WizardCommon::Page_Result, _resultPage);
-- setPage(WizardCommon::Page_WebView, _webViewPage);
++#ifndef NO_WEBENGINE
+ setPage(WizardCommon::Page_WebView, _webViewPage);
++#endif
connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
-@@ -79,7 +76,6 @@
+@@ -80,11 +90,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
+ connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
+ connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#ifndef NO_WEBENGINE
+ connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#endif
#ifndef NO_SHIBBOLETH
connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
#endif
-- connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#ifndef NO_WEBENGINE
+ connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#endif
connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
this, &OwncloudWizard::createLocalAndRemoteFolders);
connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -168,10 +164,6 @@
+@@ -106,12 +120,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
+ connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
+ connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
++#ifndef NO_WEBENGINE
+ connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
++#endif
+
+ customizeStyle();
+
++#ifndef NO_WEBENGINE
+ // allow Flow2 page to poll on window activation
+ connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
++#endif
+ }
+
+ void OwncloudWizard::setAccount(AccountPtr account)
+@@ -180,9 +198,11 @@ void OwncloudWizard::successfulStep()
+ _browserCredsPage->setConnected();
+ break;
+
++#ifndef NO_WEBENGINE
+ case WizardCommon::Page_Flow2AuthCreds:
+ _flow2CredsPage->setConnected();
+ break;
++#endif
+
+ #ifndef NO_SHIBBOLETH
+ case WizardCommon::Page_ShibbolethCreds:
+@@ -190,9 +210,11 @@ void OwncloudWizard::successfulStep()
break;
#endif
-- case WizardCommon::Page_WebView:
-- _webViewPage->setConnected();
-- break;
--
++#ifndef NO_WEBENGINE
+ case WizardCommon::Page_WebView:
+ _webViewPage->setConnected();
+ break;
++#endif
+
case WizardCommon::Page_AdvancedSetup:
_advancedSetupPage->directoriesCreated();
- break;
-@@ -195,8 +187,6 @@
+@@ -217,10 +239,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
#endif
if (type == DetermineAuthTypeJob::OAuth) {
_credentialsPage = _browserCredsPage;
-- } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-- _credentialsPage = _webViewPage;
++#ifndef NO_WEBENGINE
+ } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
+ _credentialsPage = _flow2CredsPage;
+ } else if (type == DetermineAuthTypeJob::WebViewFlow) {
+ _credentialsPage = _webViewPage;
++#endif
} else { // try Basic auth even for "Unknown"
_credentialsPage = _httpCredsPage;
}
---- desktop-2.5.2/src/libsync/networkjobs.h 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/libsync/networkjobs.h 2019-04-22 05:21:11.950062594 +0000
-@@ -411,8 +411,7 @@
- enum AuthType {
- Basic, // also the catch-all fallback for backwards compatibility reasons
- OAuth,
-- Shibboleth,
-- WebViewFlow
-+ Shibboleth
- };
-
- explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr);
---- desktop-2.5.2/src/libsync/networkjobs.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/libsync/networkjobs.cpp 2019-04-22 05:33:28.590067785 +0000
-@@ -922,7 +922,7 @@
-
- // WebViewFlow > OAuth > Shib > Basic
- if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-- result = WebViewFlow;
-+ result = Basic;
+@@ -245,7 +269,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
}
- qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result;
---- desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-04-22 05:32:01.750067173 +0000
-@@ -143,7 +143,7 @@
- void OwncloudSetupPage::slotGotoProviderList()
- {
- _ocWizard->setRegistration(true);
-- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
- _authTypeKnown = true;
- _checking = false;
- emit completeChanged();
-@@ -260,8 +260,6 @@
- return WizardCommon::Page_OAuthCreds;
- case DetermineAuthTypeJob::Shibboleth:
- return WizardCommon::Page_ShibbolethCreds;
-- case DetermineAuthTypeJob::WebViewFlow:
-- return WizardCommon::Page_WebView;
- }
- return WizardCommon::Page_HttpCreds;
- }
---- desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-03-18 21:52:24.000000000 -0400
-+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-04-22 02:07:03.600081984 -0400
-@@ -39,7 +39,6 @@
+ setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
+- if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
++ if (id == WizardCommon::Page_AdvancedSetup
++ && (_credentialsPage == _browserCredsPage
++#ifndef NO_WEBENGINE
++ || _credentialsPage == _flow2CredsPage
++#endif
++ )) {
+ // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
+ // to re-open the browser.
+ button(QWizard::BackButton)->setEnabled(false);
+diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
+index 3cbf89f71..2f398d416 100644
+--- a/src/gui/wizard/owncloudwizard.h
++++ b/src/gui/wizard/owncloudwizard.h
+@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
class OwncloudWizardResultPage;
class AbstractCredentials;
class AbstractCredentialsWizardPage;
--class WebViewPage;
++#ifndef NO_WEBENGINE
+ class WebViewPage;
+ class Flow2AuthCredsPage;
++#endif
/**
* @brief The OwncloudWizard class
-@@ -106,7 +105,6 @@
+@@ -114,11 +116,15 @@ private:
+ #ifndef NO_SHIBBOLETH
+ OwncloudShibbolethCredsPage *_shibbolethCredsPage;
+ #endif
++#ifndef NO_WEBENGINE
+ Flow2AuthCredsPage *_flow2CredsPage;
++#endif
OwncloudAdvancedSetupPage *_advancedSetupPage;
OwncloudWizardResultPage *_resultPage;
AbstractCredentialsWizardPage *_credentialsPage;
-- WebViewPage *_webViewPage;
++#ifndef NO_WEBENGINE
+ WebViewPage *_webViewPage;
++#endif
QStringList _setupLog;
+diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
+index 76789a8ce..73f0bed0e 100644
+--- a/src/libsync/networkjobs.cpp
++++ b/src/libsync/networkjobs.cpp
+@@ -955,12 +955,20 @@ void DetermineAuthTypeJob::checkAllDone()
+
+ // WebViewFlow > OAuth > Shib > Basic
+ if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
++#ifndef NO_WEBENGINE
+ result = WebViewFlow;
++#else
++ result = Basic;
++#endif
+ }
+
+ // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
+ if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
++#ifndef NO_WEBENGINE
+ result = LoginFlowV2;
++#else
++ result = Basic;
++#endif
+ }
+
+ // If we determined that we need the webview flow (GS for example) then we switch to that
+--
+2.25.0
+
diff --git a/user/nextcloud-client/openssl.patch b/user/nextcloud-client/openssl.patch
deleted file mode 100644
index 426fa0cfb..000000000
--- a/user/nextcloud-client/openssl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- desktop-2.5.0-beta2/CMakeLists.txt 2018-08-24 12:54:42.000000000 +0000
-+++ desktop-2.5.0-beta2/CMakeLists.txt 2018-10-03 06:19:15.840263697 +0000
-@@ -183,7 +183,7 @@ if(BUILD_CLIENT)
- endif()
- find_package(Sphinx)
- find_package(PdfLatex)
-- find_package(OpenSSL 1.1 REQUIRED )
-+ find_package(OpenSSL 1.0 REQUIRED )
-
- find_package(ZLIB REQUIRED)
- find_package(GLib2)
diff --git a/user/nextcloud-client/test-fix-include.patch b/user/nextcloud-client/test-fix-include.patch
new file mode 100644
index 000000000..da8423022
--- /dev/null
+++ b/user/nextcloud-client/test-fix-include.patch
@@ -0,0 +1,22 @@
+From f9c6449c050cad673cf37971d9815a35e6ffb5dd Mon Sep 17 00:00:00 2001
+From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com>
+Date: Fri, 12 Oct 2018 15:56:26 +0200
+Subject: [PATCH] Fix include file
+
+---
+ test/testnextcloudpropagator.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/testnextcloudpropagator.cpp b/test/testnextcloudpropagator.cpp
+index 6ad1a6b37..dc2e476ad 100644
+--- a/test/testnextcloudpropagator.cpp
++++ b/test/testnextcloudpropagator.cpp
+@@ -8,7 +8,7 @@
+ #include <QDebug>
+
+ #include "propagatedownload.h"
+-#include "nextcloudpropagator_p.h"
++#include "owncloudpropagator_p.h"
+
+ using namespace OCC;
+ namespace OCC {
diff --git a/user/nftables/APKBUILD b/user/nftables/APKBUILD
index 41e356d37..bc96a18f1 100644
--- a/user/nftables/APKBUILD
+++ b/user/nftables/APKBUILD
@@ -2,9 +2,9 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Contributor: Luis Ressel <aranea@aixah.de>
-# Maintainer:
+# Maintainer: Molly Miller <sysvinit@adelielinux.org>
pkgname=nftables
-pkgver=0.9.3
+pkgver=0.9.4
pkgrel=0
pkgdesc="Netfilter tables userspace tools"
url="https://netfilter.org/projects/nftables"
@@ -47,7 +47,7 @@ package() {
install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
-sha512sums="d264f6fc75c95510e29fe7d5b82ae418d502f40437b098ba6117ffb1374d9989d70a7296e2e58c5fb25142145a987bb9c160902637899f892589809f9541db43 nftables-0.9.3.tar.bz2
+sha512sums="cef5b5f26f3a2893a3eb1323f1f0ecfd6e2865e0eb040e9b7da5824e5be2274b888e661abe96e828add9e951f47303e30cb7c9238d267a031c0f99b5f3b6e2c0 nftables-0.9.4.tar.bz2
f7b18945f0ab8be2a8725fa902cb2499de0a886076ae4cc337ebd845b3ae08f05a75b1680b428075d42558e7953014a227405e748741e6ebc3a7ac84bbf4beaa asciidoctor.patch
4eb1adf003dfcaad65c91af6ca88d91b7904c471aefae67e7d3c2f8e053e1ac196d3437a45d1fed5a855b876a0f1fc58a724e381d2acf1164d9120cadee73eef nftables.confd
58daafb012b7cd0248a7db6e10f6a667e683347aaea7eaa78cb88780272f334e00913cea3fd39a22a4a72acc27fabd101944b40916f4b534ddeb509bd0232017 nftables.initd"
diff --git a/user/node/APKBUILD b/user/node/APKBUILD
index be64aaa46..d60a359af 100644
--- a/user/node/APKBUILD
+++ b/user/node/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=node
-pkgver=10.18.0
+pkgver=10.19.0
pkgrel=0
pkgdesc="JavaScript runtime"
url="https://nodejs.org/"
@@ -71,7 +71,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8fc9062e150af6f054f1ebebbdf67151b16f14bcca9cbb35338a4c7fcd7fa1c3f05c4a7ace12d4153180cec0007a195cbc94942c4d04c3895384dc18951d2c1c node-v10.18.0.tar.xz
+sha512sums="512efc58415ed789938c434af131d76bdd51772cac9f7e380afaa79d83cc9c433a979068fc7272adba6ba6551d195267978e1fc819236926b0d1fd6cf91c5eee node-v10.19.0.tar.xz
27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz
8f64922d586bce9d82c83042a989739cc55ecc5e015778cdfbda21c257aa50527ddb18740985bcb2068e4a749b71eb8a135d9a8152b374d361589df7f33c9b60 libatomic.patch
6d37794c7c78ef92ebb845852af780e22dc8c14653b63a8609c21ab6860877b9dffc5cf856a8516b7978ec704f312c0627075c6440ace55d039f95bdc4c85add ppc32.patch
diff --git a/user/okular/APKBUILD b/user/okular/APKBUILD
index f77196bae..4e9567438 100644
--- a/user/okular/APKBUILD
+++ b/user/okular/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=okular
pkgver=19.12.3
-pkgrel=0
+pkgrel=1
pkgdesc="Universal document reader developed by KDE"
url="https://okular.kde.org/"
arch="all"
@@ -18,8 +18,13 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev
subpackages="$pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/release-service/$pkgver/src/okular-$pkgver.tar.xz
es-doc-fix.patch
+ CVE-2020-9359.patch
"
+# secfixes:
+# 19.12.3-r1:
+# - CVE-2020-9359
+
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
@@ -45,4 +50,5 @@ package() {
}
sha512sums="ccc3c357fefe04691bba7bc803321789c3a1fdad4cfc610e9c425b2373efd94340fa2ceb2e357569ad14f1c0c69ef0db8079d9bc082a6d5708ccbfb3b65d8b3d okular-19.12.3.tar.xz
-de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch"
+de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch
+02b27bd206006dbbafbe74e60665ad5159ef6ea32b8bf1526b9c655c046cb6de08630f28d64c9935e73d5707a30d0835f2ab8cd4521740e5236cefc3d3057d29 CVE-2020-9359.patch"
diff --git a/user/okular/CVE-2020-9359.patch b/user/okular/CVE-2020-9359.patch
new file mode 100644
index 000000000..34ff3e2ce
--- /dev/null
+++ b/user/okular/CVE-2020-9359.patch
@@ -0,0 +1,27 @@
+From 6a93a033b4f9248b3cd4d04689b8391df754e244 Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Tue, 10 Mar 2020 23:07:24 +0100
+Subject: [PATCH] Document::processAction: If the url points to a binary, don't
+ run it
+
+---
+ core/document.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/core/document.cpp b/core/document.cpp
+index 3215a1abc..0aa5b6980 100644
+--- a/core/document.cpp
++++ b/core/document.cpp
+@@ -4388,7 +4388,8 @@ void Document::processAction( const Action * action )
+ {
+ const QUrl realUrl = KIO::upUrl(d->m_url).resolved(url);
+ // KRun autodeletes
+- new KRun( realUrl, d->m_widget );
++ KRun *r = new KRun( realUrl, d->m_widget );
++ r->setRunExecutables(false);
+ }
+ }
+ } break;
+--
+2.25.2
+
diff --git a/user/opengfx/APKBUILD b/user/opengfx/APKBUILD
index 6393b9717..0e79f2369 100644
--- a/user/opengfx/APKBUILD
+++ b/user/opengfx/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=opengfx
-pkgver=0.5.5
+pkgver=0.6.0
pkgrel=0
pkgdesc="Graphics files for OpenTTD"
url="https://www.openttd.org/en/"
@@ -9,11 +9,9 @@ arch="noarch"
options="!check" # Requires GIMP
license="GPL-2.0-only"
depends=""
-makedepends="grfcodec nml"
+makedepends="grfcodec nml cmd:unix2dos cmd:which"
subpackages=""
-source="https://binaries.openttd.org/extra/opengfx/$pkgver/$pkgname-$pkgver-source.tar.xz
- Makefile.patch
- "
+source="https://cdn.openttd.org/opengfx-releases/$pkgver/$pkgname-$pkgver-source.tar.xz"
builddir="$srcdir/$pkgname-$pkgver-source"
build() {
@@ -27,5 +25,4 @@ package() {
done
}
-sha512sums="952fb52e19bd790e335a9df0f11fa29b2fc570b49903419904956cc65883adde93d432160b16682366ab8b973b7852d2d30f574f1840f6fbd082e1addbe5bfe8 opengfx-0.5.5-source.tar.xz
-a337ab4ade493a87d2687a7aa2fb05dcd5718725645950486975a6df309dd1e6631d4b04fa6dcbf590e869b45b037caa32468ea6f677ce458d61950f77c5a006 Makefile.patch"
+sha512sums="275b9040e6938bdd5bee2d39361e0b78f447a8e497cc8ff018c7874dc16a357870f8b560999ebb2f2f0b275644c7c9ce85c964875f5a798e2ec45e62a8bc768f opengfx-0.6.0-source.tar.xz"
diff --git a/user/opengfx/Makefile.patch b/user/opengfx/Makefile.patch
deleted file mode 100644
index 1e4585311..000000000
--- a/user/opengfx/Makefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- opengfx-0.5.3-source/Makefile
-+++ opengfx-0.5.3-source/Makefile
-@@ -99,8 +99,8 @@
- AWK ?= awk
- GREP ?= grep
- PYTHON ?= python
--UNIX2DOS ?= $(shell which unix2dos)
--UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null && echo "-q" || echo "")
-+UNIX2DOS ?= $(shell which unix2dos 2>/dev/null)
-+UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null >&2 && echo "-q" || echo "")
-
- # Graphics processing
- GIMP ?= gimp
-@@ -719,7 +719,7 @@
- $(_E)
- endif
- $(_E) "Release:"
-- $(_E) "bananas: Upload bundle to BaNaNaS
-+ $(_E) "bananas: Upload bundle to BaNaNaS"
- $(_E)
- $(_E) "Valid command line variables are:"
- $(_E) "Helper programmes:"
diff --git a/user/openttd/APKBUILD b/user/openttd/APKBUILD
index c5cf85a3a..44417d5a2 100644
--- a/user/openttd/APKBUILD
+++ b/user/openttd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=openttd
-pkgver=1.9.3
+pkgver=1.10.0
pkgrel=0
pkgdesc="Simulation game based on Transport Tycoon Deluxe"
url="https://www.openttd.org/en/"
@@ -28,4 +28,4 @@ package() {
make install
}
-sha512sums="e2208f730cf26c2df9b1950e885e20471060217dd47f2483db3f1cc86b40658d71208f27caab38a9fa513cfddb33c791a0972336dfa902a6d110ef246d936a34 openttd-1.9.3-source.tar.xz"
+sha512sums="f1727b81a059aa04bea1fb6a9a89ae0619942d6406a77f99e642a60ea9416daa215bbd0cbd183747c2df5f6dea81766b7e04493a52211e55522e8b2642db701a openttd-1.10.0-source.tar.xz"
diff --git a/user/openvpn/APKBUILD b/user/openvpn/APKBUILD
index 76b5b5c68..e34112fc3 100644
--- a/user/openvpn/APKBUILD
+++ b/user/openvpn/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Lee Starnes <lee@canned-death.us>
pkgname=openvpn
-pkgver=2.4.8
+pkgver=2.4.9
pkgrel=0
pkgdesc="A robust, and highly configurable VPN (Virtual Private Network)"
url="https://openvpn.net/"
@@ -19,6 +19,10 @@ source="https://swupdate.openvpn.net/community/releases/$pkgname-$pkgver.tar.gz
openvpn.down
"
+# secfixes:
+# 2.4.9-r0:
+# - CVE-2020-11810
+
build() {
./configure \
--build=$CBUILD \
@@ -59,7 +63,7 @@ pam() {
"$subpkgdir"/usr/lib/openvpn/plugins/
}
-sha512sums="fd559b6fe2323624fce5511f142a005cf62b15cb6c98d29e1aac3785cede6aad53ae9ded46ae1757da79b17820263906d7f7fbc00ea159301c122dd8baabdfad openvpn-2.4.8.tar.gz
+sha512sums="a05cbd6c73809f26cd1b68bd491ceb8fb4ddf2cde0407f73f4c16d97477a4853722a1618e6dcf0b111283f73d9499b593b25107bb1441d9b38c80e76d6bcc69b openvpn-2.4.9.tar.gz
3594937d4cc9d7b87ac6a3af433f651ed9695f41586994f9d9789554fbe3f87f054b997b89486eda4ae0b852d816aac9007222168d585910aa9f255073324bd9 openvpn.initd
6b2353aca9df7f43044e4e37990491b4ba077e259ebe13b8f2eb43e35ca7a617c1a65c5bfb8ab05e87cf12c4444184ae064f01f9abbb3c023dbbc07ff3f9c84e openvpn.confd
cdb73c9a5b1eb56e9cbd29955d94297ce5a87079419cd626d6a0b6680d88cbf310735a53f794886df02030b687eaea553c7c569a8ea1282a149441add1c65760 openvpn.up
diff --git a/user/oxygen/APKBUILD b/user/oxygen/APKBUILD
index e85c84980..b7ab67af6 100644
--- a/user/oxygen/APKBUILD
+++ b/user/oxygen/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=oxygen
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="'Oxygen' theme for KDE"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev libxcb-dev
kdecoration-dev kguiaddons-dev ki18n-dev kservice-dev
kwidgetsaddons-dev kwindowsystem-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/oxygen-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/oxygen-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="02c840d4e7130da9468c01818d9999f2ac8f8ffba0bac27805614ab8ad5133aa76a9153ff0b63553822a0367341dcfd900498366d98fca1ac60e1730e8e4166e oxygen-5.18.2.tar.xz"
+sha512sums="b6804c0ff7b2234603c6e9d0e9957b8eb5b44b663aa427571a841b7ee421c7e95da2213afb4d956390c5a87828a530a13aecf7f86be63c0f56410259771c516d oxygen-5.18.4.1.tar.xz"
diff --git a/user/pangomm/APKBUILD b/user/pangomm/APKBUILD
index 20787b69f..ae190e40d 100644
--- a/user/pangomm/APKBUILD
+++ b/user/pangomm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=pangomm
-pkgver=2.42.0
+pkgver=2.42.1
pkgrel=0
pkgdesc="C++ interfaces for Pango"
url="https://gnome.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2cebf76150414cde96b911eae947a6e1a073352927f01a44ddc276711151dffe0b9d8c54c3df16289d9002f982fa3e3386ddfe002be902f3086b44fff95fdb59 pangomm-2.42.0.tar.xz"
+sha512sums="46ba375e61dd32e268397ecb8e69364b642ea3d9a6c4d9e3e52500e1e1c9fa0c6aa822c6d5046f49a2fe4d9a872c6c2b354134d39c17370abcfc6a1d752223b0 pangomm-2.42.1.tar.xz"
diff --git a/user/papirus-icons/APKBUILD b/user/papirus-icons/APKBUILD
index 6dff3c80d..c3201a64d 100644
--- a/user/papirus-icons/APKBUILD
+++ b/user/papirus-icons/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=papirus-icons
-pkgver=20200201
+pkgver=20200301
pkgrel=0
pkgdesc="Material, flat style icon theme"
url="https://store.kde.org/p/1166289/"
@@ -39,4 +39,4 @@ epapirus() {
mv "$pkgdir"/usr/share/icons/ePapirus "$subpkgdir"/usr/share/icons/
}
-sha512sums="07ed45eb409ed12f57657f058f9a5a03dec77679ed598dc8645536a614ecc5424c60be57f10de20ca72204d2a21152fdd62adadf2637bbfa1266d588c787d7e9 papirus-icons-20200201.tar.gz"
+sha512sums="8b9f0a9b0fdb676365d6b30af8ba8dee71ff433a4c4317151899f09614da3fc9764e5e9c48743cdf7c8fde6eea53a1d3ab37eb890f1486fc54ce328e6af9b348 papirus-icons-20200301.tar.gz"
diff --git a/user/perl-gd/APKBUILD b/user/perl-gd/APKBUILD
index 6ac163fb6..df76050da 100644
--- a/user/perl-gd/APKBUILD
+++ b/user/perl-gd/APKBUILD
@@ -6,7 +6,7 @@ _author=RURBAN
_au=${_author%%"${_author#??}"}
_a=${_author%%"${_author#?}"}
pkgver=2.71
-pkgrel=0
+pkgrel=1
pkgdesc="Perl module for GD graphics library"
url="https://metacpan.org/release/GD"
arch="all"
diff --git a/user/php7-apcu/APKBUILD b/user/php7-apcu/APKBUILD
index e9ad17ae4..94f95e03f 100644
--- a/user/php7-apcu/APKBUILD
+++ b/user/php7-apcu/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=php7-apcu
_pkgname=${pkgname#php7-}
-pkgver=5.1.17
+pkgver=5.1.18
pkgrel=0
pkgdesc="Userland cache for PHP"
url="https://pecl.php.net/package/APCu"
@@ -34,6 +34,9 @@ check() {
package() {
# It didn't listen to DESTDIR
make INSTALL_ROOT="$pkgdir" install
+
+ install -d "$pkgdir"/etc/php/conf.d/
+ echo 'extension=apcu.so' > "$pkgdir"/etc/php/conf.d/00_apcu.ini
}
-sha512sums="7f6a6cd927ed4ff251497c2c79e8d832d1a44ddd59abdb175886d3c12ea27f26142e6b851ac5bb5acb49a0e3a998e9741ba0ff03310f51b9cd188cdf6cf12793 apcu-5.1.17.tgz"
+sha512sums="5e9c5b4540be7abdf2f473d2f8955d8708934a1d6e05cb2c99154cc7ba8a2bbf9afde51769e20f46ef278efd6f60b9172e0864c31e0976b9d3096a337035e7a9 apcu-5.1.18.tgz"
diff --git a/user/php7/APKBUILD b/user/php7/APKBUILD
index a8ef4976e..c86d41e84 100644
--- a/user/php7/APKBUILD
+++ b/user/php7/APKBUILD
@@ -8,10 +8,10 @@
# ----------+---------+------------------------+---------
# bcmath | LGPL2 | ext/bcmath/libbcmath | used
# date | MIT | ext/date/lib | used
-# gd | BSD | ext/gd/libgd | used
+# gd | BSD | ext/gd/libgd | not used
# file | BSD | ext/fileinfo/libmagic | used
# libmbfl | LGPLv2 | ext/mbstring/libmbfl | used
-# oniguruma | BSD | ext/mbstring/oniguruma | used
+# oniguruma | BSD | ext/mbstring/oniguruma | not used
# pcre | BSD | ext/pcre/pcrelib | not used
# sqlite3 | Public | ext/sqlite3/libsqlite | not used
# libzip | BSD | ext/zip/lib | not used
@@ -25,63 +25,68 @@
pkgname=php7
_pkgname=php
-pkgver=7.2.21
+pkgver=7.4.4
pkgrel=0
-_apiver=20170718
+_apiver=20190902
+_zendver=20190902
+_pdover=20170320
pkgdesc="The PHP7 language runtime engine"
url="https://php.net/"
arch="all"
license="PHP-3.01 AND Zend-2.0 AND Custom:TSRM AND LGPL-2.1+ AND MIT AND Beerware AND Public-Domain AND BSD-3-Clause AND Apache-1.0 AND PostgreSQL AND BSD-2-Clause AND Zlib AND BSD-4-Clause"
depends=""
depends_dev="$pkgname=$pkgver-r$pkgrel autoconf icu-dev libedit-dev libxml2-dev
- pcre-dev zlib-dev"
+ pcre2-dev zlib-dev"
makedepends="autoconf
apache-httpd-dev
aspell-dev
+ automake
bison
bzip2-dev
+ cmd:which
curl-dev
db-dev
enchant-dev
freetds-dev
- freetype-dev
gdbm-dev
gettext-tiny
gmp-dev
icu-dev
krb5-dev
libedit-dev
+ libgd-dev
libical-dev
- libjpeg-turbo-dev
- libpng-dev
openssl-dev
- libwebp-dev
libxml2-dev
- libxpm-dev
libxslt-dev
libzip-dev
net-snmp-dev
+ oniguruma-dev
openldap-dev
- pcre-dev
+ pcre2-dev
postgresql-dev
re2c
sqlite-dev
unixodbc-dev
- zlib-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-apache $pkgname-phpdbg
- $pkgname-embed $pkgname-litespeed $pkgname-cgi $pkgname-fpm
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-phpdbg
+ $pkgname-embed $pkgname-cgi $pkgname-fpm $pkgname-apache
$pkgname-pear::noarch $pkgname-dbg"
source="https://www.php.net/distributions/$_pkgname-$pkgver.tar.bz2
$_pkgname-fpm.initd
$_pkgname-fpm.logrotate
$_pkgname-module.conf
disabled-tests.list
- install-pear.patch
+ enchant-2.patch
fpm-paths.patch
- allow-build-recode-and-imap-together.patch
- fix-tests-devserver.patch
- pwbuflen.patch
- enchant-2.patch"
+ getsockopt.patch
+ install-pear.patch
+ no-max-ent-size.patch
+ test-fixes.patch
+ zend_bool.patch
+ zip-glob-pathc.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
_libdir="/usr/lib/$_pkgname"
_extension_dir="$_libdir/modules"
@@ -105,137 +110,133 @@ _extension_confd="/etc/$_pkgname/conf.d"
# 7.2.21-r0:
# - CVE-2019-11041
# - CVE-2019-11042
-
-# Usage: add_ext [with|enable] name [extension dependencies...] [configure options...]
-add_ext() {
- local ext="$1"
+# 7.4.4-r0:
+# - CVE-2019-11043
+# - CVE-2019-11045
+# - CVE-2019-11046
+# - CVE-2019-11047
+# - CVE-2019-11050
+# - CVE-2019-13224
+# - CVE-2020-7059
+# - CVE-2020-7060
+# - CVE-2020-7062
+# - CVE-2020-7063
+# - CVE-2020-7064
+# - CVE-2020-7066
+
+# Usage: _add_ext [with|enable] name [extension dependencies...] [configure options...]
+_add_ext() {
+ _ext="$1"
shift
- # add_ext [with|enable] name -> --[with|enable]-name=shared
- if [ "$ext" = "with" ] || [ "$ext" = "enable" ]; then
- _configure_ext_opts="$_configure_ext_opts --$ext-$1=shared"
- ext="$1"
+ # _add_ext [with|enable] name -> --[with|enable]-name=shared
+ case "$_ext" in
+ with|enable)
+ _configure_ext_opts="$_configure_ext_opts --$_ext-$1=shared"
+ _ext="$1"
shift
- fi
+ ;;
+ esac
- case "$ext" in
- phar) subpackages="$subpackages $pkgname-$ext:$ext";;
- *) subpackages="$subpackages $pkgname-$ext:_extension";;
+ case "$_ext" in
+ phar) subpackages="$subpackages $pkgname-$_ext:$_ext";;
+ *) subpackages="$subpackages $pkgname-$_ext:_extension";;
esac
- _extensions="$_extensions $ext"
+ _extensions="$_extensions $_ext"
- local opt
- local prev
- for opt in $@; do
- case "$opt" in
+ for _opt; do
+ case "$_opt" in
-*)
# Add more configure options
- _configure_ext_opts="$_configure_ext_opts $opt"
+ _configure_ext_opts="$_configure_ext_opts $_opt"
;;
license:*)
# Add custom license
- opt="$(printf '%s' "${opt#license:}" | sed 's/:/ AND /g')"
- eval "_licenses_$ext='$opt'"
+ _opt="$(printf '%s' "${_opt#license:}" | sed 's/:/ AND /g')"
+ eval "_licenses_$_ext='$_opt'"
;;
*)
# Add dependencies
- prev="$(eval echo \$_deps_$ext)"
- eval "_deps_$ext='$prev $opt'"
+ eval "_deps_$_ext=\"\$_deps_$_ext $_opt\""
;;
- esac
+ esac
done
}
-enable_ext() { add_ext enable $@; }
-with_ext() { add_ext with $@; }
+_enable_ext() { _add_ext enable "$@"; }
+_with_ext() { _add_ext with "$@"; }
-enable_ext 'bcmath' \
+_enable_ext bcmath \
license:LGPL-2.0+:PHP-3.01
-with_ext 'bz2'
-enable_ext 'calendar'
-enable_ext 'ctype'
-with_ext 'curl'
-enable_ext 'dba' \
+_with_ext bz2
+_enable_ext calendar
+_enable_ext ctype
+_with_ext curl
+_enable_ext dba \
--with-db4 \
--with-dbmaker=shared \
--with-gdbm
-enable_ext 'dom'
-with_ext 'enchant'
-enable_ext 'exif' mbstring
-enable_ext 'fileinfo' \
+_enable_ext dom
+_with_ext enchant
+_enable_ext exif mbstring
+_enable_ext fileinfo \
license:PHP-3.0:BSD-2-Clause:BSD-3-Clause:Public-Domain
-enable_ext 'ftp'
-with_ext 'gd' \
- --with-freetype-dir=/usr \
- --disable-gd-jis-conv \
- --with-jpeg-dir=/usr \
- --with-png-dir=/usr \
- --with-webp-dir=/usr \
- --with-xpm-dir=/usr
-with_ext 'gettext'
-with_ext 'gmp'
-with_ext 'iconv'
-# Needs makedepeneds=imap-dev
-#with_ext 'imap' \
-# --with-imap-ssl
-enable_ext 'intl'
-enable_ext 'json'
-with_ext 'ldap' \
+_enable_ext ftp
+_enable_ext gd \
+ --with-external-gd
+_with_ext gettext
+_with_ext gmp
+_with_ext iconv
+_enable_ext intl
+_enable_ext json
+_with_ext ldap \
--with-ldap-sasl
-enable_ext 'mbstring' \
+_enable_ext mbstring \
license:PHP-3.01:OLDAP-2.8:BSD-2-Clause:Public-Domain:LGPL-2.0-only:LGPL-2.1-only
-add_ext 'mysqli' mysqlnd openssl \
+_add_ext mysqli mysqlnd openssl \
--with-mysqli=shared,mysqlnd \
--with-mysql-sock=/run/mysqld/mysqld.sock
-enable_ext 'mysqlnd' openssl
-add_ext 'odbc' \
+_enable_ext mysqlnd openssl
+_add_ext odbc \
--with-unixODBC=shared,/usr
-enable_ext 'opcache'
-with_ext 'openssl' \
+_enable_ext opcache
+_with_ext openssl \
--with-system-ciphers \
--with-kerberos
-enable_ext 'pcntl'
-enable_ext 'pdo'
-add_ext 'pdo_dblib' pdo \
+_enable_ext pcntl
+_enable_ext pdo
+_add_ext pdo_dblib pdo \
--with-pdo-dblib=shared
-add_ext 'pdo_mysql' pdo mysqlnd \
+_add_ext pdo_mysql pdo mysqlnd \
--with-pdo-mysql=shared,mysqlnd
-add_ext 'pdo_odbc' pdo \
+_add_ext pdo_odbc pdo \
license:PHP-3.0 \
--with-pdo-odbc=shared,unixODBC,/usr
-add_ext 'pdo_pgsql' pdo \
+_add_ext pdo_pgsql pdo \
--with-pdo-pgsql=shared
-add_ext 'pdo_sqlite' pdo \
+_add_ext pdo_sqlite pdo \
--with-pdo-sqlite=shared,/usr
-with_ext 'pgsql'
-enable_ext 'phar'
-enable_ext 'posix'
-with_ext 'pspell'
-# Needs makedepends=recode-dev
-#with_ext 'recode'
-enable_ext 'session'
-enable_ext 'shmop'
-enable_ext 'simplexml'
-with_ext 'snmp'
-enable_ext 'soap' \
+_with_ext pgsql
+_enable_ext phar
+_enable_ext posix
+_with_ext pspell
+_enable_ext session
+_enable_ext shmop
+_enable_ext simplexml
+_with_ext snmp
+_enable_ext soap \
license:PHP-3.01:PHP-2.02
-# Needs makedepends=libsodium-dev
-#with_ext 'sodium'
-enable_ext 'sockets'
-add_ext 'sqlite3' \
+_enable_ext sockets
+_add_ext sqlite3 \
--with-sqlite3=shared,/usr
-enable_ext 'sysvmsg'
-enable_ext 'sysvsem'
-enable_ext 'sysvshm'
-# Needs makedepends=tidyhtml-dev
-#with_ext 'tidy'
-enable_ext 'tokenizer'
-enable_ext 'wddx' xml
-enable_ext 'xml'
-enable_ext 'xmlreader' dom
-with_ext 'xmlrpc' xml
-enable_ext 'xmlwriter'
-with_ext 'xsl' dom
-enable_ext 'zip' \
- --with-libzip=/usr
+_enable_ext sysvmsg
+_enable_ext sysvsem
+_enable_ext sysvshm
+_enable_ext tokenizer
+_enable_ext xml
+_enable_ext xmlreader dom
+_with_ext xmlrpc xml
+_enable_ext xmlwriter
+_with_ext xsl dom
+_with_ext zip
# secfixes:
# 7.2.5-r0:
@@ -248,13 +249,23 @@ enable_ext 'zip' \
prepare() {
default_prepare
- update_config_sub
- local vapi="$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)"
- if [ "$vapi" != "$_apiver" ]; then
- error "Upstreram API version is now $vapi. Expecting $_apiver"
- error "After updating _apiver, all 3rd-party extensions must be rebuilt."
- return 1
+ _vapi="$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)"
+ if [ "$_vapi" != "$_apiver" ]; then
+ error "Upstream API version $_vapi != $_apiver"
+ die "All third-party extensions must be rebuilt"
+ fi
+
+ _zapi="$(sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h)"
+ if [ "$_zapi" != "$_zendver" ]; then
+ error "Upstream Zend API version $_zapi != $_zendver"
+ die "All third-party extensions must be rebuilt"
+ fi
+
+ _papi="$(sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h)"
+ if [ "$_papi" != "$_pdover" ]; then
+ error "Upstream PDO API version $_papi != $_pdover"
+ die "All third-party extensions must be rebuilt"
fi
# https://bugs.php.net/63362 - Not needed but installed headers.
@@ -271,21 +282,17 @@ prepare() {
# Fix some bogus permissions.
find . -name '*.[ch]' -exec chmod 644 {} +
- # XXX: Delete failing tests.
- sed -n '/^[^#]/p' "$srcdir/disabled-tests.list" | while read item; do
- rm $item
+ # XXX: Disable failing tests.
+ sed -n '/^[^#]/p' "$srcdir/disabled-tests.list" | while read _test; do
+ mv "$_test" "${_test}d"
done
autoconf
}
-# Notes:
-# * gd-jis-conv breaks any non-latin font rendering (vakartel).
-# * libxml cannot be build as shared.
-# * Doesn't work with system-provided onigurama, some tests fail (invalid code
-# point); probably because bundled onigurama is version 5.x, but we have 6.x.
_build() {
- EXTENSION_DIR=$_extension_dir PCRE_INCDIR="/usr/include" ./configure \
+ # libxml cannot be build as shared.
+ EXTENSION_DIR="$_extension_dir" ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
@@ -301,56 +308,61 @@ _build() {
--with-config-file-path=/etc/$_pkgname \
--with-config-file-scan-dir=$_extension_confd \
--disable-short-tags \
- --with-icu-dir=/usr \
--with-libedit \
--without-readline \
- --enable-libxml \
- --with-libxml-dir=/usr \
- --with-pcre-regex=/ \
+ --with-external-pcre \
--with-zlib \
--with-zlib-dir=/usr \
$_configure_ext_opts \
- $@
+ "$@"
make
}
build() {
- # phpdbg
- _build --enable-phpdbg \
- --enable-phpdbg-webhelper \
- --disable-cgi \
- --disable-cli
+ export CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign"
# apache-httpd module
- _build --disable-phpdbg \
+ _build --disable-fpm \
+ --disable-embed \
+ --disable-phpdbg \
--disable-cgi \
--disable-cli \
--with-apxs2
mv libs/libphp7.so sapi/apache2handler/mod_php.so
- # cgi, cli, fpm, embed, litespeed
- _build --disable-phpdbg \
- --enable-fpm \
- --enable-embed \
- --with-litespeed
+ _build --enable-fpm=yes \
+ --enable-embed=yes \
+ --enable-phpdbg=yes \
+ --enable-phpdbg-webhelper=yes
}
check() {
# PHP is so stupid that it's not able to resolve dependencies
# between extensions and load them in correct order, so we must
# help it...
- # opcache is Zend extension, it's handled specially in Makefile
- local php_modules="$(_extensions_by_load_order \
- | grep -vx opcache \
- | xargs -n 1 printf "'$builddir/modules/%s.la' ")"
- sed -i "/^PHP_TEST_SHARED_EXTENSIONS/,/extension=/ \
- s|in \$(PHP_MODULES)\"*|in $php_modules|" Makefile
+ #
+ # * opcache is Zend extension, it's handled specially in Makefile
+ # * skip pdo_dblib since it slowly tries to connect to nonexistent
+ # * ditto snmp
+
+ cat > php-check.ini <<-EOF
+ extension_dir=$builddir/modules
+ $(_extensions_by_load_order \
+ | grep -vxe opcache -e pdo_dblib -e snmp \
+ | sed -e 's/^/extension=/' -e 's/$/.so/')
+ EOF
+
+ # Note: We use the combination of PHPRC=... and
+ # PHP_MODULES=(nothing) so we can set the module load order
+ # correctly. Cf. test-fixes.patch
NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \
SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \
+ TEST_PHP_ARGS="-j$JOBS -W test.log" \
TZ= LANG= LC_ALL= \
- make test
+ PHPRC="$builddir"/php-check.ini \
+ make test PHP_MODULES=
echo 'NOTE: We have skipped quite a lot tests, see disabled-tests.list.'
}
@@ -376,14 +388,13 @@ doc() {
cd "$builddir"
mkdir -p "$subpkgdir/usr/share/doc/$_pkgname"
- cp CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \
- README* UPGRADING* \
+ cp EXTENSIONS LICENSE NEWS README* UPGRADING* \
"$subpkgdir/usr/share/doc/$_pkgname/"
}
apache() {
pkgdesc="PHP7 Module for apache-httpd"
- depends="$pkgname apache-httpd"
+ depends="$pkgname=$pkgver-r$pkgrel apache-httpd"
install -D -m 755 "$builddir"/sapi/apache2handler/mod_php.so \
"$subpkgdir"/usr/libexec/apache2/mod_php.so
@@ -393,37 +404,26 @@ apache() {
phpdbg() {
pkgdesc="Interactive PHP7 debugger"
- #depends="$pkgname" ?
- install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \
- "$subpkgdir"/usr/bin/phpdbg
+ _mv "$pkgdir"/usr/bin/phpdbg "$subpkgdir"/usr/bin/
}
embed() {
pkgdesc="PHP7 Embedded Library"
- #depends="$pkgname" ?
_mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
}
-litespeed() {
- pkgdesc="PHP7 LiteSpeed SAPI"
- #depends="$pkgname" ?
-
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin
-}
-
cgi() {
pkgdesc="PHP7 Common Gateway Interface"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
_mv "$pkgdir"/usr/bin/php-cgi "$subpkgdir"/usr/bin/
}
fpm() {
pkgdesc="PHP7 FastCGI Process Manager"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
cd "$pkgdir"
_mv var "$subpkgdir"/
@@ -431,9 +431,9 @@ fpm() {
_mv usr/sbin "$subpkgdir"/usr/
_mv etc/$_pkgname/php-fpm* "$subpkgdir"/etc/$_pkgname/
- local file; for file in php-fpm.conf php-fpm.d/www.conf; do
- mv "$subpkgdir"/etc/$_pkgname/$file.default \
- "$subpkgdir"/etc/$_pkgname/$file
+ for _file in php-fpm.conf php-fpm.d/www.conf; do
+ mv "$subpkgdir/etc/$_pkgname/$_file.default" \
+ "$subpkgdir/etc/$_pkgname/$_file"
done
install -D -m 755 "$srcdir"/$_pkgname-fpm.initd \
@@ -447,7 +447,7 @@ fpm() {
pear() {
pkgdesc="PHP7 Extension and Application Repository"
- depends="$pkgname $pkgname-xml"
+ depends="$pkgname=$pkgver-r$pkgrel $pkgname-xml=$pkgver-r$pkgrel"
cd "$pkgdir"
# pecl needs xml extension and since we build it as shared, it must be
@@ -455,8 +455,8 @@ pear() {
sed -i 's/\$INCARG/& -d extension=xml.so/' usr/bin/pecl
mkdir -p "$subpkgdir"/usr/bin
- local file; for file in pecl pear peardev; do
- mv usr/bin/$file "$subpkgdir"/usr/bin/$file
+ for _file in pecl pear peardev; do
+ mv "usr/bin/$_file" "$subpkgdir/usr/bin/$_file"
done
_mv etc/php/pear.conf "$subpkgdir"/etc/php/
@@ -475,73 +475,70 @@ phar() {
}
_extension() {
- local ext="${subpkgname#$pkgname-}"
- local extdesc="$(head -n1 "$builddir"/ext/$ext/CREDITS 2>/dev/null ||:)"
- depends="$pkgname"
- local dep; for dep in $(eval echo \$_deps_$ext); do
- depends="$depends $pkgname-$dep"
+ _ext="${subpkgname#$pkgname-}"
+
+ depends="$pkgname=$pkgver-r$pkgrel"
+ for _dep in $(eval echo \$_deps_$_ext); do
+ depends="$depends $pkgname-$_dep=$pkgver-r$pkgrel"
done
- pkgdesc="PHP7 extension: ${extdesc:-$ext}"
- if [ -n "$(eval echo \$_licenses_$ext)" ]; then
- license="$(eval echo \$_licenses_$ext)"
- fi
- local load_order=$(_extension_load_order "$ext")
+ pkgdesc="$(head -n1 "$builddir/_ext/$_ext/CREDITS" 2>/dev/null ||:)"
+ pkgdesc="PHP7 extension: ${pkgdesc:-$_ext}"
- # extension prefix
- local prefix=
- [ "$ext" = "opcache" ] && prefix="zend_"
+ if [ -n "$(eval echo \$_licenses_$_ext)" ]; then
+ license="$(eval echo \$_licenses_$_ext)"
+ fi
- _mv "$pkgdir"/$_extension_dir/$ext.so \
- "$subpkgdir"/$_extension_dir/
+ _mv "$pkgdir/$_extension_dir/$_ext.so" \
+ "$subpkgdir/$_extension_dir/"
- mkdir -p "$subpkgdir"/$_extension_confd
- echo "${prefix}extension=$ext.so" \
- > "$subpkgdir"/$_extension_confd/$(printf %02d $load_order)_$ext.ini
+ _load_order="$(printf %02d "$(_extension_load_order "$_ext")")"
+ case "$_ext" in
+ opcache) _prefix=zend_;;
+ *) _prefix=;;
+ esac
+ mkdir -p "$subpkgdir/$_extension_confd"
+ cat > "$subpkgdir/$_extension_confd/${_load_order}_$_ext.ini" <<-EOF
+ ${_prefix}extension=$_ext.so
+ EOF
}
# Prints a load order (0-based integer) for the given extension name. Extension
# with lower load order should be loaded before exts with higher load order.
-# It's based on number of dependencies of the extension (with exception for
-# "imap"), which is flawed, but simple and good enough for now.
+# It's based on number of dependencies of the extension which is flawed,
+# but simple and good enough for now.
_extension_load_order() {
- local ext="$1"
- local deps="$(eval echo \$_deps_$ext)"
-
- case "$ext" in
- # This must be loaded after recode, even though it does
- # not depend on it.
- imap) echo 1;;
- # depends=$pkgname
- phar) echo 1;;
- *) echo "$deps" | wc -w;;
+ _ext="$1"
+ case "$_ext" in
+ # depends=$pkgname
+ phar) echo 1;;
+ *) echo "$(eval echo \$_deps_$_ext)" | wc -w;;
esac
}
# Prints $_extensions sorted by load order and name.
_extensions_by_load_order() {
- local deps list ext
-
- for ext in $_extensions; do
- list="$list $(_extension_load_order $ext);$ext"
- done
- printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//'
+ for _ext in $_extensions; do
+ printf '%s\n' "$(_extension_load_order $_ext);$_ext"
+ done | sort -t ';' -k 1 | sed -E 's/[0-9]+;//'
}
_mv() {
- local dest; for dest; do true; done # get last argument
- mkdir -p "$dest"
- mv $@
+ for _dest; do true; done # get last argument
+ mkdir -p "$_dest"
+ mv "$@"
}
-sha512sums="b234305f04bd621d355450ba38b34558a5b08403571749ac3b04ffa60d7639e847750109bef09a14f616110ba175b970d68cbae0d0b671c2dfeac6917f12f21d php-7.2.21.tar.bz2
+sha512sums="5676023858ffbef4997c2ed99ce1689de2b56d09a0925b8fc6527d56e7f6031b380e433e417e44f84196e713d84c16b33212ed6d116b5c347d1d60586288c248 php-7.4.4.tar.bz2
cb3ba48fbd412f12d98ef1f88b509b40bc4ca44a16779a06d43e4db3cb8d24d54404b9e11ca941b5339af8d3281ca9c8ea3ba5ced4339f91fb40608b5ce9a647 php-fpm.initd
01d4ba3ef104ea378eb0e8cbb7bdee3fdf65e4bd6865eb3bc6c0dc4af31c2d52887abdf0150b5ef984b877860285a3b1af84b11ffebb5b8b722ea9faf83edfeb php-fpm.logrotate
a7f9ba5e11652fd1cb9e756c3269269a95de083ecb5be936a85c7a09c1396db9088e0251c6a643c40235c0e776fce2a471e5c7f5a033b85c7d3b3110c2b39e48 php-module.conf
-b1008eabc86fcff88336fe2961e3229c159c930a05d97359136c381c5c1cc572a33110308a3e5ef5e31c60327f76c9ef02b375cd2ea8ff9caa7deeddc216f4ce disabled-tests.list
-f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch
+587057aaf93feec2936e2851dbb42ba78310fc012e340d90c58a8912437a8b6a15585895490c31ac31cf36969ea1f2999993c5ca42031c378f31fb83d361fd73 disabled-tests.list
+7c8c3cac9efce81d525cb5a70e1402e393881b83ef4c7b5d39d3565803d21cd283daf3d74e9a8b059ecac66cf339756acc63608ffcb83d960dba86583bd45108 enchant-2.patch
a77dd3bdf9dc7a0f2c06ff3e7c425d062bbaa29902c17402ce98701dc99499be863ad543aa5e6a7d1c249702d6afb193398dd3199ae58e42b32b95d434fb1883 fpm-paths.patch
-f8ecae241a90cbc3e98aa4deb3d5d35ef555f51380e29f4e182a8060dffeb84be74f030a14c6b452668471030d78964f52795ca74275db05543ccad20ef1f2cc allow-build-recode-and-imap-together.patch
-f8bb322e56df79dd9f391737fb8737945cc730b14c7dc2ae8688979c565a9b97f5f2a12c9fcd0d8124624a9d09bd10228147d9e999bb94909bbe249f0a50646c fix-tests-devserver.patch
-8e538063d872f6770a57cdb844226a771ccda3d387dd1f199bb08c274b94fbe12ec0ef6df75c32071f308cb8f4ab51b91b520c7c2ed687adf96d0d322788e463 pwbuflen.patch
-03de56676449ddc1ba1fc9c4fee2b2ed620cd1a8ce52d288c91b42e081182871ade55c8dbbe1c8286bc4eadcd92d497a62ac7b689ea8d6b1bcb5eb25225595c4 enchant-2.patch"
+821bf6fde83302e7613429a61066e2bd3ca4e998dcb7c11e39f4ae84829056537501b47a051e1feba752f72d98644b9a214633db9ccb16d137d3242d145acfe0 getsockopt.patch
+951fa8445c20513aa48bf7c7d773c6b4012322e7e7592c13d965758e761b9898c484f0dbc5ae565c05787e6ab868769c97c71504624b10c9570e1d4214f75b10 install-pear.patch
+5fd358dfd660901c8ffdaffe0bce398ab020f8c1beb89e26ba1b21646212fe132927d52ae088220d0b9c53017cfc67f4c9b88f7602df61d36eba5768ce94e355 no-max-ent-size.patch
+9160e5c6b8bf2d87299f38421caf498519eb42243118570754a5764b5e682c546309548e76df6163df49e841ff51fb07e50fadeed1687da5d73dec1810c393ee test-fixes.patch
+0cd6b8739533511c0d1edcb1ecff4d8d21a6b51d21f77c382645cf31d1645eeb2ebd80e2720557ceefa58f538385e097402bdc50e613dc7699bd8f033aefa543 zend_bool.patch
+1b22dfa547bd1e14e065966f5268adda771c4ad039b83acee30772cd95f0f0b1a320d75fc6ab71a0bc6ca5ce04d58d9f410767c4fae4d5e16537393c78439f21 zip-glob-pathc.patch"
diff --git a/user/php7/disabled-tests.list b/user/php7/disabled-tests.list
index 10117801e..fc1386e2e 100644
--- a/user/php7/disabled-tests.list
+++ b/user/php7/disabled-tests.list
@@ -1,18 +1,14 @@
# Dumb failures
# Expects permissions on /etc to be 40755
ext/standard/tests/file/006_error.phpt
-# session_start() missing - needs session.so
-# Test manually using the following:
-# test.ini contains "extension=./modules/session.so"
-# TEST_PHP_EXECUTABLE=sapi/cli/php sapi/cli/php run-tests.php -c test.ini $f
-Zend/tests/unset_cv05.phpt
-Zend/tests/unset_cv06.phpt
# Tests undefined behavior (integer underflow or overflow)
Zend/tests/dval_to_lval_32.phpt
Zend/tests/int_underflow_32bit.phpt
ext/date/tests/bug53437_var3.phpt
ext/date/tests/bug53437_var5.phpt
ext/date/tests/bug53437_var6.phpt
+ext/exif/tests/bug79046.phpt
+ext/exif/tests/float_cast_overflow.phpt
# General glibc/musl incompatibility related failures
# stdout printed in wrong order
@@ -25,10 +21,17 @@ ext/standard/tests/strings/007.phpt
ext/standard/tests/file/popen_pclose_error.phpt
# "Address in use" instead of "Address already in use" printed for EADDRINUSE
sapi/fpm/tests/socket-ipv4-fallback.phpt
+# strerror differences
+ext/sockets/tests/socket_strerror.phpt
+ext/sockets/tests/socket_create_pair-wrongparams.phpt
+# socket_addrinfo_explain has unexpected ai_canonname member
+ext/sockets/tests/socket_addrinfo_explain.phpt
# locale related failures
# LC_NUMERIC unsupported
ext/standard/tests/strings/sprintf_f_3.phpt
+ext/intl/tests/bug67052.phpt
+ext/json/tests/bug41403.phpt
tests/lang/034.phpt
tests/lang/bug30638.phpt
# LC_ALL unsupported
@@ -43,8 +46,10 @@ ext/standard/tests/strings/htmlentities03.phpt
ext/standard/tests/strings/htmlentities04.phpt
ext/standard/tests/strings/htmlentities15.phpt
ext/standard/tests/strings/strtoupper.phpt
+ext/fileinfo/tests/bug74170.phpt
# LC_MONETARY unsupported
ext/standard/tests/strings/moneyformat.phpt
+ext/soap/tests/bugs/bug39815.phpt
# locale: command not found
ext/standard/tests/strings/setlocale_basic1.phpt
ext/standard/tests/strings/setlocale_basic2.phpt
@@ -53,6 +58,17 @@ ext/standard/tests/strings/setlocale_variation1.phpt
ext/standard/tests/strings/setlocale_variation2.phpt
# setlocale allows "en_US.invalid"
ext/standard/tests/strings/setlocale_error.phpt
+# bind_textdomain_codeset is a stub
+ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
+# //IGNORE
+ext/iconv/tests/bug48147.phpt
+ext/iconv/tests/bug76249.phpt
+# //TRANSLIT
+ext/iconv/tests/iconv_basic_001.phpt
+# misc musl iconv incompatibilities
+ext/iconv/tests/bug52211.phpt
+ext/iconv/tests/eucjp2iso2022jp.phpt
+ext/iconv/tests/iconv_mime_encode.phpt
# strftime and strptime related failures
# strftime %Z (timezone abbreviation) returns a single space
@@ -91,5 +107,64 @@ ext/standard/tests/crypt/des_fallback_invalid_salt.phpt
#sapi/fpm/tests/015.phpt
# Times out on builders but runs fine manually
+ext/zlib/tests/bug67724.phpt
ext/zlib/tests/inflate_add_basic.phpt
sapi/cli/tests/upload_2G.phpt
+
+# gd errors more verbose than expected
+ext/gd/tests/bug39780_extern.phpt
+ext/gd/tests/bug45799.phpt
+ext/gd/tests/bug77973.phpt
+ext/gd/tests/createfromwbmp2_extern.phpt
+ext/gd/tests/libgd00086_extern.phpt
+
+# no XPM support in system gd
+ext/gd/tests/xpm2gd.phpt
+ext/gd/tests/xpm2jpg.phpt
+ext/gd/tests/xpm2png.phpt
+
+# misc differences when using system gd
+ext/gd/tests/bug43073.phpt
+ext/gd/tests/bug48732-mb.phpt
+ext/gd/tests/bug48732.phpt
+ext/gd/tests/bug48801-mb.phpt
+ext/gd/tests/bug48801.phpt
+ext/gd/tests/bug53504.phpt
+ext/gd/tests/bug65148.phpt
+ext/gd/tests/bug73272.phpt
+ext/gd/tests/bug73869.phpt
+ext/gd/tests/bug79067.phpt
+ext/gd/tests/bug79068.phpt
+
+# requires a default route to be set, which isn't the case during
+# network isolation
+ext/sockets/tests/bug63000.phpt
+
+# This should be skipped like long_columns.phpt is but it's missing the
+# additional checks
+ext/pdo_odbc/tests/max_columns.phpt
+
+# enchant-2 doesn't support enchant_broker_(get|set)_dict_path
+# https://news-web.php.net/php.internals/100882
+ext/enchant/tests/bug53070.phpt
+
+# Warning: zend_signal: handler was replaced
+ext/readline/tests/libedit_callback_handler_install_001.phpt
+ext/readline/tests/libedit_callback_handler_remove_001.phpt
+
+# soap server's sum is not accumulating
+ext/soap/tests/server009.phpt
+
+# "Resource bundle source files are compiled with the genrb tool into a
+# binary runtime form (.res files) that is portable among platforms with
+# the same charset family (ASCII vs. EBCDIC) and **endianness**."
+#
+# Therefore these tests which use little-endian .res files will not work
+# on our big endian arches...
+ext/intl/tests/resourcebundle_arrayaccess.phpt
+ext/intl/tests/resourcebundle_countable.phpt
+ext/intl/tests/resourcebundle_create.phpt
+ext/intl/tests/resourcebundle_individual.phpt
+ext/intl/tests/resourcebundle_iterator.phpt
+ext/intl/tests/resourcebundle_locales.phpt
+ext/intl/tests/resourcebundle_traversable.phpt
diff --git a/user/php7/enchant-2.patch b/user/php7/enchant-2.patch
index ed048de28..9d421c3bf 100644
--- a/user/php7/enchant-2.patch
+++ b/user/php7/enchant-2.patch
@@ -1,31 +1,33 @@
-Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enchant-2.patch?h=packages/php
-
---- php-7.1.13/ext/enchant/config.m4.orig 2018-01-03 02:32:29.000000000 +0000
-+++ php-7.1.13/ext/enchant/config.m4 2018-01-21 22:10:03.788875780 +0000
-@@ -14,9 +14,9 @@
- ENCHANT_SEARCH_DIRS="/usr/local /usr"
- fi
- for i in $ENCHANT_SEARCH_DIRS; do
-- if test -f $i/include/enchant/enchant.h; then
-+ if test -f $i/include/enchant-2/enchant.h; then
- ENCHANT_DIR=$i
-- ENCHANT_INCDIR=$i/include/enchant
-+ ENCHANT_INCDIR=$i/include/enchant-2
- elif test -f $i/include/enchant.h; then
- ENCHANT_DIR=$i
- ENCHANT_INCDIR=$i/include
-@@ -31,7 +31,7 @@
-
- AC_DEFINE(HAVE_ENCHANT,1,[ ])
- PHP_SUBST(ENCHANT_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
- PHP_ADD_INCLUDE($ENCHANT_INCDIR)
- PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
- [
---- php-7.2.1/ext/enchant/enchant.c.orig 2018-01-02 22:36:05.000000000 +0000
-+++ php-7.2.1/ext/enchant/enchant.c 2018-01-21 22:34:50.205791491 +0000
-@@ -741,7 +741,7 @@
+--- php-7.4.4/ext/enchant/config.m4 2020-03-17 10:40:22.000000000 +0000
++++ php-7.4.4/ext/enchant/config.m4 2020-03-27 21:25:27.754470703 +0000
+@@ -4,21 +4,21 @@ PHP_ARG_WITH([enchant],
+ [Include Enchant support])])
+
+ if test "$PHP_ENCHANT" != "no"; then
+- PKG_CHECK_MODULES([ENCHANT], [enchant])
++ PKG_CHECK_MODULES([ENCHANT], [enchant-2])
+
+ PHP_EVAL_INCLINE($ENCHANT_CFLAGS)
+ PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD)
+
+ AC_DEFINE(HAVE_ENCHANT, 1, [ ])
+
+- PHP_CHECK_LIBRARY(enchant, enchant_get_version,
++ PHP_CHECK_LIBRARY(enchant-2, enchant_get_version,
+ [
+ AC_DEFINE(HAVE_ENCHANT_GET_VERSION, 1, [ ])
+ ], [ ], [
+ $ENCHANT_LIBS
+ ])
+
+- PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
++ PHP_CHECK_LIBRARY(enchant-2, enchant_broker_set_param,
+ [
+ AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ ])
+ ], [ ], [
+--- a/ext/enchant/enchant.c.orig
++++ b/ext/enchant/enchant.c
+@@ -738,7 +738,7 @@
for (i = 0; i < n_sugg; i++) {
add_next_index_string(sugg, suggs[i]);
}
@@ -34,7 +36,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc
}
-@@ -798,7 +798,7 @@
+@@ -793,7 +793,7 @@
add_next_index_string(return_value, suggs[i]);
}
@@ -43,7 +45,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc
}
}
/* }}} */
-@@ -818,7 +818,7 @@
+@@ -813,7 +813,7 @@
PHP_ENCHANT_GET_DICT;
@@ -52,7 +54,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc
}
/* }}} */
-@@ -856,7 +856,7 @@
+@@ -851,7 +851,7 @@
PHP_ENCHANT_GET_DICT;
@@ -61,3 +63,14 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc
}
/* }}} */
+--- php-7.4.4/build/php.m4 2020-03-17 06:40:21.000000000 -0400
++++ php-7.4.4/build/php.m4 2020-04-05 09:27:14.634620646 -0400
+@@ -1541,7 +1541,7 @@ AC_DEFUN([PHP_CHECK_LIBRARY], [
+ ],[
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+- unset ac_cv_lib_$1[]_$2
++ unset ac_cv_lib_[]translit($1, -, _)_$2
+ $4
+ ])dnl
+ ])
diff --git a/user/php7/fix-tests-devserver.patch b/user/php7/fix-tests-devserver.patch
deleted file mode 100644
index 80a72f0f1..000000000
--- a/user/php7/fix-tests-devserver.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Mon, 01 May 2017 01:33:00 +0200
-Subject: [PATCH] Fix tests failing due to extra message from built-in web server
-
-Remove messages like:
-
- PHP 7.1.4 Development Server started at Mon May 1 00:42:39 2017
-
-from test outputs, because tests do not expect them. I have no clue what
-happens here...
-
---- a/run-tests.php
-+++ b/run-tests.php
-@@ -2005,6 +2005,9 @@
- // Does the output match what is expected?
- $output = preg_replace("/\r\n/", "\n", trim($out));
-
-+ // Remove message from built-in development server.
-+ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output);
-+
- /* when using CGI, strip the headers from the output */
- $headers = array();
-
diff --git a/user/php7/getsockopt.patch b/user/php7/getsockopt.patch
new file mode 100644
index 000000000..81f2bc232
--- /dev/null
+++ b/user/php7/getsockopt.patch
@@ -0,0 +1,37 @@
+Socket options with level IPPROTO_IP and IPPROTO_IPV6 cannot be handled
+in the same switch statement as options with level SOL_SOCKET since
+there may be collisions in their numerical values.
+
+For example, on ppc64:
+
+* IPV6_MULTICAST_HOPS and SO_RCVTIMEO are both 18
+* IPV6_MULTICAST_LOOP and SO_SNDTIMEO are both 19
+
+etc.
+
+--- php-7.4.4/ext/sockets/sockets.c 2020-03-17 06:40:21.000000000 -0400
++++ php-7.4.4/ext/sockets/sockets.c 2020-03-29 22:39:57.506751737 -0400
+@@ -2008,6 +2008,7 @@ PHP_FUNCTION(socket_get_option)
+ }
+ }
+ }
++ goto handle_default;
+ }
+ #if HAVE_IPV6
+ else if (level == IPPROTO_IPV6) {
+@@ -2017,6 +2018,7 @@ PHP_FUNCTION(socket_get_option)
+ } else if (ret == FAILURE) {
+ RETURN_FALSE;
+ } /* else continue */
++ goto handle_default;
+ }
+ #endif
+
+@@ -2063,6 +2065,7 @@ PHP_FUNCTION(socket_get_option)
+ break;
+
+ default:
++ handle_default:
+ optlen = sizeof(other_val);
+
+ if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&other_val, &optlen) != 0) {
diff --git a/user/php7/install-pear.patch b/user/php7/install-pear.patch
index 18747be94..8f5fb3444 100644
--- a/user/php7/install-pear.patch
+++ b/user/php7/install-pear.patch
@@ -1,7 +1,6 @@
---- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000
-+++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000
-@@ -2,8 +2,11 @@
-
+--- php-7.4.4/pear/Makefile.frag 2020-03-17 10:40:21.000000000 +0000
++++ php-7.4.4/pear/Makefile.frag 2020-03-25 03:57:55.940744663 +0000
+@@ -1,7 +1,10 @@
peardir=$(PEAR_INSTALLDIR)
+# help the built php to find xml extension so we can install pear
diff --git a/user/php7/no-max-ent-size.patch b/user/php7/no-max-ent-size.patch
new file mode 100644
index 000000000..7f28ba3f1
--- /dev/null
+++ b/user/php7/no-max-ent-size.patch
@@ -0,0 +1,257 @@
+--- php-7.4.4/ext/posix/posix.c 2020-03-17 10:40:22.000000000 +0000
++++ php-7.4.4/ext/posix/posix.c 2020-03-27 03:19:13.133440186 +0000
+@@ -1084,8 +1084,11 @@ PHP_FUNCTION(posix_getgrnam)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+
+ #if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX)
++ errno = 0;
+ buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+- if (buflen < 1) {
++ if (buflen == -1 && errno == 0) {
++ buflen = 1024;
++ } else if (buflen < 1) {
+ RETURN_FALSE;
+ }
+ buf = emalloc(buflen);
+@@ -1127,9 +1130,7 @@ PHP_FUNCTION(posix_getgrgid)
+ {
+ zend_long gid;
+ #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX)
+- int ret;
+ struct group _g;
+- struct group *retgrptr = NULL;
+ long grbuflen;
+ char *grbuf;
+ #endif
+@@ -1141,20 +1142,27 @@ PHP_FUNCTION(posix_getgrgid)
+
+ #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX)
+
++ errno = 0;
+ grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+- if (grbuflen < 1) {
++ if (grbuflen == -1 && errno == 0) {
++ grbuflen = 1024;
++ } else if (grbuflen < 1) {
+ RETURN_FALSE;
+ }
+-
+ grbuf = emalloc(grbuflen);
++try_again:
++ g = &_g;
+
+- ret = getgrgid_r(gid, &_g, grbuf, grbuflen, &retgrptr);
+- if (ret || retgrptr == NULL) {
+- POSIX_G(last_error) = ret;
++ if (getgrgid_r(gid, g, grbuf, grbuflen, &g) || g == NULL) {
++ if (errno == ERANGE) {
++ grbuflen *= 2;
++ grbuf = erealloc(grbuf, grbuflen);
++ goto try_again;
++ }
++ POSIX_G(last_error) = errno;
+ efree(grbuf);
+ RETURN_FALSE;
+ }
+- g = &_g;
+ #else
+ if (NULL == (g = getgrgid(gid))) {
+ POSIX_G(last_error) = errno;
+@@ -1210,14 +1218,23 @@ PHP_FUNCTION(posix_getpwnam)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
++ errno = 0;
+ buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+- if (buflen < 1) {
++ if (buflen == -1 && errno == 0) {
++ buflen = 1024;
++ } else if (buflen < 1) {
+ RETURN_FALSE;
+ }
+ buf = emalloc(buflen);
++try_again:
+ pw = &pwbuf;
+
+ if (getpwnam_r(name, pw, buf, buflen, &pw) || pw == NULL) {
++ if (errno == ERANGE) {
++ buflen *= 2;
++ buf = erealloc(buf, buflen);
++ goto try_again;
++ }
+ efree(buf);
+ POSIX_G(last_error) = errno;
+ RETURN_FALSE;
+@@ -1248,10 +1265,8 @@ PHP_FUNCTION(posix_getpwuid)
+ zend_long uid;
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
+ struct passwd _pw;
+- struct passwd *retpwptr = NULL;
+ long pwbuflen;
+ char *pwbuf;
+- int ret;
+ #endif
+ struct passwd *pw;
+
+@@ -1260,19 +1275,27 @@ PHP_FUNCTION(posix_getpwuid)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
++ errno = 0;
+ pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+- if (pwbuflen < 1) {
++ if (pwbuflen == -1 && errno == 0) {
++ pwbuflen = 1024;
++ } else if (pwbuflen < 1) {
+ RETURN_FALSE;
+ }
+ pwbuf = emalloc(pwbuflen);
++try_again:
++ pw = &_pw;
+
+- ret = getpwuid_r(uid, &_pw, pwbuf, pwbuflen, &retpwptr);
+- if (ret || retpwptr == NULL) {
+- POSIX_G(last_error) = ret;
++ if (getpwuid_r(uid, pw, pwbuf, pwbuflen, &pw) || pw == NULL) {
++ if (errno == ERANGE) {
++ pwbuflen *= 2;
++ pwbuf = erealloc(pwbuf, pwbuflen);
++ goto try_again;
++ }
++ POSIX_G(last_error) = errno;
+ efree(pwbuf);
+ RETURN_FALSE;
+ }
+- pw = &_pw;
+ #else
+ if (NULL == (pw = getpwuid(uid))) {
+ POSIX_G(last_error) = errno;
+--- php-7.4.4/ext/standard/filestat.c 2020-03-17 10:40:30.000000000 +0000
++++ php-7.4.4/ext/standard/filestat.c 2020-03-27 04:00:18.333479165 +0000
+@@ -302,15 +302,25 @@ PHPAPI int php_get_gid_by_name(const cha
+ #if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX)
+ struct group gr;
+ struct group *retgrptr;
++ errno = 0;
+ long grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+ char *grbuf;
+
+- if (grbuflen < 1) {
++ if (grbuflen == -1 && errno == 0) {
++ grbuflen = 1024;
++ } else if (grbuflen < 1) {
+ return FAILURE;
+ }
+
+ grbuf = emalloc(grbuflen);
+- if (getgrnam_r(name, &gr, grbuf, grbuflen, &retgrptr) != 0 || retgrptr == NULL) {
++try_again:
++ retgrptr = &gr;
++ if (getgrnam_r(name, &gr, grbuf, grbuflen, &retgrptr) || retgrptr == NULL) {
++ if (errno == ERANGE) {
++ grbuflen *= 2;
++ grbuf = erealloc(grbuf, grbuflen);
++ goto try_again;
++ }
+ efree(grbuf);
+ return FAILURE;
+ }
+@@ -438,15 +448,25 @@ PHPAPI uid_t php_get_uid_by_name(const c
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
+ struct passwd pw;
+ struct passwd *retpwptr = NULL;
++ errno = 0;
+ long pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ char *pwbuf;
+
+- if (pwbuflen < 1) {
++ if (pwbuflen == -1 && errno == 0) {
++ pwbuflen = 1024;
++ } else if (pwbuflen < 1) {
+ return FAILURE;
+ }
+
+ pwbuf = emalloc(pwbuflen);
+- if (getpwnam_r(name, &pw, pwbuf, pwbuflen, &retpwptr) != 0 || retpwptr == NULL) {
++try_again:
++ retpwptr = &pw;
++ if (getpwnam_r(name, &pw, pwbuf, pwbuflen, &retpwptr) || retpwptr == NULL) {
++ if (errno == ERANGE) {
++ pwbuflen *= 2;
++ pwbuf = erealloc(pwbuf, pwbuflen);
++ goto try_again;
++ }
+ efree(pwbuf);
+ return FAILURE;
+ }
+--- php-7.4.4/main/fopen_wrappers.c 2020-03-17 10:40:21.000000000 +0000
++++ php-7.4.4/main/fopen_wrappers.c 2020-03-27 04:08:46.553487201 +0000
+@@ -366,10 +366,13 @@ PHPAPI int php_fopen_primary_script(zend
+ struct passwd *pw;
+ #if defined(ZTS) && defined(HAVE_GETPWNAM_R) && defined(_SC_GETPW_R_SIZE_MAX)
+ struct passwd pwstruc;
++ errno = 0;
+ long pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ char *pwbuf;
+
+- if (pwbuflen < 1) {
++ if (pwbuflen == -1 && errno == 0) {
++ pwbuflen = 1024;
++ } else if (pwbuflen < 1) {
+ return FAILURE;
+ }
+
+@@ -382,7 +385,14 @@ PHPAPI int php_fopen_primary_script(zend
+ memcpy(user, path_info + 2, length);
+ user[length] = '\0';
+ #if defined(ZTS) && defined(HAVE_GETPWNAM_R) && defined(_SC_GETPW_R_SIZE_MAX)
+- if (getpwnam_r(user, &pwstruc, pwbuf, pwbuflen, &pw)) {
++try_again:
++ pw = &pwstruc;
++ if (getpwnam_r(user, pw, pwbuf, pwbuflen, &pw) || pw == NULL) {
++ if (errno == ERANGE) {
++ pwbuflen *= 2;
++ pwbuf = erealloc(pwbuf, pwbuflen);
++ goto try_again;
++ }
+ efree(pwbuf);
+ return FAILURE;
+ }
+--- php-7.4.4/main/main.c 2020-03-17 10:40:21.000000000 +0000
++++ php-7.4.4/main/main.c 2020-03-27 03:33:22.663453619 +0000
+@@ -1487,23 +1487,27 @@ PHPAPI char *php_get_current_user(void)
+ struct passwd *pwd;
+ #if defined(ZTS) && defined(HAVE_GETPWUID_R) && defined(_SC_GETPW_R_SIZE_MAX)
+ struct passwd _pw;
+- struct passwd *retpwptr = NULL;
++ errno = 0;
+ int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ char *pwbuf;
+
+- if (pwbuflen < 1) {
++ if (pwbuflen == -1 && errno == 0) {
++ pwbuflen = 1024;
++ } else if (pwbuflen < 1) {
+ return "";
+ }
+ pwbuf = emalloc(pwbuflen);
+- if (getpwuid_r(pstat->st_uid, &_pw, pwbuf, pwbuflen, &retpwptr) != 0) {
+- efree(pwbuf);
+- return "";
+- }
+- if (retpwptr == NULL) {
++try_again:
++ pwd = &_pw;
++ if (getpwuid_r(pstat->st_uid, pwd, pwbuf, pwbuflen, &pwd) || pwd == NULL) {
++ if (errno == ERANGE) {
++ pwbuflen *= 2;
++ pwbuf = erealloc(pwbuf, pwbuflen);
++ goto try_again;
++ }
+ efree(pwbuf);
+ return "";
+ }
+- pwd = &_pw;
+ #else
+ if ((pwd=getpwuid(pstat->st_uid))==NULL) {
+ return "";
diff --git a/user/php7/pwbuflen.patch b/user/php7/pwbuflen.patch
deleted file mode 100644
index 7d2685b55..000000000
--- a/user/php7/pwbuflen.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-sysconf(_SC_GETPW_R_SIZE_MAX) returns -1 on musl and 1024 on glibc.
-
---- php-7.2.6/main/main.c 2018-06-04 23:30:18.790089810 -0400
-+++ php-7.2.6/main/main.c 2018-06-04 23:30:14.660089806 -0400
-@@ -1315,7 +1315,9 @@
- int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
- char *pwbuf;
-
-- if (pwbuflen < 1) {
-+ if (pwbuflen == -1) {
-+ pwbuflen = 1024;
-+ } else if (pwbuflen < 1) {
- return "";
- }
- pwbuf = emalloc(pwbuflen);
diff --git a/user/php7/test-fixes.patch b/user/php7/test-fixes.patch
new file mode 100644
index 000000000..976783d77
--- /dev/null
+++ b/user/php7/test-fixes.patch
@@ -0,0 +1,71 @@
+Don't filter out "extension=" settings from INI files during check() so
+we can inject our own module load order.
+
+--- php-7.4.4/build/Makefile.global 2020-03-17 10:40:21.000000000 +0000
++++ php-7.4.4/build/Makefile.global 2020-03-27 06:11:09.713603308 +0000
+@@ -83,7 +83,7 @@ PHP_TEST_SHARED_EXTENSIONS = ` \
+ . $$i; $(top_srcdir)/build/shtool echo -n -- " -d zend_extension=$(top_builddir)/modules/$$dlname"; \
+ done; \
+ fi`
+-PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
++PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?)[\t\ ]*='
+
+ test: all
+ @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
+
+
+
+
+Likewise, make sure these settings are honored for these tests.
+
+--- php-7.4.4/ext/opcache/tests/php_cli_server.inc 2020-03-17 10:40:23.000000000 +0000
++++ php-7.4.4/ext/opcache/tests/php_cli_server.inc 2020-03-27 22:36:13.054537829 +0000
+@@ -11,7 +11,7 @@ function php_cli_server_start($ini = "")
+ $ini_array = array_map(function($arg) {
+ return trim($arg, '\'"');
+ }, $ini_array);
+- $cmd = [$php_executable, '-t', $doc_root, '-n', ...$ini_array, '-S', PHP_CLI_SERVER_ADDRESS];
++ $cmd = [$php_executable, '-d', 'extension_dir='.ini_get('extension_dir'), '-t', $doc_root, '-n', ...$ini_array, '-S', PHP_CLI_SERVER_ADDRESS];
+ $descriptorspec = array(
+ 0 => STDIN,
+ 1 => STDOUT,
+--- php-7.4.4/ext/session/tests/session_regenerate_id_cookie.phpt 2020-03-17 10:40:28.000000000 +0000
++++ php-7.4.4/ext/session/tests/session_regenerate_id_cookie.phpt 2020-03-27 06:43:24.043633893 +0000
+@@ -56,7 +56,7 @@ var_dump(session_destroy());
+ ob_end_flush();
+ ?>');
+
+-var_dump(`$php -n -d session.name=PHPSESSID $file`);
++var_dump(`$php -c php-check.ini -d session.name=PHPSESSID $file`);
+
+ unlink($file);
+
+--- php-7.4.4/ext/soap/tests/bug73037.phpt 2020-03-17 10:40:24.000000000 +0000
++++ php-7.4.4/ext/soap/tests/bug73037.phpt 2020-03-27 23:02:05.964562383 +0000
+@@ -63,8 +63,7 @@ function get_data($max)
+ }
+
+ $router = "bug73037_server.php";
+-$args = substr(PHP_OS, 0, 3) == 'WIN'
+- ? ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=php_soap.dll"] : [];
++$args = ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=soap.so"];
+ $code = <<<'PHP'
+ $s = new SoapServer(NULL, array('uri' => 'http://here'));
+ $s->setObject(new stdclass());
+
+
+
+Don't include useless message on startup which will break every test.
+
+--- php-7.4.4/run-tests.php 2020-03-17 10:40:21.000000000 +0000
++++ php-7.4.4/run-tests.php 2020-03-25 04:01:26.320747990 +0000
+@@ -2503,6 +2503,9 @@ COMMAND $cmd
+ // Does the output match what is expected?
+ $output = preg_replace("/\r\n/", "\n", trim($out));
+
++ // Remove message from built-in development server.
++ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output);
++
+ /* when using CGI, strip the headers from the output */
+ $headers = array();
+
diff --git a/user/php7/zend_bool.patch b/user/php7/zend_bool.patch
new file mode 100644
index 000000000..b2e0b0f8f
--- /dev/null
+++ b/user/php7/zend_bool.patch
@@ -0,0 +1,19 @@
+zend_parse_parameters can't be passed &int if it's expecting zend_bool
+("b", unsigned char).
+
+Ironically, this code (Reflect::export) is scheduled to be removed in
+the next 7.4 release[1], so don't bother forwarding.
+
+[1] https://github.com/php/php-src/pull/5188
+
+--- php-7.4.4/ext/reflection/php_reflection.c 2020-03-17 06:40:26.000000000 -0400
++++ php-7.4.4/ext/reflection/php_reflection.c 2020-03-30 01:00:27.938405046 -0400
+@@ -1304,7 +1304,7 @@ static void _reflection_export(INTERNAL_
+ zval *argument_ptr, *argument2_ptr;
+ zval retval, params[2];
+ int result;
+- int return_output = 0;
++ zend_bool return_output = 0;
+ zend_fcall_info fci;
+ zend_fcall_info_cache fcc;
+
diff --git a/user/php7/zip-glob-pathc.patch b/user/php7/zip-glob-pathc.patch
new file mode 100644
index 000000000..74b81754a
--- /dev/null
+++ b/user/php7/zip-glob-pathc.patch
@@ -0,0 +1,15 @@
+Upstream: https://github.com/php/php-src/pull/5311
+
+--- php-7.4.4/ext/zip/php_zip.c 2020-03-17 10:40:30.000000000 +0000
++++ php-7.4.4/ext/zip/php_zip.c 2020-03-27 15:28:13.259857804 -0500
+@@ -606,8 +606,9 @@ int php_zip_glob(char *pattern, int pattern_len, zend_long flags, zval *return_v
+ add_next_index_string(return_value, globbuf.gl_pathv[n]+cwd_skip);
+ }
+
++ ret = globbuf.gl_pathc;
+ globfree(&globbuf);
+- return globbuf.gl_pathc;
++ return ret;
+ #else
+ zend_throw_error(NULL, "Glob support is not available");
+ return 0;
diff --git a/user/pixman/APKBUILD b/user/pixman/APKBUILD
index d36f5a1ee..50ff4f981 100644
--- a/user/pixman/APKBUILD
+++ b/user/pixman/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=pixman
pkgver=0.38.4
-pkgrel=0
+pkgrel=1
pkgdesc="Low-level pixel manipulation library"
url="https://www.X.Org/"
arch="all"
@@ -14,11 +14,13 @@ source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2
"
build() {
+ # Static is needed by qemu
+
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
- --disable-static \
+ --enable-static \
--disable-openmp \
--disable-arm-iwmmxt
make
diff --git a/user/plasma-browser-integration/APKBUILD b/user/plasma-browser-integration/APKBUILD
index 6c898c7d1..833facbb8 100644
--- a/user/plasma-browser-integration/APKBUILD
+++ b/user/plasma-browser-integration/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-browser-integration
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Integrate Web browsers into the KDE Plasma desktop"
url="https://www.kde.org/"
@@ -10,7 +10,7 @@ license="GPL-3.0+"
depends=""
makedepends="cmake extra-cmake-modules kactivities-dev kconfig-dev kcrash-dev kdbusaddons-dev kfilemetadata-dev ki18n-dev kio-dev knotifications-dev krunner-dev purpose-dev qt5-qtbase-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-browser-integration-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-browser-integration-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
rm -r "$pkgdir"/etc
}
-sha512sums="76fc14ccea545f480ffc617bc373a7384dc95b709ac4d880b0249306c6b18e7280267703cb62a0b69e30bc46125e9322b2ce66b5ebc79b2e6a028765134a1e5f plasma-browser-integration-5.18.2.tar.xz"
+sha512sums="05fcc78f68a029862daaae816d2c95a14b7b3133c9ea00cfad7cac32337a6b1642b15f23313dec665686c928f0405d18cafa20b06d16afa1ae8ce752d74e9066 plasma-browser-integration-5.18.4.1.tar.xz"
diff --git a/user/plasma-desktop/APKBUILD b/user/plasma-desktop/APKBUILD
index d74a4a885..b66828fe1 100644
--- a/user/plasma-desktop/APKBUILD
+++ b/user/plasma-desktop/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=plasma-desktop
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Modern, functional, integrated libre desktop environment"
url="https://www.kde.org/plasma-desktop"
@@ -28,7 +28,7 @@ makedepends="cmake qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtx11extras-dev
kirigami2-dev libksysguard-dev qt5-qtquickcontrols2-dev
qqc2-desktop-style-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-desktop-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-desktop-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -54,4 +54,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3f850eb9ab6f7a7ee86b11d024a0e9c5552fbfb24a17502bca141bd01e52a99a509e64669abd708ec7a2617fcbb5c65eaa401084388a812785573ed1c5f9c097 plasma-desktop-5.18.2.tar.xz"
+sha512sums="4cac140ddca8ce57a6e27cfac2946824db40a0adf9f0a9b6fe6079f9b899f4b145941803d4a0f1c575a27a8c76d6a7e889c3218287a126efedd9e722fa9d7089 plasma-desktop-5.18.4.1.tar.xz"
diff --git a/user/plasma-integration/APKBUILD b/user/plasma-integration/APKBUILD
index c7c199e5d..0f599182e 100644
--- a/user/plasma-integration/APKBUILD
+++ b/user/plasma-integration/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=plasma-integration
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Qt platform theme plugin for Plasma"
url="https://www.kde.org/"
@@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules python3 qt5-qtbase-dev libxcursor-dev
kiconthemes-dev knotifications-dev kwayland-dev kwidgetsaddons-dev
kwindowsystem-dev breeze-dev qt5-qtquickcontrols2-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-integration-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-integration-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d605bba7e1ac1786bbdceecd38a571cf8f9d71f95b31a9beb66100af85d0d607304ee00d7df135e7f76c295e4832ccd197e666dd2ea3c3842307fb649ff53559 plasma-integration-5.18.2.tar.xz"
+sha512sums="ebc6080457d1958e2cccc7db25b30443e21759c95c29dc8f72538ec2945f99019ad0598369253ec552c4a77dc49979ef3e1a46da93362a34793c0af6209c5e3d plasma-integration-5.18.4.1.tar.xz"
diff --git a/user/plasma-meta/APKBUILD b/user/plasma-meta/APKBUILD
index 929b30f9b..17bc50741 100644
--- a/user/plasma-meta/APKBUILD
+++ b/user/plasma-meta/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-meta
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Metapackage for optional KDE Plasma dependencies"
url="https://www.adelielinux.org/"
diff --git a/user/plasma-nm/APKBUILD b/user/plasma-nm/APKBUILD
index 62133f18f..5ddc6ca52 100644
--- a/user/plasma-nm/APKBUILD
+++ b/user/plasma-nm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-nm
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="NetworkManager integration for KDE Plasma desktop"
url="https://www.kde.org/"
@@ -18,7 +18,7 @@ makedepends="cmake extra-cmake-modules kauth-dev kcodecs-dev kcompletion-dev
subpackages="$pkgname-lang"
# We don't want to pull NM into plasma-meta, so we do this as a workaround.
install_if="plasma-desktop networkmanager"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-nm-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-nm-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -44,4 +44,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="efb126d690ba1460d6c58cc96fb0f5a533b3846bdd11898ee96be23a311a1bee651f1b9df5ea2a1d24248a12baa80a1d0765d3a5a3d4672b4bfa8fad268432a5 plasma-nm-5.18.2.tar.xz"
+sha512sums="7534267b7e9507b5963c5226eb375bfff426291761db4bfaa8a9c60e491d296d5aebb6cb2373e75dd10b321e706ccdcdce036f174cfb6c5fb12df218f112228b plasma-nm-5.18.4.1.tar.xz"
diff --git a/user/plasma-pa/APKBUILD b/user/plasma-pa/APKBUILD
index 40816cbe2..84ec701be 100644
--- a/user/plasma-pa/APKBUILD
+++ b/user/plasma-pa/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-pa
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="PulseAudio integration for KDE Plasma desktop"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules glib-dev kcoreaddons-dev kdeclarative-dev
libcanberra-dev plasma-framework-dev pulseaudio-dev qt5-qtbase-dev
qt5-qtdeclarative-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-pa-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-pa-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="51604dc9310d0ea9314bb04ac54852ae756d2f2c7eb0a3f37abaf707a52afff24fedf3c676e412c198df4cc13716fe539e76cfd9ec2536d7040d595277b94282 plasma-pa-5.18.2.tar.xz"
+sha512sums="877a861b7f3811958f911a082f037916697f148969229ed6d96c2ef7238533726157637548798ca318b5b1ee89cd5ed8f9a66fad2e8cb3e9035a5ee311cae7e3 plasma-pa-5.18.4.1.tar.xz"
diff --git a/user/plasma-thunderbolt/APKBUILD b/user/plasma-thunderbolt/APKBUILD
index ebe1e8cca..a537527de 100644
--- a/user/plasma-thunderbolt/APKBUILD
+++ b/user/plasma-thunderbolt/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-thunderbolt
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Thunderbolt device integration for KDE Plasma desktop"
url="https://www.kde.org/"
@@ -12,7 +12,7 @@ depends="bolt"
makedepends="cmake extra-cmake-modules kcmutils-dev kcoreaddons-dev
knotifications-dev qt5-qtbase-dev qt5-qtdeclarative-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-thunderbolt-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-thunderbolt-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e42cdbc6ce4da2a7e38ed3cbeb4f1dec6c6e9a1c9dc160d256b5701b1bf3f4e298f9e6d19c6c5cdf48155f3f792961f2f20e5971e80b80e3670ba5bba86af05e plasma-thunderbolt-5.18.2.tar.xz"
+sha512sums="2ae5e65741717f38f343adf3e52de67db29d069b93147236cec6172f03ffcfb64bbbaaed5056987a747feb0c27ec01aaefa954274092f34f709c955f8099b35a plasma-thunderbolt-5.18.4.1.tar.xz"
diff --git a/user/plasma-vault/APKBUILD b/user/plasma-vault/APKBUILD
index 56af52654..1fdd39903 100644
--- a/user/plasma-vault/APKBUILD
+++ b/user/plasma-vault/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=plasma-vault
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Secure storage plugin for KDE Plasma desktop"
url="https://www.kde.org/"
@@ -13,7 +13,9 @@ makedepends="cmake extra-cmake-modules kactivities-dev kconfig-dev
kwidgetsaddons-dev libksysguard-dev plasma-framework-dev
qt5-qtbase-dev qt5-qtdeclarative-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-vault-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-vault-$pkgver.tar.xz
+ fix-crash.patch
+ "
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -39,4 +41,5 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="5abeb6adb721b0933217dc0a2cc6fcd07e682b48c17b983d0f7d50c2ea206b06f4fb05dcb58f20009f7f1bf95ce104722cc70f83a09dd752fdb6331c3babdda7 plasma-vault-5.18.2.tar.xz"
+sha512sums="c06bb9129e25396c44a9a7155253ebb18eeefe7d44d3f288b79f3308964ae4dbca9375820c1a5c2f389b46e17f2f3a2cee35e73b5d4a0c23051dcad8dfcff6f0 plasma-vault-5.18.4.1.tar.xz
+b093d6fa4e82a3342ec75dc0ef9318f38dbce413a38fef1aa08b6bb74d6b3a46c178e10d3551e88937907f9b3946565084726f158f86f97ea5436f072b2e05d7 fix-crash.patch"
diff --git a/user/plasma-vault/fix-crash.patch b/user/plasma-vault/fix-crash.patch
new file mode 100644
index 000000000..306b7dfe2
--- /dev/null
+++ b/user/plasma-vault/fix-crash.patch
@@ -0,0 +1,26 @@
+From f6a924b37880b7340e796846a6e5474413ca6533 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <ivan.cukic@kde.org>
+Date: Tue, 17 Mar 2020 14:37:24 +0100
+Subject: Make sure we have saved network state before accessing it
+
+BUG:418262
+---
+ kded/service.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kded/service.cpp b/kded/service.cpp
+index 4b5f65a..ff67d43 100644
+--- a/kded/service.cpp
++++ b/kded/service.cpp
+@@ -420,7 +420,7 @@ void PlasmaVaultService::openVaultInFileManager(const QString &device)
+ new KRun(QUrl::fromLocalFile((QString)vault->mountPoint().data()), nullptr);
+ },
+ [this, vault] {
+- if (vault->status() != VaultInfo::Opened) {
++ if (vault->status() != VaultInfo::Opened && d->savedNetworkingState) {
+ auto& devicesInhibittingNetworking = d->savedNetworkingState->devicesInhibittingNetworking;
+ devicesInhibittingNetworking.removeAll(vault->device().data());
+ d->restoreNetworkingState();
+--
+cgit v1.1
+
diff --git a/user/plasma-workspace-wallpapers/APKBUILD b/user/plasma-workspace-wallpapers/APKBUILD
index f8bcad63e..c531e9954 100644
--- a/user/plasma-workspace-wallpapers/APKBUILD
+++ b/user/plasma-workspace-wallpapers/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=plasma-workspace-wallpapers
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Default wallpapers from KDE"
url="https://www.KDE.org/"
@@ -10,7 +10,7 @@ license="LGPL-3.0-only"
depends=""
makedepends="cmake extra-cmake-modules"
subpackages=""
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-wallpapers-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-wallpapers-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7901c54a414602a1a0a4bde50b851afb86c505bbd8600dce2fa0979628b180d7adba6f26dd53797082dfc108a87a427e4e55ca7d146f9a9697db5c9a57274a95 plasma-workspace-wallpapers-5.18.2.tar.xz"
+sha512sums="e3fe98fd4e3265281bda7c223cb086fdc96031421d735df05fb52acca778dba0fa78110810b1c482706cb6e937bc40160130a525ab104b44ed801042ba6d71ca plasma-workspace-wallpapers-5.18.4.1.tar.xz"
diff --git a/user/plasma-workspace/APKBUILD b/user/plasma-workspace/APKBUILD
index da67d4b2d..9851b6de5 100644
--- a/user/plasma-workspace/APKBUILD
+++ b/user/plasma-workspace/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=plasma-workspace
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE Plasma 5 workspace"
url="https://www.kde.org/plasma-desktop"
@@ -31,7 +31,7 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qtscript-dev
plasma-framework-dev prison-dev kactivities-stats-dev kpeople-dev
kirigami2-dev kuserfeedback-dev libkscreen-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-$pkgver.tar.xz
libkworkspace.patch
"
@@ -59,5 +59,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0fa91451e28b70d7602de79686afb57143eecd86e3856ed9c773bc4f5394610e5a5cf2f13fd03398b7a01624b45ab86d7e12da016980cb91ab23adac41a6793e plasma-workspace-5.18.2.tar.xz
+sha512sums="683a97a83361149560d866f3d064448a43783c6ea715e9a5e0764ef9ec6dc8bd26e4c7a49023f913b8a649abef39614e5bd3b9e000477949584921c3f1754ab7 plasma-workspace-5.18.4.1.tar.xz
f58b88928fd68518bc0524db35388cb0f0dbc2a55d85fc47e92ce7fcbaf9b155482736e282bd84104ceecc625406845840128c8d0fcd2a4d5a854673964cd94f libkworkspace.patch"
diff --git a/user/polkit-kde-agent-1/APKBUILD b/user/polkit-kde-agent-1/APKBUILD
index 529ea4116..3ae1768a8 100644
--- a/user/polkit-kde-agent-1/APKBUILD
+++ b/user/polkit-kde-agent-1/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=polkit-kde-agent-1
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="PolKit agent for KDE"
url="https://www.kde.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules kcoreaddons-dev kcrash-dev
kdbusaddons-dev ki18n-dev kiconthemes-dev kwidgetsaddons-dev
kwindowsystem-dev polkit-qt-1-dev qt5-qtbase-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/polkit-kde-agent-1-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/polkit-kde-agent-1-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a34515c1173bc439b0659df891ac35830dfc05916b4c3c622045cbaef2ce93f91be000eac31c8c0f669e7064628d09a999251237bdd5c381f74dd34e06a722fe polkit-kde-agent-1-5.18.2.tar.xz"
+sha512sums="e83c762fce852fb3835e53db8f4940a8b02f06b505f4347027c23171ce6e4cad512b002a0154459c952305f922b8f881b3c0b51ca7b9553d16a78e668deadfe3 polkit-kde-agent-1-5.18.4.1.tar.xz"
diff --git a/user/powerdevil/APKBUILD b/user/powerdevil/APKBUILD
index 9f63547a1..be33f6c62 100644
--- a/user/powerdevil/APKBUILD
+++ b/user/powerdevil/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=powerdevil
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE Plasma power management utilities"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtx11extras-dev
ki18n-dev kidletime-dev kio-dev knotifyconfig-dev kdelibs4support-dev
kwayland-dev libkscreen-dev libkworkspace-dev solid-dev eudev-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/powerdevil-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/powerdevil-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2c3059566e649e00eee1e34e20dfd08d8070e5d8c2afceded0bbd8e534d3b1128fb28f9ddacbd5318cc56b19328d49991a928f122ab31b440171a7f4566864f1 powerdevil-5.18.2.tar.xz"
+sha512sums="b7985f30965cc445cd4426ca9978a721174a3b0c371d69e044cb36edee080a99b3993ad553461e9212158f13a730210a687be2bc1f205722591307cbe87f4c20 powerdevil-5.18.4.1.tar.xz"
diff --git a/user/prosody/APKBUILD b/user/prosody/APKBUILD
index 02e67676f..a60a1f472 100644
--- a/user/prosody/APKBUILD
+++ b/user/prosody/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=prosody
-pkgver=0.11.4
+pkgver=0.11.5
pkgrel=0
pkgdesc="Lua based Jabber/XMPP server"
url="http://prosody.im/"
@@ -49,6 +49,6 @@ package() {
install -D -m755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/"$pkgname"
}
-sha512sums="0c3aa3373c53f803b88a87dad4ca18b215de7a485d29b0bc4b186d97f7c48262840199a74f62aba6b7b4f1766fdfb37327ed4ff24e877c3a6dfca58764a035c3 prosody-0.11.4.tar.gz
+sha512sums="43a9facee8d61b69e277e7e8a9091fbfa60be71d6141195dff991f6020c8afadacce26f356b869cb2d7edd9be285e9ce1bcd822f9628cc845d91757e818a0dff prosody-0.11.5.tar.gz
a6ca168fe3d11ee3b05295fb36dfaf8240c60a85507032b2502f9a97d3fd055f7eee38ba6efbb8f79472fc7cdd3556922194d0bd7099f7fb809be01890acc511 prosody.cfg.lua.patch
11b0f5e4fa488e047c26aa5e51c35983100cdbf7ebbf7c8b6d003c8db7f52e797f93e4744d54b3094c82d722d5e4de62b5734376cb5e69a4c6127f8cb07a4347 prosody.initd"
diff --git a/user/protobuf/APKBUILD b/user/protobuf/APKBUILD
index c94b096e0..382f3cfa3 100644
--- a/user/protobuf/APKBUILD
+++ b/user/protobuf/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=protobuf
_gemname=google-protobuf
-pkgver=3.11.3
+pkgver=3.11.4
_tstver=1.8.1
pkgrel=0
pkgdesc="Library for extensible, efficient structure packing"
@@ -111,5 +111,5 @@ vim() {
"$subpkgdir"/usr/share/vim/vimfiles/syntax/proto.vim
}
-sha512sums="beac21d495bfd8e9b40120d1db9fd82251958f954533fc6f76cd0b9c28f92533ac35368a4c298ebb1d8e09047b670ed3bd948bb7da6eb5cca7fdc0c1c44aa39b protobuf-3.11.3.tar.gz
+sha512sums="777bbb0e9e2375eaebe6b8c87abd660bac70ee469c9ad00dd25917b82d7fb5bbe33cf87f0d69c90e19d55c07a7285ec20974ba4768623ce9ccfadf147fd5e261 protobuf-3.11.4.tar.gz
e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7 googletest-1.8.1.tar.gz"
diff --git a/user/py3-pillow/APKBUILD b/user/py3-pillow/APKBUILD
index 8012a6fe2..bb4878256 100644
--- a/user/py3-pillow/APKBUILD
+++ b/user/py3-pillow/APKBUILD
@@ -4,7 +4,7 @@ pkgname=py3-pillow
_pkgname=Pillow
_p="${_pkgname#?}"
_p="${_pkgname%"$_p"}"
-pkgver=6.2.1
+pkgver=6.2.2
pkgrel=0
pkgdesc="A Python Imaging Library"
url="https://pypi.org/project/Pillow"
@@ -20,6 +20,14 @@ source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/
https://dev.sick.bike/dist/$pkgname-scripts-$_scripts_rev.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# secfixes: pillow
+# 6.2.2-r0:
+# - CVE-2019-19911
+# - CVE-2020-5310
+# - CVE-2020-5311
+# - CVE-2020-5312
+# - CVE-2020-5313
+
unpack() {
default_unpack
mv pillow-scripts-*/Scripts "$builddir/Scripts"
@@ -49,5 +57,5 @@ doc() {
install -Dm644 "$builddir"/LICENSE "$subpkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-sha512sums="757bfdab2ba418195e96e696d2d111de3b38b6bafe4f6f94012f024f59c9bc8542fdab54f643eaf7b2867a9214db806e72eecbdd636bfceb55b47d3164f643ec py3-pillow-6.2.1.tar.gz
+sha512sums="517c971d4fb23a47466a7e8326c8c29291f7832d4521001c1898d6223ea25d4b0a8b7c8f7e78dd706f421229a8261b558b9fbdc43e47a0a2a7b2b4bbc1a21eff py3-pillow-6.2.2.tar.gz
c01e83a7cef6653a33f60acbcbc737f0d40ff0dbc792ce0b2ce52f21092d3071845830fa0f64b27a1c5e679c53df57e0ec2e89867ee717f938d4e6f19db77790 py3-pillow-scripts-b24479c.tar.gz"
diff --git a/user/py3-pycairo/APKBUILD b/user/py3-pycairo/APKBUILD
index 15fbb0d5b..b316f74b7 100644
--- a/user/py3-pycairo/APKBUILD
+++ b/user/py3-pycairo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=py3-pycairo
-pkgver=1.19.0
+pkgver=1.19.1
pkgrel=0
pkgdesc="Python bindings for Cairo"
url="https://pycairo.readthedocs.io/"
@@ -34,4 +34,4 @@ package() {
DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="920c456cba580901e7276d324a15ff65c7c6a18bff623ba030a121f5d6a52e13f49c3db2d8f4e5aada0e3462cd4aa744ea7b8465ef1f253c8fb28f2b4919e5b9 pycairo-1.19.0.tar.gz"
+sha512sums="a7955a2566d5e5586154b62f3aeef824e1e6076cbd3eb86af8288fedcc7d61c4e36a53691298cf9df2e2df7fc96292f96dec92c5d4343e6c1b4c971e97d0650f pycairo-1.19.1.tar.gz"
diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD
index f8c355cb8..aa822053a 100644
--- a/user/py3-pygobject/APKBUILD
+++ b/user/py3-pygobject/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=py3-pygobject
-pkgver=3.34.0
+pkgver=3.36.0
pkgrel=0
pkgdesc="Python bindings for GObject libraries"
url="https://wiki.gnome.org/Projects/PyGObject"
@@ -25,4 +25,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="782195d22e564b88dea8d43469f0111f398b44b51a63df2fe7d07650af94d5cd037f322a5d7e405338823be3419fcdbf0113fe50b220ab1cfd07d4d01dbc4766 pygobject-3.34.0.tar.xz"
+sha512sums="e07375e758d1ca0aefa7f12c9af739301371a857154577b62a17f3179adf1d9d37889d4f432cb6ac7804fb4c23f68a05d3ac5446df2800ecbca6fa27ed9b783d pygobject-3.36.0.tar.xz"
diff --git a/user/py3-twisted/APKBUILD b/user/py3-twisted/APKBUILD
index 37f2b0976..408081052 100644
--- a/user/py3-twisted/APKBUILD
+++ b/user/py3-twisted/APKBUILD
@@ -4,18 +4,31 @@ pkgname=py3-twisted
_pkgname=Twisted
_p="${_pkgname#?}"
_p="${_pkgname%"$_p"}"
-pkgver=19.7.0
+pkgver=19.10.0
pkgrel=0
pkgdesc="Asynchronous networking framework written in Python"
url="https://twistedmatrix.com/"
arch="all"
+# FIXME: constantly, automat, hyperlink, and PyHamcrest
+# also need to be packaged and added to depends=
+options="net"
license="MIT"
-depends="python3 py3-incremental"
+depends="python3 py3-attrs py3-incremental py3-zope-interface"
makedepends="python3-dev"
subpackages=""
-source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2"
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2
+ CVE-2020-10108-and-2020-10109.patch
+ "
builddir="$srcdir/Twisted-$pkgver"
+# secfixes: twisted
+# 19.10.0-r0:
+# - CVE-2019-9512
+# - CVE-2019-9514
+# - CVE-2019-9515
+# - CVE-2020-10108
+# - CVE-2020-10109
+
build() {
python3 setup.py build
}
@@ -28,4 +41,5 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="46588008f0be63f9ec8cfb88bb81f4268e59e8dead8256c36144b521eb3e58726f4d8c9016b7157365b26929e39a3fa6ff2cc2a9f83e8cfa7f1acc43d31297c4 Twisted-19.7.0.tar.bz2"
+sha512sums="de8d7fd0b2081cebeff68b060c8469377011648bc563a94a993d3530fb007ed42c3a54925c9a10c465ee7a3065cc9108ace12d10d358223fab13494becb9ac4b Twisted-19.10.0.tar.bz2
+dcc22af0a72bce5cca3c9f5ee739b17f14275ac8e776c658743746239c793ad9585fb0333203945912fd4994bd001b7244905562c4389304a707a2a4430faa40 CVE-2020-10108-and-2020-10109.patch"
diff --git a/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch
new file mode 100644
index 000000000..9a58f5584
--- /dev/null
+++ b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch
@@ -0,0 +1,260 @@
+From 4a7d22e490bb8ff836892cc99a1f54b85ccb0281 Mon Sep 17 00:00:00 2001
+From: Mark Williams <mrw@enotuniq.org>
+Date: Sun, 16 Feb 2020 19:00:10 -0800
+Subject: [PATCH] Fix several request smuggling attacks.
+
+1. Requests with multiple Content-Length headers were allowed (thanks
+to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400;
+
+2. Requests with a Content-Length header and a Transfer-Encoding
+header honored the first header (thanks to Jake Miller from Bishop
+Fox) and now fail with a 400;
+
+3. Requests whose Transfer-Encoding header had a value other than
+"chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail
+with a 400.
+---
+ src/twisted/web/http.py | 64 +++++++---
+ src/twisted/web/newsfragments/9770.bugfix | 1 +
+ src/twisted/web/test/test_http.py | 137 ++++++++++++++++++++++
+ 3 files changed, 187 insertions(+), 15 deletions(-)
+ create mode 100644 src/twisted/web/newsfragments/9770.bugfix
+
+diff --git a/src/twisted/web/http.py b/src/twisted/web/http.py
+index f0fb05b4d69..06d830fe30f 100644
+--- a/src/twisted/web/http.py
++++ b/src/twisted/web/http.py
+@@ -2171,6 +2171,51 @@ def _finishRequestBody(self, data):
+ self.allContentReceived()
+ self._dataBuffer.append(data)
+
++ def _maybeChooseTransferDecoder(self, header, data):
++ """
++ If the provided header is C{content-length} or
++ C{transfer-encoding}, choose the appropriate decoder if any.
++
++ Returns L{True} if the request can proceed and L{False} if not.
++ """
++
++ def fail():
++ self._respondToBadRequestAndDisconnect()
++ self.length = None
++
++ # Can this header determine the length?
++ if header == b'content-length':
++ try:
++ length = int(data)
++ except ValueError:
++ fail()
++ return False
++ newTransferDecoder = _IdentityTransferDecoder(
++ length, self.requests[-1].handleContentChunk, self._finishRequestBody)
++ elif header == b'transfer-encoding':
++ # XXX Rather poorly tested code block, apparently only exercised by
++ # test_chunkedEncoding
++ if data.lower() == b'chunked':
++ length = None
++ newTransferDecoder = _ChunkedTransferDecoder(
++ self.requests[-1].handleContentChunk, self._finishRequestBody)
++ elif data.lower() == b'identity':
++ return True
++ else:
++ fail()
++ return False
++ else:
++ # It's not a length related header, so exit
++ return True
++
++ if self._transferDecoder is not None:
++ fail()
++ return False
++ else:
++ self.length = length
++ self._transferDecoder = newTransferDecoder
++ return True
++
+
+ def headerReceived(self, line):
+ """
+@@ -2196,21 +2241,10 @@ def headerReceived(self, line):
+
+ header = header.lower()
+ data = data.strip()
+- if header == b'content-length':
+- try:
+- self.length = int(data)
+- except ValueError:
+- self._respondToBadRequestAndDisconnect()
+- self.length = None
+- return False
+- self._transferDecoder = _IdentityTransferDecoder(
+- self.length, self.requests[-1].handleContentChunk, self._finishRequestBody)
+- elif header == b'transfer-encoding' and data.lower() == b'chunked':
+- # XXX Rather poorly tested code block, apparently only exercised by
+- # test_chunkedEncoding
+- self.length = None
+- self._transferDecoder = _ChunkedTransferDecoder(
+- self.requests[-1].handleContentChunk, self._finishRequestBody)
++
++ if not self._maybeChooseTransferDecoder(header, data):
++ return False
++
+ reqHeaders = self.requests[-1].requestHeaders
+ values = reqHeaders.getRawHeaders(header)
+ if values is not None:
+diff --git a/src/twisted/web/newsfragments/9770.bugfix b/src/twisted/web/newsfragments/9770.bugfix
+new file mode 100644
+index 00000000000..4f1be97de8a
+--- /dev/null
++++ b/src/twisted/web/newsfragments/9770.bugfix
+@@ -0,0 +1 @@
++Fix several request smuggling attacks: requests with multiple Content-Length headers were allowed (thanks to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400; requests with a Content-Length header and a Transfer-Encoding header honored the first header (thanks to Jake Miller from Bishop Fox) and now fail with a 400; requests whose Transfer-Encoding header had a value other than "chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail a 400.
+\ No newline at end of file
+diff --git a/src/twisted/web/test/test_http.py b/src/twisted/web/test/test_http.py
+index 0a0db09b750..578cb500cda 100644
+--- a/src/twisted/web/test/test_http.py
++++ b/src/twisted/web/test/test_http.py
+@@ -2252,6 +2252,143 @@ def process(self):
+ self.flushLoggedErrors(AttributeError)
+
+
++ def assertDisconnectingBadRequest(self, request):
++ """
++ Assert that the given request bytes fail with a 400 bad
++ request without calling L{Request.process}.
++
++ @param request: A raw HTTP request
++ @type request: L{bytes}
++ """
++ class FailedRequest(http.Request):
++ processed = False
++ def process(self):
++ FailedRequest.processed = True
++
++ channel = self.runRequest(request, FailedRequest, success=False)
++ self.assertFalse(FailedRequest.processed, "Request.process called")
++ self.assertEqual(
++ channel.transport.value(),
++ b"HTTP/1.1 400 Bad Request\r\n\r\n")
++ self.assertTrue(channel.transport.disconnecting)
++
++
++ def test_duplicateContentLengths(self):
++ """
++ A request which includes multiple C{content-length} headers
++ fails with a 400 response without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Content-Length: 56',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_duplicateContentLengthsWithPipelinedRequests(self):
++ """
++ Two pipelined requests, the first of which includes multiple
++ C{content-length} headers, trigger a 400 response without
++ calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Content-Length: 56',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ b'GET /a HTTP/1.1',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_contentLengthAndTransferEncoding(self):
++ """
++ A request that includes both C{content-length} and
++ C{transfer-encoding} headers fails with a 400 response without
++ calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: chunked',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_contentLengthAndTransferEncodingWithPipelinedRequests(self):
++ """
++ Two pipelined requests, the first of which includes both
++ C{content-length} and C{transfer-encoding} headers, triggers a
++ 400 response without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: chunked',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ b'GET /a HTTP/1.1',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_unknownTransferEncoding(self):
++ """
++ A request whose C{transfer-encoding} header includes a value
++ other than C{chunked} or C{identity} fails with a 400 response
++ without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: unknown',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_transferEncodingIdentity(self):
++ """
++ A request with a valid C{content-length} and a
++ C{transfer-encoding} whose value is C{identity} succeeds.
++ """
++ body = []
++
++ class SuccessfulRequest(http.Request):
++ processed = False
++ def process(self):
++ body.append(self.content.read())
++ self.setHeader(b'content-length', b'0')
++ self.finish()
++
++ request = b'''\
++GET / HTTP/1.1
++Host: host.invalid
++Content-Length: 2
++Transfer-Encoding: identity
++
++ok
++'''
++ channel = self.runRequest(request, SuccessfulRequest, False)
++ self.assertEqual(body, [b'ok'])
++ self.assertEqual(
++ channel.transport.value(),
++ b'HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n',
++ )
++
++
+
+ class QueryArgumentsTests(unittest.TestCase):
+ def testParseqs(self):
diff --git a/user/qemu/APKBUILD b/user/qemu/APKBUILD
index e64bb2510..bc3744541 100644
--- a/user/qemu/APKBUILD
+++ b/user/qemu/APKBUILD
@@ -2,10 +2,11 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qemu
-pkgver=3.0.0
-pkgrel=5
+pkgver=4.2.0
+pkgrel=1
pkgdesc="Machine emulator and virtualisation software"
url="https://www.qemu.org/"
arch="all"
@@ -27,13 +28,14 @@ makedepends="
libjpeg-turbo-dev
libnfs-dev
libpng-dev
- libssh2-dev
+ libslirp-dev
libusb-dev
libx11-dev
libxml2-dev
linux-headers
lzo-dev
ncurses-dev
+ py3-sphinx
python3
snappy-dev
spice-dev
@@ -109,7 +111,6 @@ _system_subsystems="
system-or1k
system-ppc
system-ppc64
- system-ppcemb
system-riscv32
system-riscv64
system-s390x
@@ -151,13 +152,15 @@ source="https://download.qemu.org/$pkgname-$pkgver.tar.xz
ncurses.patch
ignore-signals-33-and-64-to-allow-golang-emulation.patch
0001-linux-user-fix-build-with-musl-on-ppc64le.patch
- fix-sockios-header.patch
test-crypto-ivgen-skip-essiv.patch
ppc32-musl-support.patch
signal-fixes.patch
sysinfo-header.patch
fix-lm32-underlinking.patch
time64.patch
+ MAP_SYNC-fix.patch
+ CVE-2020-1711.patch
+ CVE-2020-11102.patch
$pkgname-guest-agent.confd
$pkgname-guest-agent.initd
@@ -168,31 +171,68 @@ builddir="$srcdir/$pkgname-$pkgver"
# secfixes:
# 2.8.1-r1:
-# - CVE-2016-7994
-# - CVE-2016-7995
-# - CVE-2016-8576
-# - CVE-2016-8577
-# - CVE-2016-8578
-# - CVE-2016-8668
-# - CVE-2016-8909
-# - CVE-2016-8910
-# - CVE-2016-9101
-# - CVE-2016-9102
-# - CVE-2016-9103
-# - CVE-2016-9104
-# - CVE-2016-9105
-# - CVE-2016-9106
-# - CVE-2017-2615
-# - CVE-2017-2620
-# - CVE-2017-5525
-# - CVE-2017-5552
-# - CVE-2017-5578
-# - CVE-2017-5579
-# - CVE-2017-5667
-# - CVE-2017-5856
-# - CVE-2017-5857
-# - CVE-2017-5898
-# - CVE-2017-5931
+# - CVE-2016-7994
+# - CVE-2016-7995
+# - CVE-2016-8576
+# - CVE-2016-8577
+# - CVE-2016-8578
+# - CVE-2016-8668
+# - CVE-2016-8909
+# - CVE-2016-8910
+# - CVE-2016-9101
+# - CVE-2016-9102
+# - CVE-2016-9103
+# - CVE-2016-9104
+# - CVE-2016-9105
+# - CVE-2016-9106
+# - CVE-2017-2615
+# - CVE-2017-2620
+# - CVE-2017-5525
+# - CVE-2017-5552
+# - CVE-2017-5578
+# - CVE-2017-5579
+# - CVE-2017-5667
+# - CVE-2017-5856
+# - CVE-2017-5857
+# - CVE-2017-5898
+# - CVE-2017-5931
+# 4.2.0-r0:
+# - CVE-2018-10839
+# - CVE-2018-16847
+# - CVE-2018-16867
+# - CVE-2018-16872
+# - CVE-2018-17958
+# - CVE-2018-17962
+# - CVE-2018-17963
+# - CVE-2018-18849
+# - CVE-2018-18954
+# - CVE-2018-19364
+# - CVE-2018-19489
+# - CVE-2018-20123
+# - CVE-2018-20124
+# - CVE-2018-20125
+# - CVE-2018-20126
+# - CVE-2018-20191
+# - CVE-2018-20216
+# - CVE-2018-20815
+# - CVE-2019-3812
+# - CVE-2019-5008
+# - CVE-2019-6501
+# - CVE-2019-6778
+# - CVE-2019-8934
+# - CVE-2019-9824
+# - CVE-2019-12068
+# - CVE-2019-12155
+# - CVE-2019-13164
+# - CVE-2019-14378
+# - CVE-2019-15034
+# - CVE-2019-15890
+# - CVE-2019-20382
+# - CVE-2020-1711
+# - CVE-2020-7039
+# - CVE-2020-8608
+# 4.2.0-r1:
+# - CVE-2020-11102
prepare() {
default_prepare # apply patches
@@ -218,6 +258,7 @@ _compile_common() {
--disable-gcrypt \
--cc="${CC:-gcc}" \
--python="/usr/bin/python3" \
+ --enable-slirp=system \
"$@"
make ARFLAGS="rc"
}
@@ -233,7 +274,6 @@ _compile_system() {
--enable-cap-ng \
--enable-linux-aio \
--enable-usb-redir \
- --enable-libssh2 \
--enable-vhost-net \
--enable-snappy \
--enable-tpm \
@@ -248,16 +288,19 @@ _compile_system() {
build() {
local systems
+
mkdir -p "$builddir"/build \
"$builddir"/build-user \
"$builddir"/build-gtk
+ msg "Building -user..."
cd "$builddir"/build-user
_compile_common \
--enable-linux-user \
--disable-system \
--static
+ msg "Building -system..."
cd "$builddir"/build
_compile_system \
--enable-vnc \
@@ -268,10 +311,10 @@ build() {
--disable-gtk
if [ -n "$_arch" ]; then
+ msg "Building -gtk..."
cd "$builddir"/build-gtk
_compile_system \
--enable-gtk \
- --with-gtkabi=3.0 \
--disable-vnc \
--disable-spice \
--disable-guest-agent \
@@ -287,9 +330,11 @@ check() {
}
package() {
+ msg "Installing -user..."
cd "$builddir"/build-user
make DESTDIR="$pkgdir" install
+ msg "Installing -system..."
cd "$builddir"/build
make DESTDIR="$pkgdir" install
@@ -395,7 +440,7 @@ guest() {
"$subpkgdir"/etc/conf.d/$pkgname-guest-agent
}
-sha512sums="a764302f50b9aca4134bbbc1f361b98e71240cdc7b25600dfe733bf4cf17bd86000bd28357697b08f3b656899dceb9e459350b8d55557817444ed5d7fa380a5a qemu-3.0.0.tar.xz
+sha512sums="2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56 qemu-4.2.0.tar.xz
405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch
1ac043312864309e19f839a699ab2485bca51bbf3d5fdb39f1a87b87e3cbdd8cbda1a56e6b5c9ffccd65a8ac2f600da9ceb8713f4dbba26f245bc52bcd8a1c56 0001-linux-user-fix-build-with-musl-on-aarch64.patch
224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch
@@ -404,13 +449,15 @@ sha512sums="a764302f50b9aca4134bbbc1f361b98e71240cdc7b25600dfe733bf4cf17bd86000b
b6ed02aaf95a9bb30a5f107d35371207967edca058f3ca11348b0b629ea7a9c4baa618db68a3df72199eea6d86d14ced74a5a229d17604cc3f0adedcfeae7a73 ncurses.patch
fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c692bb34883346babef5c44407a6804b20a39a465bb2bc85136 ignore-signals-33-and-64-to-allow-golang-emulation.patch
d8933df9484158c2b4888254e62117d78f8ed7c18527b249419f39c2b2ab1afa148010884b40661f8965f1ef3105580fceffdfddbb2c9221dc1c62066722ba65 0001-linux-user-fix-build-with-musl-on-ppc64le.patch
-39590476a4ebd7c1e79a4f0451b24c75b1817a2a83abaa1f71bb60b225d772152f0af8f3e51ff65645e378c536ffa6ff551dade52884d03a14b7c6a19c5c97d4 fix-sockios-header.patch
8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch
fb0130fa4e8771b23ae337ea3e5e29fd5f7dcfe7f9f7a68968f5b059bb4dd1336b0d04c118840d55885bc784a96a99b28aeacbc6a5549b2e6750c9d3099a897c ppc32-musl-support.patch
c6436b1cc986788baccd5fe0f9d23c7db9026f6b723260611cf894bd94ee830140a17ee5859efe0dad0ca3bfe9caae1269bc5c9ab4c6e696f35c7857c1b5c86b signal-fixes.patch
698f6b134f4ca87f4de62caf7a656841a40a451b8686ca95928f67a296e58a7493d432d9baa5f6360917865aa4929600baf1699993b0600923a066ca9d45d1da sysinfo-header.patch
2828cc612539aa93b5789de7de6d4f85d3cf82311484c0fe91fdd3efeb972057e2baa2a3809ed633d6caa1785642d49196cb282b095d7553c510c47ce7d6a702 fix-lm32-underlinking.patch
87f659800b78b31731ea1828a27a3762662ef124d10e942f6029b332d5e8cf4487f62a3d742ad59709c2eb9e3ae8af36fa849d6cbac89978a282d29786b9b41a time64.patch
+d7de79ea74e36702cac4a59e472564a55f0a663be7e63c3755e32b4b5dfbc04b390ee79f09f43f6ae706ee2aec9e005eade3c0fd4a202db60d11f436874a17d7 MAP_SYNC-fix.patch
+0ea3745c45507c00c3c036241992d594b5f7e9aa1f0fa9b425dd222390066e1ea2d0aa4923bde0e7f27b7cc2f759a122ae4b600c2fa682a5aad509e7d03ccad9 CVE-2020-1711.patch
+5d9e7e065c6716024eab4984331071f42dcd5363c5456023f81a3ef0329ae578348d0f875868f85c9e1fee5e435d86e2eb7e342a957c36cd099cb5d5d9f3a78d CVE-2020-11102.patch
d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd
1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd
9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules
diff --git a/user/qemu/CVE-2020-11102.patch b/user/qemu/CVE-2020-11102.patch
new file mode 100644
index 000000000..c437a7d47
--- /dev/null
+++ b/user/qemu/CVE-2020-11102.patch
@@ -0,0 +1,144 @@
+From 8ffb7265af64ec81748335ec8f20e7ab542c3850 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Tue, 24 Mar 2020 22:57:22 +0530
+Subject: [PATCH 1/1] net: tulip: check frame size and r/w data length
+
+Tulip network driver while copying tx/rx buffers does not check
+frame size against r/w data length. This may lead to OOB buffer
+access. Add check to avoid it.
+
+Limit iterations over descriptors to avoid potential infinite
+loop issue in tulip_xmit_list_update.
+
+Reported-by: Li Qiang <pangpei.lq@antfin.com>
+Reported-by: Ziming Zhang <ezrakiez@gmail.com>
+Reported-by: Jason Wang <jasowang@redhat.com>
+Tested-by: Li Qiang <liq3ea@gmail.com>
+Reviewed-by: Li Qiang <liq3ea@gmail.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Signed-off-by: Jason Wang <jasowang@redhat.com>
+---
+ hw/net/tulip.c | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+diff --git a/hw/net/tulip.c b/hw/net/tulip.c
+index cfac271..1295f51 100644
+--- a/hw/net/tulip.c
++++ b/hw/net/tulip.c
+@@ -170,6 +170,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
+ } else {
+ len = s->rx_frame_len;
+ }
++
++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
++ return;
++ }
+ pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame +
+ (s->rx_frame_size - s->rx_frame_len), len);
+ s->rx_frame_len -= len;
+@@ -181,6 +185,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
+ } else {
+ len = s->rx_frame_len;
+ }
++
++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
++ return;
++ }
+ pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame +
+ (s->rx_frame_size - s->rx_frame_len), len);
+ s->rx_frame_len -= len;
+@@ -227,7 +235,8 @@ static ssize_t tulip_receive(TULIPState *s, const uint8_t *buf, size_t size)
+
+ trace_tulip_receive(buf, size);
+
+- if (size < 14 || size > 2048 || s->rx_frame_len || tulip_rx_stopped(s)) {
++ if (size < 14 || size > sizeof(s->rx_frame) - 4
++ || s->rx_frame_len || tulip_rx_stopped(s)) {
+ return 0;
+ }
+
+@@ -275,7 +284,6 @@ static ssize_t tulip_receive_nc(NetClientState *nc,
+ return tulip_receive(qemu_get_nic_opaque(nc), buf, size);
+ }
+
+-
+ static NetClientInfo net_tulip_info = {
+ .type = NET_CLIENT_DRIVER_NIC,
+ .size = sizeof(NICState),
+@@ -558,7 +566,7 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
+ if ((s->csr[6] >> CSR6_OM_SHIFT) & CSR6_OM_MASK) {
+ /* Internal or external Loopback */
+ tulip_receive(s, s->tx_frame, s->tx_frame_len);
+- } else {
++ } else if (s->tx_frame_len <= sizeof(s->tx_frame)) {
+ qemu_send_packet(qemu_get_queue(s->nic),
+ s->tx_frame, s->tx_frame_len);
+ }
+@@ -570,23 +578,31 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
+ }
+ }
+
+-static void tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
++static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
+ {
+ int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK;
+ int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK;
+
++ if (s->tx_frame_len + len1 > sizeof(s->tx_frame)) {
++ return -1;
++ }
+ if (len1) {
+ pci_dma_read(&s->dev, desc->buf_addr1,
+ s->tx_frame + s->tx_frame_len, len1);
+ s->tx_frame_len += len1;
+ }
+
++ if (s->tx_frame_len + len2 > sizeof(s->tx_frame)) {
++ return -1;
++ }
+ if (len2) {
+ pci_dma_read(&s->dev, desc->buf_addr2,
+ s->tx_frame + s->tx_frame_len, len2);
+ s->tx_frame_len += len2;
+ }
+ desc->status = (len1 + len2) ? 0 : 0x7fffffff;
++
++ return 0;
+ }
+
+ static void tulip_setup_filter_addr(TULIPState *s, uint8_t *buf, int n)
+@@ -651,13 +667,15 @@ static uint32_t tulip_ts(TULIPState *s)
+
+ static void tulip_xmit_list_update(TULIPState *s)
+ {
++#define TULIP_DESC_MAX 128
++ uint8_t i = 0;
+ struct tulip_descriptor desc;
+
+ if (tulip_ts(s) != CSR5_TS_SUSPENDED) {
+ return;
+ }
+
+- for (;;) {
++ for (i = 0; i < TULIP_DESC_MAX; i++) {
+ tulip_desc_read(s, s->current_tx_desc, &desc);
+ tulip_dump_tx_descriptor(s, &desc);
+
+@@ -675,10 +693,10 @@ static void tulip_xmit_list_update(TULIPState *s)
+ s->tx_frame_len = 0;
+ }
+
+- tulip_copy_tx_buffers(s, &desc);
+-
+- if (desc.control & TDES1_LS) {
+- tulip_tx(s, &desc);
++ if (!tulip_copy_tx_buffers(s, &desc)) {
++ if (desc.control & TDES1_LS) {
++ tulip_tx(s, &desc);
++ }
+ }
+ }
+ tulip_desc_write(s, s->current_tx_desc, &desc);
+--
+1.8.3.1
+
diff --git a/user/qemu/CVE-2020-1711.patch b/user/qemu/CVE-2020-1711.patch
new file mode 100644
index 000000000..c57b5c984
--- /dev/null
+++ b/user/qemu/CVE-2020-1711.patch
@@ -0,0 +1,61 @@
+From 693fd2acdf14dd86c0bf852610f1c2cca80a74dc Mon Sep 17 00:00:00 2001
+From: Felipe Franciosi <felipe@nutanix.com>
+Date: Thu, 23 Jan 2020 12:44:59 +0000
+Subject: [PATCH] iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
+
+When querying an iSCSI server for the provisioning status of blocks (via
+GET LBA STATUS), Qemu only validates that the response descriptor zero's
+LBA matches the one requested. Given the SCSI spec allows servers to
+respond with the status of blocks beyond the end of the LUN, Qemu may
+have its heap corrupted by clearing/setting too many bits at the end of
+its allocmap for the LUN.
+
+A malicious guest in control of the iSCSI server could carefully program
+Qemu's heap (by selectively setting the bitmap) and then smash it.
+
+This limits the number of bits that iscsi_co_block_status() will try to
+update in the allocmap so it can't overflow the bitmap.
+
+Fixes: CVE-2020-1711
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
+Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com>
+Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
+Signed-off-by: Kevin Wolf <kwolf@redhat.com>
+---
+ block/iscsi.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/block/iscsi.c b/block/iscsi.c
+index 2aea7e3f13..cbd57294ab 100644
+--- a/block/iscsi.c
++++ b/block/iscsi.c
+@@ -701,7 +701,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ struct scsi_get_lba_status *lbas = NULL;
+ struct scsi_lba_status_descriptor *lbasd = NULL;
+ struct IscsiTask iTask;
+- uint64_t lba;
++ uint64_t lba, max_bytes;
+ int ret;
+
+ iscsi_co_init_iscsitask(iscsilun, &iTask);
+@@ -721,6 +721,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ }
+
+ lba = offset / iscsilun->block_size;
++ max_bytes = (iscsilun->num_blocks - lba) * iscsilun->block_size;
+
+ qemu_mutex_lock(&iscsilun->mutex);
+ retry:
+@@ -764,7 +765,7 @@ retry:
+ goto out_unlock;
+ }
+
+- *pnum = (int64_t) lbasd->num_blocks * iscsilun->block_size;
++ *pnum = MIN((int64_t) lbasd->num_blocks * iscsilun->block_size, max_bytes);
+
+ if (lbasd->provisioning == SCSI_PROVISIONING_TYPE_DEALLOCATED ||
+ lbasd->provisioning == SCSI_PROVISIONING_TYPE_ANCHORED) {
+--
+2.25.1
+
diff --git a/user/qemu/MAP_SYNC-fix.patch b/user/qemu/MAP_SYNC-fix.patch
new file mode 100644
index 000000000..e13609d73
--- /dev/null
+++ b/user/qemu/MAP_SYNC-fix.patch
@@ -0,0 +1,22 @@
+diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
+index f7f177d..7598960 100644
+--- a/util/mmap-alloc.c
++++ b/util/mmap-alloc.c
+@@ -10,14 +10,16 @@
+ * later. See the COPYING file in the top-level directory.
+ */
+
++#include "qemu/osdep.h"
++
+ #ifdef CONFIG_LINUX
+ #include <linux/mman.h>
++#include <asm-generic/mman.h> /* for ppc64le */
+ #else /* !CONFIG_LINUX */
+ #define MAP_SYNC 0x0
+ #define MAP_SHARED_VALIDATE 0x0
+ #endif /* CONFIG_LINUX */
+
+-#include "qemu/osdep.h"
+ #include "qemu/mmap-alloc.h"
+ #include "qemu/host-utils.h"
+
diff --git a/user/qemu/fix-sockios-header.patch b/user/qemu/fix-sockios-header.patch
deleted file mode 100644
index 1f3cd767c..000000000
--- a/user/qemu/fix-sockios-header.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 43d0562..afa0ac4 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -59,6 +59,7 @@ int __clone2(int (*fn)(void *), void *child_stack_base,
- #include <linux/icmp.h>
- #include <linux/icmpv6.h>
- #include <linux/errqueue.h>
-+#include <linux/sockios.h>
- #include <linux/random.h>
- #include "qemu-common.h"
- #ifdef CONFIG_TIMERFD
- #include <sys/timerfd.h>
diff --git a/user/qqc2-desktop-style/APKBUILD b/user/qqc2-desktop-style/APKBUILD
index a9468cd1f..2281459a7 100644
--- a/user/qqc2-desktop-style/APKBUILD
+++ b/user/qqc2-desktop-style/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qqc2-desktop-style
-pkgver=5.67.1
+pkgver=5.68.0
pkgrel=0
pkgdesc="QtQuickControls 2 style that uses QWidget's QStyle for painting"
url="https://www.kde.org/"
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="c2a88c81e2f4f1c586c7b512624cb631a1e8b84aea1caa69647aa939b34f44c66a1369bfbcbfa32d152f674e852399877c88abcb038eefd99a7480929b085f66 qqc2-desktop-style-5.67.1.tar.xz"
+sha512sums="6f3a9c54715140971b92d88822e00fca2d84ab61819e60be8819629b2ab78444aa5215f3bcf4470d572691230e9ff9589788e313b9b439aa92b38e78b3a41605 qqc2-desktop-style-5.68.0.tar.xz"
diff --git a/user/qt5-qtbase/APKBUILD b/user/qt5-qtbase/APKBUILD
index 18b5b88ad..4cb68524d 100644
--- a/user/qt5-qtbase/APKBUILD
+++ b/user/qt5-qtbase/APKBUILD
@@ -2,7 +2,7 @@
pkgname=qt5-qtbase
_pkgname=qtbase-everywhere-src
pkgver=5.12.6
-pkgrel=0
+pkgrel=1
pkgdesc="Cross-platform application and UI framework"
url="https://www.qt.io/"
arch="all"
@@ -27,6 +27,8 @@ source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodu
link-to-execinfo.patch
qt-musl-iconv-no-bom.patch
time64.patch
+ CVE-2020-0569.patch
+ CVE-2020-0570.patch
"
# secfixes: qt
@@ -36,6 +38,9 @@ source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodu
# - CVE-2018-19870
# - CVE-2018-19871
# - CVE-2018-19873
+# 5.12.6-r1:
+# - CVE-2020-0569
+# - CVE-2020-0570
_qt5_prefix=/usr/lib/qt5
_qt5_datadir=/usr/share/qt5
@@ -175,4 +180,6 @@ sha512sums="5fb82d903b0db95c23c55785047722dea7979e7f94ecaaf374e0c73b4787aabd768a
d00dc607b71a93132f756b952871df9197cfd6d78cc3617544bfa11d7f0eea21ce5dd0d1aeb69dd2702a5694a63d3802accc76499dbf414c01eb56421698cb0c big-endian-scroll-wheel.patch
ee78a44e28ba5f728914bfc3d8d5b467896c7de11a02d54b0bce11e40a4338b1f776c1fcc30cbd436df4f548c1ab0b4fe801f01b162ddd5c0f892893e227acfd link-to-execinfo.patch
e3982b2df2ab4ba53b7a1329a9eb928eb1fee813c61cf6ac03d3300a767ffb57f019ac0fd89f633cac2330549446ff3d43344871296bf362815e7ebffadefa6b qt-musl-iconv-no-bom.patch
-436f0bb7a89a88aa62c7b0398c4e91c325e78542e96f747c903f7e96dbf9d9b693d9688c722f2a74e287fb9ab31e861bd5ed8deb172ed28f56a1b8757663771c time64.patch"
+436f0bb7a89a88aa62c7b0398c4e91c325e78542e96f747c903f7e96dbf9d9b693d9688c722f2a74e287fb9ab31e861bd5ed8deb172ed28f56a1b8757663771c time64.patch
+ddeb0a59cf0901b38669314fd2f14dffba63c6cbd06a3d864cd329081cc2b10323ec52053a6ffe7baf5ee8a1e137331acfe5d874c03596660630dd151828da56 CVE-2020-0569.patch
+b5973799d6dc7c03124b7df5424e5fa84cb81ec3b997e039b84cca21852abaf4ff61780b99c47f1fd6ce64ae61f61b2458ca2929e068644f1973a6f1c53a4d64 CVE-2020-0570.patch"
diff --git a/user/qt5-qtbase/CVE-2020-0569.patch b/user/qt5-qtbase/CVE-2020-0569.patch
new file mode 100644
index 000000000..fa0efdce3
--- /dev/null
+++ b/user/qt5-qtbase/CVE-2020-0569.patch
@@ -0,0 +1,29 @@
+From bf131e8d2181b3404f5293546ed390999f760404 Mon Sep 17 00:00:00 2001
+From: Olivier Goffart <ogoffart@woboq.com>
+Date: Fri, 8 Nov 2019 11:30:40 +0100
+Subject: Do not load plugin from the $PWD
+
+I see no reason why this would make sense to look for plugins in the current
+directory. And when there are plugins there, it may actually be wrong
+
+Change-Id: I5f5aa168021fedddafce90effde0d5762cd0c4c5
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ src/corelib/plugin/qpluginloader.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
+index cadff4f32b..c2443dbdda 100644
+--- a/src/corelib/plugin/qpluginloader.cpp
++++ b/src/corelib/plugin/qpluginloader.cpp
+@@ -305,7 +305,6 @@ static QString locatePlugin(const QString& fileName)
+ paths.append(fileName.left(slash)); // don't include the '/'
+ } else {
+ paths = QCoreApplication::libraryPaths();
+- paths.prepend(QStringLiteral(".")); // search in current dir first
+ }
+
+ for (const QString &path : qAsConst(paths)) {
+--
+cgit v1.2.1
+
diff --git a/user/qt5-qtbase/CVE-2020-0570.patch b/user/qt5-qtbase/CVE-2020-0570.patch
new file mode 100644
index 000000000..dcf507c0d
--- /dev/null
+++ b/user/qt5-qtbase/CVE-2020-0570.patch
@@ -0,0 +1,55 @@
+From e6f1fde24f77f63fb16b2df239f82a89d2bf05dd Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Fri, 10 Jan 2020 09:26:27 -0800
+Subject: QLibrary/Unix: do not attempt to load a library relative to $PWD
+
+I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to
+find libraries in a haswell/ subdir of the main path, but we only need
+to do that transformation if the library is contains at least one
+directory seprator. That is, if the user asks to load "lib/foo", then we
+should try "lib/haswell/foo" (often, the path prefix will be absolute).
+
+When the library name the user requested has no directory separators, we
+let dlopen() do the transformation for us. Testing on Linux confirms
+glibc does so:
+
+$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor
+ 1972475: find library=libXcursor.so.1 [0]; searching
+ 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1
+ 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1
+ 1972475: trying file=/usr/lib64/libXcursor.so.1
+ 1972475: calling init: /usr/lib64/libXcursor.so.1
+ 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0]
+
+Fixes: QTBUG-81272
+Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ src/corelib/plugin/qlibrary_unix.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
+index f0de1010d7..135b82cd37 100644
+--- a/src/corelib/plugin/qlibrary_unix.cpp
++++ b/src/corelib/plugin/qlibrary_unix.cpp
+@@ -1,7 +1,7 @@
+ /****************************************************************************
+ **
+ ** Copyright (C) 2016 The Qt Company Ltd.
+-** Copyright (C) 2018 Intel Corporation
++** Copyright (C) 2020 Intel Corporation
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtCore module of the Qt Toolkit.
+@@ -218,6 +218,8 @@ bool QLibraryPrivate::load_sys()
+ for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) {
+ if (!prefixes.at(prefix).isEmpty() && name.startsWith(prefixes.at(prefix)))
+ continue;
++ if (path.isEmpty() && prefixes.at(prefix).contains(QLatin1Char('/')))
++ continue;
+ if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix)))
+ continue;
+ if (loadHints & QLibrary::LoadArchiveMemberHint) {
+--
+cgit v1.2.1
+
diff --git a/user/re2c/APKBUILD b/user/re2c/APKBUILD
index d039a5baf..aad7b839e 100644
--- a/user/re2c/APKBUILD
+++ b/user/re2c/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=re2c
pkgver=1.3
-pkgrel=0
+pkgrel=1
pkgdesc="Fast lexer generator for C and C++"
url="http://re2c.org/"
arch="all"
@@ -11,7 +11,13 @@ depends=""
checkdepends="bash"
makedepends=""
subpackages="$pkgname-doc"
-source="https://github.com/skvadrik/re2c/releases/download/$pkgver/$pkgname-$pkgver.tar.xz"
+source="https://github.com/skvadrik/re2c/releases/download/$pkgver/$pkgname-$pkgver.tar.xz
+ CVE-2020-11958.patch
+ "
+
+# secfixes:
+# 1.3-r1:
+# - CVE-2020-11958
build() {
./configure \
@@ -32,4 +38,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c7084ab2399fb6b96cef74c1393715d90830f43b82b96af46feb71ef008c0215381c3dbea0b003ff810d869db6021e28001b9d588ad55c616642244b2da09c0e re2c-1.3.tar.xz"
+sha512sums="c7084ab2399fb6b96cef74c1393715d90830f43b82b96af46feb71ef008c0215381c3dbea0b003ff810d869db6021e28001b9d588ad55c616642244b2da09c0e re2c-1.3.tar.xz
+f4376b8e0724d500f665fa60dfd6fb35685a281af50c500d2ff90d781a829fb78f21e8c93c5745a4519acd55a62ec48a570dbfacf0a9ee977502e06f3e2e474a CVE-2020-11958.patch"
diff --git a/user/re2c/CVE-2020-11958.patch b/user/re2c/CVE-2020-11958.patch
new file mode 100644
index 000000000..b982b87e6
--- /dev/null
+++ b/user/re2c/CVE-2020-11958.patch
@@ -0,0 +1,37 @@
+From c4603ba5ce229db83a2a4fb93e6d4b4e3ec3776a Mon Sep 17 00:00:00 2001
+From: Ulya Trofimovich <skvadrik@gmail.com>
+Date: Fri, 17 Apr 2020 22:47:14 +0100
+Subject: [PATCH] Fix crash in lexer refill (reported by Agostino Sarubbo).
+
+The crash happened in a rare case of a very long lexeme that doen't fit
+into the buffer, forcing buffer reallocation.
+
+The crash was caused by an incorrect calculation of the shift offset
+(it was smaller than necessary). As a consequence, the data from buffer
+start and up to the beginning of the current lexeme was not discarded
+(as it should have been), resulting in less free space for new data than
+expected.
+---
+ src/parse/scanner.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/parse/scanner.cc b/src/parse/scanner.cc
+index 1d6e9efa..bd651314 100644
+--- a/src/parse/scanner.cc
++++ b/src/parse/scanner.cc
+@@ -155,13 +155,14 @@ bool Scanner::fill(size_t need)
+ if (!buf) fatal("out of memory");
+
+ memmove(buf, tok, copy);
+- shift_ptrs_and_fpos(buf - bot);
++ shift_ptrs_and_fpos(buf - tok);
+ delete [] bot;
+ bot = buf;
+
+ free = BSIZE - copy;
+ }
+
++ DASSERT(lim + free <= bot + BSIZE);
+ if (!read(free)) {
+ eof = lim;
+ memset(lim, 0, YYMAXFILL);
diff --git a/user/rsibreak/APKBUILD b/user/rsibreak/APKBUILD
index d07cd72eb..3a6d8214e 100644
--- a/user/rsibreak/APKBUILD
+++ b/user/rsibreak/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=rsibreak
-pkgver=0.12.11
+pkgver=0.12.13
pkgrel=0
pkgdesc="Helps you avoid wrist injury by telling you when to stop for a rest"
url="https://www.kde.org/applications/utilities/rsibreak/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="78498b747eeef842e40170236ace9d1ddd8b1f4bcc378134f2935cd2cf1c6933d44fa232f2f9b0724ee6b2638a34e4f71ebee2eac7664946093ed4df8eeb12ec rsibreak-0.12.11.tar.xz"
+sha512sums="dc1411221828afab1c8f3ee89238be44d9fd3784cb5cce4f5a50ce063e14d1683257bffa1b24509d7009e74d0be16f1c788754690b503490fb8be1bedc9657fd rsibreak-0.12.13.tar.xz"
diff --git a/user/ruby-bundler/APKBUILD b/user/ruby-bundler/APKBUILD
index b553c1187..3d8cb5145 100644
--- a/user/ruby-bundler/APKBUILD
+++ b/user/ruby-bundler/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Alyx Wolcott <alyx@leuhta.com>
_gemname=bundler
pkgname=ruby-$_gemname
-pkgver=2.1.2
+pkgver=2.1.4
pkgrel=0
pkgdesc="Manage an application's gem dependencies"
url="https://bundler.io/"
@@ -16,7 +16,7 @@ source="https://rubygems.org/downloads/$_gemname-$pkgver.gem"
builddir="$srcdir/$_gemname-$pkgver"
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
@@ -39,4 +39,4 @@ package() {
}
-sha512sums="2a3b42fa2c6f40998c900eaf9d81d6417970f3daa572e4f1c5cc954fd8ce1e3cacbda0dc9b77d44b2fa756cfb1e72838ef3edee1812881198bbe8c946017e22b bundler-2.1.2.gem"
+sha512sums="6c870061a78e17d97a9219433c7ef8fbf1112de17d0e0f3d8b6db1a518318528e3803184278412aabe65008e93f451ffa59465062856918ef488f9438399eff6 bundler-2.1.4.gem"
diff --git a/user/ruby-diff-lcs/APKBUILD b/user/ruby-diff-lcs/APKBUILD
index 5dbca7146..c03e0e033 100644
--- a/user/ruby-diff-lcs/APKBUILD
+++ b/user/ruby-diff-lcs/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-diff-lcs
_gemname=${pkgname#ruby-}
pkgver=1.3
-pkgrel=1
+pkgrel=2
pkgdesc="Generate difference sets between Ruby sequences"
url="http://halostatue.github.io/diff-lcs/"
arch="noarch"
@@ -19,8 +19,8 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
- local geminstdir="$gemdir/gems/$_gemname-$pkgver"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ geminstdir="$gemdir/gems/$_gemname-$pkgver"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/ruby-rake-compiler/APKBUILD b/user/ruby-rake-compiler/APKBUILD
index 828a9b1ac..eb5431649 100644
--- a/user/ruby-rake-compiler/APKBUILD
+++ b/user/ruby-rake-compiler/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rake-compiler
_gemname=${pkgname#ruby-}
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="Provide a standard and simplified way to build and package Ruby extensions"
url="https://github.com/rake-compiler/rake-compiler"
arch="noarch"
@@ -24,7 +24,7 @@ check() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/ruby-rspec-core/APKBUILD b/user/ruby-rspec-core/APKBUILD
index 9a7ad8d68..9749114a6 100644
--- a/user/ruby-rspec-core/APKBUILD
+++ b/user/ruby-rspec-core/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rspec-core
_gemname=${pkgname#ruby-}
pkgver=3.9.1
-pkgrel=0
+pkgrel=1
pkgdesc="RSpec runner and formatters"
url="https://relishapp.com/rspec/rspec-core"
arch="noarch"
@@ -21,7 +21,7 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/ruby-rspec-expectations/APKBUILD b/user/ruby-rspec-expectations/APKBUILD
index b78363e57..c465c5c4b 100644
--- a/user/ruby-rspec-expectations/APKBUILD
+++ b/user/ruby-rspec-expectations/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=ruby-rspec-expectations
_gemname=${pkgname#ruby-}
-pkgver=3.9.0
+pkgver=3.9.1
pkgrel=0
pkgdesc="Provides a readable API to express expected outcomes of a code example in RSpec"
url="https://relishapp.com/rspec/rspec-expectations/"
@@ -21,7 +21,7 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
@@ -36,5 +36,5 @@ package() {
"$gemdir"/doc
}
-sha512sums="663b9739681c19b5bb1301447017ce4e10bc377ea3f4e51745ccfaa12b014a47e893aeb262b6fa3792e823adb90ae7a15f5c146c48aa80c72eec5faaf84d516c ruby-rspec-expectations-3.9.0.tar.gz
+sha512sums="23a453a46c3eb3bd3f2a39f48f62f05832cf559b570ba0e09235dd6299687254491bab50f5502fefe69dbdeefa09e9d8c5568bc77d0b6b658bb469e197e67572 ruby-rspec-expectations-3.9.1.tar.gz
1d477004521852e23d01b197187dbb434a2c7fd179e506c82a12e17f5d52470fe2a113112e7052b9479077eafa6759beb07c03301de1f8ea7f5c4643c92d8346 gemspec.patch"
diff --git a/user/ruby-rspec-mocks/APKBUILD b/user/ruby-rspec-mocks/APKBUILD
index aff6a8008..f84c951d9 100644
--- a/user/ruby-rspec-mocks/APKBUILD
+++ b/user/ruby-rspec-mocks/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rspec-mocks
_gemname=${pkgname#ruby-}
pkgver=3.9.1
-pkgrel=0
+pkgrel=1
pkgdesc="RSpec's 'test double' framework, with support for stubbing and mocking"
url="https://relishapp.com/rspec/rspec-mocks/"
arch="noarch"
@@ -21,7 +21,7 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/ruby-rspec-support/APKBUILD b/user/ruby-rspec-support/APKBUILD
index a5d1536f9..5f8457dd0 100644
--- a/user/ruby-rspec-support/APKBUILD
+++ b/user/ruby-rspec-support/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rspec-support
_gemname=${pkgname#ruby-}
pkgver=3.9.2
-pkgrel=0
+pkgrel=1
pkgdesc="Support utilities for RSpec gems"
url="https://rubygems.org/gems/rspec-support"
arch="noarch"
@@ -21,7 +21,7 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/ruby-rspec/APKBUILD b/user/ruby-rspec/APKBUILD
index d95857860..a3055f056 100644
--- a/user/ruby-rspec/APKBUILD
+++ b/user/ruby-rspec/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rspec
_gemname=${pkgname#ruby-}
pkgver=3.9.0
-pkgrel=0
+pkgrel=1
pkgdesc="Behaviour Driven Development for Ruby"
url="http://rspec.info/"
arch="noarch"
@@ -23,7 +23,7 @@ build() {
}
package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
gem install --local \
--install-dir "$gemdir" \
diff --git a/user/s6-dns/APKBUILD b/user/s6-dns/APKBUILD
index 4fbbfe04a..ef366ef0f 100644
--- a/user/s6-dns/APKBUILD
+++ b/user/s6-dns/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-dns
-pkgver=2.3.1.1
+pkgver=2.3.2.0
pkgrel=0
pkgdesc="skarnet.org's DNS client libraries and command-line DNS client utilities"
url="https://skarnet.org/software/s6-dns/"
@@ -59,4 +59,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="e69ee16cb16139d344255adc4bb92bd73003464925bbd2df893e3b922add155308b547274a66e3f20a5d3c0310c8fadc877b656753299ff9a269b4e25c26f7a9 s6-dns-2.3.1.1.tar.gz"
+sha512sums="c4b833a944e6c99f52283d7c27c4a4937995b99afb1e9a9d601bb20efec7b23e05fb8500b1653c3a1c045811087acd0bc800cebfdd2fb60c6eba2fd85cfd580d s6-dns-2.3.2.0.tar.gz"
diff --git a/user/s6-linux-utils/APKBUILD b/user/s6-linux-utils/APKBUILD
index 54ff1b005..62103295d 100644
--- a/user/s6-linux-utils/APKBUILD
+++ b/user/s6-linux-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-linux-utils
-pkgver=2.5.1.1
+pkgver=2.5.1.2
pkgrel=0
pkgdesc="skarnet.org's Linux-specific miscellaneous utilities"
url="https://skarnet.org/software/s6-linux-utils/"
@@ -34,4 +34,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="59c58c4d8e13b7a6e0215f21978f8ac2ac54fc3685884204ea1f011f2a882b9381a9686cbb24c9e566e322c14174dda40368c308e37e9c44f6a1687231d108a2 s6-linux-utils-2.5.1.1.tar.gz"
+sha512sums="4557148c3e739471a8846d3e0425da826d77ab3b7fc8d6c777d110152343596d17fde37fddcb099b107663138a5447866c3ff00a05f59d034379d26b1e147331 s6-linux-utils-2.5.1.2.tar.gz"
diff --git a/user/s6-networking/APKBUILD b/user/s6-networking/APKBUILD
index be124a5a8..89ef875b6 100644
--- a/user/s6-networking/APKBUILD
+++ b/user/s6-networking/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-networking
-pkgver=2.3.1.1
+pkgver=2.3.1.2
pkgrel=0
pkgdesc="skarnet.org's UCSPI TCP tools, access control tools, and network time management utilities."
url="https://skarnet.org/software/$pkgname/"
@@ -62,4 +62,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="3bd7cdbf6f105bb83c5116e736f4288d378571467e7aa93f862eba80ce28255bda77140a2a1cf80af80480789dfb38682049f6769952fb8964b860bdf465551b s6-networking-2.3.1.1.tar.gz"
+sha512sums="292bba150fcf4567073690411caebb66b407dbac20dfcc07f8a79d55962ef07f1fcfcf25bac21734605bc171e22805812788b0c12ec01e79f320eef782479d1c s6-networking-2.3.1.2.tar.gz"
diff --git a/user/s6-portable-utils/APKBUILD b/user/s6-portable-utils/APKBUILD
index 5a7a85540..b738b4c16 100644
--- a/user/s6-portable-utils/APKBUILD
+++ b/user/s6-portable-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-portable-utils
-pkgver=2.2.2.1
+pkgver=2.2.2.2
pkgrel=0
pkgdesc="skarnet.org's portable miscellaneous utilities"
url="https://skarnet.org/software/s6-portable-utils/"
@@ -33,4 +33,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="2e74befec59ae6d3f27cb5f2bb92db23af484043e4d5e53e4816d75927059af6698614a4c3ce7ed7e380a88d5bbe88e41dcbc97eb607a10d7a3e46b8a36744ed s6-portable-utils-2.2.2.1.tar.gz"
+sha512sums="ed7df36757780201ccfc0c35a4ab1f6eab16f9fd8a23a6c739a469b9b82862dbb60823748e82c4c902fac835a801f3f0ab0f3d90f20628d6ac8bf744a4fb44a2 s6-portable-utils-2.2.2.2.tar.gz"
diff --git a/user/samurai/APKBUILD b/user/samurai/APKBUILD
index e63de08c9..e9de6bfd4 100644
--- a/user/samurai/APKBUILD
+++ b/user/samurai/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=samurai
-pkgver=1.0
+pkgver=1.1
pkgrel=0
pkgdesc="Pure-C drop-in replacement for ninja"
url="https://github.com/michaelforney/samurai"
@@ -25,4 +25,4 @@ package() {
ln -s samu ninja
}
-sha512sums="87b2a11a39dc36f3582abdc7c9d358c8fce241fe4155b5177d3e8588d1c040a62eb9daafd2365febbfadd6fcc27a3ceacf6f29ca6f871c822aad6f4bad527a51 samurai-1.0.tar.gz"
+sha512sums="b27302c34d736f483909e57c8b162609eaa4c86571c1167b71a5564b521cc3af2861307a16bb6dca55e80952088989e9526b103160d2ea054d15f4ed85b1cedb samurai-1.1.tar.gz"
diff --git a/user/scummvm/APKBUILD b/user/scummvm/APKBUILD
index d6e001f70..edbb2078b 100644
--- a/user/scummvm/APKBUILD
+++ b/user/scummvm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Tambra Wilcox <Tambra@J30AD.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=scummvm
-pkgver=2.1.1
+pkgver=2.1.2
pkgrel=0
pkgdesc="Allows running classic point-and-click adventure games"
url="https://www.scummvm.org/"
@@ -28,5 +28,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c27de3cf226ca6b11b1b431d40ab416c4e10e93244ab96535ead4f704c74267d816545448ae3618be2762ae148b0008952c26784fa4937ac0f3697b2d77f98d9 scummvm-2.1.1.tar.bz2
+sha512sums="de3ce5c9363f59ed151aeedc04870343070acbc2ac7d07a641a0cdcd9cdb9210138dc4b3669818f736c0b0d40bdf9e07d9c015796ceef0c81881ac15e31eaebe scummvm-2.1.2.tar.bz2
20b20a68263c691efb7db83aa8132ec980f2732af728300a641d30c4035d4aa8fcf6efdcebb8c5b924e68fafb50e39ed1825cd64d1f81145259493e858bd50f4 fluidsynth.patch"
diff --git a/user/sddm-kcm/APKBUILD b/user/sddm-kcm/APKBUILD
index e1515db7e..35b89755f 100644
--- a/user/sddm-kcm/APKBUILD
+++ b/user/sddm-kcm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=sddm-kcm
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE configuration applet for SDDM"
url="https://www.kde.org/"
@@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtx11extras-dev
knewstuff-dev"
install_if="systemsettings sddm"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/sddm-kcm-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/sddm-kcm-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0d08f06ec50ae48453e8e4fecb80fced6d237d89ca85a7d9776b312c1e224e631e2e8407db34d9c98593f2e99f1520a0861e17de776f3228ec3f63268db78fe0 sddm-kcm-5.18.2.tar.xz"
+sha512sums="6500b3a721e4f8798fe1e79647beac11ae6d22bb5df1f5c35d815956535e74aadc9c4ffaee72afd99c2f5ea7acefca040185fe1fc106f3e0a7d62f862c8cfdf0 sddm-kcm-5.18.4.1.tar.xz"
diff --git a/user/sdl2/APKBUILD b/user/sdl2/APKBUILD
index e11d9d7ae..c7dd81e68 100644
--- a/user/sdl2/APKBUILD
+++ b/user/sdl2/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=sdl2
-pkgver=2.0.10
-pkgrel=1
+pkgver=2.0.12
+pkgrel=0
pkgdesc="Low level audio, keyboard, mouse, joystick and graphics library"
url="https://www.libsdl.org/"
arch="all"
@@ -14,7 +14,6 @@ makedepends="alsa-lib-dev libx11-dev libxcursor-dev libxext-dev libxi-dev
libxscrnsaver-dev dbus-dev eudev-dev pulseaudio-dev cmake"
subpackages="$pkgname-dev"
source="https://www.libsdl.org/release/SDL2-$pkgver.tar.gz
- gles.patch
sdl2-soname.patch
"
builddir="$srcdir/SDL2-$pkgver"
@@ -38,6 +37,5 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="f49b869362699b3282f6e82920e59c7fac581bcbf955f18a81cc126293c08093a90df7fcb39517cc8bc32708d2213fe645a42b655d6d811c1386efebb3d3c798 SDL2-2.0.10.tar.gz
-c345096eb98617c41ea5a7b79864082d869800dd54fb9d4aa565446dfafc9ec345193555c25c03f318fa13ed82f267eab6b164a1870ead5fb98a1216cbfd4a0b gles.patch
-23fbb178730f0955732cbb3a61145e7ec1bf7810a2589c259cd715557cb4ff5bcbc676197db375ad31be46dab93c6ea7e06b3549414205ae56e1b65a8c8ab21a sdl2-soname.patch"
+sha512sums="3f1f04af0f3d9dda9c84a2e9274ae8d83ea0da3fc367970a820036cc4dc1dbf990cfc37e4975ae05f0b45a4ffa739c6c19e470c00bf3f2bce9b8b63717b8b317 SDL2-2.0.12.tar.gz
+81b5807cd9f2683231c14562e961467fcd7ba257140d1a266932d6a6a5103633e3af896c09b261620b2934d521809e08ed79d3287c0897f4783c6afc1c01a566 sdl2-soname.patch"
diff --git a/user/sdl2/gles.patch b/user/sdl2/gles.patch
deleted file mode 100644
index c400577e1..000000000
--- a/user/sdl2/gles.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- SDL2-2.0.10/src/video/SDL_video.c.old 2019-07-25 04:32:37.000000000 +0000
-+++ SDL2-2.0.10/src/video/SDL_video.c 2020-01-20 17:32:52.918453596 +0000
-@@ -37,7 +37,8 @@
- #include "SDL_opengl.h"
- #endif /* SDL_VIDEO_OPENGL */
-
--#if SDL_VIDEO_OPENGL_ES
-+/* GL and GLES headers conflict on Linux 32 bits */
-+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL
- #include "SDL_opengles.h"
- #endif /* SDL_VIDEO_OPENGL_ES */
-
diff --git a/user/sdl2/sdl2-soname.patch b/user/sdl2/sdl2-soname.patch
index 8f040e30c..7ed5b14bf 100644
--- a/user/sdl2/sdl2-soname.patch
+++ b/user/sdl2/sdl2-soname.patch
@@ -2,7 +2,7 @@ The library name is SDL2-2.0, not SDL2. This fixes builds against SDL.
--- SDL2-2.0.10/CMakeLists.txt.old 2019-07-25 04:32:36.000000000 +0000
+++ SDL2-2.0.10/CMakeLists.txt 2020-01-03 17:23:42.451699149 +0000
-@@ -224,7 +224,7 @@
+@@ -233,7 +233,7 @@
# Those are used for pkg-config and friends, so that the SDL2.pc, sdl2-config,
# etc. are created correctly.
diff --git a/user/sg3_utils/APKBUILD b/user/sg3_utils/APKBUILD
index 35e1a4fb3..4d5f64c4f 100644
--- a/user/sg3_utils/APKBUILD
+++ b/user/sg3_utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=sg3_utils
-pkgver=1.44
+pkgver=1.45
pkgrel=0
pkgdesc="Utilities to manipulate SCSI devices"
url="http://sg.danny.cz/sg/sg3_utils.html"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4f4d5536ebed62f2c81c55741043d9ac3f4610a4dd6ef2e3125f041afd57aae03a32c2affe84a960c9f61fb6f84784bc901c756a8c36c1bc97082fa61e73ae8d sg3_utils-1.44.tar.xz"
+sha512sums="fa25dedc447154d33937248a856af9a7ef380dda282a681d465a57d7dfc24b6c0409fa06aabf8cc28ba191e91db80fed0757b45212eddf713855574b48a97868 sg3_utils-1.45.tar.xz"
diff --git a/user/sox/APKBUILD b/user/sox/APKBUILD
index 31a5d4b1e..8e9fe9934 100644
--- a/user/sox/APKBUILD
+++ b/user/sox/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=sox
pkgver=14.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="Convert between various audio formats"
url="http://sox.sourceforge.net/"
arch="all"
@@ -15,10 +15,38 @@ makedepends="alsa-lib-dev ffmpeg-dev file-dev flac-dev gsm-dev lame-dev
depends=""
subpackages="$pkgname-dev $pkgname-doc"
source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ CVE-2017-11332.patch
+ CVE-2017-11358.patch
+ CVE-2017-11359.patch
+ CVE-2017-15370.patch
+ CVE-2017-15371.patch
+ CVE-2017-15372.patch
+ CVE-2017-15642.patch
+ CVE-2017-18189.patch
+ CVE-2019-13590.patch
+ CVE-2019-8354.patch
+ CVE-2019-8355.patch
+ CVE-2019-8356.patch
+ CVE-2019-8357.patch
disable-pipe-file-detection.patch
- sox-dynamic.patch
"
+# secfixes:
+# 14.4.2-r2:
+# - CVE-2017-11332
+# - CVE-2017-11358
+# - CVE-2017-11359
+# - CVE-2017-15370
+# - CVE-2017-15371
+# - CVE-2017-15372
+# - CVE-2017-15642
+# - CVE-2017-18189
+# - CVE-2019-13590
+# - CVE-2019-8354
+# - CVE-2019-8355
+# - CVE-2019-8356
+# - CVE-2019-8357
+
prepare() {
default_prepare
autoreconf -vif
@@ -43,5 +71,17 @@ package() {
}
sha512sums="b5c6203f4f5577503a034fe5b3d6a033ee97fe4d171c533933e2b036118a43a14f97c9668433229708609ccf9ee16abdeca3fc7501aa0aafe06baacbba537eca sox-14.4.2.tar.gz
-eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch
-3950834db26faa0523006c6fd8e0769d080518f127d345c8ec9bf53e9db8a6bd67cd724f0f86492aaf9ce6ede2dfbde167049768f35c14ef3c2b96e7e00302b6 sox-dynamic.patch"
+b4bded0b15a2243fbb404a33fccf45ad5634d6c6e0f60b49b967592f00ff9bc3657ebcfa42b18a5af804e7f04a700773bece5951739b8206b2c68c46c9ec4c7f CVE-2017-11332.patch
+28ffd5eef149563a1cdfcd920a89a0e2247ddbf4ed10a76c4e34ee57e3a30ec3a98bacf53fe1675da1431dd40c30b13cae0b9a1e26153c1aad6144322b7d78b0 CVE-2017-11358.patch
+2c95d85f94877bf1637d2c1297944a77a8854506cad35b1c0d632237133cd970da82cded817696b19acde25b0e570f4c86659cc362a910e4ea76a037e3e56214 CVE-2017-11359.patch
+bcbfd0785751372cd959a7419d88af24bb041dd02d3d0cf2f0dab46b6f6b55f284c1d823d20e5a0eae15191f3ccb2eefa2026287fdfbecb064722b006970ee00 CVE-2017-15370.patch
+b116887f52eb4b70de9dda5f14e581579c4c1755c39100d88c4b8645bf9e053cfe87de3346eb138edc45fd2c36f0e1755f91e09511d279fe6d4661099c578420 CVE-2017-15371.patch
+f8a4d38cfad80a50b9c758b222d83f6b51d96f1491862680e1632eec2a5c2a7c6f968660307f0f403e0b7537f7da19a510945648bdef8f1302fd4683be869581 CVE-2017-15372.patch
+259980ea6fe08a2481a478a4a21b11a7fc4390b1b53023009d85fb2185ee63c42d2762e024af20912e7277688fac98e4eaa66b4a4e79840517ff2481ad50327e CVE-2017-15642.patch
+de510114a9fbbbabe62149f3c22ebd1fae65ed68e6ed0b818f367bbee806c9e04be6db0c8e64f4985b7bd95dd0cc643e1475767fda4e405931f25104b4a2e39f CVE-2017-18189.patch
+eab27e22035bdbe00d0dc4117f98bf9c5dcad4513a27e0e8a83506b94fca8055bc6ce532d24306aa8434942bef111b3511daf260df56fafb7b4ac5ed2075e3f7 CVE-2019-13590.patch
+61342fad71dbe7f0ff10a7327eeed901c0defd5aafaace4ac755032ccf687d875856490c30f2af050823fd6ff1a1c7f503ae26670225eab916ab59fa857a8cb3 CVE-2019-8354.patch
+3f05ab71680a67c9e8a4b33c70cb19a623f0925a2620ab007dc8d4a82caf5b73b50e3e5d40e242d6f65420d444b91e11bee09e4398e8079ca4af60bd34097593 CVE-2019-8355.patch
+6eca5096c658a61939902a70d218b5662b663df84173d09d5b23f497bdcb81c04cd94d8debed2818079c342cec80ec29ff33d572611826bdbc12a5d465a20241 CVE-2019-8356.patch
+82fbbf62a7124248ce74cf0daab0cd224a3da80e62923db58b8be31c4f145abe0e653f6968d0f6b862e5554d080d0f85b0bc0bcdb6dea34c130aa4ee9106d915 CVE-2019-8357.patch
+eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch"
diff --git a/user/sox/CVE-2017-11332.patch b/user/sox/CVE-2017-11332.patch
new file mode 100644
index 000000000..511049d8e
--- /dev/null
+++ b/user/sox/CVE-2017-11332.patch
@@ -0,0 +1,28 @@
+From 6e177c455fb554327ff8125b6e6dde1568610abe Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:29:28 +0000
+Subject: [PATCH] wav: fix crash if channel count is zero (CVE-2017-11332)
+
+---
+ src/wav.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/wav.c b/src/wav.c
+index 5202556c..71fd52ac 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -712,6 +712,11 @@ static int startread(sox_format_t * ft)
+ else
+ lsx_report("User options overriding channels read in .wav header");
+
++ if (ft->signal.channels == 0) {
++ lsx_fail_errno(ft, SOX_EHDR, "Channel count is zero");
++ return SOX_EOF;
++ }
++
+ if (ft->signal.rate == 0 || ft->signal.rate == dwSamplesPerSecond)
+ ft->signal.rate = dwSamplesPerSecond;
+ else
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-11358.patch b/user/sox/CVE-2017-11358.patch
new file mode 100644
index 000000000..4fadeda30
--- /dev/null
+++ b/user/sox/CVE-2017-11358.patch
@@ -0,0 +1,44 @@
+From e410d00c4821726accfbe1f825f2def6376e181f Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:43:35 +0000
+Subject: [PATCH] hcom: fix crash on input with corrupt dictionary
+ (CVE-2017-11358)
+
+---
+ src/hcom.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/hcom.c b/src/hcom.c
+index e76820e9..be17d9d2 100644
+--- a/src/hcom.c
++++ b/src/hcom.c
+@@ -73,6 +73,14 @@ typedef struct {
+ size_t pos; /* Where next byte goes */
+ } priv_t;
+
++static int dictvalid(int n, int size, int left, int right)
++{
++ if (n > 0 && left < 0)
++ return 1;
++
++ return (unsigned)left < size && (unsigned)right < size;
++}
++
+ static int startread(sox_format_t * ft)
+ {
+ priv_t *p = (priv_t *) ft->priv;
+@@ -150,6 +158,11 @@ static int startread(sox_format_t * ft)
+ lsx_debug("%d %d",
+ p->dictionary[i].dict_leftson,
+ p->dictionary[i].dict_rightson);
++ if (!dictvalid(i, dictsize, p->dictionary[i].dict_leftson,
++ p->dictionary[i].dict_rightson)) {
++ lsx_fail_errno(ft, SOX_EHDR, "Invalid dictionary");
++ return SOX_EOF;
++ }
+ }
+ rc = lsx_skipbytes(ft, (size_t) 1); /* skip pad byte */
+ if (rc)
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-11359.patch b/user/sox/CVE-2017-11359.patch
new file mode 100644
index 000000000..cb96c4a71
--- /dev/null
+++ b/user/sox/CVE-2017-11359.patch
@@ -0,0 +1,30 @@
+From 7b3f30e13e4845bafc93215a372c6eb7dcf04118 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 17:02:11 +0000
+Subject: [PATCH] wav: fix crash writing header when channel count >64k
+ (CVE-2017-11359)
+
+---
+ src/wav.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/wav.c b/src/wav.c
+index 71fd52ac..eca1cde5 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -1379,6 +1379,12 @@ static int wavwritehdr(sox_format_t * ft, int second_header)
+ long blocksWritten = 0;
+ sox_bool isExtensible = sox_false; /* WAVE_FORMAT_EXTENSIBLE? */
+
++ if (ft->signal.channels > UINT16_MAX) {
++ lsx_fail_errno(ft, SOX_EOF, "Too many channels (%u)",
++ ft->signal.channels);
++ return SOX_EOF;
++ }
++
+ dwSamplesPerSecond = ft->signal.rate;
+ wChannels = ft->signal.channels;
+ wBitsPerSample = ft->encoding.bits_per_sample;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15370.patch b/user/sox/CVE-2017-15370.patch
new file mode 100644
index 000000000..9e6a7f7ee
--- /dev/null
+++ b/user/sox/CVE-2017-15370.patch
@@ -0,0 +1,28 @@
+From e076a7ad504add6e8c3b8699e8587eef0e0d9bc3 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:21:23 +0000
+Subject: [PATCH] wav: ima_adpcm: fix buffer overflow on corrupt input
+ (CVE-2017-15370)
+
+Add the same check bad block size as was done for MS adpcm in commit
+f39c574b ("More checks for invalid MS ADPCM blocks").
+---
+ src/wav.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wav.c b/src/wav.c
+index eca1cde5..fad334cf 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -127,7 +127,7 @@ static unsigned short ImaAdpcmReadBlock(sox_format_t * ft)
+ /* work with partial blocks. Specs say it should be null */
+ /* padded but I guess this is better than trailing quiet. */
+ samplesThisBlock = lsx_ima_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t) 0);
+- if (samplesThisBlock == 0)
++ if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock)
+ {
+ lsx_warn("Premature EOF on .wav input file");
+ return 0;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15371.patch b/user/sox/CVE-2017-15371.patch
new file mode 100644
index 000000000..7b38943f2
--- /dev/null
+++ b/user/sox/CVE-2017-15371.patch
@@ -0,0 +1,40 @@
+From 968c689ad2c4269a1a853434d99aa7ebf0c01354 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 15:57:48 +0000
+Subject: [PATCH] flac: fix crash on corrupt metadata (CVE-2017-15371)
+
+---
+ src/flac.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/flac.c b/src/flac.c
+index 0d7829ec..07f45c1b 100644
+--- a/src/flac.c
++++ b/src/flac.c
+@@ -119,9 +119,10 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL
+ p->total_samples = metadata->data.stream_info.total_samples;
+ }
+ else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
++ const FLAC__StreamMetadata_VorbisComment *vc = &metadata->data.vorbis_comment;
+ size_t i;
+
+- if (metadata->data.vorbis_comment.num_comments == 0)
++ if (vc->num_comments == 0)
+ return;
+
+ if (ft->oob.comments != NULL) {
+@@ -129,8 +130,9 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL
+ return;
+ }
+
+- for (i = 0; i < metadata->data.vorbis_comment.num_comments; ++i)
+- sox_append_comment(&ft->oob.comments, (char const *) metadata->data.vorbis_comment.comments[i].entry);
++ for (i = 0; i < vc->num_comments; ++i)
++ if (vc->comments[i].entry)
++ sox_append_comment(&ft->oob.comments, (char const *) vc->comments[i].entry);
+ }
+ }
+
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15372.patch b/user/sox/CVE-2017-15372.patch
new file mode 100644
index 000000000..dd7fcff5d
--- /dev/null
+++ b/user/sox/CVE-2017-15372.patch
@@ -0,0 +1,100 @@
+From 515b986139183326cc40c67c75f83edc60826a9e Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 8 Nov 2017 00:27:46 +0000
+Subject: [PATCH] adpcm: fix stack overflow with >4 channels (CVE-2017-15372)
+
+---
+ src/adpcm.c | 8 +++++++-
+ src/adpcm.h | 3 +++
+ src/wav.c | 5 ++++-
+ 3 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/src/adpcm.c b/src/adpcm.c
+index 2e13867e..f64b7d5c 100644
+--- a/src/adpcm.c
++++ b/src/adpcm.c
+@@ -71,6 +71,11 @@ const short lsx_ms_adpcm_i_coef[7][2] = {
+ { 392,-232}
+ };
+
++extern void *lsx_ms_adpcm_alloc(unsigned chans)
++{
++ return lsx_malloc(chans * sizeof(MsState_t));
++}
++
+ static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state,
+ sox_sample_t sample1, sox_sample_t sample2)
+ {
+@@ -102,6 +107,7 @@ static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state,
+
+ /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */
+ const char *lsx_ms_adpcm_block_expand_i(
++ void *priv,
+ unsigned chans, /* total channels */
+ int nCoef,
+ const short *coef,
+@@ -113,7 +119,7 @@ const char *lsx_ms_adpcm_block_expand_i(
+ const unsigned char *ip;
+ unsigned ch;
+ const char *errmsg = NULL;
+- MsState_t state[4]; /* One decompressor state for each channel */
++ MsState_t *state = priv; /* One decompressor state for each channel */
+
+ /* Read the four-byte header for each channel */
+ ip = ibuff;
+diff --git a/src/adpcm.h b/src/adpcm.h
+index af4d6f08..db5cc615 100644
+--- a/src/adpcm.h
++++ b/src/adpcm.h
+@@ -29,8 +29,11 @@
+ /* default coef sets */
+ extern const short lsx_ms_adpcm_i_coef[7][2];
+
++extern void *lsx_ms_adpcm_alloc(unsigned chans);
++
+ /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */
+ extern const char *lsx_ms_adpcm_block_expand_i(
++ void *priv,
+ unsigned chans, /* total channels */
+ int nCoef,
+ const short *coef,
+diff --git a/src/wav.c b/src/wav.c
+index fad334cf..066be6d7 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -82,6 +82,7 @@ typedef struct {
+ /* following used by *ADPCM wav files */
+ unsigned short nCoefs; /* ADPCM: number of coef sets */
+ short *lsx_ms_adpcm_i_coefs; /* ADPCM: coef sets */
++ void *ms_adpcm_data; /* Private data of adpcm decoder */
+ unsigned char *packet; /* Temporary buffer for packets */
+ short *samples; /* interleaved samples buffer */
+ short *samplePtr; /* Pointer to current sample */
+@@ -175,7 +176,7 @@ static unsigned short AdpcmReadBlock(sox_format_t * ft)
+ }
+ }
+
+- errmsg = lsx_ms_adpcm_block_expand_i(ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock);
++ errmsg = lsx_ms_adpcm_block_expand_i(wav->ms_adpcm_data, ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock);
+
+ if (errmsg)
+ lsx_warn("%s", errmsg);
+@@ -791,6 +792,7 @@ static int startread(sox_format_t * ft)
+
+ /* nCoefs, lsx_ms_adpcm_i_coefs used by adpcm.c */
+ wav->lsx_ms_adpcm_i_coefs = lsx_malloc(wav->nCoefs * 2 * sizeof(short));
++ wav->ms_adpcm_data = lsx_ms_adpcm_alloc(wChannels);
+ {
+ int i, errct=0;
+ for (i=0; len>=2 && i < 2*wav->nCoefs; i++) {
+@@ -1216,6 +1218,7 @@ static int stopread(sox_format_t * ft)
+ free(wav->packet);
+ free(wav->samples);
+ free(wav->lsx_ms_adpcm_i_coefs);
++ free(wav->ms_adpcm_data);
+ free(wav->comment);
+ wav->comment = NULL;
+
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15642.patch b/user/sox/CVE-2017-15642.patch
new file mode 100644
index 000000000..95beb4f6f
--- /dev/null
+++ b/user/sox/CVE-2017-15642.patch
@@ -0,0 +1,34 @@
+From f56c0dbca8f5bd02ea88970c248c0d087386e807 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Mon, 20 Nov 2017 11:03:15 +0000
+Subject: [PATCH] aiff: fix crash on empty comment chunk (CVE-2017-15642)
+
+This fixes a use after free and double free if an empty comment
+chunk follows a non-empty one.
+---
+ src/aiff.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/aiff.c b/src/aiff.c
+index 240d2e1f..11ddb542 100644
+--- a/src/aiff.c
++++ b/src/aiff.c
+@@ -62,7 +62,6 @@ int lsx_aiffstartread(sox_format_t * ft)
+ size_t ssndsize = 0;
+ char *annotation;
+ char *author;
+- char *comment = NULL;
+ char *copyright;
+ char *nametext;
+
+@@ -270,6 +269,7 @@ int lsx_aiffstartread(sox_format_t * ft)
+ free(annotation);
+ }
+ else if (strncmp(buf, "COMT", (size_t)4) == 0) {
++ char *comment = NULL;
+ rc = commentChunk(&comment, "Comment:", ft);
+ if (rc) {
+ /* Fail already called in function */
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-18189.patch b/user/sox/CVE-2017-18189.patch
new file mode 100644
index 000000000..aa3791d01
--- /dev/null
+++ b/user/sox/CVE-2017-18189.patch
@@ -0,0 +1,33 @@
+From 09d7388c8ad5701ed9c59d1d600ff6154b066397 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Thu, 9 Nov 2017 11:45:10 +0000
+Subject: [PATCH] xa: validate channel count (CVE-2017-18189)
+
+A corrupt header specifying zero channels would send read_channels()
+into an infinite loop. Prevent this by sanity checking the channel
+count in open_read(). Also add an upper bound to prevent overflow
+in multiplication.
+---
+ src/xa.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/xa.c b/src/xa.c
+index 81a76772..9fc086ec 100644
+--- a/src/xa.c
++++ b/src/xa.c
+@@ -143,6 +143,12 @@ static int startread(sox_format_t * ft)
+ lsx_report("User options overriding rate read in .xa header");
+ }
+
++ if (ft->signal.channels == 0 || ft->signal.channels > UINT16_MAX) {
++ lsx_fail_errno(ft, SOX_EFMT, "invalid channel count %d",
++ ft->signal.channels);
++ return SOX_EOF;
++ }
++
+ /* Check for supported formats */
+ if (ft->encoding.bits_per_sample != 16) {
+ lsx_fail_errno(ft, SOX_EFMT, "%d-bit sample resolution not supported.",
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-13590.patch b/user/sox/CVE-2019-13590.patch
new file mode 100644
index 000000000..a09b11bae
--- /dev/null
+++ b/user/sox/CVE-2019-13590.patch
@@ -0,0 +1,33 @@
+From 7b6a889217d62ed7e28188621403cc7542fd1f7e Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Tue, 4 Feb 2020 12:55:18 +0000
+Subject: [PATCH] sox-fmt: validate comments_bytes before use (CVE-2019-13590)
+ [bug #325]
+
+Cap the comments size to 1 GB to avoid overflows in subsequent
+arithmetic.
+
+The missing null check mentioned in the bug report is bogus since
+lsx_calloc() returns a valid pointer or aborts.
+---
+ src/sox-fmt.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/sox-fmt.c b/src/sox-fmt.c
+index aad965cd..11c88771 100644
+--- a/src/sox-fmt.c
++++ b/src/sox-fmt.c
+@@ -46,7 +46,9 @@ static int startread(sox_format_t * ft)
+ lsx_readdw(ft, &comments_bytes))
+ return SOX_EOF;
+
+- if (((headers_bytes + 4) & 7) || headers_bytes < FIXED_HDR + comments_bytes ||
++ if (((headers_bytes + 4) & 7) ||
++ comments_bytes > 0x40000000 || /* max 1 GB */
++ headers_bytes < FIXED_HDR + comments_bytes ||
+ (num_channels > 65535)) /* Reserve top 16 bits */ {
+ lsx_fail_errno(ft, SOX_EHDR, "invalid sox file format header");
+ return SOX_EOF;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8354.patch b/user/sox/CVE-2019-8354.patch
new file mode 100644
index 000000000..1fa0e669f
--- /dev/null
+++ b/user/sox/CVE-2019-8354.patch
@@ -0,0 +1,28 @@
+From f70911261a84333b077c29908e1242f69d7439eb Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 14:57:34 +0100
+Subject: [PATCH] fix possible buffer size overflow in lsx_make_lpf()
+ (CVE-2019-8354)
+
+The multiplication in the size argument malloc() might overflow,
+resulting in a small buffer being allocated. Use calloc() instead.
+---
+ src/effects_i_dsp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c
+index a979b501..e32dfa05 100644
+--- a/src/effects_i_dsp.c
++++ b/src/effects_i_dsp.c
+@@ -357,7 +357,7 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho,
+ double scale, sox_bool dc_norm)
+ {
+ int i, m = num_taps - 1;
+- double * h = malloc(num_taps * sizeof(*h)), sum = 0;
++ double * h = calloc(num_taps, sizeof(*h)), sum = 0;
+ double mult = scale / lsx_bessel_I_0(beta), mult1 = 1 / (.5 * m + rho);
+ assert(Fc >= 0 && Fc <= 1);
+ lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale);
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8355.patch b/user/sox/CVE-2019-8355.patch
new file mode 100644
index 000000000..d4d8cb808
--- /dev/null
+++ b/user/sox/CVE-2019-8355.patch
@@ -0,0 +1,59 @@
+Backport of the following:
+
+From ec073861aa9c0f779a3741c456e4f97d59366ffb Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 15:40:16 +0000
+Subject: [PATCH] make: update exported symbol list [bug #266]
+
+From f8587e2d50dad72d40453ac1191c539ee9e50381 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 17:39:45 +0100
+Subject: [PATCH] fix possible overflow in lsx_(re)valloc() size calculation
+ (CVE-2019-8355)
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -95,7 +95,7 @@ libsox_la_LIBADD += @GOMP_LIBS@
+
+ libsox_la_CFLAGS = @WARN_CFLAGS@
+ libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
+- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
++ -export-symbols-regex '^(sox_.*|lsx_(([cm]|re)alloc.*|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|error|fail_errno|filelength|find_(enum_(text|value)|file_extension)|flush|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|rewind|seeki|sigfigs3p?|strcasecmp|strdup|tell|unreadb|write(b|_b_buf|buf|s)))$$'
+
+ if HAVE_WIN32_LTDL
+ libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
+--- sox-14.4.2/src/xmalloc.c 2012-01-23 16:27:33.000000000 -0600
++++ sox-14.4.2/src/xmalloc.c 2020-03-21 13:24:52.660007611 -0500
+@@ -41,3 +41,13 @@ void *lsx_realloc(void *ptr, size_t news
+
+ return ptr;
+ }
++
++void *lsx_realloc_array(void *p, size_t n, size_t size)
++{
++ if (n > (size_t)-1 / size) {
++ lsx_fail("malloc size overflow");
++ exit(2);
++ }
++
++ return lsx_realloc(p, n * size);
++}
+--- sox-14.4.2/src/xmalloc.h 2012-01-23 16:27:33.000000000 -0600
++++ sox-14.4.2/src/xmalloc.h 2020-03-21 13:24:14.610007203 -0500
+@@ -23,12 +23,14 @@
+ #include <stddef.h>
+ #include <string.h>
+
++LSX_RETURN_VALID void *lsx_realloc_array(void *p, size_t n, size_t size);
++
+ #define lsx_malloc(size) lsx_realloc(NULL, (size))
+ #define lsx_calloc(n,s) (((n)*(s))? memset(lsx_malloc((n)*(s)),0,(n)*(s)) : NULL)
+ #define lsx_Calloc(v,n) v = lsx_calloc(n,sizeof(*(v)))
+ #define lsx_strdup(p) ((p)? strcpy((char *)lsx_malloc(strlen(p) + 1), p) : NULL)
+ #define lsx_memdup(p,s) ((p)? memcpy(lsx_malloc(s), p, s) : NULL)
+-#define lsx_valloc(v,n) v = lsx_malloc((n)*sizeof(*(v)))
+-#define lsx_revalloc(v,n) v = lsx_realloc(v, (n)*sizeof(*(v)))
++#define lsx_valloc(v,n) v = lsx_realloc_array(NULL, n, sizeof(*(v)))
++#define lsx_revalloc(v,n) v = lsx_realloc_array(v, n, sizeof(*(v)))
+
+ #endif
diff --git a/user/sox/CVE-2019-8356.patch b/user/sox/CVE-2019-8356.patch
new file mode 100644
index 000000000..9375bc5ae
--- /dev/null
+++ b/user/sox/CVE-2019-8356.patch
@@ -0,0 +1,92 @@
+From b7883ae1398499daaa926ae6621f088f0f531ed8 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 16:56:42 +0100
+Subject: [PATCH] fft4g: bail if size too large (CVE-2019-8356)
+
+Prevent overflowing of fixed-size buffers in bitrv2() and bitrv2conj()
+if the transform size is too large.
+---
+ src/fft4g.c | 18 ++++++++++++++++++
+ src/fft4g.h | 2 ++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/fft4g.c b/src/fft4g.c
+index 38a8bcc0..88a2a7ec 100644
+--- a/src/fft4g.c
++++ b/src/fft4g.c
+@@ -322,6 +322,9 @@ static void rftfsub(int n, double *a, int nc, double const *c);
+
+ void cdft(int n, int isgn, double *a, int *ip, double *w)
+ {
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ if (n > (ip[0] << 2)) {
+ makewt(n >> 2, ip, w);
+ }
+@@ -344,6 +347,9 @@ void rdft(int n, int isgn, double *a, int *ip, double *w)
+ int nw, nc;
+ double xi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -384,6 +390,9 @@ void ddct(int n, int isgn, double *a, int *ip, double *w)
+ int j, nw, nc;
+ double xr;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -435,6 +444,9 @@ void ddst(int n, int isgn, double *a, int *ip, double *w)
+ int j, nw, nc;
+ double xr;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -486,6 +498,9 @@ void dfct(int n, double *a, double *t, int *ip, double *w)
+ int j, k, l, m, mh, nw, nc;
+ double xr, xi, yr, yi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 3)) {
+ nw = n >> 3;
+@@ -576,6 +591,9 @@ void dfst(int n, double *a, double *t, int *ip, double *w)
+ int j, k, l, m, mh, nw, nc;
+ double xr, xi, yr, yi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 3)) {
+ nw = n >> 3;
+diff --git a/src/fft4g.h b/src/fft4g.h
+index 2b8051ca..95ee3413 100644
+--- a/src/fft4g.h
++++ b/src/fft4g.h
+@@ -13,6 +13,8 @@
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#define FFT4G_MAX_SIZE 262144
++
+ void lsx_cdft(int, int, double *, int *, double *);
+ void lsx_rdft(int, int, double *, int *, double *);
+ void lsx_ddct(int, int, double *, int *, double *);
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8357.patch b/user/sox/CVE-2019-8357.patch
new file mode 100644
index 000000000..ec2b04d30
--- /dev/null
+++ b/user/sox/CVE-2019-8357.patch
@@ -0,0 +1,28 @@
+From 2ce02fea7b350de9ddfbcf542ba4dd59a8ab255b Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 15:08:51 +0100
+Subject: [PATCH] fix possible null pointer deref in lsx_make_lpf()
+ (CVE-2019-8357)
+
+If the buffer allocation fails, return NULL.
+---
+ src/effects_i_dsp.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c
+index e32dfa05..88b1b390 100644
+--- a/src/effects_i_dsp.c
++++ b/src/effects_i_dsp.c
+@@ -362,6 +362,9 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho,
+ assert(Fc >= 0 && Fc <= 1);
+ lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale);
+
++ if (!h)
++ return NULL;
++
+ for (i = 0; i <= m / 2; ++i) {
+ double z = i - .5 * m, x = z * M_PI, y = z * mult1;
+ h[i] = x? sin(Fc * x) / x : Fc;
+--
+2.25.0
+
diff --git a/user/sox/sox-dynamic.patch b/user/sox/sox-dynamic.patch
deleted file mode 100644
index 94ac6a282..000000000
--- a/user/sox/sox-dynamic.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur sox-14.4.2-orig/src/Makefile.am sox-14.4.2/src/Makefile.am
---- sox-14.4.2-orig/src/Makefile.am 2015-04-08 17:11:09.555343005 -0400
-+++ sox-14.4.2/src/Makefile.am 2015-04-08 17:11:25.115317153 -0400
-@@ -95,7 +95,7 @@
-
- libsox_la_CFLAGS = @WARN_CFLAGS@
- libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
-- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
-+ -export-symbols-regex '^(sox_.*|lsx_(error|flush|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
-
- if HAVE_WIN32_LTDL
- libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
diff --git a/user/spice-gtk/APKBUILD b/user/spice-gtk/APKBUILD
index c613828bc..fb44cc0ec 100644
--- a/user/spice-gtk/APKBUILD
+++ b/user/spice-gtk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=spice-gtk
-pkgver=0.37
+pkgver=0.38
pkgrel=0
pkgdesc="A GTK+ widget for SPICE clients"
url="https://www.spice-space.org/"
@@ -12,42 +12,45 @@ license="LGPL-2.1+ AND LGPL-2.0+ AND BSD-3-Clause AND MIT AND GPL-3.0+ AND LGPL-
depends="gst-plugins-good"
depends_dev="gobject-introspection-dev gtk+3.0-dev"
makedepends="$depends_dev acl-dev bash cyrus-sasl-dev eudev-dev
- gst-plugins-base-dev gstreamer-dev gstreamer-tools json-glib-dev
- libjpeg-turbo-dev libusb-dev libxrandr-dev lz4-dev openssl-dev
- opus-dev polkit-dev polkit-dev spice-protocol usbredir-dev
- usbutils zlib-dev"
+ gst-plugins-base-dev gstreamer-dev gstreamer-tools gtk-doc
+ json-glib-dev libjpeg-turbo-dev libucontext-dev
+ libxrandr-dev lz4-dev meson openssl-dev opus-dev polkit-dev
+ py3-pyparsing py3-six spice-protocol
+ zlib-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang spicy
spice-glib:glib"
-source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.bz2"
+source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz
+ macro.patch
+ "
build() {
+ export CFLAGS="$CFLAGS -lucontext"
+
# Note: pulseaudio support is disabled because it's deprecated.
# Audio is still supported through gstreamer.
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
+ #
+ # USB redirection is disabled until there is reasonable belief
+ # that it is endian safe.
+ # https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/120
+ meson \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --with-gtk=3.0 \
- --with-audio=gstreamer \
- --disable-celt051 \
- --disable-werror \
- --enable-lz4 \
- --enable-opus \
- --enable-smartcard=no \
- --enable-usbredir=yes \
- --enable-polkit=yes \
- --enable-pulse=no
- make
+ --localstatedir=/var \
+ --buildtype=release \
+ -Dcelt051=disabled \
+ -Dpulse=disabled \
+ -Dusbredir=disabled \
+ . output
+ ninja -C output
}
check() {
- make check
+ ninja -C output test
}
package() {
- make -j1 DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C output install
}
spicy() {
@@ -66,4 +69,5 @@ glib() {
"$subpkgdir"/usr/lib/girepository-1.0/
}
-sha512sums="a0a20bc6f25337d86e57fe1fc9586c4cc84457fc8c38cdcc5a728990a69018da0fca3ab5aa63349786b5a7508c82b716c94803eefb3495cffb7df4526db2d029 spice-gtk-0.37.tar.bz2"
+sha512sums="27b44ac9f0cee2737ce03bb3f47c62fc0ee2402c291c49fc56cffc4ccb63e2cab001a68ba865a6375d82cb38444408d59c68469783ee4279fa818d8682e902f3 spice-gtk-0.38.tar.xz
+9bae6a1866c977d6b7e032e0fe1f8ce07ccfd8777e982453629d9dce284a6f02c68ab8b073865e3c36340e22dd2f83fbda4cabd3a5bc8a274b3a0bbf9c031ccd macro.patch"
diff --git a/user/spice-gtk/macro.patch b/user/spice-gtk/macro.patch
new file mode 100644
index 000000000..fc0787b93
--- /dev/null
+++ b/user/spice-gtk/macro.patch
@@ -0,0 +1,33 @@
+From 7363d1a0a640b6992d5967621e37c3376958d708 Mon Sep 17 00:00:00 2001
+From: Frediano Ziglio <fziglio@redhat.com>
+Date: Thu, 19 Mar 2020 15:50:45 +0000
+Subject: [PATCH] channel-main: Avoid macro side effects
+
+In big endian system GUINT32_TO_LE macro uses the parameter
+multiple time causing serial to be incremented multiple times
+instead of one.
+Avoid side effects using a temporary variable.
+
+Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
+Acked-by: Victor Toso <victortoso@redhat.com>
+---
+ src/channel-main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/channel-main.c b/src/channel-main.c
+index 0a0b9ca..d7669e8 100644
+--- a/src/channel-main.c
++++ b/src/channel-main.c
+@@ -1384,7 +1384,8 @@ static void agent_clipboard_grab(SpiceMainChannel *channel, guint selection,
+ }
+
+ if (test_agent_cap(channel, VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) {
+- *(uint32_t *)grab = GUINT32_TO_LE(c->clipboard_serial[selection]++);
++ uint32_t serial = c->clipboard_serial[selection]++;
++ *(uint32_t *)grab = GUINT32_TO_LE(serial);
+ grab = (void *)grab + sizeof(uint32_t);
+ }
+
+--
+2.24.1
+
diff --git a/user/spice-protocol/APKBUILD b/user/spice-protocol/APKBUILD
index e31c8544a..1fb5b5c3c 100644
--- a/user/spice-protocol/APKBUILD
+++ b/user/spice-protocol/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=spice-protocol
-pkgver=0.14.0
+pkgver=0.14.1
pkgrel=0
pkgdesc="Spice protocol header files"
url="https://www.spice-space.org/"
@@ -28,4 +28,4 @@ package() {
make pkgconfigdir=/usr/lib/pkgconfig DESTDIR="$pkgdir" install
}
-sha512sums="797df5f529731e9fd395b5946af2490ecf02c26982cc4a0aef24c1766887a35222f68525a996f8bc7459c2c4a25fde0c9a10c489ee6cab6eed7a68a9b5d90f76 spice-protocol-0.14.0.tar.bz2"
+sha512sums="88b0e652564a1f826ee6d3c165ab05c40d13f366567db3840805f03d433d13d7f722225219c26759770d2cde33221fe6d97528521d0eb14bc069cd7ce9af8482 spice-protocol-0.14.1.tar.bz2"
diff --git a/user/spice/APKBUILD b/user/spice/APKBUILD
index ef57a810c..a78551cb6 100644
--- a/user/spice/APKBUILD
+++ b/user/spice/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=spice
-pkgver=0.14.2
+pkgver=0.14.3
pkgrel=0
pkgdesc="Solution for seamless access to virtual machines"
url="https://www.spice-space.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1093b618ea4a7ff31944429ce2903abecfc8d20c35f2d9c8c837a6e053ee429c0115e40665542637a717869209523ac05d15cdb5e77563102d5d3915e4aaaf76 spice-0.14.2.tar.bz2"
+sha512sums="9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4 spice-0.14.3.tar.bz2"
diff --git a/user/sshfs/APKBUILD b/user/sshfs/APKBUILD
index c6fe305e9..d3f1ce3f0 100644
--- a/user/sshfs/APKBUILD
+++ b/user/sshfs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=sshfs
-pkgver=3.6.0
+pkgver=3.7.0
pkgrel=0
pkgdesc="FUSE client based on the SSH File Transfer Protocol"
url="https://github.com/libfuse/sshfs"
@@ -9,7 +9,7 @@ arch="all"
options="!check" # Requires fuse kernel module to be loaded and local ssh server
license="GPL-2.0-only AND GPL-2.0+ AND LGPL-2.1-only"
depends="openssh-client"
-#checkdepends="py3-pytest cmd:which"
+#checkdepends="cmd:which openssh-server openssh-sftp-server py3-pytest"
makedepends="fuse3-dev glib-dev meson coreutils py3-docutils"
subpackages="$pkgname-doc"
source="https://github.com/libfuse/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz"
@@ -32,6 +32,16 @@ build() {
}
check() {
+ # This test requires a running SSH server on localhost, with the
+ # current user being able to login without a password. Recommended
+ # procedure:
+ #
+ # 1. Setup sshd - make sure sftp subsystem is enabled
+ # 2. Ensure current user has a SSH key configured in ~/.ssh/config and
+ # ~/.ssh/authorized_keys
+ # 3. Test `ssh localhost`
+ # 4. Run `abuild check`
+
cd "$builddir"/output
python3 -m pytest test/
}
@@ -40,4 +50,4 @@ package() {
DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="fe34d7bbb76bea6aedf96b4ce7500ad6d81230cca9a43b831302159e5926797a243b7d1675d23ba101057ef247f64ad7df18a73d20578e84b9524218d9ff97bd sshfs-3.6.0.tar.xz"
+sha512sums="bd8bcd45dd9a5e9686c6fb442e877ffdb592ba0d3424d5dab84a955bfafb17e8666abefba6857467833f5b285842bdadd5a9b6c9e8128ac2e564c36df79aa570 sshfs-3.7.0.tar.xz"
diff --git a/user/systemsettings/APKBUILD b/user/systemsettings/APKBUILD
index cd8a63c40..87c2c6793 100644
--- a/user/systemsettings/APKBUILD
+++ b/user/systemsettings/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=systemsettings
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="KDE system settings configuration utility"
url="https://www.kde.org/"
@@ -15,7 +15,7 @@ makedepends="$depends_dev cmake extra-cmake-modules kactivities-stats-dev
kiconthemes-dev kitemmodels-dev kio-dev kirigami2-dev kwindowsystem-dev
kxmlgui-dev libkworkspace-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/systemsettings-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/systemsettings-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="627d88fb0dbec4faf9637353e04ed897f0c15518964fc4b902f7825d525f258f52e171b285eb7fcea7c9fa0eb6d36444eb7bb9bf78517281fa6933f8b01c3c0b systemsettings-5.18.2.tar.xz"
+sha512sums="07e3658affdf4b65967722a92906a3a017b9217ee7443e57e07d9a7a22753fdbd27840e10dfc3716bf193c155ca2fc0d916fb6320852a352b0d0dcfc07be6ae2 systemsettings-5.18.4.1.tar.xz"
diff --git a/user/tcpdump/APKBUILD b/user/tcpdump/APKBUILD
index f39d5c9d5..d2d2ec909 100644
--- a/user/tcpdump/APKBUILD
+++ b/user/tcpdump/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=tcpdump
pkgver=4.9.3
-pkgrel=0
+pkgrel=1
pkgdesc="A tool for network monitoring and data acquisition"
url="http://www.tcpdump.org"
arch="all"
@@ -10,9 +10,7 @@ license="BSD-3-Clause"
depends=""
makedepends="libpcap-dev openssl-dev perl"
subpackages="$pkgname-doc"
-source="http://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz
- CVE-2018-19519.patch
- "
+source="http://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz"
# secfixes:
# 4.9.2-r1:
@@ -67,5 +65,4 @@ package() {
rm -f "$pkgdir"/usr/sbin/tcpdump.4*
}
-sha512sums="3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22 tcpdump-4.9.3.tar.gz
-eb4232e434064ec59b07840aa394cfcc05c89e817f2d4ebeb4da1dbb1c910fe1805857356d6304ebdb16e32aa6476ce90f164aabc60501b493fd5601b380af7e CVE-2018-19519.patch"
+sha512sums="3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22 tcpdump-4.9.3.tar.gz"
diff --git a/user/tcpdump/CVE-2018-19519.patch b/user/tcpdump/CVE-2018-19519.patch
deleted file mode 100644
index ac3293927..000000000
--- a/user/tcpdump/CVE-2018-19519.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- tcpdump-4.9.2/print-hncp.c.old 2017-09-03 23:17:14.000000000 +0000
-+++ tcpdump-4.9.2/print-hncp.c 2018-12-07 19:31:24.360000000 +0000
-@@ -228,6 +228,7 @@
- snprintf(buf, sizeof(buf), "%s/%d", ipaddr_string(ndo, &addr), plen);
- plenbytes += 1 + IPV4_MAPPED_HEADING_LEN;
- } else {
-+ buf[0] = '\0';
- plenbytes = decode_prefix6(ndo, prefix, max_length, buf, sizeof(buf));
- }
-
diff --git a/user/telegram/APKBUILD b/user/telegram/APKBUILD
index 994ed5559..46cc4a9c1 100644
--- a/user/telegram/APKBUILD
+++ b/user/telegram/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=telegram
-pkgver=1.9.19
+pkgver=2.0.1
pkgrel=0
pkgdesc="Telegram messaging app"
url="https://telegram.org/"
@@ -59,5 +59,5 @@ package() {
done
}
-sha512sums="29070c6e1d813943d5062dc1703f383a18323b5698fbc4e6f2c89b33366da9da5d1ec84dc29950288e7e7d112024de2924244ec9c800d59d4b210e6288c7291d tdesktop-1.9.19-full.tar.gz
+sha512sums="99cd7c5ca1e9dd75ecd98d272522b0e4aab2d46525e3d0c306503b7a00c9d25c1646e9d7462182682a58947c7435864af805a3b6f85906d8b21e5675cc8383cb tdesktop-2.0.1-full.tar.gz
c478bd59187493d60172d805ca19e9e09fa2c81b87d5dbbd5f3cd9aae0f207b463d127e06f2053f7b7b6ac00b3191d59e36ec6c5453a1da4d6535d1caad27242 endian.patch"
diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD
index 82e464ee1..fd25092a2 100644
--- a/user/thunar/APKBUILD
+++ b/user/thunar/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=thunar
-pkgver=1.8.12
+pkgver=1.8.14
pkgrel=0
pkgdesc="File manager for the XFCE desktop environment"
url="https://xfce.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="cd27b26796602ea8623c368cd6c8bb53136c09e4a02c37775bed9918c801741e0adb5784151fbf4b93785967a637ffb8b1214b0721f9457de683ebd7718a8767 thunar-1.8.12.tar.bz2"
+sha512sums="ce6da526e6378ffc90686f6ae25e56109e8af7d0c592345aca3de4603f4c5b3d089255bc313f2a60ee454cc3f0af52106584663c72ecd542a9c92769559c6787 thunar-1.8.14.tar.bz2"
diff --git a/user/thunderbird/APKBUILD b/user/thunderbird/APKBUILD
index 5cb1c2099..fc2887d63 100644
--- a/user/thunderbird/APKBUILD
+++ b/user/thunderbird/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=thunderbird
-pkgver=68.5.0
+pkgver=68.9.0
pkgrel=0
pkgdesc="Email client from Mozilla"
url="https://www.thunderbird.net/"
@@ -13,7 +13,7 @@ depends=""
# system-libs
# actual deps
makedepends="
- autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
+ autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
perl rust cmd:which
ncurses-dev openssl-dev
@@ -36,7 +36,6 @@ source="https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thun
fix-mutex-build.patch
fix-seccomp-bpf.patch
mozilla-build-arm.patch
- rust-config.patch
shut-up-warning.patch
skia-sucks1.patch
skia-sucks2.patch
@@ -55,6 +54,28 @@ somask="liblgpllibs.so
_mozappdir=/usr/lib/thunderbird
ldpath="$_mozappdir"
+# secfixes:
+# 68.6.0-r0:
+# - CVE-2019-20503
+# - CVE-2020-6805
+# - CVE-2020-6806
+# - CVE-2020-6807
+# - CVE-2020-6811
+# - CVE-2020-6812
+# - CVE-2020-6814
+# 68.7.0-r0:
+# - CVE-2020-6819
+# - CVE-2020-6820
+# - CVE-2020-6821
+# - CVE-2020-6822
+# - CVE-2020-6825
+# 68.9.0-r0:
+# - CVE-2020-6831
+# - CVE-2020-12387
+# - CVE-2020-12392
+# - CVE-2020-12395
+# - CVE-2020-12397
+
unpack() {
default_unpack
[ -z $SKIP_PYTHON ] || return 0
@@ -148,7 +169,7 @@ package() {
${pkgdir}/usr/share/applications/thunderbird.desktop
}
-sha512sums="bb58a398f24d89eac5b1816f9d16edadbe65cdac6542e1f6798424c7ea18eb2d4ca46bb03f54c8c365e67d1dec44d3dfb36fbe4f85afe9ad80fbcc1f2984084b thunderbird-68.5.0.source.tar.xz
+sha512sums="891472c95ba6ff46061131504e89010da512a84b0e1dea0482e603fd4c87f11e099280a245c7dd9fc9320c48229c26602565c089d86f1a1f4271b29b6fc606f0 thunderbird-68.9.0.source.tar.xz
16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz
5519234df2934ac2f3d76c8cad7e4f0fe15cf83ea4beb32c6489d8b7839b3ebea88bdb342e0d2a9c1c7c95e9455d234b0a5aa0e73446fd8027b520f080a2bb5b mozconfig
ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch
@@ -156,7 +177,6 @@ ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53
c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch
70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
-45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch
39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch
e751ffab263f03d4c74feebc617e3af115b1b53cf54fe16c3acc585eec67773f37aa8de4c19599fa6478179b01439025112ef2b759aa9923c9900e7081cb65a9 skia-sucks1.patch
9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4 skia-sucks2.patch
diff --git a/user/thunderbird/rust-config.patch b/user/thunderbird/rust-config.patch
deleted file mode 100644
index eab72a0e4..000000000
--- a/user/thunderbird/rust-config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -urw firefox-68.0-old/build/moz.configure/rust.configure firefox-68.0/build/moz.configure/rust.configure
---- firefox-68.0-old/build/moz.configure/rust.configure 2019-07-07 15:56:29.345963800 +0000
-+++ firefox-68.0/build/moz.configure/rust.configure 2019-07-07 16:19:25.990645334 +0000
-@@ -193,12 +193,16 @@
- ambiguous = set()
- per_raw_os = {}
- for t in out:
-+ if 'fuchsia' in t: continue
- t = split_triplet(t, allow_unknown=True)
- endianness = t.endianness
- if t.cpu.startswith('thumb') and endianness not in ('big', 'little'):
- endianness = 'little'
- key = (t.cpu, endianness, t.os)
- if key in per_os:
-+ # hax to allow Adélie toolchains to work
-+ if 'foxkit' in per_os[key].alias:
-+ continue
- previous = per_os[key]
- per_raw_os[(previous.cpu, previous.endianness,
- previous.raw_os)] = previous
diff --git a/user/tinycdb/APKBUILD b/user/tinycdb/APKBUILD
new file mode 100644
index 000000000..434e4273e
--- /dev/null
+++ b/user/tinycdb/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=tinycdb
+pkgver=0.78
+pkgrel=0
+pkgdesc="A constant database"
+url="https://www.corpit.ru/mjt/tinycdb.html"
+arch="all"
+license="Public-Domain"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.corpit.ru/mjt/tinycdb/$pkgname-$pkgver.tar.gz
+ Makefile.patch"
+
+build() {
+ make prefix=/usr sysconfdir=/etc mandir=/usr/share/man localstatedir=/var
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+sha512sums="8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553 tinycdb-0.78.tar.gz
+199774ee259bd6ba91ec000485c959e9632f2766203c479ffb81144d4cec39b25a1df9e9b3b676217044e2d65275ef80fbc1fd97272bce7a91fe0c1232a5dc40 Makefile.patch"
diff --git a/user/tinycdb/Makefile.patch b/user/tinycdb/Makefile.patch
new file mode 100644
index 000000000..27d32dff6
--- /dev/null
+++ b/user/tinycdb/Makefile.patch
@@ -0,0 +1,19 @@
+--- a/Makefile 2012-05-11 14:17:47.000000000 +0000
++++ b/Makefile 2020-02-25 05:56:34.969771664 +0000
+@@ -6,14 +6,14 @@
+
+ VERSION = 0.78
+
+-prefix=/usr/local
++prefix=/usr
+ exec_prefix=$(prefix)
+ bindir=$(exec_prefix)/bin
+ libdir=$(exec_prefix)/lib
+ syslibdir=$(libdir)
+ sysconfdir=/etc
+ includedir=$(prefix)/include
+-mandir=$(prefix)/man
++mandir=$(prefix)/share/man
+ NSSCDB_DIR = $(sysconfdir)
+ DESTDIR=
+
diff --git a/user/tlp/APKBUILD b/user/tlp/APKBUILD
index 40613efd9..ca7208b5e 100644
--- a/user/tlp/APKBUILD
+++ b/user/tlp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=tlp
_pkgname=TLP
-pkgver=1.2.2
+pkgver=1.3.1
pkgrel=0
pkgdesc="Linux Advanced Power Management"
url="https://linrunner.de/en/tlp/tlp.html"
@@ -13,6 +13,7 @@ depends="/bin/sh perl"
makedepends=""
subpackages="$pkgname-doc $pkgname-rdw $pkgname-bash-completion:bashcomp
$pkgname-openrc"
+install="$pkgname.post-upgrade"
source="$pkgname-$pkgver.tar.gz::https://github.com/linrunner/$_pkgname/archive/$pkgver.tar.gz
$pkgname.initd"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -48,5 +49,5 @@ bashcomp() {
"$subpkgdir"/usr/share/bash-completion/completions
}
-sha512sums="b01fc2063bf8a87f2b93749c08a5cab53a0a4030b74c7fe62964009fb9d54ca5dc10800971f27cfe6dcdf024ba6d3e21a06caed07e8dc12b09d9d359585a480e tlp-1.2.2.tar.gz
+sha512sums="7ebb14ea797ad8aae613c537de51107a3c7430b5c6ee1407e722e2069ed5376f88ab3dac613651fafabd92d219b980452f236bef33e8a655b1abbfed5eded1b1 tlp-1.3.1.tar.gz
e6de216b2540413812711b3304cdc29c8729d527080cfd747ba382db50166dd21c6c27ff467f9f2a967e92007c7a311b00e88262952c34a22f417578c66cf4e7 tlp.initd"
diff --git a/user/tlp/tlp.post-upgrade b/user/tlp/tlp.post-upgrade
new file mode 100644
index 000000000..6adf68850
--- /dev/null
+++ b/user/tlp/tlp.post-upgrade
@@ -0,0 +1,14 @@
+#!/bin/sh
+ver_new="$1"
+ver_old="$2"
+
+if [ "$(apk version -t "$ver_old" "1.3.1")" = "<" ]; then
+ cat >&2 <<-EOF
+ *
+ * tlp has moved its configuration from '/etc/default/tlp'
+ * to '/etc/tlp.conf' and '/etc/tlp.d'. Additionally,
+ * these configuration files are now parsed instead of
+ * executed via the shell, so expansions will no longer work.
+ *
+ EOF
+fi
diff --git a/user/user-manager/APKBUILD b/user/user-manager/APKBUILD
index 05f41f09e..f8b5b947c 100644
--- a/user/user-manager/APKBUILD
+++ b/user/user-manager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
pkgname=user-manager
-pkgver=5.18.2
+pkgver=5.18.4.1
pkgrel=0
pkgdesc="Manage user accounts from KDE"
url="https://www.KDE.org/"
@@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kauth-dev kcmutils-dev
kconfig-dev kconfigwidgets-dev kcoreaddons-dev ki18n-dev kiconthemes-dev
kio-dev kwidgetsaddons-dev libpwquality-dev"
subpackages="$pkgname-lang"
-source="https://download.kde.org/stable/plasma/$pkgver/user-manager-$pkgver.tar.xz"
+source="https://download.kde.org/stable/plasma/${pkgver%.*}/user-manager-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="86d90ea0607cff32146c123468547e92d4c3bba8c5c088c232de944a07091768f27017d182d8791b5d7d69c8af359d7093fd54bedb536346d11168eafdbe4925 user-manager-5.18.2.tar.xz"
+sha512sums="fc05602587bfcd8df80bd7bd96de8160e60389aa9e829ad4666706ca5a61ae4f9e282de4fdc42f5245e51ae2ed877053379c6047f7cab7590c56cb02bcde836d user-manager-5.18.4.1.tar.xz"
diff --git a/user/uwsgi/APKBUILD b/user/uwsgi/APKBUILD
index c009e1ff2..a8f216aa3 100644
--- a/user/uwsgi/APKBUILD
+++ b/user/uwsgi/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=uwsgi
pkgver=2.0.18
-pkgrel=0
+pkgrel=2
pkgdesc="Web application server"
url="https://projects.unbit.it/uwsgi"
arch="all"
diff --git a/user/vala/APKBUILD b/user/vala/APKBUILD
index 70bd3ff2a..78b7a4e36 100644
--- a/user/vala/APKBUILD
+++ b/user/vala/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=vala
-pkgver=0.46.6
+pkgver=0.48.3
pkgrel=0
pkgdesc="Compiler for the Vala programming language"
url="https://wiki.gnome.org/Projects/Vala"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ab24c3ad37af62e38289fd085a33f72e178e0b58c1f24c27c58c1010270a4b0e5cb4cc510b6147c51e5796a7ae63aed3a4ac219b24ff985f2546e25c9ad48992 vala-0.46.6.tar.xz"
+sha512sums="e73eade8b0cfa312d896c81b76e045bc9b8b71bd89298c0f8d78b2f596eebf64dc0eea8d1e266b2c17a774105560ed47590fbe00d65b1fda8db6823ac3ba4bb4 vala-0.48.3.tar.xz"
diff --git a/user/vte/APKBUILD b/user/vte/APKBUILD
index 708f7336e..d55cd91b5 100644
--- a/user/vte/APKBUILD
+++ b/user/vte/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=vte
-pkgver=0.58.3
+pkgver=0.60.1
pkgrel=0
pkgdesc="Virtual terminal emulator library for Gnome"
url="https://www.gnome.org"
@@ -15,7 +15,7 @@ source="https://download.gnome.org/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz
"
build() {
- meson -Dprefix=/usr build
+ meson -Dprefix=/usr -D_systemd=false build
ninja -C build
}
@@ -27,5 +27,5 @@ package() {
DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="b0a38eb1cd7d923b0431af943dbdb89932833f9a2b0b8fc1fa9ee728c87418c1f5a424b2ccee661721093a80c569f3b41c721b0ba2302ba0c3a42d4c5e31aa9a vte-0.58.3.tar.xz
+sha512sums="123a8fcc14f4dba450411f95f43eb60108fee95c328d0e7331c9366d96ba2caa548dece3e95a8b779dda19d322d6879d02abc6ac68e36450e4e72f17a0963c30 vte-0.60.1.tar.xz
4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch"
diff --git a/user/wavpack/APKBUILD b/user/wavpack/APKBUILD
index 45b2f7895..43aefeb03 100644
--- a/user/wavpack/APKBUILD
+++ b/user/wavpack/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer:
pkgname=wavpack
pkgver=5.2.0
-pkgrel=0
+pkgrel=1
pkgdesc="Audio compression format with lossless, lossy, and hybrid compression modes"
url="http://www.wavpack.com/"
arch="all"
@@ -12,19 +12,30 @@ license="BSD-3-Clause"
depends=""
makedepends=""
subpackages="$pkgname-dev $pkgname-doc"
-source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2
- cve2018-19840.patch
- "
+source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2"
# secfixes:
+# 5.2.0-r0:
+# - CVE-2018-6767
+# - CVE-2018-7253
+# - CVE-2018-7254
+# - CVE-2018-10536
+# - CVE-2018-10537
+# - CVE-2018-10538
+# - CVE-2018-10539
+# - CVE-2018-10540
+# - CVE-2019-11498
+# - CVE-2019-1010315
+# - CVE-2019-1010317
+# - CVE-2019-1010319
# 5.1.0-r4:
-# - CVE-2018-19840
-# - CVE-2018-19840
+# - CVE-2018-19840
+# - CVE-2018-19841
# 5.1.0-r0:
-# - CVE-2016-10169
-# - CVE-2016-10170
-# - CVE-2016-10171
-# - CVE-2016-10172
+# - CVE-2016-10169
+# - CVE-2016-10170
+# - CVE-2016-10171
+# - CVE-2016-10172
build() {
_arch_opts=""
@@ -48,5 +59,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="456da78fb5d01b33a8ed71b43cb6809a25ca0d54e53858b93bbb3eb26923bfa6de4c6a3c01caca947c0852aea74d1b14667205dae344148a01619e67eb2c7e71 wavpack-5.2.0.tar.bz2
-67d02dd744c638d126cf5a894d1ff2c39726bd4d3771ef7410ea782e5c9a0f9341909432bd4bea9b8959891c38699601c1aac2da6e0eaddaa5a4d679e7f58dd2 cve2018-19840.patch"
+sha512sums="456da78fb5d01b33a8ed71b43cb6809a25ca0d54e53858b93bbb3eb26923bfa6de4c6a3c01caca947c0852aea74d1b14667205dae344148a01619e67eb2c7e71 wavpack-5.2.0.tar.bz2"
diff --git a/user/wavpack/cve2018-19840.patch b/user/wavpack/cve2018-19840.patch
deleted file mode 100644
index 2da022025..000000000
--- a/user/wavpack/cve2018-19840.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 070ef6f138956d9ea9612e69586152339dbefe51 Mon Sep 17 00:00:00 2001
-From: David Bryant <david@wavpack.com>
-Date: Thu, 29 Nov 2018 21:00:42 -0800
-Subject: [PATCH] issue #53: error out on zero sample rate
-
----
- src/pack_utils.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/pack_utils.c b/src/pack_utils.c
-index 2253f0d..2a83497 100644
---- a/src/pack_utils.c
-+++ b/src/pack_utils.c
-@@ -195,6 +195,11 @@ int WavpackSetConfiguration64 (WavpackContext *wpc, WavpackConfig *config, int64
- int num_chans = config->num_channels;
- int i;
-
-+ if (!config->sample_rate) {
-+ strcpy (wpc->error_message, "sample rate cannot be zero!");
-+ return FALSE;
-+ }
-+
- wpc->stream_version = (config->flags & CONFIG_COMPATIBLE_WRITE) ? CUR_STREAM_VERS : MAX_STREAM_VERS;
-
- if ((config->qmode & QMODE_DSD_AUDIO) && config->bytes_per_sample == 1 && config->bits_per_sample == 8) {
diff --git a/user/weechat/APKBUILD b/user/weechat/APKBUILD
index dfa1a3277..357476211 100644
--- a/user/weechat/APKBUILD
+++ b/user/weechat/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: zlg <zlg+adelie@zlg.space>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=weechat
-pkgver=2.7.1
+pkgver=2.8
pkgrel=0
pkgdesc="Fast, light, extensible ncurses-based chat client"
url="https://www.weechat.org"
@@ -49,8 +49,8 @@ package() {
}
_plugin() {
- local _name="${subpkgname#*-}"
- local _dir=usr/lib/weechat/plugins
+ _name="${subpkgname#*-}"
+ _dir=usr/lib/weechat/plugins
pkgdesc="WeeChat $_name plugin"
depends="weechat"
if [ "$_name" = spell ]; then
@@ -61,4 +61,4 @@ _plugin() {
mv "$pkgdir"/$_dir/${_name}.so "$subpkgdir"/$_dir
}
-sha512sums="2d2f555a4c48dbfa60a97845657e041fcd37bdde01974b4a49ff2d0ef6b92f16147f84b0e60772e9f54ba3e05ae1772012d3551a5fbb8bdf8332a08ef63a352d weechat-2.7.1.tar.gz"
+sha512sums="3071fc6c5d88d4e388fc22f23242cf264b9533b389668914fc25e71e9939b739ba63a4e182445222ed0a7470dc0b1d958828b56d2c82ac47e9dfce6513c70d80 weechat-2.8.tar.gz"
diff --git a/user/wireguard-module/APKBUILD b/user/wireguard-module/APKBUILD
index 4088a7817..3ac5683cf 100644
--- a/user/wireguard-module/APKBUILD
+++ b/user/wireguard-module/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
-# Maintainer: Luis Ressel <aranea@aixah.de>
+# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
_kver="5.4.5-mc0"
-pkgver=0.0.20200121
+pkgver=1.0.20200506
pkgrel=0
_pkgname="wireguard-module"
pkgname="$_pkgname-$_kver"
@@ -39,4 +39,4 @@ _patch() {
"$builddir"/kernel-tree-scripts/create-patch.sh > "$subpkgdir/usr/share/wireguard/wireguard-$pkgver.patch"
}
-sha512sums="fde9ef09032ad2e2ce69814d42cc0abb3b353d5aa95debd39122b3eb25324c8e707dd9f298f8ee276575d932b1f1bd559b3430da6b8c0a5057911937ed85c726 wireguard-linux-compat-0.0.20200121.tar.xz"
+sha512sums="39a27a515919933dbed71624be3f8f3f512073b522e1e16248c9eda749dd72a3db5a02d85d29855160eb182415f489a4c02c1659ef9589507c99dbfe74ea3074 wireguard-linux-compat-1.0.20200506.tar.xz"
diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD
index 5b41e185c..219a91836 100644
--- a/user/wireguard-tools/APKBUILD
+++ b/user/wireguard-tools/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
-# Maintainer: Luis Ressel <aranea@aixah.de>
+# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=wireguard-tools
-pkgver=1.0.20200121
+pkgver=1.0.20200513
pkgrel=0
pkgdesc="Userland tools for the WireGuard VPN"
url="https://www.wireguard.com/"
@@ -29,4 +29,4 @@ bashcomp() {
mv "$pkgdir/usr/share/bash-completion" "$subpkgdir/usr/share/"
}
-sha512sums="cd22467916c59ab53440e072fee6d0b01f2f9ee06fc3b71de4e74bc3aab05caf25519e5f723d9d160c491f917b7f064ee6b491c74edb52d7d2c29a08d86e41c2 wireguard-tools-1.0.20200121.tar.xz"
+sha512sums="4d27b262350b6b47843a323c2e7ab8d2bdd48065c265778abdec85b3f6fc92aa9af77d76e368df9cc8e435eae1c0ce50fed52e1d78db54358c1884d34be08d2c wireguard-tools-1.0.20200513.tar.xz"
diff --git a/user/xfburn/APKBUILD b/user/xfburn/APKBUILD
index 66e869a55..1a5adc93a 100644
--- a/user/xfburn/APKBUILD
+++ b/user/xfburn/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfburn
-pkgver=0.6.1
+pkgver=0.6.2
pkgrel=0
pkgdesc="CD burning utility for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8ea747ab248a20e835082bbb89e09c3e4746201a1da956bc87a2eef5359d1508e5461c7d8a35327aa2261fb7cac576e8521596f83011bc2240b2fbebde60b9c2 xfburn-0.6.1.tar.bz2"
+sha512sums="c74d21244b5029aaa72c4911ea7549458aea161623a6a020a165b8148f320053a83189de87f71192f006579ca435558d0c07e1a8aa4165db8cfb30581f8882b4 xfburn-0.6.2.tar.bz2"
diff --git a/user/xfce4-clipman-plugin/APKBUILD b/user/xfce4-clipman-plugin/APKBUILD
index 1e1e5649d..45c7b33fd 100644
--- a/user/xfce4-clipman-plugin/APKBUILD
+++ b/user/xfce4-clipman-plugin/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-clipman-plugin
-pkgver=1.4.3
-pkgrel=1
+pkgver=1.6.1
+pkgrel=0
pkgdesc="Clipboard management plugin for the XFCE panel"
url="https://xfce.org"
arch="all"
@@ -10,7 +10,7 @@ license="GPL-2.0+"
depends=""
makedepends="intltool libxfce4ui-dev xfce4-panel-dev libqrencode-dev"
subpackages="$pkgname-lang"
-source="https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/1.4/xfce4-clipman-plugin-$pkgver.tar.bz2"
+source="https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/${pkgver%.*}/xfce4-clipman-plugin-$pkgver.tar.bz2"
build() {
LIBS="-lintl" ./configure \
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="28bc8e2be8dd3eac13a7988b68933ce84dd8cc756f0a19636cd5850d6e36714a73ad9650a28ebfc54d9ad3adb23c242abf89806124b4e00fe7d1701be1b52414 xfce4-clipman-plugin-1.4.3.tar.bz2"
+sha512sums="2a2aa5d7b5d841b11c6d54d4872fc8cbfb83981b2d4678075ff5aa2a4df9ea88de95b837bf3896d7ce5f434827ebb64238e68cca2e17a7104433ed5847d949dd xfce4-clipman-plugin-1.6.1.tar.bz2"
diff --git a/user/xfce4-panel/APKBUILD b/user/xfce4-panel/APKBUILD
index 043044ffe..09b83244e 100644
--- a/user/xfce4-panel/APKBUILD
+++ b/user/xfce4-panel/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-panel
-pkgver=4.14.1
+pkgver=4.14.3
pkgrel=0
pkgdesc="Panel for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1c86362489677f2e04cf3b98dbc1a80b4998335c00a47d256e741446f00437ad04539041648848eca1f45fa1fa70974ca6cf65cb7f762a79a46c16484557e400 xfce4-panel-4.14.1.tar.bz2"
+sha512sums="c317741df1196a9f8d675c87732155f973022d1cb30a8815393980747d1569e8348c386253fc9056068c35fbdc13faefb4a0bef6678d072d51461c4aae909940 xfce4-panel-4.14.3.tar.bz2"
diff --git a/user/xfce4-power-manager/APKBUILD b/user/xfce4-power-manager/APKBUILD
index ab652e8c1..0592f060e 100644
--- a/user/xfce4-power-manager/APKBUILD
+++ b/user/xfce4-power-manager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-power-manager
-pkgver=1.6.5
+pkgver=1.6.6
pkgrel=0
pkgdesc="Power management support for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ebcf9ba7431518fdafa74f49511200e16093c34f78516e823a2f7ac02a085a08377efe5f9c6fe285f3d1e2de253789404e01b34a48e3f5ff23c2c143b2801207 xfce4-power-manager-1.6.5.tar.bz2"
+sha512sums="c9377619df9ebab64ed234659e5798f47448e26fae5b19eb15bcbc9416df1afec6b4de32bc272b81531d2643a215ea46892523077017dc6b232bfe802dba6cd9 xfce4-power-manager-1.6.6.tar.bz2"
diff --git a/user/xfce4-pulseaudio-plugin/APKBUILD b/user/xfce4-pulseaudio-plugin/APKBUILD
index 96588826c..e5382749e 100644
--- a/user/xfce4-pulseaudio-plugin/APKBUILD
+++ b/user/xfce4-pulseaudio-plugin/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-pulseaudio-plugin
-pkgver=0.4.2
+pkgver=0.4.3
pkgrel=0
pkgdesc="Pulseaudio plugin for the XFCE panel"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="intltool libxfce4ui-dev xfce4-panel-dev pulseaudio-dev
+makedepends="exo-dev intltool libxfce4ui-dev xfce4-panel-dev pulseaudio-dev
keybinder-3.0-dev libnotify-dev dbus-glib-dev"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/panel-plugins/$pkgname/0.4/$pkgname-$pkgver.tar.bz2"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="94184fe7379a7f1763d606fe3c45186767a43180329b43c8cba04b76ae5e1b2249531fc1fb6304da9bb03e7475ad65f861341253ead530d9a945165b4eb9e46e xfce4-pulseaudio-plugin-0.4.2.tar.bz2"
+sha512sums="d3214b2b7c35a0a87ea60a5d843f5027d1b09f320d4d24c6bf89a8936de92226223cb4dc5368edf4c0a1aedb3b8796510981eeadee8e836e764569d9284f0efa xfce4-pulseaudio-plugin-0.4.3.tar.bz2"
diff --git a/user/xfce4-session/APKBUILD b/user/xfce4-session/APKBUILD
index b161b8b8b..487b737f7 100644
--- a/user/xfce4-session/APKBUILD
+++ b/user/xfce4-session/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-session
-pkgver=4.14.1
+pkgver=4.14.2
pkgrel=0
pkgdesc="Session management for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af797e33145311015ca6444b929d82c4e321f76defe773aba723d0a373f894399216e043b45e0669dd1c9aa1ad3cd2dcfd422352fd2381b7425bb310be66c92b xfce4-session-4.14.1.tar.bz2"
+sha512sums="ab67cb576ac4880f41cf8eec05539a733da066c50913c9c2c9116ed3129b342aa3ca005ea5b46a733780cd062a4454d530240d89660b6c48a2045c821f7c490f xfce4-session-4.14.2.tar.bz2"
diff --git a/user/xfce4-settings/APKBUILD b/user/xfce4-settings/APKBUILD
index 2ac50d1a7..b429b9c43 100644
--- a/user/xfce4-settings/APKBUILD
+++ b/user/xfce4-settings/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-settings
-pkgver=4.14.1
+pkgver=4.14.2
pkgrel=0
pkgdesc="GUI settings application for the XFCE desktop environment"
url="https://xfce.org"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d854ca93199ce99d63e83ad38d654b86d883ebef5fb62a5c444f08b481df8f29a7ff27c60053c071e887be8d7ea0c51e9691a6209ca515a4e396e2c7405593b5 xfce4-settings-4.14.1.tar.bz2"
+sha512sums="5882e96504e2ad869504e7c8e6e62d1d04f61beef524ba85a3ed962ca689d6e72a4ed717173f9e2645c078c2c8757caed1f3395dd185a3b0b5dc8b27a1a3d2d1 xfce4-settings-4.14.2.tar.bz2"
diff --git a/user/xfce4-terminal/APKBUILD b/user/xfce4-terminal/APKBUILD
index 9b63b7d46..4abf09aa7 100644
--- a/user/xfce4-terminal/APKBUILD
+++ b/user/xfce4-terminal/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-terminal
-pkgver=0.8.9.1
+pkgver=0.8.9.2
pkgrel=0
pkgdesc="Terminal for the XFCE desktop environment"
url="https://xfce.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c1a68300604d1db205ac52b51dfea38031dfd92b31f7530705ac6bc875c9b4f9819bdf05bca23cbfddd87f7899488ee4dab4c897ceb96efc41a44acfc298ed22 xfce4-terminal-0.8.9.1.tar.bz2"
+sha512sums="1402d913bcc0c050b6c83405c754cdec71cf9bb56e2e68e4396d7ce48bec6e1b0cc875ea3ea2f7a0dff8280d306519fd74a8f9d9ebca383a8f295991cb9ddd94 xfce4-terminal-0.8.9.2.tar.bz2"
diff --git a/user/xfce4-whiskermenu-plugin/APKBUILD b/user/xfce4-whiskermenu-plugin/APKBUILD
index 6f69cea32..7800f5703 100644
--- a/user/xfce4-whiskermenu-plugin/APKBUILD
+++ b/user/xfce4-whiskermenu-plugin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xfce4-whiskermenu-plugin
-pkgver=2.4.1
+pkgver=2.4.3
_pkgmaj=${pkgver%.*}
pkgrel=0
pkgdesc="Whisker menu plugin for the XFCE panel"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="090987e78cef1b13944a792eb8584a25f25aaf6777263240dbd3d58beeee363321a7e3ff9e2983d3ffebfa18e8037e5ef75eb82b24815a559eeb8efd984a2dfc xfce4-whiskermenu-plugin-2.4.1.tar.bz2"
+sha512sums="378f9b1a5ef4ffab079090aeb10b2e571918aadf7dddb051dc30288b325d3f1e6621fe9c2d3db5815b706d63361d77616124a543d0c96e0d1cc06407152e9f32 xfce4-whiskermenu-plugin-2.4.3.tar.bz2"
diff --git a/user/xorg-server/APKBUILD b/user/xorg-server/APKBUILD
index c4b5755fc..96e5a53bb 100644
--- a/user/xorg-server/APKBUILD
+++ b/user/xorg-server/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xorg-server
-pkgver=1.20.7
+pkgver=1.20.8
pkgrel=0
pkgdesc="X.Org X11 server"
url="https://www.X.Org/"
@@ -134,6 +134,6 @@ xwayland() {
mv "$pkgdir"/usr/bin/Xwayland "$subpkgdir"/usr/bin/
}
-sha512sums="c67612e379111c28c68941c0a660abf72be7669591b41ccaa3b3474c4540a03822a28d892831b12ce08bac6e5e7e33504c2d19ef2a0c2298f83bd083459f96f5 xorg-server-1.20.7.tar.bz2
+sha512sums="ab0ec0fcbf490c61558b9297f61b58fd2dedb676c78bef6431dc9166054743b43a0091b88a8b3f4e81d1f539909440ee7e188a298cefabe13ea89159639cd805 xorg-server-1.20.8.tar.bz2
d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734 autoconfig-sis.patch
a5f910e72ff9abd4e4a0c6806cdbe48d1b0b6cc0586f36568da5864a8dedc46a3112fe86d7a1969033f4d5b0def4dc6e5c11b656fbcc964732b417e6c9577f22 fix-musl-arm.patch"
diff --git a/user/xscreensaver/APKBUILD b/user/xscreensaver/APKBUILD
index 047d4eef8..4eaad7171 100644
--- a/user/xscreensaver/APKBUILD
+++ b/user/xscreensaver/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=xscreensaver
-pkgver=5.43
+pkgver=5.44
pkgrel=0
pkgdesc="X Screensaver suite"
url="https://www.jwz.org/xscreensaver/"
@@ -30,4 +30,4 @@ package() {
make install_prefix="$pkgdir" install
}
-sha512sums="7ccaf30fb05ae2110f742f1a5c99f83cd4c8e6749124066b5a418cf3e0ba1b8ff09858eeec29c11b0c8ea428b95b2916481c50cee6a5d952ec941b3ad1b6adcd xscreensaver-5.43.tar.gz"
+sha512sums="9d9144dec6f075c2d6a1c3cd45123a98d6d0cd732d6c3e3389e97b3f802b8f8765a188d1e35f97f123ca0a64661ea616b7b710577063c311da3d99d8439f1dae xscreensaver-5.44.tar.gz"
diff --git a/user/xxhash/APKBUILD b/user/xxhash/APKBUILD
index 91c74b4bf..6d8140994 100644
--- a/user/xxhash/APKBUILD
+++ b/user/xxhash/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xxhash
-pkgver=0.7.2
+pkgver=0.7.3
pkgrel=0
pkgdesc="Fast non-cryptographic hashing algorithm"
url="https://cyan4973.github.io/xxHash/"
@@ -31,4 +31,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="90d4e7422729441e5013928b306fd6f394ab6f97628ec88369fbb33891c9a2cfae495516d8dd0741eda9c38859132b1bd78f2c7b8dae1dce80eeca8ea5cba575 xxHash-0.7.2.tar.gz"
+sha512sums="72949010a267f063768241b182464c386005b4078f56902fee2f7804bd01f6c27878a6a4ec2a266cd59162934a7e471264ac5757dba570a97a2b5dad7703c664 xxHash-0.7.3.tar.gz"
diff --git a/user/yaml-cpp/APKBUILD b/user/yaml-cpp/APKBUILD
new file mode 100644
index 000000000..53f41b87b
--- /dev/null
+++ b/user/yaml-cpp/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=yaml-cpp
+pkgver=0.6.3
+pkgrel=0
+pkgdesc="A YAML parser and emitter in C++"
+url="https://github.com/jbeder/yaml-cpp"
+arch="all"
+license="MIT"
+makedepends="cmake"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DYAML_BUILD_SHARED_LIBS=ON \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49 yaml-cpp-0.6.3.tar.gz"
diff --git a/user/youtube-dl/APKBUILD b/user/youtube-dl/APKBUILD
index 70c5800f9..424f883b1 100644
--- a/user/youtube-dl/APKBUILD
+++ b/user/youtube-dl/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=youtube-dl
-pkgver=2019.11.28
+pkgver=2020.03.24
pkgrel=0
pkgdesc="Command-line program to download videos from YouTube and many other sites"
url="https://youtube-dl.org"
@@ -16,7 +16,9 @@ subpackages="$pkgname-doc
$pkgname-zsh-completion:zshcomp
$pkgname-bash-completion:bashcomp
$pkgname-fish-completion:fishcomp"
-source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
+source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz
+ tumblr.patch
+ "
builddir="$srcdir/$pkgname"
prepare() {
@@ -64,4 +66,5 @@ fishcomp() {
"$subpkgdir/usr/share/fish/completions/"
}
-sha512sums="fd3fc9658428ecf96d681dd699db49e02f94343e5c49e370cb68a5764e8ecebc14b3ce5bc44db0a829b0d3c4fbffc96a1f8288fb24cbd21add6e9c7852b0915d youtube-dl-2019.11.28.tar.gz"
+sha512sums="421c0ae412977cdf94d079aa7982360ffdfc4271bb7af27a598adbdb8454c2044e5c44ff3a9f339e9b0989c1264223ca83bba6a9151d01052f8f72c076d9e369 youtube-dl-2020.03.24.tar.gz
+5760d06e6bbc1eee2c6be2d1f580f86b3cfa5f4bc44a62fb8145ce1cd41352ecf2f65d65d79a2d7f1ec129a34c28a7ec3d0d328c907e743bfcea54c65c71285d tumblr.patch"
diff --git a/user/youtube-dl/tumblr.patch b/user/youtube-dl/tumblr.patch
new file mode 100644
index 000000000..d34a79da6
--- /dev/null
+++ b/user/youtube-dl/tumblr.patch
@@ -0,0 +1,49 @@
+From a4a199b4dcc3e778621c4268a5dba615cf6f44ba Mon Sep 17 00:00:00 2001
+From: rafinetiz <rafii.netizz@gmail.com>
+Date: Fri, 18 Oct 2019 21:17:00 +0700
+Subject: [PATCH 1/2] Fix tumblr permission denied #22755
+
+---
+ youtube_dl/extractor/tumblr.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py
+index edbb0aa6944b..71ced801859e 100644
+--- a/youtube_dl/extractor/tumblr.py
++++ b/youtube_dl/extractor/tumblr.py
+@@ -165,7 +165,8 @@ def _real_extract(self, url):
+ if iframe_url is None:
+ return self.url_result(redirect_url, 'Generic')
+
+- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page')
++ iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page',
++ headers={'Referer': url})
+
+ duration = None
+ sources = []
+
+From 43a19105d78c5c297d91936798d341f89919e9b1 Mon Sep 17 00:00:00 2001
+From: rafinetiz <rafii.netizz@gmail.com>
+Date: Fri, 18 Oct 2019 21:45:12 +0700
+Subject: [PATCH 2/2] Fix coding style
+
+---
+ youtube_dl/extractor/tumblr.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py
+index 71ced801859e..61b0c1db65fe 100644
+--- a/youtube_dl/extractor/tumblr.py
++++ b/youtube_dl/extractor/tumblr.py
+@@ -165,7 +165,10 @@ def _real_extract(self, url):
+ if iframe_url is None:
+ return self.url_result(redirect_url, 'Generic')
+
+- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page',
++ iframe = self._download_webpage(
++ iframe_url,
++ video_id,
++ 'Downloading iframe page',
+ headers={'Referer': url})
+
+ duration = None