From bd2754de65a2e1a530622e59102f10136b87d397 Mon Sep 17 00:00:00 2001 From: Tracker-Friendly Date: Sat, 5 Aug 2023 21:19:04 +0100 Subject: [PATCH] Migrated to codeberg --- .gitattributes | 4 + .gitignore | 23 + .mailmap | 64 + CONTRIBUTING.md | 207 + COPYING | 23 + Manual.md | 1 + README.md | 507 ++ common/build-helper/cmake-wxWidgets-gtk3.sh | 6 + common/build-helper/gir.sh | 42 + common/build-helper/numpy.sh | 37 + common/build-helper/python3.sh | 16 + common/build-helper/qemu.sh | 14 + common/build-helper/qmake.sh | 95 + common/build-helper/rust.sh | 59 + common/build-profiles/README | 17 + common/build-profiles/aarch64-musl.sh | 7 + common/build-profiles/aarch64.sh | 7 + common/build-profiles/armv6l-musl.sh | 7 + common/build-profiles/armv6l.sh | 7 + common/build-profiles/armv7l-musl.sh | 7 + common/build-profiles/armv7l.sh | 7 + common/build-profiles/bootstrap.sh | 3 + common/build-profiles/i686-musl.sh | 7 + common/build-profiles/i686.sh | 7 + common/build-profiles/ppc-musl.sh | 7 + common/build-profiles/ppc.sh | 7 + common/build-profiles/ppc64-musl.sh | 7 + common/build-profiles/ppc64.sh | 7 + common/build-profiles/ppc64le-musl.sh | 7 + common/build-profiles/ppc64le.sh | 7 + common/build-profiles/ppcle-musl.sh | 7 + common/build-profiles/ppcle.sh | 7 + common/build-profiles/riscv64.sh | 7 + common/build-profiles/x86_64-musl.sh | 7 + common/build-profiles/x86_64.sh | 7 + common/build-style/R-cran.sh | 7 + common/build-style/README | 12 + common/build-style/cargo.sh | 27 + common/build-style/cmake.sh | 137 + common/build-style/configure.sh | 40 + common/build-style/fetch.sh | 12 + common/build-style/gem.sh | 68 + common/build-style/gemspec.sh | 190 + common/build-style/gnu-configure.sh | 41 + common/build-style/gnu-makefile.sh | 43 + common/build-style/go.sh | 61 + common/build-style/haskell-stack.sh | 37 + common/build-style/meson.sh | 150 + common/build-style/meta.sh | 9 + common/build-style/perl-ModuleBuild.sh | 52 + common/build-style/perl-module.sh | 90 + common/build-style/python2-module.sh | 34 + common/build-style/python3-module.sh | 34 + common/build-style/python3-pep517.sh | 36 + common/build-style/qmake.sh | 149 + common/build-style/raku-dist.sh | 16 + common/build-style/ruby-module.sh | 13 + common/build-style/scons.sh | 35 + common/build-style/sip-build.sh | 147 + common/build-style/slashpackage.sh | 33 + common/build-style/texmf.sh | 70 + common/build-style/void-cross.sh | 667 +++ common/build-style/waf.sh | 21 + common/build-style/waf3.sh | 29 + common/build-style/zig-build.sh | 41 + common/chroot-style/README | 13 + common/chroot-style/bwrap.sh | 23 + common/chroot-style/ethereal.sh | 135 + common/chroot-style/uchroot.sh | 21 + common/chroot-style/uunshare.sh | 21 + common/cross-profiles/README | 19 + common/cross-profiles/aarch64-musl.sh | 12 + common/cross-profiles/aarch64.sh | 12 + common/cross-profiles/armv5te-musl.sh | 1 + common/cross-profiles/armv5te.sh | 1 + common/cross-profiles/armv5tel-musl.sh | 12 + common/cross-profiles/armv5tel.sh | 12 + common/cross-profiles/armv6hf-musl.sh | 1 + common/cross-profiles/armv6hf.sh | 1 + common/cross-profiles/armv6l-musl.sh | 12 + common/cross-profiles/armv6l.sh | 12 + common/cross-profiles/armv7hf-musl.sh | 1 + common/cross-profiles/armv7hf.sh | 1 + common/cross-profiles/armv7l-musl.sh | 12 + common/cross-profiles/armv7l.sh | 12 + common/cross-profiles/i686-musl.sh | 12 + common/cross-profiles/i686.sh | 12 + common/cross-profiles/mips-musl.sh | 12 + common/cross-profiles/mipsel-musl.sh | 12 + common/cross-profiles/mipselhf-musl.sh | 12 + common/cross-profiles/mipshf-musl.sh | 12 + common/cross-profiles/ppc-musl.sh | 12 + common/cross-profiles/ppc.sh | 12 + common/cross-profiles/ppc64-musl.sh | 12 + common/cross-profiles/ppc64.sh | 12 + common/cross-profiles/ppc64le-musl.sh | 12 + common/cross-profiles/ppc64le.sh | 12 + common/cross-profiles/ppcle-musl.sh | 12 + common/cross-profiles/ppcle.sh | 12 + common/cross-profiles/riscv64.sh | 12 + common/cross-profiles/x86_64-musl.sh | 12 + common/cross-profiles/x86_64.sh | 12 + common/environment/README | 28 + common/environment/build-style/.empty | 0 common/environment/build-style/R-cran.sh | 13 + common/environment/build-style/cargo.sh | 11 + common/environment/build-style/cmake.sh | 10 + common/environment/build-style/gem.sh | 8 + common/environment/build-style/gemspec.sh | 3 + common/environment/build-style/go.sh | 50 + .../environment/build-style/haskell-stack.sh | 1 + common/environment/build-style/meson.sh | 1 + .../build-style/perl-ModuleBuild.sh | 3 + common/environment/build-style/perl-module.sh | 4 + .../environment/build-style/python2-module.sh | 2 + .../environment/build-style/python3-module.sh | 3 + .../environment/build-style/python3-pep517.sh | 3 + common/environment/build-style/raku-dist.sh | 3 + common/environment/build-style/ruby-module.sh | 1 + common/environment/build-style/scons.sh | 1 + common/environment/build-style/texmf.sh | 4 + .../build-style/texmf/ownership.txt | 215 + common/environment/build-style/void-cross.sh | 5 + common/environment/build-style/waf.sh | 1 + common/environment/build-style/waf3.sh | 1 + common/environment/build-style/zig-build.sh | 1 + common/environment/build/.empty | 0 common/environment/build/bootstrap.sh | 1 + common/environment/build/ccache.sh | 1 + common/environment/build/cross.sh | 1 + .../build/debug-debug-prefix-map.sh | 1 + common/environment/build/hardening.sh | 1 + common/environment/build/pkg-config.sh | 1 + common/environment/check/bootstrap.sh | 1 + common/environment/check/ccache.sh | 1 + common/environment/check/cross.sh | 1 + .../check/debug-debug-prefix-map.sh | 1 + common/environment/check/hardening.sh | 1 + common/environment/check/no_display.sh | 1 + common/environment/check/pkg-config.sh | 1 + common/environment/configure/.empty | 0 .../configure/autoconf_cache/aarch64-linux | 147 + .../configure/autoconf_cache/arm-common | 232 + .../configure/autoconf_cache/arm-linux | 157 + .../configure/autoconf_cache/common-glibc | 71 + .../configure/autoconf_cache/common-linux | 175 + .../configure/autoconf_cache/endian-big | 8 + .../configure/autoconf_cache/endian-little | 8 + .../configure/autoconf_cache/ix86-common | 268 + .../configure/autoconf_cache/mips-common | 93 + .../configure/autoconf_cache/mips-linux | 78 + .../configure/autoconf_cache/mipsel-linux | 78 + .../configure/autoconf_cache/musl-linux | 183 + .../configure/autoconf_cache/powerpc-common | 14 + .../configure/autoconf_cache/powerpc-linux | 16 + .../configure/autoconf_cache/powerpc32-linux | 272 ++ .../configure/autoconf_cache/powerpc64-linux | 46 + .../configure/autoconf_cache/x86_64-linux | 170 + .../configure/automake/config.guess | 1685 +++++++ .../environment/configure/automake/config.sub | 1845 +++++++ common/environment/configure/bootstrap.sh | 4 + common/environment/configure/ccache.sh | 1 + common/environment/configure/cross.sh | 5 + .../configure/debug-debug-prefix-map.sh | 16 + .../configure/gccspecs/hardened-cc1 | 5 + .../configure/gccspecs/hardened-ld | 5 + .../configure/gccspecs/hardened-mips-cc1 | 8 + .../configure/gnu-configure-args.sh | 132 + common/environment/configure/hardening.sh | 30 + common/environment/configure/pkg-config.sh | 5 + common/environment/extract/.empty | 0 common/environment/fetch/.empty | 0 common/environment/fetch/fetch_cmd.sh | 4 + common/environment/fetch/misc.sh | 1 + common/environment/install/.empty | 0 common/environment/install/ccache.sh | 1 + common/environment/install/cross.sh | 1 + .../install/debug-debug-prefix-map.sh | 1 + common/environment/install/extglob.sh | 18 + common/environment/install/hardening.sh | 1 + common/environment/install/pkg-config.sh | 1 + common/environment/patch/bootstrap.sh | 1 + common/environment/patch/ccache.sh | 1 + common/environment/patch/cross.sh | 1 + .../patch/debug-debug-prefix-map.sh | 1 + .../environment/patch/gnu-configure-args.sh | 1 + common/environment/patch/hardening.sh | 1 + common/environment/patch/pkg-config.sh | 1 + common/environment/pkg/extglob.sh | 1 + common/environment/setup-subpkg/.empty | 0 common/environment/setup-subpkg/subpkg.sh | 48 + common/environment/setup/.empty | 0 common/environment/setup/git.sh | 35 + common/environment/setup/install.sh | 276 ++ common/environment/setup/misc.sh | 22 + common/environment/setup/options.sh | 46 + common/environment/setup/python.sh | 14 + .../environment/setup/replace-interpreter.sh | 41 + common/environment/setup/sourcepkg.sh | 86 + common/environment/setup/vsed.sh | 71 + common/hooks/README | 52 + common/hooks/do-build/.empty | 0 common/hooks/do-check/.empty | 0 common/hooks/do-configure/.empty | 0 common/hooks/do-extract/.empty | 0 common/hooks/do-extract/00-distfiles.sh | 218 + common/hooks/do-fetch/.empty | 0 common/hooks/do-fetch/00-distfiles.sh | 303 ++ common/hooks/do-install/.empty | 0 common/hooks/do-patch/.empty | 0 common/hooks/do-patch/00-patches.sh | 54 + common/hooks/do-pkg/.empty | 0 common/hooks/do-pkg/00-gen-pkg.sh | 166 + common/hooks/post-build/.empty | 0 common/hooks/post-check/.empty | 0 common/hooks/post-configure/.empty | 0 common/hooks/post-extract/.empty | 0 common/hooks/post-fetch/.empty | 0 common/hooks/post-install/.empty | 0 .../post-install/00-compress-info-files.sh | 43 + .../hooks/post-install/00-fixup-gir-path.sh | 11 + common/hooks/post-install/00-libdir.sh | 7 + .../post-install/00-uncompress-manpages.sh | 21 + common/hooks/post-install/01-remove-misc.sh | 11 + .../02-remove-libtool-archives.sh | 7 + .../post-install/02-remove-perl-files.sh | 8 + .../02-remove-python-bytecode-files.sh | 7 + .../post-install/03-remove-empty-dirs.sh | 10 + .../04-create-xbps-metadata-scripts.sh | 406 ++ .../hooks/post-install/05-generate-gitrevs.sh | 23 + .../post-install/06-strip-and-debug-pkgs.sh | 148 + .../post-install/10-pkglint-devel-paths.sh | 84 + .../11-pkglint-elf-in-usrshare.sh | 51 + .../12-rename-python3-c-bindings.sh | 16 + ...13-pkg-config-clean-xbps-cross-base-ref.sh | 22 + .../hooks/post-install/14-fix-permissions.sh | 36 + .../99-pkglint-warn-cross-cruft.sh | 21 + common/hooks/post-patch/.empty | 0 common/hooks/post-pkg/.empty | 0 common/hooks/post-pkg/00-register-pkg.sh | 51 + common/hooks/pre-build/.empty | 0 common/hooks/pre-build/02-script-wrapper.sh | 1 + common/hooks/pre-check/.empty | 0 common/hooks/pre-configure/.empty | 0 .../00-gnu-configure-asneeded.sh | 13 + .../hooks/pre-configure/01-override-config.sh | 14 + .../hooks/pre-configure/02-script-wrapper.sh | 244 + common/hooks/pre-extract/.empty | 0 common/hooks/pre-fetch/.empty | 0 common/hooks/pre-install/.empty | 0 common/hooks/pre-install/00-libdir.sh | 10 + common/hooks/pre-install/02-script-wrapper.sh | 1 + common/hooks/pre-install/98-fixup-gir-path.sh | 10 + common/hooks/pre-patch/.empty | 0 common/hooks/pre-pkg/.empty | 0 .../pre-pkg/03-rewrite-python-shebang.sh | 40 + .../hooks/pre-pkg/04-generate-runtime-deps.sh | 171 + common/hooks/pre-pkg/05-prepare-32bit.sh | 168 + common/hooks/pre-pkg/06-shlib-provides.sh | 56 + common/hooks/pre-pkg/90-set-timestamps.sh | 10 + common/hooks/pre-pkg/99-pkglint-subpkgs.sh | 54 + common/hooks/pre-pkg/99-pkglint.sh | 213 + common/hooks/pre-pkg/999-collected-rdeps.sh | 7 + common/options.description | 108 + ...:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist | 12 + ...:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist | 12 + common/scripts/README.xbps-cycles.md | 22 + common/scripts/check-custom-licenses | 9 + common/scripts/lint-commits | 66 + common/scripts/lint-conflicts | 198 + common/scripts/lint-version-change | 113 + common/scripts/lint2annotations.awk | 11 + common/scripts/xbps-cycles.py | 120 + common/shlibs | 4324 +++++++++++++++++ common/travis/build.sh | 20 + common/travis/changed_templates.sh | 28 + common/travis/check-install.sh | 41 + common/travis/fetch-xbps.sh | 22 + common/travis/fetch-xtools.sh | 19 + common/travis/license.lst | 613 +++ common/travis/prepare.sh | 16 + common/travis/set_mirror.sh | 8 + common/travis/show_files.sh | 16 + common/travis/xlint.sh | 18 + common/travis/xpkgdiff.sh | 26 + common/wrappers/cross-cc | 40 + common/wrappers/date.sh | 6 + common/wrappers/install.sh | 44 + common/wrappers/ldconfig.sh | 8 + common/wrappers/strip.sh | 4 + common/wrappers/uname.sh | 13 + common/xbps-src/libexec/build.sh | 140 + common/xbps-src/libexec/xbps-src-dobuild.sh | 38 + common/xbps-src/libexec/xbps-src-docheck.sh | 67 + .../xbps-src/libexec/xbps-src-doconfigure.sh | 38 + common/xbps-src/libexec/xbps-src-doextract.sh | 75 + common/xbps-src/libexec/xbps-src-dofetch.sh | 62 + common/xbps-src/libexec/xbps-src-doinstall.sh | 70 + common/xbps-src/libexec/xbps-src-dopatch.sh | 37 + common/xbps-src/libexec/xbps-src-dopkg.sh | 49 + common/xbps-src/libexec/xbps-src-prepkg.sh | 51 + common/xbps-src/shutils/build_dependencies.sh | 433 ++ common/xbps-src/shutils/bulk.sh | 127 + common/xbps-src/shutils/chroot.sh | 333 ++ common/xbps-src/shutils/common.sh | 695 +++ common/xbps-src/shutils/consistency_check.sh | 81 + common/xbps-src/shutils/cross.sh | 136 + common/xbps-src/shutils/pkgtarget.sh | 137 + common/xbps-src/shutils/purge_distfiles.sh | 85 + common/xbps-src/shutils/show.sh | 157 + common/xbps-src/shutils/update_check.sh | 237 + common/xbps-src/shutils/update_hash_cache.sh | 12 + etc/defaults.conf | 167 + etc/defaults.virtual | 39 + etc/xbps.d/repos-local-x86_64-multilib.conf | 5 + etc/xbps.d/repos-local.conf | 6 + etc/xbps.d/repos-remote-aarch64-musl.conf | 5 + etc/xbps.d/repos-remote-aarch64.conf | 5 + etc/xbps.d/repos-remote-musl.conf | 5 + etc/xbps.d/repos-remote-x86_64-multilib.conf | 4 + etc/xbps.d/repos-remote.conf | 5 + srcpkgs/base-files/INSTALL | 80 + srcpkgs/base-files/files/66-kvm.rules | 1 + srcpkgs/base-files/files/90-usbmon.rules | 1 + srcpkgs/base-files/files/DIR_COLORS | 184 + srcpkgs/base-files/files/DIR_COLORS.256color | 163 + srcpkgs/base-files/files/DIR_COLORS.xterm | 165 + srcpkgs/base-files/files/blacklist.conf | 31 + srcpkgs/base-files/files/bpf.conf | 2 + srcpkgs/base-files/files/colorls.sh | 40 + srcpkgs/base-files/files/crypttab | 13 + srcpkgs/base-files/files/dot_bash_logout | 2 + srcpkgs/base-files/files/dot_bash_profile | 4 + srcpkgs/base-files/files/dot_bashrc | 7 + srcpkgs/base-files/files/dot_inputrc | 1 + .../files/dracut.conf.d.voidlinux.conf | 7 + srcpkgs/base-files/files/fstab | 5 + srcpkgs/base-files/files/group | 30 + srcpkgs/base-files/files/host.conf | 8 + srcpkgs/base-files/files/hosts | 9 + srcpkgs/base-files/files/inputrc | 66 + srcpkgs/base-files/files/issue | 2 + srcpkgs/base-files/files/ld.so.lib32.conf | 1 + srcpkgs/base-files/files/licenses/Apache-2.0 | 202 + srcpkgs/base-files/files/licenses/Artistic | 131 + srcpkgs/base-files/files/licenses/BSD | 26 + srcpkgs/base-files/files/licenses/GFDL-1.2 | 397 ++ srcpkgs/base-files/files/licenses/GFDL-1.3 | 451 ++ srcpkgs/base-files/files/licenses/GPL-1 | 250 + srcpkgs/base-files/files/licenses/GPL-2 | 339 ++ srcpkgs/base-files/files/licenses/GPL-3 | 674 +++ srcpkgs/base-files/files/licenses/LGPL-2 | 481 ++ srcpkgs/base-files/files/licenses/LGPL-2.1 | 502 ++ srcpkgs/base-files/files/licenses/LGPL-3 | 165 + srcpkgs/base-files/files/licenses/MPL-1.1 | 470 ++ srcpkgs/base-files/files/licenses/MPL-2.0 | 373 ++ srcpkgs/base-files/files/licenses/OFL-1.1 | 97 + srcpkgs/base-files/files/locale.sh | 9 + srcpkgs/base-files/files/lsb_release | 98 + srcpkgs/base-files/files/mozplugin.sh | 3 + srcpkgs/base-files/files/nsswitch.conf | 15 + srcpkgs/base-files/files/os-release | 9 + srcpkgs/base-files/files/passwd | 2 + srcpkgs/base-files/files/profile | 34 + srcpkgs/base-files/files/securetty | 26 + srcpkgs/base-files/files/subgid | 1 + srcpkgs/base-files/files/subuid | 1 + srcpkgs/base-files/files/sysctl-user.conf | 15 + srcpkgs/base-files/files/sysctl.conf | 15 + srcpkgs/base-files/files/usb-load-ehci-first | 2 + srcpkgs/base-files/files/vkpurge | 97 + srcpkgs/base-files/files/vkpurge.8 | 72 + srcpkgs/base-files/template | 104 + srcpkgs/base-system/template | 28 + srcpkgs/base-voidstrap/template | 21 + srcpkgs/booster/files/kernel-hook-postinst | 13 + srcpkgs/booster/files/kernel-hook-postrm | 10 + srcpkgs/booster/patches/fix-target-dir.patch | 40 + srcpkgs/booster/patches/symlink.patch | 85 + srcpkgs/booster/template | 53 + srcpkgs/busybox-core | 1 + srcpkgs/busybox-full/files/.config | 1231 +++++ srcpkgs/busybox-full/template | 32 + srcpkgs/busybox-huge | 1 + srcpkgs/busybox-static | 1 + srcpkgs/busybox/diff | 128 + srcpkgs/busybox/files/busybox-klogd/run | 3 + srcpkgs/busybox/files/busybox-ntpd/run | 3 + srcpkgs/busybox/files/busybox-syslogd/run | 3 + srcpkgs/busybox/files/dotconfig | 1198 +++++ srcpkgs/busybox/files/dotconfig.d/httpd.patch | 39 + srcpkgs/busybox/files/dotconfig.d/huge.patch | 422 ++ srcpkgs/busybox/files/dotconfig.d/mdev.patch | 21 + srcpkgs/busybox/files/dotconfig.d/ntpd.patch | 15 + .../busybox/files/dotconfig.d/static.patch | 9 + .../busybox/files/dotconfig.d/sysklogd.patch | 31 + .../busybox/files/dotconfig.d/udhcpc.patch | 35 + ...tr-ensure-only-printable-characters-.patch | 40 + ...e-all-printed-strings-with-printable.patch | 67 + .../patches/testsuite-fix-date-works.patch | 12 + srcpkgs/busybox/template | 128 + srcpkgs/busybox/update | 1 + .../files/evolution-logo.png | Bin 0 -> 13569 bytes .../files/evolution-logo.svg | 188 + .../files/evolution-transparent.png | Bin 0 -> 17298 bytes .../evolution-artwork/files/generate-icons.sh | 29 + .../files/icons/evolution-logo-128.png | Bin 0 -> 7161 bytes .../files/icons/evolution-logo-16.png | Bin 0 -> 714 bytes .../files/icons/evolution-logo-22.png | Bin 0 -> 979 bytes .../files/icons/evolution-logo-256.png | Bin 0 -> 14984 bytes .../files/icons/evolution-logo-32.png | Bin 0 -> 1491 bytes .../files/icons/evolution-logo-48.png | Bin 0 -> 2314 bytes .../files/icons/evolution-logo-512.png | Bin 0 -> 31712 bytes .../files/icons/evolution-logo-64.png | Bin 0 -> 3279 bytes .../files/icons/evolution-logo-notext-128.png | Bin 0 -> 7161 bytes .../files/icons/evolution-logo-notext-16.png | Bin 0 -> 714 bytes .../files/icons/evolution-logo-notext-22.png | Bin 0 -> 979 bytes .../files/icons/evolution-logo-notext-256.png | Bin 0 -> 14984 bytes .../files/icons/evolution-logo-notext-32.png | Bin 0 -> 1491 bytes .../files/icons/evolution-logo-notext-48.png | Bin 0 -> 2314 bytes .../files/icons/evolution-logo-notext-512.png | Bin 0 -> 31712 bytes .../files/icons/evolution-logo-notext-64.png | Bin 0 -> 3279 bytes .../files/icons/evolution-logo-notext.svg | 44 + .../files/icons/evolution-logo.svg | 44 + srcpkgs/evolution-artwork/files/oldsplash.png | Bin 0 -> 9930 bytes srcpkgs/evolution-artwork/files/splash.png | Bin 0 -> 15773 bytes .../evolution-artwork/files/splashwhite.png | Bin 0 -> 50009 bytes srcpkgs/evolution-artwork/template | 23 + srcpkgs/evolution-desktop/INSTALL | 26 + srcpkgs/evolution-desktop/INSTALL.msg | 7 + srcpkgs/evolution-desktop/files/bin/Wayfire | 21 + srcpkgs/evolution-desktop/files/bin/audioctl | 16 + .../evolution-desktop/files/bin/startlogin | 3 + .../evolution-desktop/files/bin/startsession | 23 + .../files/etc/greetd/config.toml | 18 + .../files/etc/greetd/environments | 2 + .../files/etc/greetd/wallpaper.png | Bin 0 -> 1756108 bytes .../files/home/greeter/dconf/user | Bin 0 -> 420 bytes .../files/home/greeter/wayfire.ini | 297 ++ .../files/home/greeter/wf-shell.ini | 3 + .../files/usr/share/wayfire/dconf/user | Bin 0 -> 9092 bytes .../files/usr/share/wayfire/wayfire.ini | 344 ++ .../files/usr/share/wayfire/wf-shell.ini | 46 + .../evolution-desktop/files/var/service/dbus | 1 + .../files/var/service/greetd | 1 + .../files/var/service/polkitd | 1 + srcpkgs/evolution-desktop/template | 27 + srcpkgs/evolution-patches/files/conf | 14 + srcpkgs/evolution-patches/files/doas.conf | 2 + srcpkgs/evolution-patches/files/main.conf | 1 + srcpkgs/evolution-patches/template | 41 + srcpkgs/evolution-theme-switcher/template | 26 + srcpkgs/greetd-gtkgreet/template | 25 + srcpkgs/gtkloadspinner/template | 24 + srcpkgs/linux-base/template | 18 + srcpkgs/mdocml/INSTALL | 6 + srcpkgs/mdocml/files/cgi.h | 5 + srcpkgs/mdocml/files/makewhatis.cron.daily | 2 + srcpkgs/mdocml/files/man.conf | 6 + srcpkgs/mdocml/files/void.css | 61 + srcpkgs/mdocml/patches/cgi-gz.patch | 22 + srcpkgs/mdocml/patches/cross.patch | 30 + srcpkgs/mdocml/patches/stress-ng-hang.patch | 75 + srcpkgs/mdocml/template | 78 + srcpkgs/mdocml/update | 2 + srcpkgs/neofetch/template | 23 + srcpkgs/runit-void-apparmor | 1 + srcpkgs/runit-void/INSTALL | 26 + srcpkgs/runit-void/files/09-apparmor.sh | 27 + srcpkgs/runit-void/files/apparmor | 7 + srcpkgs/runit-void/files/hostname | 1 + srcpkgs/runit-void/files/locale.conf | 2 + .../runit-void/runit-void-apparmor.INSTALL | 13 + srcpkgs/runit-void/template | 54 + srcpkgs/shadowfix/template | 16 + srcpkgs/void-man-cgi | 1 + srcpkgs/xbps-triggers/files/appstream-cache | 65 + srcpkgs/xbps-triggers/files/binfmts | 61 + srcpkgs/xbps-triggers/files/dkms | 148 + srcpkgs/xbps-triggers/files/gconf-schemas | 104 + .../xbps-triggers/files/gdk-pixbuf-loaders | 49 + srcpkgs/xbps-triggers/files/gio-modules | 39 + srcpkgs/xbps-triggers/files/gsettings-schemas | 58 + srcpkgs/xbps-triggers/files/gtk-icon-cache | 56 + srcpkgs/xbps-triggers/files/gtk-immodules | 50 + .../xbps-triggers/files/gtk-pixbuf-loaders | 6 + srcpkgs/xbps-triggers/files/gtk3-immodules | 50 + srcpkgs/xbps-triggers/files/hwdb.d-dir | 36 + srcpkgs/xbps-triggers/files/info-files | 63 + .../xbps-triggers/files/initramfs-regenerate | 57 + srcpkgs/xbps-triggers/files/kernel-hooks | 53 + srcpkgs/xbps-triggers/files/mimedb | 40 + srcpkgs/xbps-triggers/files/mkdirs | 59 + srcpkgs/xbps-triggers/files/openjdk-profile | 39 + srcpkgs/xbps-triggers/files/pango-modules | 43 + srcpkgs/xbps-triggers/files/pycompile | 116 + srcpkgs/xbps-triggers/files/register-shell | 66 + srcpkgs/xbps-triggers/files/system-accounts | 178 + srcpkgs/xbps-triggers/files/texmf-dist | 48 + srcpkgs/xbps-triggers/files/update-desktopdb | 49 + srcpkgs/xbps-triggers/files/x11-fonts | 57 + srcpkgs/xbps-triggers/files/xml-catalog | 96 + srcpkgs/xbps-triggers/template | 22 + xbps-src | 1015 ++++ 504 files changed, 36983 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .mailmap create mode 100644 CONTRIBUTING.md create mode 100644 COPYING create mode 100644 Manual.md create mode 100644 README.md create mode 100644 common/build-helper/cmake-wxWidgets-gtk3.sh create mode 100644 common/build-helper/gir.sh create mode 100644 common/build-helper/numpy.sh create mode 100644 common/build-helper/python3.sh create mode 100644 common/build-helper/qemu.sh create mode 100644 common/build-helper/qmake.sh create mode 100644 common/build-helper/rust.sh create mode 100644 common/build-profiles/README create mode 100644 common/build-profiles/aarch64-musl.sh create mode 100644 common/build-profiles/aarch64.sh create mode 100644 common/build-profiles/armv6l-musl.sh create mode 100644 common/build-profiles/armv6l.sh create mode 100644 common/build-profiles/armv7l-musl.sh create mode 100644 common/build-profiles/armv7l.sh create mode 100644 common/build-profiles/bootstrap.sh create mode 100644 common/build-profiles/i686-musl.sh create mode 100644 common/build-profiles/i686.sh create mode 100644 common/build-profiles/ppc-musl.sh create mode 100644 common/build-profiles/ppc.sh create mode 100644 common/build-profiles/ppc64-musl.sh create mode 100644 common/build-profiles/ppc64.sh create mode 100644 common/build-profiles/ppc64le-musl.sh create mode 100644 common/build-profiles/ppc64le.sh create mode 100644 common/build-profiles/ppcle-musl.sh create mode 100644 common/build-profiles/ppcle.sh create mode 100644 common/build-profiles/riscv64.sh create mode 100644 common/build-profiles/x86_64-musl.sh create mode 100644 common/build-profiles/x86_64.sh create mode 100644 common/build-style/R-cran.sh create mode 100644 common/build-style/README create mode 100644 common/build-style/cargo.sh create mode 100644 common/build-style/cmake.sh create mode 100644 common/build-style/configure.sh create mode 100644 common/build-style/fetch.sh create mode 100644 common/build-style/gem.sh create mode 100644 common/build-style/gemspec.sh create mode 100644 common/build-style/gnu-configure.sh create mode 100644 common/build-style/gnu-makefile.sh create mode 100644 common/build-style/go.sh create mode 100644 common/build-style/haskell-stack.sh create mode 100644 common/build-style/meson.sh create mode 100644 common/build-style/meta.sh create mode 100644 common/build-style/perl-ModuleBuild.sh create mode 100644 common/build-style/perl-module.sh create mode 100644 common/build-style/python2-module.sh create mode 100644 common/build-style/python3-module.sh create mode 100644 common/build-style/python3-pep517.sh create mode 100644 common/build-style/qmake.sh create mode 100644 common/build-style/raku-dist.sh create mode 100644 common/build-style/ruby-module.sh create mode 100644 common/build-style/scons.sh create mode 100644 common/build-style/sip-build.sh create mode 100644 common/build-style/slashpackage.sh create mode 100644 common/build-style/texmf.sh create mode 100644 common/build-style/void-cross.sh create mode 100644 common/build-style/waf.sh create mode 100644 common/build-style/waf3.sh create mode 100644 common/build-style/zig-build.sh create mode 100644 common/chroot-style/README create mode 100755 common/chroot-style/bwrap.sh create mode 100755 common/chroot-style/ethereal.sh create mode 100755 common/chroot-style/uchroot.sh create mode 100755 common/chroot-style/uunshare.sh create mode 100644 common/cross-profiles/README create mode 100644 common/cross-profiles/aarch64-musl.sh create mode 100644 common/cross-profiles/aarch64.sh create mode 120000 common/cross-profiles/armv5te-musl.sh create mode 120000 common/cross-profiles/armv5te.sh create mode 100644 common/cross-profiles/armv5tel-musl.sh create mode 100644 common/cross-profiles/armv5tel.sh create mode 120000 common/cross-profiles/armv6hf-musl.sh create mode 120000 common/cross-profiles/armv6hf.sh create mode 100644 common/cross-profiles/armv6l-musl.sh create mode 100644 common/cross-profiles/armv6l.sh create mode 120000 common/cross-profiles/armv7hf-musl.sh create mode 120000 common/cross-profiles/armv7hf.sh create mode 100644 common/cross-profiles/armv7l-musl.sh create mode 100644 common/cross-profiles/armv7l.sh create mode 100644 common/cross-profiles/i686-musl.sh create mode 100644 common/cross-profiles/i686.sh create mode 100644 common/cross-profiles/mips-musl.sh create mode 100644 common/cross-profiles/mipsel-musl.sh create mode 100644 common/cross-profiles/mipselhf-musl.sh create mode 100644 common/cross-profiles/mipshf-musl.sh create mode 100644 common/cross-profiles/ppc-musl.sh create mode 100644 common/cross-profiles/ppc.sh create mode 100644 common/cross-profiles/ppc64-musl.sh create mode 100644 common/cross-profiles/ppc64.sh create mode 100644 common/cross-profiles/ppc64le-musl.sh create mode 100644 common/cross-profiles/ppc64le.sh create mode 100644 common/cross-profiles/ppcle-musl.sh create mode 100644 common/cross-profiles/ppcle.sh create mode 100644 common/cross-profiles/riscv64.sh create mode 100644 common/cross-profiles/x86_64-musl.sh create mode 100644 common/cross-profiles/x86_64.sh create mode 100644 common/environment/README create mode 100644 common/environment/build-style/.empty create mode 100644 common/environment/build-style/R-cran.sh create mode 100644 common/environment/build-style/cargo.sh create mode 100644 common/environment/build-style/cmake.sh create mode 100644 common/environment/build-style/gem.sh create mode 100644 common/environment/build-style/gemspec.sh create mode 100644 common/environment/build-style/go.sh create mode 100644 common/environment/build-style/haskell-stack.sh create mode 100644 common/environment/build-style/meson.sh create mode 100644 common/environment/build-style/perl-ModuleBuild.sh create mode 100644 common/environment/build-style/perl-module.sh create mode 100644 common/environment/build-style/python2-module.sh create mode 100644 common/environment/build-style/python3-module.sh create mode 100644 common/environment/build-style/python3-pep517.sh create mode 100644 common/environment/build-style/raku-dist.sh create mode 100644 common/environment/build-style/ruby-module.sh create mode 100644 common/environment/build-style/scons.sh create mode 100644 common/environment/build-style/texmf.sh create mode 100644 common/environment/build-style/texmf/ownership.txt create mode 100644 common/environment/build-style/void-cross.sh create mode 100644 common/environment/build-style/waf.sh create mode 100644 common/environment/build-style/waf3.sh create mode 100644 common/environment/build-style/zig-build.sh create mode 100644 common/environment/build/.empty create mode 120000 common/environment/build/bootstrap.sh create mode 120000 common/environment/build/ccache.sh create mode 120000 common/environment/build/cross.sh create mode 120000 common/environment/build/debug-debug-prefix-map.sh create mode 120000 common/environment/build/hardening.sh create mode 120000 common/environment/build/pkg-config.sh create mode 120000 common/environment/check/bootstrap.sh create mode 120000 common/environment/check/ccache.sh create mode 120000 common/environment/check/cross.sh create mode 120000 common/environment/check/debug-debug-prefix-map.sh create mode 120000 common/environment/check/hardening.sh create mode 100644 common/environment/check/no_display.sh create mode 120000 common/environment/check/pkg-config.sh create mode 100644 common/environment/configure/.empty create mode 100644 common/environment/configure/autoconf_cache/aarch64-linux create mode 100644 common/environment/configure/autoconf_cache/arm-common create mode 100644 common/environment/configure/autoconf_cache/arm-linux create mode 100644 common/environment/configure/autoconf_cache/common-glibc create mode 100644 common/environment/configure/autoconf_cache/common-linux create mode 100644 common/environment/configure/autoconf_cache/endian-big create mode 100644 common/environment/configure/autoconf_cache/endian-little create mode 100644 common/environment/configure/autoconf_cache/ix86-common create mode 100644 common/environment/configure/autoconf_cache/mips-common create mode 100644 common/environment/configure/autoconf_cache/mips-linux create mode 100644 common/environment/configure/autoconf_cache/mipsel-linux create mode 100644 common/environment/configure/autoconf_cache/musl-linux create mode 100644 common/environment/configure/autoconf_cache/powerpc-common create mode 100644 common/environment/configure/autoconf_cache/powerpc-linux create mode 100644 common/environment/configure/autoconf_cache/powerpc32-linux create mode 100644 common/environment/configure/autoconf_cache/powerpc64-linux create mode 100644 common/environment/configure/autoconf_cache/x86_64-linux create mode 100755 common/environment/configure/automake/config.guess create mode 100755 common/environment/configure/automake/config.sub create mode 100644 common/environment/configure/bootstrap.sh create mode 100644 common/environment/configure/ccache.sh create mode 100644 common/environment/configure/cross.sh create mode 100644 common/environment/configure/debug-debug-prefix-map.sh create mode 100644 common/environment/configure/gccspecs/hardened-cc1 create mode 100644 common/environment/configure/gccspecs/hardened-ld create mode 100644 common/environment/configure/gccspecs/hardened-mips-cc1 create mode 100644 common/environment/configure/gnu-configure-args.sh create mode 100644 common/environment/configure/hardening.sh create mode 100644 common/environment/configure/pkg-config.sh create mode 100644 common/environment/extract/.empty create mode 100644 common/environment/fetch/.empty create mode 100644 common/environment/fetch/fetch_cmd.sh create mode 120000 common/environment/fetch/misc.sh create mode 100644 common/environment/install/.empty create mode 120000 common/environment/install/ccache.sh create mode 120000 common/environment/install/cross.sh create mode 120000 common/environment/install/debug-debug-prefix-map.sh create mode 100644 common/environment/install/extglob.sh create mode 120000 common/environment/install/hardening.sh create mode 120000 common/environment/install/pkg-config.sh create mode 120000 common/environment/patch/bootstrap.sh create mode 120000 common/environment/patch/ccache.sh create mode 120000 common/environment/patch/cross.sh create mode 120000 common/environment/patch/debug-debug-prefix-map.sh create mode 120000 common/environment/patch/gnu-configure-args.sh create mode 120000 common/environment/patch/hardening.sh create mode 120000 common/environment/patch/pkg-config.sh create mode 120000 common/environment/pkg/extglob.sh create mode 100644 common/environment/setup-subpkg/.empty create mode 100644 common/environment/setup-subpkg/subpkg.sh create mode 100644 common/environment/setup/.empty create mode 100644 common/environment/setup/git.sh create mode 100644 common/environment/setup/install.sh create mode 100644 common/environment/setup/misc.sh create mode 100644 common/environment/setup/options.sh create mode 100644 common/environment/setup/python.sh create mode 100644 common/environment/setup/replace-interpreter.sh create mode 100644 common/environment/setup/sourcepkg.sh create mode 100644 common/environment/setup/vsed.sh create mode 100644 common/hooks/README create mode 100644 common/hooks/do-build/.empty create mode 100644 common/hooks/do-check/.empty create mode 100644 common/hooks/do-configure/.empty create mode 100644 common/hooks/do-extract/.empty create mode 100644 common/hooks/do-extract/00-distfiles.sh create mode 100644 common/hooks/do-fetch/.empty create mode 100644 common/hooks/do-fetch/00-distfiles.sh create mode 100644 common/hooks/do-install/.empty create mode 100644 common/hooks/do-patch/.empty create mode 100644 common/hooks/do-patch/00-patches.sh create mode 100644 common/hooks/do-pkg/.empty create mode 100644 common/hooks/do-pkg/00-gen-pkg.sh create mode 100644 common/hooks/post-build/.empty create mode 100644 common/hooks/post-check/.empty create mode 100644 common/hooks/post-configure/.empty create mode 100644 common/hooks/post-extract/.empty create mode 100644 common/hooks/post-fetch/.empty create mode 100644 common/hooks/post-install/.empty create mode 100644 common/hooks/post-install/00-compress-info-files.sh create mode 100644 common/hooks/post-install/00-fixup-gir-path.sh create mode 100644 common/hooks/post-install/00-libdir.sh create mode 100644 common/hooks/post-install/00-uncompress-manpages.sh create mode 100644 common/hooks/post-install/01-remove-misc.sh create mode 100644 common/hooks/post-install/02-remove-libtool-archives.sh create mode 100644 common/hooks/post-install/02-remove-perl-files.sh create mode 100644 common/hooks/post-install/02-remove-python-bytecode-files.sh create mode 100644 common/hooks/post-install/03-remove-empty-dirs.sh create mode 100644 common/hooks/post-install/04-create-xbps-metadata-scripts.sh create mode 100644 common/hooks/post-install/05-generate-gitrevs.sh create mode 100644 common/hooks/post-install/06-strip-and-debug-pkgs.sh create mode 100644 common/hooks/post-install/10-pkglint-devel-paths.sh create mode 100644 common/hooks/post-install/11-pkglint-elf-in-usrshare.sh create mode 100644 common/hooks/post-install/12-rename-python3-c-bindings.sh create mode 100644 common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh create mode 100644 common/hooks/post-install/14-fix-permissions.sh create mode 100644 common/hooks/post-install/99-pkglint-warn-cross-cruft.sh create mode 100644 common/hooks/post-patch/.empty create mode 100644 common/hooks/post-pkg/.empty create mode 100644 common/hooks/post-pkg/00-register-pkg.sh create mode 100644 common/hooks/pre-build/.empty create mode 120000 common/hooks/pre-build/02-script-wrapper.sh create mode 100644 common/hooks/pre-check/.empty create mode 100644 common/hooks/pre-configure/.empty create mode 100644 common/hooks/pre-configure/00-gnu-configure-asneeded.sh create mode 100644 common/hooks/pre-configure/01-override-config.sh create mode 100644 common/hooks/pre-configure/02-script-wrapper.sh create mode 100644 common/hooks/pre-extract/.empty create mode 100644 common/hooks/pre-fetch/.empty create mode 100644 common/hooks/pre-install/.empty create mode 100644 common/hooks/pre-install/00-libdir.sh create mode 120000 common/hooks/pre-install/02-script-wrapper.sh create mode 100644 common/hooks/pre-install/98-fixup-gir-path.sh create mode 100644 common/hooks/pre-patch/.empty create mode 100644 common/hooks/pre-pkg/.empty create mode 100644 common/hooks/pre-pkg/03-rewrite-python-shebang.sh create mode 100644 common/hooks/pre-pkg/04-generate-runtime-deps.sh create mode 100644 common/hooks/pre-pkg/05-prepare-32bit.sh create mode 100644 common/hooks/pre-pkg/06-shlib-provides.sh create mode 100644 common/hooks/pre-pkg/90-set-timestamps.sh create mode 100644 common/hooks/pre-pkg/99-pkglint-subpkgs.sh create mode 100644 common/hooks/pre-pkg/99-pkglint.sh create mode 100644 common/hooks/pre-pkg/999-collected-rdeps.sh create mode 100644 common/options.description create mode 100644 common/repo-keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist create mode 100644 common/repo-keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist create mode 100644 common/scripts/README.xbps-cycles.md create mode 100755 common/scripts/check-custom-licenses create mode 100755 common/scripts/lint-commits create mode 100755 common/scripts/lint-conflicts create mode 100755 common/scripts/lint-version-change create mode 100644 common/scripts/lint2annotations.awk create mode 100755 common/scripts/xbps-cycles.py create mode 100644 common/shlibs create mode 100755 common/travis/build.sh create mode 100755 common/travis/changed_templates.sh create mode 100755 common/travis/check-install.sh create mode 100755 common/travis/fetch-xbps.sh create mode 100755 common/travis/fetch-xtools.sh create mode 100644 common/travis/license.lst create mode 100755 common/travis/prepare.sh create mode 100755 common/travis/set_mirror.sh create mode 100755 common/travis/show_files.sh create mode 100755 common/travis/xlint.sh create mode 100755 common/travis/xpkgdiff.sh create mode 100644 common/wrappers/cross-cc create mode 100644 common/wrappers/date.sh create mode 100644 common/wrappers/install.sh create mode 100644 common/wrappers/ldconfig.sh create mode 100644 common/wrappers/strip.sh create mode 100644 common/wrappers/uname.sh create mode 100755 common/xbps-src/libexec/build.sh create mode 100755 common/xbps-src/libexec/xbps-src-dobuild.sh create mode 100755 common/xbps-src/libexec/xbps-src-docheck.sh create mode 100755 common/xbps-src/libexec/xbps-src-doconfigure.sh create mode 100755 common/xbps-src/libexec/xbps-src-doextract.sh create mode 100755 common/xbps-src/libexec/xbps-src-dofetch.sh create mode 100755 common/xbps-src/libexec/xbps-src-doinstall.sh create mode 100755 common/xbps-src/libexec/xbps-src-dopatch.sh create mode 100755 common/xbps-src/libexec/xbps-src-dopkg.sh create mode 100755 common/xbps-src/libexec/xbps-src-prepkg.sh create mode 100644 common/xbps-src/shutils/build_dependencies.sh create mode 100644 common/xbps-src/shutils/bulk.sh create mode 100644 common/xbps-src/shutils/chroot.sh create mode 100644 common/xbps-src/shutils/common.sh create mode 100644 common/xbps-src/shutils/consistency_check.sh create mode 100644 common/xbps-src/shutils/cross.sh create mode 100644 common/xbps-src/shutils/pkgtarget.sh create mode 100644 common/xbps-src/shutils/purge_distfiles.sh create mode 100644 common/xbps-src/shutils/show.sh create mode 100644 common/xbps-src/shutils/update_check.sh create mode 100644 common/xbps-src/shutils/update_hash_cache.sh create mode 100644 etc/defaults.conf create mode 100644 etc/defaults.virtual create mode 100644 etc/xbps.d/repos-local-x86_64-multilib.conf create mode 100644 etc/xbps.d/repos-local.conf create mode 100644 etc/xbps.d/repos-remote-aarch64-musl.conf create mode 100644 etc/xbps.d/repos-remote-aarch64.conf create mode 100644 etc/xbps.d/repos-remote-musl.conf create mode 100644 etc/xbps.d/repos-remote-x86_64-multilib.conf create mode 100644 etc/xbps.d/repos-remote.conf create mode 100644 srcpkgs/base-files/INSTALL create mode 100644 srcpkgs/base-files/files/66-kvm.rules create mode 100644 srcpkgs/base-files/files/90-usbmon.rules create mode 100644 srcpkgs/base-files/files/DIR_COLORS create mode 100644 srcpkgs/base-files/files/DIR_COLORS.256color create mode 100644 srcpkgs/base-files/files/DIR_COLORS.xterm create mode 100644 srcpkgs/base-files/files/blacklist.conf create mode 100644 srcpkgs/base-files/files/bpf.conf create mode 100644 srcpkgs/base-files/files/colorls.sh create mode 100644 srcpkgs/base-files/files/crypttab create mode 100644 srcpkgs/base-files/files/dot_bash_logout create mode 100644 srcpkgs/base-files/files/dot_bash_profile create mode 100644 srcpkgs/base-files/files/dot_bashrc create mode 100644 srcpkgs/base-files/files/dot_inputrc create mode 100644 srcpkgs/base-files/files/dracut.conf.d.voidlinux.conf create mode 100644 srcpkgs/base-files/files/fstab create mode 100644 srcpkgs/base-files/files/group create mode 100644 srcpkgs/base-files/files/host.conf create mode 100644 srcpkgs/base-files/files/hosts create mode 100644 srcpkgs/base-files/files/inputrc create mode 100644 srcpkgs/base-files/files/issue create mode 100644 srcpkgs/base-files/files/ld.so.lib32.conf create mode 100644 srcpkgs/base-files/files/licenses/Apache-2.0 create mode 100644 srcpkgs/base-files/files/licenses/Artistic create mode 100644 srcpkgs/base-files/files/licenses/BSD create mode 100644 srcpkgs/base-files/files/licenses/GFDL-1.2 create mode 100644 srcpkgs/base-files/files/licenses/GFDL-1.3 create mode 100644 srcpkgs/base-files/files/licenses/GPL-1 create mode 100644 srcpkgs/base-files/files/licenses/GPL-2 create mode 100644 srcpkgs/base-files/files/licenses/GPL-3 create mode 100644 srcpkgs/base-files/files/licenses/LGPL-2 create mode 100644 srcpkgs/base-files/files/licenses/LGPL-2.1 create mode 100644 srcpkgs/base-files/files/licenses/LGPL-3 create mode 100644 srcpkgs/base-files/files/licenses/MPL-1.1 create mode 100644 srcpkgs/base-files/files/licenses/MPL-2.0 create mode 100644 srcpkgs/base-files/files/licenses/OFL-1.1 create mode 100644 srcpkgs/base-files/files/locale.sh create mode 100644 srcpkgs/base-files/files/lsb_release create mode 100644 srcpkgs/base-files/files/mozplugin.sh create mode 100644 srcpkgs/base-files/files/nsswitch.conf create mode 100644 srcpkgs/base-files/files/os-release create mode 100644 srcpkgs/base-files/files/passwd create mode 100644 srcpkgs/base-files/files/profile create mode 100644 srcpkgs/base-files/files/securetty create mode 100644 srcpkgs/base-files/files/subgid create mode 100644 srcpkgs/base-files/files/subuid create mode 100644 srcpkgs/base-files/files/sysctl-user.conf create mode 100644 srcpkgs/base-files/files/sysctl.conf create mode 100644 srcpkgs/base-files/files/usb-load-ehci-first create mode 100644 srcpkgs/base-files/files/vkpurge create mode 100644 srcpkgs/base-files/files/vkpurge.8 create mode 100644 srcpkgs/base-files/template create mode 100644 srcpkgs/base-system/template create mode 100644 srcpkgs/base-voidstrap/template create mode 100644 srcpkgs/booster/files/kernel-hook-postinst create mode 100644 srcpkgs/booster/files/kernel-hook-postrm create mode 100644 srcpkgs/booster/patches/fix-target-dir.patch create mode 100644 srcpkgs/booster/patches/symlink.patch create mode 100644 srcpkgs/booster/template create mode 120000 srcpkgs/busybox-core create mode 100644 srcpkgs/busybox-full/files/.config create mode 100644 srcpkgs/busybox-full/template create mode 120000 srcpkgs/busybox-huge create mode 120000 srcpkgs/busybox-static create mode 100644 srcpkgs/busybox/diff create mode 100644 srcpkgs/busybox/files/busybox-klogd/run create mode 100755 srcpkgs/busybox/files/busybox-ntpd/run create mode 100644 srcpkgs/busybox/files/busybox-syslogd/run create mode 100644 srcpkgs/busybox/files/dotconfig create mode 100644 srcpkgs/busybox/files/dotconfig.d/httpd.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/huge.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/mdev.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/ntpd.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/static.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/sysklogd.patch create mode 100644 srcpkgs/busybox/files/dotconfig.d/udhcpc.patch create mode 100644 srcpkgs/busybox/patches/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch create mode 100644 srcpkgs/busybox/patches/0002-nslookup-sanitize-all-printed-strings-with-printable.patch create mode 100644 srcpkgs/busybox/patches/testsuite-fix-date-works.patch create mode 100644 srcpkgs/busybox/template create mode 100644 srcpkgs/busybox/update create mode 100644 srcpkgs/evolution-artwork/files/evolution-logo.png create mode 100644 srcpkgs/evolution-artwork/files/evolution-logo.svg create mode 100644 srcpkgs/evolution-artwork/files/evolution-transparent.png create mode 100755 srcpkgs/evolution-artwork/files/generate-icons.sh create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-128.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-16.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-22.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-256.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-32.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-48.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-512.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-64.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-128.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-16.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-22.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-256.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-32.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-48.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-512.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-64.png create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo-notext.svg create mode 100644 srcpkgs/evolution-artwork/files/icons/evolution-logo.svg create mode 100644 srcpkgs/evolution-artwork/files/oldsplash.png create mode 100644 srcpkgs/evolution-artwork/files/splash.png create mode 100644 srcpkgs/evolution-artwork/files/splashwhite.png create mode 100644 srcpkgs/evolution-artwork/template create mode 100644 srcpkgs/evolution-desktop/INSTALL create mode 100644 srcpkgs/evolution-desktop/INSTALL.msg create mode 100755 srcpkgs/evolution-desktop/files/bin/Wayfire create mode 100755 srcpkgs/evolution-desktop/files/bin/audioctl create mode 100755 srcpkgs/evolution-desktop/files/bin/startlogin create mode 100755 srcpkgs/evolution-desktop/files/bin/startsession create mode 100644 srcpkgs/evolution-desktop/files/etc/greetd/config.toml create mode 100644 srcpkgs/evolution-desktop/files/etc/greetd/environments create mode 100644 srcpkgs/evolution-desktop/files/etc/greetd/wallpaper.png create mode 100644 srcpkgs/evolution-desktop/files/home/greeter/dconf/user create mode 100644 srcpkgs/evolution-desktop/files/home/greeter/wayfire.ini create mode 100644 srcpkgs/evolution-desktop/files/home/greeter/wf-shell.ini create mode 100644 srcpkgs/evolution-desktop/files/usr/share/wayfire/dconf/user create mode 100644 srcpkgs/evolution-desktop/files/usr/share/wayfire/wayfire.ini create mode 100644 srcpkgs/evolution-desktop/files/usr/share/wayfire/wf-shell.ini create mode 120000 srcpkgs/evolution-desktop/files/var/service/dbus create mode 120000 srcpkgs/evolution-desktop/files/var/service/greetd create mode 120000 srcpkgs/evolution-desktop/files/var/service/polkitd create mode 100644 srcpkgs/evolution-desktop/template create mode 100644 srcpkgs/evolution-patches/files/conf create mode 100644 srcpkgs/evolution-patches/files/doas.conf create mode 100644 srcpkgs/evolution-patches/files/main.conf create mode 100644 srcpkgs/evolution-patches/template create mode 100644 srcpkgs/evolution-theme-switcher/template create mode 100644 srcpkgs/greetd-gtkgreet/template create mode 100644 srcpkgs/gtkloadspinner/template create mode 100644 srcpkgs/linux-base/template create mode 100644 srcpkgs/mdocml/INSTALL create mode 100644 srcpkgs/mdocml/files/cgi.h create mode 100755 srcpkgs/mdocml/files/makewhatis.cron.daily create mode 100644 srcpkgs/mdocml/files/man.conf create mode 100644 srcpkgs/mdocml/files/void.css create mode 100644 srcpkgs/mdocml/patches/cgi-gz.patch create mode 100644 srcpkgs/mdocml/patches/cross.patch create mode 100644 srcpkgs/mdocml/patches/stress-ng-hang.patch create mode 100644 srcpkgs/mdocml/template create mode 100644 srcpkgs/mdocml/update create mode 100644 srcpkgs/neofetch/template create mode 120000 srcpkgs/runit-void-apparmor create mode 100644 srcpkgs/runit-void/INSTALL create mode 100644 srcpkgs/runit-void/files/09-apparmor.sh create mode 100644 srcpkgs/runit-void/files/apparmor create mode 100644 srcpkgs/runit-void/files/hostname create mode 100644 srcpkgs/runit-void/files/locale.conf create mode 100644 srcpkgs/runit-void/runit-void-apparmor.INSTALL create mode 100644 srcpkgs/runit-void/template create mode 100644 srcpkgs/shadowfix/template create mode 120000 srcpkgs/void-man-cgi create mode 100755 srcpkgs/xbps-triggers/files/appstream-cache create mode 100755 srcpkgs/xbps-triggers/files/binfmts create mode 100755 srcpkgs/xbps-triggers/files/dkms create mode 100755 srcpkgs/xbps-triggers/files/gconf-schemas create mode 100755 srcpkgs/xbps-triggers/files/gdk-pixbuf-loaders create mode 100755 srcpkgs/xbps-triggers/files/gio-modules create mode 100755 srcpkgs/xbps-triggers/files/gsettings-schemas create mode 100755 srcpkgs/xbps-triggers/files/gtk-icon-cache create mode 100755 srcpkgs/xbps-triggers/files/gtk-immodules create mode 100755 srcpkgs/xbps-triggers/files/gtk-pixbuf-loaders create mode 100755 srcpkgs/xbps-triggers/files/gtk3-immodules create mode 100755 srcpkgs/xbps-triggers/files/hwdb.d-dir create mode 100755 srcpkgs/xbps-triggers/files/info-files create mode 100755 srcpkgs/xbps-triggers/files/initramfs-regenerate create mode 100755 srcpkgs/xbps-triggers/files/kernel-hooks create mode 100755 srcpkgs/xbps-triggers/files/mimedb create mode 100755 srcpkgs/xbps-triggers/files/mkdirs create mode 100755 srcpkgs/xbps-triggers/files/openjdk-profile create mode 100755 srcpkgs/xbps-triggers/files/pango-modules create mode 100755 srcpkgs/xbps-triggers/files/pycompile create mode 100755 srcpkgs/xbps-triggers/files/register-shell create mode 100755 srcpkgs/xbps-triggers/files/system-accounts create mode 100755 srcpkgs/xbps-triggers/files/texmf-dist create mode 100755 srcpkgs/xbps-triggers/files/update-desktopdb create mode 100755 srcpkgs/xbps-triggers/files/x11-fonts create mode 100755 srcpkgs/xbps-triggers/files/xml-catalog create mode 100644 srcpkgs/xbps-triggers/template create mode 100755 xbps-src diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ddae6f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +template linguist-language=bash +common/shlibs merge=union +*.patch whitespace=-space-before-tab,-trailing-space +*.diff whitespace=-space-before-tab,-trailing-space diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae75426 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +*.swo +*.swp +*~ +\#*# + +# exclude everything in root except files and directories from void-packages +/* +!/.gitattributes +!/.github +!/.gitignore +!/.mailmap +!/CONTRIBUTING.md +!/COPYING +!/Manual.md +!/README.md +!/common +!/etc +!/srcpkgs +!/xbps-src +etc/conf +etc/conf.* +etc/virtual +etc/xbps.d/custom diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..8e00cb2 --- /dev/null +++ b/.mailmap @@ -0,0 +1,64 @@ +# git mailmap (see git-shortlog(1)) +# format: New Name Old Name + +Tracker-Friendly Tracker-Friendly +Andrea Brancaleoni Andrea Brancaleoni +Andrea Brancaleoni Andrea Brancaleoni +Andrea Brancaleoni Andrea Brancaleoni +Andrew Benson Andrew Benson +Andrew Benson Andrewb Benson +Cameron Nemo Cameron Nemo +Cameron Nemo Cameron Nemo +Dominik Honnef Dominik Honnef +Duncaen Duncaen +Duncaen Duncan Overbruck +Duncaen Duncan Overbruck +Enno Boland Enno Boland +Enno Boland Enno Boland +Enno Boland Gottox +Jan S jan-schreib +John Regan John Regan +Jürgen Buchmüller Juergen Buchmueller +Leah Neukirchen Christian Neukirchen +Logen Kain Logen Kain +Michael Aldridge Michael Aldridge +Philipp Hirsch hanspolo +Piraty Piraty +Piraty Piraty +Stefan Mühlinghaus Stefan Mühlinghaus +bougyman bougyman +bougyman bougyman +bougyman bougyman +chrome-pepper-bot Enno Boland (bot) +onekk onekk +pancake pancake +pancake radare +xdave davehome +yopito yopito + +Duncaen Duncaen +Enno Boland Enno Boland +Juan RP Juan RP +Toyam Cox Toyam Cox +ananteris ananteris +bougyman bougyman + +Rasmus Thomsen Rasmus Thomsen +Rasmus Thomsen Rasmus Thomsen + +Renato Aguiar Renato Aguiar +Renato Aguiar Renato Aguiar +Renato Aguiar Renato Aguiar +Đoàn Trần Công Danh +Đoàn Trần Công Danh Doan Tran Cong Danh +John John +John John Zimmermann +Daniel Kolesa q66 +teldra Teldra +teldra xor +Andrew J. Hesford Andrew J. Hesford + +howtologinquickwiththirtyninecharacters It looks like the profile name is limited to 256 characters, just like most error messages here it says 255 characters but we know better, do we? As usual, let's try to fill it with meaningless words about nothing at all. Maybe I can reach its limit. End <61999526+howtologinquickwiththirtyninecharacters@users.noreply.github.com> + +Érico Nogueira Érico Rolim +Adam Gausmann Adam Gausmann diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4e35a33 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,207 @@ +# Contributing to evolution-packages + +evolution-packages is the backbone of the Evolution Linux distribution. It contains all the definitions to build packages from source. + +This document describes how you, as a contributor, can help with adding packages, correcting bugs and adding features to evolution-packages. + +## Package Requirements + +To be included in the evolution repository, software must meet at least one of the following requirements. +Exceptions to the list are possible, and might be accepted, but are extremely unlikely. +If you believe you have an exception, start a PR and make an argument for why that particular piece of software, +while not meeting any of the following requirements, is a good candidate for the evolution packages system. + +1. **System**: The software should be installed system-wide, not per-user. + +1. **Compiled**: The software needs to be compiled before being used, even if it is software that is not needed by the whole system. + +1. **Required**: Another package either within the repository or pending inclusion requires the package. + +In particular, new themes are highly unlikely to be accepted. +Simple shell scripts are unlikely to be accepted unless they provide considerable value to a broad user base. +New fonts may be accepted if they provide value beyond aesthetics (e.g. they contain glyphs for a script missing in already packaged fonts). +Packages related to cryptocurrencies (wallets, miners, nodes, etc) are not accepted. + +Browser forks, including those based on Chromium and Firefox, are generally not accepted. +Such forks require heavy patching, maintenance and hours of build time. + +Software need to be used in version announced by authors as ready to use by the general public - usually called releases. +Betas, arbitrary VCS revisions, templates using tip of development branch taken at build time and releases created by the package maintainer won't be accepted. + +## Creating, updating, and modifying packages in evolution by yourself + +If you really want to get a new package or package update into evolution Linux, we recommend you contribute it yourself. + +We provide a [comprehensive Manual](./Manual.md) on how to create new packages. +There's also a [manual for xbps-src](./README.md), which is used to build package files from templates. + +For this guide, we assume you have basic knowledge about [git](http://git-scm.org), as well as a [GitHub Account](http://github.com) with [SSH set up](https://docs.github.com/en/authentication/connecting-to-github-with-ssh). + +You should also [set the email](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address) on your GitHub account and in git so your commits are associated with your GitHub account properly. + +To get started, [fork](https://help.github.com/articles/fork-a-repo) the evolution-linux `evolution-packages` git repository on GitHub and clone it: + + $ git clone git@github.com:/evolution-packages.git + +To keep your forked repository up to date, setup the `upstream` remote to pull in new changes: + + $ git remote add upstream https://github.com/evolution-linux/evolution-packages.git + $ git pull --rebase upstream master + +This can also be done with the `github-cli` tool: + + $ gh repo fork evolution-linux/evolution-packages + $ gh repo clone /evolution-packages + +This automatically sets up the `upstream` remote, so `git pull --rebase upstream master` can still be used to keep your fork up-to-date. + +Using the GitHub web editor for making changes is strongly discouraged, because you will need to clone the repo anyways to edit and test your changes. + +Using the `master` branch of your fork for contributing is also strongly discouraged. +It can cause many issues with updating your pull request (also called a PR), and having multiple PRs open at once. +To create a new branch: + + $ git checkout master -b + +### Creating a new template + +You can use the helper tool `xnew`, from the [xtools](https://github.com/leahneukirchen/xtools) package, to create new templates: + + $ xnew pkgname subpkg1 subpkg2 ... + +Templates must have the name `evolution-packages/srcpkgs//template`, where `pkgname` is the same as the `pkgname` variable in the template. + +For deeper insights on the contents of template files, please read the [manual](./Manual.md), and be sure to browse the existing template files in the `srcpkgs` directory of this repository for concrete examples. + +### Updating a template + +At minimum, a template update will consist of changing `version` and `checksum`, if there was an upstream version change, and/or `revision`, if a template-specific change (e.g. patch, correction, etc.) is needed. +Other changes to the template may be needed depending on what changes the upstream has made. + +The checksum can be updated automatically with the `xgensum` helper from the [xtools](https://github.com/leahneukirchen/xtools) package: + + $ xgensum -i + +### Committing your changes + +After making your changes, please check that the package builds successfully. From the top level directory of your local copy of the `evolution-packages` repository, run: + + $ ./xbps-src pkg + +Your package must build successfully for at least x86, but we recommend also trying a cross-build for armv6l* as well, e.g.: + + $ ./xbps-src -a armv6l pkg + +When building for `x86_64*` or `i686`, building with the `-Q` flag or with `XBPS_CHECK_PKGS=yes` set in `etc/conf` (to run the check phase) is strongly encouraged. +Also, new packages and updates will not be accepted unless they have been runtime tested by installing and running the package. + +When you've finished working on the template file, please check it with `xlint` helper from the [xtools](https://github.com/leahneukirchen/xtools) package: + + $ xlint template + +If `xlint` reports any issues, resolve them before committing. + +Once you have made and verified your changes to the package template and/or other files, make one commit per package (including all changes to its sub-packages). Each commit message should have one of the following formats: + +* for new packages, use `New package: -` ([example](https://github.com/evolution-linux/evolution-packages/commit/8ed8d41c40bf6a82cf006c7e207e05942c15bff8)). + +* for package updates, use `: update to .` ([example](https://github.com/evolution-linux/evolution-packages/commit/c92203f1d6f33026ae89f3e4c1012fb6450bbac1)). + +* for template modifications without a version change, use `: ` ([example](https://github.com/evolution-linux/evolution-packages/commit/ff39c912d412717d17232de9564f659b037e95b5)). + +* for package removals, use `: remove package` and include the removal reason in the commit body ([example](https://github.com/evolution-linux/evolution-packages/commit/4322f923bdf5d4e0eb36738d4f4717d72d0a0ca4)). + +* for changes to any other file, use `: ` ([example](https://github.com/evolution-linux/evolution-packages/commit/e00bea014c36a70d60acfa1758514b0c7cb0627d), + [example](https://github.com/evolution-linux/evolution-packages/commit/93bf159ce10d8e474da5296e5bc98350d00c6c82), [example](https://github.com/evolution-linux/evolution-packages/commit/dc62938c67b66a7ff295eab541dc37b92fb9fb78), [example](https://github.com/evolution-linux/evolution-packages/commit/e52317e939d41090562cf8f8131a68772245bdde)) + +If you want to describe your changes in more detail, explain in the commit body (separated from the first line with a blank line) ([example](https://github.com/evolution-linux/evolution-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)). + +`xbump`, available in the [xtools](https://github.com/leahneukirchen/xtools) package, can be used to commit a new or updated package: + + $ xbump + +`xrevbump`, also available in the [xtools](https://github.com/leahneukirchen/xtools) package, can be used to commit a template modification for a package: + + $ xrevbump '' + +`xbump` and `xrevbump` will use `git commit` to commit the changes with the appropriate commit message. For more fine-grained control over the commit, specific options can be passed to `git commit` by adding them after the package name. + +### Starting a pull request + +Once you have successfully built the package, you can [create a pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). Pull requests are also known as PRs. + +Most pull requests should only contain a single package and dependencies which are not part of evolution-packages yet. + +If you make updates to packages containing a soname bump, you also need to update `common/shlibs` and revbump all packages that are dependant. +There should be a commit for each package revbump, and those commits should be part of the same pull request. + +When you make changes to your pull request, please *do not close and reopen your pull request*. Instead, just [forcibly git push](#review), overwriting any old commits. Closing and opening your pull requests repeatedly spams the evolution maintainers. + +#### Continuous Integration + +Pull requests are automatically submitted for Continuous Integration (CI) testing to ensure packages build and pass their tests (on native builds) on various combinations of C library and architecture. +Packages that take longer than 120 minutes or need more than 14G of storage to complete their build (for example, Firefox or the Linux kernel) will fail CI and should include `[ci skip]` in the PR title or body (the comment field when the PR is being opened) to stray from wasting CI builder time. +Use your best judgment on build times based on your local building experience. If you skip CI when submitting a PR, please build and cross-build for a variety of architectures locally, with both glibc and musl, and note your local results in PR comments. +Make sure to cover 64-bit and 32-bit architectures. + +If you notice a failure in CI that didn't happen locally, that is likely because you didn't run tests locally. +Use `./xbps-src -Q pkg ` to do so. +Some tests won't work in the CI environment or at all, and their templates should encode this information using the `make_check` variable. + +Continuous Integration will also check if the templates you have changed +comply with the our guidelines. At the moment not all packages comply with the rules, so if you update a package, it may report errors about places you haven't touched. Please feel free to fix those errors too. + +#### Review + +It's possible (and common) that a pull request will contain mistakes or reviewers will ask for additional tweaks. +Reviewers will comment on your pull request and point out which changes are needed before the pull request can be merged. + +Most PRs will have a single commit, as seen [above](#committing-your-changes), so if you need to make changes to the commit and already have a pull request open, you can use the following commands: + + $ git add + $ git commit --amend + $ git push -f + +A more powerful way of modifying commits than using `git commit --amend` is with [git-rebase](https://git-scm.com/docs/git-rebase#_interactive_mode), which allows you to join, reorder, change description of past commits and more. + +Alternatively, if there are issues with your git history, you can make another branch and push it to the existing PR: + + $ git checkout master -b + $ # do changes anew + $ git push -f : + +#### Closing the pull request + +Once you have applied all requested changes, the reviewers will merge your request. + +If the pull request becomes inactive for some days, the reviewers may or may not warn you when they are about to close it. +If it stays inactive further, it will be closed. + +Please abstain from temporarily closing a pull request while revising the templates. Instead, leave a comment on the PR describing what still needs work, [mark it as a draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft), or add "[WIP]" to the PR title. Only close your pull request if you're sure you don't want your changes to be included. + +#### Publishing the package + +Once the reviewers have merged the pull request, our [build server](http://build.evolutionlinux.org) is automatically triggered and builds +all packages in the pull request for all supported platforms. Upon completion, the packages are available to all evolution Linux users. + +## Testing Pull Requests + +While it is the responsibility of the PR creator to test changes before sending it, one person can't test all configuration options, usecases, hardware, etc. +Testing new package submissions and updates is always helpful, and is a great way to get started with contributing. +First, [clone the repository](https://github.com/evolution-linux/evolution-packages#quick-start) if you haven't done so already. +Then check out the pull request, either with `github-cli`: + + $ gh pr checkout + +Or with `git`: + +If your local evolution-packages repository is cloned from your fork, you may need to add the main repository as a remote first: + + $ git remote add upstream https://github.com/evolution-linux/evolution-packages.git + +Then fetch and check out the PR (replacing `` with either `origin` or `upstream`): + + $ git fetch pull//head: + $ git checkout + +Then [build and install](https://github.com/evolution-linux/evolution-packages#building-packages) the package and test its functionality. diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4def475 --- /dev/null +++ b/COPYING @@ -0,0 +1,23 @@ + Copyright (c) 2008-2020 Juan Romero Pardines and contributors + Copyright (c) 2017-2023 The Void Linux team and contributors + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Manual.md b/Manual.md new file mode 100644 index 0000000..6a00026 --- /dev/null +++ b/Manual.md @@ -0,0 +1 @@ +Evolution Linux cannot be bothered to ship with a custom Manual. If you want one, look up the one on the void website, and use that brain of your to figure stuff out. The only major difference is that evolution uses 2 main XBPS repos. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b290722 --- /dev/null +++ b/README.md @@ -0,0 +1,507 @@ +## The XBPS source packages collection + +This repository contains the XBPS source packages collection to build binary packages +for the Evolution Linux distribution. + +The included `xbps-src` script will fetch and compile the sources, and install its +files into a `fake destdir` to generate XBPS binary packages that can be installed +or queried through the `xbps-install(1)` and `xbps-query(1)` utilities, respectively. + +See [Contributing](./CONTRIBUTING.md) for a general overview of how to contribute and the +[Manual](./Manual.md) for details of how to create source packages. + +### Table of Contents + +- [Requirements](#requirements) +- [Quick start](#quick-start) +- [chroot methods](#chroot-methods) +- [Install the bootstrap packages](#install-bootstrap) +- [Configuration](#configuration) +- [Directory hierarchy](#directory-hierarchy) +- [Building packages](#building-packages) +- [Package build options](#build-options) +- [Sharing and signing your local repositories](#sharing-and-signing) +- [Rebuilding and overwriting existing local packages](#rebuilding) +- [Enabling distcc for distributed compilation](#distcc) +- [Distfiles mirrors](#distfiles-mirrors) +- [Cross compiling packages for a target architecture](#cross-compiling) +- [Using xbps-src in a foreign Linux distribution](#foreign) +- [Remaking the masterdir](#remaking-masterdir) +- [Keeping your masterdir uptodate](#updating-masterdir) +- [Building 32bit packages on x86_64](#building-32bit) +- [Building packages natively for the musl C library](#building-for-musl) +- [Building evolution base-system from scratch](#building-base-system) + +### Requirements + +- GNU bash +- xbps >= 0.56 +- git(1) - unless configured to not, see etc/defaults.conf +- common POSIX utilities included by default in almost all UNIX systems +- curl(1) - required by `xbps-src update-check` + +For bootstrapping additionally: +- flock(1) - util-linux +- bsdtar or GNU tar (in that order of preference) +- install(1) - GNU coreutils +- objcopy(1), objdump(1), strip(1): binutils + +`xbps-src` requires [a utility to chroot](#chroot-methods) and bind mount existing directories +into a `masterdir` that is used as its main `chroot` directory. `xbps-src` supports +multiple utilities to accomplish this task. + +> NOTE: `xbps-src` does not allow building as root anymore. Use one of the chroot +methods. + + +### Quick start + +Clone the `evolution-packages` git repository and install the bootstrap packages: + +``` +$ git clone https://github.com/evolution-linux/evolution-packages.git +$ cd evolution-packages +$ ./xbps-src binary-bootstrap +``` + +Build a package by specifying the `pkg` target and the package name: + +``` +$ ./xbps-src pkg +``` + +Use `./xbps-src -h` to list all available targets and options. + +To build packages marked as 'restricted', modify `etc/conf`: + +``` +$ echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf +``` + +Once built, the package will be available in `hostdir/binpkgs` or an appropriate subdirectory (e.g. `hostdir/binpkgs/nonfree`). To install the package: + +``` +# xbps-install --repository hostdir/binpkgs +``` + +Alternatively, packages can be installed with the `xi` utility, from the `xtools` package. `xi` takes the repository of the current working directory into account. + +``` +# xi +``` + + +### chroot methods + +#### xbps-uunshare(1) (default) + +XBPS utility that uses `user_namespaces(7)` (part of xbps, default without `-t` flag). + +This utility requires these Linux kernel options: + +- CONFIG\_NAMESPACES +- CONFIG\_IPC\_NS +- CONFIG\_UTS\_NS +- CONFIG\_USER\_NS + +This is the default method, and if your system does not support any of the required kernel +options it will fail with `EINVAL (Invalid argument)`. + +#### xbps-uchroot(1) + +XBPS utility that uses `namespaces` and must be `setgid` (part of xbps). + +> NOTE: This is the only method that implements functionality of `xbps-src -t`, therefore the +flag ignores the choice made in configuration files and enables `xbps-uchroot`. + +This utility requires these Linux kernel options: + +- CONFIG\_NAMESPACES +- CONFIG\_IPC\_NS +- CONFIG\_PID\_NS +- CONFIG\_UTS\_NS + +Your user must be added to a special group to be able to use `xbps-uchroot(1)` and the +executable must be `setgid`: + + # chown root: xbps-uchroot + # chmod 4750 xbps-uchroot + # usermod -a -G + +> NOTE: by default in evolution you shouldn't do this manually, your user must be a member of +the `xbuilder` group. + +To enable it: + + $ cd evolution-packages + $ echo XBPS_CHROOT_CMD=uchroot >> etc/conf + +If for some reason it's erroring out as `ERROR clone (Operation not permitted)`, check that +your user is a member of the required `group` and that `xbps-uchroot(1)` utility has the +proper permissions and owner/group as explained above. + +#### bwrap(1) + +bubblewrap, sandboxing tool for unprivileged users that uses +user namespaces or setuid. +See . + +#### ethereal + +Destroys host system it runs on. Only useful for one-shot containers, i.e docker (used with CI). + + +### Install the bootstrap packages + +There is a set of packages that makes up the initial build container, called the `bootstrap`. +These packages are installed into the `masterdir` in order to create the container. + +The primary and recommended way to set up this container is using the `binary-bootstrap` +command. This will use pre-existing binary packages, either from remote `xbps` repositories +or from your local repository. + +There is also the `bootstrap` command, which will build all necessary `bootstrap` packages from +scratch. This is usually not recommended, since those packages are built using your host system's +toolchain and are neither fully featured nor reproducible (your host system may influence the +build) and thus should only be used as a stage 0 for bootstrapping new Evolution systems. + +If you still choose to use `bootstrap`, use the resulting stage 0 container to rebuild all +`bootstrap` packages again, then use `binary-bootstrap` (stage 1) and rebuild the `bootstrap` +packages once more (to gain stage 2, and then use `binary-bootstrap` again). Once you've done +that, you will have a `bootstrap` set equivalent to using `binary-bootstrap` in the first place. + +Also keep in mind that a full source `bootstrap` is time consuming and will require having an +assortment of utilities installed in your host system, such as `binutils`, `gcc`, `perl`, +`texinfo` and others. + +### Configuration + +The `etc/defaults.conf` file contains the possible settings that can be overridden +through the `etc/conf` configuration file for the `xbps-src` utility; if that file +does not exist, will try to read configuration settings from `$XDG_CONFIG_HOME/xbps-src.conf`, `~/.config/xbps-src.conf`, `~/.xbps-src.conf`. + +If you want to customize default `CFLAGS`, `CXXFLAGS` and `LDFLAGS`, don't override +those defined in `etc/defaults.conf`, set them on `etc/conf` instead i.e: + + $ echo 'XBPS_CFLAGS="your flags here"' >> etc/conf + $ echo 'XBPS_LDFLAGS="your flags here"' >> etc/conf + +Native and cross compiler/linker flags are set per architecture in `common/build-profiles` +and `common/cross-profiles` respectively. Ideally those settings are good enough by default, +and there's no need to set your own unless you know what you are doing. + +#### Virtual packages + +The `etc/defaults.virtual` file contains the default replacements for virtual packages, +used as dependencies in the source packages tree. + +If you want to customize those replacements, copy `etc/defaults.virtual` to `etc/virtual` +and edit it accordingly to your needs. + + +### Directory hierarchy + +The following directory hierarchy is used with a default configuration file: + + /evolution-packages + |- common + |- etc + |- srcpkgs + | |- xbps + | |- template + | + |- hostdir + | |- binpkgs ... + | |- ccache ... + | |- distcc- ... + | |- repocache ... + | |- sources ... + | + |- masterdir + | |- builddir -> ... + | |- destdir -> ... + | |- host -> bind mounted from + | |- evolution-packages -> bind mounted from + + +The description of these directories is as follows: + + - `masterdir`: master directory to be used as rootfs to build/install packages. + - `builddir`: to unpack package source tarballs and where packages are built. + - `destdir`: to install packages, aka **fake destdir**. + - `hostdir/ccache`: to store ccache data if the `XBPS_CCACHE` option is enabled. + - `hostdir/distcc-`: to store distcc data if the `XBPS_DISTCC` option is enabled. + - `hostdir/repocache`: to store binary packages from remote repositories. + - `hostdir/sources`: to store package sources. + - `hostdir/binpkgs`: local repository to store generated binary packages. + + +### Building packages + +The simplest form of building package is accomplished by running the `pkg` target in `xbps-src`: + +``` +$ cd evolution-packages +$ ./xbps-src pkg +``` + +When the package and its required dependencies are built, the binary packages will be created +and registered in the default local repository at `hostdir/binpkgs`; the path to this local repository can be added to +any xbps configuration file (see xbps.d(5)) or by explicitly appending them via cmdline, i.e: + + $ xbps-install --repository=hostdir/binpkgs ... + $ xbps-query --repository=hostdir/binpkgs ... + +By default **xbps-src** will try to resolve package dependencies in this order: + + - If a dependency exists in the local repository, use it (`hostdir/binpkgs`). + - If a dependency exists in a remote repository, use it. + - If a dependency exists in a source package, use it. + +It is possible to avoid using remote repositories completely by using the `-N` flag. + +> The default local repository may contain multiple *sub-repositories*: `debug`, `multilib`, etc. + + +### Package build options + +The supported build options for a source package can be shown with `xbps-src show-options`: + + $ ./xbps-src show-options foo + +Build options can be enabled with the `-o` flag of `xbps-src`: + + $ ./xbps-src -o option,option1 pkg foo + +Build options can be disabled by prefixing them with `~`: + + $ ./xbps-src -o ~option,~option1 pkg foo + +Both ways can be used together to enable and/or disable multiple options +at the same time with `xbps-src`: + + $ ./xbps-src -o option,~option1,~option2 pkg foo + +The build options can also be shown for binary packages via `xbps-query(1)`: + + $ xbps-query -R --property=build-options foo + +> NOTE: if you build a package with a custom option, and that package is available +in an official void / evolution repository, an update will ignore those options. Put that package +on `hold` mode via `xbps-pkgdb(1)`, i.e `xbps-pkgdb -m hold foo` to ignore updates +with `xbps-install -u`. Once the package is on `hold`, the only way to update it +is by declaring it explicitly: `xbps-install -u foo`. + +Permanent global package build options can be set via `XBPS_PKG_OPTIONS` variable in the +`etc/conf` configuration file. Per package build options can be set via +`XBPS_PKG_OPTIONS_`. + +> NOTE: if `pkgname` contains `dashes`, those should be replaced by `underscores` +i.e `XBPS_PKG_OPTIONS_xorg_server=opt`. + +The list of supported package build options and its description is defined in the +`common/options.description` file or in the `template` file. + + +### Sharing and signing your local repositories + +To share a local repository remotely it's mandatory to sign it and the binary packages +stored on it. This is accomplished with the `xbps-rindex(1)` utility. + +First a RSA key must be created with `openssl(1)` or `ssh-keygen(1)`: + + $ openssl genrsa -des3 -out privkey.pem 4096 + +or + + $ ssh-keygen -t rsa -b 4096 -m PEM -f privkey.pem + +> Only RSA keys in PEM format are currently accepted by xbps. + +Once the RSA private key is ready you can use it to initialize the repository metadata: + + $ xbps-rindex --sign --signedby "I'm Groot" --privkey privkey.pem $PWD/hostdir/binpkgs + +And then make a signature per package: + + $ xbps-rindex --sign-pkg --privkey privkey.pem $PWD/hostdir/binpkgs/*.xbps + +> If --privkey is unset, it defaults to `~/.ssh/id_rsa`. + +If the RSA key was protected with a passphrase you'll have to type it, or alternatively set +it via the `XBPS_PASSPHRASE` environment variable. + +Once the binary packages have been signed, check if the repository contains the appropriate `hex fingerprint`: + + $ xbps-query --repository=hostdir/binpkgs -vL + ... + +Each time a binary package is created, a package signature must be created with `--sign-pkg`. + +> It is not possible to sign a repository with multiple RSA keys. + + +### Rebuilding and overwriting existing local packages + +Packages are overwritten on every build to make getting package with changed build options easy. +To make xbps-src skip build and preserve first package build with given version and revision, +same as in official void / evolution repository, set `XBPS_PRESERVE_PKGS=yes` in `etc/conf` file. + +Reinstalling a package in your target `rootdir` can be easily done too: + + $ xbps-install --repository=/path/to/local/repo -yf xbps-0.25_1 + +Using `-f` flag twice will overwrite configuration files. + +> Please note that the `package expression` must be properly defined to explicitly pick up +the package from the desired repository. + + +### Enabling distcc for distributed compilation + +Setup the slaves (machines that will compile the code): + + # xbps-install -Sy distcc + +Modify the configuration to allow your local network machines to use distcc (e.g. `192.168.2.0/24`): + + # echo "192.168.2.0/24" >> /etc/distcc/clients.allow + +Enable and start the `distccd` service: + + # ln -s /etc/sv/distccd /var/service + +Install distcc on the host (machine that executes xbps-src) as well. +Unless you want to use the host as slave from other machines, there is no need +to modify the configuration. + +On the host you can now enable distcc in the `evolution-packages/etc/conf` file: + + XBPS_DISTCC=yes + XBPS_DISTCC_HOSTS="localhost/2 --localslots_cpp=24 192.168.2.101/9 192.168.2.102/2" + XBPS_MAKEJOBS=16 + +The example values assume a localhost CPU with 4 cores of which at most 2 are used for compiler jobs. +The number of slots for preprocessor jobs is set to 24 in order to have enough preprocessed data for other CPUs to compile. +The slave 192.168.2.101 has a CPU with 8 cores and the /9 for the number of jobs is a saturating choice. +The slave 192.168.2.102 is set to run at most 2 compile jobs to keep its load low, even if its CPU has 4 cores. +The XBPS_MAKEJOBS setting is increased to 16 to account for the possible parallelism (2 + 9 + 2 + some slack). + + +### Distfiles mirror(s) + +In etc/conf you may optionally define a mirror or a list of mirrors to search for distfiles. + + $ echo 'XBPS_DISTFILES_MIRROR="ftp://192.168.100.5/gentoo/distfiles"' >> etc/conf + +If more than one mirror is to be searched, you can either specify multiple URLs separated +with blanks, or add to the variable like this. Remeber, offically, Evolution Linux uses 2 REPOS. This means not all packages are included. + + $ echo 'XBPS_DISTFILES_MIRROR+=" https://sources.voidlinux.org/"' >> etc/conf + +Make sure to put the blank after the first double quote in this case. + +The mirrors are searched in order for the distfiles to build a package until the +checksum of the downloaded file matches the one specified in the template. + +Ultimately, if no mirror carries the distfile, or in case all downloads failed the +checksum verification, the original download location is used. + +If you use `uchroot` for your XBPS_CHROOT_CMD, you may also specify a local path +using the `file://` prefix or simply an absolute path on your build host (e.g. /mnt/distfiles). +Mirror locations specified this way are bind mounted inside the chroot environment +under $XBPS_MASTERDIR and searched for distfiles just the same as remote locations. + + +### Cross compiling packages for a target architecture + +Currently `xbps-src` can cross build packages for some target architectures with a cross compiler. +The supported target is shown with `./xbps-src -h`. + +If a source package has been adapted to be **cross buildable** `xbps-src` will automatically build the binary package(s) with a simple command: + + $ ./xbps-src -a pkg + +If the build for whatever reason fails, might be a new build issue or simply because it hasn't been adapted to be **cross compiled**. + + +### Using xbps-src in a foreign Linux distribution + +xbps-src can be used in any recent Linux distribution matching the CPU architecture. + +To use xbps-src in your Linux distribution use the following instructions. Let's start downloading the xbps static binaries: + + $ wget http://repo-default.voidlinux.org/static/xbps-static-latest.-musl.tar.xz + $ mkdir ~/XBPS + $ tar xvf xbps-static-latest.-musl.tar.xz -C ~/XBPS + $ export PATH=~/XBPS/usr/bin:$PATH + +If `xbps-uunshare` does not work because of lack of `user_namespaces(7)` support, +try other [chroot methods](#chroot-methods). + +Clone the `evolution-packages` git repository: + + $ git clone https://github.com/evolution-linux/evolution-packages.git + +and `xbps-src` should be fully functional; just start the `bootstrap` process, i.e: + + $ ./xbps-src binary-bootstrap + +The default masterdir is created in the current working directory, i.e `evolution-packages/masterdir`. + + +### Remaking the masterdir + +If for some reason you must update xbps-src and the `bootstrap-update` target is not enough, it's possible to recreate a masterdir with two simple commands (please note that `zap` keeps your `ccache/distcc/host` directories intact): + + $ ./xbps-src zap + $ ./xbps-src binary-bootstrap + + +### Keeping your masterdir uptodate + +Sometimes the bootstrap packages must be updated to the latest available version in repositories, this is accomplished with the `bootstrap-update` target: + + $ ./xbps-src bootstrap-update + + +### Building 32bit packages on x86_64 + +Two ways are available to build 32bit packages on x86\_64: + + - native mode with a 32bit masterdir (recommended, used in official repository) + - cross compilation mode to i686 [target](#cross-compiling) + +The canonical mode (native) needs a new x86 `masterdir`: + + $ ./xbps-src -m masterdir-x86 binary-bootstrap i686 + $ ./xbps-src -m masterdir-x86 ... + + +### Building packages natively for the musl C library + +Canonical way of building packages for same architecture but different C library is through dedicated masterdir. +To build for x86_64-musl on glibc x86_64 system, prepare a new masterdir with the musl packages: + + $ ./xbps-src -m masterdir-x86_64-musl binary-bootstrap x86_64-musl + +Your new masterdir is now ready to build packages natively for the musl C library: + + $ ./xbps-src -m masterdir-x86_64-musl pkg ... + + +### Building evolution base-system from scratch + +To rebuild all packages in `base-system` for your native architecture: + + $ ./xbps-src -N pkg base-system + +It's also possible to cross compile everything from scratch: + + $ ./xbps-src -a -N pkg base-system + +Once the build has finished, you can specify the path to the local repository to `void-mklive`, i.e: + + # cd void-mklive + # make + # ./mklive.sh ... -r /path/to/hostdir/binpkgs diff --git a/common/build-helper/cmake-wxWidgets-gtk3.sh b/common/build-helper/cmake-wxWidgets-gtk3.sh new file mode 100644 index 0000000..7d813dc --- /dev/null +++ b/common/build-helper/cmake-wxWidgets-gtk3.sh @@ -0,0 +1,6 @@ +if [ "$CROSS_BUILD" ]; then + export WX_CONFIG=${XBPS_WRAPPERDIR}/wx-config-gtk3 +else + export WX_CONFIG=/usr/bin/wx-config-gtk3 +fi +configure_args+=" -DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG} " diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh new file mode 100644 index 0000000..70699ad --- /dev/null +++ b/common/build-helper/gir.sh @@ -0,0 +1,42 @@ +# +# gir - build-helper for gobject-introspection +# +# This build-helper is used for packages that make use of +# the GObject introspection middleware layer. +# + +# Check if the 'gir' build_option is set or if there is no +# 'gir' build_option. +if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then + if [[ $hostmakedepends != *"gobject-introspection"* ]]; then + # Provide the host tooling, g-ir-scanner, g-ir-compiler + # and its wrappers. + hostmakedepends+=" gobject-introspection" + fi + + if [ "$CROSS_BUILD" ]; then + # Required for running binaries produced from g-ir-compiler + # via g-ir-scanner-qemuwrapper + hostmakedepends+=" qemu-user-static" + + # Required for running the g-ir-scanner-lddwrapper + hostmakedepends+=" prelink-cross" + + if [[ $makedepends != *"gobject-introspection"* ]]; then + # Provide basic .gir types like GLib, GObject, DBus, Gio, cairo + # and tooling like g-ir-compiler + makedepends+=" gobject-introspection" + fi + + export VAPIGEN_VAPIDIRS=${XBPS_CROSS_BASE}/usr/share/vala/vapi + export VAPIGEN_GIRDIRS=${XBPS_CROSS_BASE}/usr/share/gir-1.0 + + # Provide some packages in hostmakedepends if they are in makedepends + for f in gtk+3-devel python3-gobject-devel; do + if [[ $makedepends == *"${f}"* ]]; then + hostmakedepends+=" ${f}" + fi + done + unset f + fi +fi diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh new file mode 100644 index 0000000..74c6421 --- /dev/null +++ b/common/build-helper/numpy.sh @@ -0,0 +1,37 @@ +# +# numpy - build-helper for packages that compile against python3-numpy +# +# This build-helper makes sure packages can find python3-numpy libraries and +# headers on the target architecture rather than the host, as well as making +# sure the gfortran cross compiler is properly identified. + +# Even for cross compilation, numpy should be available on the host to ensure +# that the host interpreter doesn't complain about missing deps +if [[ $hostmakedepends != *"python3-numpy"* ]]; then + hostmakedepends+=" python3-numpy" +fi + +if [ "$CROSS_BUILD" ]; then + if [[ $makedepends != *"python3-numpy"* ]]; then + makedepends+=" python3-numpy" + fi + + # python3-setuptools finds numpy libs and headers on the host first; + # adding search paths up front allows the target to take priority + CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include" + LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib" + LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib" + + # distutils from python3-numpy looks to environment variables F77 and + # F90 rather than the XBPS-set FC + export F77="${FC}" + export F90="${FC}" + + # When compiling and linking FORTRAN, distutils from python3-numpy + # refuses respect any linker name except "gfortran"; symlink to the + # cross-compiler to that the right linker and compiler will be used + if _gfortran=$(command -v "${FC}"); then + ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran" + fi + unset _gfortran +fi diff --git a/common/build-helper/python3.sh b/common/build-helper/python3.sh new file mode 100644 index 0000000..4707599 --- /dev/null +++ b/common/build-helper/python3.sh @@ -0,0 +1,16 @@ +# fix building non-pure-python modules on cross +if [ -n "$CROSS_BUILD" ]; then + export PYPREFIX="$XBPS_CROSS_BASE" + export CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include" + export LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib" + export CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS" + export LDSHARED="${CC} -shared $LDFLAGS" + export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config" + export PYTHONPATH="${XBPS_CROSS_BASE}/${py3_lib}" + for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do + [ -f "$f" ] || continue + f=${f##*/} + _PYTHON_SYSCONFIGDATA_NAME=${f%.py} + done + [ -n "$_PYTHON_SYSCONFIGDATA_NAME" ] && export _PYTHON_SYSCONFIGDATA_NAME +fi diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh new file mode 100644 index 0000000..d6a4342 --- /dev/null +++ b/common/build-helper/qemu.sh @@ -0,0 +1,14 @@ +if [ "$CROSS_BUILD" ]; then + export QEMU_LD_PREFIX=${XBPS_CROSS_BASE} + if [[ $hostmakedepends != *"qemu-user-static"* ]]; then + hostmakedepends+=" qemu-user-static" + fi +fi + +vtargetrun() { + if [ "$CROSS_BUILD" ]; then + "/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static" "$@" + else + "$@" + fi +} diff --git a/common/build-helper/qmake.sh b/common/build-helper/qmake.sh new file mode 100644 index 0000000..bdda2de --- /dev/null +++ b/common/build-helper/qmake.sh @@ -0,0 +1,95 @@ +# This build-helper sets up qmake’s cross environment +# in cases the build-style is mixed, +# e.g. when in a gnu-configure style the configure +# script calls qmake or a makefile in a gnu-makefile style, +# respectively. + +if [ "$CROSS_BUILD" ]; then + mkdir -p "${XBPS_WRAPPERDIR}/target-spec/linux-g++" + cat > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qmake.conf" <<_EOF +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental no_qt_rpath +QMAKE_INCREMENTAL_STYLE = sublib + +include(/usr/lib/qt5/mkspecs/common/linux.conf) +include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf) +include(/usr/lib/qt5/mkspecs/common/g++-unix.conf) + +QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri +QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri +QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/modules +QMAKE_CC = ${CC} +QMAKE_CXX = ${CXX} +QMAKE_LINK = ${CXX} +QMAKE_LINK_C = ${CC} +QMAKE_LINK_SHLIB = ${CXX} + +QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs +QMAKE_OBJCOPY = ${OBJCOPY} +QMAKE_NM = ${NM} -P +QMAKE_STRIP = ${STRIP} + +QMAKE_CFLAGS = ${CFLAGS} +QMAKE_CXXFLAGS = ${CXXFLAGS} +QMAKE_LFLAGS = ${LDFLAGS} +load(qt_config) +_EOF + echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qplatformdefs.h" + + cat > "${XBPS_WRAPPERDIR}/qt.conf" <<_EOF +[Paths] +Sysroot=${XBPS_CROSS_BASE} +Prefix=${XBPS_CROSS_BASE}/usr +ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5 +Data=${XBPS_CROSS_BASE}/usr/share/qt5 +Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5 +Headers=${XBPS_CROSS_BASE}/usr/include/qt5 +Libraries=${XBPS_CROSS_BASE}/usr/lib +LibraryExecutables=/usr/lib/qt5/libexec +Binaries=/usr/lib/qt5/bin +Tests=${XBPS_CROSS_BASE}/usr/tests +Plugins=/usr/lib/qt5/plugins +Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports +Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml +Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations +Settings=${XBPS_CROSS_BASE}/etc/xdg +Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples +HostPrefix=/usr +HostData=/usr/lib/qt5 +HostBinaries=/usr/lib/qt5/bin +HostLibraries=/usr/lib +Spec=linux-g++ +TargetSpec=$XBPS_WRAPPERDIR/target-spec/linux-g++ +_EOF + + # create the qmake-wrapper here because it only + # makes sense together with the qmake build-helper + # and not to interfere with e.g. the qmake build-style + # + # + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS + # + hardening flags will be picked up from environment variables + cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF +#!/bin/sh +exec /usr/lib/qt5/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt.conf" \\ + QMAKE_CFLAGS+="\${CFLAGS}" \\ + QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\ + QMAKE_LFLAGS+="\${LDFLAGS}" +_EOF +else + cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF +#!/bin/sh +exec /usr/lib/qt5/bin/qmake \ + "\$@" \ + PREFIX=/usr \ + QT_INSTALL_PREFIX=/usr \ + LIB=/usr/lib \ + QMAKE_CC="$CC" QMAKE_CXX="$CXX" \ + QMAKE_LINK="$CXX" QMAKE_LINK_C="$CC" \ + QMAKE_CFLAGS+="\${CFLAGS}" \ + QMAKE_CXXFLAGS+="\${CXXFLAGS}" \ + QMAKE_LFLAGS+="\${LDFLAGS}" \ + CONFIG+=no_qt_rpath +_EOF +fi +chmod 755 ${XBPS_WRAPPERDIR}/qmake +cp -p ${XBPS_WRAPPERDIR}/qmake{,-qt5} diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh new file mode 100644 index 0000000..f689f7c --- /dev/null +++ b/common/build-helper/rust.sh @@ -0,0 +1,59 @@ +# Define equivalent of TOML config in environment +# [build] +# jobs = $XBPS_MAKEJOBS +export CARGO_BUILD_JOBS="$XBPS_MAKEJOBS" +export CARGO_HOME="/host/cargo" + +if [ "$CROSS_BUILD" ]; then + # Define equivalent of TOML config in environment + # [target.${RUST_TARGET}] + # linker = ${CC} + _XBPS_CROSS_RUST_TARGET_ENV="${XBPS_CROSS_RUST_TARGET^^}" + _XBPS_CROSS_RUST_TARGET_ENV="${_XBPS_CROSS_RUST_TARGET_ENV//-/_}" + export CARGO_TARGET_${_XBPS_CROSS_RUST_TARGET_ENV}_LINKER="$CC" + unset _XBPS_CROSS_RUST_TARGET_ENV + + # Define equivalent of TOML config in environment + # [build] + # target = ${RUST_TARGET} + export CARGO_BUILD_TARGET="$RUST_TARGET" + + # If cc-rs needs to build host binaries, it guesses the compiler and + # uses default (wrong) flags unless they are specified explicitly; + # innocuous flags are used here just to disable its defaults + export HOST_CC="gcc" + export HOST_CFLAGS="-O2" + + # Crates that use bindgen via build.rs are not cross-aware unless these are set + export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include" +else + unset CARGO_BUILD_TARGET +fi + +# For cross-compiling rust -sys crates +export PKG_CONFIG_ALLOW_CROSS=1 + +# gettext-rs +export GETTEXT_BIN_DIR=/usr/bin +export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext" +export GETTEXT_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include" + +# libssh2-sys +export LIBSSH2_SYS_USE_PKG_CONFIG=1 + +# sodium-sys +export SODIUM_LIB_DIR="${XBPS_CROSS_BASE}/usr/include" +export SODIUM_INC_DIR="${XBPS_CROSS_BASE}/usr/lib" +export SODIUM_SHARED=1 + +# openssl-sys +export OPENSSL_NO_VENDOR=1 + +# pcre2-sys, only necessary for musl targets +export PCRE2_SYS_STATIC=0 + +# zstd-sys +export ZSTD_SYS_USE_PKG_CONFIG=1 + +# onig-sys +export RUSTONIG_SYSTEM_LIBONIG=1 diff --git a/common/build-profiles/README b/common/build-profiles/README new file mode 100644 index 0000000..41b18fc --- /dev/null +++ b/common/build-profiles/README @@ -0,0 +1,17 @@ +BUILD PROFILES +============== + +This directory contains build profiles to set properties on native builds +for a specific architecture: + + - XBPS_TRIPLET (the compiler triplet) + - XBPS_CFLAGS (C compiler flags for host compiler) + - XBPS_CXXFLAGS (C++ compiler flags for the host compiler) + - XBPS_FFLAGS (Fortran compiler flags for the host compiler) + - XBPS_RUST_TARGET (the compiler triplet for usage by cargo) + - XBPS_ZIG_TARGET (the arch-os-abi target triplet for zig) + - XBPS_ZIG_CPU (the cpu/feature set for zig) + +These properties are also set in a cross environment, but the compiler +flags are not added into the global flags. XBPS_RUST_TARGET is also +exposed as RUST_BUILD instead of RUST_TARGET. diff --git a/common/build-profiles/aarch64-musl.sh b/common/build-profiles/aarch64-musl.sh new file mode 100644 index 0000000..8427d04 --- /dev/null +++ b/common/build-profiles/aarch64-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv8-a" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="aarch64-unknown-linux-musl" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="aarch64-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/aarch64.sh b/common/build-profiles/aarch64.sh new file mode 100644 index 0000000..59855df --- /dev/null +++ b/common/build-profiles/aarch64.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv8-a" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="aarch64-unknown-linux-gnu" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="aarch64-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/armv6l-musl.sh b/common/build-profiles/armv6l-musl.sh new file mode 100644 index 0000000..b46941a --- /dev/null +++ b/common/build-profiles/armv6l-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="armv6l-linux-musleabihf" +XBPS_RUST_TARGET="arm-unknown-linux-musleabihf" +XBPS_ZIG_TARGET="arm-linux-musleabihf" +XBPS_ZIG_CPU="generic+v6" diff --git a/common/build-profiles/armv6l.sh b/common/build-profiles/armv6l.sh new file mode 100644 index 0000000..3b18223 --- /dev/null +++ b/common/build-profiles/armv6l.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="armv6l-unknown-linux-gnueabihf" +XBPS_RUST_TARGET="arm-unknown-linux-gnueabihf" +XBPS_ZIG_TARGET="arm-linux-gnueabihf" +XBPS_ZIG_CPU="generic+v6" diff --git a/common/build-profiles/armv7l-musl.sh b/common/build-profiles/armv7l-musl.sh new file mode 100644 index 0000000..dbf3eb0 --- /dev/null +++ b/common/build-profiles/armv7l-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" +XBPS_TARGET_CXXFLAGS="$XBPS_CXXFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="armv7l-linux-musleabihf" +XBPS_RUST_TARGET="armv7-unknown-linux-musleabihf" +XBPS_ZIG_TARGET="arm-linux-musleabihf" +XBPS_ZIG_CPU="generic+v7a+vfp3" diff --git a/common/build-profiles/armv7l.sh b/common/build-profiles/armv7l.sh new file mode 100644 index 0000000..141639b --- /dev/null +++ b/common/build-profiles/armv7l.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="armv7l-unknown-linux-gnueabihf" +XBPS_RUST_TARGET="armv7-unknown-linux-gnueabihf" +XBPS_CROSS_ZIG_TARGET="arm-linux-gnueabihf" +XBPS_CROSS_ZIG_CPU="generic+v7a+vfp3" diff --git a/common/build-profiles/bootstrap.sh b/common/build-profiles/bootstrap.sh new file mode 100644 index 0000000..abc0c37 --- /dev/null +++ b/common/build-profiles/bootstrap.sh @@ -0,0 +1,3 @@ +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_FFLAGS="-fPIC -pipe" diff --git a/common/build-profiles/i686-musl.sh b/common/build-profiles/i686-musl.sh new file mode 100644 index 0000000..a607ef6 --- /dev/null +++ b/common/build-profiles/i686-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=i686" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="i686-linux-musl" +XBPS_RUST_TARGET="i686-unknown-linux-musl" +XBPS_ZIG_TARGET="i686-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/i686.sh b/common/build-profiles/i686.sh new file mode 100644 index 0000000..ac69fb0 --- /dev/null +++ b/common/build-profiles/i686.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=i686" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="i686-pc-linux-gnu" +XBPS_RUST_TARGET="i686-unknown-linux-gnu" +XBPS_ZIG_TARGET="i386-linux-gnu" +XBPS_ZIG_CPU="_i686+sse2" diff --git a/common/build-profiles/ppc-musl.sh b/common/build-profiles/ppc-musl.sh new file mode 100644 index 0000000..60b2e70 --- /dev/null +++ b/common/build-profiles/ppc-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=G4" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc-linux-musl" +XBPS_RUST_TARGET="powerpc-unknown-linux-musl" +XBPS_ZIG_TARGET="powerpc-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/ppc.sh b/common/build-profiles/ppc.sh new file mode 100644 index 0000000..b7a1131 --- /dev/null +++ b/common/build-profiles/ppc.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=G4" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc-linux-gnu" +XBPS_RUST_TARGET="powerpc-unknown-linux-gnu" +XBPS_ZIG_TARGET="powerpc-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/ppc64-musl.sh b/common/build-profiles/ppc64-musl.sh new file mode 100644 index 0000000..4ec7430 --- /dev/null +++ b/common/build-profiles/ppc64-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mcpu=970 -mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc64-unknown-linux-musl" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="powerpc64-linux-musl" +XBPS_ZIG_CPU="970" diff --git a/common/build-profiles/ppc64.sh b/common/build-profiles/ppc64.sh new file mode 100644 index 0000000..1d0c04a --- /dev/null +++ b/common/build-profiles/ppc64.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mcpu=970 -mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc64-unknown-linux-gnu" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="powerpc64-linux-gnu" +XBPS_ZIG_CPU="970" diff --git a/common/build-profiles/ppc64le-musl.sh b/common/build-profiles/ppc64le-musl.sh new file mode 100644 index 0000000..8d2db1b --- /dev/null +++ b/common/build-profiles/ppc64le-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc64le-unknown-linux-musl" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="powerpc64le-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/ppc64le.sh b/common/build-profiles/ppc64le.sh new file mode 100644 index 0000000..8f0e735 --- /dev/null +++ b/common/build-profiles/ppc64le.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpc64le-unknown-linux-gnu" +XBPS_RUST_TARGET="$XBPS_TRIPLET" +XBPS_ZIG_TARGET="powerpc64le-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/ppcle-musl.sh b/common/build-profiles/ppcle-musl.sh new file mode 100644 index 0000000..c8d7e28 --- /dev/null +++ b/common/build-profiles/ppcle-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mcpu=power8 -mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpcle-linux-musl" +XBPS_RUST_TARGET="powerpcle-unknown-linux-musl" +XBPS_ZIG_TARGET="powerpcle-linux-musl" +XBPS_ZIG_CPU="pwr8" diff --git a/common/build-profiles/ppcle.sh b/common/build-profiles/ppcle.sh new file mode 100644 index 0000000..7eccadf --- /dev/null +++ b/common/build-profiles/ppcle.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mcpu=power8 -mtune=power9" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="powerpcle-linux-gnu" +XBPS_RUST_TARGET="powerpcle-unknown-linux-gnu" +XBPS_ZIG_TARGET="powerpcle-linux-gnu" +XBPS_ZIG_CPU="pwr8" diff --git a/common/build-profiles/riscv64.sh b/common/build-profiles/riscv64.sh new file mode 100644 index 0000000..02ef7f8 --- /dev/null +++ b/common/build-profiles/riscv64.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-march=rv64imafdc" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="riscv64-unknown-linux-gnu" +XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu" +XBPS_ZIG_TARGET="riscv64-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/x86_64-musl.sh b/common/build-profiles/x86_64-musl.sh new file mode 100644 index 0000000..538baea --- /dev/null +++ b/common/build-profiles/x86_64-musl.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=generic" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="x86_64-unknown-linux-musl" +XBPS_RUST_TARGET="${XBPS_TRIPLET}" +XBPS_ZIG_TARGET="x86_64-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-profiles/x86_64.sh b/common/build-profiles/x86_64.sh new file mode 100644 index 0000000..388b556 --- /dev/null +++ b/common/build-profiles/x86_64.sh @@ -0,0 +1,7 @@ +XBPS_TARGET_CFLAGS="-mtune=generic" +XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS" +XBPS_TRIPLET="x86_64-unknown-linux-gnu" +XBPS_RUST_TARGET="${XBPS_TRIPLET}" +XBPS_ZIG_TARGET="x86_64-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/build-style/R-cran.sh b/common/build-style/R-cran.sh new file mode 100644 index 0000000..ab1acc2 --- /dev/null +++ b/common/build-style/R-cran.sh @@ -0,0 +1,7 @@ +# +# This helper is for templates using R-cran. +# +do_install() { + mkdir -p ${DESTDIR}/usr/lib/R/library + ( cd .. && R CMD INSTALL -l ${DESTDIR}/usr/lib/R/library ${pkgname#R-cran-} ) +} diff --git a/common/build-style/README b/common/build-style/README new file mode 100644 index 0000000..8ed990b --- /dev/null +++ b/common/build-style/README @@ -0,0 +1,12 @@ +BUILD STYLES +============ + +These shell snippets provide support for multiple build systems, i.e GNU configure, +CMake, etc. A build style file must provide at least the following functions: + + - do_configure + - do_build + - do_install + +If a source package defines its own do_xxx() function, the function defined in +the build style file is simply ignored. diff --git a/common/build-style/cargo.sh b/common/build-style/cargo.sh new file mode 100644 index 0000000..751911d --- /dev/null +++ b/common/build-style/cargo.sh @@ -0,0 +1,27 @@ +# +# This helper is for building rust projects which use cargo for building +# + +do_build() { + : ${make_cmd:=cargo auditable} + + ${make_cmd} build --release --locked --target ${RUST_TARGET} ${configure_args} +} + +do_check() { + : ${make_cmd:=cargo auditable} + + ${make_check_pre} ${make_cmd} test --release --locked --target ${RUST_TARGET} \ + ${configure_args} ${make_check_args} +} + +do_install() { + : ${make_cmd:=cargo auditable} + : ${make_install_args:=--path .} + + ${make_cmd} install --target ${RUST_TARGET} --root="${DESTDIR}/usr" \ + --offline --locked ${configure_args} ${make_install_args} + + rm -f "${DESTDIR}"/usr/.crates.toml + rm -f "${DESTDIR}"/usr/.crates2.json +} diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh new file mode 100644 index 0000000..43750ad --- /dev/null +++ b/common/build-style/cmake.sh @@ -0,0 +1,137 @@ +# +# This helper is for templates using cmake. +# +do_configure() { + local cmake_args= + [ ! -d ${cmake_builddir:=build} ] && mkdir -p ${cmake_builddir} + cd ${cmake_builddir} + + if [ -z "$CHROOT_READY" ]; then + cat >bootstrap.cmake <<_EOF +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${CC}) +SET(CMAKE_CXX_COMPILER ${CXX}) + +SET(CMAKE_FIND_ROOT_PATH "${XBPS_MASTERDIR}/usr;${XBPS_MASTERDIR}") + +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +_EOF + configure_args+=" -DCMAKE_TOOLCHAIN_FILE=bootstrap.cmake" + elif [ "$CROSS_BUILD" ]; then + case "$XBPS_TARGET_MACHINE" in + x86_64*) _CMAKE_SYSTEM_PROCESSOR=x86_64 ;; + i686*) _CMAKE_SYSTEM_PROCESSOR=x86 ;; + aarch64*) _CMAKE_SYSTEM_PROCESSOR=aarch64 ;; + arm*) _CMAKE_SYSTEM_PROCESSOR=arm ;; + mips*) _CMAKE_SYSTEM_PROCESSOR=mips ;; + ppc64le*) _CMAKE_SYSTEM_PROCESSOR=ppc64le ;; + ppc64*) _CMAKE_SYSTEM_PROCESSOR=ppc64 ;; + ppcle*) _CMAKE_SYSTEM_PROCESSOR=ppcle ;; + ppc*) _CMAKE_SYSTEM_PROCESSOR=ppc ;; + *) _CMAKE_SYSTEM_PROCESSOR=generic ;; + esac + cat > cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${CC}) +SET(CMAKE_CXX_COMPILER ${CXX}) +SET(CMAKE_CROSSCOMPILING TRUE) + +SET(CMAKE_SYSTEM_PROCESSOR ${_CMAKE_SYSTEM_PROCESSOR}) + +SET(CMAKE_FIND_ROOT_PATH "${XBPS_CROSS_BASE}/usr;${XBPS_CROSS_BASE}") + +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +_EOF + cmake_args+=" -DCMAKE_TOOLCHAIN_FILE=${wrksrc}/${build_wrksrc}/${cmake_builddir}/cross_${XBPS_CROSS_TRIPLET}.cmake" + fi + cmake_args+=" -DCMAKE_INSTALL_PREFIX=/usr" + cmake_args+=" -DCMAKE_BUILD_TYPE=None" + cmake_args+=" -DCMAKE_INSTALL_LIBDIR=lib${XBPS_TARGET_WORDSIZE}" + cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR=/etc" + cmake_args+=" -DFETCHCONTENT_FULLY_DISCONNECTED=ON" + + if [ "$CROSS_BUILD" ]; then + cmake_args+=" -DQT_HOST_PATH=/usr" + # QT_HOST_PATH isn't enough in my system, + # which have binfmts support on and off + cmake_args+=" -DQT_HOST_PATH_CMAKE_DIR=/usr/lib/cmake" + fi + + if [[ $build_helper = *"qemu"* ]]; then + echo "SET(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static)" \ + >> cross_${XBPS_CROSS_TRIPLET}.cmake + fi + + cmake_args+=" -DCMAKE_INSTALL_SBINDIR=bin" + + export CMAKE_GENERATOR="${CMAKE_GENERATOR:-Ninja}" + # Remove -pipe: https://gitlab.kitware.com/cmake/cmake/issues/19590 + CFLAGS="-DNDEBUG ${CFLAGS/ -pipe / }" CXXFLAGS="-DNDEBUG ${CXXFLAGS/ -pipe / }" \ + cmake ${cmake_args} ${configure_args} \ + ${LIBS:+-DCMAKE_C_STANDARD_LIBRARIES="$LIBS"} \ + ${LIBS:+-DCMAKE_CXX_STANDARD_LIBRARIES="$LIBS"} \ + ${wrksrc}/${build_wrksrc} + + # Replace -isystem with -I + if [ "$CMAKE_GENERATOR" = "Unix Makefiles" ]; then + find . -name flags.make -exec sed -i -e 's/-isystem/-I/g' "{}" + + elif [ "$CMAKE_GENERATOR" = Ninja ]; then + sed -i -e 's/-isystem/-I/g' build.ninja + fi +} + +do_build() { + : ${make_cmd:=ninja} + + cd ${cmake_builddir:=build} + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_check() { + : ${make_cmd:=ninja} + + cd ${cmake_builddir:=build} + + if [ -z "$make_check_target" ]; then + case $make_cmd in + make) + if make -q test 2>/dev/null; then + : + else + if [ $? -eq 2 ]; then + msg_warn 'No target to "make test".\n' + return 0 + fi + fi + ;; + ninja) + if ! ninja -t query test >/dev/null 2>&1; then + msg_warn 'No target to "ninja test".\n' + return 0 + fi + ;; + *) + msg_warn "Can't run tests with '$make_cmd', define do_check.\n" + ;; + esac + fi + + : ${make_check_target:=test} + + ${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_cmd:=ninja} + : ${make_install_target:=install} + + cd ${cmake_builddir:=build} + DESTDIR=${DESTDIR} ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh new file mode 100644 index 0000000..8fe3275 --- /dev/null +++ b/common/build-style/configure.sh @@ -0,0 +1,40 @@ +# +# This helper is for templates using configure scripts (not generated +# by the GNU autotools). +# +do_configure() { + : ${configure_script:=./configure} + + ${configure_script} ${configure_args} +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_check() { + if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then + if make -q check 2>/dev/null; then + : + else + if [ $? -eq 2 ]; then + msg_warn 'No target to "make check".\n' + return 0 + fi + fi + fi + + : ${make_cmd:=make} + : ${make_check_target:=check} + + ${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + ${make_cmd} DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/fetch.sh b/common/build-style/fetch.sh new file mode 100644 index 0000000..8ab140b --- /dev/null +++ b/common/build-style/fetch.sh @@ -0,0 +1,12 @@ +# fetch build_style: fetches and copies files to ${wrksrc}. + +do_extract() { + local f curfile + + mkdir -p "${wrksrc}" + for f in ${distfiles}; do + curfile="${f#*>}" + curfile="${curfile##*/}" + cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${curfile} "${wrksrc}/${curfile}" + done +} diff --git a/common/build-style/gem.sh b/common/build-style/gem.sh new file mode 100644 index 0000000..779e94e --- /dev/null +++ b/common/build-style/gem.sh @@ -0,0 +1,68 @@ +# +# This helper is for templates using gem files from RubyGems. +# +do_install() { + : ${gem_cmd:=gem} + + local _GEMDIR _INSTDIR + + _GEMDIR=$($gem_cmd env gemdir) + _INSTDIR=${DESTDIR}/${_GEMDIR}/gems/${pkgname#ruby-}-${version} + + $gem_cmd install \ + --local \ + --install-dir ${DESTDIR}/${_GEMDIR} \ + --bindir ${DESTDIR}/usr/bin \ + --ignore-dependencies \ + --no-document \ + --verbose \ + ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname#ruby-}-${version}.gem + + # Remove cache + rm -rf ${DESTDIR}/${_GEMDIR}/cache + + # Remove ext directory. they are only source code and configuration + # The actual extensions are guarded in an arch path + rm -rf ${_INSTDIR}/ext + + # Remove installed tests and benchmarks + rm -rf ${_INSTDIR}/{test,tests,autotest,benchmark,benchmarks,script,examples,demo} + + # Remove files shipped on the root of the gem, most of the time they are useless + find ${_INSTDIR} -maxdepth 1 -type f -delete + + # Remove unnecessary files + find ${DESTDIR}/${_GEMDIR}/extensions \( -name mkmf.log -o -name gem_make.out \) -delete + + # Place manpages in usr/share/man/man[0-9] + if [ -d ${_INSTDIR}/man ]; then + find ${_INSTDIR}/man -type f -name '*.[0-8n]' | while read -r m; do + vman ${m} + done + fi + + rm -rf "${_INSTDIR}/man" + + # Place executables in /usr/bin + if [ -d "${_INSTDIR}/bin" ]; then + for f in "${_INSTDIR}"/bin/*; do + vbin "${f}" + done + fi + + rm -rf ${_INSTDIR}/bin + + # Place conf files in their places + if [ -d ${_INSTDIR}/etc ]; then + find ${_INSTDIR}/etc -type f | while read -r c; do + vmkdir ${c%/*}/ + mv ${c} "${DESTDIR}/${c##*${_INSTDIR}/etc/}/" + done + fi + + rm -rf ${_INSTDIR}/etc + + # Ignore the ~> operator, replace it with >= + sed 's|~>|>=|g' \ + -i ${DESTDIR}/${_GEMDIR}/specifications/${pkgname#ruby-}-${version}.gemspec +} diff --git a/common/build-style/gemspec.sh b/common/build-style/gemspec.sh new file mode 100644 index 0000000..9568e81 --- /dev/null +++ b/common/build-style/gemspec.sh @@ -0,0 +1,190 @@ +# +# This helper is for templates using gemspec files from upstream or Rubygems. +# +do_build() { + : ${gem_cmd:=gem} + : ${gemspec:=${pkgname#ruby-}.gemspec} + + # Fix packages that keep Gem.gemspec as the name instead of the proper + # $pkgname.gemspec + if [ -f Gem.gemspec ]; then + gemspec=Gem.gemspec + fi + + if [ -f .gemspec ]; then + gemspec=.gemspec + fi + + # Hardcode name and version just in case they try something funny like + # requiring RELEASE to be on the environment to not append -rc0 to version + # Some even forget to update the version in the gemspec after releasing + sed -ri "s|(\.name .*)=.*|\1 = \"${pkgname#ruby-}\"|g" $gemspec + sed -ri "s|(\.version .*)=.*|\1 = \"${version}\"|g" $gemspec + + # Replace use of `git ls-files` with find, use printf so we can print without starting + # dot-slash path + sed -i 's|`git ls-files`|`find . -type f -printf "%P\\n"`|g' $gemspec + + # Sadly ruby isn't capable of handling nullbytes in a command so we have to use + # -print0, then try using sed to remove the suffix + # The end result is: + # `find . -type f -print0 | sed -e "s@\\./@@g"` + sed -i 's|`git ls-files -z`|`find . -type f -print0 \| sed -e "s@\\\\./@@g"`|g' $gemspec + + if [ "$CROSS_BUILD" ]; then + + local _TARGET_PLATFORM + + _TARGET_PLATFORM="$(ruby -r \ + $(find ${XBPS_CROSS_BASE}/usr/lib/ruby -iname rbconfig.rb) \ + -e 'puts RbConfig::CONFIG["arch"]' 2>/dev/null)" + + # Patch all instances of extconf that use create_makefile + for f in $(find . -type f -name 'extconf.rb'); do + if [ ! -f ${f}.orig ]; then + # Create a .extconf file that forces the Makefile to use our environment + # this allows us to cross-compile like it is done with meson cross-files + cat<append +\$CPPFLAGS = ENV['CPPFLAGS'] if ENV['CPPFLAGS'] +RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] +RbConfig::MAKEFILE_CONFIG['CXX'] = ENV['CXX'] if ENV['CXX'] +RbConfig::MAKEFILE_CONFIG['LD'] = ENV['LD'] if ENV['LD'] +RbConfig::MAKEFILE_CONFIG['CFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS'] +RbConfig::MAKEFILE_CONFIG['CPPFLAGS'] = ENV['CPPFLAGS'] if ENV['CPPFLAGS'] +RbConfig::MAKEFILE_CONFIG['CXXFLAGS'] = ENV['CXXFLAGS'] if ENV['CXXFLAGS'] +EOF + cat $f > append2 + # Use sed and enable verbose mode + cat<>append2 +system("sed -i 's|^V =.*|V = 1|' Makefile") +system("sed -i 's|^CFLAGS.*|CFLAGS = \$(CCDLFLAGS) ${VOID_TARGET_CFLAGS} \$(ARCH_FLAG)|' Makefile") +system("sed -i 's|^topdir.*|topdir = ${XBPS_CROSS_BASE}/usr/include/ruby-\$(ruby_version)|' Makefile") +system("sed -i 's|^hdrdir.*|hdrdir = ${XBPS_CROSS_BASE}/usr/include/ruby-\$(ruby_version)|' Makefile") +system("sed -i 's|^arch_hdrdir.*|arch_hdrdir = ${XBPS_CROSS_BASE}/usr/include/ruby-\$(ruby_version)/\$(arch)|' Makefile") +system("sed -i 's|^arch =.*|arch = ${_TARGET_PLATFORM}|' Makefile") +system("sed -i 's|^dldflags =.*|dldflags = ${LDFLAGS}|' Makefile") +EOF + + # Create a backup which we will restore later + cp $f ${f}.orig + + # Patch extconf.rb for cross compile + cat append append2 > $f + fi + done + fi + + # If we are downloading a gem file then create a spec out of it + for f in $distfiles; do + if [ "${f##*.}" = "gem" ]; then + $gem_cmd spec \ + "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${f##*/}" \ + --ruby > $gemspec + fi + done + + sed 's|~>|>=|g' -i $gemspec + + $gem_cmd build --verbose ${gemspec} + + if [ "$CROSS_BUILD" ]; then + # Restore previous extconf.rb which we ship. + find . -type f -name 'extconf.rb.orig' | while read -r f; do + mv $f ${f%.*} + done + fi +} + +do_install() { + : ${gem_cmd:=gem} + + local _GEMDIR _INSTDIR + + _GEMDIR=$($gem_cmd env gemdir) + _INSTDIR=${DESTDIR}/${_GEMDIR}/gems/${pkgname#ruby-}-${version} + + # Ruby is very eager to add CFLAGS everywhere there is a compilation + # but we do both cross compilation of the modules and host compilation + # for checks, so unset CFLAGS and keep it in a separate value. + # We will manually pass CFLAGS as VOID_TAGET_CFLAGS to cross-compilation + # And ruby will use rbconfig.rb to get the proper CFLAGS for host compilation + VOID_TARGET_CFLAGS="$CFLAGS" + export VOID_TARGET_CFLAGS + unset CFLAGS + + $gem_cmd install \ + --local \ + --install-dir ${DESTDIR}/${_GEMDIR} \ + --bindir ${DESTDIR}/usr/bin \ + --ignore-dependencies \ + --no-document \ + --verbose \ + "${pkgname#ruby-}-${version}.gem" \ + -- $configure_args + + # Remove cache + rm -rf ${DESTDIR}/${_GEMDIR}/cache + + # Remove ext directory, they are only source code and configuration + # The actual extensions are in a arch path guarded + rm -rf ${_INSTDIR}/ext + + # Remove duplicated library that is available in a arch guarded + # extension + rm -rf ${_INSTDIR}/lib/*.so + + # Remove installed tests and benchmarks + rm -rf ${_INSTDIR}/{test,tests,autotest,benchmark,benchmarks,script,examples,demo} + + # Remove files shipped on the root of the gem, most of the time they are useless + find ${_INSTDIR} -maxdepth 1 -type f -delete + + # Remove unnecessary files + find ${DESTDIR}/${_GEMDIR}/extensions \( -name mkmf.log -o -name gem_make.out \) -delete + + # Place manpages in usr/share/man/man[0-9] + if [ -d ${_INSTDIR}/man ]; then + find ${_INSTDIR}/man -type f -name '*.[0-8n]' | while read -r m; do + vman ${m} + done + fi + + rm -rf "${_INSTDIR}/man" + + # Place executables in /usr/bin + if [ -d "${_INSTDIR}/bin" ]; then + for f in "${_INSTDIR}"/bin/*; do + vbin "${f}" + done + fi + + rm -rf ${_INSTDIR}/bin + + # Place conf files in their places + if [ -d ${_INSTDIR}/etc ]; then + find ${_INSTDIR}/etc -type f | while read -r c; do + vmkdir ${c%/*}/ + mv ${c} "${DESTDIR}/${c##*${_INSTDIR}/etc/}/" + done + fi + + rm -rf ${_INSTDIR}/etc + + if [ "$CROSS_BUILD" ]; then + + local _TARGET_PLATFORM _TARGET_EXT_DIR + + # Get arch of the target and host platform by reading the rbconfig.rb + # of the cross ruby + _TARGET_PLATFORM="$(ruby -r \ + $(find ${XBPS_CROSS_BASE}/usr/lib/ruby -iname rbconfig.rb) \ + -e 'puts RbConfig::CONFIG["arch"]' 2>/dev/null)" + + # Path to the extensions on a package, ruby installs against the platform + # of the host, so we have to move them to the correct place + _TARGET_EXT_DIR="${DESTDIR}/${_GEMDIR}/extensions/${_TARGET_PLATFORM}" + + find ${DESTDIR}/${_GEMDIR}/extensions -maxdepth 1 -type d \ + -exec mv '{}' ${_TARGET_EXT_DIR} \; + fi +} diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh new file mode 100644 index 0000000..82d36f6 --- /dev/null +++ b/common/build-style/gnu-configure.sh @@ -0,0 +1,41 @@ +# +# This helper is for templates using GNU configure scripts. +# +do_configure() { + : ${configure_script:=./configure} + + export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /usr/lib32 /usr/lib /lib /usr/local/lib" + ${configure_script} ${configure_args} +} + +do_build() { + : ${make_cmd:=make} + + export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /usr/lib32 /usr/lib /lib /usr/local/lib" + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_check() { + if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then + if make -q check 2>/dev/null; then + : + else + if [ $? -eq 2 ]; then + msg_warn 'No target to "make check".\n' + return 0 + fi + fi + fi + + : ${make_cmd:=make} + : ${make_check_target:=check} + + ${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + ${make_cmd} DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh new file mode 100644 index 0000000..c4f4f78 --- /dev/null +++ b/common/build-style/gnu-makefile.sh @@ -0,0 +1,43 @@ +# +# This helper is for templates using GNU Makefiles. +# +do_build() { + : ${make_cmd:=make} + + if [ -z "$make_use_env" ]; then + ${make_cmd} \ + CC="$CC" CXX="$CXX" LD="$LD" AR="$AR" RANLIB="$RANLIB" \ + CPP="$CPP" AS="$AS" OBJCOPY="$OBJCOPY" OBJDUMP="$OBJDUMP" \ + CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ + PREFIX=/usr prefix=/usr \ + ${makejobs} ${make_build_args} ${make_build_target} + else + export PREFIX=/usr prefix=/usr + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} + fi +} + +do_check() { + if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then + if make -q check 2>/dev/null; then + : + else + if [ $? -eq 2 ]; then + msg_warn 'No target to "make check".\n' + return 0 + fi + fi + fi + + : ${make_cmd:=make} + : ${make_check_target:=check} + + ${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + ${make_cmd} STRIP=true PREFIX=/usr prefix=/usr DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/go.sh b/common/build-style/go.sh new file mode 100644 index 0000000..f1808b3 --- /dev/null +++ b/common/build-style/go.sh @@ -0,0 +1,61 @@ +# +# This helper is for templates for Go packages. +# + +do_configure() { + # $go_import_path must be set, or we can't link $PWD into $GOSRCPATH + # nor build from modules + if [ -z "$go_import_path" ]; then + msg_error "\"\$go_import_path\" not set on $pkgname template.\n" + fi + + # This isn't really configuration, but its needed by packages + # that do unusual things with the build where the expect to be + # able to cd into the $GOSRCPATH + if [ "${go_mod_mode}" != "off" ] && [ -f go.mod ]; then + # Skip GOPATH symlink for Go modules + msg_normal "Building $pkgname using Go modules.\n" + else + mkdir -p ${GOSRCPATH%/*}/ + ln -fs "$PWD" "${GOSRCPATH}" + fi +} + +do_build() { + # remove -s and -w from go_ldflags, we should let xbps-src strip binaries itself + for wd in $go_ldflags; do + if [ "$wd" == "-s" ] || [ "$wd" == "-w" ]; then + msg_error "$pkgname: remove -s and -w from go_ldflags\n" + fi + done + + go_package=${go_package:-$go_import_path} + # Build using Go modules if there's a go.mod file + if [ "${go_mod_mode}" != "off" ] && [ -f go.mod ]; then + # Check if go_import_path matches module + if [ "module $go_import_path" != "$(head -n1 go.mod)" ]; then + msg_error "\"\$go_import_path\" doesn't match the one defined in go.mod!\n" + fi + + if [ -z "${go_mod_mode}" ] && [ -d vendor ]; then + msg_normal "Using vendor dir for $pkgname Go dependencies.\n" + go_mod_mode=vendor + elif [ "${go_mod_mode}" = "default" ]; then + # Allow templates to explicitly opt into the go tool's + # default behavior. + go_mod_mode= + fi + go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -modcacherw -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} + else + # Otherwise, build using GOPATH + go get -p "$XBPS_MAKEJOBS" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} + fi +} + +do_install() { + for f in ${GOPATH}/bin/* ${GOPATH}/bin/**/*; do + if [ -f "$f" ] && [ -x "$f" ]; then + vbin "$f" + fi + done +} diff --git a/common/build-style/haskell-stack.sh b/common/build-style/haskell-stack.sh new file mode 100644 index 0000000..2a28ffc --- /dev/null +++ b/common/build-style/haskell-stack.sh @@ -0,0 +1,37 @@ +# +# This helper is for templates built using Haskell stack. +# +# make_build_args="stack-build-flags" +# stackage="lts-X.Y" # or include a stack.yaml in $FILESDIR +# +do_build() { + # use --skip-ghc-check to really force stack to use the ghc in the system + # --system-ghc still downloads if stackage ghc version does not match ours + # this fails on all platforms other than x86_64 glibc when we bump ghc + local _stack_args="--system-ghc --skip-ghc-check" + + if [ -f "${FILESDIR}/stack.yaml" ]; then + msg_normal "Using stack config in stack.yaml.\n" + cp "${FILESDIR}/stack.yaml" . + elif [ -z "$stackage" -a -f "stack.yaml" ]; then + msg_normal "Using stack.yaml from downloaded source.\n" + else + if [ -z "$stackage" ]; then + msg_error "Stackage version not set in \$stackage.\n" + fi + msg_normal "Using stackage resolver ${stackage}.\n" + STACK_ROOT="$wrksrc/.stack" \ + stack init ${_stack_args} --force --resolver ${stackage} + fi + + STACK_ROOT="$wrksrc/.stack" stack ${_stack_args} ${makejobs} build \ + ${make_build_args} +} + +do_install() { + local _stack_args="--system-ghc --skip-ghc-check" + + vmkdir usr/bin + STACK_ROOT="$wrksrc/.stack" stack ${_stack_args} install \ + ${make_build_args} --local-bin-path=${DESTDIR}/usr/bin +} diff --git a/common/build-style/meson.sh b/common/build-style/meson.sh new file mode 100644 index 0000000..e983c5f --- /dev/null +++ b/common/build-style/meson.sh @@ -0,0 +1,150 @@ +# +# This helper is for templates using meson. +# +do_patch() { + : ${meson_crossfile:=xbps_meson.cross} + + if [ "$CROSS_BUILD" ]; then + _MESON_TARGET_ENDIAN=little + # drop the -musl suffix to the target cpu, meson doesn't recognize it + _MESON_TARGET_CPU=${XBPS_TARGET_MACHINE/-musl/} + case "$XBPS_TARGET_MACHINE" in + mips|mips-musl|mipshf-musl) + _MESON_TARGET_ENDIAN=big + _MESON_CPU_FAMILY=mips + ;; + armv*) + _MESON_CPU_FAMILY=arm + ;; + i686*) + _MESON_CPU_FAMILY=x86 + ;; + ppc64le*) + _MESON_CPU_FAMILY=ppc64 + ;; + ppc64*) + _MESON_TARGET_ENDIAN=big + _MESON_CPU_FAMILY=ppc64 + ;; + ppcle*) + _MESON_CPU_FAMILY=ppc + ;; + ppc*) + _MESON_TARGET_ENDIAN=big + _MESON_CPU_FAMILY=ppc + ;; + *) + # if we reached here that means that the cpu and cpu_family + # are the same like 'x86_64' and 'aarch64' + _MESON_CPU_FAMILY=${_MESON_TARGET_CPU} + ;; + esac + + # Record cross-compiling information in cross file. + # CFLAGS and LDFLAGS must be set as c_args and c_link_args. + cat > ${meson_crossfile} < '\(.*\)';archlibexp => '${XBPS_CROSS_BASE}\1';" \ + ${perlprefix}/Config.pm + sed -i -e "s;^archlibexp='\(.*\)';archlibexp='${XBPS_CROSS_BASE}\1';" \ + ${perlprefix}/Config_heavy.pl + else + cp "/usr/lib/perl5/core_perl/Config"*.p? $perlprefix + cp "/usr/lib/perl5/core_perl/Errno.pm" $perlprefix + fi + export PERL5LIB=$perlprefix + + if [ -f "${wrksrc}/${build_wrksrc:+$build_wrksrc/}Makefile.PL" ]; then + sed -i "s,/usr/include,${XBPS_CROSS_BASE}/usr/include,g" \ + "${wrksrc}/${build_wrksrc:+$build_wrksrc/}Makefile.PL" + fi + + if [ -z "$perl_configure_dirs" ]; then + perlmkf="$wrksrc/${build_wrksrc:+$build_wrksrc/}Makefile.PL" + if [ ! -f "$perlmkf" ]; then + msg_error "*** ERROR couldn't find $perlmkf, aborting ***\n" + fi + + cd "$wrksrc/${build_wrksrc:+$build_wrksrc}" + PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \ + OPTIMIZE="$CFLAGS" \ + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + perl -I. Makefile.PL ${configure_args} INSTALLDIRS=vendor + fi + + for i in ${perl_configure_dirs}; do + perlmkf="$wrksrc/${build_wrksrc:+$build_wrksrc/}$i/Makefile.PL" + if [ -f "$perlmkf" ]; then + cd "$wrksrc/${build_wrksrc:+$build_wrksrc/}$i" + PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \ + OPTIMIZE="$CFLAGS" \ + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \ + perl -I. Makefile.PL ${make_build_args} INSTALLDIRS=vendor + else + msg_error "*** ERROR: couldn't find $perlmkf, aborting **\n" + fi + done +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} CC="$CC" LD="$CC" CFLAGS="$CFLAGS" OPTIMIZE="$CFLAGS" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \ + ${makejobs} ${make_build_args} ${make_build_target} +} + +do_check() { + : ${make_cmd:=make} + : ${make_check_target:=test} + + ${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + ${make_cmd} DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/python2-module.sh b/common/build-style/python2-module.sh new file mode 100644 index 0000000..0a31b15 --- /dev/null +++ b/common/build-style/python2-module.sh @@ -0,0 +1,34 @@ +# +# This helper is for templates installing python2-only modules. +# + +do_build() { + if [ -n "$CROSS_BUILD" ]; then + PYPREFIX="$XBPS_CROSS_BASE" + CFLAGS+=" -I${XBPS_CROSS_BASE}/${py2_inc} -I${XBPS_CROSS_BASE}/usr/include" + LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py2_lib} -L${XBPS_CROSS_BASE}/usr/lib" + CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS" + LDSHARED="${CC} -shared $LDFLAGS" + env CC="$CC" LDSHARED="$LDSHARED" \ + PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ + LDFLAGS="$LDFLAGS" python2 setup.py build ${make_build_args} + else + python2 setup.py build ${make_build_args} + fi +} + +do_install() { + if [ -n "$CROSS_BUILD" ]; then + PYPREFIX="$XBPS_CROSS_BASE" + CFLAGS+=" -I${XBPS_CROSS_BASE}/${py2_inc} -I${XBPS_CROSS_BASE}/usr/include" + LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py2_lib} -L${XBPS_CROSS_BASE}/usr/lib" + CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS" + LDSHARED="${CC} -shared $LDFLAGS" + env CC="$CC" LDSHARED="$LDSHARED" \ + PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ + LDFLAGS="$LDFLAGS" python2 setup.py \ + install --prefix=/usr --root=${DESTDIR} ${make_install_args} + else + python2 setup.py install --prefix=/usr --root=${DESTDIR} ${make_install_args} + fi +} diff --git a/common/build-style/python3-module.sh b/common/build-style/python3-module.sh new file mode 100644 index 0000000..b76d89c --- /dev/null +++ b/common/build-style/python3-module.sh @@ -0,0 +1,34 @@ +# +# This helper is for templates installing python3-only modules. +# + +do_build() { + python3 setup.py build ${make_build_args} +} + +do_check() { + local testjobs + if python3 -c 'import pytest' >/dev/null 2>&1; then + if python3 -c 'import xdist' >/dev/null 2>&1; then + testjobs="-n $XBPS_MAKEJOBS" + fi + PYTHONPATH="$(cd build/lib* && pwd)" \ + ${make_check_pre} \ + python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target} + else + # Fall back to deprecated setup.py test orchestration without pytest + if [ -z "$make_check_target" ]; then + if ! python3 setup.py --help test >/dev/null 2>&1; then + msg_warn "No command 'test' defined by setup.py.\n" + return 0 + fi + fi + + : ${make_check_target:=test} + ${make_check_pre} python3 setup.py ${make_check_target} ${make_check_args} + fi +} + +do_install() { + python3 setup.py install --prefix=/usr --root=${DESTDIR} ${make_install_args} +} diff --git a/common/build-style/python3-pep517.sh b/common/build-style/python3-pep517.sh new file mode 100644 index 0000000..2d5ff7c --- /dev/null +++ b/common/build-style/python3-pep517.sh @@ -0,0 +1,36 @@ +# +# This style is for templates installing python3 modules adhering to PEP517 +# + +do_build() { + : ${make_build_target:=.} + : ${make_build_args:=--no-isolation --wheel} + python3 -m build ${make_build_args} ${make_build_target} +} + +do_check() { + if ! python3 -c 'import pytest' >/dev/null 2>&1; then + msg_warn "Testing of python3-pep517 templates requires pytest\n" + return 0 + fi + + local testjobs + if python3 -c 'import xdist' >/dev/null 2>&1; then + testjobs="-n $XBPS_MAKEJOBS" + fi + + local testdir="${wrksrc}/.xbps-testdir/$(date +%s)" + python3 -m installer --destdir "${testdir}" \ + ${make_install_args} ${make_install_target:-dist/*.whl} + + PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \ + ${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target} +} + +do_install() { + : ${make_install_args:=--no-compile-bytecode} + : ${make_install_target:="dist/*.whl"} + + python3 -m installer --destdir ${DESTDIR} \ + ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/qmake.sh b/common/build-style/qmake.sh new file mode 100644 index 0000000..3174583 --- /dev/null +++ b/common/build-style/qmake.sh @@ -0,0 +1,149 @@ +# +# This helper is for templates using Qt5/Qt6 qmake. +# +do_configure() { + local qmake + local qmake_args + local qt + if [ -x "/usr/lib/qt5/bin/qmake" ]; then + qmake="/usr/lib/qt5/bin/qmake" + qt="qt5" + elif [ -x "/usr/lib/qt6/bin/qmake" ]; then + qmake="/usr/lib/qt6/bin/qmake" + qt="qt6" + fi + if [ -z "${qmake}" ]; then + msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n" + fi + if [ "$CROSS_BUILD" ]; then + case $XBPS_TARGET_MACHINE in + i686*) _qt_arch=i386;; + x86_64*) _qt_arch=x86_64;; + aarch64*) _qt_arch=arm64;; + arm*) _qt_arch=arm;; + mips*) _qt_arch=mips;; + ppc64*) _qt_arch=power64;; + ppc*) _qt_arch=power;; + esac + mkdir -p "${wrksrc}/.target-spec/linux-g++" + cat > "${wrksrc}/.target-spec/linux-g++/qmake.conf" <<_EOF +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental no_qt_rpath +QMAKE_INCREMENTAL_STYLE = sublib + +include(/usr/lib/${qt}/mkspecs/common/linux.conf) +include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf) +include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf) + +QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri +QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri +QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/modules +QMAKE_CC = ${CC} +QMAKE_CXX = ${CXX} +QMAKE_LINK = ${CXX} +QMAKE_LINK_C = ${CC} +QMAKE_LINK_SHLIB = ${CXX} + +QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs +QMAKE_OBJCOPY = ${OBJCOPY} +QMAKE_NM = ${NM} -P +QMAKE_STRIP = ${STRIP} + +QMAKE_CFLAGS = ${CFLAGS} +QMAKE_CXXFLAGS = ${CXXFLAGS} +QMAKE_LFLAGS = ${LDFLAGS} +load(qt_config) +_EOF + echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h" + + mkdir -p "${wrksrc}/.host-spec/linux-g++" + cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<_EOF +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental no_qt_rpath +QMAKE_INCREMENTAL_STYLE = sublib + +include(/usr/lib/${qt}/mkspecs/common/linux.conf) +include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf) +include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf) + +QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri +QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri +QMAKE_CC = ${CC_host} +QMAKE_CXX = ${CXX_host} +QMAKE_LINK = ${CXX_host} +QMAKE_LINK_C = ${CC_host} +QMAKE_LINK_SHLIB = ${CXX_host} + +QMAKE_AR = gcc-ar cqs +QMAKE_OBJCOPY = ${OBJCOPY_host} +QMAKE_NM = ${NM_host} -P +QMAKE_STRIP = ${STRIP_host} + +QMAKE_CFLAGS = ${CFLAGS_host} +QMAKE_CXXFLAGS = ${CXXFLAGS_host} +QMAKE_LFLAGS = ${LDFLAGS_host} +load(qt_config) +_EOF +echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h" + cat > "${wrksrc}/qt.conf" <<_EOF +[Paths] +Sysroot=${XBPS_CROSS_BASE} +Prefix=/usr +ArchData=${XBPS_CROSS_BASE}/usr/lib/${qt} +Data=${XBPS_CROSS_BASE}/usr/share/${qt} +Documentation=${XBPS_CROSS_BASE}/usr/share/doc/${qt} +Headers=${XBPS_CROSS_BASE}/usr/include/${qt} +Libraries=${XBPS_CROSS_BASE}/usr/lib +LibraryExecutables=/usr/lib/${qt}/libexec +Binaries=/usr/lib/${qt}/bin +Tests=${XBPS_CROSS_BASE}/usr/tests +Plugins=/usr/lib/${qt}/plugins +Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/imports +Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/qml +Translations=${XBPS_CROSS_BASE}/usr/share/${qt}/translations +Settings=${XBPS_CROSS_BASE}/etc/xdg +Examples=${XBPS_CROSS_BASE}/usr/share/${qt}/examples +HostPrefix=/usr +HostData=/usr/lib/${qt} +HostBinaries=/usr/lib/${qt}/bin +HostLibraries=/usr/lib +HostLibraryExecutables=/usr/lib/${qt}/libexec +Spec=${wrksrc}/.host-spec/linux-g++ +TargetSpec=${wrksrc}/.target-spec/linux-g++ +_EOF + qmake_args="-qtconf ${wrksrc}/qt.conf PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}" + ${qmake} ${qmake_args} \ + PREFIX=/usr \ + QT_INSTALL_PREFIX=/usr \ + LIB=/usr/lib \ + QT_TARGET_ARCH=$_qt_arch \ + ${configure_args} + else + ${qmake} ${qmake_args} \ + PREFIX=/usr \ + QT_INSTALL_PREFIX=/usr \ + LIB=/usr/lib \ + QMAKE_CC=$CC QMAKE_CXX=$CXX \ + QMAKE_LINK=$CXX QMAKE_LINK_C=$CC \ + QMAKE_CFLAGS="${CFLAGS}" \ + QMAKE_CXXFLAGS="${CXXFLAGS}" \ + QMAKE_LFLAGS="${LDFLAGS}" \ + CONFIG+=no_qt_rpath \ + ${configure_args} + fi +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} \ + CC="$CC" CXX="$CXX" LINK="$CXX" +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + ${make_cmd} STRIP=true PREFIX=/usr DESTDIR=${DESTDIR} \ + INSTALL_ROOT=${DESTDIR} ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/raku-dist.sh b/common/build-style/raku-dist.sh new file mode 100644 index 0000000..6735016 --- /dev/null +++ b/common/build-style/raku-dist.sh @@ -0,0 +1,16 @@ +# +# This helper is for Raku package templates. +# + +do_check() { + RAKULIB=lib ${make_check_pre} prove -r -e raku t/ +} + +do_install() { + export RAKUDO_LOG_PRECOMP=1 + export RAKUDO_RERESOLVE_DEPENDENCIES=0 + raku-install-dist \ + --to=${DESTDIR}/usr/lib/raku/vendor \ + --for=vendor \ + --from=. +} diff --git a/common/build-style/ruby-module.sh b/common/build-style/ruby-module.sh new file mode 100644 index 0000000..c45d1cd --- /dev/null +++ b/common/build-style/ruby-module.sh @@ -0,0 +1,13 @@ +# +# This helper is for templates installing ruby modules. +# + +do_install() { + local _vendorlibdir=$(ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]') + + if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then + _vendorlibdir="${_vendorlibdir//lib$XBPS_WORDSIZE/lib$XBPS_TARGET_WORDSIZE}" + fi + + LANG=C ruby install.rb --destdir=${DESTDIR} --sitelibdir=${_vendorlibdir} ${make_install_args} +} diff --git a/common/build-style/scons.sh b/common/build-style/scons.sh new file mode 100644 index 0000000..f87c0dc --- /dev/null +++ b/common/build-style/scons.sh @@ -0,0 +1,35 @@ +# +# This helper is for templates using scons. +# +do_build() { + : ${make_cmd:=scons} + + ${make_cmd} ${makejobs} CC=$CC CXX=$CXX CCFLAGS="$CFLAGS" \ + cc=$CC cxx=$CXX ccflags="$CFLAGS" \ + CXXFLAGS="$CXXFLAGS" LINKFLAGS="$LDFLAGS" \ + cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" \ + RANLIB="$RANLIB" ranlib="$RANLIB" \ + prefix=/usr \ + ${scons_use_destdir:+DESTDIR="${DESTDIR}"} \ + ${scons_use_destdir:+destdir="${DESTDIR}"} \ + ${make_build_args} ${make_build_target} +} +do_install() { + : ${make_cmd:=scons} + : ${make_install_target:=install} + + local _sandbox= + + if [ -z "$scons_use_destdir" ]; then _sandbox=yes ; fi + + ${make_cmd} ${makejobs} CC=$CC CXX=$CXX CCFLAGS="$CFLAGS" \ + cc=$CC cxx=$CXX ccflags="$CFLAGS" \ + CXXFLAGS="$CXXFLAGS" LINKFLAGS="$LDFLAGS" \ + cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" \ + RANLIB="$RANLIB" ranlib="$RANLIB" \ + prefix=/usr \ + ${scons_use_destdir:+DESTDIR="${DESTDIR}"} \ + ${scons_use_destdir:+destdir="${DESTDIR}"} \ + ${_sandbox:+--install-sandbox="${DESTDIR}"} \ + ${make_install_args} ${make_install_target} +} diff --git a/common/build-style/sip-build.sh b/common/build-style/sip-build.sh new file mode 100644 index 0000000..d8b3bce --- /dev/null +++ b/common/build-style/sip-build.sh @@ -0,0 +1,147 @@ +# +# This helper is for templates using sip-build. +# + +do_configure() { + local _qt= + local _spec= + local _mkspec= + + : "${sip_builddir:=build}" + mkdir -p "$sip_builddir" + + if [ ! -d /$py3_sitelib/pyqtbuild ]; then + : "who uses sip-build without qmake anyway?" + elif [ -x /usr/lib/qt6/bin/qmake ]; then + _qt=qt6 + elif [ -x /usr/lib/qt5/bin/qmake ]; then + _qt=qt5 + else + msg_error 'qmake not found\n' + fi + + if [ ! "$_qt" ]; then + : "who use sip-build without qmake anyway?" + elif [ "$CROSS_BUILD" ]; then + _mkspec="usr/lib/$_qt/mkspecs" + _spec="$XBPS_WRAPPERDIR/sip-build/target-spec/linux-g++" + mkdir -p "$_spec" + cat >"$_spec/qmake.conf" <<-_EOF + MAKEFILE_GENERATOR = UNIX + CONFIG += incremental no_qt_rpath + QMAKE_INCREMENTAL_STYLE = sublib + + include(/$_mkspec/common/linux.conf) + include(/$_mkspec/common/gcc-base-unix.conf) + include(/$_mkspec/common/g++-unix.conf) + + QMAKE_TARGET_CONFIG = $XBPS_CROSS_BASE/$_mkspec/qconfig.pri + QMAKE_TARGET_MODULE = $XBPS_CROSS_BASE/$_mkspec/qmodule.pri + QMAKEMODULES = $XBPS_CROSS_BASE/$_mkspec/modules + QMAKE_CC = $CC + QMAKE_CXX = $CXX + QMAKE_LINK = $CXX + QMAKE_LINK_C = $CC + QMAKE_LINK_SHLIB = $CXX + + QMAKE_AR = $XBPS_CROSS_TRIPLET-gcc-ar cqs + QMAKE_OBJCOPY = $OBJCOPY + QMAKE_NM = $NM -P + QMAKE_STRIP = $STRIP + + QMAKE_CFLAGS = $CFLAGS -I$XBPS_CROSS_BASE/usr/include/python$py3_ver + QMAKE_CXXFLAGS = $CXXFLAGS -I$XBPS_CROSS_BASE/usr/include/python$py3_ver + QMAKE_LFLAGS = -L$XBPS_CROSS_BASE/usr/lib $LDFLAGS + load(qt_config) + _EOF + + printf '#include "%s/%s/linux-g++/qplatformdefs.h"\n' \ + "$XBPS_CROSS_BASE" "$_mkspec" >"$_spec/qplatformdefs.h" + cat >"$XBPS_WRAPPERDIR/sip-build/qt.conf" <<-_EOF + [Paths] + Sysroot=$XBPS_CROSS_BASE + Prefix=$XBPS_CROSS_BASE/usr + ArchData=$XBPS_CROSS_BASE/usr/lib/$_qt + Data=$XBPS_CROSS_BASE/usr/share/$_qt + Documentation=$XBPS_CROSS_BASE/usr/share/doc/$_qt + Headers=$XBPS_CROSS_BASE/usr/include/$_qt + Libraries=$XBPS_CROSS_BASE/usr/lib + LibraryExecutables=/usr/lib/$_qt/libexec + Binaries=/usr/lib/$_qt/bin + Tests=$XBPS_CROSS_BASE/usr/tests + Plugins=/usr/lib/$_qt/plugins + Imports=$XBPS_CROSS_BASE/usr/lib/$_qt/imports + Qml2Imports=$XBPS_CROSS_BASE/usr/lib/$_qt/qml + Translations=$XBPS_CROSS_BASE/usr/share/$_qt/translations + Settings=$XBPS_CROSS_BASE/etc/xdg + Examples=$XBPS_CROSS_BASE/usr/share/$_qt/examples + HostPrefix=/usr + HostData=/usr/lib/$_qt + HostBinaries=/usr/lib/$_qt/bin + HostLibraries=/usr/lib + HostLibraryExecutables=/usr/lib/$_qt/libexec + Spec=linux-g++ + TargetSpec=$_spec + _EOF + # Call it sip-qmake to not override qmake build-helper + # + # XXX: Intentionally quote {C,CXX,LD}FLAGS here but not native. + # - Cross Build: + # + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS + # + hardening flags will be picked up from environment variables + # - Native Build: + # + hardening flags will be picked up first (Makefile, qt.conf?) + # + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS + # Maybe there're better workaround, I don't know. + cat >"$XBPS_WRAPPERDIR/sip-qmake" <<-_EOF + #!/bin/sh + exec /usr/lib/$_qt/bin/qmake "\$@" \\ + -qtconf "$XBPS_WRAPPERDIR/sip-build/qt.conf" \\ + PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG} \\ + QMAKE_CFLAGS+="\$CFLAGS" \\ + QMAKE_CXXFLAGS+="\$CXXFLAGS" \\ + QMAKE_LFLAGS+="\$LDFLAGS" + _EOF + chmod 755 ${XBPS_WRAPPERDIR}/sip-qmake + else + cat >"${XBPS_WRAPPERDIR}/sip-qmake" <<-_EOF + #!/bin/sh + exec /usr/lib/$_qt/bin/qmake \\ + "\$@" \\ + PREFIX=/usr \\ + QT_INSTALL_PREFIX=/usr \\ + LIB=/usr/lib \\ + QMAKE_CC="$CC" QMAKE_CXX="$CXX" \\ + QMAKE_LINK="$CXX" QMAKE_LINK_C="$CC" \\ + QMAKE_CFLAGS+="$CFLAGS" \\ + QMAKE_CXXFLAGS+="$CXXFLAGS" \\ + QMAKE_LFLAGS+="$LDFLAGS" \\ + CONFIG+=no_qt_rpath + _EOF + chmod 755 ${XBPS_WRAPPERDIR}/sip-qmake + fi + + sip-build --no-make \ + ${_qt:+--qmake "$XBPS_WRAPPERDIR/sip-qmake"} \ + --api-dir /usr/share/$_qt/qsci/api/python \ + $configure_args \ + --build-dir "$sip_builddir" + + if [ "$CROSS_BUILD" ]; then + # -I/usr/include/python$py3_ver is set by sip-build :( + find "$sip_builddir" -name Makefile | + xargs sed -i "s,-I\\(/usr/include\\),-I$XBPS_CROSS_BASE\\1,g" + fi +} + +do_build() { + : "${sip_builddir:=build}" + make -C "${sip_builddir}" ${makejobs} +} + +do_install() { + : "${sip_builddir:=build}" + make -C "${sip_builddir}" \ + DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} \ + install +} diff --git a/common/build-style/slashpackage.sh b/common/build-style/slashpackage.sh new file mode 100644 index 0000000..59e8273 --- /dev/null +++ b/common/build-style/slashpackage.sh @@ -0,0 +1,33 @@ +# +# This helper is for templates building slashpackage software. +# http://cr.yp.to/slashpackage.html +# +# required variables +# +# build_style=slashpackage +# build_wrksrc=${pkgname}-${version} +# distfiles= +# +# example (daemontools) +# +# Template file for 'daemontools' +# pkgname=daemontools +# version=0.76 +# revision=1 +# build_wrksrc=${pkgname}-${version} +# build_style=slashpackage +# short_desc="A collection of tools for managing UNIX services" +# maintainer="bougyman " +# license="Public Domain" +# homepage="http://cr.yp.to/daemontools.html" +# distfiles="http://cr.yp.to/daemontools/${pkgname}-${version}.tar.gz" + +do_build() { + package/compile +} + +do_install() { + for command in command/*; do + vbin $command + done +} diff --git a/common/build-style/texmf.sh b/common/build-style/texmf.sh new file mode 100644 index 0000000..dbed1fd --- /dev/null +++ b/common/build-style/texmf.sh @@ -0,0 +1,70 @@ +do_build() { + local f p + # Extract the source files + mkdir -p "build/usr/share/texmf-dist" + find . -maxdepth 1 -print -name "*.tar.xz" \ + -exec bsdtar -C "build/usr/share/texmf-dist" -xf {} \; + cd "build/usr/share/texmf-dist/" + # Everything in usr/share/texmf-dist/texmf-dist should really be in + # usr/share/texmf-dist, so we move it + if [ -d "texmf-dist" ] ; then + rsync -ar texmf-dist/ ./ + rm -rf texmf-dist/ + fi + # LICENSEs are unneeded + rm -f LICENSE* + + # We have some conflicting files between different packages. To work + # around this, we use an ownership file that maps which conflicting + # files should be in which packages. Here, each file in the map list is + # checked whether it is in the package, and if it shouldn't be it is + # removed. + while IFS=' ' read -r f p ; do + if [ "$p" = "$pkgname" ] && ! [ -e "$f" ]; then + # Error out if the ownership map expects this package to have a + # file but it dosen't + msg_error "$pkgver: missing file $f\n" + elif [ "$p" != "$pkgname" ] && [ -e "$f" ]; then + # Remove a file that according to the ownership map belongs to + # another file + echo "removed $f" + # Install a file that lists the removed packages + mkdir -p ../texlive/removed + echo "$f" >> ../texlive/removed/$pkgname.txt + rm -f "$f" + fi + done < "${XBPS_COMMONDIR}/environment/build-style/texmf/ownership.txt" +} + +do_check() { + # This is essentially a helper for generating the ownership map. It checks + # to see if there are any conflicts between all of the different packages. + local f p current_ver current_rev exitcode=0 + cd build + + while read p; do + # Don't check against the texlive-bin* packages, ourselves, -dbg or -32bit pkgs + if [[ ${p%-*} =~ .*-bin$ ]] || [ "${p%-*}" = "$pkgname" ] || [[ ${p%-*} =~ .*-dbg$ ]] || [[ ${p%-*} =~ .*-32bit$ ]]; then + continue + fi + # Don't check against any version other than the version in the source tree + current_ver="$(grep -m 1 version= ${XBPS_SRCPKGDIR}/${p%-*}/template | cut -d= -f2)" + current_rev="$(grep -m 1 revision= ${XBPS_SRCPKGDIR}/${p%-*}/template | cut -d= -f2)" + if [ "${p%-*}-${current_ver}_${current_rev}" != "${p}" ]; then + # They are not the same version + continue + fi + echo checking conflicts with ${p}... + while IFS= read -r f; do + if [ -e ".$f" ]; then + msg_red "both contain file $f\n" + exitcode=1 + fi + done < <(xbps-query -Rf $p | sed 's/ -> .*//') + done < <(xbps-query -Rs texlive -p pkgver | cut -d : -f 1) + return $exitcode +} + +do_install() { + vcopy build/usr . +} diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh new file mode 100644 index 0000000..2e8ebb5 --- /dev/null +++ b/common/build-style/void-cross.sh @@ -0,0 +1,667 @@ +# +# This helper is for void system crosstoolchain templates. +# +# Optional variables: +# +# - cross_gcc_skip_go - do not build gccgo support +# - cross_binutils_configure_args +# - cross_gcc_bootstrap_configure_args +# - cross_gcc_configure_args +# - cross_glibc_cflags +# - cross_glibc_ldflags +# - cross_glibc_configure_args +# - cross_musl_cflags +# - cross_musl_ldflags +# - cross_musl_configure_args +# +# configure_args is passed to both bootstrap gcc and final gcc +# if you need to pass some to one and not the other, use the +# respective cross_ variables for final gcc and bootstrap gcc +# + +_void_cross_apply_patch() { + local pname="$(basename $1)" + if [ ! -f ".${pname}_done" ]; then + patch -Np1 $args -i $1 + touch .${pname}_done + fi +} + +_void_cross_build_binutils() { + [ -f ${wrksrc}/.binutils_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Patching binutils for ${tgt}\n" + + cd ${wrksrc}/binutils-${ver} + if [ -d "${XBPS_SRCPKGDIR}/binutils/patches" ]; then + for f in ${XBPS_SRCPKGDIR}/binutils/patches/*.patch; do + _void_cross_apply_patch "$f" + done + fi + cd .. + + msg_normal "Building binutils for ${tgt}\n" + + mkdir -p ${wrksrc}/binutils_build + cd ${wrksrc}/binutils_build + + ../binutils-${ver}/configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --target=${tgt} \ + --with-sysroot=/usr/${tgt} \ + --disable-nls \ + --disable-shared \ + --disable-multilib \ + --disable-werror \ + --disable-gold \ + --disable-gprofng \ + --enable-relro \ + --enable-new-dtags \ + --enable-plugins \ + --enable-64-bit-bfd \ + --enable-deterministic-archives \ + --enable-default-hash-style=gnu \ + --with-system-zlib \ + --with-mmap \ + --with-pic \ + ${cross_binutils_configure_args} + + make configure-host + make ${makejobs} + + make install DESTDIR=${wrksrc}/build_root + + touch ${wrksrc}/.binutils_done +} + +_void_cross_build_bootstrap_gcc() { + [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Patching GCC for ${tgt}\n" + + cd ${wrksrc}/gcc-${ver} + + # Do not run fixincludes + sed -i 's@./fixinc.sh@-c true@' Makefile.in + + for f in ${XBPS_SRCPKGDIR}/gcc/patches/*.patch; do + _void_cross_apply_patch "$f" + done + if [ -f ${wrksrc}/.musl_version ]; then + for f in ${XBPS_SRCPKGDIR}/gcc/files/*-musl.patch; do + _void_cross_apply_patch "$f" + done + fi + cd .. + + msg_normal "Building bootstrap GCC for ${tgt}\n" + + mkdir -p gcc_bootstrap + cd gcc_bootstrap + + local extra_args + if [ -f ${wrksrc}/.musl_version ]; then + extra_args+=" --with-newlib" + extra_args+=" --disable-symvers" + extra_args+=" libat_cv_have_ifunc=no" + else + extra_args+=" --without-headers" + fi + + ../gcc-${ver}/configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --target=${tgt} \ + --disable-nls \ + --disable-multilib \ + --disable-shared \ + --disable-libquadmath \ + --disable-decimal-float \ + --disable-libgomp \ + --disable-libmpx \ + --disable-libmudflap \ + --disable-libssp \ + --disable-libitm \ + --disable-libatomic --disable-autolink-libatomic \ + --disable-gcov \ + --disable-threads \ + --disable-sjlj-exceptions \ + --enable-languages=c \ + --with-gnu-ld \ + --with-gnu-as \ + ${extra_args} \ + ${configure_args} \ + ${cross_gcc_bootstrap_configure_args} + + make ${makejobs} + make install DESTDIR=${wrksrc}/build_root + + local ptrs=$(${tgt}-gcc -dM -E - < /dev/null | \ + grep __SIZEOF_POINTER__) + local ws=${ptrs##* } + + case ${ws} in + 8) echo 64 > ${wrksrc}/.gcc_wordsize ;; + 4) echo 32 > ${wrksrc}/.gcc_wordsize ;; + *) msg_error "Unknown word size: ${ws}\n" ;; + esac + + touch ${wrksrc}/.gcc_bootstrap_done +} + +_void_cross_build_kernel_headers() { + [ -f ${wrksrc}/.linux_headers_done ] && return 0 + + local tgt=$1 + local ver=$2 + local arch + + msg_normal "Patching Linux headers for ${tgt}\n" + + cd ${wrksrc}/linux-${ver} + if [ -d "${XBPS_SRCPKGDIR}/kernel-libc-headers/patches" ]; then + for f in ${XBPS_SRCPKGDIR}/kernel-libc-headers/patches/*.patch; do + _void_cross_apply_patch "$f" + done + fi + cd .. + + msg_normal "Building Linux headers for ${tgt}\n" + + cd linux-${ver} + + case "$tgt" in + x86_64*|i686*) arch=x86 ;; + powerpc*) arch=powerpc ;; + mips*) arch=mips ;; + aarch64*) arch=arm64 ;; + arm*) arch=arm ;; + riscv*) arch=riscv ;; + s390*) arch=s390 ;; + *) msg_error "Unknown Linux arch for ${tgt}\n" ;; + esac + + make ARCH=${arch} headers + find usr/include -name '.*' -delete + rm usr/include/Makefile + rm -r usr/include/drm + cp -a usr/include ${wrksrc}/build_root/usr/${tgt}/usr + + touch ${wrksrc}/.linux_headers_done +} + +_void_cross_build_glibc_headers() { + [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Patching glibc for ${tgt}\n" + + cd ${wrksrc}/glibc-${ver} + if [ -d "${XBPS_SRCPKGDIR}/glibc/patches" ]; then + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _void_cross_apply_patch "$f" + done + fi + cd .. + + msg_normal "Building glibc headers for ${tgt}\n" + + mkdir -p glibc_headers + cd glibc_headers + + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + + # we don't need any custom args here, it's just headers + CC="${tgt}-gcc" CXX="${tgt}-g++" CPP="${tgt}-cpp" LD="${tgt}-ld" \ + AS="${tgt}-as" NM="${tgt}-nm" CFLAGS="-pipe" CXXFLAGS="" CPPFLAGS="" \ + LDFLAGS="" \ + ../glibc-${ver}/configure \ + --prefix=/usr \ + --host=${tgt} \ + --with-headers=${wrksrc}/build_root/usr/${tgt}/usr/include \ + --config-cache \ + --enable-kernel=2.6.27 \ + ${cross_glibc_configure_args} + + make -k install-headers cross_compiling=yes \ + install_root=${wrksrc}/build_root/usr/${tgt} + + touch ${wrksrc}/.glibc_headers_done +} + +_void_cross_build_glibc() { + [ -f ${wrksrc}/.glibc_build_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Building glibc for ${tgt}\n" + + mkdir -p ${wrksrc}/glibc_build + cd ${wrksrc}/glibc_build + + local ws=$(cat ${wrksrc}/.gcc_wordsize) + + echo "slibdir=/usr/lib${ws}" > configparms + + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + + CC="${tgt}-gcc" CXX="${tgt}-g++" CPP="${tgt}-cpp" LD="${tgt}-ld" \ + AR="${tgt}-ar" AS="${tgt}-as" NM="${tgt}-nm" \ + CFLAGS="-pipe ${cross_glibc_cflags}" \ + CXXFLAGS="-pipe ${cross_glibc_cflags}" \ + CPPFLAGS="${cross_glibc_cflags}" \ + LDFLAGS="${cross_glibc_ldflags}" \ + ../glibc-${ver}/configure \ + --prefix=/usr \ + --libdir=/usr/lib${ws} \ + --libexecdir=/usr/libexec \ + --host=${tgt} \ + --with-headers=${wrksrc}/build_root/usr/${tgt}/usr/include \ + --config-cache \ + --disable-profile \ + --disable-werror \ + --enable-kernel=2.6.27 \ + ${cross_glibc_configure_args} + + make ${makejobs} + make install_root=${wrksrc}/build_root/usr/${tgt} install + + touch ${wrksrc}/.glibc_build_done +} + +_void_cross_build_musl() { + [ -f ${wrksrc}/.musl_build_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Patching musl for ${tgt}\n" + + cd ${wrksrc}/musl-${ver} + if [ -d "${XBPS_SRCPKGDIR}/musl/patches" ]; then + for f in ${XBPS_SRCPKGDIR}/musl/patches/*.patch; do + _void_cross_apply_patch "$f" + done + fi + cd .. + + msg_normal "Building musl for ${tgt}\n" + + mkdir -p musl_build + cd musl_build + + CC="${tgt}-gcc" CXX="${tgt}-g++" CPP="${tgt}-cpp" LD="${tgt}-ld" \ + AR="${tgt}-ar" AS="${tgt}-as" NM="${tgt}-nm" \ + CFLAGS="-pipe -fPIC ${cross_musl_cflags}" \ + CPPFLAGS="${cross_musl_cflags}" LDFLAGS="${cross_musl_ldflags}" \ + ../musl-${ver}/configure \ + --prefix=/usr \ + --host=${tgt} \ + ${cross_musl_configure_args} + + make ${makejobs} + make DESTDIR=${wrksrc}/build_root/usr/${tgt} install + + CFLAGS="-pipe -fPIC ${cross_musl_cflags}" \ + CPPFLAGS="${cross_musl_cflags}" LDFLAGS="${cross_musl_ldflags}" \ + ${tgt}-gcc -pipe -fPIC ${cross_musl_cflags} ${cross_musl_ldflags} -fpie \ + -c ${XBPS_SRCPKGDIR}/musl/files/__stack_chk_fail_local.c \ + -o __stack_chk_fail_local.o + ${tgt}-ar r libssp_nonshared.a __stack_chk_fail_local.o + cp libssp_nonshared.a ${wrksrc}/build_root/usr/${tgt}/usr/lib + + touch ${wrksrc}/.musl_build_done +} + +_void_cross_build_libucontext() { + [ -n "$cross_gcc_skip_go" ] && return 0 + [ -f ${wrksrc}/.libucontext_build_done ] && return 0 + + local tgt=$1 + local ver=$2 + local arch incpath + + msg_normal "Building libucontext for ${tgt}\n" + + case "$tgt" in + x86_64*) arch=x86_64 ;; + i686*) arch=x86 ;; + powerpc64*) arch=ppc64 ;; + powerpc*) arch=ppc ;; + mips*64*) arch=mips64 ;; + mips*) arch=mips ;; + aarch64*) arch=aarch64 ;; + arm*) arch=arm ;; + riscv64*) arch=riscv64 ;; + s390x*) arch=s390x ;; + *) msg_error "Unknown libucontext arch for ${tgt}\n" ;; + esac + + cd ${wrksrc}/libucontext-${ver} + # a terrible hack but seems to work for now + # we build a static-only library to prevent linking to a runtime + # since it's tiny it can be linked into libgo and we don't have + # to keep it around (which would possibly conflict with crossdeps) + incpath="${wrksrc}/build_root/usr/${tgt}/usr/include" + CC="${tgt}-gcc" AS="${tgt}-as" AR="${tgt}-ar" \ + make ARCH=$arch libucontext.a \ + CFLAGS="${cross_musl_cflags} -g0 -nostdinc -isystem ${incpath}" + + cp libucontext.a ${wrksrc}/build_root/usr/${tgt}/usr/lib + + touch ${wrksrc}/.libucontext_build_done +} + +_void_cross_build_gcc() { + [ -f ${wrksrc}/.gcc_build_done ] && return 0 + + local tgt=$1 + local ver=$2 + + msg_normal "Building gcc for ${tgt}\n" + + # GIANT HACK: create an empty libatomic.a so gcc cross-compile + # below works. + ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a + + mkdir -p ${wrksrc}/gcc_build + cd ${wrksrc}/gcc_build + + local langs="c,c++,fortran,objc,obj-c++,ada,lto" + if [ -z "$cross_gcc_skip_go" ]; then + langs+=",go" + fi + + local extra_args + if [ -f ${wrksrc}/.musl_version ]; then + # otherwise glibc hosts get confused and use the gnu impl + extra_args+=" --enable-clocale=generic" + extra_args+=" --disable-symvers" + extra_args+=" --disable-gnu-unique-object" + extra_args+=" libat_cv_have_ifunc=no" + else + extra_args+=" --enable-clocale=gnu" + extra_args+=" --enable-gnu-unique-object" + fi + + # note on --disable-libquadmath: + # on some platforms the library is actually necessary for the + # fortran frontend to build, but still disable it because it + # should not be in the resulting packages; it conflicts with + # the libquadmath you can install into the cross root + # + # platforms where this is a problem should explicitly force + # libquadmath to be on via cross_gcc_configure_args, the + # do_install in this build-style automatically removes it + # + ../gcc-${ver}/configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --target=${tgt} \ + --with-sysroot=/usr/${tgt} \ + --with-build-sysroot=${wrksrc}/build_root/usr/${tgt} \ + --enable-languages=${langs} \ + --disable-nls \ + --disable-multilib \ + --disable-sjlj-exceptions \ + --disable-libquadmath \ + --disable-libmudflap \ + --disable-libitm \ + --disable-libvtv \ + --disable-libsanitizer \ + --disable-libstdcxx-pch \ + --disable-libssp \ + --enable-shared \ + --enable-threads=posix \ + --enable-__cxa_atexit \ + --enable-linker-build-id \ + --enable-libada \ + --enable-lto \ + --enable-default-pie \ + --enable-default-ssp \ + --with-gnu-ld \ + --with-gnu-as \ + --with-linker-hash-style=gnu \ + ${extra_args} \ + ${configure_args} \ + ${cross_gcc_configure_args} + + make ${makejobs} + + touch ${wrksrc}/.gcc_build_done +} + +_void_cross_test_ver() { + local proj=$1 + local noerr=$2 + local ver cver + for p in ${proj}-*; do + cver=${p#${proj}-} + if [ -z "$noerr" -a -n "$ver" ]; then + msg_error "multiple versions of ${proj} found: ${ver}, ${cver}" + fi + ver=${cver} + done + if [ -d "${proj}-${ver}" ]; then + echo ${ver} > ${wrksrc}/.${proj}_version + return + fi + if [ -z "$noerr" ]; then + msg_error "project ${proj} not available for build\n" + fi +} + +do_build() { + # Verify toolchain versions + cd ${wrksrc} + + local binutils_ver linux_ver gcc_ver libc_ver libucontext_ver + local tgt=${sourcepkg/cross-} + + export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" + export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" + + # Disable explicit -fno-PIE, gcc/binutils/libc will figure this out itself. + export CFLAGS="${CFLAGS//-fno-PIE/}" + export CXXFLAGS="${CXXFLAGS//-fno-PIE/}" + export LDFLAGS="${LDFLAGS//-no-pie/}" + + _void_cross_test_ver binutils + _void_cross_test_ver linux + _void_cross_test_ver gcc + + binutils_ver=$(cat .binutils_version) + linux_ver=$(cat .linux_version) + gcc_ver=$(cat .gcc_version) + + _void_cross_test_ver musl noerr + if [ ! -f .musl_version ]; then + _void_cross_test_ver glibc + libc_ver=$(cat .glibc_version) + else + libc_ver=$(cat .musl_version) + if [ -z "$cross_gcc_skip_go" ]; then + _void_cross_test_ver libucontext + libucontext_ver=$(cat .libucontext_version) + fi + fi + + local sysroot="/usr/${tgt}" + + # Prepare environment + cd ${wrksrc} + + # Core directories for the build root + mkdir -p build_root/usr/{bin,lib,include,share} + mkdir -p build_root/usr/${tgt}/usr/{bin,lib,include,share} + + # Host root uses host wordsize + ln -sf usr/lib build_root/lib + ln -sf usr/lib build_root/lib${XBPS_TARGET_WORDSIZE} + ln -sf lib build_root/usr/lib${XBPS_TARGET_WORDSIZE} + + # Prepare target sysroot + ln -sf usr/lib build_root/${sysroot}/lib + ln -sf lib build_root/${sysroot}/usr/libexec + + _void_cross_build_binutils ${tgt} ${binutils_ver} + + # Prepare environment so we can use temporary prefix + local oldpath="$PATH" + local oldldlib="$LD_LIBRARY_PATH" + + export PATH="${wrksrc}/build_root/usr/bin:$PATH" + export LD_LIBRARY_PATH="${wrksrc}/build_root/usr/lib:$PATH" + + _void_cross_build_bootstrap_gcc ${tgt} ${gcc_ver} + _void_cross_build_kernel_headers ${tgt} ${linux_ver} + + local ws=$(cat ${wrksrc}/.gcc_wordsize) + + # Now that we know the target wordsize, prepare symlinks + ln -sf usr/lib ${wrksrc}/build_root/${sysroot}/lib${ws} + ln -sf lib ${wrksrc}/build_root/${sysroot}/usr/lib${ws} + + if [ -f ${wrksrc}/.musl_version ]; then + _void_cross_build_musl ${tgt} ${libc_ver} + _void_cross_build_libucontext ${tgt} ${libucontext_ver} + else + _void_cross_build_glibc_headers ${tgt} ${libc_ver} + _void_cross_build_glibc ${tgt} ${libc_ver} + fi + + _void_cross_build_gcc ${tgt} ${gcc_ver} + + # restore this stuff in case later hooks depend on it + export PATH="$oldpath" + export LD_LIBRARY_PATH="$oldldlib" +} + +do_install() { + # We need to be able to access binutils in the root + local oldpath="$PATH" + local oldldlib="$LD_LIBRARY_PATH" + export PATH="${wrksrc}/build_root/usr/bin:$PATH" + export LD_LIBRARY_PATH="${wrksrc}/build_root/usr/lib:$PATH" + + local tgt=${sourcepkg/cross-} + local sysroot="/usr/${tgt}" + local ws=$(cat ${wrksrc}/.gcc_wordsize) + + # Core directories for the sysroot + # + # libexec is created for sysroot but not for dest, since in sysroot + # we configure glibc with separate libexec, elsewhere it's just lib + # and we want to delete the libexec from glibc afterwards to save space + mkdir -p ${DESTDIR}/${sysroot}/usr/{bin,lib,libexec,include,share} + # Sysroot base symlinks + ln -sf usr/bin ${DESTDIR}/${sysroot}/bin + ln -sf usr/lib ${DESTDIR}/${sysroot}/lib + ln -sf usr/lib ${DESTDIR}/${sysroot}/lib${ws} + ln -sf lib ${DESTDIR}/${sysroot}/usr/lib${ws} + ln -sf usr/include ${DESTDIR}/${sysroot}/include + + # Install Linux headers + cd ${wrksrc}/linux-$(cat ${wrksrc}/.linux_version) + cp -a usr/include ${DESTDIR}/${sysroot}/usr + + # Install binutils + cd ${wrksrc}/binutils_build + make install DESTDIR=${DESTDIR} + + # Install final gcc + cd ${wrksrc}/gcc_build + make install DESTDIR=${DESTDIR} + + # Move libcc1.so* to the sysroot + mv ${DESTDIR}/usr/lib/libcc1.so* ${DESTDIR}/${sysroot}/usr/lib + + local gcc_ver=$(cat ${wrksrc}/.gcc_version) + local gcc_patch=${gcc_ver/_*} + local gcc_minor=${gcc_patch%.*} + local gcc_major=${gcc_minor%.*} + + if [ -f ${wrksrc}/.musl_version ]; then + # Install musl + cd ${wrksrc}/musl_build + make DESTDIR=${DESTDIR}/${sysroot} install + + # Remove useless headers + rm -rf ${DESTDIR}/usr/lib/gcc/${tgt}/*/include-fixed + + # Make ld-musl.so symlinks relative + for f in ${DESTDIR}/${sysroot}/usr/lib/ld-musl-*.so.*; do + ln -sf libc.so ${f} + done + + cp libssp_nonshared.a ${DESTDIR}/${sysroot}/usr/lib/ + else + # Install glibc + cd ${wrksrc}/glibc_build + make install_root=${DESTDIR}/${sysroot} install install-headers + + # Remove bad header + rm -f ${DESTDIR}/usr/lib/gcc/${tgt}/${gcc_patch}/include-fixed/bits/statx.h + fi + + # minor-versioned symlinks + mv ${DESTDIR}/usr/lib/gcc/${tgt}/${gcc_patch} \ + ${DESTDIR}/usr/lib/gcc/${tgt}/${gcc_minor} + ln -sfr ${DESTDIR}/usr/lib/gcc/${tgt}/${gcc_minor} \ + ${DESTDIR}/usr/lib/gcc/${tgt}/${gcc_patch} + + # ditto for c++ headers + mv ${DESTDIR}/${sysroot}/usr/include/c++/${gcc_patch} \ + ${DESTDIR}/${sysroot}/usr/include/c++/${gcc_minor} + ln -sfr ${DESTDIR}/${sysroot}/usr/include/c++/${gcc_minor} \ + ${DESTDIR}/${sysroot}/usr/include/c++/${gcc_patch} + + # Symlinks for gnarl and gnat shared libraries + local adalib=usr/lib/gcc/${tgt}/${gcc_patch}/adalib + mv ${DESTDIR}/${adalib}/libgnarl-${gcc_major}.so \ + ${DESTDIR}/${sysroot}/usr/lib + mv ${DESTDIR}/${adalib}/libgnat-${gcc_major}.so \ + ${DESTDIR}/${sysroot}/usr/lib + ln -sf libgnarl-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnarl.so + ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so + rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so + + # If libquadmath was forced (needed for gfortran on some platforms) + # then remove it because it conflicts with libquadmath package + rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.* + + # Remove libdep linker plugin because it conflicts with system binutils + rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep* + + # Remove leftover symlinks + rm -f ${DESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE} + rm -f ${DESTDIR}/lib* + rm -f ${DESTDIR}/*bin + # Remove unnecessary stuff + rm -rf ${DESTDIR}/${sysroot}/{sbin,etc,var,libexec} + rm -rf ${DESTDIR}/${sysroot}/usr/{sbin,share,libexec} + rm -rf ${DESTDIR}/usr/share + rm -f ${DESTDIR}/usr/lib*/libiberty.a + + export PATH="$oldpath" + export LD_LIBRARY_PATH="$oldldlib" +} diff --git a/common/build-style/waf.sh b/common/build-style/waf.sh new file mode 100644 index 0000000..e943765 --- /dev/null +++ b/common/build-style/waf.sh @@ -0,0 +1,21 @@ +# +# This helper is for templates using WAF to build/install. +# +do_configure() { + : ${configure_script:=waf} + + PYTHON=/usr/bin/python2 python2 ${configure_script} configure \ + --prefix=/usr --libdir=/usr/lib${XBPS_TARGET_WORDSIZE} ${configure_args} +} + +do_build() { + : ${configure_script:=waf} + + PYTHON=/usr/bin/python2 python2 ${configure_script} build ${make_build_args} +} + +do_install() { + : ${configure_script:=waf} + + PYTHON=/usr/bin/python2 python2 ${configure_script} install --destdir=${DESTDIR} ${make_install_args} +} diff --git a/common/build-style/waf3.sh b/common/build-style/waf3.sh new file mode 100644 index 0000000..54fd221 --- /dev/null +++ b/common/build-style/waf3.sh @@ -0,0 +1,29 @@ +# +# This helper is for templates using WAF with python3 to build/install. +# +do_configure() { + : ${configure_script:=waf} + local cross_args + + if [[ $build_helper = *"qemu"* ]] && [ "$CROSS_BUILD" ]; then + # If the qemu build helper is specified, use it for cross builds + cross_args="--cross-compile --hostcc=${CC_FOR_BUILD} + --cross-execute=qemu-${XBPS_TARGET_QEMU_MACHINE}-static" + fi + + PYTHON=/usr/bin/python3 python3 ${configure_script} configure \ + --prefix=/usr --libdir=/usr/lib${XBPS_TARGET_WORDSIZE} \ + ${configure_args} ${cross_args} +} + +do_build() { + : ${configure_script:=waf} + + PYTHON=/usr/bin/python3 python3 ${configure_script} build ${make_build_args} +} + +do_install() { + : ${configure_script:=waf} + + PYTHON=/usr/bin/python3 python3 ${configure_script} install --destdir=${DESTDIR} ${make_install_args} +} diff --git a/common/build-style/zig-build.sh b/common/build-style/zig-build.sh new file mode 100644 index 0000000..205c4ca --- /dev/null +++ b/common/build-style/zig-build.sh @@ -0,0 +1,41 @@ +do_build() { + local zig_target zig_cpu + + # TODO: This duplication between build-profiles and cross-profiles + # is totally unnecessary. It would be nice if there was some way to + # avoid it. + if [ "$CROSS_BUILD" ]; then + zig_target="${XBPS_CROSS_ZIG_TARGET}" + zig_cpu="${XBPS_CROSS_ZIG_CPU}" + else + zig_target="${XBPS_ZIG_TARGET}" + zig_cpu="${XBPS_ZIG_CPU}" + fi + + # Inform zig of the required libc include paths. + cat > xbps_zig_libc.txt <<-EOF + include_dir=${XBPS_CROSS_BASE}/usr/include + sys_include_dir=${XBPS_CROSS_BASE}/usr/include + crt_dir=${XBPS_CROSS_BASE}/usr/lib + msvc_lib_dir= + kernel32_lib_dir= + gcc_dir= + EOF + + # The Zig build system only has a single install step, there is no + # way to build artifacts for a given prefix and then install those artifacts + # to that prefix at some later time. Therefore, we build and install to the zig-out + # directory and later copy the artifacts to the destdir in do_install(). + # We use zig-out to avoid path conflicts as it is the default install + # prefix used by the zig build system. + DESTDIR="zig-out" zig build \ + --sysroot "${XBPS_CROSS_BASE}" \ + --libc xbps_zig_libc.txt \ + -Dtarget="${zig_target}" -Dcpu="${zig_cpu}" \ + -Drelease-safe --prefix /usr install \ + ${configure_args} +} + +do_install() { + cp -r zig-out/* "${DESTDIR}" +} diff --git a/common/chroot-style/README b/common/chroot-style/README new file mode 100644 index 0000000..a5d89d0 --- /dev/null +++ b/common/chroot-style/README @@ -0,0 +1,13 @@ +CHROOT STYLES +============= + +This directory contains scripts to perform the chroot operation with xbps-src. +The scripts should accept at least 5 arguments: + + - $1 (MASTERDIR) masterdir to chroot + - $2 (DISTDIR) path to the void-packages directory + - $3 (HOSTDIR) path to hostdir + - $4 (EXTRA_ARGS) additional arguments to be passed + - $5 (CMD) command to execute + - $@ remaining arguments to pass + diff --git a/common/chroot-style/bwrap.sh b/common/chroot-style/bwrap.sh new file mode 100755 index 0000000..de43235 --- /dev/null +++ b/common/chroot-style/bwrap.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# This chroot script uses bubblewrap (see https://github.com/containers/bubblewrap) +# +set -e +readonly MASTERDIR="$1" +readonly DISTDIR="$2" +readonly HOSTDIR="$3" +readonly EXTRA_ARGS="$4" +shift 4 + +if ! command -v bwrap >/dev/null 2>&1; then + exit 1 +fi + +if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then + echo "$0 MASTERDIR/DISTDIR not set" + exit 1 +fi + +exec bwrap --bind "$MASTERDIR" / --ro-bind "$DISTDIR" /void-packages \ + --dev /dev --tmpfs /tmp --proc /proc \ + ${HOSTDIR:+--bind "$HOSTDIR" /host} $EXTRA_ARGS "$@" diff --git a/common/chroot-style/ethereal.sh b/common/chroot-style/ethereal.sh new file mode 100755 index 0000000..a226465 --- /dev/null +++ b/common/chroot-style/ethereal.sh @@ -0,0 +1,135 @@ +#!/bin/sh +# +# This chroot script uses symlinks to emulate being in a chroot using +# the host system as the masterdir +# +# It will damage your host system, only use it in disposable +# containers. +# +# 2 extra steps required when using this chroot-style: +# 1. Symlink / to masterdir inside the void-packages repo +# 2. write the arch of the host system, as dictated by xbps-uhelper arch +# into /.xbps_chroot_init +# +# The supported way to make use of thie chroot-style is to create +# a root filesystem that has base-chroot and git installed and +# have it inside a container engine like Docker. +# +# Docker example: +# $ mkdir -p /tmp/image +# $ xbps-install -y -r /tmp/image \ +# -R http://mirrors.servercentral.com/voidlinux/current \ +# -S base-chroot +# $ tar -pC /tmp/image -c . | sudo docker import - voidlinux/masterdir +# $ rm -rf /tmp/image +# # docker run --rm -it \ +# -e XBPS_CHROOT_CMD=ethereal \ +# -e XBPS_ALLOW_CHROOT_BREAKOUT=yes \ +# -v $(pwd):/hostrepo voidlinux/masterdir \ +# /bin/bash -c 'ln -s / /hostrepo/masterdir && /hostrepo/xbps-src pkg ' +# + +readonly MASTERDIR="$1" +readonly DISTDIR="$2" +readonly HOSTDIR="$3" +readonly EXTRA_ARGS="$4" +readonly CMD="$5" +shift 5 + +if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then + echo "$0 MASTERDIR/DISTDIR not set" + exit 1 +fi + +msg_red() { + # error messages in bold/red + [ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m" + printf "=> ERROR: %s\\n" "$@" >&2 + [ -n "$NOCOLORS" ] || printf >&2 "\033[m" +} + +fake_mount() { + # If we already have a symlink from the desired place + # to the base location then just return 0 + if [ -L "$2" -a "$(readlink "$2")" = "$1" ]; then + return 0 + fi + + if [ -d "$2" ] && ! rmdir "$2" >/dev/null 2>&1; then + msg_red "Failed to remove $2, not empty ?\n" + exit 1 + fi + + [ -f "$2" -o -L "$2" ] && rm -f "$2" + + ln -s "$1" "$2" + echo "linked $2 -> $1" +} + +if [ "${XBPS_ALLOW_CHROOT_BREAKOUT}" != "yes" ]; then + msg_red "chroot-style 'ethereal' requires XBPS_ALLOW_CHROOT_BREAKOUT=yes\n" + msg_red "This chroot-style is meant for disposable containers and will destroy your system\n" + exit 1 +fi + +if [ ! -L "$MASTERDIR" -o "$(readlink "$MASTERDIR")" != "/" ]; then + msg_red "$MASTERDIR isn't symlinked to /!\n" + exit 1 +fi + +fake_mount "$DISTDIR" "$MASTERDIR"/void-packages + +# Do the same for hostdir +if [ -n "$HOSTDIR" ]; then + fake_mount "$HOSTDIR" "$MASTERDIR"/host +fi + +# xbps-src may send some other binds, parse them here +while getopts 'b:' c -- "$EXTRA_ARGS"; do + # Skip everything that's not a bind + [ "$c" = "b" ] || continue + + from="${OPTARG%:*}" + to="${OPTARG#*:}" + + fake_mount "$from" "$to" + + mounts="${mounts} $to" +done + +# Store current directory for returning later +OLDPWD="$(pwd)" + +# To give the illusion we entered the chroot, cd to / +cd / || { + msg_red "Failed to change directory to root!\n" + exit 1 ; } + +# Tell xbps-src that we are "in the chroot" +# Start with `env` so our environment var's stay the same +env IN_CHROOT=1 $CMD $@ + +# Store return of the command we care about +ret="$?" + +# Return to OLDPWD +cd "${OLDPWD}" + +# Remove the symlink and restore an empty dir to simulate +# an umount operation. +if [ -n "$HOSTDIR" ]; then + rm -f "$MASTERDIR"/host + mkdir -p "$MASTERDIR"/host +fi + +# Same as the operation above, do it all for all mountpoints +# that were passed to us. +for m in $mounts; do + rm -f "$m" + mkdir -p "$m" +done + +rm -f "$MASTERDIR"/void-packages +mkdir -p "$MASTERDIR"/void-packages + +exit $ret diff --git a/common/chroot-style/uchroot.sh b/common/chroot-style/uchroot.sh new file mode 100755 index 0000000..5fe47eb --- /dev/null +++ b/common/chroot-style/uchroot.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# +# This chroot script uses xbps-uchroot(1). +# +readonly MASTERDIR="$1" +readonly DISTDIR="$2" +readonly HOSTDIR="$3" +readonly EXTRA_ARGS="$4" +readonly CMD="$5" +shift 5 + +if ! command -v xbps-uchroot >/dev/null 2>&1; then + exit 1 +fi + +if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then + echo "$0 MASTERDIR/DISTDIR not set" + exit 1 +fi + +exec xbps-uchroot $EXTRA_ARGS -b $DISTDIR:/void-packages ${HOSTDIR:+-b $HOSTDIR:/host} -- $MASTERDIR $CMD $@ diff --git a/common/chroot-style/uunshare.sh b/common/chroot-style/uunshare.sh new file mode 100755 index 0000000..4d51464 --- /dev/null +++ b/common/chroot-style/uunshare.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# +# This chroot script uses xbps-uunshare(1) with user_namespaces(7). +# +readonly MASTERDIR="$1" +readonly DISTDIR="$2" +readonly HOSTDIR="$3" +readonly EXTRA_ARGS="$4" +readonly CMD="$5" +shift 5 + +if ! command -v xbps-uunshare >/dev/null 2>&1; then + exit 1 +fi + +if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then + echo "$0 MASTERDIR/DISTDIR not set" + exit 1 +fi + +exec xbps-uunshare $EXTRA_ARGS -b $DISTDIR:/void-packages ${HOSTDIR:+-b $HOSTDIR:/host} -- $MASTERDIR $CMD $@ diff --git a/common/cross-profiles/README b/common/cross-profiles/README new file mode 100644 index 0000000..f2300b5 --- /dev/null +++ b/common/cross-profiles/README @@ -0,0 +1,19 @@ +CROSS PROFILES +============== + +This directory contains cross profiles to allow cross compilation for the specified target. +A cross profile file must provide the following variables: + + - XBPS_TARGET_MACHINE (as returned by uname -m + optional -musl suffix) + - XBPS_CROSS_TRIPLET (the cross compiler triplet) + - XBPS_CROSS_CFLAGS (C compiler flags for the cross compiler) + - XBPS_CROSS_CXXFLAGS (C++ compiler flags for the cross compiler) + - XBPS_CROSS_FFLAGS (Fortran compiler flags for the cross compiler) + - XBPS_CROSS_CPPFLAGS (Preprocessor flags for the cross compiler) + - XBPS_CROSS_LDFLAGS (Linker flags for the cross compiler) + - XBPS_CROSS_RUST_TARGET (the rust triplet for the rust cross compiler) + - XBPS_CROSS_RUSTFLAGS (rust compiler flags for the cross compiler) + - XBPS_CROSS_ZIG_TARGET (the arch-os-abi target triplet for zig) + - XBPS_CROSS_ZIG_CPU (the cpu/feature set for zig) + +A source package matching `cross-${XBPS_CROSS_TRIPLET}' must also exist. diff --git a/common/cross-profiles/aarch64-musl.sh b/common/cross-profiles/aarch64-musl.sh new file mode 100644 index 0000000..892abba --- /dev/null +++ b/common/cross-profiles/aarch64-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARMv8. + +XBPS_TARGET_MACHINE="aarch64-musl" +XBPS_TARGET_QEMU_MACHINE="aarch64" +XBPS_CROSS_TRIPLET="aarch64-linux-musl" +XBPS_CROSS_CFLAGS="-march=armv8-a" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="aarch64-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="aarch64-linux-musl" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/aarch64.sh b/common/cross-profiles/aarch64.sh new file mode 100644 index 0000000..7a99e6f --- /dev/null +++ b/common/cross-profiles/aarch64.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARMv8. + +XBPS_TARGET_MACHINE="aarch64" +XBPS_TARGET_QEMU_MACHINE="aarch64" +XBPS_CROSS_TRIPLET="aarch64-linux-gnu" +XBPS_CROSS_CFLAGS="-march=armv8-a" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="aarch64-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="aarch64-linux-gnu" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/armv5te-musl.sh b/common/cross-profiles/armv5te-musl.sh new file mode 120000 index 0000000..bb05c64 --- /dev/null +++ b/common/cross-profiles/armv5te-musl.sh @@ -0,0 +1 @@ +armv5tel-musl.sh \ No newline at end of file diff --git a/common/cross-profiles/armv5te.sh b/common/cross-profiles/armv5te.sh new file mode 120000 index 0000000..efe0829 --- /dev/null +++ b/common/cross-profiles/armv5te.sh @@ -0,0 +1 @@ +armv5tel.sh \ No newline at end of file diff --git a/common/cross-profiles/armv5tel-musl.sh b/common/cross-profiles/armv5tel-musl.sh new file mode 100644 index 0000000..0eb813a --- /dev/null +++ b/common/cross-profiles/armv5tel-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARM GNU EABI5 Soft Float and Musl libc. + +XBPS_TARGET_MACHINE="armv5tel-musl" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="arm-linux-musleabi" +XBPS_CROSS_CFLAGS="-march=armv5te -msoft-float -mfloat-abi=soft" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="arm-unknown-linux-musleabi" +XBPS_CROSS_ZIG_TARGET="arm-linux-musleabi" +XBPS_CROSS_ZIG_CPU="generic+v5te+soft_float" diff --git a/common/cross-profiles/armv5tel.sh b/common/cross-profiles/armv5tel.sh new file mode 100644 index 0000000..f582836 --- /dev/null +++ b/common/cross-profiles/armv5tel.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARM GNU EABI5 Soft Float. + +XBPS_TARGET_MACHINE="armv5tel" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="arm-linux-gnueabi" +XBPS_CROSS_CFLAGS="-march=armv5te -msoft-float -mfloat-abi=soft" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="arm-unknown-linux-gnueabi" +XBPS_CROSS_ZIG_TARGET="arm-linux-gnueabi" +XBPS_CROSS_ZIG_CPU="generic+v5te+soft_float" diff --git a/common/cross-profiles/armv6hf-musl.sh b/common/cross-profiles/armv6hf-musl.sh new file mode 120000 index 0000000..001b61a --- /dev/null +++ b/common/cross-profiles/armv6hf-musl.sh @@ -0,0 +1 @@ +armv6l-musl.sh \ No newline at end of file diff --git a/common/cross-profiles/armv6hf.sh b/common/cross-profiles/armv6hf.sh new file mode 120000 index 0000000..26afeb1 --- /dev/null +++ b/common/cross-profiles/armv6hf.sh @@ -0,0 +1 @@ +armv6l.sh \ No newline at end of file diff --git a/common/cross-profiles/armv6l-musl.sh b/common/cross-profiles/armv6l-musl.sh new file mode 100644 index 0000000..5f32f9b --- /dev/null +++ b/common/cross-profiles/armv6l-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARM EABI5 Hard Float and Musl libc. + +XBPS_TARGET_MACHINE="armv6l-musl" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="arm-linux-musleabihf" +XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="arm-unknown-linux-musleabihf" +XBPS_CROSS_ZIG_TARGET="arm-linux-musleabihf" +XBPS_CROSS_ZIG_CPU="generic+v6" diff --git a/common/cross-profiles/armv6l.sh b/common/cross-profiles/armv6l.sh new file mode 100644 index 0000000..7040996 --- /dev/null +++ b/common/cross-profiles/armv6l.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARM GNU EABI5 Hard Float. + +XBPS_TARGET_MACHINE="armv6l" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="arm-linux-gnueabihf" +XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="arm-unknown-linux-gnueabihf" +XBPS_CROSS_ZIG_TARGET="arm-linux-gnueabihf" +XBPS_CROSS_ZIG_CPU="generic+v6" diff --git a/common/cross-profiles/armv7hf-musl.sh b/common/cross-profiles/armv7hf-musl.sh new file mode 120000 index 0000000..7f37aa0 --- /dev/null +++ b/common/cross-profiles/armv7hf-musl.sh @@ -0,0 +1 @@ +armv7l-musl.sh \ No newline at end of file diff --git a/common/cross-profiles/armv7hf.sh b/common/cross-profiles/armv7hf.sh new file mode 120000 index 0000000..a00f4c3 --- /dev/null +++ b/common/cross-profiles/armv7hf.sh @@ -0,0 +1 @@ +armv7l.sh \ No newline at end of file diff --git a/common/cross-profiles/armv7l-musl.sh b/common/cross-profiles/armv7l-musl.sh new file mode 100644 index 0000000..9a38832 --- /dev/null +++ b/common/cross-profiles/armv7l-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARMv7 EABI Hard Float and Musl libc. + +XBPS_TARGET_MACHINE="armv7l-musl" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="armv7l-linux-musleabihf" +XBPS_CROSS_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="armv7-unknown-linux-musleabihf" +XBPS_CROSS_ZIG_TARGET="arm-linux-musleabihf" +XBPS_CROSS_ZIG_CPU="generic+v7a+vfp3" diff --git a/common/cross-profiles/armv7l.sh b/common/cross-profiles/armv7l.sh new file mode 100644 index 0000000..b8c9c41 --- /dev/null +++ b/common/cross-profiles/armv7l.sh @@ -0,0 +1,12 @@ +# Cross build profile for ARMv7 GNU EABI Hard Float. + +XBPS_TARGET_MACHINE="armv7l" +XBPS_TARGET_QEMU_MACHINE="arm" +XBPS_CROSS_TRIPLET="armv7l-linux-gnueabihf" +XBPS_CROSS_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="armv7-unknown-linux-gnueabihf" +XBPS_CROSS_ZIG_TARGET="arm-linux-gnueabihf" +XBPS_CROSS_ZIG_CPU="generic+v7a+vfp3" diff --git a/common/cross-profiles/i686-musl.sh b/common/cross-profiles/i686-musl.sh new file mode 100644 index 0000000..c1cdf60 --- /dev/null +++ b/common/cross-profiles/i686-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for i686 and Musl libc. + +XBPS_TARGET_MACHINE="i686-musl" +XBPS_TARGET_QEMU_MACHINE="i386" +XBPS_CROSS_TRIPLET="i686-linux-musl" +XBPS_CROSS_CFLAGS="-march=i686" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="i686-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="i686-linux-musl" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/i686.sh b/common/cross-profiles/i686.sh new file mode 100644 index 0000000..16f4401 --- /dev/null +++ b/common/cross-profiles/i686.sh @@ -0,0 +1,12 @@ +# Cross build profile for i686 GNU. + +XBPS_TARGET_MACHINE="i686" +XBPS_TARGET_QEMU_MACHINE="i386" +XBPS_CROSS_TRIPLET="i686-pc-linux-gnu" +XBPS_CROSS_CFLAGS="-march=i686" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="i686-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="i386-linux-gnu" +XBPS_CROSS_ZIG_CPU="_i686+sse2" diff --git a/common/cross-profiles/mips-musl.sh b/common/cross-profiles/mips-musl.sh new file mode 100644 index 0000000..7c44de7 --- /dev/null +++ b/common/cross-profiles/mips-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for MIPS32 BE soft float. + +XBPS_TARGET_MACHINE="mips-musl" +XBPS_TARGET_QEMU_MACHINE="mips" +XBPS_CROSS_TRIPLET="mips-linux-musl" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="mips-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="mips-linux-musl" +XBPS_CROSS_ZIG_CPU="generic+soft_float" diff --git a/common/cross-profiles/mipsel-musl.sh b/common/cross-profiles/mipsel-musl.sh new file mode 100644 index 0000000..fa4390c --- /dev/null +++ b/common/cross-profiles/mipsel-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for MIPS32 LE soft float. + +XBPS_TARGET_MACHINE="mipsel-musl" +XBPS_TARGET_QEMU_MACHINE="mipsel" +XBPS_CROSS_TRIPLET="mipsel-linux-musl" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="mipsel-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="mipsel-linux-musl" +XBPS_CROSS_ZIG_CPU="generic+soft_float" diff --git a/common/cross-profiles/mipselhf-musl.sh b/common/cross-profiles/mipselhf-musl.sh new file mode 100644 index 0000000..49f4558 --- /dev/null +++ b/common/cross-profiles/mipselhf-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for MIPS32 LE hardfloat. + +XBPS_TARGET_MACHINE="mipselhf-musl" +XBPS_TARGET_QEMU_MACHINE="mipsel" +XBPS_CROSS_TRIPLET="mipsel-linux-muslhf" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -mhard-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="mipsel-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="mipsel-linux-musl" +XBPS_CROSS_ZIG_CPU="generic" diff --git a/common/cross-profiles/mipshf-musl.sh b/common/cross-profiles/mipshf-musl.sh new file mode 100644 index 0000000..513391b --- /dev/null +++ b/common/cross-profiles/mipshf-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for MIPS32 BE hard float. + +XBPS_TARGET_MACHINE="mipshf-musl" +XBPS_TARGET_QEMU_MACHINE="mips" +XBPS_CROSS_TRIPLET="mips-linux-muslhf" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -mhard-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="mips-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="mips-linux-musl" +XBPS_CROSS_ZIG_CPU="generic" diff --git a/common/cross-profiles/ppc-musl.sh b/common/cross-profiles/ppc-musl.sh new file mode 100644 index 0000000..327ae23 --- /dev/null +++ b/common/cross-profiles/ppc-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for PowerPC. + +XBPS_TARGET_MACHINE="ppc-musl" +XBPS_TARGET_QEMU_MACHINE="ppc" +XBPS_CROSS_TRIPLET="powerpc-linux-musl" +XBPS_CROSS_CFLAGS="-mtune=G4" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc-unknown-linux-musl" +XBPS_ZIG_TARGET="powerpc-linux-musl" +XBPS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/ppc.sh b/common/cross-profiles/ppc.sh new file mode 100644 index 0000000..787f6bb --- /dev/null +++ b/common/cross-profiles/ppc.sh @@ -0,0 +1,12 @@ +# Cross build profile for PowerPC. + +XBPS_TARGET_MACHINE="ppc" +XBPS_TARGET_QEMU_MACHINE="ppc" +XBPS_CROSS_TRIPLET="powerpc-linux-gnu" +XBPS_CROSS_CFLAGS="-mtune=G4" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc-unknown-linux-gnu" +XBPS_ZIG_TARGET="powerpc-linux-gnu" +XBPS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/ppc64-musl.sh b/common/cross-profiles/ppc64-musl.sh new file mode 100644 index 0000000..c4b0f35 --- /dev/null +++ b/common/cross-profiles/ppc64-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ppc64 big-endian musl. + +XBPS_TARGET_MACHINE="ppc64-musl" +XBPS_TARGET_QEMU_MACHINE="ppc64" +XBPS_CROSS_TRIPLET="powerpc64-linux-musl" +XBPS_CROSS_CFLAGS="-mcpu=970 -mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc64-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="powerpc64-linux-musl" +XBPS_CROSS_ZIG_CPU="970" diff --git a/common/cross-profiles/ppc64.sh b/common/cross-profiles/ppc64.sh new file mode 100644 index 0000000..7ed5bc0 --- /dev/null +++ b/common/cross-profiles/ppc64.sh @@ -0,0 +1,12 @@ +# Cross build profile for ppc64 big-endian GNU. + +XBPS_TARGET_MACHINE="ppc64" +XBPS_TARGET_QEMU_MACHINE="ppc64" +XBPS_CROSS_TRIPLET="powerpc64-linux-gnu" +XBPS_CROSS_CFLAGS="-mcpu=970 -mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc64-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="powerpc64-linux-gnu" +XBPS_CROSS_ZIG_CPU="970" diff --git a/common/cross-profiles/ppc64le-musl.sh b/common/cross-profiles/ppc64le-musl.sh new file mode 100644 index 0000000..df18c30 --- /dev/null +++ b/common/cross-profiles/ppc64le-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for ppc64 little-endian musl. + +XBPS_TARGET_MACHINE="ppc64le-musl" +XBPS_TARGET_QEMU_MACHINE="ppc64le" +XBPS_CROSS_TRIPLET="powerpc64le-linux-musl" +XBPS_CROSS_CFLAGS="-mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc64le-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="powerpc64le-linux-musl" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/ppc64le.sh b/common/cross-profiles/ppc64le.sh new file mode 100644 index 0000000..3fe7b2d --- /dev/null +++ b/common/cross-profiles/ppc64le.sh @@ -0,0 +1,12 @@ +# Cross build profile for ppc64 little-endian GNU. + +XBPS_TARGET_MACHINE="ppc64le" +XBPS_TARGET_QEMU_MACHINE="ppc64le" +XBPS_CROSS_TRIPLET="powerpc64le-linux-gnu" +XBPS_CROSS_CFLAGS="-mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpc64le-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="powerpc64le-linux-gnu" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/ppcle-musl.sh b/common/cross-profiles/ppcle-musl.sh new file mode 100644 index 0000000..48e27c0 --- /dev/null +++ b/common/cross-profiles/ppcle-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for little endian PowerPC. + +XBPS_TARGET_MACHINE="ppcle-musl" +XBPS_TARGET_QEMU_MACHINE="ppcle" +XBPS_CROSS_TRIPLET="powerpcle-linux-musl" +XBPS_CROSS_CFLAGS="-mcpu=power8 -mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpcle-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="powerpcle-linux-musl" +XBPS_CROSS_ZIG_CPU="pwr8" diff --git a/common/cross-profiles/ppcle.sh b/common/cross-profiles/ppcle.sh new file mode 100644 index 0000000..a591582 --- /dev/null +++ b/common/cross-profiles/ppcle.sh @@ -0,0 +1,12 @@ +# Cross build profile for little endian PowerPC. + +XBPS_TARGET_MACHINE="ppcle" +XBPS_TARGET_QEMU_MACHINE="ppcle" +XBPS_CROSS_TRIPLET="powerpcle-linux-gnu" +XBPS_CROSS_CFLAGS="-mcpu=power8 -mtune=power9" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="powerpcle-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="powerpcle-linux-gnu" +XBPS_CROSS_ZIG_CPU="pwr8" diff --git a/common/cross-profiles/riscv64.sh b/common/cross-profiles/riscv64.sh new file mode 100644 index 0000000..18103d0 --- /dev/null +++ b/common/cross-profiles/riscv64.sh @@ -0,0 +1,12 @@ +# Cross build profile for riscv64 and Musl libc. + +XBPS_TARGET_MACHINE="riscv64" +XBPS_TARGET_QEMU_MACHINE="riscv64" +XBPS_CROSS_TRIPLET="riscv64-linux-gnu" +XBPS_CROSS_CFLAGS="-march=rv64imafdc" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/x86_64-musl.sh b/common/cross-profiles/x86_64-musl.sh new file mode 100644 index 0000000..38642a0 --- /dev/null +++ b/common/cross-profiles/x86_64-musl.sh @@ -0,0 +1,12 @@ +# Cross build profile for x86_64 and Musl libc. + +XBPS_TARGET_MACHINE="x86_64-musl" +XBPS_TARGET_QEMU_MACHINE="x86_64" +XBPS_CROSS_TRIPLET="x86_64-linux-musl" +XBPS_CROSS_CFLAGS="-mtune=generic" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="x86_64-unknown-linux-musl" +XBPS_CROSS_ZIG_TARGET="x86_64-linux-musl" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/cross-profiles/x86_64.sh b/common/cross-profiles/x86_64.sh new file mode 100644 index 0000000..bd966d0 --- /dev/null +++ b/common/cross-profiles/x86_64.sh @@ -0,0 +1,12 @@ +# Cross build profile for x86_64 GNU. + +XBPS_TARGET_MACHINE="x86_64" +XBPS_TARGET_QEMU_MACHINE="x86_64" +XBPS_CROSS_TRIPLET="x86_64-linux-gnu" +XBPS_CROSS_CFLAGS="-mtune=generic" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS" +XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr" +XBPS_CROSS_RUST_TARGET="x86_64-unknown-linux-gnu" +XBPS_CROSS_ZIG_TARGET="x86_64-linux-gnu" +XBPS_CROSS_ZIG_CPU="baseline" diff --git a/common/environment/README b/common/environment/README new file mode 100644 index 0000000..2491ff5 --- /dev/null +++ b/common/environment/README @@ -0,0 +1,28 @@ +ENVIRONMENT SHELL SNIPPETS +========================== + +This directory contains shell files (must not be executable nor contain a shebang) +that are read by xbps-src when building source packages. The shell files +are read in lexical order (as ordered by shell rules). + +These files shall set or unset environment variables while building packages. +Only files with the `.sh' extension are read, so this file will be simply ignored. + +The following directories are used to set the order in which the shell snippets +should be read by xbps-src: + + * build-style (to set vars for a specific build_style helper) + * setup (before reading template) + * setup-subpkg (before running the subpkg _package() function) + * fetch (before running fetch phase) + * extract (before running extract phase) + * configure (before running configure phase) + * build (before running build phase) + * check (before running check phase) + * install (before running install phase) + * pkg (before running pkg phase) + +NOTES +~~~~~ +* Symlinks can be created (relative) to make a shell snippet available in + multiple phases. diff --git a/common/environment/build-style/.empty b/common/environment/build-style/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/build-style/R-cran.sh b/common/environment/build-style/R-cran.sh new file mode 100644 index 0000000..0cb7c90 --- /dev/null +++ b/common/environment/build-style/R-cran.sh @@ -0,0 +1,13 @@ +makedepends+=" R" +depends+=" R" +create_wrksrc=required +build_wrksrc="${pkgname#R-cran-}" + +# default to cran +if [ -z "$distfiles" ]; then + distfiles=" https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz" + case " $XBPS_DISTFILES_MIRROR " in + *" https://cran.r-project.org/src/contrib "*) ;; + *) XBPS_DISTFILES_MIRROR+=" https://cran.r-project.org/src/contrib" ;; + esac +fi diff --git a/common/environment/build-style/cargo.sh b/common/environment/build-style/cargo.sh new file mode 100644 index 0000000..473750c --- /dev/null +++ b/common/environment/build-style/cargo.sh @@ -0,0 +1,11 @@ +hostmakedepends+=" cargo" + +if ! [[ "$pkgname" =~ ^cargo-auditable(-bootstrap)?$ ]]; then + hostmakedepends+=" cargo-auditable" +fi + +if [ "$CROSS_BUILD" ]; then + makedepends+=" rust-std" +fi + +build_helper+=" rust" diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh new file mode 100644 index 0000000..19b8f35 --- /dev/null +++ b/common/environment/build-style/cmake.sh @@ -0,0 +1,10 @@ +if [ "$CHROOT_READY" ]; then + if [ "$pkgname" != cmake ]; then + hostmakedepends+=" cmake" + fi + if [ "${make_cmd:-ninja}" = ninja ]; then + hostmakedepends+=" ninja" + fi +fi + +export CTEST_OUTPUT_ON_FAILURE=TRUE diff --git a/common/environment/build-style/gem.sh b/common/environment/build-style/gem.sh new file mode 100644 index 0000000..73a97bd --- /dev/null +++ b/common/environment/build-style/gem.sh @@ -0,0 +1,8 @@ +lib32disabled=yes +hostmakedepends+=" ruby" +depends+=" ruby" + +# default to rubygems +if [ -z "$distfiles" ]; then + distfiles="https://rubygems.org/downloads/${pkgname#ruby-}-${version}.gem" +fi diff --git a/common/environment/build-style/gemspec.sh b/common/environment/build-style/gemspec.sh new file mode 100644 index 0000000..b3025a9 --- /dev/null +++ b/common/environment/build-style/gemspec.sh @@ -0,0 +1,3 @@ +lib32disabled=yes +hostmakedepends+=" ruby-devel" +makedepends+=" ruby-devel" diff --git a/common/environment/build-style/go.sh b/common/environment/build-style/go.sh new file mode 100644 index 0000000..68f88c6 --- /dev/null +++ b/common/environment/build-style/go.sh @@ -0,0 +1,50 @@ +if [ -z "$hostmakedepends" -o "${hostmakedepends##*gcc-go-tools*}" ]; then + # gc compiler + if [ -z "$archs" ]; then + archs="aarch64* armv[567]* i686* x86_64* ppc64le*" + fi + hostmakedepends+=" go" + nopie=yes +else + # gccgo compiler + if [ -z "$archs" ]; then + # we have support for these in our gcc + archs="aarch64* armv[567]* i686* x86_64* ppc64*" + fi + if [ "$CROSS_BUILD" ]; then + # target compiler to use; otherwise it'll just call gccgo + export GCCGO="${XBPS_CROSS_TRIPLET}-gccgo" + fi +fi + +case "$XBPS_TARGET_MACHINE" in + aarch64*) export GOARCH=arm64;; + armv5*) export GOARCH=arm; export GOARM=5;; + armv6*) export GOARCH=arm; export GOARM=6;; + armv7*) export GOARCH=arm; export GOARM=7;; + i686*) export GOARCH=386;; + x86_64*) export GOARCH=amd64;; + ppc64le*) export GOARCH=ppc64le;; + ppc64*) export GOARCH=ppc64;; + ppc*) export GOARCH=ppc;; + mipsel*) export GOARCH=mipsle;; + mips*) export GOARCH=mips;; +esac + +export GOPATH="${wrksrc}/_build-${pkgname}-xbps" +GOSRCPATH="${GOPATH}/src/${go_import_path}" +export CGO_CFLAGS="$CFLAGS" +export CGO_CPPFLAGS="$CPPFLAGS" +export CGO_CXXFLAGS="$CXXFLAGS" +export CGO_LDFLAGS="$LDFLAGS" +export CGO_ENABLED="${CGO_ENABLED:-1}" +export GO111MODULE=auto +case "$XBPS_TARGET_MACHINE" in + *-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;; + *) export GOCACHE="${XBPS_HOSTDIR}/gocache-glibc" ;; +esac + +case "$XBPS_TARGET_MACHINE" in + # https://go.dev/cl/421935 + i686*) export CGO_CFLAGS="$CGO_CFLAGS -fno-stack-protector" ;; +esac diff --git a/common/environment/build-style/haskell-stack.sh b/common/environment/build-style/haskell-stack.sh new file mode 100644 index 0000000..6b47c12 --- /dev/null +++ b/common/environment/build-style/haskell-stack.sh @@ -0,0 +1 @@ +hostmakedepends+=" ghc stack" diff --git a/common/environment/build-style/meson.sh b/common/environment/build-style/meson.sh new file mode 100644 index 0000000..d5a3c41 --- /dev/null +++ b/common/environment/build-style/meson.sh @@ -0,0 +1 @@ +hostmakedepends+=" meson" diff --git a/common/environment/build-style/perl-ModuleBuild.sh b/common/environment/build-style/perl-ModuleBuild.sh new file mode 100644 index 0000000..60d6771 --- /dev/null +++ b/common/environment/build-style/perl-ModuleBuild.sh @@ -0,0 +1,3 @@ +hostmakedepends+=" perl" +makedepends+=" perl" +lib32disabled=yes diff --git a/common/environment/build-style/perl-module.sh b/common/environment/build-style/perl-module.sh new file mode 100644 index 0000000..300ed9b --- /dev/null +++ b/common/environment/build-style/perl-module.sh @@ -0,0 +1,4 @@ +hostmakedepends+=" perl" +makedepends+=" perl" +depends+=" perl" +lib32disabled=yes diff --git a/common/environment/build-style/python2-module.sh b/common/environment/build-style/python2-module.sh new file mode 100644 index 0000000..3a3699b --- /dev/null +++ b/common/environment/build-style/python2-module.sh @@ -0,0 +1,2 @@ +lib32disabled=yes +makedepends+=" python" diff --git a/common/environment/build-style/python3-module.sh b/common/environment/build-style/python3-module.sh new file mode 100644 index 0000000..638f6be --- /dev/null +++ b/common/environment/build-style/python3-module.sh @@ -0,0 +1,3 @@ +lib32disabled=yes +makedepends+=" python3" +build_helper+=" python3" diff --git a/common/environment/build-style/python3-pep517.sh b/common/environment/build-style/python3-pep517.sh new file mode 100644 index 0000000..f4faf98 --- /dev/null +++ b/common/environment/build-style/python3-pep517.sh @@ -0,0 +1,3 @@ +hostmakedepends+=" python3-build python3-installer" +lib32disabled=yes +build_helper+=" python3" diff --git a/common/environment/build-style/raku-dist.sh b/common/environment/build-style/raku-dist.sh new file mode 100644 index 0000000..01dc08f --- /dev/null +++ b/common/environment/build-style/raku-dist.sh @@ -0,0 +1,3 @@ +depends+=" rakudo" +checkdepends+=" perl" +hostmakedepends+=" rakudo" diff --git a/common/environment/build-style/ruby-module.sh b/common/environment/build-style/ruby-module.sh new file mode 100644 index 0000000..2444d3d --- /dev/null +++ b/common/environment/build-style/ruby-module.sh @@ -0,0 +1 @@ +lib32disabled=yes diff --git a/common/environment/build-style/scons.sh b/common/environment/build-style/scons.sh new file mode 100644 index 0000000..614fb2c --- /dev/null +++ b/common/environment/build-style/scons.sh @@ -0,0 +1 @@ +hostmakedepends+=" scons" diff --git a/common/environment/build-style/texmf.sh b/common/environment/build-style/texmf.sh new file mode 100644 index 0000000..b0ecf47 --- /dev/null +++ b/common/environment/build-style/texmf.sh @@ -0,0 +1,4 @@ +# rsync isn't needed for everything but it's far easier to just put it here +hostmakedepends+=" rsync" +# python_version isn't needed for everything either +python_version=3 diff --git a/common/environment/build-style/texmf/ownership.txt b/common/environment/build-style/texmf/ownership.txt new file mode 100644 index 0000000..01dcd2f --- /dev/null +++ b/common/environment/build-style/texmf/ownership.txt @@ -0,0 +1,215 @@ +dvipdfmx/dvipdfmx.cfg texlive +dvips/base/color.pro texlive +dvips/base/crop.pro texlive +dvips/base/finclude.pro texlive +dvips/base/hps.pro texlive +dvips/base/special.pro texlive +dvips/base/texc.pro texlive +dvips/base/tex.pro texlive +dvips/base/texps.pro texlive +dvips/gsftopk/render.ps texlive +dvips/xdvi/config.xdvi texlive +fonts/cmap/dvipdfmx/EUC-UCS2 texlive +fonts/enc/dvips/base/dvips-all.enc texlive +fonts/map/dvipdfmx/cid-x.map texlive +fonts/map/glyphlist/glyphlist.txt texlive +fonts/map/glyphlist/pdfglyphlist.txt texlive +psutils/paper.cfg texlive +scripts/a2ping/a2ping.pl texlive +scripts/accfonts/mkt1font texlive +scripts/accfonts/vpl2ovp texlive +scripts/accfonts/vpl2vpl texlive +scripts/adhocfilelist/adhocfilelist.sh texlive +scripts/albatross/albatross.sh texlive +scripts/arara/arara.sh texlive +scripts/attachfile2/pdfatfi.pl texlive +scripts/authorindex/authorindex texlive +scripts/bib2gls/bib2gls.sh texlive +scripts/bib2gls/convertgls2bib.sh texlive +scripts/bibexport/bibexport.sh texlive +scripts/bundledoc/arlatex texlive +scripts/bundledoc/bundledoc texlive +scripts/cachepic/cachepic.tlu texlive-pictures +scripts/checkcites/checkcites.lua texlive +scripts/checklistings/checklistings.sh texlive +scripts/chklref/chklref.pl texlive +scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive +scripts/clojure-pamphlet/pamphletangler texlive +scripts/cluttex/cluttex.lua texlive +scripts/context/perl/mptopdf.pl texlive +scripts/context/stubs/unix/contextjit texlive +scripts/context/stubs/unix/context texlive +scripts/context/stubs/unix/luatools texlive +scripts/context/stubs/unix/mtxrunjit texlive +scripts/context/stubs/unix/mtxrun texlive +scripts/context/stubs/unix/texexec texlive +scripts/context/stubs/unix/texmfstart texlive +scripts/convbkmk/convbkmk.rb texlive-langjapanese +scripts/crossrefware/bbl2bib.pl texlive +scripts/crossrefware/bibdoiadd.pl texlive +scripts/crossrefware/bibmradd.pl texlive +scripts/crossrefware/biburl2doi.pl texlive +scripts/crossrefware/bibzbladd.pl texlive +scripts/crossrefware/ltx2crossrefxml.pl texlive +scripts/ctanbib/ctanbib texlive +scripts/ctanify/ctanify texlive +scripts/ctan-o-mat/ctan-o-mat.pl texlive +scripts/ctanupload/ctanupload.pl texlive +scripts/de-macro/de-macro texlive +scripts/diadia/diadia.lua texlive-humanities +scripts/dosepsbin/dosepsbin.pl texlive +scripts/dtxgen/dtxgen texlive +scripts/dviasm/dviasm.py texlive +scripts/dviinfox/dviinfox.pl texlive +scripts/epspdf/epspdftk.tcl texlive +scripts/epspdf/epspdf.tlu texlive +scripts/epstopdf/epstopdf.pl texlive +scripts/exceltex/exceltex texlive +scripts/fig4latex/fig4latex texlive-pictures +scripts/findhyph/findhyph texlive +scripts/fontools/afm2afm texlive +scripts/fontools/autoinst texlive +scripts/fontools/ot2kpx texlive +scripts/fragmaster/fragmaster.pl texlive +scripts/getmap/getmapdl.lua texlive +scripts/git-latexdiff/git-latexdiff texlive +scripts/glossaries/makeglossaries-lite.lua texlive +scripts/glossaries/makeglossaries texlive +scripts/hyperxmp/hyperxmp-add-bytecount.pl texlive +scripts/installfont/installfont-tl texlive +scripts/jfmutil/jfmutil.pl texlive +scripts/ketcindy/ketcindy.pl texlive +scripts/kotex-utils/jamo-normalize.pl texlive-langkorean +scripts/kotex-utils/komkindex.pl texlive-langkorean +scripts/kotex-utils/ttf2kotexfont.pl texlive-langkorean +scripts/l3build/l3build.lua texlive-latexextra +scripts/latex2man/latex2man texlive +scripts/latex2nemeth/latex2nemeth texlive +scripts/latexdiff/latexdiff.pl texlive +scripts/latexdiff/latexdiff-vc.pl texlive +scripts/latexdiff/latexrevise.pl texlive +scripts/latexfileversion/latexfileversion texlive +scripts/latex-git-log/latex-git-log texlive +scripts/latexindent/latexindent.pl texlive +scripts/latexmk/latexmk.pl texlive +scripts/latexpand/latexpand texlive +scripts/latex-papersize/latex-papersize.py texlive +scripts/light-latex-make/llmk.lua texlive +scripts/lilyglyphs/lily-glyph-commands.py texlive-music +scripts/lilyglyphs/lily-image-commands.py texlive-music +scripts/lilyglyphs/lily-rebuild-pdfs.py texlive-music +scripts/listbib/listbib texlive +scripts/listings-ext/listings-ext.sh texlive +scripts/ltxfileinfo/ltxfileinfo texlive +scripts/ltximg/ltximg.pl texlive +scripts/luaotfload/luaotfload-tool.lua texlive +scripts/lwarp/lwarpmk.lua texlive +scripts/make4ht/make4ht texlive +scripts/makedtx/makedtx.pl texlive +scripts/match_parens/match_parens texlive +scripts/mathspic/mathspic.pl texlive-pictures +scripts/mf2pt1/mf2pt1.pl texlive +scripts/mkgrkindex/mkgrkindex texlive-langgreek +scripts/mkjobtexmf/mkjobtexmf.pl texlive +scripts/mkpic/mkpic texlive-pictures +scripts/m-tx/m-tx.lua texlive-music +scripts/multibibliography/multibibliography.pl texlive +scripts/musixtex/musixflx.lua texlive-music +scripts/musixtex/musixtex.lua texlive-music +scripts/pax/pdfannotextractor.pl texlive +scripts/pdfbook2/pdfbook2 texlive +scripts/pdfcrop/pdfcrop.pl texlive +scripts/pdfjam/pdfjam texlive +scripts/pdflatexpicscale/pdflatexpicscale.pl texlive +scripts/pdftex-quiet/pdftex-quiet texlive +scripts/pdfxup/pdfxup texlive +scripts/pedigree-perl/pedigree.pl texlive-pstricks +scripts/perltex/perltex.pl texlive +scripts/petri-nets/pn2pdf texlive +scripts/tikztosvg/tikztosvg texlive-pictures +scripts/pfarrei/a5toa4.tlu texlive +scripts/pfarrei/pfarrei.tlu texlive +scripts/pkfix-helper/pkfix-helper texlive +scripts/pkfix/pkfix.pl texlive +scripts/pmxchords/pmxchords.lua texlive-music +scripts/ps2eps/ps2eps.pl texlive +scripts/pst2pdf/pst2pdf.pl texlive-pstricks +scripts/pst-pdf/ps4pdf texlive-pstricks +scripts/psutils/extractres.pl texlive +scripts/psutils/includeres.pl texlive +scripts/psutils/psjoin.pl texlive +scripts/ptex2pdf/ptex2pdf.lua texlive +scripts/ptex-fontmaps/kanji-config-updmap.pl texlive-langjapanese +scripts/ptex-fontmaps/kanji-config-updmap-sys.sh texlive-langjapanese +scripts/ptex-fontmaps/kanji-config-updmap-user.sh texlive-langjapanese +scripts/ptex-fontmaps/kanji-fontmap-creator.pl texlive-langjapanese +scripts/purifyeps/purifyeps texlive +scripts/pygmentex/pygmentex.py texlive-latexextra +scripts/pythontex/depythontex.py texlive +scripts/pythontex/pythontex.py texlive +scripts/rubik/rubikrotation.pl texlive-games +scripts/simpdftex/simpdftex texlive +scripts/spix/spix.py texlive +scripts/splitindex/splitindex.pl texlive +scripts/srcredact/srcredact.pl texlive +scripts/sty2dtx/sty2dtx.pl texlive +scripts/svn-multi/svn-multi.pl texlive +scripts/tex4ebook/tex4ebook texlive +scripts/texcount/texcount.pl texlive +scripts/texdef/texdef.pl texlive +scripts/texdiff/texdiff texlive +scripts/texdirflatten/texdirflatten texlive +scripts/texdoc/texdoc.tlu texlive +scripts/texdoctk/texdoctk.pl texlive +scripts/texfot/texfot.pl texlive +scripts/texlive-extra/allcm.sh texlive +scripts/texlive-extra/allneeded.sh texlive +scripts/texlive-extra/dvi2fax.sh texlive +scripts/texlive-extra/dvired.sh texlive +scripts/texlive-extra/e2pall.pl texlive +scripts/texlive-extra/fontinst.sh texlive +scripts/texlive-extra/kpsetool.sh texlive +scripts/texlive-extra/kpsewhere.sh texlive +scripts/texlive-extra/ps2frag.sh texlive +scripts/texlive-extra/pslatex.sh texlive +scripts/texlive-extra/rubibtex.sh texlive-langcyrillic +scripts/texlive-extra/rumakeindex.sh texlive-langcyrillic +scripts/texlive-extra/texconfig-dialog.sh texlive +scripts/texlive-extra/texconfig.sh texlive +scripts/texlive-extra/texconfig-sys.sh texlive +scripts/texlive-extra/texlinks.sh texlive +scripts/texlive/fmtutil.pl texlive +scripts/texlive/fmtutil-sys.sh texlive +scripts/texlive/fmtutil-user.sh texlive +scripts/texlive/mktexlsr texlive +scripts/texlive/mktexmf texlive +scripts/texlive/mktexpk texlive +scripts/texlive/mktextfm texlive +scripts/texliveonfly/texliveonfly.py texlive +scripts/texlive/rungs.tlu texlive +scripts/texlive/tlmgr.pl texlive +scripts/texlive/updmap.pl texlive +scripts/texlive/updmap-sys.sh texlive +scripts/texlive/updmap-user.sh texlive +scripts/texloganalyser/texloganalyser texlive +scripts/texosquery/texosquery-jre5.sh texlive +scripts/texosquery/texosquery-jre8.sh texlive +scripts/texosquery/texosquery.sh texlive +scripts/texplate/texplate.sh texlive +scripts/thumbpdf/thumbpdf.pl texlive +scripts/tlshell/tlshell.tcl texlive +scripts/typeoutfileinfo/typeoutfileinfo.sh texlive +scripts/ulqda/ulqda.pl texlive-science +scripts/urlbst/urlbst texlive +scripts/vpe/vpe.pl texlive +scripts/webquiz/webquiz.py texlive +scripts/wordcount/wordcount.sh texlive +scripts/xindex/xindex.lua texlive +scripts/yplan/yplan texlive +texconfig/tcfmgr.map texlive +texconfig/tcfmgr texlive +web2c/fmtutil.cnf texlive +web2c/texmf.cnf texlive +xdvi/pixmap/toolbar2.xpm texlive +xdvi/pixmap/toolbar.xpm texlive +xdvi/XDvi texlive diff --git a/common/environment/build-style/void-cross.sh b/common/environment/build-style/void-cross.sh new file mode 100644 index 0000000..40df98e --- /dev/null +++ b/common/environment/build-style/void-cross.sh @@ -0,0 +1,5 @@ +lib32disabled=yes +nopie=yes + +nostrip_files+=" libcaf_single.a libgcc.a libgcov.a libgcc_eh.a + libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a libgmem.a" diff --git a/common/environment/build-style/waf.sh b/common/environment/build-style/waf.sh new file mode 100644 index 0000000..f5deafb --- /dev/null +++ b/common/environment/build-style/waf.sh @@ -0,0 +1 @@ +hostmakedepends+=" python" diff --git a/common/environment/build-style/waf3.sh b/common/environment/build-style/waf3.sh new file mode 100644 index 0000000..471e0da --- /dev/null +++ b/common/environment/build-style/waf3.sh @@ -0,0 +1 @@ +hostmakedepends+=" python3" diff --git a/common/environment/build-style/zig-build.sh b/common/environment/build-style/zig-build.sh new file mode 100644 index 0000000..049b7cd --- /dev/null +++ b/common/environment/build-style/zig-build.sh @@ -0,0 +1 @@ +hostmakedepends+=" zig" diff --git a/common/environment/build/.empty b/common/environment/build/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/build/bootstrap.sh b/common/environment/build/bootstrap.sh new file mode 120000 index 0000000..a0cf1d2 --- /dev/null +++ b/common/environment/build/bootstrap.sh @@ -0,0 +1 @@ +../configure/bootstrap.sh \ No newline at end of file diff --git a/common/environment/build/ccache.sh b/common/environment/build/ccache.sh new file mode 120000 index 0000000..b5ed088 --- /dev/null +++ b/common/environment/build/ccache.sh @@ -0,0 +1 @@ +../configure/ccache.sh \ No newline at end of file diff --git a/common/environment/build/cross.sh b/common/environment/build/cross.sh new file mode 120000 index 0000000..43f6c48 --- /dev/null +++ b/common/environment/build/cross.sh @@ -0,0 +1 @@ +../configure/cross.sh \ No newline at end of file diff --git a/common/environment/build/debug-debug-prefix-map.sh b/common/environment/build/debug-debug-prefix-map.sh new file mode 120000 index 0000000..98c260a --- /dev/null +++ b/common/environment/build/debug-debug-prefix-map.sh @@ -0,0 +1 @@ +../configure/debug-debug-prefix-map.sh \ No newline at end of file diff --git a/common/environment/build/hardening.sh b/common/environment/build/hardening.sh new file mode 120000 index 0000000..f043590 --- /dev/null +++ b/common/environment/build/hardening.sh @@ -0,0 +1 @@ +../configure/hardening.sh \ No newline at end of file diff --git a/common/environment/build/pkg-config.sh b/common/environment/build/pkg-config.sh new file mode 120000 index 0000000..b8f8c44 --- /dev/null +++ b/common/environment/build/pkg-config.sh @@ -0,0 +1 @@ +../configure/pkg-config.sh \ No newline at end of file diff --git a/common/environment/check/bootstrap.sh b/common/environment/check/bootstrap.sh new file mode 120000 index 0000000..a0cf1d2 --- /dev/null +++ b/common/environment/check/bootstrap.sh @@ -0,0 +1 @@ +../configure/bootstrap.sh \ No newline at end of file diff --git a/common/environment/check/ccache.sh b/common/environment/check/ccache.sh new file mode 120000 index 0000000..b5ed088 --- /dev/null +++ b/common/environment/check/ccache.sh @@ -0,0 +1 @@ +../configure/ccache.sh \ No newline at end of file diff --git a/common/environment/check/cross.sh b/common/environment/check/cross.sh new file mode 120000 index 0000000..43f6c48 --- /dev/null +++ b/common/environment/check/cross.sh @@ -0,0 +1 @@ +../configure/cross.sh \ No newline at end of file diff --git a/common/environment/check/debug-debug-prefix-map.sh b/common/environment/check/debug-debug-prefix-map.sh new file mode 120000 index 0000000..98c260a --- /dev/null +++ b/common/environment/check/debug-debug-prefix-map.sh @@ -0,0 +1 @@ +../configure/debug-debug-prefix-map.sh \ No newline at end of file diff --git a/common/environment/check/hardening.sh b/common/environment/check/hardening.sh new file mode 120000 index 0000000..f043590 --- /dev/null +++ b/common/environment/check/hardening.sh @@ -0,0 +1 @@ +../configure/hardening.sh \ No newline at end of file diff --git a/common/environment/check/no_display.sh b/common/environment/check/no_display.sh new file mode 100644 index 0000000..b7a905f --- /dev/null +++ b/common/environment/check/no_display.sh @@ -0,0 +1 @@ +export QT_QPA_PLATFORM=${QT_QPA_PLATFORM:-offscreen} diff --git a/common/environment/check/pkg-config.sh b/common/environment/check/pkg-config.sh new file mode 120000 index 0000000..b8f8c44 --- /dev/null +++ b/common/environment/check/pkg-config.sh @@ -0,0 +1 @@ +../configure/pkg-config.sh \ No newline at end of file diff --git a/common/environment/configure/.empty b/common/environment/configure/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/configure/autoconf_cache/aarch64-linux b/common/environment/configure/autoconf_cache/aarch64-linux new file mode 100644 index 0000000..4367f91 --- /dev/null +++ b/common/environment/configure/autoconf_cache/aarch64-linux @@ -0,0 +1,147 @@ +## # general +ac_cv_va_val_copy=${ac_cv_va_val_copy=yes} +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +## ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +## ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} +## ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} +## ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +## ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} +## ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} +## ac_cv_linux_vers=${ac_cv_linux_vers=2} +## ac_cv_need_trio=${ac_cv_need_trio=no} +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_long=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_void_p=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_bool=1 +## ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} +## ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8} +## ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +## ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8} +ac_cv_sizeof_unsigned_short=2 +## ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +## ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8} +## ac_cv_sizeof_uid_t=${ac_cv_sizeof_uid_t=4} +## ac_cv_sizeof_gid_t=${ac_cv_sizeof_gid_t=4} +## ac_cv_sizeof_ino_t=${ac_cv_sizeof_ino_t=8} +## ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8} +## ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8} +## ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no} +## db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'} +## db_cv_align_t=${db_cv_align_t='unsigned long long'} +## db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +## db_cv_sprintf_count=${db_cv_sprintf_count=yes} +## ac_cv_sizeof_struct_iovec=16 + +# glib +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=8 +ac_cv_alignof_char=1 +ac_cv_alignof_double=8 + +## nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} +## samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes} +## utils_cv_sys_open_max=${utils_cv_sys_open_max=1015} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +#gcc +ac_cv_lib_m_sin=${ac_cv_lib_m_sin=yes} + +#orbit +libIDL_cv_long_long_format=ll + +## # ORBit2 +## ac_cv_alignof_CORBA_boolean=1 +## ac_cv_alignof_CORBA_char=1 +## ac_cv_alignof_CORBA_double=8 +## ac_cv_alignof_CORBA_float=4 +## ac_cv_alignof_CORBA_long=4 +## ac_cv_alignof_CORBA_long_double=8 +## ac_cv_alignof_CORBA_long_long=8 +## ac_cv_alignof_CORBA_octet=1 +## ac_cv_alignof_CORBA_pointer=8 +## ac_cv_alignof_CORBA_short=2 +## ac_cv_alignof_CORBA_struct=1 +## ac_cv_alignof_CORBA_wchar=2 +## +## lf_cv_sane_realloc=yes +as_cv_unaligned_access=${as_cv_unaligned_access=no} +## +## #unfs3 +## nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0} +## nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize} +## nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes} + +#apr +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# lftp +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +## # at-spi2-core +ac_cv_alignof_dbind_pointer=8 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 + +## # socat +sc_cv_type_dev_basic='6 /* unsigned long */' +sc_cv_type_gidt_basic='4 /* unsigned int */' +sc_cv_type_longlong=yes +sc_cv_type_modet_basic='4 /* unsigned int */' +sc_cv_type_off64=yes +sc_cv_type_off64_basic='5 /* long */' +sc_cv_type_off_basic='5 /* long */' +sc_cv_type_pidt_basic='3 /* int */' +sc_cv_type_rlimit_rlimmax_basic='6 /* unsigned long */' +sc_cv_type_sa_family_t=yes +sc_cv_type_sighandler=yes +sc_cv_type_sizet_basic='6 /* unsigned long */' +sc_cv_type_socklen=yes +sc_cv_type_socklent_basic='4 /* unsigned int */' +sc_cv_type_stat64=yes +sc_cv_type_stat64_stblksize_basic='3 /* int */' +sc_cv_type_stat64_stblocks_basic='5 /* long */' +sc_cv_type_stat64_stdev_basic='6 /* unsigned long */' +sc_cv_type_stat64_stino_basic='6 /* unsigned long */' +sc_cv_type_stat64_stnlink_basic='4 /* unsigned int */' +sc_cv_type_stat64_stsize_basic='5 /* long */' +sc_cv_type_stat_stblksize_basic='3 /* int */' +sc_cv_type_stat_stblocks_basic='5 /* long */' +sc_cv_type_stat_stino_basic='6 /* unsigned long */' +sc_cv_type_stat_stnlink_basic='4 /* unsigned int */' +sc_cv_type_stat_stsize_basic='5 /* long */' +sc_cv_type_struct_timeval_tv_usec='5 /* long */' +sc_cv_type_timet_basic='5 /* long */' +sc_cv_type_uidt_basic='4 /* unsigned int */' +sc_cv_type_uint16=yes +sc_cv_type_uint32=yes +sc_cv_type_uint64=yes +sc_cv_type_uint8=yes +sc_cv_typeof_struct_cmsghdr_cmsg_len='6 /* unsigned long */' diff --git a/common/environment/configure/autoconf_cache/arm-common b/common/environment/configure/autoconf_cache/arm-common new file mode 100644 index 0000000..3526b77 --- /dev/null +++ b/common/environment/configure/autoconf_cache/arm-common @@ -0,0 +1,232 @@ +# general +ac_cv_va_val_copy=${ac_cv_va_val_copy=yes} +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} +ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no} +ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no} +ac_cv_sctp=${ac_cv_sctp=no} +ac_cv_sizeof_struct_iovec=8 + +# apache +ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes} +apr_cv_process_shared_works=${apr_cv_process_shared_works=no} +ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4} +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=yes} + +# coreutils +utils_cv_sys_open_max=${utils_cv_sys_open_max=1019} + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# db (sleepycat) +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# edb +db_cv_spinlocks=${db_cv_spinlocks=no} + +# ettercap +ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} +compat_cv_func_basename_works=${compat_cv_func_basename_works=no} +compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no} + +# fnmatch +ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# glib +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes} +glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes} +glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes} + +# glib-2.0 +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8} +glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4} +glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=4 + +#gstreamer +as_cv_unaligned_access=${as_cv_unaligned_access=no} + +# httppc +ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no} + +# jikes +ac_cv_sizeof_wchar_t=4 + +# lftp +ac_cv_need_trio=${ac_cv_need_trio=no} +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# libesmtp +acx_working_snprintf=${acx_working_snprintf=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# libnet +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# libxfce4util +with_broken_putenv=${with_broken_putenv=no} + +# links +ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes} + +# mysql +mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no} +mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no} + +# nano +ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no} +nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} + +# ORBit2 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_double=8 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_double=8 +ac_cv_alignof_CORBA_long_long=8 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_pointer=4 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_struct=1 +ac_cv_alignof_CORBA_wchar=2 + +# php +ac_cv_pread=${ac_cv_pread=no} +ac_cv_pwrite=${ac_cv_pwrite=no} +php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes} + +# rsync +rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no} +rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes} +rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes} +rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no} +rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no} +rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no} +rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no} +rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes} +rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes} +rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes} +rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no} +rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no} + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# socat +sc_cv_sys_crdly_shift=9 +sc_cv_sys_csize_shift=4 +sc_cv_sys_tabdly_shift=11 +sc_cv_type_dev_basic='8 /* unsigned long long */' +sc_cv_type_gidt_basic='4 /* unsigned int */' +sc_cv_type_longlong=yes +sc_cv_type_modet_basic='4 /* unsigned int */' +sc_cv_type_off64=no +sc_cv_type_off64_basic='0 /* unknown */' +sc_cv_type_off_basic='3 /* int */' +sc_cv_type_pidt_basic='3 /* int */' +sc_cv_type_rlimit_rlimmax_basic='4 /* unsigned int */' +sc_cv_type_sa_family_t=yes +sc_cv_type_sighandler=no +sc_cv_type_sizet_basic='4 /* unsigned int */' +sc_cv_type_socklen=yes +sc_cv_type_socklent_basic='4 /* unsigned int */' +sc_cv_type_stat64=no +sc_cv_type_stat64_stblksize_basic='0 /* unknown */' +sc_cv_type_stat64_stblocks_basic='0 /* unknown */' +sc_cv_type_stat64_stdev_basic='0 /* unknown */' +sc_cv_type_stat64_stino_basic='0 /* unknown */' +sc_cv_type_stat64_stnlink_basic='0 /* unknown */' +sc_cv_type_stat64_stsize_basic='0 /* unknown */' +sc_cv_type_stat_stblksize_basic='3 /* int */' +sc_cv_type_stat_stblocks_basic='3 /* int */' +sc_cv_type_stat_stino_basic='4 /* unsigned int */' +sc_cv_type_stat_stnlink_basic='4 /* unsigned int */' +sc_cv_type_stat_stsize_basic='3 /* int */' +sc_cv_type_struct_timeval_tv_usec='3 /* int */' +sc_cv_type_timet_basic='3 /* int */' +sc_cv_type_uidt_basic='4 /* unsigned int */' +sc_cv_type_uint16=yes +sc_cv_type_uint32=yes +sc_cv_type_uint64=yes +sc_cv_type_uint8=yes +sc_cv_typeof_struct_cmsghdr_cmsg_len='4 /* unsigned int */' + +# ssh +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes} + +# startup-notification +lf_cv_sane_realloc=yes + +# xffm +jm_cv_func_working_readdir=yes + +# evolution-data-server +ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes} + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=4 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 +ac_cv_alignof_double=8 diff --git a/common/environment/configure/autoconf_cache/arm-linux b/common/environment/configure/autoconf_cache/arm-linux new file mode 100644 index 0000000..d74f06b --- /dev/null +++ b/common/environment/configure/autoconf_cache/arm-linux @@ -0,0 +1,157 @@ +ac_cv_func_setvbuf_reversed=no +ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0} +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_wchar_t=${ac_cv_sizeof_wchar_t=4} +ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1} +ac_cv_sizeof_bool=${ac_cv_sizeof_bool=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_int_p=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=4} +ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=4} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} +ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_double=${ac_cv_sizeof_double=8} +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8} +ac_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_unsigned=${ac_cv_sizeof_unsigned=4} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4} +ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8} +ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1} + +ac_cv_uchar=${ac_cv_uchar=no} +ac_cv_uint=${ac_cv_uint=yes} +ac_cv_ulong=${ac_cv_ulong=yes} +ac_cv_ushort=${ac_cv_ushort=yes} +ac_cv_time_r_type=${ac_cv_time_r_type=POSIX} + +# samba +samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=${samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes} +samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=${samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no} +samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no} +samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no} +samba_cv_HAVE_BROKEN_LINUX_SENDFILE=${samba_cv_HAVE_BROKEN_LINUX_SENDFILE=yes} +samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=yes} +samba_cv_HAVE_BROKEN_READDIR_NAME=${samba_cv_HAVE_BROKEN_READDIR_NAME=no} +samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes} +samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no} +samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes} +samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes} +samba_cv_HAVE_DQB_FSOFTLIMIT=${samba_cv_HAVE_DQB_FSOFTLIMIT=no} +samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes} +samba_cv_HAVE_FAM_H=${samba_cv_HAVE_FAM_H=no} +samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes} +samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes} +samba_cv_HAVE_FUNCTION_MACRO=${samba_cv_HAVE_FUNCTION_MACRO=yes} +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} +samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no} +samba_cv_HAVE_INT16_FROM_RPC_RPC_H=${samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no} +samba_cv_HAVE_INT32_FROM_RPC_RPC_H=${samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no} +samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes} +samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes} +samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes} +samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes} +samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes} +samba_cv_HAVE_NATIVE_ICONV=${samba_cv_HAVE_NATIVE_ICONV=yes} +samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no} +samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=yes} +samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=${samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no} +samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes} +samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes} +samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes} +samba_cv_HAVE_SOCK_SIN_LEN=${samba_cv_HAVE_SOCK_SIN_LEN=no} +samba_cv_HAVE_STAT_ST_BLKSIZE=${samba_cv_HAVE_STAT_ST_BLKSIZE=yes} +samba_cv_HAVE_STAT_ST_BLOCKS=${samba_cv_HAVE_STAT_ST_BLOCKS=yes} +samba_cv_HAVE_STRUCT_DIR64=${samba_cv_HAVE_STRUCT_DIR64=no} +samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=yes} +samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes} +samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no} +samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no} +samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no} +samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes} +samba_cv_HAVE_UTIMBUF=${samba_cv_HAVE_UTIMBUF=yes} +samba_cv_HAVE_UT_UT_ADDR=${samba_cv_HAVE_UT_UT_ADDR=yes} +samba_cv_HAVE_UT_UT_EXIT=${samba_cv_HAVE_UT_UT_EXIT=yes} +samba_cv_HAVE_UT_UT_HOST=${samba_cv_HAVE_UT_UT_HOST=yes} +samba_cv_HAVE_UT_UT_ID=${samba_cv_HAVE_UT_UT_ID=yes} +samba_cv_HAVE_UT_UT_NAME=${samba_cv_HAVE_UT_UT_NAME=yes} +samba_cv_HAVE_UT_UT_PID=${samba_cv_HAVE_UT_UT_PID=yes} +samba_cv_HAVE_UT_UT_TIME=${samba_cv_HAVE_UT_UT_TIME=yes} +samba_cv_HAVE_UT_UT_TV=${samba_cv_HAVE_UT_UT_TV=yes} +samba_cv_HAVE_UT_UT_TYPE=${samba_cv_HAVE_UT_UT_TYPE=yes} +samba_cv_HAVE_UT_UT_USER=${samba_cv_HAVE_UT_UT_USER=yes} +samba_cv_HAVE_UX_UT_SYSLEN=${samba_cv_HAVE_UX_UT_SYSLEN=no} +samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes} +samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=yes} +samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes} +samba_cv_PUTUTLINE_RETURNS_UTMP=${samba_cv_PUTUTLINE_RETURNS_UTMP=yes} +samba_cv_QUOTA_WORKS=${samba_cv_QUOTA_WORKS=yes} +samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=yes} +samba_cv_REPLACE_GETPASS=${samba_cv_REPLACE_GETPASS=yes} +samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no} +samba_cv_REPLACE_READDIR=${samba_cv_REPLACE_READDIR=no} +samba_cv_RUN_QUOTA_TESTS=${samba_cv_RUN_QUOTA_TESTS=yes} +samba_cv_SEEKDIR_RETURNS_VOID=${samba_cv_SEEKDIR_RETURNS_VOID=yes} +samba_cv_SIZEOF_DEV_T=${samba_cv_SIZEOF_DEV_T=yes} +samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes} +samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes} +samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes} +samba_cv_SYSCONF_SC_NPROCESSORS_ONLN=${samba_cv_SYSCONF_SC_NPROCESSORS_ONLN=yes} +samba_cv_SYSCONF_SC_NPROC_ONLN=${samba_cv_SYSCONF_SC_NPROC_ONLN=no} +samba_cv_SYSCONF_SC_PAGESIZE=${samba_cv_SYSCONF_SC_PAGESIZE=yes} +samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes} +samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes} +samba_cv_SYSQUOTA_WORKS_XFS=${samba_cv_SYSQUOTA_WORKS_XFS=yes} +samba_cv_TRY_QUOTAS=${samba_cv_TRY_QUOTAS=no} +samba_cv_TRY_SYS_QUOTAS=${samba_cv_TRY_SYS_QUOTAS=yes} +samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes} +samba_cv_WE_USE_SYS_QUOTAS=${samba_cv_WE_USE_SYS_QUOTAS=yes} +samba_cv_WITH_AFS=${samba_cv_WITH_AFS=no} +samba_cv_WITH_FAKE_KASERVER=${samba_cv_WITH_FAKE_KASERVER=no} +samba_cv_WITH_QUOTAS=${samba_cv_WITH_QUOTAS=auto} +samba_cv_WITH_SYS_QUOTAS=${samba_cv_WITH_SYS_QUOTAS=auto} +samba_cv_WITH_VFS_AFSACL=${samba_cv_WITH_VFS_AFSACL=no} +samba_cv_compiler_supports_ll=${samba_cv_compiler_supports_ll=yes} +samba_cv_found_xfs_header=${samba_cv_found_xfs_header=yes} +samba_cv_have_longlong=${samba_cv_have_longlong=yes} +samba_cv_have_setresgid=${samba_cv_have_setresgid=yes} +samba_cv_have_setresuid=${samba_cv_have_setresuid=yes} +samba_cv_immediate_structures=${samba_cv_immediate_structures=yes} +samba_cv_optimize_out_funcation_calls=${samba_cv_optimize_out_funcation_calls=yes} +samba_cv_sig_atomic_t=${samba_cv_sig_atomic_t=yes} +samba_cv_socklen_t=${samba_cv_socklen_t=yes} +samba_cv_struct_timespec=${samba_cv_struct_timespec=yes} +samba_cv_sysquotas_file=${samba_cv_sysquotas_file=lib/sysquotas_linux.c} +samba_cv_unixsocket=${samba_cv_unixsocket=yes} +samba_cv_volatile=${samba_cv_volatile=yes} + +#older sambe defines +samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes} +samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes} +samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes} +samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes} + +# clamav +clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} +clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes} +clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes} +ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} + +#dbus +ac_cv_have_abstract_sockets=${ac_cv_have_abstract_sockets=yes} + +# guile +ac_cv_func_pthread_attr_getstack=${ac_cv_func_pthread_attr_getstack=yes} + +# gnet +ac_cv_member_struct_sockaddr_sa_len=${ac_cv_member_struct_sockaddr_sa_len=no} +ac_cv_gnet_have_abstract_sockets=${ac_cv_gnet_have_abstract_sockets=no} +gnet_sockaddr_family_field_name=${gnet_sockaddr_family_field_name=ss_family} diff --git a/common/environment/configure/autoconf_cache/common-glibc b/common/environment/configure/autoconf_cache/common-glibc new file mode 100644 index 0000000..9823c53 --- /dev/null +++ b/common/environment/configure/autoconf_cache/common-glibc @@ -0,0 +1,71 @@ +# clamav +clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} +clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes} +clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes} +ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} + +# coreutils +fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes} + +# glib +glib_cv_strlcpy=${glib_cv_strlcpy=no} +ac_cv_func_printf_unix98=${ac_cv_func_printf_unix98=yes} +ac_cv_func_snprintf_c99=${ac_cv_func_snprintf_c99=yes} +ac_cv_func_vsnprintf_c99=${ac_cv_func_vsnprintf_c99=yes} +glib_cv_compliant_posix_memalign=${glib_cv_compliant_posix_memalign=1} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +# glib-1.x requires this and pkgconfig-native / pkgconfig-nativesdk use +# that to avoid a dependency loop. +glib_cv___va_copy=${glib_cv___va_copy=yes} +glib_cv_va_copy=${glib_cv_va_copy=yes} +glib_cv_have_qsort_r=${glib_cv_have_qsort_r=yes} + +#dbus-glib +ac_cv_have_abstract_sockets=${ac_cv_have_abstract_sockets=yes} + +# git +ac_cv_iconv_omits_bom=${ac_cv_iconv_omits_bom=no} + +# gnucash +am_cv_scanf_lld=${am_cv_scanf_lld=yes} + +# guile +ac_cv_func_pthread_attr_getstack=${ac_cv_func_pthread_attr_getstack=yes} + +#gcc-zlib +ac_cv_func_getpagesize=${ac_cv_func_getpagesize=yes} +ac_cv_func_memcpy=${ac_cv_func_memcpy=yes} +ac_cv_func_strerror=${ac_cv_func_strerror=yes} + +# squid +ac_cv_af_unix_large_dgram=${ac_cv_af_unix_large_dgram=yes} +ac_cv_func_setresuid=${ac_cv_func_setresuid=yes} +ac_cv_func_va_copy=${ac_cv_func_va_copy=yes} +ac_cv_func___va_copy=${ac_cv_func___va_copy=yes} +ac_cv_epoll_works=${ac_cv_epoll_works=yes} + +ac_cv_check_sjlj=ssjlj + +# m4 +gt_cv_locale_fr=${gt_cv_locale_fr=fr_FR} +gl_cv_func_btowc_eof=${gl_cv_func_btowc_eof=yes} +gl_cv_func_wcrtomb_retval=${gl_cv_func_wcrtomb_retval=yes} +gl_cv_func_wctob_works=${gl_cv_func_wctob_works=yes} +gl_cv_func_mbrtowc_incomplete_state=${gl_cv_func_mbrtowc_incomplete_state=yes} +gl_cv_func_mbrtowc_sanitycheck=${gl_cv_func_mbrtowc_sanitycheck=yes} +gl_cv_func_mbrtowc_null_arg=${gl_cv_func_mbrtowc_null_arg=yes} +gl_cv_func_mbrtowc_retval=${gl_cv_func_mbrtowc_retval=yes} +gl_cv_func_mbrtowc_nul_retval=${gl_cv_func_mbrtowc_nul_retval=yes} + +# va_copy and _va_copy +ac_cv_va_copy=${ac_cv_va_copy=yes} +ac_cv___va_copy=${ac_cv___va_copy=yes} +ac_cv_func_va_copy=${ac_cv_func_va_copy=yes} +ac_cv_func___va_copy=${ac_cv_func___va_copy=yes} + +# Xorg +xorg_cv_malloc0_returns_null=${xorg_cv_malloc0_returns_null=yes} + +# socat +ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13} +sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes} diff --git a/common/environment/configure/autoconf_cache/common-linux b/common/environment/configure/autoconf_cache/common-linux new file mode 100644 index 0000000..806bec4 --- /dev/null +++ b/common/environment/configure/autoconf_cache/common-linux @@ -0,0 +1,175 @@ +# general +ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes} +ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes} +ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes} +ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes} +ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} +ac_cv_func_getpgrp_void=yes +ac_cv_func_setpgrp_void=yes +ac_cv_func_setgrent_void=yes +ac_cv_func_getgrgid_r=${ac_cv_func_getgrgid_r=yes} +ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes} +ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes} +ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes} +ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes} +ac_cv_func_strdup=yes +ac_cv_func_strtod=yes +ac_cv_func_fork=yes +ac_cv_func_fork=yes +ac_cv_func_fork_works=yes +ac_cv_func_chown_works=yes +ac_cv_func_working_mktime=yes +ac_cv_func_getgroups=yes +ac_cv_func_getgroups_works=yes +ac_cv_func_pread=yes +ac_cv_func_pwrite=yes +ac_cv_file__dev_random=yes +ac_cv_file__dev_urandom=yes + +# ruby +ac_cv_func_isnan=yes +ac_cv_func_isinf=yes + +# apr +ac_cv_file__dev_zero=${ac_cv_file__dev_zero=yes} +ac_cv_sizeof_pid_t=${ac_cv_sizeof_pid_t=4} +ac_cv_func_strcoll_works=yes + +# samba +samba_cv_HAVE_IFACE_AIX=${samba_cv_HAVE_IFACE_AIX=no} +samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes} +samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes} +samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=${samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no} + +# db +db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar} +db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod} +db_cv_path_cp=${db_cv_path_cp=/bin/cp} +db_cv_path_ln=${db_cv_path_ln=/bin/ln} +db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir} +db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib} +db_cv_path_rm=${db_cv_path_rm=/bin/rm} +db_cv_path_sh=${db_cv_path_sh=/bin/sh} +db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip} + +# bash +bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes} +bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no} +bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no} +bash_cv_dup2_broken=${bash_cv_dup2_broken=no} +bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no} +bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t} +bash_cv_getenv_redef=${bash_cv_getenv_redef=yes} +bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes} +bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no} +bash_cv_printf_a_format=${bash_cv_printf_a_format=yes} +bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no} +bash_cv_job_control_missing=${bash_cv_job_control_missing=present} +bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present} +bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no} +bash_cv_func_snprintf=yes +bash_cv_func_vsnprintf=yes +bash_cv_func_sigsetjmp=present +bash_cv_getcwd_malloc=yes +bash_cv_void_sighandler=yes +bash_cv_func_ctype_nonascii=no +bash_cv_wcontinued_broken=no +bash_cv_wexitstatus_offset=8 +bash_cv_wcwidth_broken=no + +# cgdb +ac_cv_file__dev_ptmx=yes +ac_cv_file__dev_ptc=no + +# git +ac_cv_snprintf_returns_bogus=no +ac_cv_fread_reads_directories=yes + +# gnulib +gl_cv_func_fstatat_zero_flag=yes +gl_cv_func_memchr_works=yes +gl_cv_func_dup2_works=yes +gl_cv_func_utimensat_works=yes +gl_cv_func_readlink_works=yes +gl_cv_func_readlinkat_works=yes +gl_cv_func_symlinkat_works=yes +gl_cv_func_unsetenv_works=yes +gl_cv_func_rmdir_works=yes +gl_cv_func_chown_slash_works=yes +gl_cv_func_chown_ctime_works=yes +gl_cv_func_chown_follows_symlink=yes +gl_cv_func_lstat_dereferences_slashed_symlink=yes +gl_cv_func_getcwd_null=yes +gl_cv_func_select_detects_ebadf=yes +gl_cv_func_unlink_honors_slashes=yes +gl_cv_func_snprintf_retval_c99=yes +gl_cv_func_strerror_0_works=yes +gl_cv_func_printf_sizes_c99=yes +gl_cv_func_printf_infinite=yes +gl_cv_func_printf_infinite_long_double=yes +gl_cv_func_printf_directive_a=yes +gl_cv_func_printf_directive_f=yes +gl_cv_func_printf_flag_zero=yes +gl_cv_func_printf_enomem=yes +gl_cv_func_wcwidth_works=yes +gl_cv_func_ungetc_works=yes +gl_cv_func_fchownat_empty_filename_works=yes +gl_cv_func_fcntl_f_dupfd_works=yes +gl_cv_func_fdopendir_works=yes +gl_cv_func_fpurge_works=yes +gl_cv_func_futimens_works=yes +gl_cv_func_getgroups_works=yes +gl_cv_func_isnanl_works=yes +gl_cv_func_link_works=yes +gl_cv_func_linkat_slash=yes +gl_cv_func_mkdir_trailing_slash_works=yes +gl_cv_func_mkdir_trailing_dot_works=yes +gl_cv_func_mkfifo_works=yes +gl_cv_func_mknod_works=yes +gl_cv_func_rename_slash_dst_works=yes +gl_cv_func_rename_slash_src_works=yes +gl_cv_func_rename_link_works=yes +gl_cv_func_rename_dest_works=yes +gl_cv_func_setenv_works=yes +gl_cv_func_stat_file_slash=yes +gl_cv_func_strtod_works=yes +gl_cv_func_symlink_works=yes +gl_cv_func_unlink_honors_slashes=yes +gl_cv_func_perror_works=yes +gl_cv_func_stpncpy=yes +gl_cv_func_realpath_works=yes +gl_cv_func_remove_dir_works=yes + +# mysql +ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls=yes} +ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes} + +# TCL +tcl_cv_api_serial=${tcl_cv_api_serial=termios} + +# python +ac_cv_have_long_long_format=yes + +# socat +ac_cv_have_c99_snprintf=yes + +# apache +ac_cv_o_nonblock_inherited=${ac_cv_o_nonblock_inherited=no} + +# varnish +ac_cv_have_viz=yes +ac_cv_so_rcvtimeo_works=yes +ac_cv_so_sndtimeo_works=yes + +# libtar +compat_cv_func_makedev_three_args=no + +# exo +ac_cv_strftime_extensions=yes + +# time +ac_cv_func_wait3=yes + +# Y2038 +gl_cv_type_time_t_y2038=${gl_cv_type_time_t_y2038=no} +ac_cv_type_time_t_bits_macro=${ac_cv_type_time_t_bits_macro=no} diff --git a/common/environment/configure/autoconf_cache/endian-big b/common/environment/configure/autoconf_cache/endian-big new file mode 100644 index 0000000..b99e96c --- /dev/null +++ b/common/environment/configure/autoconf_cache/endian-big @@ -0,0 +1,8 @@ +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +# libnet +ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big} + +# libmemcached +ac_cv_c_endian=big diff --git a/common/environment/configure/autoconf_cache/endian-little b/common/environment/configure/autoconf_cache/endian-little new file mode 100644 index 0000000..858db76 --- /dev/null +++ b/common/environment/configure/autoconf_cache/endian-little @@ -0,0 +1,8 @@ +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +# libnet +ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil} + +# libmemcached +ac_cv_c_endian=little diff --git a/common/environment/configure/autoconf_cache/ix86-common b/common/environment/configure/autoconf_cache/ix86-common new file mode 100644 index 0000000..8eb82de --- /dev/null +++ b/common/environment/configure/autoconf_cache/ix86-common @@ -0,0 +1,268 @@ +# general +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4} +ac_cv_sizeof_unsigned_char_p=${ac_cv_sizeof_unsigned_char_p=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=4} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4} +ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} +ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=4} +ac_cv_sizeof_uid_t=${ac_cv_sizeof_uid_t=4} +ac_cv_sizeof_gid_t=${ac_cv_sizeof_gid_t=4} +ac_cv_sizeof_ino_t=${ac_cv_sizeof_ino_t=4} +ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8} +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes} +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} +ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} +ac_cv_va_val_copy=${ac_cv_va_val_copy=yes} +ac_cv_sizeof_struct_iovec=8 + +ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no} +ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no} +ac_cv_linux_vers=${ac_cv_linux_vers=2} +ac_cv_sctp=${ac_cv_sctp=no} + +apr_cv_process_shared_works=${apr_cv_process_shared_works=no} +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +ac_cv_path_ESD_CONFIG=no +lf_cv_sane_realloc=yes +jm_cv_func_gettimeofday_clobber=no +samba_cv_HAVE_GETTIMEOFDAY_TZ=yes +bf_lsbf=1 +ac_cv_uchar=${ac_cv_uchar=no} +ac_cv_uint=${ac_cv_uint=yes} +ac_cv_ulong=${ac_cv_ulong=yes} +ac_cv_ushort=${ac_cv_ushort=yes} + +# audacity +ac_cv_file_lib_src_libmad_frame_h=${ac_cv_file_lib_src_libmad_frame_h=no} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=yes} + +# clamav +clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} +clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes} +clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes} +ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes} + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# db +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# ettercap +ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# glib +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes} +glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes} +glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes} + +# glib-2.0 +glib_cv_stack_grows=${glib_cv_stack_grows=no} +utils_cv_sys_open_max=${utils_cv_sys_open_max=1015} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=4 +ac_cv_alignof_unsigned_long=4 + +# guile +ac_cv_uchar=${ac_cv_uchar=no} +ac_cv_uint=${ac_cv_uint=yes} +ac_cv_ulong=${ac_cv_ulong=yes} +ac_cv_ushort=${ac_cv_ushort=yes} + +# intercom +ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes} + +# jikes-native +ac_cv_sizeof_wchar_t=4 + +# lftp +ac_cv_need_trio=${ac_cv_need_trio=no} +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# libnet +ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} + +# libxfce4util +with_broken_putenv=${with_broken_putenv=no} + +# mysql +mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes} +mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes} + +# ORBit2 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_double=4 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_double=4 +ac_cv_alignof_CORBA_long_long=4 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_pointer=4 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_struct=4 +ac_cv_alignof_CORBA_wchar=2 + +# php +ac_cv_pread=${ac_cv_pread=no} +ac_cv_pwrite=${ac_cv_pwrite=no} +php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes} + +# rsync +rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no} +rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes} +rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes} +rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no} +rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no} +rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no} +rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no} +rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes} +rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes} +rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes} +rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no} +rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no} + +# samba +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} + +# socat +sc_cv_type_dev_basic='8 /* unsigned long long */' +sc_cv_type_gidt_basic='4 /* unsigned int */' +sc_cv_type_longlong=yes +sc_cv_type_modet_basic='4 /* unsigned int */' +sc_cv_type_off64=no +sc_cv_type_off64_basic='0 /* unknown */' +sc_cv_type_off_basic='3 /* int */' +sc_cv_type_pidt_basic='3 /* int */' +sc_cv_type_rlimit_rlimmax_basic='4 /* unsigned int */' +sc_cv_type_sa_family_t=yes +sc_cv_type_sighandler=no +sc_cv_type_sizet_basic='4 /* unsigned int */' +sc_cv_type_socklen=yes +sc_cv_type_socklent_basic='4 /* unsigned int */' +sc_cv_type_stat64=no +sc_cv_type_stat64_stblksize_basic='0 /* unknown */' +sc_cv_type_stat64_stblocks_basic='0 /* unknown */' +sc_cv_type_stat64_stdev_basic='0 /* unknown */' +sc_cv_type_stat64_stino_basic='0 /* unknown */' +sc_cv_type_stat64_stnlink_basic='0 /* unknown */' +sc_cv_type_stat64_stsize_basic='0 /* unknown */' +sc_cv_type_stat_stblksize_basic='3 /* int */' +sc_cv_type_stat_stblocks_basic='3 /* int */' +sc_cv_type_stat_stino_basic='4 /* unsigned int */' +sc_cv_type_stat_stnlink_basic='4 /* unsigned int */' +sc_cv_type_stat_stsize_basic='3 /* int */' +sc_cv_type_struct_timeval_tv_usec='3 /* int */' +sc_cv_type_timet_basic='3 /* int */' +sc_cv_type_uidt_basic='4 /* unsigned int */' +sc_cv_type_uint16=yes +sc_cv_type_uint32=yes +sc_cv_type_uint64=yes +sc_cv_type_uint8=yes +sc_cv_typeof_struct_cmsghdr_cmsg_len='4 /* unsigned int */' + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# ssh +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_type_struct_timespec=${ac_cv_type_struct_timespec=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes} + +# startup-notification +lf_cv_sane_realloc=yes + +# xffm +jm_cv_func_working_readdir=yes + +# xorg X11R7 +ac_cv_sys_linker_h=${ac_cv_sys_linker_h=no} +ac_cv_file__usr_share_X11_sgml_defs_ent=${ac_cv_file__usr_share_X11_sgml_defs_ent=no} + +# evolution-data-server +ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes} + +#dbus +ac_cv_have_abstract_sockets=${ac_cv_have_abstract_sockets=yes} + +#libpciaccess +have_mtrr_h=yes + +#mozilla +moz_cv_size_of_JS_BYTES_PER_WORD=4 +moz_cv_align_of_JS_ALIGN_OF_POINTER=4 +moz_cv_size_of_JS_BYTES_PER_DOUBLE=8 + +#ofono +ac_cv_lib_c_signalfd=${ac_cv_lib_c_signalfd=yes} + +#unfs3 +nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0} +nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize} +nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes} + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=4 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=4 +ac_cv_alignof_double=4 diff --git a/common/environment/configure/autoconf_cache/mips-common b/common/environment/configure/autoconf_cache/mips-common new file mode 100644 index 0000000..bbe8ff3 --- /dev/null +++ b/common/environment/configure/autoconf_cache/mips-common @@ -0,0 +1,93 @@ +# general +ac_cv_va_val_copy=${ac_cv_va_val_copy=yes} +ac_cv_sizeof_struct_iovec=8 + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +# socat +sc_cv_type_dev_basic='8 /* unsigned long long */' +sc_cv_type_gidt_basic='4 /* unsigned int */' +sc_cv_type_longlong=yes +sc_cv_type_modet_basic='4 /* unsigned int */' +sc_cv_type_off64=no +sc_cv_type_off64_basic='0 /* unknown */' +sc_cv_type_off_basic='3 /* int */' +sc_cv_type_pidt_basic='3 /* int */' +sc_cv_type_rlimit_rlimmax_basic='4 /* unsigned int */' +sc_cv_type_sa_family_t=yes +sc_cv_type_sighandler=no +sc_cv_type_sizet_basic='4 /* unsigned int */' +sc_cv_type_socklen=yes +sc_cv_type_socklent_basic='4 /* unsigned int */' +sc_cv_type_stat64=no +sc_cv_type_stat64_stblksize_basic='0 /* unknown */' +sc_cv_type_stat64_stblocks_basic='0 /* unknown */' +sc_cv_type_stat64_stdev_basic='0 /* unknown */' +sc_cv_type_stat64_stino_basic='0 /* unknown */' +sc_cv_type_stat64_stnlink_basic='0 /* unknown */' +sc_cv_type_stat64_stsize_basic='0 /* unknown */' +sc_cv_type_stat_stblksize_basic='3 /* int */' +sc_cv_type_stat_stblocks_basic='3 /* int */' +sc_cv_type_stat_stino_basic='4 /* unsigned int */' +sc_cv_type_stat_stnlink_basic='4 /* unsigned int */' +sc_cv_type_stat_stsize_basic='3 /* int */' +sc_cv_type_struct_timeval_tv_usec='3 /* int */' +sc_cv_type_timet_basic='3 /* int */' +sc_cv_type_uidt_basic='4 /* unsigned int */' +sc_cv_type_uint16=yes +sc_cv_type_uint32=yes +sc_cv_type_uint64=yes +sc_cv_type_uint8=yes +sc_cv_typeof_struct_cmsghdr_cmsg_len='4 /* unsigned int */' + +# ORBit2 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_wchar=2 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_long=8 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_double=8 +ac_cv_alignof_CORBA_long_double=8 +ac_cv_alignof_CORBA_pointer=4 +ac_cv_alignof_CORBA_struct=1 + +# apache +ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes} +apr_cv_process_shared_works=${apr_cv_process_shared_works=no} +ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4} +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# glib +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=4 + + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=4 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 +ac_cv_alignof_double=8 diff --git a/common/environment/configure/autoconf_cache/mips-linux b/common/environment/configure/autoconf_cache/mips-linux new file mode 100644 index 0000000..ed9bf55 --- /dev/null +++ b/common/environment/configure/autoconf_cache/mips-linux @@ -0,0 +1,78 @@ +# general +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=no} + +# openssh +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no} +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} + +# glib +glib_cv___va_copy=${glib_cv___va_copy=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} + +# glib-2.0 +glib_cv_stack_grows=${glib_cv_stack_grows=no} +utils_cv_sys_open_max=${utils_cv_sys_open_max=1015} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# startup-notification +lf_cv_sane_realloc=${lf_cv_sane_realloc=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# ncftp +wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long} +wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long} + +# db +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} + +# rrdtool +rd_cv_ieee_works=${rd_cv_ieee_works=yes} +# ac_cv_path_PERL=${ac_cv_path_PERL=no} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# samba +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} + +# vim +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} + +# intercom +ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes} + +# lmbench +ac_cv_uint=${ac_cv_unit=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# evolution-data-server +ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes} + diff --git a/common/environment/configure/autoconf_cache/mipsel-linux b/common/environment/configure/autoconf_cache/mipsel-linux new file mode 100644 index 0000000..6ddcb2a --- /dev/null +++ b/common/environment/configure/autoconf_cache/mipsel-linux @@ -0,0 +1,78 @@ +# general +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=no} + +# openssh +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no} +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} + +# glib +glib_cv___va_copy=${glib_cv___va_copy=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} + +# glib-2.0 +glib_cv_stack_grows=${glib_cv_stack_grows=no} +utils_cv_sys_open_max=${utils_cv_sys_open_max=1015} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# startup-notification +lf_cv_sane_realloc=${lf_cv_sane_realloc=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# ncftp +wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long} +wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long} +wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes} + +# db +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} + +# rrdtool +rd_cv_ieee_works=${rd_cv_ieee_works=yes} +# ac_cv_path_PERL=${ac_cv_path_PERL=no} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# samba +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} + +# vim +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} + +# intercom +ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes} + +#lmbench +ac_cv_uint=${ac_cv_unit=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# evolution-data-server +ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes} diff --git a/common/environment/configure/autoconf_cache/musl-linux b/common/environment/configure/autoconf_cache/musl-linux new file mode 100644 index 0000000..58cc913 --- /dev/null +++ b/common/environment/configure/autoconf_cache/musl-linux @@ -0,0 +1,183 @@ +# gnulib overrides +# +gl_cv_func_isnanl_works=yes +gl_cv_header_working_stdint_h=yes +gl_cv_func_fpurge_works=yes +gl_cv_func_fcntl_f_dupfd_cloexec=yes +gl_cv_func_getcwd_path_max=yes +gl_cv_func_fprintf_posix=yes +gl_cv_func_printf_sizes_c99=yes +gl_cv_func_printf_long_double=yes +gl_cv_func_printf_infinite=yes +gl_cv_func_printf_infinite_long_double=yes +gl_cv_func_printf_directive_a=yes +gl_cv_func_printf_directive_f=yes +gl_cv_func_printf_directive_n=yes +gl_cv_func_printf_directive_ls=yes +gl_cv_func_printf_positions=yes +gl_cv_func_printf_flag_grouping=yes +gl_cv_func_printf_flag_leftadjust=yes +gl_cv_func_printf_flag_zero=yes +gl_cv_func_printf_precision=yes +gl_cv_func_printf_enomem=yes +gl_cv_header_wchar_h_correct_inline=yes +gl_cv_decl_null_works=yes +gl_cv_func_malloc_posix=yes +gl_cv_func_memchr_works=yes +gl_cv_have_include_next=yes +gt_cv_inttypes_pri_broken=no +gl_cv_promoted_mode_t=mode_t +gl_cv_func_mbrtowc_sanitycheck=yes +gl_cv_sys_struct_timespec_in_time_h=yes +gl_cv_func_iswcntrl_works=yes +gl_cv_func_dup2_works=yes +gl_cv_func_fcntl_f_dupfd_works=yes +gl_cv_func_fseeko=yes +# the following flag, according to fseeko.m4, is needed to skip the fseeko replacement +gl_cv_func_fflush_stdin=yes +gl_cv_func_gettimeofday_clobber=no +gl_cv_func_gettimeofday_posix_signature=yes +gl_cv_func_lseek_pipe=yes +gl_cv_func_mbrtowc_retval=yes +gl_cv_func_posix_spawn_works=yes +gl_cv_func_sigprocmask=yes +gl_cv_func_spawnattr_setschedparam=yes +gl_cv_func_spawnattr_setschedpolicy=yes +gl_cv_func_stat_dir_slash=yes +gl_cv_func_strndup_works=yes +gl_cv_func_unsetenv_works=yes +gl_cv_func_working_strerror=yes +gl_cv_have_raw_decl_atoll=yes +gl_cv_have_raw_decl_btowc=yes +gl_cv_have_raw_decl_chown=yes +gl_cv_have_raw_decl_dprintf=yes +gl_cv_have_raw_decl_dup2=yes +gl_cv_have_raw_decl_dup3=yes +gl_cv_have_raw_decl_endusershell=yes +gl_cv_have_raw_decl_environ=yes +gl_cv_have_raw_decl_faccessat=yes +gl_cv_have_raw_decl_fchdir=yes +gl_cv_have_raw_decl_fchmodat=yes +gl_cv_have_raw_decl_fchownat=yes +gl_cv_have_raw_decl_fcntl=yes +gl_cv_have_raw_decl_fseeko=yes +gl_cv_have_raw_decl_fstatat=yes +gl_cv_have_raw_decl_fsync=yes +gl_cv_have_raw_decl_ftello=yes +gl_cv_have_raw_decl_ftruncate=yes +gl_cv_have_raw_decl_futimens=yes +gl_cv_have_raw_decl_getcwd=yes +gl_cv_have_raw_decl_getdelim=yes +gl_cv_have_raw_decl_getdomainname=yes +gl_cv_have_raw_decl_getdtablesize=yes +gl_cv_have_raw_decl_getgroups=yes +gl_cv_have_raw_decl_gethostname=yes +gl_cv_have_raw_decl_getline=yes +gl_cv_have_raw_decl_getlogin=yes +gl_cv_have_raw_decl_getlogin_r=yes +gl_cv_have_raw_decl_getpagesize=yes +gl_cv_have_raw_decl_getsubopt=yes +gl_cv_have_raw_decl_getusershell=yes +gl_cv_have_raw_decl_grantpt=yes +gl_cv_have_raw_decl_lchown=yes +gl_cv_have_raw_decl_link=yes +gl_cv_have_raw_decl_linkat=yes +gl_cv_have_raw_decl_lseek=yes +gl_cv_have_raw_decl_lstat=yes +gl_cv_have_raw_decl_mbsinit=yes +gl_cv_have_raw_decl_mbrlen=yes +gl_cv_have_raw_decl_mbrtowc=yes +gl_cv_have_raw_decl_memmem=yes +gl_cv_have_raw_decl_mempcpy=yes +gl_cv_have_raw_decl_memrchr=yes +gl_cv_have_raw_decl_mkdirat=yes +gl_cv_have_raw_decl_mkdtemp=yes +gl_cv_have_raw_decl_mkfifo=yes +gl_cv_have_raw_decl_mknod=yes +gl_cv_have_raw_decl_mknodat=yes +gl_cv_have_raw_decl_mkstemp=yes +gl_cv_have_raw_decl_openat=yes +gl_cv_have_raw_decl_pipe2=yes +gl_cv_have_raw_decl_posix_spawnattr_setpgroup=yes +gl_cv_have_raw_decl_popen=yes +gl_cv_have_raw_decl_pread=yes +gl_cv_have_raw_decl_ptsname=yes +gl_cv_have_raw_decl_rawmemchr=yes +gl_cv_have_raw_decl_readlink=yes +gl_cv_have_raw_decl_readlinkat=yes +gl_cv_have_raw_decl_realpath=yes +gl_cv_have_raw_decl_renameat=yes +gl_cv_have_raw_decl_rmdir=yes +gl_cv_have_raw_decl_setenv=yes +gl_cv_have_raw_decl_setusershell=yes +gl_cv_have_raw_decl_sigaction=yes +gl_cv_have_raw_decl_sigaddset=yes +gl_cv_have_raw_decl_sigdelset=yes +gl_cv_have_raw_decl_sigemptyset=yes +gl_cv_have_raw_decl_sigfillset=yes +gl_cv_have_raw_decl_sigismember=yes +gl_cv_have_raw_decl_sigpending=yes +gl_cv_have_raw_decl_sigprocmask=yes +gl_cv_have_raw_decl_sleep=yes +gl_cv_have_raw_decl_snprintf=yes +gl_cv_have_raw_decl_stat=yes +gl_cv_have_raw_decl_stpcpy=yes +gl_cv_have_raw_decl_stpncpy=yes +gl_cv_have_raw_decl_strcasestr=yes +gl_cv_have_raw_decl_strchrnul=yes +gl_cv_have_raw_decl_strncat=yes +gl_cv_have_raw_decl_strnlen=yes +gl_cv_have_raw_decl_strpbrk=yes +gl_cv_have_raw_decl_strsep=yes +gl_cv_have_raw_decl_strsignal=yes +gl_cv_have_raw_decl_strtod=yes +gl_cv_have_raw_decl_strtok_r=yes +gl_cv_have_raw_decl_strtoll=yes +gl_cv_have_raw_decl_strtoull=yes +gl_cv_have_raw_decl_strverscmp=yes +gl_cv_have_raw_decl_symlink=yes +gl_cv_have_raw_decl_symlinkat=yes +gl_cv_have_raw_decl_tmpfile=yes +gl_cv_have_raw_decl_ttyname_r=yes +gl_cv_have_raw_decl_unlinkat=yes +gl_cv_have_raw_decl_unlink=yes +gl_cv_have_raw_decl_unlockpt=yes +gl_cv_have_raw_decl_unsetenv=yes +gl_cv_have_raw_decl_usleep=yes +gl_cv_have_raw_decl_vdprintf=yes +gl_cv_have_raw_decl_vsnprintf=yes +gl_cv_have_raw_decl_wcsrtombs=yes +gl_cv_have_raw_decl_wcrtomb=yes +gl_cv_have_raw_decl_wcsnrtombs=yes +gl_cv_have_raw_decl_wctob=yes +gl_cv_have_raw_decl_wcwidth=yes +gl_cv_header_inttypes_h=yes +gl_cv_header_errno_h_complete=yes +gl_cv_header_working_fcntl_h=yes +gl_cv_header_stdint_h=yes +gl_cv_size_max=yes +gl_cv_sys_struct_timeval=yes +gl_cv_sys_struct_utimbuf=yes + +# this gnulib test is especially stupid, it invokes UB and hangs for +# an entire minute +gl_cv_func_working_mktime=yes + +# Force detection of musl's gettext +gt_func_gnugettext_libc=yes +gt_cv_func_gnugettext1_libc=yes +gt_cv_func_gnugettext2_libc=yes +gt_cv_func_gnugettext3_libc=yes +ac_cv_sys_file_offset_bits=64 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_ino_t=8 +ac_cv_sizeof_blkcnt_t=8 + +# Force detection of musl's iconv +ac_cv_libiconv_utf8=yes + +# musl omits BOM on UTF-16 and UTF-32 +ac_cv_iconv_omits_bom=yes + +# omit lchmod always returns ENOTSUP +ac_cv_func_lchmod=no diff --git a/common/environment/configure/autoconf_cache/powerpc-common b/common/environment/configure/autoconf_cache/powerpc-common new file mode 100644 index 0000000..efa299c --- /dev/null +++ b/common/environment/configure/autoconf_cache/powerpc-common @@ -0,0 +1,14 @@ +# glib +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=4 + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=4 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 +ac_cv_alignof_double=8 diff --git a/common/environment/configure/autoconf_cache/powerpc-linux b/common/environment/configure/autoconf_cache/powerpc-linux new file mode 100644 index 0000000..a9f89cb --- /dev/null +++ b/common/environment/configure/autoconf_cache/powerpc-linux @@ -0,0 +1,16 @@ +# general +ac_cv_va_val_copy=${ac_cv_va_val_copy=yes} + +# startup-notification +lf_cv_sane_realloc=yes + +# glib +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} + +# lftp +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} diff --git a/common/environment/configure/autoconf_cache/powerpc32-linux b/common/environment/configure/autoconf_cache/powerpc32-linux new file mode 100644 index 0000000..0f461cd --- /dev/null +++ b/common/environment/configure/autoconf_cache/powerpc32-linux @@ -0,0 +1,272 @@ +ac_cv_func_setvbuf_reversed=no +ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0} +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4} +ac_cv_sizeof_double=${ac_cv_sizeof_double=8} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=4} +ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4} +ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1} +ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4} +ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4} +ac_cv_sizeof_unsigned_long_int=${ac_cv_sizeof_unsigned_long_int=4} +ac_cv_sizeof_unsigned_long_long_int=${ac_cv_sizeof_unsigned_long_long_int=8} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_unsigned_short_int=${ac_cv_sizeof_unsigned_short_int=2} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} +ac_cv_sizeof_wchar_t=${ac_cv_sizeof_wchar_t=4} +ac_cv_type___int64=${ac_cv_type___int64=no} +ac_cv_type_size_t=${ac_cv_type_size_t=yes} +ac_cv_type_void_p=${ac_cv_type_void_p=yes} +ac_cv_uchar=${ac_cv_uchar=no} +ac_cv_uint=${ac_cv_uint=yes} +ac_cv_ulong=${ac_cv_ulong=yes} +ac_cv_ushort=${ac_cv_ushort=yes} +ac_cv_time_r_type=${ac_cv_time_r_type=POSIX} +cookie_io_functions_use_off64_t=${cookie_io_functions_use_off64_t=yes} + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8} +else + ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} + + # libc + libc_cv_ppc_machine=${libc_cv_ppc_machine=yes} + libc_cv_mlong_double_128ibm=${libc_cv_mlong_double_128ibm=yes} + libc_cv_mabi_ibmlongdouble=${libc_cv_mabi_ibmlongdouble=yes} + libc_cv_mlong_double_128=${libc_cv_mlong_double_128=yes} +fi + +# apache +ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4} + +# ssh +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_type_struct_timespec=${ac_cv_type_struct_timespec=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes} + +# coreutils +utils_cv_sys_open_max=${utils_cv_sys_open_max=1019} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# nano +ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no} +nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} + + +# libnet +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} + +# socat +ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13} +sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes} + +# links +ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes} + +# db +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} + +# php +ac_cv_pread=${ac_cv_pread=no} +ac_cv_pwrite=${ac_cv_pwrite=no} +php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# glib +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes} +glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes} +glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes} + +# ettercap +ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes} + +# libesmtp +acx_working_snprintf=${acx_working_snprintf=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# glib 2.0 +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8} +glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4} +glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes} + +glib_cv_strlcpy=${glib_cv_strlcpy=no} + +# httppc +ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no} + +# lftp +ac_cv_need_trio=${ac_cv_need_trio=no} +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# edb +db_cv_spinlocks=${db_cv_spinlocks=no} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} +compat_cv_func_basename_works=${compat_cv_func_basename_works=no} +compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# ORBit2 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_double=4 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_double=4 +ac_cv_alignof_CORBA_long_long=4 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_pointer=4 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_struct=4 +ac_cv_alignof_CORBA_wchar=2 + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=yes} +bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing} + +# openssh +ac_cv_have_broken_dirname=${ac_cv_have_broken_dirname='yes'} +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent='no'} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf='no'} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug='yes'} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr='no'} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr='yes'} + +# vim +ac_cv_sizeof_int=${ac_cv_sizeof_int='4'} + +#modphp +if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then + ac_cv_c_bigendian_php=${ac_cv_c_bigendian_php=yes} +fi +ac_cv_sizeof_ptrdiff_t=${ac_cv_sizeof_ptrdiff_t=4} + +# apache2 (note other apache stanza in this file) +ap_void_ptr_lt_long=${ap_void_ptr_lt_long=no} +apr_cv_use_lfs64=${apr_cv_use_lfs64=yes} +apr_cv_epoll=${apr_cv_epoll=yes} +apr_cv_pthreads_cflags=${apr_cv_pthreads_cflags=-pthread} +apr_cv_pthreads_lib=${apr_cv_pthreads_lib=-lpthread} +ac_cv_func_mmap=${ac_cv_func_mmap=yes} +ac_cv_file__dev_zero=${ac_cv_file__dev_zero=yes} +ac_cv_sizeof_pid_t=${ac_cv_sizeof_pid_t=4} +ac_cv_socklen_t=${ac_cv_socklen_t=yes} +ac_cv_struct_rlimit=${ac_cv_struct_rlimit=yes} +ac_cv_negative_eai=${ac_cv_negative_eai=yes} +apr_cv_gai_addrconfig=${apr_cv_gai_addrconfig=no} +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# binutils (libiberty) +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_type_int=${ac_cv_type_int=yes} +ac_cv_type_uintptr_t=${ac_cv_type_uintptr_t=yes} +liberty_cv_uint64=${liberty_cv_uint64=uint64_t} + +#samba +ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} +fu_cv_sys_stat_statvfs64=${fu_cv_sys_stat_statvfs64=yes} +samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no} +samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no} +samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=yes} +samba_cv_HAVE_BROKEN_READDIR_NAME=${samba_cv_HAVE_BROKEN_READDIR_NAME=no} +samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes} +samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no} +samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes} +samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes} +samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes} +samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes} +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} +samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no} +samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes} +samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes} +samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes} +samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes} +samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes} +samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no} +samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes} +samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes} +samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes} +samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes} +samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no} +samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes} +samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=yes} +samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes} +samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=yes} +samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no} +samba_cv_REPLACE_READDIR=${samba_cv_REPLACE_READDIR=no} +samba_cv_SIZEOF_DEV_T=${samba_cv_SIZEOF_DEV_T=yes} +samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes} +samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes} +samba_cv_STAT_STATVFS64=${samba_cv_STAT_STATVFS64=yes} +samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes} +samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes} +samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes} +samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes} +samba_cv_have_longlong=${samba_cv_have_longlong=yes} +samba_cv_have_setresgid=${samba_cv_have_setresgid=yes} +samba_cv_have_setresuid=${samba_cv_have_setresuid=yes} + +# mysql +mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no} +mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no} diff --git a/common/environment/configure/autoconf_cache/powerpc64-linux b/common/environment/configure/autoconf_cache/powerpc64-linux new file mode 100644 index 0000000..169a27d --- /dev/null +++ b/common/environment/configure/autoconf_cache/powerpc64-linux @@ -0,0 +1,46 @@ +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=8} +ac_cv_sizeof_double=${ac_cv_sizeof_double=8} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=8} +ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1} +ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=8} +ac_cv_sizeof_unsigned_long_int=${ac_cv_sizeof_unsigned_long_int=8} +ac_cv_sizeof_unsigned_long_long_int=${ac_cv_sizeof_unsigned_long_long_int=8} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_unsigned_short_int=${ac_cv_sizeof_unsigned_short_int=2} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8} + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8} +else + ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} +fi + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# apr +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} diff --git a/common/environment/configure/autoconf_cache/x86_64-linux b/common/environment/configure/autoconf_cache/x86_64-linux new file mode 100644 index 0000000..dc695d2 --- /dev/null +++ b/common/environment/configure/autoconf_cache/x86_64-linux @@ -0,0 +1,170 @@ +# general +ac_cv_va_val_copy=${ac_cv_va_val_copy=no} +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} +ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} +ac_cv_linux_vers=${ac_cv_linux_vers=2} +ac_cv_need_trio=${ac_cv_need_trio=no} +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0} +ac_cv_sizeof_long=${ac_cv_sizeof_long=8} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=8} +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} +ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8} +ac_cv_sizeof_uid_t=${ac_cv_sizeof_uid_t=4} +ac_cv_sizeof_gid_t=${ac_cv_sizeof_gid_t=4} +ac_cv_sizeof_ino_t=${ac_cv_sizeof_ino_t=8} +ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8} +ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'} +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} +ac_cv_sizeof_struct_iovec=16 + +# glib +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=40} +glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8} +glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=8} +glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=8} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=8} +glib_cv_stack_grows=${glib_cv_stack_grows=no} +glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes} +glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes} +glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes} +glib_cv_uscore=${glib_cv_uscore=no} +glib_cv_va_val_copy=${glib_cv_va_val_copy=no} +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=8 + +nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} +samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes} +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} +utils_cv_sys_open_max=${utils_cv_sys_open_max=1015} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +#gcc +ac_cv_lib_m_sin=${ac_cv_lib_m_sin=yes} + +#orbit +libIDL_cv_long_long_format=ll + +# ORBit2 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_double=8 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_double=8 +ac_cv_alignof_CORBA_long_long=8 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_pointer=8 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_struct=1 +ac_cv_alignof_CORBA_wchar=2 + +lf_cv_sane_realloc=yes +as_cv_unaligned_access=${as_cv_unaligned_access=yes} + +#unfs3 +nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0} +nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize} +nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes} + +#apr +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# lftp +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=no} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=no} + +# grub +ac_cv_func___ashldi3=no +ac_cv_func___ashrdi3=no +ac_cv_func___bswapdi2=no +ac_cv_func___bswapsi2=no +ac_cv_func___lshrdi3=no +ac_cv_func___trampoline_setup=no +ac_cv_func___ucmpdi2=no +ac_cv_func__restgpr_14_x=no + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=8 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 +ac_cv_alignof_double=8 + +# socat +sc_cv_type_dev_basic='6 /* unsigned long */' +sc_cv_type_gidt_basic='4 /* unsigned int */' +sc_cv_type_longlong=yes +sc_cv_type_modet_basic='4 /* unsigned int */' +sc_cv_type_off64=no +sc_cv_type_off64_basic='0 /* unknown */' +sc_cv_type_off_basic='5 /* long */' +sc_cv_type_pidt_basic='3 /* int */' +sc_cv_type_rlimit_rlimmax_basic='6 /* unsigned long */' +sc_cv_type_sa_family_t=yes +sc_cv_type_sighandler=no +sc_cv_type_sizet_basic='6 /* unsigned long */' +sc_cv_type_socklen=yes +sc_cv_type_socklent_basic='4 /* unsigned int */' +sc_cv_type_stat64=no +sc_cv_type_stat64_stblksize_basic='0 /* unknown */' +sc_cv_type_stat64_stblocks_basic='0 /* unknown */' +sc_cv_type_stat64_stdev_basic='0 /* unknown */' +sc_cv_type_stat64_stino_basic='0 /* unknown */' +sc_cv_type_stat64_stnlink_basic='0 /* unknown */' +sc_cv_type_stat64_stsize_basic='0 /* unknown */' +sc_cv_type_stat_stblksize_basic='5 /* long */' +sc_cv_type_stat_stblocks_basic='5 /* long */' +sc_cv_type_stat_stino_basic='6 /* unsigned long */' +sc_cv_type_stat_stnlink_basic='6 /* unsigned long */' +sc_cv_type_stat_stsize_basic='5 /* long */' +sc_cv_type_struct_timeval_tv_usec='5 /* long */' +sc_cv_type_timet_basic='5 /* long */' +sc_cv_type_uidt_basic='4 /* unsigned int */' +sc_cv_type_uint16=yes +sc_cv_type_uint32=yes +sc_cv_type_uint64=yes +sc_cv_type_uint8=yes +sc_cv_typeof_struct_cmsghdr_cmsg_len='6 /* unsigned long */' diff --git a/common/environment/configure/automake/config.guess b/common/environment/configure/automake/config.guess new file mode 100755 index 0000000..8d70ec2 --- /dev/null +++ b/common/environment/configure/automake/config.guess @@ -0,0 +1,1685 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2020 Free Software Foundation, Inc. + +timestamp='2020-09-19' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# +# Please send patches to . + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2020 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + #include + #ifdef __DEFINED_va_list + LIBC=musl + #else + LIBC=gnu + #endif + #endif + EOF + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ + echo unknown)` + case "$UNAME_MACHINE_ARCH" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; + *:GNU:*:*) + # the GNU system + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + i*86:AROS:*:*) + echo "$UNAME_MACHINE"-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/common/environment/configure/automake/config.sub b/common/environment/configure/automake/config.sub new file mode 100755 index 0000000..780c2bb --- /dev/null +++ b/common/environment/configure/automake/config.sub @@ -0,0 +1,1845 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2020 Free Software Foundation, Inc. + +timestamp='2020-09-08' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2020 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'` + ;; + nto-qnx*) + kernel=nto + os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + nto-qnx*) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/common/environment/configure/bootstrap.sh b/common/environment/configure/bootstrap.sh new file mode 100644 index 0000000..f5ba5f4 --- /dev/null +++ b/common/environment/configure/bootstrap.sh @@ -0,0 +1,4 @@ +if [ -z "$CHROOT_READY" ]; then + CFLAGS+=" -isystem ${XBPS_MASTERDIR}/usr/include" + LDFLAGS+=" -L${XBPS_MASTERDIR}/usr/lib -Wl,-rpath-link=${XBPS_MASTERDIR}/usr/lib" +fi diff --git a/common/environment/configure/ccache.sh b/common/environment/configure/ccache.sh new file mode 100644 index 0000000..2968cea --- /dev/null +++ b/common/environment/configure/ccache.sh @@ -0,0 +1 @@ +export CCACHE_BASEDIR="$wrksrc/$build_wrksrc" diff --git a/common/environment/configure/cross.sh b/common/environment/configure/cross.sh new file mode 100644 index 0000000..d788729 --- /dev/null +++ b/common/environment/configure/cross.sh @@ -0,0 +1,5 @@ +if [ -n "$CROSS_BUILD" ]; then + CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include" + CXXFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include" + LDFLAGS+=" -L${XBPS_CROSS_BASE}/usr/lib" +fi diff --git a/common/environment/configure/debug-debug-prefix-map.sh b/common/environment/configure/debug-debug-prefix-map.sh new file mode 100644 index 0000000..d7eb040 --- /dev/null +++ b/common/environment/configure/debug-debug-prefix-map.sh @@ -0,0 +1,16 @@ +local _wrksrc="$wrksrc${build_wrksrc:+/$build_wrksrc}" +case "$build_style" in +cmake) + CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=." + CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=." + ;; +meson) + CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=." + CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=." + ;; +*) + CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc=." + CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc=." +esac + +unset _wrksrc diff --git a/common/environment/configure/gccspecs/hardened-cc1 b/common/environment/configure/gccspecs/hardened-cc1 new file mode 100644 index 0000000..f275759 --- /dev/null +++ b/common/environment/configure/gccspecs/hardened-cc1 @@ -0,0 +1,5 @@ +*cpp_options: ++ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}} + +*cc1_options: ++ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}} diff --git a/common/environment/configure/gccspecs/hardened-ld b/common/environment/configure/gccspecs/hardened-ld new file mode 100644 index 0000000..36b31d7 --- /dev/null +++ b/common/environment/configure/gccspecs/hardened-ld @@ -0,0 +1,5 @@ +*self_spec: ++ %{static|Bstatic|shared|Bshareable|i|r|pie|nopie:;:-pie} + +*link: ++ %{!static:-z relro -z now} diff --git a/common/environment/configure/gccspecs/hardened-mips-cc1 b/common/environment/configure/gccspecs/hardened-mips-cc1 new file mode 100644 index 0000000..41e40b9 --- /dev/null +++ b/common/environment/configure/gccspecs/hardened-mips-cc1 @@ -0,0 +1,8 @@ +*cpp_options: ++ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE -mshared}}}}} + +*cc1_options: ++ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE -mshared}}}}} + +*asm_options: ++ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-mshared}}}}} diff --git a/common/environment/configure/gnu-configure-args.sh b/common/environment/configure/gnu-configure-args.sh new file mode 100644 index 0000000..dafbf5d --- /dev/null +++ b/common/environment/configure/gnu-configure-args.sh @@ -0,0 +1,132 @@ +# This file sets up configure_args with common settings. + +if [ -n "$build_style" -a "$build_style" != "gnu-configure" ]; then + return 0 +fi + +# Store args from template so they can be included last and override +# our defaults +TEMPLATE_CONFIGURE_ARGS="${configure_args}" + +export configure_args="--prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin + --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var" + +. ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh +export configure_args+=" --host=$XBPS_TRIPLET --build=$XBPS_TRIPLET" + +# Always use wordsize-specific libdir even though the real path is lib +# This is to make sure 32-bit and 64-bit libs can coexist when looking +# up things (the opposite-libdir is always symlinked as libNN) +export configure_args+=" --libdir=\${exec_prefix}/lib${XBPS_TARGET_WORDSIZE}" + +_AUTOCONFCACHEDIR=${XBPS_COMMONDIR}/environment/configure/autoconf_cache + +# From now on all vars are exported to the environment +set -a + +# Read autoconf cache variables for native target. +case "$XBPS_TARGET_MACHINE" in + # musl libc + *-musl) . ${_AUTOCONFCACHEDIR}/musl-linux + ;; +esac + +# Cross compilation vars +if [ -z "$CROSS_BUILD" ]; then + export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}" + unset TEMPLATE_CONFIGURE_ARGS + + set +a + return 0 +fi + +export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE " + +export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}" +unset TEMPLATE_CONFIGURE_ARGS + +# Read autoconf cache variables for cross target (taken from OE). +case "$XBPS_TARGET_MACHINE" in + # musl libc + *-musl) . ${_AUTOCONFCACHEDIR}/common-linux + . ${_AUTOCONFCACHEDIR}/musl-linux + ;; + # gnu libc + *) . ${_AUTOCONFCACHEDIR}/common-linux + . ${_AUTOCONFCACHEDIR}/common-glibc + ;; +esac + +# Read apropiate autoconf cache files for target machine. +case "$XBPS_TARGET_MACHINE" in + armv5te*|armv?l*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/arm-common + . ${_AUTOCONFCACHEDIR}/arm-linux + ;; + + aarch64*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/aarch64-linux + ;; + + i686*) . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/ix86-common + ;; + + mips) . ${_AUTOCONFCACHEDIR}/endian-big + . ${_AUTOCONFCACHEDIR}/mips-common + . ${_AUTOCONFCACHEDIR}/mips-linux + ;; + + mipshf*) + . ${_AUTOCONFCACHEDIR}/endian-big + . ${_AUTOCONFCACHEDIR}/mips-common + . ${_AUTOCONFCACHEDIR}/mips-linux + ;; + + mipsel*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/mips-common + . ${_AUTOCONFCACHEDIR}/mips-linux + ;; + + x86_64*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/x86_64-linux + ;; + + ppc64le*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/powerpc-common + . ${_AUTOCONFCACHEDIR}/powerpc-linux + . ${_AUTOCONFCACHEDIR}/powerpc64-linux + ;; + + ppc64*) + . ${_AUTOCONFCACHEDIR}/endian-big + . ${_AUTOCONFCACHEDIR}/powerpc-common + . ${_AUTOCONFCACHEDIR}/powerpc-linux + . ${_AUTOCONFCACHEDIR}/powerpc64-linux + ;; + + ppcle*) + . ${_AUTOCONFCACHEDIR}/endian-little + . ${_AUTOCONFCACHEDIR}/powerpc-common + . ${_AUTOCONFCACHEDIR}/powerpc-linux + . ${_AUTOCONFCACHEDIR}/powerpc32-linux + ;; + + ppc*) + . ${_AUTOCONFCACHEDIR}/endian-big + . ${_AUTOCONFCACHEDIR}/powerpc-common + . ${_AUTOCONFCACHEDIR}/powerpc-linux + . ${_AUTOCONFCACHEDIR}/powerpc32-linux + ;; + + *) ;; +esac + +unset _AUTOCONFCACHEDIR + +set +a # vars are not exported to the environment anymore diff --git a/common/environment/configure/hardening.sh b/common/environment/configure/hardening.sh new file mode 100644 index 0000000..9e02364 --- /dev/null +++ b/common/environment/configure/hardening.sh @@ -0,0 +1,30 @@ +# Enable as-needed by default. +LDFLAGS="-Wl,--as-needed ${LDFLAGS}" + +if [ -z "$nopie" ]; then + # Our compilers use --enable-default-pie and --enable-default-ssp, + # but the bootstrap host compiler may not, force them. + if [ -z "$CHROOT_READY" ]; then + CFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CFLAGS}" + CXXFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CXXFLAGS}" + _GCCSPECSDIR=${XBPS_COMMONDIR}/environment/configure/gccspecs + case "$XBPS_TARGET_MACHINE" in + mips*) _GCCSPECSFILE="${_GCCSPECSDIR}/hardened-mips-cc1" ;; + *) _GCCSPECSFILE="${_GCCSPECSDIR}/hardened-cc1" ;; + esac + CFLAGS="-specs=${_GCCSPECSFILE} ${CFLAGS}" + CXXFLAGS="-specs=${_GCCSPECSFILE} ${CXXFLAGS}" + LDFLAGS="-specs=${_GCCSPECSDIR}/hardened-ld -Wl,-z,relro -Wl,-z,now ${LDFLAGS}" + else + # Enable FORITFY_SOURCE=2 + CFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 ${CFLAGS}" + CXXFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 ${CXXFLAGS}" + FFLAGS="-fstack-clash-protection ${FFLAGS}" + LDFLAGS="-Wl,-z,relro -Wl,-z,now ${LDFLAGS}" + fi +else + CFLAGS="-fno-PIE ${CFLAGS}" + CXXFLAGS="-fno-PIE ${CFLAGS}" + FFLAGS="-fno-PIE ${FFLAGS}" + LDFLAGS="-no-pie ${LDFLAGS}" +fi diff --git a/common/environment/configure/pkg-config.sh b/common/environment/configure/pkg-config.sh new file mode 100644 index 0000000..bf81c5f --- /dev/null +++ b/common/environment/configure/pkg-config.sh @@ -0,0 +1,5 @@ +# This snippet setups pkg-config vars. + +if [ -z "$CHROOT_READY" ]; then + export PKG_CONFIG_PATH="${XBPS_MASTERDIR}/usr/lib/pkgconfig:${XBPS_MASTERDIR}/usr/share/pkgconfig" +fi diff --git a/common/environment/extract/.empty b/common/environment/extract/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/fetch/.empty b/common/environment/fetch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/fetch/fetch_cmd.sh b/common/environment/fetch/fetch_cmd.sh new file mode 100644 index 0000000..2efc359 --- /dev/null +++ b/common/environment/fetch/fetch_cmd.sh @@ -0,0 +1,4 @@ +# +# Sets the fetch_cmd variable used by hooks/do-fetch/00-distfiles.sh +# +: ${fetch_cmd:=$XBPS_FETCH_CMD} diff --git a/common/environment/fetch/misc.sh b/common/environment/fetch/misc.sh new file mode 120000 index 0000000..7d5f3f6 --- /dev/null +++ b/common/environment/fetch/misc.sh @@ -0,0 +1 @@ +../setup/misc.sh \ No newline at end of file diff --git a/common/environment/install/.empty b/common/environment/install/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/install/ccache.sh b/common/environment/install/ccache.sh new file mode 120000 index 0000000..b5ed088 --- /dev/null +++ b/common/environment/install/ccache.sh @@ -0,0 +1 @@ +../configure/ccache.sh \ No newline at end of file diff --git a/common/environment/install/cross.sh b/common/environment/install/cross.sh new file mode 120000 index 0000000..43f6c48 --- /dev/null +++ b/common/environment/install/cross.sh @@ -0,0 +1 @@ +../configure/cross.sh \ No newline at end of file diff --git a/common/environment/install/debug-debug-prefix-map.sh b/common/environment/install/debug-debug-prefix-map.sh new file mode 120000 index 0000000..98c260a --- /dev/null +++ b/common/environment/install/debug-debug-prefix-map.sh @@ -0,0 +1 @@ +../configure/debug-debug-prefix-map.sh \ No newline at end of file diff --git a/common/environment/install/extglob.sh b/common/environment/install/extglob.sh new file mode 100644 index 0000000..c0bf59d --- /dev/null +++ b/common/environment/install/extglob.sh @@ -0,0 +1,18 @@ +# This provides the extglob function to expand wildcards in the destdir + +expand_destdir() { + local result= glob= file= + + ( + set -f + for glob in $@; do + files=$(echo "${PKGDESTDIR}/${glob}") + set +f + for file in $files; do + result+="${blank}${file#$PKGDESTDIR/}" + blank=" " + done + done + echo "$result" + ) +} diff --git a/common/environment/install/hardening.sh b/common/environment/install/hardening.sh new file mode 120000 index 0000000..f043590 --- /dev/null +++ b/common/environment/install/hardening.sh @@ -0,0 +1 @@ +../configure/hardening.sh \ No newline at end of file diff --git a/common/environment/install/pkg-config.sh b/common/environment/install/pkg-config.sh new file mode 120000 index 0000000..b8f8c44 --- /dev/null +++ b/common/environment/install/pkg-config.sh @@ -0,0 +1 @@ +../configure/pkg-config.sh \ No newline at end of file diff --git a/common/environment/patch/bootstrap.sh b/common/environment/patch/bootstrap.sh new file mode 120000 index 0000000..a0cf1d2 --- /dev/null +++ b/common/environment/patch/bootstrap.sh @@ -0,0 +1 @@ +../configure/bootstrap.sh \ No newline at end of file diff --git a/common/environment/patch/ccache.sh b/common/environment/patch/ccache.sh new file mode 120000 index 0000000..b5ed088 --- /dev/null +++ b/common/environment/patch/ccache.sh @@ -0,0 +1 @@ +../configure/ccache.sh \ No newline at end of file diff --git a/common/environment/patch/cross.sh b/common/environment/patch/cross.sh new file mode 120000 index 0000000..43f6c48 --- /dev/null +++ b/common/environment/patch/cross.sh @@ -0,0 +1 @@ +../configure/cross.sh \ No newline at end of file diff --git a/common/environment/patch/debug-debug-prefix-map.sh b/common/environment/patch/debug-debug-prefix-map.sh new file mode 120000 index 0000000..98c260a --- /dev/null +++ b/common/environment/patch/debug-debug-prefix-map.sh @@ -0,0 +1 @@ +../configure/debug-debug-prefix-map.sh \ No newline at end of file diff --git a/common/environment/patch/gnu-configure-args.sh b/common/environment/patch/gnu-configure-args.sh new file mode 120000 index 0000000..d3cafa3 --- /dev/null +++ b/common/environment/patch/gnu-configure-args.sh @@ -0,0 +1 @@ +../configure/gnu-configure-args.sh \ No newline at end of file diff --git a/common/environment/patch/hardening.sh b/common/environment/patch/hardening.sh new file mode 120000 index 0000000..f043590 --- /dev/null +++ b/common/environment/patch/hardening.sh @@ -0,0 +1 @@ +../configure/hardening.sh \ No newline at end of file diff --git a/common/environment/patch/pkg-config.sh b/common/environment/patch/pkg-config.sh new file mode 120000 index 0000000..b8f8c44 --- /dev/null +++ b/common/environment/patch/pkg-config.sh @@ -0,0 +1 @@ +../configure/pkg-config.sh \ No newline at end of file diff --git a/common/environment/pkg/extglob.sh b/common/environment/pkg/extglob.sh new file mode 120000 index 0000000..727ffaf --- /dev/null +++ b/common/environment/pkg/extglob.sh @@ -0,0 +1 @@ +../install/extglob.sh \ No newline at end of file diff --git a/common/environment/setup-subpkg/.empty b/common/environment/setup-subpkg/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/setup-subpkg/subpkg.sh b/common/environment/setup-subpkg/subpkg.sh new file mode 100644 index 0000000..6edab5d --- /dev/null +++ b/common/environment/setup-subpkg/subpkg.sh @@ -0,0 +1,48 @@ +# This shell snippet unsets all variables/functions that can be used in +# a package template and can also be used in subpkgs. + +## VARIABLES +unset -v conf_files mutable_files preserve triggers alternatives +unset -v depends run_depends replaces provides conflicts tags + +# hooks/post-install/03-strip-and-debug-pkgs +unset -v nostrip nostrip_files + +# hooks/post-install/14-fix-permissions +unset -v nocheckperms nofixperms + +# hooks/pre-pkg/04-generate-runtime-deps +unset -v noverifyrdeps skiprdeps allow_unknown_shlibs shlib_requires + +# hooks/pre-pkg/06-prepare-32bit +unset -v lib32depends lib32disabled lib32files lib32mode lib32symlinks + +# hooks/pre-pkg/06-shlib-provides +unset -v noshlibprovides shlib_provides + +# xbps-triggers: system-accounts +unset -v system_accounts system_groups + +# xbps-triggers: font-dirs +unset -v font_dirs + +# xbps-triggers: xml-catalog +unset -v xml_entries sgml_entries xml_catalogs sgml_catalogs + +# xbps-triggers: pycompile +unset -v pycompile_dirs pycompile_module + +# xbps-triggers: dkms +unset -v dkms_modules + +# xbps-triggers: kernel-hooks +unset -v kernel_hooks_version + +# xbps-triggers: mkdirs +unset -v make_dirs + +# xbps-triggers: binfmts +unset -v binfmts + +# xbps-triggers: register-shell +unset -v register_shell diff --git a/common/environment/setup/.empty b/common/environment/setup/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/environment/setup/git.sh b/common/environment/setup/git.sh new file mode 100644 index 0000000..bd72f2e --- /dev/null +++ b/common/environment/setup/git.sh @@ -0,0 +1,35 @@ +# If XBPS_USE_BUILD_MTIME is enabled in conf file don't continue. +# only run this, if SOURCE_DATE_EPOCH isn't set. + +if [ -z "$XBPS_GIT_CMD" ]; then + if [ -z "$XBPS_USE_BUILD_MTIME" ] || [ -n "$XBPS_USE_GIT_REVS" ]; then + msg_error "BUG: environment/setup: XBPS_GIT_CMD is not set\n" + fi +fi + +if [ -n "$XBPS_USE_BUILD_MTIME" ]; then + unset SOURCE_DATE_EPOCH +elif [ -z "${SOURCE_DATE_EPOCH}" ]; then + if [ -n "$IN_CHROOT" ]; then + msg_error "xbps-src's BUG: SOURCE_DATE_EPOCH is undefined\n" + fi + # check if the template is under version control: + if [ -n "$basepkg" -a -z "$($XBPS_GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} ls-files template)" ]; then + export SOURCE_DATE_EPOCH="$(stat -c %Y ${XBPS_SRCPKGDIR}/${basepkg}/template)" + else + export SOURCE_DATE_EPOCH=$($XBPS_GIT_CMD -C ${XBPS_DISTDIR} cat-file commit HEAD | + sed -n '/^committer /{s/.*> \([0-9][0-9]*\) [-+][0-9].*/\1/p;q}') + fi +fi + +# if XBPS_USE_GIT_REVS is enabled in conf file, +# compute XBPS_GIT_REVS to use in pkg hooks +if [ -z "$XBPS_USE_GIT_REVS" ]; then + unset XBPS_GIT_REVS +elif [ -z "$XBPS_GIT_REVS" ]; then + if [ -n "$IN_CHROOT" ]; then + msg_error "xbps-src's BUG: XBPS_GIT_REVS is undefined\n" + else + export XBPS_GIT_REVS="$($XBPS_GIT_CMD -C "${XBPS_DISTDIR}" rev-parse --verify --short HEAD)" + fi +fi diff --git a/common/environment/setup/install.sh b/common/environment/setup/install.sh new file mode 100644 index 0000000..ba0845b --- /dev/null +++ b/common/environment/setup/install.sh @@ -0,0 +1,276 @@ +# -*-* shell *-*- + +# enable aliases +shopt -s expand_aliases + +# clear all aliases +unalias -a + +# disable wildcards helper +_noglob_helper() { + set +f + "$@" +} + +# Apply _noglob to v* commands +for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv; do + alias ${cmd}="set -f; _noglob_helper _${cmd}" +done + +_vsv() { + local service="$1" + local facility="${2:-daemon}" + local LN_OPTS="-s" + local svdir="${PKGDESTDIR}/etc/sv/${service}" + + if [ $# -lt 1 ] || [ $# -gt 2 ]; then + msg_red "$pkgver: vsv: up to 2 arguments expected: []\n" + return 1 + fi + + if [ -n "$XBPS_BUILD_FORCEMODE" ]; then + LN_OPTS+="f" + fi + + vmkdir etc/sv + vcopy "${FILESDIR}/$service" etc/sv + if [ ! -L $svdir/run ]; then + grep -Fq 'exec 2>&1' $svdir/run || msg_warn "$pkgver: vsv: service '$service' does not contain 'exec 2>&1' to log stderr\n" + chmod 755 $svdir/run + fi + if [ -e $svdir/finish ] && [ ! -L $svdir/finish ]; then + chmod 755 $svdir/finish + fi + ln ${LN_OPTS} /run/runit/supervise.${service} $svdir/supervise + if [ -d $svdir/log ] || [ -L $svdir/log ]; then + msg_warn "$pkgver: vsv: overriding default log service\n" + else + mkdir $svdir/log + cat <<-EOF > $svdir/log/run + #!/bin/sh + exec vlogger -t $service -p $facility + EOF + fi + ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise + if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then + chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run + fi +} + +_vbin() { + local file="$1" targetfile="$2" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vbin: 1 argument expected: \n" + return 1 + fi + + vinstall "$file" 755 usr/bin "$targetfile" +} + +_vman() { + local file="$1" target="${2:-${1##*/}}" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vman: 1 argument expected: \n" + return 1 + fi + + suffix=${target##*.} + + if [[ $suffix == gz ]] + then + gunzip "$file" + file="${file:0:-3}" + target="${target:0:-3}" + suffix=${target##*.} + fi + + if [[ $suffix == bz2 ]] + then + bunzip2 "$file" + file="${file:0:-4}" + target="${target:0:-4}" + suffix=${target##*.} + fi + + if [[ $target =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?(\.[^.]+)?)\.(.*) ]] + then + name=${BASH_REMATCH[1]}.${BASH_REMATCH[5]} + mandir=${BASH_REMATCH[2]}/man${suffix:0:1} + else + name=$target + mandir=man${suffix:0:1} + fi + + if [[ ${mandir} == *man[0-9n] ]] ; then + vinstall "$file" 644 "usr/share/man/${mandir}" "$name" + return 0 + fi + + msg_red "$pkgver: vman: Filename '${target}' does not look like a man page\n" + return 1 +} + +_vdoc() { + local file="$1" targetfile="$2" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vdoc: 1 argument expected: \n" + return 1 + fi + + vinstall "$file" 644 "usr/share/doc/${pkgname}" "$targetfile" +} + +_vconf() { + local file="$1" targetfile="$2" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vconf: 1 argument expected: \n" + return 1 + fi + + vinstall "$file" 644 etc "$targetfile" +} + +_vsconf() { + local file="$1" targetfile="$2" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vsconf: 1 argument expected: \n" + return 1 + fi + + vinstall "$file" 644 "usr/share/examples/${pkgname}" "$targetfile" +} + +_vlicense() { + local file="$1" targetfile="$2" + + if [ $# -lt 1 ]; then + msg_red "$pkgver: vlicense: 1 argument expected: \n" + return 1 + fi + + vinstall "$file" 644 "usr/share/licenses/${pkgname}" "$targetfile" +} + +_vinstall() { + local file="$1" mode="$2" targetdir="$3" targetfile="$4" + + if [ -z "$PKGDESTDIR" ]; then + msg_red "$pkgver: vinstall: PKGDESTDIR unset, can't continue...\n" + return 1 + fi + + if [ $# -lt 3 ]; then + msg_red "$pkgver: vinstall: 3 arguments expected: \n" + return 1 + fi + + if [ ! -r "${file}" ]; then + msg_red "$pkgver: vinstall: cannot find '$file'...\n" + return 1 + fi + + if [ -z "$targetfile" ]; then + install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${file##*/}" + else + install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${targetfile##*/}" + fi +} + +_vcopy() { + local files="$1" targetdir="$2" + + if [ -z "$PKGDESTDIR" ]; then + msg_red "$pkgver: vcopy: PKGDESTDIR unset, can't continue...\n" + return 1 + fi + if [ $# -ne 2 ]; then + msg_red "$pkgver: vcopy: 2 arguments expected: \n" + return 1 + fi + + cp -a $files ${PKGDESTDIR}/${targetdir} +} + +_vmove() { + local f files="$1" _targetdir + + if [ -z "$DESTDIR" ]; then + msg_red "$pkgver: vmove: DESTDIR unset, can't continue...\n" + return 1 + elif [ -z "$PKGDESTDIR" ]; then + msg_red "$pkgver: vmove: PKGDESTDIR unset, can't continue...\n" + return 1 + elif [ "$DESTDIR" = "$PKGDESTDIR" ]; then + msg_red "$pkgver: vmove is intended to be used in pkg_install\n" + return 1 + fi + if [ $# -ne 1 ]; then + msg_red "$pkgver: vmove: 1 argument expected: \n" + return 1 + fi + for f in ${files}; do + _targetdir=${f%/*}/ + break + done + + if [ -z "${_targetdir}" ]; then + [ ! -d ${PKGDESTDIR} ] && install -d ${PKGDESTDIR} + mv ${DESTDIR}/$files ${PKGDESTDIR} + else + if [ ! -d ${PKGDESTDIR}/${_targetdir} ]; then + install -d ${PKGDESTDIR}/${_targetdir} + fi + mv ${DESTDIR}/$files ${PKGDESTDIR}/${_targetdir} + fi +} + +_vmkdir() { + local dir="$1" mode="$2" + + if [ -z "$PKGDESTDIR" ]; then + msg_red "$pkgver: vmkdir: PKGDESTDIR unset, can't continue...\n" + return 1 + fi + + if [ -z "$dir" ]; then + msg_red "vmkdir: directory argument unset.\n" + return 1 + fi + + if [ -z "$mode" ]; then + install -d ${PKGDESTDIR}/${dir} + else + install -dm${mode} ${PKGDESTDIR}/${dir} + fi +} + +_vcompletion() { + local file="$1" shell="$2" cmd="${3:-${pkgname}}" + local _bash_completion_dir=usr/share/bash-completion/completions/ + local _fish_completion_dir=usr/share/fish/vendor_completions.d/ + local _zsh_completion_dir=usr/share/zsh/site-functions/ + + if [ $# -lt 2 ]; then + msg_red "$pkgver: vcompletion: 2 arguments expected: \n" + return 1 + fi + + if ! [ -f "$file" ]; then + msg_red "$pkgver: vcompletion: file $file doesn't exist\n" + fi + + case "$shell" in + bash) vinstall "$file" 0644 $_bash_completion_dir "${cmd}" ;; + fish) vinstall "$file" 0644 $_fish_completion_dir "${cmd}.fish" ;; + zsh) vinstall "$file" 0644 $_zsh_completion_dir "_${cmd}" ;; + *) + msg_red "$pkgver: vcompletion: unknown shell ${shell}" + return 1 + ;; + esac +} diff --git a/common/environment/setup/misc.sh b/common/environment/setup/misc.sh new file mode 100644 index 0000000..3f2cc09 --- /dev/null +++ b/common/environment/setup/misc.sh @@ -0,0 +1,22 @@ +# +# Common variables that can be used by xbps-src. +# +# SITE used for distfiles mirrors. For use in $distfiles. +set -a + +SOURCEFORGE_SITE="https://downloads.sourceforge.net/sourceforge" +NONGNU_SITE="https://download.savannah.nongnu.org/releases" +UBUNTU_SITE="http://archive.ubuntu.com/ubuntu/pool" +XORG_SITE="https://www.x.org/releases/individual" +DEBIAN_SITE="https://ftp.debian.org/debian/pool" +GNOME_SITE="https://download.gnome.org/sources" +KERNEL_SITE="https://www.kernel.org/pub/linux" +CPAN_SITE="https://www.cpan.org/modules/by-module" +PYPI_SITE="https://files.pythonhosted.org/packages/source" +MOZILLA_SITE="https://ftp.mozilla.org/pub" +GNU_SITE="https://ftp.gnu.org/gnu" +FREEDESKTOP_SITE="https://freedesktop.org/software" +KDE_SITE="https://download.kde.org/stable" +VIDEOLAN_SITE="https://download.videolan.org/pub/videolan" + +set +a diff --git a/common/environment/setup/options.sh b/common/environment/setup/options.sh new file mode 100644 index 0000000..f75430b --- /dev/null +++ b/common/environment/setup/options.sh @@ -0,0 +1,46 @@ +# vim: set ts=4 sw=4 et: + +vopt_if() { + local name="build_option_$1" t="$2" f="$3" + if [ ${!name} ]; then + echo -n "$t" + else + echo -n "$f" + fi +} + +vopt_with() { + local opt="$1" flag="${2:-$1}" + vopt_if "$opt" "--with-${flag}" "--without-${flag}" +} + +vopt_enable() { + local opt="$1" flag="${2:-$1}" + if [ "$#" -gt "2" ]; then + msg_error "vopt_enable $opt: $(($# - 2)) excess parameter(s)\n" + fi + vopt_if "$1" "--enable-${flag}" "--disable-${flag}" +} + +vopt_conflict() { + local opt1="$1" opt2="$2" n1="build_option_$1" n2="build_option_$2" + if [ "${!n1}" -a "${!n2}" ]; then + msg_error "options '${opt1}' and '${opt2}' conflict\n" + fi +} + +vopt_bool() { + local opt="$1" prop="${2:-$1}" + if [ "$#" -gt "2" ]; then + msg_error "vopt_bool $opt: $(($# - 2)) excess parameter(s)\n" + fi + vopt_if "$1" "-D${prop}=true" "-D${prop}=false" +} + +vopt_feature() { + local opt="$1" prop="${2:-$1}" + if [ "$#" -gt "2" ]; then + msg_error "vopt_feature $opt: $(($# - 2)) excess parameter(s)\n" + fi + vopt_if "$1" "-D${prop}=enabled" "-D${prop}=disabled" +} diff --git a/common/environment/setup/python.sh b/common/environment/setup/python.sh new file mode 100644 index 0000000..606a4bc --- /dev/null +++ b/common/environment/setup/python.sh @@ -0,0 +1,14 @@ +# +# Useful variables for determining Python version and paths. +# + +py2_ver="2.7" +py2_lib="usr/lib/python${py2_ver}" +py2_sitelib="${py2_lib}/site-packages" +py2_inc="usr/include/python${py2_ver}" + +py3_ver="3.11" +py3_abiver="" +py3_lib="usr/lib/python${py3_ver}" +py3_sitelib="${py3_lib}/site-packages" +py3_inc="usr/include/python${py3_ver}${py3_abiver}" diff --git a/common/environment/setup/replace-interpreter.sh b/common/environment/setup/replace-interpreter.sh new file mode 100644 index 0000000..c520c73 --- /dev/null +++ b/common/environment/setup/replace-interpreter.sh @@ -0,0 +1,41 @@ +# This helper replaces shebang paths pointing to the correct ones +# as used by xbps. Multiple languages are supported: +# +# - GNU Bash +# - Perl +# - Python +# + +bash_regexp=".*sh" +perl_regexp=".*perl[^[:space:]]*" +python_regexp=".*python[^[:space:]]*" + +replace_interpreter() { + local lang="$1" file="$2" trsb orsb + + [ -z $lang -o -z $file ] && return 1 + + case $lang in + bash) + orsb=$bash_regexp + trpath="/bin/bash" + ;; + perl) + orsb=$perl_regexp + trpath="/usr/bin/perl" + ;; + python) + orsb=$python_regexp + trpath="/usr/bin/python" + ;; + *) + ;; + esac + + if [ -f $file ]; then + sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file + msg_normal "Transformed $lang script: ${file##$wrksrc}.\n" + else + msg_warn "Ignoring nonexistent $lang script: ${file##$wrksrc}.\n" + fi +} diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh new file mode 100644 index 0000000..6c016db --- /dev/null +++ b/common/environment/setup/sourcepkg.sh @@ -0,0 +1,86 @@ +# This shell snippet unsets all variables/functions that can be used in +# the package template (excluding subpackages). + +# Exported variables +for var in $(awk 'BEGIN{for (i in ENVIRON) {print i}}' /dev/null; then + unzip -o -q $srcdir/$curfile -d "$extractdir" + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + elif command -v bsdtar &>/dev/null; then + bsdtar -xf $srcdir/$curfile -C "$extractdir" + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + else + msg_error "$pkgver: cannot find unzip or bsdtar bin for extraction.\n" + fi + ;; + rpm) + if ! command -v bsdtar &>/dev/null; then + msg_error "$pkgver: cannot find bsdtar for extraction.\n" + fi + bsdtar -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir" + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + ;; + deb) + if command -v bsdtar &>/dev/null; then + bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" | + bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + else + msg_error "$pkgver: cannot find bsdtar for extraction.\n" + fi + ;; + txt) + cp -f $srcdir/$curfile "$extractdir" + ;; + 7z) + if command -v 7z &>/dev/null; then + 7z x $srcdir/$curfile -o"$extractdir" + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + elif command -v bsdtar &>/dev/null; then + bsdtar -xf $srcdir/$curfile -C "$extractdir" + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + else + msg_error "$pkgver: cannot find 7z or bsdtar bin for extraction.\n" + fi + ;; + gem) + innerdir="$extractdir/${wrksrc##*/}" + mkdir -p "$innerdir" + $TAR_CMD -xOf $srcdir/$curfile data.tar.gz | + $TAR_CMD -xz -C "$innerdir" -f - + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n" + fi + ;; + *) + msg_error "$pkgver: cannot guess $curfile extract suffix. ($cursufx)\n" + ;; + esac + done + + cd "$extractdir" + # find "$extractdir" -mindepth 1 -maxdepth 1 -printf '1\n' | wc -l + # However, it requires GNU's find + num_dirs=0 + for f in * .*; do + if [ -e "$f" ] || [ -L "$f" ]; then + case "$f" in + . | ..) ;; + *) + innerdir="$f" + num_dirs=$(( num_dirs + 1 )) + ;; + esac + fi + done + # Special case for num_dirs = 2, and it contains metadata + if [ "$num_dirs" != 2 ] || [ "$create_wrksrc" ]; then + : + elif grep -q 'xmlns="http://pear[.]php[.]net/dtd/package' package.xml 2>/dev/null + then + # PHP modules' metadata + rm -f package.xml + for f in */; do innerdir="$f"; done + num_dirs=1 + else + for f in *; do + # AppleDouble encoded Macintosh file + if [ -e "$f" ] && [ -e "._$f" ]; then + rm -f "._$f" + num_dirs=1 + innerdir="$f" + break + fi + done + fi + rm -rf "$wrksrc" + innerdir="$extractdir/$innerdir" + cd "$XBPS_BUILDDIR" + if [ "$num_dirs" = 1 ] && [ -d "$innerdir" ] && [ -z "$create_wrksrc" ]; then + # rename the subdirectory (top-level of distfiles) to $wrksrc + mv "$innerdir" "$wrksrc" && + rmdir "$extractdir" + else + mv "$extractdir" "$wrksrc" + fi || + msg_error "$pkgver: failed to move sources to $wrksrc\n" +} diff --git a/common/hooks/do-fetch/.empty b/common/hooks/do-fetch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/do-fetch/00-distfiles.sh b/common/hooks/do-fetch/00-distfiles.sh new file mode 100644 index 0000000..9ce2a18 --- /dev/null +++ b/common/hooks/do-fetch/00-distfiles.sh @@ -0,0 +1,303 @@ +# This hook downloads the distfiles specified in a template by +# the $distfiles variable and then verifies its sha256 checksum comparing +# its value with the one stored in the $checksum variable. + +# Return the checksum of the contents of a tarball +contents_cksum() { + local curfile="$1" cursufx cksum + + case $curfile in + *.tar.lzma) cursufx="txz";; + *.tar.lz) cursufx="tlz";; + *.tlz) cursufx="tlz";; + *.tar.xz) cursufx="txz";; + *.txz) cursufx="txz";; + *.tar.bz2) cursufx="tbz";; + *.tbz) cursufx="tbz";; + *.tar.gz) cursufx="tgz";; + *.tgz) cursufx="tgz";; + *.gz) cursufx="gz";; + *.bz2) cursufx="bz2";; + *.tar) cursufx="tar";; + *.zip) cursufx="zip";; + *.rpm) cursufx="rpm";; + *.patch) cursufx="txt";; + *.diff) cursufx="txt";; + *.txt) cursufx="txt";; + *.7z) cursufx="7z";; + *.gem) cursufx="gem";; + *.crate) cursufx="crate";; + *) msg_error "$pkgver: unknown distfile suffix for $curfile.\n";; + esac + + case ${cursufx} in + tar|txz|tbz|tlz|tgz|crate) + cksum=$($XBPS_DIGEST_CMD <($TAR_CMD -x -O -f "$curfile")) + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile to pipe.\n" + fi + ;; + gz) + cksum=$($XBPS_DIGEST_CMD <(gunzip -c "$curfile")) + ;; + bz2) + cksum=$($XBPS_DIGEST_CMD <(bunzip2 -c "$curfile")) + ;; + zip) + if command -v unzip &>/dev/null; then + cksum=$($XBPS_DIGEST_CMD <(unzip -p "$curfile")) + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile to pipe.\n" + fi + else + msg_error "$pkgver: cannot find unzip bin for extraction.\n" + fi + ;; + rpm) + msg_error "$pkgver: contents checksum not support for rpm.\n" + ;; + txt) + cksum=$($XBPS_DIGEST_CMD "$curfile") + ;; + 7z) + if command -v 7z &>/dev/null; then + cksum=$($XBPS_DIGEST_CMD <(7z x -o "$curfile")) + if [ $? -ne 0 ]; then + msg_error "$pkgver: extracting $curfile to pipe.\n" + fi + else + msg_error "$pkgver: cannot find 7z bin for extraction.\n" + fi + ;; + gem) + cksum=$($XBPS_DIGEST_CMD <($TAR_CMD -x -O -f "$curfile" data.tar.gz | $TAR_CMD -xzO )) + ;; + *) + msg_error "$pkgver: cannot guess $curfile extract suffix. ($cursufx)\n" + ;; + esac + + if [ -z "$cksum" ]; then + msg_error "$pkgver: cannot find contents checksum for $curfile.\n" + fi + echo "$cksum" +} + +# Verify the checksum for $curfile stored at $distfile and index $dfcount +verify_cksum() { + local curfile="$1" distfile="$2" cksum="$3" filesum + + # If the checksum starts with an commercial at (@) it is the contents checksum + if [ "${cksum:0:1}" = "@" ]; then + cksum=${cksum:1} + msg_normal "$pkgver: verifying contents checksum for distfile '$curfile'... " + filesum=$(contents_cksum "$curfile") + if [ "${cksum}" != "$filesum" ]; then + echo + msg_red "SHA256 mismatch for '${curfile}:'\n@${filesum}\n" + errors=$((errors + 1)) + else + msg_normal_append "OK.\n" + fi + else + msg_normal "$pkgver: verifying checksum for distfile '$curfile'... " + filesum=$(${XBPS_DIGEST_CMD} "$distfile") + if [ "$cksum" != "$filesum" ]; then + echo + msg_red "SHA256 mismatch for '${curfile}:'\n${filesum}\n" + errors=$((errors + 1)) + else + if [ ! -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" ]; then + mkdir -p "$XBPS_SRCDISTDIR/by_sha256" + ln -f "$distfile" "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" + fi + msg_normal_append "OK.\n" + fi + fi +} + +# Link an existing cksum $distfile for $curfile at index $dfcount +link_cksum() { + local curfile="$1" distfile="$2" cksum="$3" + if [ -n "$cksum" -a -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" ]; then + ln -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" "$distfile" + msg_normal "$pkgver: using known distfile $curfile.\n" + return 0 + fi + return 1 +} + +try_mirrors() { + local curfile="$1" distfile="$2" cksum="$3" f="$4" + local filesum basefile mirror path scheme good + [ -z "$XBPS_DISTFILES_MIRROR" ] && return 1 + basefile="${f##*/}" + for mirror in $XBPS_DISTFILES_MIRROR; do + scheme="file" + if [[ $mirror == *://* ]]; then + scheme="${mirror%%:/*}" + path="${mirror#${scheme}://}" + else + path="$mirror" + fi + if [ "$scheme" == "file" ]; then + # Skip file:// mirror locations (/some/where or file:///some/where) + # where the specified directory does not exist + if [ ! -d "$path" ]; then + msg_warn "$pkgver: mount point $path does not exist...\n" + continue + fi + fi + if [[ "$mirror" == *voidlinux* ]]; then + # For distfiles.voidlinux.* append the subdirectory + mirror="$mirror/$pkgname-$version" + fi + msg_normal "$pkgver: fetching distfile '$curfile' from mirror '$mirror'...\n" + $fetch_cmd "$mirror/$curfile" + # If basefile was not found, but a curfile file may exist, try to fetch it + # if [ ! -f "$distfile" -a "$basefile" != "$curfile" ]; then + # msg_normal "$pkgver: fetching distfile '$basefile' from mirror '$mirror'...\n" + # $fetch_cmd "$mirror/$basefile" + # fi + [ ! -f "$distfile" ] && continue + flock -n ${distfile}.part rm -f ${distfile}.part + filesum=$(${XBPS_DIGEST_CMD} "$distfile") + if [ "$cksum" == "$filesum" ]; then + return 0 + fi + msg_normal "$pkgver: checksum failed - removing '$curfile'...\n" + rm -f ${distfile} + done + return 1 +} + +try_urls() { + local curfile="$1" + local good= + for i in ${_file_idxs["$curfile"]}; do + local cksum=${_checksums["$i"]} + local url=${_distfiles["$i"]} + + # If distfile does not exist, download it from the original location. + if [[ "$FTP_RETRIES" && "${url}" =~ ^ftp:// ]]; then + max_retries="$FTP_RETRIES" + else + max_retries=1 + fi + for retry in $(seq 1 1 $max_retries); do + if [ ! -f "$distfile" ]; then + if [ "$retry" == 1 ]; then + msg_normal "$pkgver: fetching distfile '$curfile' from '$url'...\n" + else + msg_normal "$pkgver: fetch attempt $retry of $max_retries...\n" + fi + flock "${distfile}.part" $fetch_cmd "$url" + fi + done + + if [ ! -f "$distfile" ]; then + continue + fi + + # distfile downloaded, verify sha256 hash. + flock -n "${distfile}.part" rm -f "${distfile}.part" + verify_cksum "$curfile" "$distfile" "$cksum" + return 0 + done + return 1 +} + +hook() { + local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version" + local dfcount=0 dfgood=0 errors=0 max_retries + + local -a _distfiles=($distfiles) + local -a _checksums=($checksum) + local -A _file_idxs + + # Create a map from target file to index in _distfiles/_checksums + for i in ${!_distfiles[@]}; do + f="${_distfiles[$i]}" + curfile="${f#*>}" + curfile="${curfile##*/}" + _file_idxs["$curfile"]+=" $i" + done + + if [[ ! -d "$srcdir" ]]; then + mkdir -p -m775 "$srcdir" + chgrp $(id -g) "$srcdir" + fi + + cd $srcdir || msg_error "$pkgver: cannot change dir to $srcdir!\n" + + # Disable trap on ERR; the code is smart enough to report errors and abort. + trap - ERR + # Detect bsdtar and GNU tar (in that order of preference) + TAR_CMD="$(command -v bsdtar)" + if [[ -z "$TAR_CMD" ]]; then + TAR_CMD="$(command -v tar)" + fi + + # Detect distfiles with obsolete checksum and purge them from the cache + for f in ${!_file_idxs[@]}; do + distfile="$srcdir/$f" + for i in ${_file_idxs["$f"]}; do + if [[ -f $distfile ]]; then + cksum=${_checksums["$i"]} + if [[ ${cksum:0:1} = @ ]]; then + cksum=${cksum:1} + filesum=$(contents_cksum "$distfile") + else + filesum=$(${XBPS_DIGEST_CMD} "$distfile") + fi + if [[ $cksum = $filesum ]]; then + dfgood=$((dfgood + 1)) + else + inode=$(stat "$distfile" --printf "%i") + msg_warn "$pkgver: wrong checksum found for ${curfile} - purging\n" + find ${XBPS_SRCDISTDIR} -inum ${inode} -delete -print + fi + fi + dfcount=$((dfcount + 1)) + done + done + + # We're done, if all distfiles were found and had good checksums + [[ $dfcount -eq $dfgood ]] && return + + # Download missing distfiles and verify their checksums + for curfile in ${!_file_idxs[@]}; do + distfile="$srcdir/$curfile" + set -- ${_file_idxs["$curfile"]} + i="$1" + + # If file lock cannot be acquired wait until it's available. + while ! flock -w 1 "${distfile}.part" true; do + msg_warn "$pkgver: ${curfile} is already being downloaded, waiting for 1s ...\n" + done + + if [[ -f "$distfile" ]]; then + continue + fi + + # If distfile does not exist, try to link to it. + if link_cksum "$curfile" "$distfile" "${_checksums[$i]}"; then + continue + fi + + # If distfile does not exist, download it from a mirror location. + if try_mirrors "$curfile" "$distfile" "${_checksums[$i]}" "${_distfiles[$i]}"; then + continue + fi + + if ! try_urls "$curfile"; then + msg_error "$pkgver: failed to fetch '$curfile'.\n" + fi + done + + unset TAR_CMD + + if [[ $errors -gt 0 ]]; then + msg_error "$pkgver: couldn't verify distfiles, exiting...\n" + fi +} diff --git a/common/hooks/do-install/.empty b/common/hooks/do-install/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/do-patch/.empty b/common/hooks/do-patch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/do-patch/00-patches.sh b/common/hooks/do-patch/00-patches.sh new file mode 100644 index 0000000..c75209f --- /dev/null +++ b/common/hooks/do-patch/00-patches.sh @@ -0,0 +1,54 @@ +# This hook applies patches from "patches" directory. + +_process_patch() { + local _args= _patch= i=$1 + + _args="-Np1" + _patch=${i##*/} + + if [ -f "$PATCHESDIR/${_patch}.args" ]; then + _args=$(<"$PATCHESDIR/${_patch}.args") + elif [ -n "$patch_args" ]; then + _args=$patch_args + fi + cp -f "$i" "$wrksrc" + + # Try to guess if its a compressed patch. + if [[ $i =~ .gz$ ]]; then + gunzip "$wrksrc/${_patch}" + _patch=${_patch%%.gz} + elif [[ $i =~ .bz2$ ]]; then + bunzip2 "$wrksrc/${_patch}" + _patch=${_patch%%.bz2} + elif [[ $i =~ .diff$ ]]; then + : + elif [[ $i =~ .patch$ ]]; then + : + else + msg_warn "$pkgver: unknown patch type: $i.\n" + return 0 + fi + + cd "$wrksrc" + msg_normal "$pkgver: patching: ${_patch}.\n" + patch -s ${_args} <"${_patch}" 2>/dev/null +} + +hook() { + if [ ! -d "$wrksrc" ]; then + return 0 + fi + if [ -r $PATCHESDIR/series ]; then + while read -r f; do + _process_patch "$PATCHESDIR/$f" + done < $PATCHESDIR/series + else + for f in $PATCHESDIR/*; do + [ ! -f "$f" ] && continue + if [[ $f =~ ^.*.args$ ]]; then + continue + fi + _process_patch "$f" + done + fi +} diff --git a/common/hooks/do-pkg/.empty b/common/hooks/do-pkg/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/do-pkg/00-gen-pkg.sh b/common/hooks/do-pkg/00-gen-pkg.sh new file mode 100644 index 0000000..e61f053 --- /dev/null +++ b/common/hooks/do-pkg/00-gen-pkg.sh @@ -0,0 +1,166 @@ +# This hook generates a XBPS binary package from an installed package in destdir. + +genpkg() { + local pkgdir="$1" arch="$2" desc="$3" pkgver="$4" binpkg="$5" + local _preserve _deps _shprovides _shrequires _gitrevs _provides _conflicts + local _replaces _reverts _mutable_files _conf_files f + local _pkglock="$pkgdir/${binpkg}.lock" + + if [ ! -d "${PKGDESTDIR}" ]; then + msg_warn "$pkgver: cannot find pkg destdir... skipping!\n" + return 0 + fi + + [ ! -d $pkgdir ] && mkdir -p $pkgdir + + while [ -f "$_pkglock" ]; do + msg_warn "${pkgver}: binpkg is being created, waiting for 1s...\n" + sleep 1 + done + + # Don't overwrite existing binpkgs by default, skip them. + if [ -e $pkgdir/$binpkg ] && [ "$XBPS_PRESERVE_PKGS" ] && [ -z "$XBPS_BUILD_FORCEMODE" ]; then + msg_normal "${pkgver}: skipping existing $binpkg pkg...\n" + return 0 + fi + + # Lock binpkg + trap "rm -f '$_pkglock'" ERR EXIT + touch -f "$_pkglock" + + if [ ! -d $pkgdir ]; then + mkdir -p $pkgdir + fi + cd $pkgdir + + _preserve=${preserve:+-p} + if [ -s ${PKGDESTDIR}/rdeps ]; then + _deps="$(<${PKGDESTDIR}/rdeps)" + fi + if [ -s ${PKGDESTDIR}/shlib-provides ]; then + _shprovides="$(<${PKGDESTDIR}/shlib-provides)" + fi + if [ -s ${PKGDESTDIR}/shlib-requires ]; then + _shrequires="$(<${PKGDESTDIR}/shlib-requires)" + fi + if [ -s ${XBPS_STATEDIR}/gitrev ]; then + _gitrevs="$(<${XBPS_STATEDIR}/gitrev)" + fi + + # Stripping whitespaces + local _provides="$(echo $provides)" + local _conflicts="$(echo $conflicts)" + local _replaces="$(echo $replaces)" + local _reverts="$(echo $reverts)" + local _mutable_files="$(echo $mutable_files)" + local _conf_files="$(expand_destdir "$conf_files")" + local _alternatives="$(echo $alternatives)" + local _tags="$(echo $tags)" + local _changelog="$(echo $changelog)" + + msg_normal "Creating $binpkg for repository $pkgdir ...\n" + + # + # Create the XBPS binary package. + # + xbps-create \ + ${_provides:+--provides "${_provides}"} \ + ${_conflicts:+--conflicts "${_conflicts}"} \ + ${_replaces:+--replaces "${_replaces}"} \ + ${_reverts:+--reverts "${_reverts}"} \ + ${_mutable_files:+--mutable-files "${_mutable_files}"} \ + ${_deps:+--dependencies "${_deps}"} \ + ${_conf_files:+--config-files "${_conf_files}"} \ + ${PKG_BUILD_OPTIONS:+--build-options "${PKG_BUILD_OPTIONS}"} \ + ${_gitrevs:+--source-revisions "${_gitrevs}"} \ + ${_shprovides:+--shlib-provides "${_shprovides}"} \ + ${_shrequires:+--shlib-requires "${_shrequires}"} \ + ${_alternatives:+--alternatives "${_alternatives}"} \ + ${_preserve:+--preserve} \ + ${tags:+--tags "${tags}"} \ + ${_changelog:+--changelog "${_changelog}"} \ + ${XBPS_PKG_COMPTYPE:+--compression $XBPS_PKG_COMPTYPE} \ + --architecture ${arch} \ + --homepage "${homepage}" \ + --license "${license}" \ + --maintainer "${maintainer}" \ + --desc "${desc}" \ + --pkgver "${pkgver}" \ + --quiet \ + ${PKGDESTDIR} + rval=$? + + # Unlock binpkg + rm -f "$_pkglock" + trap - ERR EXIT + + if [ $rval -ne 0 ]; then + rm -f $pkgdir/$binpkg + msg_error "Failed to created binary package: $binpkg!\n" + fi +} + +hook() { + local arch= binpkg= repo= _pkgver= _desc= _pkgn= _pkgv= _provides= \ + _replaces= _reverts= f= found_dbg_subpkg= + + arch=$XBPS_TARGET_MACHINE + binpkg=${pkgver}.${arch}.xbps + + if [ -n "$repository" ]; then + repo=$XBPS_REPOSITORY/$repository + else + repo=$XBPS_REPOSITORY + fi + + genpkg ${repo} ${arch} "${short_desc}" ${pkgver} ${binpkg} + + for f in ${provides}; do + _pkgn="$($XBPS_UHELPER_CMD getpkgname $f)" + _pkgv="$($XBPS_UHELPER_CMD getpkgversion $f)" + _provides+=" ${_pkgn}-32bit-${_pkgv}" + done + for f in ${replaces}; do + _pkgn="$($XBPS_UHELPER_CMD getpkgdepname $f)" + _pkgv="$($XBPS_UHELPER_CMD getpkgdepversion $f)" + _replaces+=" ${_pkgn}-32bit${_pkgv}" + done + + # Generate -dbg pkg. + for f in ${subpackages}; do + # If there's an explicit subpkg named ${pkgname}-dbg, don't generate + # it automagically (required by linuxX.X). + if [ "${sourcepkg}-dbg" = "$f" ]; then + found_dbg_subpkg=1 + break + fi + done + if [ -z "$found_dbg_subpkg" -a -d "${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-dbg-${version}" ]; then + source ${XBPS_COMMONDIR}/environment/setup-subpkg/subpkg.sh + repo=$XBPS_REPOSITORY/debug + _pkgver=${pkgname}-dbg-${version}_${revision} + _desc="${short_desc} (debug files)" + binpkg=${_pkgver}.${arch}.xbps + PKGDESTDIR="${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-dbg-${version}" + genpkg ${repo} ${arch} "${_desc}" ${_pkgver} ${binpkg} + fi + # Generate 32bit pkg. + if [ "$XBPS_TARGET_MACHINE" != "i686" ]; then + return + fi + if [ -d "${XBPS_DESTDIR}/${pkgname}-32bit-${version}" ]; then + source ${XBPS_COMMONDIR}/environment/setup-subpkg/subpkg.sh + if [ -n "$repository" ]; then + repo=$XBPS_REPOSITORY/multilib/$repository + else + repo=$XBPS_REPOSITORY/multilib + fi + _pkgver=${pkgname}-32bit-${version}_${revision} + _desc="${short_desc} (32bit)" + binpkg=${_pkgver}.x86_64.xbps + PKGDESTDIR="${XBPS_DESTDIR}/${pkgname}-32bit-${version}" + [ -n "${_provides}" ] && export provides="${_provides}" + [ -n "${_replaces}" ] && export replaces="${_replaces}" + genpkg ${repo} x86_64 "${_desc}" ${_pkgver} ${binpkg} + fi +} diff --git a/common/hooks/post-build/.empty b/common/hooks/post-build/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-check/.empty b/common/hooks/post-check/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-configure/.empty b/common/hooks/post-configure/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-extract/.empty b/common/hooks/post-extract/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-fetch/.empty b/common/hooks/post-fetch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-install/.empty b/common/hooks/post-install/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-install/00-compress-info-files.sh b/common/hooks/post-install/00-compress-info-files.sh new file mode 100644 index 0000000..ee394a8 --- /dev/null +++ b/common/hooks/post-install/00-compress-info-files.sh @@ -0,0 +1,43 @@ +# This hook compresses info(1) files. + +hook() { + local f j dirat lnkat newlnk + local fpattern="s|${PKGDESTDIR}||g;s|^\./$||g;/^$/d" + # + # Find out if this package contains info files and compress + # all them with gzip. + # + if [ ! -f ${PKGDESTDIR}/usr/share/info/dir ]; then + return 0 + fi + # Always remove this file if curpkg is not texinfo. + if [ "$pkgname" != "texinfo" ]; then + rm -f ${PKGDESTDIR}/usr/share/info/dir + fi + + find ${PKGDESTDIR}/usr/share/info -type f -follow | while read f + do + j=$(echo "$f"|sed -e "$fpattern") + [ "$j" = "" ] && continue + [ "$j" = "/usr/share/info/dir" ] && continue + # Ignore compressed files. + if [[ "$j" =~ .*.gz$ ]]; then + continue + fi + # Ignore non info files. + if ! [[ "$j" =~ .*.info$ ]] && ! [[ "$j" =~ .*.info-[0-9]*$ ]]; then + continue + fi + if [ -h ${PKGDESTDIR}/"$j" ]; then + dirat="${j%/*}/" + lnkat=$(readlink ${PKGDESTDIR}/"$j") + newlnk="${j##*/}" + rm -f ${PKGDESTDIR}/"$j" + cd ${PKGDESTDIR}/"$dirat" + ln -s "${lnkat}".gz "${newlnk}".gz + continue + fi + echo " Compressing info file: $j..." + gzip -nfq9 ${PKGDESTDIR}/"$j" + done +} diff --git a/common/hooks/post-install/00-fixup-gir-path.sh b/common/hooks/post-install/00-fixup-gir-path.sh new file mode 100644 index 0000000..6fdb111 --- /dev/null +++ b/common/hooks/post-install/00-fixup-gir-path.sh @@ -0,0 +1,11 @@ +# This hook removes the symlink necessary to fix the wrong install path of +# 'gir' files when cross building packages (see pre-install hook). It's a +# workaround and not a proper fix. Remove it once the root cause of the problem +# is fixed. + +# Has to be a low number so it runs before remove-empty-dirs + +hook() { + [ -z "$CROSS_BUILD" ] && return + rm -f "${PKGDESTDIR}/usr/${XBPS_CROSS_TRIPLET}/usr" +} diff --git a/common/hooks/post-install/00-libdir.sh b/common/hooks/post-install/00-libdir.sh new file mode 100644 index 0000000..21c7e35 --- /dev/null +++ b/common/hooks/post-install/00-libdir.sh @@ -0,0 +1,7 @@ +# This hook removes the wordsize specific libdir symlink. + +hook() { + if [ "${pkgname}" != "base-files" ]; then + rm -f ${PKGDESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE} + fi +} diff --git a/common/hooks/post-install/00-uncompress-manpages.sh b/common/hooks/post-install/00-uncompress-manpages.sh new file mode 100644 index 0000000..c7a4e47 --- /dev/null +++ b/common/hooks/post-install/00-uncompress-manpages.sh @@ -0,0 +1,21 @@ +# This hook uncompresses man(1) files. + +hook() { + local f lnkat mandir=${PKGDESTDIR}/usr/share/man + + if [ ! -d $mandir ] || + [ -z "$(find $mandir -regex '.*\.\(gz\|bz2\)' -print -quit)" ]; then + return 0 + fi + + # rewrite symlinks + find $mandir -type l -regex '.*\.\(gz\|bz2\)' | while read f + do + lnkat=$(readlink "$f") + ln -s ${lnkat%.*} ${f%.*} + rm $f + done + + find $mandir -type f -name '*.gz' -exec gunzip -v -f {} + &>/dev/null + find $mandir -type f -name '*.bz2' -exec bunzip2 -v -f {} + &>/dev/null +} diff --git a/common/hooks/post-install/01-remove-misc.sh b/common/hooks/post-install/01-remove-misc.sh new file mode 100644 index 0000000..06e8c19 --- /dev/null +++ b/common/hooks/post-install/01-remove-misc.sh @@ -0,0 +1,11 @@ +# hook to remove misc files. +hook() { + case "$XBPS_TARGET_MACHINE" in + *-musl) ;; + *) return 0;; + esac + # Remove charset.alias on musl + if [ -f $PKGDESTDIR/usr/lib/charset.alias ]; then + rm -f $PKGDESTDIR/usr/lib/charset.alias + fi +} diff --git a/common/hooks/post-install/02-remove-libtool-archives.sh b/common/hooks/post-install/02-remove-libtool-archives.sh new file mode 100644 index 0000000..dd4afe8 --- /dev/null +++ b/common/hooks/post-install/02-remove-libtool-archives.sh @@ -0,0 +1,7 @@ +# This hook removes libtool archives (.la) unless $keep_libtool_archives is set. + +hook() { + if [ -z "$keep_libtool_archives" -a -d "${PKGDESTDIR}" ]; then + find ${PKGDESTDIR} -name \*.la -delete + fi +} diff --git a/common/hooks/post-install/02-remove-perl-files.sh b/common/hooks/post-install/02-remove-perl-files.sh new file mode 100644 index 0000000..e8dad01 --- /dev/null +++ b/common/hooks/post-install/02-remove-perl-files.sh @@ -0,0 +1,8 @@ +# This hook removes perl pod/.packlist files. + +hook() { + if [ "$pkgname" != "perl" -a -d "${PKGDESTDIR}" ]; then + find ${PKGDESTDIR} -type f -name perllocal.pod -delete + find ${PKGDESTDIR} -type f -name .packlist -delete + fi +} diff --git a/common/hooks/post-install/02-remove-python-bytecode-files.sh b/common/hooks/post-install/02-remove-python-bytecode-files.sh new file mode 100644 index 0000000..3fa8bdc --- /dev/null +++ b/common/hooks/post-install/02-remove-python-bytecode-files.sh @@ -0,0 +1,7 @@ +# This hook removes python bytecode files (.py[co]). + +hook() { + if [ -d "${PKGDESTDIR}" ]; then + find ${PKGDESTDIR} -type f -name '*.py[co]' -delete + fi +} diff --git a/common/hooks/post-install/03-remove-empty-dirs.sh b/common/hooks/post-install/03-remove-empty-dirs.sh new file mode 100644 index 0000000..c54f458 --- /dev/null +++ b/common/hooks/post-install/03-remove-empty-dirs.sh @@ -0,0 +1,10 @@ +# This hooks removes empty dirs and warns about them. + +hook() { + if [ -d "${PKGDESTDIR}" ]; then + find "${PKGDESTDIR}" -mindepth 1 -type d -empty -print -delete|sort -r|while read f; do + _dir="${f##${PKGDESTDIR}}" + msg_warn "$pkgver: removed empty dir: ${_dir}\n" + done + fi +} diff --git a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh new file mode 100644 index 0000000..69e318a --- /dev/null +++ b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh @@ -0,0 +1,406 @@ +# This hook generates XBPS pkg metadata INSTALL/REMOVE scripts. + +_add_trigger() { + local f= found= name="$1" + + for f in ${triggers}; do + [ "$f" = "$name" ] && found=1 + done + [ -z "$found" ] && triggers="$triggers $name" +} + +process_metadata_scripts() { + local action="$1" + local action_file="$2" + local tmpf=$(mktemp) || exit 1 + local fpattern="s|${PKGDESTDIR}||g;s|^\./$||g;/^$/d" + local targets= f= _f= info_files= home= shell= descr= groups= + local found= triggers_found= _icondirs= _schemas= _mods= _tmpfiles= + + case "$action" in + install) ;; + remove) ;; + *) return 1;; + esac + + cd ${PKGDESTDIR} + cat >> $tmpf <<_EOF +#!/bin/sh +# +# Generic INSTALL/REMOVE script. Arguments passed to this script: +# +# \$1 = ACTION [pre/post] +# \$2 = PKGNAME +# \$3 = VERSION +# \$4 = UPDATE [yes/no] +# \$5 = CONF_FILE (path to xbps.conf) +# \$6 = ARCH (uname -m) +# +# Note that paths must be relative to CWD, to avoid calling +# host commands if /bin/sh (dash) is not installed and it's +# not possible to chroot(2). +# + +export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" + +TRIGGERSDIR="./usr/libexec/xbps-triggers" +ACTION="\$1" +PKGNAME="\$2" +VERSION="\$3" +UPDATE="\$4" +CONF_FILE="\$5" +ARCH="\$6" + +# +# The following code will run the triggers. +# +_EOF + # + # Handle kernel hooks. + # + if [ -n "${kernel_hooks_version}" ]; then + _add_trigger kernel-hooks + echo "export kernel_hooks_version=\"${kernel_hooks_version}\"" >> $tmpf + fi + # + # Handle DKMS modules. + # + if [ -n "${dkms_modules}" ]; then + _add_trigger dkms + echo "export dkms_modules=\"${dkms_modules}\"" >> $tmpf + fi + # + # Handle system groups. + # + if [ -n "${system_groups}" ]; then + _add_trigger system-accounts + echo "export system_groups=\"${system_groups}\"" >> $tmpf + fi + # + # Handle system accounts. + # + if [ -n "${system_accounts}" ]; then + _add_trigger system-accounts + echo "export system_accounts=\"${system_accounts}\"" >> $tmpf + for f in ${system_accounts}; do + local _uname="${f%:*}" + local _uid="${f#*:}" + + eval homedir="\$${_uname}_homedir" + eval shell="\$${_uname}_shell" + eval descr="\$${_uname}_descr" + eval groups="\$${_uname}_groups" + eval pgroup="\$${_uname}_pgroup" + if [ -n "$homedir" ]; then + echo "export ${_uname}_homedir=\"$homedir\"" >> $tmpf + fi + if [ -n "$shell" ]; then + echo "export ${_uname}_shell=\"$shell\"" >> $tmpf + fi + if [ -n "$descr" ]; then + echo "export ${_uname}_descr=\"$descr\"" >> $tmpf + fi + if [ -n "$groups" ]; then + echo "export ${_uname}_groups=\"${groups}\"" >> $tmpf + fi + if [ -n "$pgroup" ]; then + echo "export ${_uname}_pgroup=\"${pgroup}\"" >> $tmpf + fi + unset homedir shell descr groups pgroup + done + fi + # + # Handle mkdirs trigger. + # + if [ -n "${make_dirs}" ]; then + _add_trigger mkdirs + echo "export make_dirs=\"${make_dirs}\"" >> $tmpf + fi + # + # Handle binfmts trigger + # + if [ -n "${binfmts}" ]; then + _add_trigger binfmts + echo "export binfmts=\"${binfmts}\"" >> $tmpf + fi + # + # Handle GNU Info files. + # + if [ -d "${PKGDESTDIR}/usr/share/info" ]; then + unset info_files + for f in $(find ${PKGDESTDIR}/usr/share/info -type f); do + j=$(echo $f|sed -e "$fpattern") + [ "$j" = "" ] && continue + [ "$j" = "/usr/share/info/dir" ] && continue + if [ -z "$info_files" ]; then + info_files="$j" + else + info_files="$info_files $j" + fi + done + if [ -n "${info_files}" ]; then + _add_trigger info-files + echo "export info_files=\"${info_files}\"" >> $tmpf + fi + fi + # + # Handle files in hwdb directory + # + if [ -d "${PKGDESTDIR}/usr/lib/udev/hwdb.d" ]; then + _add_trigger hwdb.d-dir + fi + # + # Handle texmf database changes + # + if [ -d "${PKGDESTDIR}/usr/share/texmf-dist" ] ; then + _add_trigger texmf-dist + fi + # + # (Un)Register a shell in /etc/shells. + # + if [ -n "${register_shell}" ]; then + _add_trigger register-shell + echo "export register_shell=\"${register_shell}\"" >> $tmpf + fi + # + # Handle SGML/XML catalog entries via xmlcatmgr. + # + if [ -n "${sgml_catalogs}" ]; then + for catalog in ${sgml_catalogs}; do + sgml_entries="${sgml_entries} CATALOG ${catalog} --" + done + fi + if [ -n "${sgml_entries}" ]; then + echo "export sgml_entries=\"${sgml_entries}\"" >> $tmpf + fi + if [ -n "${xml_catalogs}" ]; then + for catalog in ${xml_catalogs}; do + xml_entries="${xml_entries} nextCatalog ${catalog} --" + done + fi + if [ -n "${xml_entries}" ]; then + echo "export xml_entries=\"${xml_entries}\"" >> $tmpf + fi + if [ -n "${sgml_entries}" -o -n "${xml_entries}" ]; then + _add_trigger xml-catalog + fi + # + # Handle X11 font updates via mkfontdir/mkfontscale. + # + if [ -n "${font_dirs}" ]; then + _add_trigger x11-fonts + echo "export font_dirs=\"${font_dirs}\"" >> $tmpf + fi + # + # Handle GTK+ Icon cache directories. + # + if [ -d ${PKGDESTDIR}/usr/share/icons ]; then + for f in ${PKGDESTDIR}/usr/share/icons/*; do + [ ! -d "${f}" ] && continue + _icondirs="${_icondirs} ${f#${PKGDESTDIR}}" + done + if [ -n "${_icondirs}" ]; then + echo "export gtk_iconcache_dirs=\"${_icondirs}\"" >> $tmpf + _add_trigger gtk-icon-cache + fi + fi + # + # Handle .desktop files in /usr/share/applications with + # desktop-file-utils. + # + if [ -d ${PKGDESTDIR}/usr/share/applications ]; then + _add_trigger update-desktopdb + fi + # + # Handle GConf schemas/entries files with gconf-schemas. + # + if [ -d ${PKGDESTDIR}/usr/share/gconf/schemas ]; then + _add_trigger gconf-schemas + for f in ${PKGDESTDIR}/usr/share/gconf/schemas/*.schemas; do + _schemas="${_schemas} ${f##*/}" + done + echo "export gconf_schemas=\"${_schemas}\"" >> $tmpf + fi + # + # Handle gio-modules trigger. + # + if [ -d ${PKGDESTDIR}/usr/lib/gio/modules ]; then + _add_trigger gio-modules + fi + # + # Handle gtk immodules in /usr/lib/gtk-2.0/2.10.0/immodules with + # gtk-immodules + # + if [ -d ${PKGDESTDIR}/usr/lib/gtk-2.0/2.10.0/immodules ]; then + _add_trigger gtk-immodules + fi + # + # Handle gtk3 immodules in /usr/lib/gtk-3.0/3.0.0/immodules with + # gtk3-immodules + # + if [ -d ${PKGDESTDIR}/usr/lib/gtk-3.0/3.0.0/immodules ]; then + _add_trigger gtk3-immodules + fi + # + # Handle gsettings schemas in /usr/share/glib-2.0/schemas with + # gsettings-schemas. + # + if [ -d ${PKGDESTDIR}/usr/share/glib-2.0/schemas ]; then + _add_trigger gsettings-schemas + fi + # + # Handle gdk-pixbuf loadable modules in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders + # with gdk-pixbuf-loaders + # + if [ -d ${PKGDESTDIR}/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders ]; then + _add_trigger gdk-pixbuf-loaders + fi + # + # Handle mime database in /usr/share/mime with update-mime-database. + # + if [ -d ${PKGDESTDIR}/usr/share/mime ]; then + _add_trigger mimedb + fi + # + # Handle python bytecode archives with pycompile trigger. + # + local pycompile_version + if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then + pycompile_version="$(find ${PKGDESTDIR}/usr/lib/python* -prune -type d | grep -o '[[:digit:]]\.[[:digit:]]\+$')" + if [ -z "${pycompile_module}" ]; then + pycompile_module="$(find ${PKGDESTDIR}/usr/lib/python*/site-packages -mindepth 1 -maxdepth 1 '!' -name '*.egg-info' '!' -name '*.dist-info' '!' -name '*.so' '!' -name '*.pth' -printf '%f ')" + fi + fi + + if [ -n "$python_version" ]; then + pycompile_version=${python_version} + fi + + if [ "$pycompile_version" = 3 ]; then + pycompile_version=${py3_ver} + elif [ "$pycompile_version" = 2 ]; then + pycompile_version=${py2_ver} + fi + + if [ -n "${pycompile_dirs}" -o -n "${pycompile_module}" ]; then + [ -n "$pycompile_version" ] || msg_error "$pkgver: byte-compilation is required, but python_version is not set\n" + echo "export pycompile_version=\"${pycompile_version}\"" >>$tmpf + if [ -n "${pycompile_dirs}" ]; then + echo "export pycompile_dirs=\"${pycompile_dirs}\"" >>$tmpf + fi + if [ -n "${pycompile_module}" ]; then + echo "export pycompile_module=\"${pycompile_module}\"" >>$tmpf + fi + _add_trigger pycompile + fi + # + # Handle appdata metadata with AppStream + # + for f in ${PKGDESTDIR}/usr/share/appdata/*.xml ${PKGDESTDIR}/usr/share/app-info/*.xml ${PKGDESTDIR}/var/lib/app-info/*.xml ${PKGDESTDIR}/var/cache/app-info/*.xml; do + if [ -f "${f}" ]; then + _add_trigger appstream-cache + break + fi + done + + # End of trigger var exports. + echo >> $tmpf + + # + # Write the INSTALL/REMOVE package scripts. + # + if [ -n "$triggers" ]; then + triggers_found=1 + echo "case \"\${ACTION}\" in" >> $tmpf + echo "pre)" >> $tmpf + for f in ${triggers}; do + if [ ! -f $XBPS_TRIGGERSDIR/$f ]; then + rm -f $tmpf + msg_error "$pkgname: unknown trigger $f, aborting!\n" + fi + echo " Added trigger '$f' for the '${action^^}' script." + done + for f in ${triggers}; do + targets=$($XBPS_TRIGGERSDIR/$f targets) + for j in ${targets}; do + if ! [[ $j =~ pre-${action} ]]; then + continue + fi + printf "\t\${TRIGGERSDIR}/$f run $j \${PKGNAME} \${VERSION} \${UPDATE} \${CONF_FILE}\n" >> $tmpf + printf "\t[ \$? -ne 0 ] && exit \$?\n" >> $tmpf + done + done + printf "\t;;\n" >> $tmpf + echo "post)" >> $tmpf + for f in ${triggers}; do + targets=$($XBPS_TRIGGERSDIR/$f targets) + for j in ${targets}; do + if ! [[ $j =~ post-${action} ]]; then + continue + fi + printf "\t\${TRIGGERSDIR}/$f run $j \${PKGNAME} \${VERSION} \${UPDATE} \${CONF_FILE}\n" >> $tmpf + printf "\t[ \$? -ne 0 ] && exit \$?\n" >> $tmpf + done + done + printf "\t;;\n" >> $tmpf + echo "esac" >> $tmpf + echo >> $tmpf + fi + + if [ -z "$triggers" -a ! -f "$action_file" ]; then + rm -f $tmpf + return 0 + fi + + case "$action" in + install) + if [ -f ${action_file} ]; then + found=1 + cat ${action_file} >> $tmpf + fi + echo >> $tmpf + echo "exit 0" >> $tmpf + mv $tmpf ${PKGDESTDIR}/INSTALL && chmod 755 ${PKGDESTDIR}/INSTALL + ;; + remove) + unset found + if [ -f ${action_file} ]; then + found=1 + cat ${action_file} >> $tmpf + fi + echo >> $tmpf + echo "exit 0" >> $tmpf + mv $tmpf ${PKGDESTDIR}/REMOVE && chmod 755 ${PKGDESTDIR}/REMOVE + ;; + esac +} + +hook() { + local meta_install meta_remove + + if [ -n "${sourcepkg}" -a "${sourcepkg}" != "${pkgname}" ]; then + # subpkg + meta_install=${XBPS_SRCPKGDIR}/${pkgname}/${pkgname}.INSTALL + msg_install=${XBPS_SRCPKGDIR}/${pkgname}/${pkgname}.INSTALL.msg + meta_remove=${XBPS_SRCPKGDIR}/${pkgname}/${pkgname}.REMOVE + msg_remove=${XBPS_SRCPKGDIR}/${pkgname}/${pkgname}.REMOVE.msg + else + # sourcepkg + meta_install=${XBPS_SRCPKGDIR}/${pkgname}/INSTALL + msg_install=${XBPS_SRCPKGDIR}/${pkgname}/INSTALL.msg + meta_remove=${XBPS_SRCPKGDIR}/${pkgname}/REMOVE + msg_remove=${XBPS_SRCPKGDIR}/${pkgname}/REMOVE.msg + fi + process_metadata_scripts install ${meta_install} || \ + msg_error "$pkgver: failed to write INSTALL metadata file!\n" + + process_metadata_scripts remove ${meta_remove} || \ + msg_error "$pkgver: failed to write REMOVE metadata file!\n" + + if [ -s ${msg_install} ]; then + install -m644 ${msg_install} ${PKGDESTDIR}/INSTALL.msg + fi + if [ -s ${msg_remove} ]; then + install -m644 ${msg_remove} ${PKGDESTDIR}/REMOVE.msg + fi +} diff --git a/common/hooks/post-install/05-generate-gitrevs.sh b/common/hooks/post-install/05-generate-gitrevs.sh new file mode 100644 index 0000000..c5a51f0 --- /dev/null +++ b/common/hooks/post-install/05-generate-gitrevs.sh @@ -0,0 +1,23 @@ +# This hook generates a file ${XBPS_STATEDIR}/gitrev with the last +# commit sha1 (in short mode) for source pkg if XBPS_USE_GIT_REVS is enabled. + +hook() { + local GITREVS_FILE=${XBPS_STATEDIR}/gitrev + + # If XBPS_USE_GIT_REVS is disabled in conf file don't continue. + if [ -z $XBPS_USE_GIT_REVS ]; then + return + fi + # If the file exists don't regenerate it again. + if [ -s ${GITREVS_FILE} ]; then + return + fi + + if [ -z "$XBPS_GIT_REVS" ]; then + msg_error "BUG: XBPS_GIT_REVS is not set\n" + fi + + cd $XBPS_SRCPKGDIR + echo "${sourcepkg}:${XBPS_GIT_REVS}" + echo "${sourcepkg}:${XBPS_GIT_REVS}" > $GITREVS_FILE +} diff --git a/common/hooks/post-install/06-strip-and-debug-pkgs.sh b/common/hooks/post-install/06-strip-and-debug-pkgs.sh new file mode 100644 index 0000000..191c025 --- /dev/null +++ b/common/hooks/post-install/06-strip-and-debug-pkgs.sh @@ -0,0 +1,148 @@ +# This hook executes the following tasks: +# - strips ELF binaries/libraries +# - generates -dbg pkgs + +make_debug() { + local dname= fname= dbgfile= + + [ -n "$nodebug" ] && return 0 + + dname=${1%/*}/ ; dname=${dname#$PKGDESTDIR} + fname="${1##*/}" + dbgfile="${dname}/${fname}" + + mkdir -p "${PKGDESTDIR}/usr/lib/debug/${dname}" + $OBJCOPY --only-keep-debug --compress-debug-sections \ + "$1" "${PKGDESTDIR}/usr/lib/debug/${dbgfile}" + if [ $? -ne 0 ]; then + msg_red "${pkgver}: failed to create dbg file: ${dbgfile}\n" + return 1 + fi + chmod 644 "${PKGDESTDIR}/usr/lib/debug/${dbgfile}" +} + +attach_debug() { + local dname= fname= dbgfile= + + [ -n "$nodebug" ] && return 0 + + dname=${1%/*}/ ; dname=${dname#$PKGDESTDIR} + fname="${1##*/}" + dbgfile="${dname}/${fname}" + + $OBJCOPY --add-gnu-debuglink="${PKGDESTDIR}/usr/lib/debug/${dbgfile}" "$1" + if [ $? -ne 0 ]; then + msg_red "${pkgver}: failed to attach dbg to ${dbgfile}\n" + return 1 + fi +} + +create_debug_pkg() { + local _pkgname= _destdir= + + [ -n "$nodebug" ] && return 0 + [ ! -d "${PKGDESTDIR}/usr/lib/debug" ] && return 0 + + _pkgname="${pkgname}-dbg-${version}" + _destdir="${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${_pkgname}" + mkdir -p "${_destdir}/usr/lib" + mv ${PKGDESTDIR}/usr/lib/debug ${_destdir}/usr/lib + if [ $? -ne 0 ]; then + msg_red "$pkgver: failed to create debug pkg\n" + return 1 + fi + printf "${pkgver} " >> ${_destdir}/rdeps + rmdir --ignore-fail-on-non-empty "${PKGDESTDIR}/usr/lib" 2>/dev/null + return 0 +} + +hook() { + local fname= x= f= _soname= STRIPCMD= + + if [ -n "$nostrip" ]; then + return 0 + fi + + STRIPCMD=/usr/bin/$STRIP + + find ${PKGDESTDIR} -type f | while read f; do + if [[ $f =~ ^${PKGDESTDIR}/usr/lib/debug/ ]]; then + continue + fi + + fname=${f##*/} + for x in ${nostrip_files}; do + if [ "$x" = "$fname" -o "$x" = "${f#$PKGDESTDIR}" ]; then + found=1 + break + fi + done + if [ -n "$found" ]; then + unset found + continue + fi + case "$(file -bi "$f")" in + application/x-executable*) + chmod +w "$f" + if [[ $(file $f) =~ "statically linked" ]]; then + # static binary + if ! $STRIPCMD "$f"; then + msg_red "$pkgver: failed to strip ${f#$PKGDESTDIR}\n" + return 1 + fi + echo " Stripped static executable: ${f#$PKGDESTDIR}" + else + make_debug "$f" + if ! $STRIPCMD "$f"; then + msg_red "$pkgver: failed to strip ${f#$PKGDESTDIR}\n" + return 1 + fi + echo " Stripped executable: ${f#$PKGDESTDIR}" + unset nopie_found + for x in ${nopie_files}; do + if [ "$x" = "${f#$PKGDESTDIR}" ]; then + nopie_found=1 + break + fi + done + if [ -z "$nopie" ] && [ -z "$nopie_found" ]; then + msg_red "$pkgver: non-PIE executable found in PIE build: ${f#$PKGDESTDIR}\n" + return 1 + fi + attach_debug "$f" + fi + ;; + application/x-sharedlib*|application/x-pie-executable*) + local type="$(file -b "$f")" + if [[ $type =~ "no machine" ]]; then + # using ELF as a container format (e.g. guile) + echo " Ignoring ELF file without machine set: ${f#$PKGDESTDIR}" + continue + fi + + chmod +w "$f" + # shared library + make_debug "$f" + if ! $STRIPCMD --strip-unneeded "$f"; then + msg_red "$pkgver: failed to strip ${f#$PKGDESTDIR}\n" + return 1 + fi + if [[ $type =~ "interpreter " ]]; then + echo " Stripped position-independent executable: ${f#$PKGDESTDIR}" + else + echo " Stripped library: ${f#$PKGDESTDIR}" + fi + attach_debug "$f" + ;; + application/x-archive*) + chmod +w "$f" + if ! $STRIPCMD --strip-debug "$f"; then + msg_red "$pkgver: failed to strip ${f#$PKGDESTDIR}\n" + return 1 + fi + echo " Stripped static library: ${f#$PKGDESTDIR}";; + esac + done + create_debug_pkg + return $? +} diff --git a/common/hooks/post-install/10-pkglint-devel-paths.sh b/common/hooks/post-install/10-pkglint-devel-paths.sh new file mode 100644 index 0000000..ff9e0fc --- /dev/null +++ b/common/hooks/post-install/10-pkglint-devel-paths.sh @@ -0,0 +1,84 @@ +# vim: set ts=4 sw=4 et: +# +# This hook executes the following tasks: +# - Looks on non -devel packages for files that should be in the -devel package +# - Searches for solinks (.so) and archives (.a) on usr/lib +# - Searches for executables in usr/bin that end with -config and a respective manpage + +hook() { + local solink archive + + if [[ "$pkgname" == *"-devel" ]]; then + return 0 + fi + + if [[ "$subpackages" != *"-devel" ]]; then + return 0 + fi + + for f in $(find $PKGDESTDIR -type d); do + case "${f#$PKGDESTDIR}" in + /usr/include) + msg_warn "usr/include should be in -devel package\n" + ;; + /usr/share/pkgconfig) + msg_warn "usr/share/pkgconfig should be in -devel package\n" + ;; + /usr/lib/pkgconfig) + msg_warn "usr/lib/pkgconfig should be in -devel package\n" + ;; + /usr/share/vala) + msg_warn "usr/share/vala should be in -devel package\n" + ;; + /usr/share/gir-1.0) + msg_warn "usr/share/gir-1.0 should be in -devel package\n" + ;; + /usr/share/man/man3) + msg_warn "usr/share/man/man3 should be in -devel package\n" + ;; + /usr/share/aclocal) + msg_warn "usr/share/aclocal should be in -devel package\n" + ;; + /usr/share/cmake) + msg_warn "usr/share/cmake should be in -devel package\n" + ;; + /usr/lib/cmake) + msg_warn "usr/lib/cmake should be in -devel package\n" + ;; + /usr/share/gtk-doc) + msg_warn "usr/share/gtk-doc should be in -devel package\n" + ;; + /usr/lib/qt5/mkspecs) + msg_warn "usr/lib/qt5/mkspecs should be in -devel package\n" + ;; + esac + done + + if [ -n "$(find $PKGDESTDIR/usr/lib -maxdepth 1 -type l -iname '*.so' 2>/dev/null)" ]; then + solink=1 + fi + + if [ -n "$(find $PKGDESTDIR/usr/lib -maxdepth 1 -type f -iname '*.a' 2>/dev/null)" ]; then + archive=1 + fi + + if [ -d $PKGDESTDIR/usr/bin ]; then + for x in $(find $PKGDESTDIR/usr/bin -type f -executable -iname '*-config'); do + msg_warn "${x#$PKGDESTDIR\/} should be in -devel package\n" + done + fi + + if [ -d $PKGDESTDIR/usr/man/man1 ]; then + for m in $(find $PKGDESTDIR/usr/man/man1 -type f -iname '*-config.1'); do + msg_warn "${m#$PKGDESTDIR\/} should be in -devel package\n" + done + fi + + if [ -n "$solink" ]; then + msg_warn "usr/lib/*.so should be in -devel package\n" + fi + + if [ -n "$archive" ]; then + msg_warn "usr/lib/*.a should be in -devel package\n" + fi +} diff --git a/common/hooks/post-install/11-pkglint-elf-in-usrshare.sh b/common/hooks/post-install/11-pkglint-elf-in-usrshare.sh new file mode 100644 index 0000000..729f520 --- /dev/null +++ b/common/hooks/post-install/11-pkglint-elf-in-usrshare.sh @@ -0,0 +1,51 @@ +# vim: set ts=4 sw=4 et: +# +# This hook executes the following tasks: +# - Looks on all packages for binary files being installed to /usr/share +# - Allows exceptions listed in $ignore_elf_files and $ignore_elf_dirs + +hook() { + local matches mime file f prune_expr dir + + if [ ! -d ${PKGDESTDIR}/usr/share ]; then + return 0 + fi + + if [ "${ignore_elf_dirs}" ]; then + for dir in ${ignore_elf_dirs}; do + if ! [ "${prune_expr}" ]; then + prune_expr="( -path ${PKGDESTDIR}${dir}" + else + prune_expr+=" -o -path ${PKGDESTDIR}${dir}" + fi + done + prune_expr+=" ) -prune -o " + fi + + # Find all binaries in /usr/share and add them to the pool + while read -r f; do + mime="${f##*: }" + file="${f%:*}" + file="${file#${PKGDESTDIR}}" + case "${mime}" in + application/x-sharedlib*|\ + application/x-pie-executable*|\ + application/x-executable*) + if [[ ${ignore_elf_files} != *"${file}"* ]]; then + matches+=" ${file}" + fi + ;; + esac + done < <(find $PKGDESTDIR/usr/share $prune_expr -type f | file --no-pad --mime-type --files-from -) + + # Check passed if no packages in pool + if [ -z "$matches" ]; then + return 0 + fi + + msg_red "${pkgver}: ELF files found in /usr/share:\n" + for f in $matches; do + msg_red " ${f}\n" + done + msg_error "${pkgver}: cannot continue with installation!\n" +} diff --git a/common/hooks/post-install/12-rename-python3-c-bindings.sh b/common/hooks/post-install/12-rename-python3-c-bindings.sh new file mode 100644 index 0000000..c16b69d --- /dev/null +++ b/common/hooks/post-install/12-rename-python3-c-bindings.sh @@ -0,0 +1,16 @@ +# This hook executes the following tasks: +# - renames cpython binding files to not include the arch-specific extension suffix + +hook() { + if [ ! -d ${PKGDESTDIR}/${py3_sitelib} ]; then + return 0 + fi + + find "${PKGDESTDIR}/${py3_sitelib}" -type f -executable -iname '*.cpython*.so' \ + | while read -r file; do + filename="${file##*/}" + modulename="${filename%%.*}" + msg_warn "${pkgver}: renamed '${filename}' to '${modulename}.so'.\n" + mv ${file} ${file%/*}/${modulename}.so + done +} diff --git a/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh b/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh new file mode 100644 index 0000000..5cdfb0e --- /dev/null +++ b/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh @@ -0,0 +1,22 @@ +# This hook removes reference to $XBPS_CROSS_BASE in +# /usr/{lib,share}/pkgconfig/*.pc +# +# We don't touch /usr/bin/*-config since there're other information that +# references $XBPS_CROSS_BASE + +hook() { + if [ -z "$CROSS_BUILD" ]; then + return 0 + fi + for f in "$PKGDESTDIR"/usr/lib/pkgconfig/*.pc \ + "$PKGDESTDIR"/usr/share/pkgconfig/*.pc + do + if [ -f "$f" ]; then + # Sample sed script + # s,/usr/armv7l-linux-musleabihf/usr,/usr,g + # trailing /usr to avoid clashing with + # other $XBPS_CROSS_BASE and $XBPS_CROSS_TRIPLET. + sed -i -e "s,$XBPS_CROSS_BASE/usr,/usr,g" "$f" + fi + done +} diff --git a/common/hooks/post-install/14-fix-permissions.sh b/common/hooks/post-install/14-fix-permissions.sh new file mode 100644 index 0000000..9207308 --- /dev/null +++ b/common/hooks/post-install/14-fix-permissions.sh @@ -0,0 +1,36 @@ +# This hook fixes permissions in common places + +change_file_perms() { + local dir="${PKGDESTDIR}${1}" + # permission mask for matching the files + local permmask="$2" + # permissions which will be set on matched files + local perms="$3" + if [ -d "$dir" ]; then + find "$dir" -type f -perm "/$permmask" -exec chmod -v "$perms" {} + + fi +} + +hook() { + if [ -z "$nocheckperms" ]; then + # check that no files have permission write for other users + find "$PKGDESTDIR" -type f -perm -0002 | while read -r file; do + msg_error "$pkgver: file ${file#$PKGDESTDIR} has write permission for other users\n" + done + fi + + if [ -z "$nofixperms" ]; then + change_file_perms "/usr/share/man" 133 644 + change_file_perms "/etc/apparmor.d" 111 644 + change_file_perms "/usr/share/applications" 133 644 + change_file_perms "/usr/share/help" 133 644 + change_file_perms "/usr/share/icons" 133 644 + change_file_perms "/usr/share/locale" 133 644 + change_file_perms "/usr/share/metainfo" 133 644 + change_file_perms "/usr/share/appdata" 133 644 + change_file_perms "/usr/include" 133 644 + change_file_perms "/usr/share/bash-completion/completions" 133 644 + change_file_perms "/usr/share/fish/vendor_completions.d" 133 644 + change_file_perms "/usr/share/zsh/site-functions" 133 644 + fi +} diff --git a/common/hooks/post-install/99-pkglint-warn-cross-cruft.sh b/common/hooks/post-install/99-pkglint-warn-cross-cruft.sh new file mode 100644 index 0000000..16e6c5f --- /dev/null +++ b/common/hooks/post-install/99-pkglint-warn-cross-cruft.sh @@ -0,0 +1,21 @@ +# This hook warns if : +# - Any text file /usr/{bin,lib,libexec,share} contains $XBPS_CROSS_BASE +# - Any text file /usr/{bin,lib,libexec,share} contains $XBPS_WRAPPERDIR + +hook() { + if [ -z "$CROSS_BUILD" ]; then + return 0 + fi + for d in bin lib libexec share; do + for f in $PKGDESTDIR/usr/$d/* $PKGDESTDIR/usr/$d/**/*; do + case "$(file -bi "$f")" in + text/*) if grep -q -e "$XBPS_CROSS_BASE" \ + -e "$XBPS_WRAPPERDIR" "$f"; then + msg_warn "${f#$PKGDESTDIR} has cross cruft\n" + fi + ;; + esac + done + done + return 0; +} diff --git a/common/hooks/post-patch/.empty b/common/hooks/post-patch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-pkg/.empty b/common/hooks/post-pkg/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/post-pkg/00-register-pkg.sh b/common/hooks/post-pkg/00-register-pkg.sh new file mode 100644 index 0000000..b5392d8 --- /dev/null +++ b/common/hooks/post-pkg/00-register-pkg.sh @@ -0,0 +1,51 @@ +# This hook registers a XBPS binary package into the specified local repository. + +registerpkg() { + local repo="$1" pkg="$2" arch="$3" + + if [ ! -f ${repo}/${pkg} ]; then + msg_error "Nonexistent binary package ${repo}/${pkg}!\n" + fi + + printf "%s:%s:%s\n" "${arch}" "${repo}" "${pkg}" >> "${XBPS_STATEDIR}/.${sourcepkg}_register_pkg" +} + +hook() { + local arch= binpkg= pkgdir= + + if [ -n "$repository" ]; then + pkgdir=$XBPS_REPOSITORY/$repository + else + pkgdir=$XBPS_REPOSITORY + fi + arch=$XBPS_TARGET_MACHINE + binpkg=${pkgver}.${arch}.xbps + binpkg32=${pkgname}-32bit-${version}_${revision}.x86_64.xbps + binpkg_dbg=${pkgname}-dbg-${version}_${revision}.${arch}.xbps + + # Register binpkg. + if [ -f ${pkgdir}/${binpkg} ]; then + registerpkg ${pkgdir} ${binpkg} + fi + + # Register -dbg binpkg if it exists. + pkgdir=$XBPS_REPOSITORY/debug + PKGDESTDIR="${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-dbg-${version}" + if [ -d ${PKGDESTDIR} -a -f ${pkgdir}/${binpkg_dbg} ]; then + registerpkg ${pkgdir} ${binpkg_dbg} + fi + + # Register 32bit binpkg if it exists. + if [ "$XBPS_TARGET_MACHINE" != "i686" ]; then + return + fi + if [ -n "$repository" ]; then + pkgdir=$XBPS_REPOSITORY/multilib/$repository + else + pkgdir=$XBPS_REPOSITORY/multilib + fi + PKGDESTDIR="${XBPS_DESTDIR}/${pkgname}-32bit-${version}" + if [ -d ${PKGDESTDIR} -a -f ${pkgdir}/${binpkg32} ]; then + registerpkg ${pkgdir} ${binpkg32} x86_64 + fi +} diff --git a/common/hooks/pre-build/.empty b/common/hooks/pre-build/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-build/02-script-wrapper.sh b/common/hooks/pre-build/02-script-wrapper.sh new file mode 120000 index 0000000..b637ffb --- /dev/null +++ b/common/hooks/pre-build/02-script-wrapper.sh @@ -0,0 +1 @@ +../pre-configure/02-script-wrapper.sh \ No newline at end of file diff --git a/common/hooks/pre-check/.empty b/common/hooks/pre-check/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-configure/.empty b/common/hooks/pre-configure/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-configure/00-gnu-configure-asneeded.sh b/common/hooks/pre-configure/00-gnu-configure-asneeded.sh new file mode 100644 index 0000000..a2865f6 --- /dev/null +++ b/common/hooks/pre-configure/00-gnu-configure-asneeded.sh @@ -0,0 +1,13 @@ +# This hook enables ld(1) --as-needed in gnu-configure packages. + +hook() { + local conf_script=${configure_script:-./configure} + + if [ ! -f "${conf_script}" ]; then + return 0 + fi + # http://lists.gnu.org/archive/html/libtool-patches/2004-06/msg00002.html + if [ "$build_style" = "gnu-configure" ]; then + sed -i "s/^\([ \t]*tmp_sharedflag\)='-shared'/\1='-shared -Wl,--as-needed'/" ${conf_script} + fi +} diff --git a/common/hooks/pre-configure/01-override-config.sh b/common/hooks/pre-configure/01-override-config.sh new file mode 100644 index 0000000..29cd661 --- /dev/null +++ b/common/hooks/pre-configure/01-override-config.sh @@ -0,0 +1,14 @@ +# This hook overrides config.sub and config.guess. + +hook() { + local _cfgdir="${XBPS_COMMONDIR}/environment/configure/automake" + + if [ -z "$build_style" -o "$build_style" = "gnu-configure" ]; then + for f in $(find "${wrksrc}" -type f -name "*config*.sub"); do + cp -f ${_cfgdir}/config.sub ${f} + done + for f in $(find "${wrksrc}" -type f -name "*config*.guess"); do + cp -f ${_cfgdir}/config.guess ${f} + done + fi +} diff --git a/common/hooks/pre-configure/02-script-wrapper.sh b/common/hooks/pre-configure/02-script-wrapper.sh new file mode 100644 index 0000000..beaec6e --- /dev/null +++ b/common/hooks/pre-configure/02-script-wrapper.sh @@ -0,0 +1,244 @@ +# This hook creates wrappers for foo-config scripts in cross builds. +# +# Wrappers are created in ${wrksrc}/.xbps/bin and this path is appended +# to make configure scripts find them. + +generic_wrapper() { + local wrapper="$1" + [ ! -x ${XBPS_CROSS_BASE}/usr/bin/${wrapper} ] && return 0 + [ -x ${XBPS_WRAPPERDIR}/${wrapper} ] && return 0 + + cat >>${XBPS_WRAPPERDIR}/${wrapper}<<_EOF +#!/bin/sh +exec ${XBPS_CROSS_BASE}/usr/bin/${wrapper} --prefix=${XBPS_CROSS_BASE}/usr "\$@" +_EOF + + chmod 755 ${XBPS_WRAPPERDIR}/${wrapper} +} + +generic_wrapper2() { + local wrapper="$1" + + [ ! -x ${XBPS_CROSS_BASE}/usr/bin/${wrapper} ] && return 0 + [ -x ${XBPS_WRAPPERDIR}/${wrapper} ] && return 0 + + cat >>${XBPS_WRAPPERDIR}/${wrapper}<<_EOF +#!/bin/sh +if [ "\$1" = "--prefix" ]; then + echo "${XBPS_CROSS_BASE}/usr" +elif [ "\$1" = "--cflags" ]; then + ${XBPS_CROSS_BASE}/usr/bin/${wrapper} --cflags | sed -e "s,-I/usr/include,-I${XBPS_CROSS_BASE}/usr/include,g" +elif [ "\$1" = "--libs" ]; then + ${XBPS_CROSS_BASE}/usr/bin/${wrapper} --libs | sed -e "s,-L/usr/lib,-L${XBPS_CROSS_BASE}/usr/lib,g" +else + exec ${XBPS_CROSS_BASE}/usr/bin/${wrapper} "\$@" +fi +exit \$? +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/${wrapper} +} + +generic_wrapper3() { + local wrapper="$1" + [ ! -x ${XBPS_CROSS_BASE}/usr/bin/${wrapper} ] && return 0 + [ -x ${XBPS_WRAPPERDIR}/${wrapper} ] && return 0 + + cp ${XBPS_CROSS_BASE}/usr/bin/${wrapper} ${XBPS_WRAPPERDIR} + sed -e "s,^libdir=.*,libdir=${XBPS_CROSS_BASE}/usr/lib,g" -i ${XBPS_WRAPPERDIR}/${wrapper} + sed -e "s,^prefix=.*,prefix=${XBPS_CROSS_BASE}/usr," -i ${XBPS_WRAPPERDIR}/${wrapper} + + chmod 755 ${XBPS_WRAPPERDIR}/${wrapper} +} + +apr_apu_wrapper() { + local wrapper="$1" + + [ ! -x ${XBPS_CROSS_BASE}/usr/bin/${wrapper} ] && return 0 + [ -x ${XBPS_WRAPPERDIR}/${wrapper} ] && return 0 + + cat >>${XBPS_WRAPPERDIR}/${wrapper}<<_EOF +#!/bin/sh +${XBPS_CROSS_BASE}/usr/bin/${wrapper} "\$@" | sed -e "s,/usr/,${XBPS_CROSS_BASE}/usr/,g" +exit \$? +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/${wrapper} +} + +python_wrapper() { + local wrapper="$1" version="$2" + + [ -x ${XBPS_WRAPPERDIR}/${wrapper} ] && return 0 + cat >>${XBPS_WRAPPERDIR}/${wrapper}<<_EOF +#!/bin/sh +case "\$1" in +--includes|--cflags) + echo "-I${XBPS_CROSS_BASE}/usr/include/python${version}" ;; +esac +exit 0 +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/${wrapper} +} + +pkgconfig_wrapper() { + if [ ! -x /usr/bin/pkg-config ]; then + return 0 + fi + [ -x ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-pkg-config ] && return 0 + cat >>${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-pkg-config<<_EOF +#!/bin/sh + +export PKG_CONFIG_SYSROOT_DIR="$XBPS_CROSS_BASE" +export PKG_CONFIG_PATH="$XBPS_CROSS_BASE/usr/lib/pkgconfig:$XBPS_CROSS_BASE/usr/share/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}" +export PKG_CONFIG_LIBDIR="$XBPS_CROSS_BASE/usr/lib/pkgconfig\${PKG_CONFIG_LIBDIR:+:\${PKG_CONFIG_LIBDIR}}" +exec /usr/bin/pkg-config "\$@" +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-pkg-config + if [ -z "$no_generic_pkgconfig_link" ]; then + ln -sf ${XBPS_CROSS_TRIPLET}-pkg-config ${XBPS_WRAPPERDIR}/pkg-config + fi +} + +vapigen_wrapper() { + local _vala_version _file + if [ ! -x /usr/bin/vapigen ]; then + return 0 + fi + [ -x ${XBPS_WRAPPERDIR}/vapigen ] && return 0 + for _file in /usr/bin/vapigen-*; do + if [ -x "${_file}" ]; then + _vala_version=${_file#*-} + fi + done + cat >>${XBPS_WRAPPERDIR}/vapigen<<_EOF +#!/bin/sh +exec /usr/bin/vapigen \\ + "\$@" \\ + --vapidir=${XBPS_CROSS_BASE}/usr/share/vala/vapi \\ + --vapidir=${XBPS_CROSS_BASE}/usr/share/vala-${_vala_version}/vapi \\ + --girdir=${XBPS_CROSS_BASE}/usr/share/gir-1.0 +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/vapigen + ln -sf vapigen ${XBPS_WRAPPERDIR}/vapigen-${_vala_version} +} + +valac_wrapper() { + local _vala_version _file + if [ ! -x /usr/bin/valac ]; then + return 0 + fi + [ -x ${XBPS_WRAPPERDIR}/valac ] && return 0 + for _file in /usr/bin/valac-*; do + if [ -x "${_file}" ]; then + _vala_version=${_file#*-} + fi + done + cat >>${XBPS_WRAPPERDIR}/valac<<_EOF +#!/bin/sh +exec /usr/bin/valac \\ + "\$@" \\ + --vapidir=${XBPS_CROSS_BASE}/usr/share/vala/vapi \\ + --vapidir=${XBPS_CROSS_BASE}/usr/share/vala-${_vala_version}/vapi \\ + --girdir=${XBPS_CROSS_BASE}/usr/share/gir-1.0 +_EOF + chmod 755 ${XBPS_WRAPPERDIR}/valac + ln -sf valac ${XBPS_WRAPPERDIR}/valac-${_vala_version} +} + +install_wrappers() { + local fname + + for f in ${XBPS_COMMONDIR}/wrappers/*.sh; do + fname=${f##*/} + fname=${fname%.sh} + install -p -m0755 ${f} ${XBPS_WRAPPERDIR}/${fname} + done +} + +install_cross_wrappers() { + local fname prefix + + if [ -n "$XBPS_CCACHE" ]; then + [ -x "/usr/bin/ccache" ] && prefix="/usr/bin/ccache " + elif [ -n "$XBPS_DISTCC" ]; then + [ -x "/usr/bin/distcc" ] && prefix="/usr/bin/distcc " + fi + + for fname in cc gcc; do + sed -e "s,@BIN@,${prefix}/usr/bin/$XBPS_CROSS_TRIPLET-gcc,g" \ + ${XBPS_COMMONDIR}/wrappers/cross-cc > \ + ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname} + chmod 755 ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname} + done + for fname in c++ g++; do + sed -e "s,@BIN@,${prefix}/usr/bin/$XBPS_CROSS_TRIPLET-g++,g" \ + ${XBPS_COMMONDIR}/wrappers/cross-cc > \ + ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname} + chmod 755 ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname} + done +} + +link_wrapper() { + local wrapper="$1" + [ ! -x "${XBPS_CROSS_BASE}/usr/bin/${wrapper}" ] && return 0 + [ -L "${XBPS_WRAPPERDIR}/${wrapper}" ] && return 0 + ln -sf "${XBPS_CROSS_BASE}/usr/bin/${wrapper}" "${XBPS_WRAPPERDIR}" +} + +hook() { + export PATH="$XBPS_WRAPPERDIR:$PATH" + + install_wrappers + + [ -z "$CROSS_BUILD" ] && return 0 + + install_cross_wrappers + pkgconfig_wrapper + vapigen_wrapper + valac_wrapper + + if [ -x /usr/bin/pkg-config ]; then + link_wrapper freetype-config + else + generic_wrapper freetype-config + fi + + generic_wrapper icu-config + generic_wrapper libgcrypt-config + generic_wrapper sdl-config + generic_wrapper sdl2-config + generic_wrapper gpgme-config + generic_wrapper gphoto2-config + generic_wrapper gphoto2-port-config + generic_wrapper imlib2-config + generic_wrapper libmikmod-config + generic_wrapper pcre-config + generic_wrapper net-snmp-config + generic_wrapper wx-config + generic_wrapper wx-config-3.0 + generic_wrapper wx-config-gtk3 + generic_wrapper2 curl-config + generic_wrapper2 gpg-error-config + generic_wrapper2 libassuan-config + generic_wrapper2 mysql_config + generic_wrapper2 taglib-config + generic_wrapper2 nspr-config + generic_wrapper2 gdal-config + generic_wrapper3 libpng-config + generic_wrapper3 xmlrpc-c-config + generic_wrapper3 krb5-config + generic_wrapper3 cups-config + generic_wrapper3 Magick-config + generic_wrapper3 fltk-config + generic_wrapper3 xslt-config + generic_wrapper3 xml2-config + generic_wrapper3 fox-config + generic_wrapper3 xapian-config + generic_wrapper3 ncurses5-config + generic_wrapper3 ncursesw5-config + generic_wrapper3 libetpan-config + generic_wrapper3 giblib-config + python_wrapper python-config 2.7 + python_wrapper python3-config 3.11 + apr_apu_wrapper apr-1-config + apr_apu_wrapper apu-1-config +} diff --git a/common/hooks/pre-extract/.empty b/common/hooks/pre-extract/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-fetch/.empty b/common/hooks/pre-fetch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-install/.empty b/common/hooks/pre-install/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-install/00-libdir.sh b/common/hooks/pre-install/00-libdir.sh new file mode 100644 index 0000000..4c57fbc --- /dev/null +++ b/common/hooks/pre-install/00-libdir.sh @@ -0,0 +1,10 @@ +# This hook creates the wordsize specific libdir symlink. + +hook() { + if [ -L ${PKGDESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE} ]; then + return 0 + elif [ "${pkgname}" != "base-files" ]; then + vmkdir usr/lib + ln -sf lib ${PKGDESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE} + fi +} diff --git a/common/hooks/pre-install/02-script-wrapper.sh b/common/hooks/pre-install/02-script-wrapper.sh new file mode 120000 index 0000000..b637ffb --- /dev/null +++ b/common/hooks/pre-install/02-script-wrapper.sh @@ -0,0 +1 @@ +../pre-configure/02-script-wrapper.sh \ No newline at end of file diff --git a/common/hooks/pre-install/98-fixup-gir-path.sh b/common/hooks/pre-install/98-fixup-gir-path.sh new file mode 100644 index 0000000..64fd140 --- /dev/null +++ b/common/hooks/pre-install/98-fixup-gir-path.sh @@ -0,0 +1,10 @@ +# This hook fixes the wrong install path of 'gir' files +# when cross building packages. It's a workaround and +# not a proper fix. Remove it once the root cause of the +# problem is fixed. + +hook() { + [ -z "$CROSS_BUILD" ] && return + vmkdir usr/${XBPS_CROSS_TRIPLET} + ln -sf ".." "${PKGDESTDIR}/usr/${XBPS_CROSS_TRIPLET}/usr" +} diff --git a/common/hooks/pre-patch/.empty b/common/hooks/pre-patch/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-pkg/.empty b/common/hooks/pre-pkg/.empty new file mode 100644 index 0000000..e69de29 diff --git a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh new file mode 100644 index 0000000..07162ad --- /dev/null +++ b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh @@ -0,0 +1,40 @@ +# This hook executes the following tasks: +# - rewrites python shebangs with the corresponding python version + +hook() { + local pyver= shebang= off= + + if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then + pyver="$(find ${PKGDESTDIR}/usr/lib/python* -prune -type d | grep -o '[[:digit:]]\.[[:digit:]]\+$')" + fi + + if [ -n "$python_version" ]; then + pyver="$python_version" + fi + + if [ -n "$pyver" ]; then + default_shebang="#!/usr/bin/python${pyver%.*}" + fi + + grep -rlIZ -m1 '^#!.*python' "${PKGDESTDIR}" | + while IFS= read -r -d '' file; do + [ ! -s "$file" ] && continue + + pyinterp=$(sed -n -E -e 2q -e 's@^#!.*([[:space:]]|/)(python([0-9](\.[0-9]+)?)?)([[:space:]]+.*|$)@\2@p' "$file") + [ -z "$pyinterp" ] && continue + + pyver=${pyinterp#python} + if [ -n "$pyver" ]; then + shebang="#!/usr/bin/python${pyver%.*}" + else + shebang="$default_shebang" + fi + + basefile=${file#$PKGDESTDIR} + + [ -n "$shebang" ] || msg_error "python_version missing in template: unable to convert shebang in $basefile\n" + + echo " Shebang converted to '$shebang': $basefile" + sed -i "1s@.*python.*@${shebang}@" -- "$file" + done +} diff --git a/common/hooks/pre-pkg/04-generate-runtime-deps.sh b/common/hooks/pre-pkg/04-generate-runtime-deps.sh new file mode 100644 index 0000000..a291f2c --- /dev/null +++ b/common/hooks/pre-pkg/04-generate-runtime-deps.sh @@ -0,0 +1,171 @@ +# vim: set ts=4 sw=4 et: +# +# This hook executes the following tasks: +# - Generates rdeps file with run-time dependencies for xbps-create(1) +# - Generates shlib-requires file for xbps-create(1) + +add_rundep() { + local dep="$1" i= rpkgdep= _depname= found= + + _depname="$($XBPS_UHELPER_CMD getpkgdepname ${dep} 2>/dev/null)" + if [ -z "${_depname}" ]; then + _depname="$($XBPS_UHELPER_CMD getpkgname ${dep} 2>/dev/null)" + fi + + for i in ${run_depends}; do + rpkgdep="$($XBPS_UHELPER_CMD getpkgdepname $i 2>/dev/null)" + if [ -z "$rpkgdep" ]; then + rpkgdep="$($XBPS_UHELPER_CMD getpkgname $i 2>/dev/null)" + fi + if [ "${rpkgdep}" != "${_depname}" ]; then + continue + fi + $XBPS_UHELPER_CMD cmpver "$i" "$dep" + rval=$? + if [ $rval -eq 255 ]; then + run_depends="${run_depends/${i}/${dep}}" + fi + found=1 + done + if [ -z "$found" ]; then + run_depends+=" ${dep}" + fi +} + +store_pkgdestdir_rundeps() { + if [ -n "$run_depends" ]; then + for f in ${run_depends}; do + _curdep="$(echo "$f" | sed -e 's,\(.*\)?.*,\1,')" + if [ -z "$($XBPS_UHELPER_CMD getpkgdepname ${_curdep} 2>/dev/null)" -a \ + -z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then + _curdep="${_curdep}>=0" + fi + printf -- "${_curdep}\n" + done | sort | xargs > ${PKGDESTDIR}/rdeps + fi +} + +hook() { + local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps + + # Disable trap on ERR, xbps-uhelper cmd might return error... but not something + # to be worried about because if there are broken shlibs this hook returns + # error via msg_error(). + trap - ERR + + mapshlibs=$XBPS_COMMONDIR/shlibs + + if [ -n "$noverifyrdeps" ]; then + store_pkgdestdir_rundeps + return 0 + fi + + depsftmp=$(mktemp) || exit 1 + find ${PKGDESTDIR} -type f -perm -u+w > $depsftmp 2>/dev/null + + for f in ${shlib_requires}; do + verify_deps+=" ${f}" + done + + exec 3<&0 # save stdin + exec < $depsftmp + while read f; do + lf=${f#${PKGDESTDIR}} + if [ "${skiprdeps/${lf}/}" != "${skiprdeps}" ]; then + msg_normal "Skipping dependency scan for ${lf}\n" + continue + fi + read -n4 elfmagic < "$f" + if [ "$elfmagic" = $'\177ELF' ]; then + for nlib in $($OBJDUMP -p "$f"|awk '/NEEDED/{print $2}'); do + [ -z "$verify_deps" ] && verify_deps="$nlib" && continue + found=0 + for j in ${verify_deps}; do + [[ $j == $nlib ]] && found=1 && break + done + [[ $found -eq 0 ]] && verify_deps="$verify_deps $nlib" + done + fi + done + exec 0<&3 # restore stdin + rm -f $depsftmp + + # + # Add required run time packages by using required shlibs resolved + # above, the mapping is done thru the common/shlibs file. + # + for f in ${verify_deps}; do + unset _f j rdep _rdep rdepcnt soname _pkgname _rdepver found + _f=$(echo "$f"|sed -E 's|\+|\\+|g') + rdep="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2)" + rdepcnt="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2|wc -l)" + if [ -z "$rdep" ]; then + # Ignore libs by current pkg + soname=$(find ${PKGDESTDIR} -name "$f") + if [ -z "$soname" ]; then + msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" + broken_shlibs=1 + else + echo " SONAME: $f <-> $pkgname (ignored)" + fi + continue + elif [ "$rdepcnt" -gt 1 ]; then + unset j found + # Check if shlib is provided by multiple pkgs. + for j in ${rdep}; do + _pkgname=$($XBPS_UHELPER_CMD getpkgname "$j") + # if there's a SONAME matching pkgname, use it. + for x in ${pkgname} ${subpackages}; do + [[ $_pkgname == $x ]] && found=1 && break + done + [[ $found ]] && _rdep=$j && break + done + if [ -z "${_rdep}" ]; then + # otherwise pick up the first one. + for j in ${rdep}; do + [ -z "${_rdep}" ] && _rdep=$j + done + fi + else + _rdep=$rdep + fi + _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null) + _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null) + if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then + msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" + broken_shlibs=1 + continue + fi + # Check if pkg is a subpkg of sourcepkg; if true, ignore version + # in common/shlibs. + _sdep="${_pkgname}>=${_rdepver}" + for _subpkg in ${subpackages}; do + if [ "${_subpkg}" = "${_pkgname}" ]; then + _sdep="${_pkgname}-${version}_${revision}" + break + fi + done + + if [ "${_pkgname}" != "${pkgname}" ]; then + echo " SONAME: $f <-> ${_sdep}" + sorequires+="${f} " + else + # Ignore libs by current pkg + echo " SONAME: $f <-> ${_rdep} (ignored)" + continue + fi + add_rundep "${_sdep}" + done + # + # If pkg uses any unknown SONAME error out. + # + if [ -n "$broken_shlibs" -a -z "$allow_unknown_shlibs" ]; then + msg_error "$pkgver: cannot guess required shlibs, aborting!\n" + fi + + store_pkgdestdir_rundeps + + if [ -n "${sorequires}" ]; then + echo "${sorequires}" | xargs -n1 | sort | xargs > ${PKGDESTDIR}/shlib-requires + fi +} diff --git a/common/hooks/pre-pkg/05-prepare-32bit.sh b/common/hooks/pre-pkg/05-prepare-32bit.sh new file mode 100644 index 0000000..d0e0565 --- /dev/null +++ b/common/hooks/pre-pkg/05-prepare-32bit.sh @@ -0,0 +1,168 @@ +# This hook creates a new PKGDESTDIR with 32bit files for x86_64. +# +# Variables that can be used in templates: +# - lib32depends: if set, 32bit pkg will use this rather than "depends". +# - lib32disabled: if set, no 32bit pkg will be created. +# - lib32files: additional files to add to the 32bit pkg (abs paths, separated by blanks). +# - lib32symlinks: makes a symlink from lib32 to lib of the specified file (basename). +# - lib32mode: +# * if unset only files for libraries will be copied. +# * if set to "full" all files will be copied. + +hook() { + local destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version} + + # By default always enabled unless "lib32disabled" is set. + if [ -n "$lib32disabled" ]; then + return + fi + # This hook will only work when building for x86. + if [ "$XBPS_TARGET_MACHINE" != "i686" ]; then + return + fi + if [ -z "$lib32mode" ]; then + # Library mode, copy only relevant files to new destdir. + # + # If /usr/lib does not exist don't continue... + # except for devel packages, for which empty 32bit package will be created + if ! [ -d ${PKGDESTDIR}/usr/lib ] && ! [[ ${pkgname} == *-devel ]]; then + return + fi + + mkdir -p ${destdir32}/usr/lib32 + if [ -d ${PKGDESTDIR}/usr/lib ]; then + cp -a ${PKGDESTDIR}/usr/lib/* ${destdir32}/usr/lib32 + fi + + # Only keep shared libs, static libs, and pkg-config files. + find "${destdir32}" -not \( \ + -name '*.pc' -or \ + -name '*.so' -or \ + -name '*.so.*' -or \ + -name '*.a' -or \ + -name '*.la' -or \ + -name '*.o' -or \ + -type d \ + \) -delete + + # Remove empty dirs. + while IFS= read -r -d '' f; do + _dir="${f##${destdir32}}" + [ -z "${_dir}" ] && continue + rmdir --ignore-fail-on-non-empty -p "$f" &>/dev/null + done < <(find ${destdir32} -type d -empty -print0 | sort -uz) + + # Switch pkg-config files to lib32. + if [ -d ${destdir32}/usr/lib32/pkgconfig ]; then + sed -e 's,/usr/lib$,/usr/lib32,g' \ + -e 's,${exec_prefix}/lib$,${exec_prefix}/lib32,g' \ + -i ${destdir32}/usr/lib32/pkgconfig/*.pc + fi + elif [ "$lib32mode" = "full" ]; then + # Full 32bit mode; copy everything to new destdir. + mkdir -p ${destdir32} + cp -a ${PKGDESTDIR}/* ${destdir32}/ + # remove symlink + if [ -h ${destdir32}/usr/lib32 ]; then + rm ${destdir32}/usr/lib32 + fi + # if /usr/lib dir exists move it to lib32. + if [ -d ${destdir32}/usr/lib ]; then + mv ${destdir32}/usr/lib ${destdir32}/usr/lib32 + fi + fi + if [[ ${pkgname} == *-devel ]]; then + mkdir -p ${destdir32} + fi + if [ ! -d ${destdir32} ]; then + return + fi + + # If the rdeps file exist (runtime deps), copy and then modify it for + # 32bit dependencies. + trap - ERR + + : > ${destdir32}/rdeps + + if [ -s "$PKGDESTDIR/rdeps" ]; then + if [ -n "$lib32depends" ]; then + _deps="${lib32depends}" + else + _deps="$(<${PKGDESTDIR}/rdeps)" + fi + for f in ${_deps}; do + unset found pkgn pkgv _shprovides + + pkgn="$($XBPS_UHELPER_CMD getpkgdepname $f)" + if [ -z "${pkgn}" ]; then + pkgn="$($XBPS_UHELPER_CMD getpkgname $f)" + if [ -z "${pkgn}" ]; then + msg_error "$pkgver: invalid dependency $f\n" + fi + pkgv="-$($XBPS_UHELPER_CMD getpkgversion ${f})" + else + pkgv="$($XBPS_UHELPER_CMD getpkgdepversion ${f})" + fi + # If dependency is a development pkg switch it to 32bit. + if [[ $pkgn == *-devel ]]; then + echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (development)" + printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps + continue + fi + # If dependency does not have "shlib-provides" do not + # change it to 32bit. + for x in ${subpackages}; do + if [ "$x" = "$pkgn" ]; then + found=1 + break + fi + done + if [ -z "$found" ]; then + # Dependency is not a subpkg, check shlib-provides + # via binpkgs. + _shprovides="$($XBPS_QUERY_CMD -R --property=shlib-provides "$pkgn")" + if [ -n "${_shprovides}" ]; then + echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (shlib-provides)" + printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps + else + echo " RDEP: $f -> ${pkgn}${pkgv} (no shlib-provides)" + printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps + fi + else + if [ -s ${XBPS_DESTDIR}/${pkgn}-${version}/shlib-provides ]; then + # Dependency is a subpkg; check if it provides any shlib + # and convert to 32bit if true. + echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (subpkg, shlib-provides)" + printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps + else + echo " RDEP: $f -> ${pkgn}${pkgv} (subpkg, no shlib-provides)" + printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps + fi + fi + done + fi + + # Also install additional files set via "lib32files". + for f in ${lib32files}; do + echo "$pkgver: installing additional files: $f ..." + _targetdir=${destdir32}/${f%/*}/ + mkdir -p ${_targetdir/\/usr\/lib/\/usr\/lib32} + cp -a ${PKGDESTDIR}/${f} ${_targetdir/\/usr\/lib/\/usr\/lib32} + done + # Additional symlinks to the native libdir. + for f in ${lib32symlinks}; do + echo "$pkgver: symlinking $f to the native libdir..." + if [ "${f%/*}" != "${f}" ]; then + mkdir -p ${destdir32}/usr/lib{,32}/${f%/*}/ + else + mkdir -p ${destdir32}/usr/lib{,32}/ + fi + ln -sfr ${destdir32}/usr/lib32/$f ${destdir32}/usr/lib/$f + done + # If it's a development pkg add a dependency to the 64bit pkg. + if [[ $pkgn == *-devel ]]; then + echo " RDEP: ${pkgver}" + printf "${pkgver} " >> ${destdir32}/rdeps + fi + printf "\n" >> ${destdir32}/rdeps +} diff --git a/common/hooks/pre-pkg/06-shlib-provides.sh b/common/hooks/pre-pkg/06-shlib-provides.sh new file mode 100644 index 0000000..a09eb6f --- /dev/null +++ b/common/hooks/pre-pkg/06-shlib-provides.sh @@ -0,0 +1,56 @@ +# This hook executes the following tasks: +# - generates shlib-provides file for xbps-create(1) + +collect_sonames() { + local _destdir="$1" f _soname _fname _pattern + local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$" + local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$" + local _tmpfile=$(mktemp) || exit 1 + + if [ ! -d ${_destdir} ]; then + rm -f ${_tmpfile} + return 0 + fi + + # real pkg + find ${_destdir} -type f -name "*.so*" | while read f; do + _fname="${f##*/}" + case "$(file -bi "$f")" in + application/x-sharedlib*|application/x-pie-executable*) + # shared library + _soname=$(${OBJDUMP} -p "$f"|grep SONAME|awk '{print $2}') + # Register all versioned sonames, and + # unversioned sonames only when in libdir. + if [[ ${_soname} =~ ${_versioned_pattern} ]] || + [[ ${_soname} =~ ${_pattern} && + ( -e ${_destdir}/usr/lib/${_fname} || + -e ${_destdir}/usr/lib32/${_fname} ) ]]; then + echo "${_soname}" >> ${_tmpfile} + echo " SONAME ${_soname} from ${f##${_destdir}}" + fi + ;; + esac + done + + for f in ${shlib_provides}; do + echo "$f" >> ${_tmpfile} + done + if [ -s "${_tmpfile}" ]; then + tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides + echo >> ${_destdir}/shlib-provides + fi + rm -f ${_tmpfile} +} + +hook() { + local _destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version} + + if [ -n "$noshlibprovides" ]; then + return 0 + fi + + # native pkg + collect_sonames ${PKGDESTDIR} + # 32bit pkg + collect_sonames ${_destdir32} +} diff --git a/common/hooks/pre-pkg/90-set-timestamps.sh b/common/hooks/pre-pkg/90-set-timestamps.sh new file mode 100644 index 0000000..2113b02 --- /dev/null +++ b/common/hooks/pre-pkg/90-set-timestamps.sh @@ -0,0 +1,10 @@ +# This hook executes the following tasks: +# - sets the timestamps in a package to the commit date + +hook() { + # If SOURCE_DATE_EPOCH is set, set mtimes to that timestamp. + if [ -n "$SOURCE_DATE_EPOCH" ]; then + msg_normal "$pkgver: setting mtimes to %s\n" "$(date --date "@$SOURCE_DATE_EPOCH")" + find $PKGDESTDIR -print0 | xargs -0 touch -h --date "@$SOURCE_DATE_EPOCH" + fi +} diff --git a/common/hooks/pre-pkg/99-pkglint-subpkgs.sh b/common/hooks/pre-pkg/99-pkglint-subpkgs.sh new file mode 100644 index 0000000..240d5ef --- /dev/null +++ b/common/hooks/pre-pkg/99-pkglint-subpkgs.sh @@ -0,0 +1,54 @@ +# vim: set ts=4 sw=4 et: +# +# This hook executes the following tasks: +# - Warns if the main package is in subpackages= +# - Warns if a subpackage is unreachable (never appears in subpackages=) + +hook() { + local subpkgs matches + + # Run this only against the main package + if [ "$pkgname" != "$sourcepkg" ]; then + return 0 + fi + + if [ -z "$subpackages" ]; then + return 0 + fi + + subpkgs=$(get_subpkgs) + + # Sort the strings so they can be compare for equality + subpkgs="$(printf '%s\n' $subpkgs | sort)" + subpackages="$(printf '%s\n' $subpackages | sort)" + + if [ "$subpackages" = "$subpkgs" ]; then + return 0 + fi + + # sed supports comment but let's put them here + # 1: print everything between pairs of <""> in subpackages[+]?="..." + # 2: multiline subpackages="...\n..." + # 2.1: For any line in the middle, i.e. no <"> exists, print it + # 2.2: For the first line, print everything after <"> + # 2.3: For last line, print everything before <"> + matches="$(sed -n -e 's/subpackages.*"\(.*\)"[^"]*$/\1/p' \ + -e '/subpackages[^"]*"[^"]*$/,/"/{ + /"/!p + /subpackages/s/.*"//p + s/".*//p + }' $XBPS_SRCPKGDIR/$pkgname/template | + tr '\v\t\r\n' ' ')" + + for s in $subpkgs; do + case " $matches " in + *" $s "*) ;; + *) msg_warn "${s}_package() defined but will never be built.\n" ;; + esac + done + + case " $matches " in + *" $pkgname "*) + msg_warn "$pkgname is sourcepkg but is in subpackages=.\n" ;; + esac +} diff --git a/common/hooks/pre-pkg/99-pkglint.sh b/common/hooks/pre-pkg/99-pkglint.sh new file mode 100644 index 0000000..a3ed816 --- /dev/null +++ b/common/hooks/pre-pkg/99-pkglint.sh @@ -0,0 +1,213 @@ +# This hook checks for common issues related to void. + +hook() { + local error=0 filename= rev= libname= conflictPkg= conflictFile= + local conflictRev= ignore= found= mapshlibs=$XBPS_COMMONDIR/shlibs + local emptypkg=yes + + set +E + + # Check for forbidden directories that are symlinks in void. + for f in lib bin sbin lib64 lib32 usr/sbin usr/lib64; do + [ -e "${PKGDESTDIR}/${f}" ] || continue + if [ "${pkgname}" = "base-files" ]; then + if [ -L "${PKGDESTDIR}/${f}" ]; then + continue + fi + msg_red "${pkgver}: /${f} must be a symlink.\n" + error=1 + else + msg_red "${pkgver}: /${f} must not exist.\n" + error=1 + fi + done + + for f in var/run usr/local usr/etc; do + if [ -d ${PKGDESTDIR}/${f} ]; then + msg_red "${pkgver}: /${f} directory is not allowed, remove it!\n" + error=1 + fi + done + + if [ -d ${PKGDESTDIR}/usr/lib/libexec ]; then + # Add exception for kconfig, + # other packages hard-coded path to its files + if [ "${pkgname}" != kconfig ]; then + msg_red "${pkgver}: /usr/lib/libexec directory is not allowed!\n" + error=1 + fi + fi + + for f in "$PKGDESTDIR"/*; do + f="${f##*/}" + case "$f" in + '*') # The filename is exactly '*' + if [ -e "${PKGDESTDIR}/*" ]; then + msg_red "${pkgver}: File /* is not allowed\n" + error=1 + fi + ;; + lib|bin|sbin|lib64|lib32|usr|var|opt|etc|boot|srv) + emptypkg=no + ;; + INSTALL|INSTALL.msg|REMOVE|REMOVE.msg|rdeps|shlib-requires|shlib-provides) + if [ ! -f "${PKGDESTDIR}/$f" ]; then + msg_red "${pkgver}: /${f} is not allowed\n" + error=1 + fi + ;; + *) + msg_red "${pkgver}: /${f} directory is not allowed, remove it!\n" + error=1 + ;; + esac + done + + # Forbid empty packages unless build_style=meta or it is 32bit devel package + if [ "$build_style" != meta ] && [ "$emptypkg" != no ] && [[ ${pkgname} != *-devel-32bit ]]; then + msg_red "${pkgver}: PKGDESTDIR is empty and build_style != meta\n" + error=1 + fi + + # Check that configuration files really exist. + for f in $(expand_destdir "${conf_files}"); do + if [ ! -f "${PKGDESTDIR}/${f}" ]; then + msg_red "${pkgver}: '$f' configuration file not in PKGDESTDIR!\n" + error=1 + fi + done + + # Check for l10n files in usr/lib/locale + if [ -d ${PKGDESTDIR}/usr/lib/locale ]; then + msg_red "${pkgver}: /usr/lib/locale is forbidden, use /usr/share/locale!\n" + error=1 + fi + + # Check for bash completions in etc/bash_completion.d + # should be on usr/share/bash-completion/completions + if [ -d ${PKGDESTDIR}/etc/bash_completion.d ]; then + msg_red "${pkgver}: /etc/bash_completion.d is forbidden. Use /usr/share/bash-completion/completions.\n" + error=1 + fi + + # Prevent packages from installing to these paths in etc, they should use + # their equivalent in usr/lib + for f in udev/{rules.d,hwdb.d} modprobe.d sysctl.d; do + if [ -d ${PKGDESTDIR}/etc/${f} ]; then + msg_red "${pkgver}: /etc/${f} is forbidden. Use /usr/lib/${f}.\n" + error=1 + fi + done + + # Likewise with the comment above but for usr/share + for f in X11/xorg.conf.d gconf/schemas; do + if [ -d ${PKGDESTDIR}/etc/${f} ]; then + msg_red "${pkgver}: /etc/${f} is forbidden. Use /usr/share/${f}.\n" + error=1 + fi + done + + if [ -d ${PKGDESTDIR}/etc/dracut.conf.d ]; then + msg_red "${pkgver}: /etc/dracut.conf.d is forbidden. Use /usr/lib/dracut/dracut.conf.d.\n" + error=1 + fi + + if [ -d ${PKGDESTDIR}/usr/usr ]; then + msg_red "${pkgver}: /usr/usr is forbidden, use /usr.\n" + error=1 + fi + + if [ -d ${PKGDESTDIR}/usr/man ]; then + msg_red "${pkgver}: /usr/man is forbidden, use /usr/share/man.\n" + error=1 + fi + + if [[ -d ${PKGDESTDIR}/usr/share/man/man ]]; then + msg_red "${pkgver}: /usr/share/man/man is forbidden, use /usr/share/man.\n" + error=1 + fi + + if [ -d ${PKGDESTDIR}/usr/doc ]; then + msg_red "${pkgver}: /usr/doc is forbidden. Use /usr/share/doc.\n" + error=1 + fi + + if [ -d ${PKGDESTDIR}/usr/dict ]; then + msg_red "${pkgver}: /usr/dict is forbidden. Use /usr/share/dict.\n" + error=1 + fi + + if [ -e ${PKGDESTDIR}/usr/share/glib-2.0/schemas/gschemas.compiled ]; then + msg_red "${pkgver}: /usr/share/glib-2.0/schemas/gschemas.compiled is forbidden. Delete it.\n" + error=1 + fi + + # Forbid files would be generated by mimedb trigger + for f in XMLnamespaces aliases generic-icons globs globs2 icons \ + magic mime.cache subclasses treemagic types version ; do + if [ -f "${PKGDESTDIR}/usr/share/mime/$f" ]; then + msg_red "${pkgver}: /usr/share/mime/$f is forbidden. Delete it.\n" + error=1 + fi + done + + if [ $error -gt 0 ]; then + msg_error "${pkgver}: cannot continue with installation!\n" + fi + + # Check for missing shlibs and SONAME bumps. + if [ ! -s "${PKGDESTDIR}/shlib-provides" ]; then + return 0 + fi + + for filename in $(<${PKGDESTDIR}/shlib-provides); do + rev=${filename#*.so.} + libname=${filename%.so*} + _shlib=$(echo "$libname"|sed -E 's|\+|\\+|g') + _pkgname=$(echo "$pkgname"|sed -E 's|\+|\\+|g') + if [ "$rev" = "$filename" ]; then + _pattern="^${_shlib}\.so[[:blank:]]+${_pkgname}-[^-]+_[0-9]+" + else + _pattern="^${_shlib}\.so\.[0-9]+(.*)[[:blank:]]+${_pkgname}-[^-]+_[0-9]+" + fi + grep -E "${_pattern}" $mapshlibs | { \ + while read conflictFile conflictPkg ignore; do + found=1 + conflictRev=${conflictFile#*.so.} + if [ -n "$ignore" -a "$ignore" != "$XBPS_TARGET_MACHINE" ]; then + continue + elif [ "$rev" = "$conflictRev" ]; then + continue + elif [[ ${rev}.* =~ $conflictRev ]]; then + continue + fi + msg_red "${pkgver}: SONAME bump detected: ${libname}.so.${conflictRev} -> ${libname}.so.${rev}\n" + msg_red "${pkgver}: please update common/shlibs with this line: \"${libname}.so.${rev} ${pkgver}\"\n" + msg_red "${pkgver}: all reverse dependencies should also be revbumped to be rebuilt against ${libname}.so.${rev}:\n" + _revdeps=$($XBPS_QUERY_XCMD -Rs ${libname}.so -p shlib-requires|cut -d ' ' -f1) + for x in ${_revdeps}; do + msg_red " ${x%:}\n" + done + msg_error "${pkgver}: cannot continue with installation!\n" + done + # Try to match provided shlibs in virtual packages. + for f in ${provides}; do + _vpkgname="$($XBPS_UHELPER_CMD getpkgname ${f} 2>/dev/null)" + _spkgname="$(grep "^${filename}" $mapshlibs | cut -d ' ' -f2)" + _libpkgname="$($XBPS_UHELPER_CMD getpkgname ${_spkgname} 2>/dev/null)" + if [ -z "${_spkgname}" -o -z "${_libpkgname}" ]; then + continue + fi + if [ "${_vpkgname}" = "${_libpkgname}" ]; then + found=1 + break + fi + done; + if [ -z "$found" ]; then + _myshlib="${libname}.so" + [ "${_myshlib}" != "${rev}" ] && _myshlib+=".${rev}" + msg_normal "${pkgver}: ${_myshlib} not found in common/shlibs.\n" + fi; + } + done +} diff --git a/common/hooks/pre-pkg/999-collected-rdeps.sh b/common/hooks/pre-pkg/999-collected-rdeps.sh new file mode 100644 index 0000000..67f4a62 --- /dev/null +++ b/common/hooks/pre-pkg/999-collected-rdeps.sh @@ -0,0 +1,7 @@ +# This hook displays resolved dependencies for a pkg. + +hook() { + if [ -e $PKGDESTDIR/rdeps ]; then + echo " $(cat $PKGDESTDIR/rdeps)" + fi +} diff --git a/common/options.description b/common/options.description new file mode 100644 index 0000000..f9e3d0c --- /dev/null +++ b/common/options.description @@ -0,0 +1,108 @@ +desc_option_aalib="Enable support for aalib video output" +desc_option_acl="Enable support for ACLs and Extended Attributes" +desc_option_alsa="Enable support for ALSA" +desc_option_aom="Enable support for the AV1 codec" +desc_option_avahi="Enable support for Avahi" +desc_option_avif="Enable support for avif image format" +desc_option_backtrace="Enable support for backtraces via libunwind" +desc_option_bluetooth="Enable support for bluetooth" +desc_option_cdparanoia="Enable support for CD audio (cdparanoia)" +desc_option_colord="Enable support for colord" +desc_option_consolekit="Enable support for ConsoleKit" +desc_option_cups="Enable support for CUPS" +desc_option_dav1d="Enable support for the AV1 decoder" +desc_option_dbus="Enable support for D-BUS" +desc_option_dri2="Enable support for the DRI2 extension" +desc_option_dri="Enable support for the DRI extension" +desc_option_efi="Enable support for EFI" +desc_option_expat="Enable support for XML via expat" +desc_option_faac="Enable support for FAAC codec" +desc_option_fdk_aac="Enable support for Fraunhofer FDK AAC codec" +desc_option_framebuffer="Enable support for the Framebuffer" +desc_option_gdk_pixbuf="Enable support to use transparency via gdk-pixbuf" +desc_option_geoclue2="Enable support for geolocation (v2)" +desc_option_geoip="Enable support for IP geolocation" +desc_option_gif="Enable support for GIF images" +desc_option_gir="Enable support for gobject introspection data" +desc_option_gles2="Enable support for GLES (v2)" +desc_option_gles="Enable support for GLES (v1)" +desc_option_gnome="Enable support for GNOME" +desc_option_gmic="Enable support for image processing with G'MIC" +desc_option_gnutls="Enable support for SSL with gnutls" +desc_option_gssapi="Enable support for GSSAPI" +desc_option_gstreamer="Enable support for GStreamer" +desc_option_gtk="Enable support for the GTK+2 GUI toolkit" +desc_option_gtk3="Enable support for the GTK+3 GUI toolkit" +desc_option_guile="Enable support for Guile lang" +desc_option_ffmpeg="Enable support for FFmpeg" +desc_option_harfbuzz="enable support for Harfbuzz" +desc_option_idn="Enable support for IDN" +desc_option_imagemagick="Enable support for ImageMagick" +desc_option_jack="Enable support for the JACK sound server" +desc_option_jpeg="Enable support for JPEG images" +desc_option_lame="Enable support for the LAME encoder" +desc_option_ldap="Enable support for LDAP" +desc_option_ldns="Enable support for LDNS DNSSEC library" +desc_option_libao="Enable support for libao sound library" +desc_option_libedit="Enable support for NetBSD's libedit" +desc_option_lua="Enable support for Lua" +desc_option_lz4="Enable support for LZ4 compression format" +desc_option_lzo="Enable support for LZO compression format" +desc_option_microhttpd="Enable support for microhttpd" +desc_option_mpcdec="Enable support for the Musepack decoder" +desc_option_native_build="Enable instruction subsets supported by the build computer" +desc_option_notify="Enable support for desktop notifications (libnotify)" +desc_option_nvenc="Enable support for NVENC codecs" +desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra" +desc_option_opengl="Enable support for OpenGL" +desc_option_openssl="Enable support for SSL with OpenSSL" +desc_option_pam="Enable support for PAM" +desc_option_pdf="Enable support to preview PDF files" +desc_option_perl="Enable support for Perl" +desc_option_png="Enable support for PNG images" +desc_option_portaudio="Enable support for PortAudio" +desc_option_ps="Enable support to preview PS files" +desc_option_pulseaudio="Enable support for the PulseAudio sound server" +desc_option_python="Enable support for Python" +desc_option_qrencode="Enable support for qrencode" +desc_option_qt="Enable support for building the QT UI" +desc_option_raw="Enable support for RAW image files" +desc_option_readline="Enable support for GNU readline" +desc_option_rpi="Enable support for Raspberry Pi" +desc_option_rtmp="Enable support for RTMP" +desc_option_sasl="Enable support for SASL" +desc_option_sdl="Enable support for SDL (1.x)" +desc_option_sdl2="Enable support for SDL (2.x)" +desc_option_seccomp="Enable support for syscall filtering" +desc_option_shoutcast="Enable support for shoutcast" +desc_option_smb="Enable support for SMB protocol" +desc_option_sndio="Enable support for the sndio sound server" +desc_option_snmp="Enable support for SNMP" +desc_option_ssh="Enable support for SSH" +desc_option_ssl="Enable support for SSL" +desc_option_startup_notification="Enable support for desktop notification" +desc_option_static="Enable static linking" +desc_option_svg="Enable support for SVG images" +desc_option_svtav1="Enable support for the SVT-AV1 Encoder and Decoder" +desc_option_tcpwrappers="Enable support for tcpwrappers" +desc_option_tiff="Enable support for TIFF images" +desc_option_upower="Enable support for UPower" +desc_option_usb="Enable support for USB" +desc_option_v4l2="Enable support for V4L2 (Video 4 Linux 2)" +desc_option_vaapi="Enable support for VA-API" +desc_option_vala="Generate bindings for vala" +desc_option_vapoursynth="Enable support for VapourSynth" +desc_option_vdpau="Enable support for VDPAU" +desc_option_vpx="Enable support for VP8/VP9 codecs" +desc_option_vulkan="Enable support for Vulkan" +desc_option_wavpack="Enable support for the Wavpack audio format" +desc_option_wayland="Enable support for the Wayland backend" +desc_option_x11="Enable support for X11" +desc_option_x265="Enable support for the x265 codec" +desc_option_xml="Enable support for XML" +desc_option_xscreensaver="Enable support for libXScrnSaver to determine idle time" +desc_option_zeitgeist="Enable support for ZeitGeist" +desc_option_zimg="Enable support for the zimg image processing library" +desc_option_zstd="Enable support for ZSTD compression format" +desc_option_elogind="Enable support for elogind" +desc_option_drm="Enable support for DRM" diff --git a/common/repo-keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist b/common/repo-keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist new file mode 100644 index 0000000..41bc2cb --- /dev/null +++ b/common/repo-keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvM1Nrc2p5N01PMmc4UWxsZjdCVQp1aXhFUWlqN3FOSVJrU0hrWWw4SGxxd1hOczFnK1FzbzhGV3dSbDNMbUpTVW5wT1BaOG1sdVdSajd4Y2pLbnVJCnhPRjBtQS8vM0lzTnVId2dYV2RLL0JiT29wNzFLZmt4aEE0WjhwK0hRbmhLMThxUkFPbG9xOGJ6WXZhaGI2NmEKemdWVTVFM1JzRDU4V0M2ZTFOUVdSSGpiMG1TM2h6M1NxVWVWZFVMT20zVzZBRTdYdWlVQVJOSEdyY1ljMXkyKwpxNjBKWHMrVk5sRlMwaGdDdnpqS3phMVg5cWtzQndzTmdaRlhBcXN1MGFKRndYSTEvM2R4ZWxBcUZFbnRMWVFSCjA4NHpaTDFmWDVRMWlacGNEaHVhTWZVREVZQjA4UzdKTTBYKytibkxxVnphVTZzc0RXdGtzbFJaNjNaVStISTUKemk5a0pyc25LcU5Pa3BKSnJTUkRyMGFvRjV2RDRwN20vYWdZKzdTRk5aaDZzOUJ5V0x3NDVFdytwalVVUmp5aQp6T01TSFhEM3YzczhFdzZkV29wbTVQTGUvUEgzZWFiMEVnbG9yVDZhYmRwaCtaVG4zaUxMWVVkSGNmQ1FDN01GCkNmVGl1TWt4SkJpaCtoOEhKaUlBdmpDZjVxdjZiaFpEUHpGRzAwbEpYRUZwNHRpbGp6eTFmbitiMkdLY3BDOWQKUUs4TEc3M0RFaXhacHBmU09IU09MMWYxVlBzZTBRdnl6d2RWc0xzR0dqV0FaZkw4WUdVZDl4Y20yeW5tVzFuNgpKTjl6NE9oZ3lRa21mNUFFUXpYSUxQR0d1MlREUVh5c05IRG0vUnRMMHJPN3cxbFVKSTVYOW1kbEZYd0xUWHI3ClYrU25aK3U5VCtFREg1NTV6WDJDZTgwQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Void Linux + + diff --git a/common/repo-keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist b/common/repo-keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist new file mode 100644 index 0000000..c1e82a7 --- /dev/null +++ b/common/repo-keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2clN6QlpNdmd2T0NJM0FYYk9qYQoycktSa0pTVE0zYy9FalRJZ0NnRFhndW05M0JQQ3RZOE1jRlZvQ1U0T2lYSEdmVG1xMzlCVk5wTHZMSEw5S2sxCnAyNzhTQmhYVk90YkIyRVZtREtudmZJREVUbGRMR3plN3JaTlJKZHR1TjJtWi9UVnJVQjlTMHlRYytJdWY0aHYKMytEOTdWSWRUSkhBN0FTcjA0MjhwcEVHSkd3U1NoWTJYSm05RDVJMEV1R1JXYzE0TUVHN2RJS0ppWWlNMG5FNAp0WW8yL3ZINElGVEhkblZBM2dZaVp5RG5idUNBUi84RVNmVVRVMTNTTkNPZGJ1ZGYzRDVCY3krVWlNREpJM1llCjRNRktCclQ5WmhaK0dzWEJaWTQ4MmxxaVppNkNMNXB0YzlJUUZmOC9lS1phOGphdGtpVkZWZ3JLZU5Sak9UeE4KZldTdTJua3hHTlgrYmhYWXRoaUdXbUpFWThjQ0FQeUZOK0x2NVJldEsyNTZnZGNiMnNrbUVxZWZ2MnpQQyt3VgpXQmJkSDViRDRiWmpuME42Wmw4MXJ2NVJ6RHZudmYrdkQxNGFGVWJaOFFGcXU3NVBiTDR3Nm1ZTTRsZE0vZzBSCjZOWEU4QXo5Qnd4MnREZlllS3V1dHcxRXBQbTJZdkZ5VFViMWNveUF1VEdSeUFhcDFVVEh2ZzlsaFBJSm1oRlEKSjVrQ2cxcUQ3QTMxV2wwUmxuZTZoZ0dvMFpaTko1Y0pNL3YvelNUS0pjdUZnd283SDBoT0dpbDZEZm84OUI0agpHOTZBQ3lQUytEVktQRlhSWXdqL0FrYkhwYVEyZjFGTUFvU3BCcXVEcUhoM3VrazcxS1g2ajE5dDBpRjhEUUxyCnZ0RlNTZElqREEwMmx3ZVY5TmFRcFdzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Void Linux + + diff --git a/common/scripts/README.xbps-cycles.md b/common/scripts/README.xbps-cycles.md new file mode 100644 index 0000000..12774e5 --- /dev/null +++ b/common/scripts/README.xbps-cycles.md @@ -0,0 +1,22 @@ +# Cycle detector for void-packages + +This script enumerates dependencies for packages in a +[void-packages repository](https://github.com/void-linux/void-packages) +and identifies build-time dependency cycles. + +For command syntax, run `xbps-cycles.py -h`. Often, it may be sufficient to run +`xbps-cycles.py` with no arguments. By default, the script will look for a +repository at `$XBPS_DISTDIR`; if that variable is not defined, the current +directory is used instead. To override this behavior, use the `-d` option to +provide the path to your desired void-packages clone. + +The standard behavior will be to spawn multiple processes, one per CPU, to +enumerate package dependencies. This is by far the most time-consuming part of +the execution. To override the degree of parallelism, use the `-j` option. + +Dependencies can be cached on disk, one file per package, in directory +passed with `-c` option. On next execution with same option, dependencies are +read from file rather than computed. + +Failures should be harmless but, at this early stage, unlikely to be pretty or +even helpful. diff --git a/common/scripts/check-custom-licenses b/common/scripts/check-custom-licenses new file mode 100755 index 0000000..da21c58 --- /dev/null +++ b/common/scripts/check-custom-licenses @@ -0,0 +1,9 @@ +#!/bin/bash +# checks for licenses that are no longer custom in packages + +mapfile -t licenses < common/travis/license.lst + +for lic in "${licenses[@]}"; do + grep -rl "custom:$lic"'[,"]' --include=template srcpkgs \ + | cut -d/ -f2 | xargs -rn1 printf "%s: $lic is no longer custom\n" +done diff --git a/common/scripts/lint-commits b/common/scripts/lint-commits new file mode 100755 index 0000000..56f16ff --- /dev/null +++ b/common/scripts/lint-commits @@ -0,0 +1,66 @@ +#!/bin/sh + +die() { + printf '%s\n' "$*" >&2 + exit 1 +} + +command -v git >/dev/null 2>&1 || +die "neither chroot-git nor git could be found!" + +rev_parse() { + if [ -n "$1" ]; then + git rev-parse --verify "$1" + else + shift + while test "$#" != 0 + do + git rev-parse --verify "$1" 2>/dev/null && return + shift + done + return 1 + fi +} + +base=$(rev_parse "$1" FETCH_HEAD ORIG_HEAD) || die "base commit not found" +tip=$(rev_parse "$2" HEAD) || die "tip commit not found" +status=0 + +for cmt in $(git rev-list --abbrev-commit $base..$tip) +do + git cat-file commit "$cmt" | + awk -vC="$cmt" ' + # skip header + /^$/ && !msg { msg = 1; next } + /^author .*noreply/ && !msg { + print "::error title=Commit Lint::" C ": authored by noreply email"; + ret=1; + } + /^author .*(localhost|localdomain|[(]none[)])/ && !msg { + print "::error title=Commit Lint::" C ": authored by localhost email"; + ret=1; + } + !msg { next } + # 3: long-line-is-banned-except-footnote-like-this-for-url + (NF > 2) && (length > 80) { + print "::error title=Commit Lint::" C ": long line: " $0 + ret = 1 + } + !subject { + if (length > 50) { print "::warning title=Commit Lint::" C ": subject is a bit long" } + if (!($0 ~ ":" || $0 ~ "^Take over maintainership " || $0 ~ "^Orphan ")) { print "::error title=Commit Lint::" C ": subject does not follow CONTRIBUTING.md guildelines"; exit 1 } + # Below check is too noisy? + # if (!($0 ~ "^New package:" || $0 ~ ".*: update to")) { + # print "::warning title=Commit Lint::" C ": not new package/update/removal?" + # } + subject = 1; next + } + /^$/ { body = 1; next } + !body { + print "::error title=Commit Lint::" C ": second line must be blank" + ret = 1 + } + END { exit ret } + ' || status=1 +done +exit $status diff --git a/common/scripts/lint-conflicts b/common/scripts/lint-conflicts new file mode 100755 index 0000000..8c7abfd --- /dev/null +++ b/common/scripts/lint-conflicts @@ -0,0 +1,198 @@ +#!/usr/bin/env bash + +# Report packages installing same file and not marked with +# conflicts or replaces. +# Without argument, find conflicts between packages in local +# repository at hostdir/binpkgs and packages indexed in xlocate. +# With single path as argument, read that local repository. +# With -a flag, find conflicts between packages indexed in xlocate. + +if [ "$#" = 0 ]; then + binpkgs="$PWD/hostdir/binpkgs" +elif [ "$1" = -a ]; then + all=1 +elif [ -d "$1" ]; then + binpkgs="$1" +else + echo "Usage:" + echo "$0" + echo " check packages in ./hostdir/binpkgs" + echo "$0 path/to/hostdir/binpkgs" + echo " check packages there" + echo "$0 -a" + echo " check all packages indexed in xlocate" + exit 1 +fi + +declare -A newly_built conflicts_cache providers_cache pairs owners +repositories=("--repository=${binpkgs}/bootstrap" "--repository=${binpkgs}" "--repository=${binpkgs}/nonfree") +rv=0 + +template_exists() { + [ -f "srcpkgs/$1/template" ] +} + +partial_check() { + [ -z "$all" ] +} + +providers_of() { + # print the pkgname and packages that `provides` it + local pkgname=$1 + if [ "${providers_cache[$pkgname]}" = '' ]; then + local line provider_pkgver provided_pkgver provider_pkgname provided_pkgname + local -A providers + providers[$pkgname]=$pkgname + while read -r line; do + line=${line%%'('*} + provider_pkgver=${line%': '*} + provided_pkgver=${line#*': '} + provider_pkgname=${provider_pkgver%-*} + provided_pkgname=${provided_pkgver%-*} + # comes from $(xbps-query -s $pkgname), so $pkgname can be substring + if [ "$provided_pkgname" = "$pkgname" ]; then + providers[$provider_pkgname]=$provider_pkgname + fi + done < <(xbps-query "${repositories[@]}" -p provides -R -s "$pkgname") + # leading space ensures ${[]} != '' + providers_cache[$pkgname]=" ${providers[*]}" + fi + echo ${providers_cache[$pkgname]} +} + +conflicts_of() { + # print list of packages that are _marked_ as conflicting with given one + local pkgname=$1 + if [ "${conflicts_cache[$pkgname]}" = '' ]; then + local in_conflict provider + local -A all + while read -r in_conflict; do + in_conflict=${in_conflict%'<'*} + in_conflict=${in_conflict%'>'*} + providers_of "$in_conflict" > /dev/null # executing in same process to fill cache + for provider in $(providers_of "$in_conflict"); do + all[$provider]=$provider + done + done < <(xbps-query "${repositories[@]}" -p conflicts,replaces -R "$pkgname") + # leading space ensures ${[]} != '' + conflicts_cache[$pkgname]=" ${all[*]}" + fi + echo ${conflicts_cache[$pkgname]} +} + +conflict_between() { + # exit successfully if packages are _marked_ as conflicting + conflicts_of "$1" > /dev/null # executing in same process to fill cache + case " $(conflicts_of "$1") " in + *" $2 "*) return 0 + esac + conflicts_of "$2" > /dev/null # executing in same process to fill cache + case " $(conflicts_of "$2") " in + *" $1 "*) return 0 + esac + return 1 +} + +list_newly_built_files() { + # print one line per file in newly built packages + # each line contains pkgname and file path + local pkgver pkgname + while read -r pkgver; do + pkgname=${pkgver%-*} + xbps-query "${repositories[@]}" -i -f "$pkgname" | sed s'/ -> .*//;'" s/^/$pkgname /" + done < <(xbps-query "${repositories[@]}" -i -R -s '' | cut -d' ' -f 2) +} + +list_interesting_files() { + # list files potentially contained in more than one package + # each line contains pkgver/pkgname and file path + if partial_check; then + list_newly_built_files + else + xlocate / | sed s'/ -> .*//' | grep -F -f <(xlocate / | cut -f 2- | sed s'/ -> .*//' | sort | uniq -d) + fi +} + +group_by_file_full() { + # create associative array `owners` mapping file to list of packages + # for packages potentially conflicting with newly built ones + local pkgver file pkgname + while read -r pkgver file; do + pkgname=${pkgver%-*} + if template_exists "$pkgname"; then + owners[$file]+=" $pkgname" + fi + done < <(list_interesting_files) +} + +group_by_file_partial() { + # create associative array `owners` mapping file to list of packages + # for all packages in xlocate + local pkgname file + ## newly built packages + while read -r pkgver; do + pkgname=${pkgver%-*} + newly_built[$pkgname]=$pkgname + done < <(xbps-query "${repositories[@]}" -i -R -s '' | cut -d' ' -f 2) + while read -r pkgname file; do + owners[$file]+=" $pkgname" + done < <(list_newly_built_files) + ## rest of repository + while read -r pkgver file; do + pkgname=${pkgver%-*} + if [ -z "${newly_built[$pkgname]}" ] && template_exists "$pkgname"; then + owners[$file]+=" $pkgname" + fi + done < <(xlocate / | sed s'/ -> .*//' | grep -F -f <(list_newly_built_files | cut -d ' ' -f 2-)) +} + +group_by_pair() { + # find package pairs owning same file and not marked as conflicting + local pkg file a b + while read -r pkg file; do + for a in ${owners[$file]}; do + for b in ${owners[$file]}; do + if ! [ "$a" "<" "$b" ]; then + continue + fi + if partial_check && [ -z "${newly_built[$a]}" ] && [ -z "${newly_built[$b]}" ]; then + continue + fi + if ! conflict_between "$a" "$b"; then + unset pair_files + local -A pair_files + eval "${pairs["$a $b"]}" + pair_files[$file]="$file" + pairs["$a $b"]="${pair_files[@]@A}" + fi + done + done + done < <(list_interesting_files) +} + +print_out() { + local pair file + if [ "${#pairs[@]}" = 0 ]; then + echo 1>&2 "No conflicts found in" "${repositories[@]#*=}" + exit 0 + fi + while read -r pair; do + rv=1 + echo "${pair% *} and ${pair#* } conflict for" + unset pair_files + eval "${pairs[$pair]}" + for file in "${pair_files[@]}"; do + echo " $file" + done | sort + done < <(printf '%s\n' "${!pairs[@]}" | sort) +} + +if partial_check; then + group_by_file_partial +else + group_by_file_full +fi +group_by_pair +print_out + +exit $rv diff --git a/common/scripts/lint-version-change b/common/scripts/lint-version-change new file mode 100755 index 0000000..f900d90 --- /dev/null +++ b/common/scripts/lint-version-change @@ -0,0 +1,113 @@ +#!/bin/sh + +# when $3 is empty, template is read from working directory +template="$1" base_rev="$2" tip_rev="$3" +status=0 + +die() { + printf '%s\n' "$*" >&2 + exit 1 +} + +if ! [ "$base_rev" ]; then + die "usage: $0 TEMPLATE BASE-REVISION [TIP-REVISION]" +fi + +if ! command -v git >/dev/null 2>&1; then + die "neither chroot-git nor git could be found" +fi + +scan() { + rx="$1" msg="$2" + template_path=$template + maybe_git= + if [ "$tip_rev" ]; then + template_path="${tip_rev}:${template}" + maybe_git="git" + revspec="[^:]*:" + fi + $maybe_git grep -P -Hn -e "$rx" "$template_path" | + grep -v -P -e "[^:]*:[^:]*:\s*#" | + sed "s/^${revspec}\([^:]*:[^:]*:\)\(.*\)/\1 $msg/" +} + +show_template() { + rev="$1" + if [ "$rev" ]; then + git cat-file blob "${rev}:${template}" 2>/dev/null + else + cat "${template}" 2>/dev/null + fi +} + +show_template_var() { + rev="$1" var="$2" + ( + show_template "$rev" + printf '%s\n' "printf '%s\\n' \"\$${var}\"" + ) | bash 2>/dev/null +} + +revision_reset() { + [ "${revision}" = 1 ] && return + if [ "$prev_version" ]; then + case "$prev_reverts" in + *"$version"_*) return + esac + action=update + else + action=creation + fi + scan "^revision=" "revision should be set to 1 on ${action}" + status=1 +} + +reverts_on_downgrade() { + [ "$version" ] || return + case "$reverts" in + *"$prev_version"_*) ;; + *) + scan "^version=" "missing reverts= for downgrade $prev_version to $version" + status=1 + esac +} + +check_revert() { + for vr in $reverts; do + xbps-uhelper cmpver "${version}" "${vr%_*}" + case "$?" in + 0 | 1) + scan '^version=' "remove $vr from \$reverts" + status=1 + ;; + esac + done + for vr in $prev_reverts; do + if ! xbps-uhelper cmpver "$version" "${vr%_*}"; then + continue + fi + if [ $revision -gt "${vr##*_}" ]; then + continue + fi + scan '^revision=' "undo a revert with same revision as before" + status=1 + done +} + +version_change() { + version="$(show_template_var "$tip_rev" version)" + revision="$(show_template_var "$tip_rev" revision)" + reverts="$(show_template_var "$tip_rev" reverts)" + prev_version="$(show_template_var "$base_rev" version)" + prev_reverts="$(show_template_var "$base_rev" reverts)" + xbps-uhelper cmpver "$version" "$prev_version" + case "$?" in + 1) revision_reset;; + -1|255) reverts_on_downgrade;; + esac + check_revert +} + +version_change + +exit $status diff --git a/common/scripts/lint2annotations.awk b/common/scripts/lint2annotations.awk new file mode 100644 index 0000000..5405d69 --- /dev/null +++ b/common/scripts/lint2annotations.awk @@ -0,0 +1,11 @@ +# Converts xlint/etc format lints into GH Actions annotations +# The original line is printed alongside the annotation command +{ + split($0, a, ": ") + split(a[1], b, ":") + msg = substr($0, index($0, ": ") + 2) + if (b[2]) { + line = ",line=" b[2] + } + printf "::error title=Template Lint,file=%s%s::%s\n", b[1], line, msg +} diff --git a/common/scripts/xbps-cycles.py b/common/scripts/xbps-cycles.py new file mode 100755 index 0000000..9c0c128 --- /dev/null +++ b/common/scripts/xbps-cycles.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 + +import os +import sys +import glob +import subprocess +import multiprocessing + +from argparse import ArgumentParser + +import networkx as nx + + +def enum_depends(pkg, xbpsdir, cachedir): + ''' + Return a pair (pkg, [dependencies]), where [dependencies] is the list + of dependencies for the given package pkg. The argument xbpsdir should + be a path to a void-packages repository. Dependencies will be + determined by invoking + + /xbps-src show-build-deps + + unless /deps- file exist, in that case it is read. + + If the return code of this call nonzero, a message will be printed but + the package will treated as if it has no dependencies. + ''' + if cachedir: + cachepath = os.path.join(cachedir, 'deps-' + pkg) + try: + with open(cachepath) as f: + return pkg, [l.strip() for l in f] + except FileNotFoundError: + pass + + cmd = [os.path.join(xbpsdir, 'xbps-src'), 'show-build-deps', pkg] + + try: + deps = subprocess.check_output(cmd) + except subprocess.CalledProcessError as err: + print('xbps-src failed to find dependencies for package', pkg) + deps = [ ] + else: + deps = [d for d in deps.decode('utf-8').split('\n') if d] + if cachedir: + with open(cachepath, 'w') as f: + for d in deps: + print(d, file=f) + + return pkg, deps + + +def find_cycles(depmap, xbpsdir): + ''' + For a map depmap: package -> [dependencies], construct a directed graph + and identify any cycles therein. + + The argument xbpsdir should be a path to the root of a void-packages + repository. All package names in depmap will be appended to the path + /srcpkgs and reduced with os.path.realpath to coalesce + subpackages. + ''' + G = nx.DiGraph() + + for i, deps in depmap.items(): + path = os.path.join(xbpsdir, 'srcpkgs', i) + i = os.path.basename(os.path.realpath(path)) + + for j in deps: + path = os.path.join(xbpsdir, 'srcpkgs', j.strip()) + j = os.path.basename(os.path.realpath(path)) + G.add_edge(i, j) + + for c in nx.strongly_connected_components(G): + if len(c) < 2: continue + pkgs = nx.to_dict_of_lists(G, c) + + p = min(pkgs.keys()) + cycles = [ ] + while True: + cycles.append(p) + + # Cycle is complete when package is not in map + try: deps = pkgs.pop(p) + except KeyError: break + + # Any of the dependencies here contributes to a cycle + p = min(deps) + if len(deps) > 1: + print('Multipath: {} -> {}, choosing first'.format(p, deps)) + + if cycles: + print('Cycle: ' + ' -> '.join(cycles) + '\n') + + +if __name__ == '__main__': + parser = ArgumentParser(description='Cycle detector for xbps-src') + parser.add_argument('-j', '--jobs', default=None, + type=int, help='Number of parallel jobs') + parser.add_argument('-c', '--cachedir', + default=None, help='''Directory to use as cache for xbps-src show-build-deps. Directory must exist already.''') + parser.add_argument('-d', '--directory', + default=None, help='Path to void-packages repo') + + args = parser.parse_args() + + if not args.directory: + try: args.directory = os.environ['XBPS_DISTDIR'] + except KeyError: args.directory = '.' + + cachedir = args.cachedir + + pool = multiprocessing.Pool(processes = args.jobs) + + pattern = os.path.join(args.directory, 'srcpkgs', '*') + depmap = dict(pool.starmap(enum_depends, + ((os.path.basename(g), args.directory, cachedir) + for g in glob.iglob(pattern)))) + + find_cycles(depmap, args.directory) diff --git a/common/shlibs b/common/shlibs new file mode 100644 index 0000000..ff764f4 --- /dev/null +++ b/common/shlibs @@ -0,0 +1,4324 @@ +# --*-- shell --*-- +# +# This file represents a map between shared libraries and packages +# in XBPS. Every shared library installed by a package must be +# listed here and mapped to a binary package. +# +# The first field lists the exact SONAME embedded in binaries. +# +# The second field lists the package/version tuple containing the SONAME. +# The version component is used as greater than or equal to that version +# in resulting binary package. +# +# The third field (optional) specifies that shared library should not be used +# to perform checks of soname bumps. +# +# PLEASE NOTE: when multiple packages provide the same SONAME, the first +# one (order top->bottom) is preferred over the next ones. +# +libc.so musl-1.1.24_7 +libc.so.6 glibc-2.36_1 +libm.so.6 glibc-2.36_1 +libpthread.so.0 glibc-2.36_1 +librt.so.1 glibc-2.36_1 +libdl.so.2 glibc-2.36_1 +ld-linux-x86-64.so.2 glibc-2.36_1 x86_64 +ld-linux.so.2 glibc-2.36_1 i686 +ld-linux.so.3 glibc-2.36_1 armv5tel +ld-linux-aarch64.so.1 glibc-2.36_1 aarch64 +ld-linux-riscv64-lp64d.so.1 glibc-2.36_1 riscv64 +ld64.so.2 glibc-2.36_1 ppc64 +ld.so.1 glibc-2.36_1 mips +ld.so.1 glibc-2.36_1 ppc +ld-linux-armhf.so.3 glibc-2.36_1 +libresolv.so.2 glibc-2.36_1 +libanl.so.1 glibc-2.36_1 +libthread_db.so.1 glibc-2.36_1 +libutil.so.1 glibc-2.36_1 +libnsl.so.1 glibc-2.36_1 +libnss_db.so.2 glibc-2.36_1 +libnss_files.so.2 glibc-2.36_1 +libnss_compat.so.2 glibc-2.36_1 +libnss_dns.so.2 glibc-2.36_1 +libnss_hesiod.so.2 glibc-2.36_1 +libcrypt.so.1 glibc-2.36_1 +libBrokenLocale.so.1 glibc-2.36_1 +libSimGearCore.so.2020.3.17 simgear-2020.3.17_1 +libSimGearScene.so.2020.3.17 simgear-2020.3.17_1 +libmemusage.so glibc-2.36_1 +libSegFault.so glibc-2.36_1 +libpcprofile.so glibc-2.36_1 +libcidn.so.1 glibc-2.36_1 +libmvec.so.1 glibc-2.36_1 +libcddgmp.so.0 cddlib-0.94m_1 +libcdd.so.0 cddlib-0.94m_1 +libz.so.1 zlib-1.2.3_1 +libb2.so.1 libb2-0.98.1_1 +libbz2.so.1 bzip2-1.0.5_1 +libarchive.so.13 libarchive-3.5.1_2 +libcc1.so.0 gcc-6.2.1_1 +libcc1plugin.so.0 gcc-6.2.1_1 +libitm.so.1 libitm-4.7.3_1 +liblto_plugin.so.0 gcc-4.7.3_1 +libgcc_s.so.1 libgcc-4.4.0_1 +libgo.so.21 libgo-12.2.0_1 +libgccjit.so.0 libgccjit-10.2.1pre1_1 +libperl.so.5.36 perl-5.36.0_1 +libgmp.so.10 gmp-5.0.1_1 +libgmpxx.so.4 gmpxx-6.0.0_2 +libmpfi.so.0 mpfi-1.5.3_1 +libmpfr.so.6 mpfr-4.0.0_1 +libppl.so.14 ppl-1.2_1 +libppl_c.so.4 ppl-0.11_1 +libstdc++.so.6 libstdc++-4.4.0_1 +libncurses.so.6 ncurses-libs-6.0_1 ignore +libncursesw.so.6 ncurses-libs-5.8_1 ignore +libtinfo.so.6 ncurses-libtinfo-libs-6.2_2 +libt3config.so.0 libt3config-1.0.0_1 +libt3highlight.so.2 libt3highlight-0.5.0_1 +libt3key.so.1 libt3key-0.2.10_1 +libt3window.so.0 libt3window-0.4.1_1 +libt3widget.so.2 libt3widget-1.2.2_1 +libtranscript.so.1 libtranscript-0.3.3_1 +libnetcdf.so.15 netcdf-4.7.0_1 +libformw.so.6 ncurses-libs-5.8_1 ignore +libfplll.so.8 fplll-5.4.4_1 +libpanelw.so.6 ncurses-libs-5.8_1 ignore +libmenuw.so.6 ncurses-libs-5.8_1 ignore +libobjc.so.4 libobjc-4.7.3_12 +libgomp.so.1 libgomp-4.4.0_1 +libgps.so.29 gpsd-3.23_1 +libmagic.so.1 libmagic-5.12_1 +libbluetooth.so.3 libbluetooth-4.58_1 +libwmf-0.2.so.7 libwmf-0.2.8.4_1 +libwmflite-0.2.so.7 libwmf-0.2.8.4_1 +libgthread-2.0.so.0 glib-2.76.0_1 +libglib-2.0.so.0 glib-2.76.0_1 +libgmodule-2.0.so.0 glib-2.76.0_1 +libgio-2.0.so.0 glib-2.76.0_1 +libgobject-2.0.so.0 glib-2.76.0_1 +libwt.so.4.10.0 wt-4.10.0_1 +libwtdbo.so.4.10.0 wt-4.10.0_1 +libwtdbosqlite3.so.4.10.0 wt-4.10.0_1 +libwthttp.so.4.10.0 wt-4.10.0_1 +libwttest.so.4.10.0 wt-4.10.0_1 +libatk-1.0.so.0 atk-1.26.0_1 +libpangocairo-1.0.so.0 pango-1.24.0_1 +libpangoft2-1.0.so.0 pango-1.24.0_1 +libpangoxft-1.0.so.0 pango-xft-1.36.3_2 +libpango-1.0.so.0 pango-1.24.0_1 +libcairo.so.2 cairo-1.8.6_1 +libcairo-gobject.so.2 cairo-1.8.6_1 +libcairo-script-interpreter.so.2 cairo-1.8.6_1 +libgdk-x11-2.0.so.0 gtk+-2.16.0_1 +libgtk-x11-2.0.so.0 gtk+-2.16.0_1 +libgdk_pixbuf-2.0.so.0 gdk-pixbuf-2.22.0_1 +libgdk_pixbuf_xlib-2.0.so.0 gdk-pixbuf-xlib-2.30.8_1 +libgailutil.so.18 gtk+-2.16.0_1 +libfreetype.so.6 freetype-2.12.1_1 +libfontconfig.so.1 fontconfig-2.6.0_1 +libX11-xcb.so.1 libX11-1.2_1 +libX11.so.6 libX11-1.2_1 +libXpresent.so.1 libXpresent-1.0.0_1 +libexpat.so.1 expat-2.0.0_1 +libjpeg.so.8 libjpeg-turbo-1.3.0_2 +libturbojpeg.so.0 libjpeg-turbo-1.3.0_2 +libpng16.so.16 libpng-1.6.2_1 +libXrender.so.1 libXrender-0.9.4_1 +libXrandr.so.2 libXrandr-1.3.0_1 +libGLU.so.1 glu-9.0.0_1 +libGL.so.1 libGL-7.11_1 +libEGL.so.1 libEGL-7.11_1 +libGLESv1_CM.so.1 libGLES-1.0_1 +libGLESv2.so.2 libGLES-1.0_1 +libEGL.so rpi-userland-0.0.0.0.20150907_1 +libGLESv2.so rpi-userland-0.0.0.0.20150907_1 +libGLESv2.so opera-55.0.2994.37_2 +libGLESv2.so discord-0.0.7_1 +libGLESv2.so keybase-desktop-3.1.2_1 +libGLESv2.so Signal-Desktop-1.23.2_1 +libGLESv2.so slack-desktop-3.4.2_1 +libbrcmEGL.so rpi-userland-20180103_2 +libbrcmGLESv2.so rpi-userland-20180103_2 +libbrcmOpenVG.so rpi-userland-20180103_2 +libnvidia-ml.so.1 nvidia-libs-346.47_1 ignore +libnvidia-ml.so.1 nvidia390-libs-390.87_1 ignore +libnvidia-ml.so.1 nvidia470-libs-470.103.01_1 ignore +libnvidia-tls.so.346.47 nvidia-libs-346.47_1 ignore +libnvidia-glcore.so.346.47 nvidia-libs-346.47_1 ignore +libnvidia-gtk2.so.346.47 nvidia-gtklibs-346.47_1 ignore +libnvidia-gtk3.so.346.47 nvidia-gtklibs-346.47_1 ignore +libnvidia-glcore.so.390.87 nvidia390-libs-390.87_1 ignore +libnvidia-glsi.so.346.72 nvidia-libs-346.72_1 ignore +libnvidia-fatbinaryloader.so.390.157 nvidia390-libs-390.154_1 ignore +libnvidia-fatbinaryloader.so.430.40 nvidia-libs-430.40_1 ignore +libglapi.so.0 libglapi-7.11_1 +libgbm.so.1 libgbm-9.0_1 +libOpenGL.so.0 libglvnd-1.3.0_1 +libGLX.so.0 libglvnd-1.3.0_1 +librsvg-2.so.2 librsvg-2.26.0_1 +librist.so.4 librist-0.2.7_1 +libdbus-1.so.3 dbus-libs-1.2.10_1 +libdbus-glib-1.so.2 dbus-glib-0.80_1 +libxml2.so.2 libxml2-2.7.0_1 +libxlsxwriter.so.5 libxlsxwriter-1.1.5_1 +libfuse.so.2 fuse-2.8.1_1 +libfuse3.so.3 fuse3-3.1.0_1 +libXext.so.6 libXext-1.0.5_1 +libulockmgr.so.1 fuse-2.9.7_1 +libXcomposite.so.1 libXcomposite-0.4.0_1 +libXdamage.so.1 libXdamage-1.1.1_1 +libXfixes.so.3 libXfixes-4.0.3_1 +libXinerama.so.1 libXinerama-1.0.3_1 +libSM.so.6 libSM-1.1.0_1 +libICE.so.6 libICE-1.0.5_1 +libXau.so.6 libXau-1.0.4_1 +libexslt.so.0 libxslt-1.1.24_1 +libxslt.so.1 libxslt-1.1.24_1 +libstartup-notification-1.so.0 startup-notification-0.10_1 +libwnck-3.so.0 libwnck-2.91.90_1 +libnl.so.1 libnl-1.1_1 +libnl-3.so.200 libnl3-3.2.1_1 +libnl-route-3.so.200 libnl3-3.2.1_1 +libnl-idiag-3.so.200 libnl3-3.2.28_1 +libnl-nf-3.so.200 libnl3-3.2.1_1 +libnl-genl-3.so.200 libnl3-3.2.1_1 +libnl-cli-3.so.200 libnl3-3.2.1_1 +libreadline.so.8 libreadline8-8.0_1 +libhistory.so.8 libhistory8-8.0_1 +libxfconf-0.so.3 xfconf-4.13.7_1 +libxfce4util.so.7 libxfce4util-4.18.0_1 +libxfce4panel-2.0.so.4 libxfce4panel-4.18.0_1 +libgdbm.so.6 gdbm-1.16_1 +libgdbm_compat.so.4 gdbm-1.10_1_1 +libintl.so.8 gettext-libs-0.19.2_1 +libgettextlib-0.21.so gettext-0.21_3 +libgettextsrc-0.21.so gettext-0.21_3 +libtextstyle.so.0 gettext-0.21_3 +libgettextpo.so.0 gettext-0.21_3 +libattr.so.1 attr-2.4.43_1 +libacl.so.1 acl-2.2.47_1 +libpython2.7.so.1.0 python-2.7.18_3 +libffi.so.7 libffi-3.3_1 +libffcall.so.0 ffcall-2.1_1 +libavcall.so.1 ffcall-2.1_1 +libtrampoline.so.1 ffcall-2.1_1 +libcallback.so.1 ffcall-2.1_1 +libcrack.so.2 libcracklib-2.8.22_2 +libpam.so.0 pam-libs-1.1.6_3 +libpamc.so.0 pam-libs-1.1.6_3 +libpam_misc.so.0 pam-libs-1.1.6_3 +libcap.so.2 libcap-2.16_1 +libpsx.so.2 libcap-2.45_1 +liblzma.so.5 liblzma-5.0.0_1 +libuuid.so.1 libuuid-2.18_1 +libblkid.so.1 libblkid-2.18_1 +libidn.so.12 libidn-1.35_1 +libusb-1.0.so.0 libusb-1.0.0_1 +libusb-0.1.so.4 libusb-compat-0.1.0_1 +libpci.so.3 pciutils-3.7.0_1 +libpcre.so.1 libpcre-8.30_1 +libpcreposix.so.0 libpcre-7.8_1 +libpcrecpp.so.0 libpcrecpp-7.8_1 +libgirepository-gimarshallingtests-1.0.so libgirepository-1.30_1 +libgirepository-everything-1.0.so libgirepository-1.30_1 +libgirepository-1.0.so.1 libgirepository-1.30_1 +libudev.so.0 libudev0-shim-1_1 +libudev.so.1 eudev-libudev-1.6_1 +libgudev-1.0.so.0 libgudev-230_1 +libumockdev.so.0 libumockdev-0.17.6_1 +libext2fs.so.2 e2fsprogs-libs-1.41.5_1 +libcom_err.so.2 e2fsprogs-libs-1.41.5_1 +libe2p.so.2 e2fsprogs-libs-1.41.5_1 +libss.so.2 e2fsprogs-libs-1.41.5_1 +libiw.so.29 wireless_tools-29_1 +libpopt.so.0 popt-1.15_1 +libtasn1.so.6 libtasn1-3.2_1 +libgpg-error.so.0 libgpg-error-1.6_1 +liblzo2.so.2 lzo-2.03_1 +libgcrypt.so.20 libgcrypt-1.6.1_1 +libgnutls.so.30 gnutls-3.4.13_1 +libgnutlsxx.so.30 gnutls-3.7.4_1 +libgnutls-dane.so.0 gnutls-3.6.12_1 +libdevmapper.so.1.02 device-mapper-2.02.110_1 +libdevmapper-event.so.1.02 device-mapper-2.02.110_1 +libdevmapper-event-lvm2.so.2.02 device-mapper-2.02.110_1 +liblvm2cmd.so.2.02 device-mapper-2.02.54_1 +libprop.so.0 proplib-0.1_1 +libfontenc.so.1 libfontenc-1.0.4_1 +libx86.so.1 libx86-1.1_1 +libxcb-render.so.0 libxcb-1.2_1 +libxcb-glx.so.0 libxcb-1.2_1 +libxcb-composite.so.0 libxcb-1.2_1 +libxcb-randr.so.0 libxcb-1.2_1 +libxcb-shape.so.0 libxcb-1.2_1 +libxcb-sync.so.1 libxcb-1.10_1 +libxcb-shm.so.0 libxcb-1.2_1 +libxcb-screensaver.so.0 libxcb-1.2_1 +libxcb-xprint.so.0 libxcb-1.2_1 +libxcb-res.so.0 libxcb-1.2_1 +libxcb.so.1 libxcb-1.2_1 +libxcb-damage.so.0 libxcb-1.2_1 +libxcb-dpms.so.0 libxcb-1.2_1 +libxcb-record.so.0 libxcb-1.2_1 +libxcb-xtest.so.0 libxcb-1.2_1 +libxcb-xv.so.0 libxcb-1.2_1 +libxcb-xf86dri.so.0 libxcb-1.2_1 +libxcb-xinerama.so.0 libxcb-1.2_1 +libxcb-dri2.so.0 libxcb-1.2_1 +libxcb-xevie.so.0 libxcb-1.2_1 +libxcb-xfixes.so.0 libxcb-1.2_1 +libxcb-xvmc.so.0 libxcb-1.2_1 +libxcb-xkb.so.1 libxcb-1.10_1 +libxcb-xinput.so.0 libxcb-1.10_1 +libxcb-dri3.so.0 libxcb-1.10_1 +libxcb-present.so.0 libxcb-1.10_1 +libxcb-imdkit.so.1 xcb-imdkit-1.0.2_1 +libXdmcp.so.6 libXdmcp-1.0.2_1 +libpolkit-gobject-1.so.0 polkit-0.99_1 +libpolkit-agent-1.so.0 polkit-0.99_1 +libpolkit-backend-1.so.0 polkit-0.99_1 +libXt.so.6 libXt-1.0.5_1 +libXtst.so.6 libXtst-1.0.3_1 +libxkbfile.so.1 libxkbfile-1.0.5_1 +libXpm.so.4 libXpm-3.5.7_1 +libXmu.so.6 libXmu-1.0.4_1 +libXmuu.so.1 libXmu-1.0.4_1 +libdrm.so.2 libdrm-2.4.6_1 +libdrm_radeon.so.1 libdrm-2.4.6_1 +libdrm_intel.so.1 libdrm-2.4.6_1 +libdrm_nouveau.so.2 libdrm-2.4.34_1 +libdrm_amdgpu.so.1 libdrm-2.4.64_1 +libdrm_freedreno.so.1 libdrm-2.4.97_1 +libdrm_etnaviv.so.1 libdrm-2.4.113_2 +libXxf86vm.so.1 libXxf86vm-1.0.2_1 +libXi.so.6 libXi-1.2.1_1 +libdmx.so.1 libdmx-1.0.2_1 +libXRes.so.1 libXres-1.0.3_1 +libxreaderdocument.so.3 libxreader-1.6.1_1 +libxreaderview.so.3 libxreader-1.6.1_1 +libpciaccess.so.0 libpciaccess-0.10.5_1 +libpixman-1.so.0 pixman-0.14.0_1 +libXaw.so.6 libXaw-1.0.5_1 ignore +libXaw.so.7 libXaw-1.0.5_1 ignore +libXaw6.so.6 libXaw-1.0.5_1 +libXaw7.so.7 libXaw-1.0.5_1 +libXft.so.2 libXft-2.1.13_1 +libXcursor.so.1 libXcursor-1.1.9_1 +libXxf86dga.so.1 libXxf86dga-1.0.2_1 +libXp.so.6 libXp-1.0.0_1 +libXv.so.1 libXv-1.0.4_1 +libXvMC.so.1 libXvMC-1.0.4_1 +libXvMCW.so.1 libXvMC-1.0.4_1 +libxcb-errors.so.0 xcb-util-errors-1.0_1 +libxcb-icccm.so.4 xcb-util-wm-0.3.9_1 +libxcb-ewmh.so.2 xcb-util-wm-0.3.9_1 +libxcb-aux.so.0 xcb-util-0.3.4_1 +libxcb-image.so.0 xcb-util-image-0.3.9_1 +libxcb-reply.so.1 xcb-util-0.3.4_1 +libxcb-keysyms.so.1 xcb-util-keysyms-0.3.9_1 +libxcb-property.so.1 xcb-util-0.3.4_1 +libxcb-atom.so.1 xcb-util-0.3.4_1 +libxcb-event.so.1 xcb-util-0.3.4_1 +libxcb-util.so.1 xcb-util-0.3.9_1 +libtiff.so.6 tiff-4.5.0_1 +libtiffxx.so.6 tiff-4.5.0_1 +libnotify.so.4 libnotify-0.7_1 +libexo-1.so.0 exo-0.7.3_1 +libexo-2.so.0 exo-0.12.0_1 +libglade-2.0.so.0 libglade-2.6.4_1 +libthunarx-3.so.0 Thunar-1.8.1_1 +libexif.so.12 libexif-0.6.17_1 +liboil-0.3.so.0 liboil-0.3.16_1 +libopenmpt.so.0 libopenmpt-0.4.11_1 +libogg.so.0 libogg-1.3.0_1 +libvorbis.so.0 libvorbis-1.2.1rc1_1 +libvorbisenc.so.2 libvorbis-1.2.1rc1_1 +libvorbisfile.so.3 libvorbis-1.2.1rc1_1 +libtheora.so.0 libtheora-1.0_1 +libtheoradec.so.1 libtheora-1.0_1 +libtheoraenc.so.1 libtheora-1.0_1 +libcdda_interface.so.0 libcdparanoia-10.2_10 +libcdda_paranoia.so.0 libcdparanoia-10.2_10 +libasound.so.2 alsa-lib-1.0.20_1 +libatopology.so.2 alsa-lib-1.2.1_1 +libvisual-0.4.so.0 libvisual-0.4.0_1 +libxfsm-4.6.so.0 xfce4-session-4.9.1_1 +libxklavier.so.16 libxklavier-5.0_1 +liblcms.so.1 lcms-1.18_1 +libgd.so.3 gd-2.1.0_1 +libcroco-0.6.so.3 libcroco-0.6.2_1 +libgsf-1.so.114 libgsf-1.14.11_1 +libMagickCore-7.Q16HDRI.so.10 libmagick-7.1.0.10_1 +libMagickWand-7.Q16HDRI.so.10 libmagick-7.1.0.10_1 +libMagick++-7.Q16HDRI.so.5 libmagick-7.0.11.1_1 +libltdl.so.7 libltdl-2.2.6_1 +libpoppler.so.128 libpoppler-23.05.0_1 +libpoppler-glib.so.8 poppler-glib-0.18.2_1 +libpoppler-cpp.so.0 poppler-cpp-0.18.2_1 +libpoppler-qt5.so.1 poppler-qt5-0.31.0_1 +libtcl8.6.so tcl-8.6.0_1 +libtk8.6.so tk-8.6.1_3 +libsqlite3.so.0 sqlite-3.38.0_1 +libIDL-2.so.0 libIDL-0.8.13_1 +libnspr4.so nspr-4.8_1 +libplc4.so nspr-4.8_1 +libplds4.so nspr-4.8_1 +libsoftokn3.so nss-3.12.4_1 +libssl3.so nss-3.12.4_1 +libnssutil3.so nss-3.12.4_1 +libsmime3.so nss-3.12.4_1 +libfreebl3.so nss-3.12.4_1 +libnssdbm3.so nss-3.12.4_1 +libnssckbi.so nss-3.12.4_1 +libnss3.so nss-3.12.4_1 +libcurl.so.4 libcurl-7.75.0_2 +libdaemon.so.0 libdaemon-0.14_1 +libavahi-common.so.3 avahi-libs-0.6.25_1 +libavahi-core.so.7 avahi-libs-0.6.25_1 +libavahi-client.so.3 avahi-libs-0.6.25_1 +libavahi-gobject.so.0 avahi-glib-libs-0.6.25_1 +libavahi-glib.so.1 avahi-glib-libs-0.6.25_1 +libdns_sd.so.1 avahi-compat-libs-0.6.25_1 +libhowl.so.0 avahi-compat-libs-0.6.25_1 +libavahi-ui.so.0 avahi-ui-libs-0.6.25_1 +libavahi-ui-gtk3.so.0 avahi-ui-libs-gtk3-0.6.25_1 +libavahi-libevent.so.1 avahi-libevent-libs-0.8_1 +libavahi-qt5.so.1 avahi-qt5-libs-0.8_1 +libmp4v2.so.2 libmp4v2-2.0.0_1 +libfaac.so.0 faac-1.28_1 +libfaad.so.2 faad2-2.7_1 +libfaad_drm.so.2 faad2-2.8.0_1 +libid3tag.so.0 libid3tag-0.15.1b_1 +libgif.so.7 giflib-5.1.0_1 +libImlib2.so.1 imlib2-1.4.2_1 +libmp3lame.so.0 lame-3.98.2_1 +libavdevice.so.58 libavdevice-4.0_1 +libavformat.so.58 libavformat-4.0_1 +libswscale.so.5 libswscale-4.0_1 +libswresample.so.3 libswresample-4.0_1 +libavresample.so.4 libavresample-4.0_1 +libpostproc.so.55 libpostproc-4.0_1 +libavcodec.so.58 libavcodec-4.0_1 +libavutil.so.56 libavutil-4.0_1 +libavfilter.so.7 libavfilter-4.0_1 +libSDL-1.2.so.0 SDL-1.2.14_1 +libSDL_image-1.2.so.0 SDL_image-1.2.10_1 +libx264.so.157 x264-20190507.2245_1 +libxvidcore.so.4 xvidcore-1.2.2_1 +libtag.so.1 taglib-1.6.1_1 +libtag-extras.so.1 taglib-extras-1.0.1_1 +libtag_c.so.0 taglib-1.6.1_1 +libfribidi.so.0 fribidi-0.19.2_1 +liba52.so.0 liba52-0.7.4_1 +libcddb.so.2 libcddb-1.3.2_1 +libiso9660.so.11 libcdio-2.0.0_1 +libudf.so.0 libcdio-0.83_1 +libcdio_cdda.so.2 libcdio-paranoia-10.2_1 +libcdio_paranoia.so.2 libcdio-paranoia-10.2_1 +libiso9660++.so.0 libcdio-0.83_1 +libcdio++.so.1 libcdio-2.0.0_1 +libcdio.so.19 libcdio-2.1.0_1 +libmpcdec.so.5 libmpcdec-1.2.6_1 +libproxy.so.1 libproxy-0.4.6_1 +libmoar.so MoarVM-2015.11_1 +libFLAC.so.8 libflac-1.2.1_1 +libFLAC++.so.6 libflac-1.2.1_1 +libField3D.so.1.7 Field3D-1.7.3_1 +libMAC.so.6 libMAC-5.28_1 +libmad.so.0 libmad-0.15.1b_1 +libmatroska.so.7 libmatroska-1.6.0_1 +libmatrix_client.so.0.9.2 mtxclient-0.9.2_1 +libebml.so.5 libebml-1.4.0_1 +libdvdread.so.8 libdvdread-6.1.1_1 +libdvdnav.so.4 libdvdnav-4.1.3_1 +libdvbpsi.so.10 libdvbpsi-1.3.1_1 +libdca.so.0 libdca-0.0.5_1 +libdex-1.so.1 libdex-0.2.0_1 +libmpeg2.so.0 libmpeg2-0.5.1_1 +libmpeg2convert.so.0 libmpeg2-0.5.1_1 +libmng.so.2 libmng-2.0.2_1 +libQgpsmm.so.29 gpsd-qt-3.23_1 +libsysfs.so.2 libsysfs-2.1.0_1 +libsensors.so.5 libsensors-3.5.0_1 +libcap-ng.so.0 libcap-ng-0.6.2_1 +libphysfs.so.1 physfs-2.0.0_1 +libSDL_ttf-2.0.so.0 SDL_ttf-2.0.9_1 +libKScreenLocker.so.5 kscreenlocker-5.8.4_1 +libparted.so.2 libparted-3.1_1 +libparted-fs-resize.so.0 libparted-3.1_1 +libntfs-3g.so.89 ntfs-3g-2021.8.22_1 +libruby.so.3.2 ruby-3.2.0_1 +librw.so.0 rankwidth-0.9_1 +libprocessui.so.9 libksysguard-5.18.90_1 +libksignalplotter.so.9 libksysguard-5.18.90_1 +libksgrd.so.9 libksysguard-5.18.90_1 +libprocesscore.so.9 libksysguard-5.18.90_1 +liblsofui.so.9 libksysguard-5.18.90_1 +libKSysGuardSensorFaces.so.1 libksysguard-5.18.90_1 +libKSysGuardFormatter.so.1 libksysguard-5.19.5_1 +libKSysGuardSystemStats.so.1 libksysguard-5.22.0_1 +libxenctrl.so.4.14 xen-libs-4.14.0_1 +libxenfsimage.so.4.14 xen-libs-4.14.0_1 +libxenguest.so.4.14 xen-libs-4.14.0_1 +libxenhypfs.so.1 xen-libs-4.14.0_1 +libxlutil.so.4.14 xen-libs-4.14.0_1 +libxenlight.so.4.14 xen-libs-4.14.0_1 +libxenevtchn.so.1 xen-libs-4.10.0_1 +libxengnttab.so.1 xen-libs-4.10.0_1 +libxendevicemodel.so.1 xen-libs-4.10.0_1 +libxenforeignmemory.so.1 xen-libs-4.10.0_1 +libxentoolcore.so.1 xen-libs-4.10.0_1 +libxenstore.so.3.0 xen-libs-4.10.0_1 +libxentoollog.so.1 xen-libs-4.10.0_1 +libxencall.so.1 xen-libs-4.10.0_1 +libxenvchan.so.4.14 xen-libs-4.14.0_1 +libfsimage.so.1.0 xen-libs-4.10.0_1 +libxenstat.so.4.14 xen-libs-4.14.0_1 +libfam.so.0 gamin-0.1.10_1 +libgamin-1.so.0 gamin-0.1.10_1 +libkateprivate.so.23.04.2 libkate-23.04.2_1 +libKF5SyntaxHighlighting.so.5 syntax-highlighting-5.29.0_1 +libKPim5Libkleo.so.5 libkleo-23.04.0_1 +libKPim5GrantleeTheme.so.5 grantleetheme-23.04.0_1 +libKPim5IMAP.so.5 kimap-23.04.0_1 +libKPim5Ldap.so.5 kldap-23.04.0_1 +libKF5CalendarCore.so.5 kcalendarcore-5.63.0_1 +libKPim5AkonadiSearchDebug.so.5 akonadi-search-23.04.0_1 +libKPim5AkonadiSearchCore.so.5 akonadi-search-23.04.0_1 +libKPim5AkonadiSearchPIM.so.5 akonadi-search-23.04.0_1 +libKPim5AkonadiSearchXapian.so.5 akonadi-search-23.04.0_1 +libKPim5LibkdepimAkonadi.so.5 libkdepim-23.04.0_1 +libKPim5Libkdepim.so.5 libkdepim-23.04.0_1 +libKF5PimCommon.so.5 pimcommon-17.12.3_1 +libKF5PimCommonAkonadi.so.5 pimcommon-17.12.3_1 +libKF5PimCommonAutoCorrection.so.5 pimcommon-22.12.1_1 +libKPim5Gravatar.so.5 libgravatar-23.04.0_1 +libKSaneCore.so.1 ksanecore-22.12.1_1 +libKF5Sane.so.5 libksane-18.04.2_1 +libKPim5SMTP.so.5 ksmtp-23.04.0_1 +libKPim5MailTransport.so.5 kmailtransport-23.04.0_1 +libKPim5MailTransportAkonadi.so.5 kmailtransport-23.04.0_1 +libKPim5Mbox.so.5 kmbox-23.04.0_1 +libKPim5MessageComposer.so.5 messagelib-23.04.0_1 +libKPim5MessageList.so.5 messagelib-23.04.0_1 +libKPim5TemplateParser.so.5 messagelib-23.04.0_1 +libKPim5WebEngineViewer.so.5 messagelib-23.04.0_1 +libKPim5MessageCore.so.5 messagelib-23.04.0_1 +libKPim5MimeTreeParser.so.5 messagelib-23.04.0_1 +libKPim5MessageViewer.so.5 messagelib-23.04.0_1 +libKPim5CalendarUtils.so.5 kcalutils-23.04.0_1 +libKPim5KontactInterface.so.5 kontactinterface-23.04.0_1 +libKPim5KSieveUi.so.5 libksieve-23.04.0_1 +libKPim5KManageSieve.so.5 libksieve-23.04.0_1 +libKPim5KSieve.so.5 libksieve-23.04.0_1 +libKPim5MailImporterAkonadi.so.5 mailimporter-23.04.0_1 +libKPim5MailImporter.so.5 mailimporter-23.04.0_1 +libKPim5MailCommon.so.5 mailcommon-23.04.0_1 +libKPim5Tnef.so.5 ktnef-23.04.0_1 +libKPim5AkonadiCalendar.so.5 akonadi-calendar-23.04.0_1 +libKPim5CalendarSupport.so.5 calendarsupport-23.04.0_1 +libKPim5AkonadiNotes.so.5 akonadi-notes-23.04.0_1 +libKPimKDAV.so.5 kdav-5.72.0_1 +libKF5DAV.so.5 kdav-5.72.0_1 +libakonadi-singlefileresource.so.5 kdepim-runtime-17.12.3_1 +libkmindexreader.so.5 kdepim-runtime-17.12.3_1 +libkdexoauth2.so.3 kdepim-runtime-17.12.3_1 +libakonadi-filestore.so.5 kdepim-runtime-17.12.3_1 +libmaildir.so.5 kdepim-runtime-17.12.3_1 +libfolderarchivesettings.so.5 kdepim-runtime-17.12.3_1 +libkImageAnnotator.so.0 kImageAnnotator-0.4.1_1 +libkColorPicker.so.0 kColorPicker-0.1.5_1 +libbabl-0.1.so.0 babl-0.1.16_1 +libbamf3.so.2 bamf-0.5.1_1 +libicuio.so.73 icu-libs-73.2_1 +libicui18n.so.73 icu-libs-73.2_1 +libicudata.so.73 icu-libs-73.2_1 +libicutu.so.73 icu-libs-73.2_1 +libicuuc.so.73 icu-libs-73.2_1 +libicutest.so.73 icu-libs-73.2_1 +libaspell.so.15 libaspell-0.60.8_2 +libpspell.so.15 libaspell-0.60.8_2 +libenchant-2.so.2 enchant2-2.2.3_1 +libgconf-2.so.4 GConf-2.32.0_1 +libpackagekit-glib2.so.18 PackageKit-1.1.12_1 +libpsl.so.5 libpsl-0.20.2_1 +libsoup-2.4.so.1 libsoup-2.34.0_1 +libsoup-3.0.so.0 libsoup3-3.0.0_1 +libsoup-gnome-2.4.so.1 libsoup-gnome-2.34.0_1 +libgnome-panel.so.0 gnome-panel-3.37.1_1 +libuninum.so.5 libuninum-2.7_1 +libwebkit2gtk-4.0.so.37 webkit2gtk-2.6.2_1 +libjavascriptcoregtk-4.0.so.18 webkit2gtk-2.6.2_1 +libwebkit2gtk-4.1.so.0 libwebkit2gtk41-2.38.0_1 +libjavascriptcoregtk-4.1.so.0 libwebkit2gtk41-2.38.0_1 +libwebkitgtk-6.0.so.4 libwebkitgtk60-2.40.0_1 +libjavascriptcoregtk-6.0.so.1 libwebkitgtk60-2.40.0_1 +libgimp-2.0.so.0 libgimp-2.10.0_1 +libgimpwidgets-2.0.so.0 libgimp-2.10.0_1 +libgimpui-2.0.so.0 libgimp-2.10.0_1 +libgimpbase-2.0.so.0 libgimp-2.10.0_1 +libgimpthumb-2.0.so.0 libgimp-2.10.0_1 +libgimpconfig-2.0.so.0 libgimp-2.10.0_1 +libgimpmath-2.0.so.0 libgimp-2.10.0_1 +libgimpcolor-2.0.so.0 libgimp-2.10.0_1 +libgimpmodule-2.0.so.0 libgimp-2.10.0_1 +libgmic.so.3 gmic-3.1.6_1 +libcgmic.so.3 gmic-3.1.6_1 +libexiv2.so.27 exiv2-0.27_1 +libKF5Holidays.so.5 kholidays-5.47.0_1 +libPhabricatorHelpers.so.5 purpose-5.48.0_1 +libKF5PurposeWidgets.so.5 purpose-5.48.0_1 +libKF5Purpose.so.5 purpose-5.48.0_1 +libKF5PulseAudioQt.so.3 pulseaudio-qt-1.3_1 +libReviewboardHelpers.so.5 purpose-5.48.0_1 +libecpg_compat.so.3 postgresql-libs-15.1_1 +libecpg.so.6 postgresql-libs-15.1_1 +libpgtypes.so.3 postgresql-libs-15.1_1 +libpq.so.5 postgresql-libs-15.1_1 +libmypaint.so.0 libmypaint-1.6.1_1 +libgssapi_krb5.so.2 mit-krb5-libs-1.8_1 +libgssrpc.so.4 mit-krb5-libs-1.8_1 +libk5crypto.so.3 mit-krb5-libs-1.8_1 +libkadm5clnt_mit.so.12 mit-krb5-libs-1.18.2_1 +libkadm5srv_mit.so.12 mit-krb5-libs-1.18.2_1 +libkdb5.so.10 mit-krb5-libs-1.18.2_1 +libkrb5.so.3 mit-krb5-libs-1.8_1 +libkrad.so.0 mit-krb5-libs-1.12.1_1 +libkrb5support.so.0 mit-krb5-libs-1.8_1 +libkdb_ldap.so.1 mit-krb5-libs-1.14.2_2 +libverto.so.0 mit-krb5-libs-1.8_1 +libverto-k5ev.so.0 mit-krb5-libs-1.8_1 +libmenu-cache.so.3 menu-cache-1.0.0_1 +libupower-glib.so.3 libupower-glib3-0.99.3_1 +libcanberra.so.0 libcanberra-0.23_1 +libcanberra-gtk.so.0 libcanberra-gtk-0.30_6 +libcanberra-gtk3.so.0 libcanberra-gtk3-0.30_6 +libgtop-2.0.so.11 libgtop-2.38.0_1 +librarian.so.0 rarian-0.8.1_1 +libmusikcore.so musikcube-0.93.1_3 +libgnome-menu-3.so.0 gnome-menus-2.91.6_1 +libart_lgpl_2.so.2 libart-2.3.20_1 +libgnomecanvas-2.so.0 libgnomecanvas-2.30.1_1 +libgnomecanvasmm-2.6.so.1 libgnomecanvasmm-2.26.0_1 +libgnome-keyring.so.0 libgnome-keyring-3.0.0_1 +libical.so.3 libical-3.0.4_1 +libical_cxx.so.3 libical-3.0.4_1 +libicalss.so.3 libical-3.0.4_1 +libicalss_cxx.so.3 libical-3.0.4_1 +libicalvcal.so.3 libical-3.0.4_1 +libical-glib.so.3 libical-3.0.4_1 +libcamel-1.2.so.64 evolution-data-server-3.46.0_1 +libebackend-1.2.so.11 evolution-data-server-3.46.0_1 +libebook-1.2.so.21 evolution-data-server-3.46.0_1 +libebook-contacts-1.2.so.4 evolution-data-server-3.46.0_1 +libecal-2.0.so.2 evolution-data-server-3.46.0_1 +libedata-book-1.2.so.27 evolution-data-server-3.46.0_1 +libedataserver-1.2.so.27 evolution-data-server-3.46.0_1 +libedataserverui-1.2.so.4 evolution-data-server-3.46.0_1 +libedataserverui4-1.0.so.0 evolution-data-server-3.46.0_1 +libevolution-calendar.so evolution-3.28.0_1 +libevolution-util.so evolution-3.28.0_1 +libemail-engine.so evolution-3.28.0_1 +libevolution-mail.so evolution-3.28.0_1 +libevolution-mail-composer.so evolution-3.48.0_1 +libevolution-mail-formatter.so evolution-3.40.0_1 +libevolution-shell.so evolution-3.28.0_1 +libedata-cal-2.0.so.2 evolution-data-server-3.46.0_1 +libgdata.so.22 libgdata-0.17.9_1 +libpcap.so.1 libpcap-1.1.1_1 +libiptc.so.0 iptables-1.4.7_1 +libip6tc.so.2 iptables-1.8.3_1 +libxtables.so.12 iptables-1.6.1_1 +libip4tc.so.2 iptables-1.8.3_1 +libipq.so.0 iptables-1.4.7_1 +libnm.so.0 libnm-1.0.0_1 +libKF5ItemModels.so.5 kitemmodels-5.26.0_1 +libboost_context.so.1.82.0 libboost_context-1.82.0.alpha_1 +libboost_coroutine.so.1.82.0 libboost_coroutine-1.82.0.alpha_1 +libboost_container.so.1.82.0 libboost_container-1.82.0.alpha_1 +libboost_prg_exec_monitor.so.1.82.0 libboost_prg_exec_monitor-1.82.0.alpha_1 +libboost_timer.so.1.82.0 libboost_timer-1.82.0.alpha_1 +libboost_random.so.1.82.0 libboost_random-1.82.0.alpha_1 +libboost_filesystem.so.1.82.0 libboost_filesystem-1.82.0.alpha_1 +libboost_unit_test_framework.so.1.82.0 libboost_unit_test_framework-1.82.0.alpha_1 +libboost_math_c99.so.1.82.0 libboost_math_c99-1.82.0.alpha_1 +libboost_math_tr1.so.1.82.0 libboost_math_tr1-1.82.0.alpha_1 +libboost_nowide.so.1.82.0 libboost_nowide-1.82.0.alpha_1 +libboost_json.so.1.82.0 libboost_json-1.82.0.alpha_1 +libboost_regex.so.1.82.0 libboost_regex-1.82.0.alpha_1 +libboost_serialization.so.1.82.0 libboost_serialization-1.82.0.alpha_1 +libboost_chrono.so.1.82.0 libboost_chrono-1.82.0.alpha_1 +libboost_wserialization.so.1.82.0 libboost_wserialization-1.82.0.alpha_1 +libboost_graph.so.1.82.0 libboost_graph-1.82.0.alpha_1 +libboost_graph_parallel.so.1.82.0 libboost_graph_parallel-1.82.0.alpha_1 +libboost_log.so.1.82.0 libboost_log-1.82.0.alpha_1 +libboost_locale.so.1.82.0 libboost_locale-1.82.0.alpha_1 +libboost_program_options.so.1.82.0 libboost_program_options-1.82.0.alpha_1 +libboost_iostreams.so.1.82.0 libboost_iostreams-1.82.0.alpha_1 +libboost_system.so.1.82.0 libboost_system-1.82.0.alpha_1 +libboost_sync.so.1.82.0 libboost_system-1.82.0.alpha_1 +libboost_thread.so.1.82.0 libboost_thread-1.82.0.alpha_1 +libboost_log_setup.so.1.82.0 libboost_log_setup-1.82.0.alpha_1 +libboost_date_time.so.1.82.0 libboost_date_time-1.82.0.alpha_1 +libboost_wave.so.1.82.0 libboost_wave-1.82.0.alpha_1 +libboost_atomic.so.1.82.0 libboost_atomic-1.82.0.alpha_1 +libboost_type_erasure.so.1.82.0 libboost_type_erasure-1.82.0.alpha_1 +libboost_fiber.so.1.82.0 libboost_fiber-1.82.0.alpha_1 +libboost_stacktrace_noop.so.1.82.0 libboost_stacktrace_noop-1.82.0.alpha_1 +libboost_stacktrace_addr2line.so.1.82.0 libboost_stacktrace_addr2line-1.82.0.alpha_1 +libboost_stacktrace_basic.so.1.82.0 libboost_stacktrace_basic-1.82.0.alpha_1 +libboost_mpi.so.1.82.0 libboost_mpi-1.82.0.alpha_1 +libboost_mpi_python311.so.1.82.0 libboost_mpi-python3-1.82.0.alpha_1 +libboost_python311.so.1.82.0 boost-python3-1.82.0.alpha_1 +libexempi.so.8 exempi-2.5.0_1 +libatasmart.so.4 libatasmart-0.17_1 +libsgutils2-1.45.so.2 libsgutils-1.45_1 +liblvm2app.so.2.2 liblvm2app-2.02.54_1 +libcpufreq.so.0 libcpufreq-007_1 +libcpuid.so.16 libcpuid-0.6.2_1 +libgucharmap_2_90.so.7 gucharmap-3.0.0_1 +libgphoto2.so.6 libgphoto2-2.5.7_1 +libgphoto2_port.so.12 libgphoto2-2.5.7_1 +libgvfscommon.so.0 gvfs-1.7.2_1 +libgvfscommon-dnssd.so.0 gvfs-1.7.2_1 +libgvfsdaemon.so gvfs-1.20_1 +libgvfscommon.so gvfs-1.20_1 +libnautilus-extension.so.4 libnautilus-43.0_1 +libmpc.so.3 libmpc-1.0.1_1 +libsigc-2.0.so.0 libsigc++-1.1_1 +libsigc-3.0.so.0 libsigc++3-3.0.3_1 +libglibmm-2.4.so.1 glibmm-2.24.0_1 +libgiomm-2.4.so.1 glibmm-2.24.0_1 +libglibmm_generate_extra_defs-2.4.so.1 glibmm-2.24.0_1 +libglibmm-2.68.so.1 glibmm2.68-2.68.0_1 +libgiomm-2.68.so.1 glibmm2.68-2.68.0_1 +libglibmm_generate_extra_defs-2.68.so.1 glibmm2.68-2.68.0_1 +libcairomm-1.0.so.1 cairomm-1.8.4_1 +libcairomm-1.16.so.1 cairomm1.16-1.16.0_1 +libpangomm-1.4.so.1 pangomm-2.26.0_1 +libpangomm-2.48.so.1 pangomm2.48-2.48.0_1 +libatkmm-1.6.so.1 atkmm-2.22.1_1 +libgtkmm-3.0.so.1 gtkmm-2.99.5_1 +libgdkmm-3.0.so.1 gtkmm-2.99.5_1 +libgtkmm-4.0.so.0 gtkmm4-4.0.0_1 +libgnome-bluetooth.so.13 gnome-bluetooth1-3.12.0_1 +libgnome-bluetooth-3.0.so.13 gnome-bluetooth-42.1_1 +libgnome-bluetooth-ui-3.0.so.13 gnome-bluetooth-42.1_1 +libsasl2.so.3 libsasl-2.1.26_1 +liblber-2.4.so.2 libldap-2.4.21_1 +libldap-2.4.so.2 libldap-2.4.21_1 +libldap_r-2.4.so.2 libldap-2.4.21_1 +libevent-2.1.so.7 libevent-2.1.11_1 +libevent_core-2.1.so.7 libevent-2.1.11_1 +libevent_extra-2.1.so.7 libevent-2.1.11_1 +libevent_pthreads-2.1.so.7 libevent-2.1.11_1 +libevent_openssl-2.1.so.7 libevent-2.1.11_1 +libSDL_mixer-1.2.so.0 SDL_mixer-1.2.11_1 +libapr-1.so.0 apr-1.4.2_1 +libaprutil-1.so.0 apr-util-1.6.1_11 +libnetpgp.so.0 libnetpgp-20140220_19 +libmj.so.0 libmj-20140220_19 +libmca_common_sm.so.40 libopenmpi-3.0.1_1 +libmca_common_dstore.so.1 libopenmpi-4.0.1_1 +libmca_common_ompio.so.41 libopenmpi-3.0.1_1 +libmca_common_monitoring.so.50 libopenmpi-3.1.2_1 +libmpi.so.40 libopenmpi-3.0.1_1 +libompitrace.so.40 libopenmpi-3.0.1_1 +libopen-pal.so.40 libopenmpi-3.0.1_1 +libopen-rte.so.40 libopenmpi-3.0.1_1 +liboshmem.so.40 libopenmpi-3.0.1_1 +libmtp.so.9 libmtp-1.1.4_1 +libelf.so.1 libelf-0.155_1 +libdw.so.1 libelf-0.155_1 +libasm.so.1 libelf-0.155_1 +libdebuginfod.so.1 libdebuginfod-0.182_1 +libgtksourceview-3.0.so.1 gtksourceview-3.8.0_1 +libtalloc.so.2 talloc-2.0.1_1 +libpytalloc-util.so.2 libpytalloc-util-2.3.1_2 +libmount.so.1 libmount-2.18_1 +libdconf.so.1 dconf-0.13.90_1 +libassuan.so.0 libassuan-2.0.1_1 +libgpgme.so.11 libgpgme-1.12.0_2 +libgpgmepp.so.6 gpgmepp-1.7.0_3 +libqgpgme.so.15 gpgmeqt-1.18.0_1 +libgarcon-1.so.0 garcon-0.1.12_1 +libgarcon-gtk3-1.so.0 garcon-0.6.1_1 +libxfce4ui-2.so.0 libxfce4ui-4.18.0_1 +libxfce4kbd-private-3.so.0 libxfce4ui-4.18.0_1 +libxml++-2.6.so.2 libxml++-2.32.0_1 +libxml++-3.0.so.1 libxml++3.0-3.0.1_1 +libftgl.so.2 ftgl-2.1.2_1 +libGLEW.so.2.2 glew-2.2.0_1 +libsndfile.so.1 libsndfile-1.0.20_1 +libspeex.so.1 libspeex-1.1_1 +libspeexdsp.so.1 speexdsp-1.2rc2_1 +libasyncns.so.0 libasyncns-0.8_1 +libpulse.so.0 libpulseaudio-15.0_1 +libpulse-mainloop-glib.so.0 libpulseaudio-15.0_1 +libpulse-simple.so.0 libpulseaudio-15.0_1 +libpulsecommon-15.0.so libpulseaudio-15.0_1 +libpulsecore-15.0.so libpulseaudio-15.0_1 +libprojectM.so.3 projectM-3.1.7_2 +liborc-0.4.so.0 orc-0.4.11_1 +liborc-test-0.4.so.0 orc-0.4.11_1 +libtotem-plparser.so.18 totem-pl-parser-3.26.1_1 +libtotem-plparser-mini.so.18 libtotem-plparser-mini-3.26.1_1 +libgladeui-2.so.13 libgladeui3-3.38.0_1 +libtdb.so.1 libtdb-1.2.2_1 +libgssdp-1.2.so.0 gssdp1.2-1.4.0.1_1 +libgssdp-1.6.so.0 gssdp-1.6.0_1 +libgupnp-1.2.so.0 gupnp1.2-1.2.4_1 +libgupnp-1.6.so.0 gupnp-1.6.0_1 +libsamplerate.so.0 libsamplerate-0.1.7_1 +libmms.so.0 libmms-0.6_1 +libsmbios.so.2 libsmbios-2.2.28_1 +libsmbios_c.so.2 libsmbios-2.2.28_1 +libjasper.so.4 libjasper-1.900.27_1 +librecode.so.0 librecode-3.6_1 +libenca.so.0 libenca-1.13_1 +libwavpack.so.1 libwavpack-4.60.1_1 +libSDL_net-1.2.so.0 SDL_net-1.2.7_1 +libmodplug.so.1 libmodplug-0.8.8_1 +libfetch.so.2 libfetch-2.34_23 +libneon.so.27 neon-0.31.2_2 +libsvn_subr-1.so.0 libsvn-1.7.5_1 +libsvn_diff-1.so.0 libsvn-1.7.5_1 +libsvn_client-1.so.0 libsvn-1.7.5_1 +libsvn_delta-1.so.0 libsvn-1.7.5_1 +libsvn_fs-1.so.0 libsvn-1.7.5_1 +libsvn_ra-1.so.0 libsvn-1.7.5_1 +libsvn_repos-1.so.0 libsvn-1.7.5_1 +libsvn_wc-1.so.0 libsvn-1.7.5_1 +libsvn_fs_util-1.so.0 libsvn-1.7.5_1 +libsvn_ra_svn-1.so.0 libsvn-1.7.5_1 +libsvn_fs_fs-1.so.0 libsvn-1.7.5_1 +libsvn_fs_base-1.so.0 libsvn-1.7.5_1 +libsvn_ra_local-1.so.0 libsvn-1.7.5_1 +libsvn_ra_neon-1.so.0 libsvn-1.7.5_1 +libsvn_ra_serf-1.so.0 libsvn-1.8.1_1 +libsvn_fs_x-1.so.0 libsvn-1.9.0_1 +libsvn_swig_py-1.so.0 subversion-python-1.7.5_1 +libsvn_swig_perl-1.so.0 subversion-perl-1.7.5_1 +libjson-glib-1.0.so.0 json-glib-0.12.2_1 +libcjson.so.1 cJSON-1.7.8_1 +libvirt.so.0 libvirt-0.8.7_1 +libvirt-qemu.so.0 libvirt-0.8.7_1 +libvirt-lxc.so.0 libvirt-1.0.2_1 +libgdk-3.so.0 gtk+3-3.0.0_1 +libgtk-3.so.0 gtk+3-3.0.0_1 +libgailutil-3.so.0 gtk+3-3.0.0_1 +liblightdm-gobject-1.so.0 liblightdm-gobject-1.2.2_1 +libcelt0.so.2 celt-0.11.1_1 +libspice-server.so.1 spice-0.14.3_3 +libbrasero-burn3.so.1 brasero-2.91.90_1 +libbrasero-media3.so.1 brasero-2.91.90_1 +libbrasero-utils3.so.1 brasero-2.91.90_1 +libXss.so.1 libXScrnSaver-1.1.3_1 +libyelp.so.0 yelp-3.36.0_1 +libpeas-1.0.so.0 libpeas-1.0.0_2 +libpeas-gtk-1.0.so.0 libpeas-1.0.0_2 +libtotem.so.0 libtotem-3.6.2_1 +libclutter-1.0.so.0 clutter-1.14.0_1 +libavfs.so.0 libavfs-1.0.5_1 +libgjs.so.0 gjs-1.65.2_1 +libtelepathy-glib.so.0 telepathy-glib-0.15.5_1 +libaccountsservice.so.0 accountsservice-0.6.4_1 +libfolks.so.26 folks-0.15.0_1 +libfolks-dummy.so.26 folks-0.15.0_1 +libfolks-telepathy.so.26 folks-0.15.0_1 +libfolks-eds.so.26 folks-0.15.0_1 +libnice.so.10 libnice-0.1.18_3 +libgupnp-igd-1.0.so.4 gupnp1.2-igd-1.2.0_1 +libgupnp-igd-1.6.so.0 gupnp-igd-1.4.0_1 +libtelepathy-logger.so.3 telepathy-logger-0.6.0_1 +libmission-control-plugins.so.0 telepathy-mission-control-5.9.2_1 +libclutter-gtk-1.0.so.0 clutter-gtk-1.1.2_1 +libchamplain-0.12.so.0 libchamplain-0.12.5_2 +libchamplain-gtk-0.12.so.0 libchamplain-0.12.5_2 +libshumate-1.0.so.1 libshumate-1.0.0_1 +libvpx.so.6 libvpx6-1.8.0_1 +libvpx.so.7 libvpx7-1.11.0_1 +libatspi.so.0 at-spi2-core-1.91.91_1 +libatk-bridge-2.0.so.0 at-spi2-atk-2.6.0_1 +libvte-2.91.so.0 vte3-0.68.0_1 +libvte-2.91-gtk4.so.0 vte3-gtk4-0.70.0_1 +libpipeline.so.1 libpipeline-1.2.0_1 +libosp.so.5 opensp-1.5.2_1 +libogrove.so.0 openjade-1.3.2_1 +libospgrove.so.0 openjade-1.3.2_1 +libostyle.so.0 openjade-1.3.2_1 +libtorrent.so.21 libtorrent-0.13.8_4 +libgiblib.so.1 giblib-1.2.4_1 +libgc.so.1 gc-7.6.4_1 +libcord.so.1 gc-7.4_1 +libgslcblas.so.0 gsl-1.15_1 +libgsl.so.27 gsl-2.7.1_1 +liblua5.1.so.5.1 lua51-5.1.5_1 +liblua5.2.so.5.2 lua52-5.2.4_2 +liblua5.3.so.5.3 lua53-5.3.5_4 +liblua5.4.so.5.4 lua54-5.4.0_1 +libsurgescript.so.0.5.6 surgescript-0.5.6_1 +libburn.so.4 libburn-0.7.2_1 +libKF5Auth.so.5 kauth-5.26.0_1 +libKF5AuthCore.so.5 kauth-5.56.0_1 +libgdkmm-2.4.so.1 gtkmm2-2.24.0_1 +libgtkmm-2.4.so.1 gtkmm2-2.24.0_1 +libquadmath.so.0 libquadmath-4.4.0_1 +libgfortran.so.5 libgfortran-8.2.0_1 +libgnarl-12.so libada-12.2.0_1 +libgnat-12.so libada-12.2.0_1 +libsharpyuv.so.0 libsharpyuv-1.3.0_1 +libwebp.so.7 libwebp-0.6.0_1 +libwebpmux.so.3 libwebp-0.6.0_1 +libwebpdemux.so.2 libwebp-0.5.0_1 +libwebpdecoder.so.3 libwebp-0.6.0_1 +libva-x11.so.2 libva-2.13.0_1 +libva.so.2 libva-2.13.0_1 +libva-glx.so.2 libva-glx-2.13.0_1 +libva-drm.so.2 libva-2.13.0_1 +libva-wayland.so.2 libva-2.13.0_1 +libv4l2.so.0 v4l-utils-0.8.5_1 +libv4lconvert.so.0 v4l-utils-0.8.5_1 +libv4l1.so.0 v4l-utils-0.8.5_1 +libv4l2rds.so.0 v4l-utils-1.2.1_1 +libdvbv5.so.0 v4l-utils-1.6.2_1 +libjson-c.so.5 json-c-0.14.0_1 +libcogl.so.20 cogl-1.18.0_1 +libcogl-pango.so.20 cogl-1.18.0_1 +libcogl-gst.so.20 cogl-1.18.0_1 +libcogl-gles2.so.20 cogl-1.18.0_1 +libcogl-path.so.20 cogl-1.18.0_1 +libp11-kit.so.0 p11-kit-0.7_1 +librest-0.7.so.0 rest0-0.8.1_1 +librest-1.0.so.0 rest-0.9.1_1 +librest-extras-0.7.so.0 rest0-0.8.1_1 +librest-extras-1.0.so.0 rest-0.9.1_1 +libgoa-1.0.so.0 gnome-online-accounts-3.2.0_1 +libgoa-backend-1.0.so.1 gnome-online-accounts-3.10.0_1 +liboauth.so.0 liboauth-0.9.4_1 +liblcms2.so.2 lcms2-2.2_1 +libcolord.so.2 libcolord-1.1.7_1 +libcolordprivate.so.2 libcolord-1.1.7_1 +libcolorhug.so.2 libcolord-1.1.7_1 +libgupnp-av-1.0.so.3 gupnp-av-0.14.0_1 +libgrilo-0.3.so.0 grilo-0.3.2_1 +libgrlnet-0.3.so.0 grilo-0.3.2_1 +libgrlpls-0.3.so.0 grilo-0.3.2_1 +libquvi.so.7 libquvi-0.4.0_1 +libepc-1.0.so.3 libepc-0.4.1_1 +libepc-ui-1.0.so.3 libepc-0.4.1_1 +libgupnp-dlna-2.0.so.4 gupnp-dlna-0.12.0_1 +libgupnp-dlna-gst-2.0.so.4 gupnp-dlna-0.12.0_1 +libfm.so.4 libfm-1.2.3_3 +libfm-gtk3.so.4 libfm-gtk+3-1.3.1_2 +libfm-extra.so.4 libfm-extra-1.2.3_3 +libdiscid.so.0 libdiscid-0.2.2_1 +librhythmbox-core.so.10 librhythmbox-3.4.1_1 +libdmapsharing-3.0.so.2 libdmapsharing-2.9.12_1 +libgexiv2.so.2 libgexiv2-0.6.1_1 +libraw.so.23 libraw-0.21.0_1 +libraw_r.so.23 libraw-0.21.0_1 +libdjvulibre.so.21 libdjvulibre-3.5.24_1 +libgxps.so.2 libgxps-0.2.0_1 +libt1.so.5 libt1-5.1.2_1 +libt1x.so.5 libt1-5.1.2_1 +libevdocument3.so.4 libevince-3.3.92_1 +libevview3.so.3 libevince-3.3.92_1 +libjack.so.0 libjack-1.9.7_1 +libjackserver.so.0 libjack-1.9.7_1 +libjacknet.so.0 libjack-1.9.7_1 +libfftw3_threads.so.3 libfftw-3.3_1 +libfftw3.so.3 libfftw-3.3_1 +libfftw3_omp.so.3 libfftw-3.3.5_1 +libfftw3l_threads.so.3 libfftw-3.3_1 +libfftw3l.so.3 libfftw-3.3_1 +libfftw3l_omp.so.3 libfftw-3.3.5_1 +libfftw3f_threads.so.3 libfftw-3.3_1 +libfftw3f.so.3 libfftw-3.3_1 +libfftw3f_omp.so.3 libfftw-3.3.5_1 +libfluidsynth.so.3 libfluidsynth-2.2.0_1 +liblo.so.7 liblo-0.26_1 +libvamp-sdk.so.2 libvamp-plugin-sdk-2.2_1 +librubberband.so.2 librubberband-1.6.0_1 +libaubio.so.5 libaubio-0.4.3_1 +libraptor2.so.0 libraptor-2.0.4_1 +liblrdf.so.2 liblrdf-0.4.0_1 +libserd-0.so.0 libserd-0.18.0_1 +libsord-0.so.0 libsord-0.5.0_1 +libgiggle.so.0 libgiggle-0.6.1_1 +libgiggle-git.so.0 libgiggle-0.6.1_1 +libwv-1.2.so.4 libwv-1.2.9_1 +libabiword-3.0.so libabiword-3.0.0_1 +libmpg123.so.0 libmpg123-1.13.4_2 +libout123.so.0 libmpg123-1.23.0_1 +libsyn123.so.0 libmpg123-1.26.0_1 +libopenal.so.1 libopenal-1.13_1 +libalure.so.1 alure-1.2_1 +libalut.so.0 freealut-1.1.0_1 +liblilv-0.so.0 liblilv-0.14.4_1 +libsuil-0.so.0 suil-0.6.4_1 +libmcpp.so.0 libmcpp-2.7.2_1 +libjitterentropy.so.3 jitterentropy-3.0.0_1 +libkdecorations2.so.5 kdecoration-5.8.4_1 +libkdecorations2private.so.10 kdecoration-5.26.90_1 +libGlacier2.so.37 libIce-3.7.5_2 +libGlacier2CryptPermissionsVerifier.so.37 libIce-3.7.5_2 +libIce.so.37 libIce-3.7.5_2 +libIceSSL.so.37 libIce-3.7.5_2 +libIceUtil.so.37 libIce-3.7.5_2 +libIceStormService.so.37 libIce-3.7.5_2 +libIceStorm.so.37 libIce-3.7.5_2 +libFreeze.so.37 libIce-3.7.5_2 +libSlice.so.37 libIce-3.7.5_2 +libIceBox.so.37 libIce-3.7.5_2 +libIceGrid.so.37 libIce-3.7.5_2 +libIcePatch2.so.37 libIce-3.7.5_2 +libIceDB.so.37 libIce-3.7.5_2 +libIceXML.so.37 libIce-3.7.5_2 +libIceDiscovery.so.37 libIce-3.7.5_2 +libIceLocatorDiscovery.so.37 libIce-3.7.5_2 +libvdpau.so.1 libvdpau-0.4.1_1 +libgsm.so.1 libgsm-1.0.13_13 +libcgroup.so.3 libcgroup-3.0.0_1 +libxdg-basedir.so.1 libxdg-basedir-1.1.1_1 +libev.so.4 libev-4.04_1 +libell.so.0 ell-0.45_1 +libgvnc-1.0.so.0 gtk-vnc-0.4.4_1 +libgtk-vnc-2.0.so.0 gtk-vnc-0.4.4_1 +libgvncpulse-1.0.so.0 gtk-vnc-1.2.0_2 +libyaml-0.so.2 libyaml-0.1.4_1 +libuchardet.so.0 uchardet-0.0.6_1 +libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1 +libyajl.so.2 yajl-2.0.1_1 +libconfuse.so.2 confuse-3.2.1_1 +liblldb.so.15 lldb-15.0.7_1 +libclang.so.15 libclang-15.0.7_1 +libclang-cpp.so.15 libclang-cpp-15.0.7_1 +libLLVM-11.so libllvm11-11.0.0_1 +libLLVM-12.so libllvm12-12.0.0_1 +libLLVM-15.so libllvm15-15.0.7_1 +libLLVMSPIRVLib.so.15 SPIRV-LLVM-Translator-15.0.0_1 +libomp.so.5 libomp-15.0.7_1 +libomptarget.so.15 libomp-15.0.7_1 +libisofs.so.6 libisofs-0.6.24_1 +libmpack.so.0 libmpack-1.0.5_1 +libGeoIP.so.1 libgeoip-1.4.8_1 +libnilfs.so.0 libnilfs-2.1.0_1 +libnilfsgc.so.0 libnilfs-2.1.0_1 +libnilfscleaner.so.0 libnilfs-2.1.0_1 +libchicken.so.11 libchicken-5.1.0_1 +libmdb.so.0 libmdb-0.5_1 +libmdbsql.so.0 libmdb-0.5_1 +libkmod.so.2 libkmod-5_1 +libestr.so.0 libestr-0.1.2_1 +libee.so.0 libee-0.3.2_1 +libopendht.so.2 opendht-2.3.1_1 +libobt.so.2 libopenbox-3.5.2_1 +libobrender.so.32 libopenbox-3.6.1_1 +libgssglue.so.1 libgssglue-0.3_1 +libtirpc.so.3 libtirpc-1.0.2_1 +libnfsidmap.so.1 libnfsidmap-2.4.3_2 +libbind9-9.16.22.so bind-libs-9.16.22_1 +libdns-9.16.22.so bind-libs-9.16.22_1 +libirs-9.16.22.so bind-libs-9.16.22_1 +libisc-9.16.22.so bind-libs-9.16.22_1 +libisccc-9.16.22.so bind-libs-9.16.22_1 +libisccfg-9.16.22.so bind-libs-9.16.22_1 +libns-9.16.22.so bind-libs-9.16.22_1 +libplist-2.0.so.3 libplist-2.2.0_1 +libplist++-2.0.so.3 libplist++-2.2.0_1 +libnsbmp.so.0 libnsbmp-0.0.3_1 +libnsgif.so.0 libnsgif-0.0.3_1 +libparserutils.so.0 libparserutils-0.1.1_1 +libwapcaplet.so.0 libwapcaplet-0.1.0_1 +libcss.so.0 libcss-0.1.1_1 +libhubbub.so.0 libhubbub-0.1.1_1 +liblutok.so.3 lutok-0.4_1 +libmtdev.so.1 mtdev-1.1.2_1 +libcryptsetup.so.12 libcryptsetup-2.3.4_2 +libgusb.so.2 libgusb-0.1.3_1 +libmash-0.2.so.0 mash-0.2.0_4 +libbytesize.so.1 libbytesize-1.2_1 +libblockdev.so.2 libblockdev-2.16_1 +libbd_utils.so.2 libblockdev-2.16_1 +libndctl.so.6 libndctl-60.3_1 +libdaxctl.so.1 libdaxctl-60.3_1 +libudisks2.so.0 udisks2-1.93.0_1 +libgcr-base-3.so.1 gcr-3.3.92_1 +libgck-1.so.0 gcr-3.8.0_1 +libgcr-ui-3.so.1 gcr-3.8.0_1 +libgck-2.so.0.0.0 gcr4-4.0.0_1 +libgcr-4.so.0.0.0 gcr4-4.0.0_1 +libcld2.so cld2-0.0.1.20150821_1 +libcld2_full.so cld2-full-0.0.1.20150821_1 +libwacom.so.9 libwacom-2.6.0_1 +libfarstream-0.2.so.5 farstream-0.2.7_1 +libass.so.9 libass-0.13.6_1 +libcryptui.so.0 libcryptui-3.4.0_1 +libkeyutils.so.1 libkeyutils-1.5.5_1 +libiptcdata.so.0 libiptcdata-1.0.4_1 +libutempter.so.0 libutempter-1.1.5_1 +libxatracker.so.2 libxatracker-10.0.0_2 +libtumbler-1.so.0 tumbler-4.9.2_1 +libwebrtc_audio_processing.so.1 webrtc-audio-processing-0.3_1 +libcupsmime.so.1 libcups-1.5.3_1 +libcupsppdc.so.1 libcups-1.5.3_1 +libcupscgi.so.1 libcups-1.5.3_1 +libcups.so.2 libcups-1.5.3_1 +libcupsimage.so.2 libcups-1.5.3_1 +libijs-0.35.so libijs-0.8_1 +libgs.so.10 libgs-10.0.0_1 +libssh2.so.1 libssh2-1.9.0_3 +libvirt-glib-1.0.so.0 libvirt-glib-0.0.8_1 +libsnmp.so.40 libnet-snmp-5.9_2 +libnetsnmp.so.40 libnet-snmp-5.9_2 +libnetsnmpagent.so.40 libnet-snmp-5.9_2 +libnetsnmpmibs.so.40 libnet-snmp-5.9_2 +libnetsnmptrapd.so.40 libnet-snmp-5.9_2 +libnetsnmphelpers.so.40 libnet-snmp-5.9_2 +libieee1284.so.3 libieee1284-0.2.10_1 +libsane.so.1 libsane-1.0.22_1 +libfltk.so.1.3 fltk-1.3.0_1 +libfltk_forms.so.1.3 fltk-1.3.0_1 +libfltk_gl.so.1.3 fltk-1.3.0_1 +libfltk_images.so.1.3 fltk-1.3.0_1 +libspectre.so.1 libspectre-0.2.6_1 +libsratom-0.so.0 sratom-0.4.0_1 +libpwquality.so.1 libpwquality-1.1.1_1 +libiml.so.0 iml-1.0.5_1 +libisl.so.23 isl-0.23_1 +libisl.so.19 isl15-0.19_1 +libcloog-isl.so.4 cloog-0.18.1_1 +librtmp.so.1 librtmp-2.4.20161210_9 +libORBit-2.so.0 libORBit2-2.14.19_1 +libORBit-imodule-2.so.0 libORBit2-2.14.19_1 +libORBitCosNaming-2.so.0 libORBit2-2.14.19_1 +libminiupnpc.so.17 miniupnpc-2.1_1 +libxbps.so.5 libxbps-0.59.1_4 +libatf-c.so.1 atf-libs-0.21_1 +libatf-c++.so.2 atf-libs-0.21_1 +libvdeplug.so.3 libvde2-2.3.2_23 +libvdemgmt.so.0 libvde2-2.3.2_23 +libvdehist.so.0 libvde2-2.3.2_23 +libvdesnmp.so.0 libvde2-2.3.2_23 +libsbc.so.1 sbc-1.0_1 +libecryptfs.so.1 libecryptfs-111_9 +libnuma.so.1 libnuma-2.0.7_1 +libxar.so.1 xar-1.6.1_9 +libmikmod.so.3 libmikmod-3.1.12_1 +libSDL_sound-1.0.so.1 SDL_sound-1.0.3_1 +libgtksourceview-2.0.so.0 gtksourceview2-2.10.5_1 +libxdot.so.4 graphviz-libs-2.28.0_6 +libgvpr.so.2 graphviz-libs-2.28.0_6 +libcgraph.so.6 graphviz-libs-2.28.0_6 +libgvc.so.6 graphviz-libs-2.28.0_6 +libcdt.so.5 graphviz-libs-2.28.0_6 +libpathplan.so.4 graphviz-libs-2.28.0_6 +liblab_gamut.so.1 graphviz-libs-2.40.1_1 +libflowcanvas.so.5 flowcanvas-0.7.1_1 +liblash.so.1 ladish-1_1 +libmowgli-2.so.0 libmowgli-2.1.3_8 +libgts-0.7.so.5 gts-0.7.6_1 +libguess.so.1 libguess-1.1_1 +libaudcore.so.5 audacious-3.9_1 +libaudgui.so.5 audacious-3.9_1 +libaudtag.so.3 audacious-3.8_1 +libaudqt.so.2 audacious-3.10.1_2 +libgstreamer-1.0.so.0 gstreamer1-1.0.0_1 +libgstbase-1.0.so.0 gstreamer1-1.0.0_1 +libgstcontroller-1.0.so.0 gstreamer1-1.0.0_1 +libgstnet-1.0.so.0 gstreamer1-1.0.0_1 +libgstcheck-1.0.so.0 gstreamer1-1.0.0_1 +libgsttag-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstfft-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstrtp-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstsdp-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstrtsp-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstvideo-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstaudio-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstpbutils-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstriff-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstapp-1.0.so.0 gst-plugins-base1-1.0.0_1 +libgstallocators-1.0.so.0 gst-plugins-base1-1.1.1_1 +libgsttranscoder-1.0.so.0 gst-plugins-bad1-1.22.1_1 +libgstphotography-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstsignalprocessor-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstbasevideo-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstbasecamerabinsrc-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstcodecparsers-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstplayer-1.0.so.0 gst-plugins-bad1-1.18.3_2 +libgstwebrtc-1.0.so.0 gst-plugins-bad1-1.18.4_2 +libgsttranscoder-1.0.so.0 gst-plugins-bad1-1.18.4_2 +libgstgl-1.0.so.0 gst-plugins-base1-1.14.0_1 +libgnome-desktop-3.so.20 gnome-desktop-43.0_1 +libgnome-desktop-4.so.2 gnome-desktop-43.0_1 +libgnome-bg-4.so.2 gnome-desktop-43.0_1 +libgnome-rr-4.so.2 gnome-desktop-43.0_1 +libsecret-1.so.0 libsecret-0.10_1 +libgweather-4.so.0 libgweather-4.0.0_1 +libgnomekbd.so.8 libgnomekbd-3.6.0_1 +libgnomekbdui.so.8 libgnomekbd-3.6.0_1 +libibus-1.0.so.5 ibus-1.4.99.20120917_1 +libxapian.so.30 libxapian-1.4.0_1 +libzeitgeist-1.0.so.1 libzeitgeist-0.3.18_1 +libcolord-gtk.so.1 colord-gtk-0.1.23_1 +libcolord-gtk4.so.1 colord-gtk-0.3.0_1 +libgdm.so.1 libgdm-3.6.0_1 +libclutter-gst-2.0.so.0 clutter-gst-1.9.92_1 +libcheese.so.8 libcheese-3.17.90_1 +libcheese-gtk.so.25 libcheese-3.17.90_1 +libSoundTouch.so.1 soundtouch-1.9.2_1 +libmusicbrainz5.so.1 libmusicbrainz5-5.1.0_1 +librygel-core-2.8.so.0 librygel-0.42.0_1 +librygel-renderer-2.8.so.0 librygel-0.42.0_1 +librygel-renderer-gst-2.8.so.0 librygel-0.42.0_1 +librygel-ruih-2.8.so.0 librygel-0.42.0_1 +librygel-server-2.8.so.0 librygel-0.42.0_1 +librygel-db-2.8.so.0 librygel-0.42.0_1 +libharfbuzz.so.0 libharfbuzz-5.1.0_1 +libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1 +libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1 +libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1 +libharfbuzz-cairo.so.0 libharfbuzz-7.1.0_1 +libosinfo-1.0.so.0 libosinfo-0.10.0_2 +libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2 +libspice-client-glib-2.0.so.8 spice-gtk-0.41_2 +libspice-controller.so.0 spice-gtk-0.41_2 +libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1 +libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1 +libgsasl.so.7 libgsasl-1.8.0_1 +libzmq.so.5 zeromq-4.1.2_1 +libstatgrab.so.10 libstatgrab-0.91_1 +libseccomp.so.2 libseccomp-2.0.0_1 +libqrencode.so.4 libqrencode-4.0.0_1 +libwayland-server.so.0 wayland-1.6.0_1 +libwayland-client.so.0 wayland-1.10.0_1 +libwayland-cursor.so.0 wayland-1.6.0_1 +libwayland-egl.so.1 wayland-1.15.0_4 +libvarlink.so.0 libvarlink-22_1 +libtomcrypt.so.1 libtomcrypt-1.18.0_1 +libHX.so.28 libHX-3.14_1 +libxkbcommon.so.0 libxkbcommon-0.2.0_1 +libxkbcommon-x11.so.0 libxkbcommon-x11-0.4.2_1 +libxkbregistry.so.0 libxkbregistry-1.3.0_3 +libgee-0.8.so.2 libgee-0.20.6_1 +libnettle.so.8 nettle-3.6_1 +libhogweed.so.6 nettle-3.6_1 +libgtkspell.so.0 gtkspell-2.0.16_1 +libgtkspell3-3.so.0 gtkspell3-3.0.9_1 +libpurple.so.0 libpurple-2.10.6_1 +libpurple-client.so.0 libpurple-2.10.6_1 +libjabber.so.0 libpurple-2.13.0_1 +libgnt.so.0 libgnt-2.10.6_1 +libao.so.4 libao-1.1.0_1 +libjansson.so.4 jansson-2.4_1 +libleveldb.so.1 leveldb-1.8.0_1 +libcprops.so.15 libcprops-0.1.12_1 +libopus.so.0 opus-1.0.2_1 +libconfig++.so.11 libconfig++-1.7.1_1 +libconfig.so.11 libconfig-1.7.1_1 +libopusfile.so.0 opusfile-0.12_2 +libopusurl.so.0 opusfile-0.12_2 +libopusenc.so.0 libopusenc-0.2_1 +libgranite-7.so.7 granite7-7.0.0_1 +libgranite.so.6 granite-6.2.0_1 +libprotobuf-vala.so.0 libprotobuf-vala-0.1.0_1 +librlog.so.5 librlog-1.4_1 +libtinyxml.so.0 tinyxml-2.6.2_1 +libtinyxml2.so.9 tinyxml2-9.0.0_1 +libbluray.so.2 libbluray-1.0.0_1 +libnfs.so.14 libnfs-5.0.1_1 +libzip.so.5 libzip-1.7.3_2 +libluajit-5.1.so.2 LuaJIT-2.0.0_1 +libOSMesa.so.8 libOSMesa-9.1_1 +libtaginfo.so.1 libtaginfo-0.1.3_1 +libtaginfo_c.so.0 libtaginfo-0.1.3_1 +libaa.so.1 aalib-1.4rc4_2 +libbsd.so.0 libbsd-0.4.2_1 +libWFC.so rpi-userland-0.0.0.0.20150907_1 +libbcm_host.so rpi-userland-0.0.0.0.20150907_1 +libopenmaxil.so rpi-userland-0.0.0.0.20150907_1 +libvchiq_arm.so rpi-userland-0.0.0.0.20150907_1 +libvcos.so rpi-userland-0.0.0.0.20150907_1 +libmmal.so rpi-userland-0.0.0.0.20150907_1 +libmmal_core.so rpi-userland-0.0.0.0.20150907_1 +libmmal_util.so rpi-userland-0.0.0.0.20150907_1 +libOpenVG.so rpi-userland-0.0.0.0.20150907_1 +libmmal_vc_client.so rpi-userland-20170427_1 +libmmal_components.so rpi-userland-20170427_1 +libvcsm.so rpi-userland-20170427_1 +libcontainers.so rpi-userland-20170427_1 +libbrcmWFC.so rpi-userland-20180103_1 +libdebug_sym.so rpi-userland-20180103_1 +libdtovl.so rpi-userland-20180103_1 +libwiringPi.so libwiringPi-0.0.20200408_1 +libwiringPiDev.so libwiringPi-0.0.20200408_1 +liblockdev.so.1 lockdev-1.0.3_1 +libcec.so.6 libcec-6.0.2_1 +librump.so.0 netbsd-rumpkernel-20140526_3 +librumpvfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_disk.so.0 netbsd-rumpkernel-20140526_3 +librumpdev.so.0 netbsd-rumpkernel-20140526_3 +librumpuser.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_sockin.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_net.so.0 netbsd-rumpkernel-20140526_3 +librumpnet.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_sys_linux.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_netsmb.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_crypto.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_usb.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_ulpt.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_umass.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_ugenhc.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_ucom.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_ubt.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_opencrypto.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_wscons.so.0 netbsd-rumpkernel-20140526_3 +librumpvfs_aio.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_sysmon.so.0 netbsd-rumpkernel-20140526_3 +librumpvfs_layerfs.so.0 netbsd-rumpkernel-20140526_3 +librumpvfs_fifofs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_scsipi.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_nfsserver.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_rnd.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_v7fs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_union.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_raidframe.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_umap.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_putter.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_udf.so.0 netbsd-rumpkernel-20140526_3 +librumphijack.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_tmpfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_pud.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_virtif.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_sysvbfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_pad.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_bpfjit.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_shmif.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_config.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_syspuffs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_smbfs.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_local.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_npf.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_ptyfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_md.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_null.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_netmpls.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_netinet6.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_ntfs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_nilfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_fss.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_netinet.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_netbt.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_msdos.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_nfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_drvctl.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_net80211.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_mfs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_lfs.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_dm.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_time.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_kernfs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_hfs.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_sljit.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_ffs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_fdesc.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_bridge.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_z.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_cgd.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_ext2fs.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_efs.so.0 netbsd-rumpkernel-20140526_3 +librumpnet_agr.so.0 netbsd-rumpkernel-20140526_3 +librumpkern_tty.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_bpf.so.0 netbsd-rumpkernel-20140526_3 +librumpfs_cd9660.so.0 netbsd-rumpkernel-20140526_3 +librumpdev_audio.so.0 netbsd-rumpkernel-20140526_3 +librumpclient.so.0 netbsd-rumpkernel-20140526_3 +libdotconf.so.0 dotconf-1.3_1 +libspeechd.so.2 speech-dispatcher-0.8_1 +libre2.so.10 re2-2023.03.01_1 +libminizip.so.1 minizip-1.2.7_1 +libsrtp2.so.1 libsrtp-2.1.0_1 +libjsoncpp.so.25 jsoncpp-1.9.5_1 +libesmtp.so.6 libesmtp-1.0.6_21 +libcaca.so.0 libcaca-0.99.beta18_3 +libcaca++.so.0 libcaca-0.99.beta18_3 +libunwind.so.8 libunwind-1.5.0_3 +libunwind-ptrace.so.0 libunwind-1.5.0_3 +libunwind-x86_64.so.8 libunwind-1.5.0_3 +libunwind-x86.so.8 libunwind-1.5.0_3 +libunwind-arm.so.8 libunwind-1.5.0_3 +libunwind-mips.so.8 libunwind-1.5.0_3 +libunwind-aarch64.so.8 libunwind-1.5.0_3 +libunwind-ppc32.so.8 libunwind-1.5.0_3 +libunwind-ppc64.so.8 libunwind-1.5.0_3 +libunwind-setjmp.so.0 libunwind-1.5.0_3 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 +libmicrodns.so.1 libmicrodns-0.2.0_1 +libgit2.so.1.6 libgit2-1.6.4_1 +libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 +libagg.so.2 agg-2.5_1 +libzzip-0.so.13 zziplib-0.13.62_1 +libzzipfseeko-0.so.13 zziplib-0.13.62_1 +libzzipwrap-0.so.13 zziplib-0.13.62_1 +libzzipmmapped-0.so.13 zziplib-0.13.62_1 +libkworkspace5.so.5 kworkspace-5.14.5_2 +libdb-5.3.so libdb-5.3.21_1 +libdb_cxx-5.3.so libdb-cxx-5.3.21_1 +libcares.so.2 c-ares-1.10.0_1 +libcryptopp.so.8 crypto++-8.3.0_1 +libdbusmenu-glib.so.4 libdbusmenu-glib-12.10.2_1 +libdbusmenu-gtk3.so.4 libdbusmenu-gtk3-12.10.2_1 +libGrantlee_Templates.so.5 grantlee5-5.0.0_1 +libGrantlee_TextDocument.so.5 grantlee5-5.0.0_1 +librasqal.so.3 librasqal-0.9.30_1 +librdf.so.0 librdf-1.0.16_1 +libclucene-core.so.1 clucene-2.3.3.4_1 +libclucene-shared.so.1 clucene-2.3.3.4_1 +libclucene-contribs-lib.so.1 clucene-2.3.3.4_1 +libodbcinst.so.2 libodbc-2.3.1_1 +libodbc.so.2 libodbc-2.3.1_1 +libiodbc.so.2 libiodbc-3.52.8_1 +libiodbcinst.so.2 libiodbc-3.52.8_1 +libsolarus.so.1 solarus-1.6.2_1 +libsolarus-gui.so.1 solarus-1.6.2_1 +libplank.so.1 plank-0.11.0_1 +libssh.so.4 libssh-0.9.5_2 +libxcb-render-util.so.0 xcb-util-renderutil-0.3.8_1 +libKPim5GAPIPeople.so.5 libkgapi-23.04.0_1 +libKPim5GAPIBlogger.so.5 libkgapi-23.04.0_1 +libKPim5GAPILatitude.so.5 libkgapi-23.04.0_1 +libKPim5GAPICalendar.so.5 libkgapi-23.04.0_1 +libKPim5GAPICore.so.5 libkgapi-23.04.0_1 +libKPim5GAPITasks.so.5 libkgapi-23.04.0_1 +libKPim5GAPIMaps.so.5 libkgapi-23.04.0_1 +libKPim5GAPIDrive.so.5 libkgapi-23.04.0_1 +libqoauth.so.2 qoauth-qt5-2.0.0_1 +libIrrlicht.so.1.8 irrlicht-1.8_1 +libsnappy.so.1 snappy-1.1.0_1 +libbenchmark.so.1 benchmark-1.5.5_1 +libbenchmark_main.so.1 benchmark-1.5.5_1 +libbemenu.so.0 bemenu-0.6.5_1 +libKF5Torrent.so.6 libktorrent-2.1_1 +libvncserver.so.1 libvncserver-0.9.13_2 +libvncclient.so.1 libvncserver-0.9.13_2 +libotr.so.5 libotr-4.0.0_1 +liballeg.so.4.4 allegro4-4.4.2_1 +liballeggl.so.4.4 allegro4-4.4.2_1 +libjpgalleg.so.4.4 allegro4-4.4.2_1 +libloadpng.so.4.4 allegro4-4.4.2_1 +liblogg.so.4.4 allegro4-4.4.2_1 +libraw1394.so.11 libraw1394-2.1.0_1 +libqmi-glib.so.5 libqmi-1.14.2_1 +libmbim-glib.so.4 libmbim-1.10.0_1 +libmm-glib.so.0 libmm-glib-1.0.0_1 +libgpm.so.2 libgpm-1.20.7_1 +libgdl-3.so.5 gdl-3.8.1_1 +libgda-5.0.so.4 libgda-5.2.9_4 +libgda-report-5.0.so.4 libgda-5.2.9_4 +libgda-ui-5.0.so.4 libgda-5.2.9_4 +libgda-xslt-5.0.so.4 libgda-5.2.9_4 +libamtk-5.so.0 amtk-5.0.0_1 +libdevhelp-3.so.6 devhelp-libs-3.30.0_1 +libunistring.so.2 libunistring-0.9.4_1 +libguile-2.2.so.1 libguile-2.2.7_1 +libopts.so.25 libopts-5.18.4_6 +libanjuta-3.so.0 anjuta-3.8.4_1 +libgmlib.so.1 gmtk-1.0.8_1 +libgmtk.so.1 gmtk-1.0.8_1 +libsilcclient-1.1.so.4 silc-toolkit-1.1.11_1 +libsilc-1.1.so.4 silc-toolkit-1.1.11_1 +libphorward.so.0 libphorward-0.17_1 +libusbip.so.0 libusbip-3.10_1 +libcpupower.so.0 libcpupower-3.10_1 +librsync.so.2 librsync-1.0.0_1 +libserf-1.so.1 serf-1.3.9_13 +libmpdclient.so.2 libmpdclient-0.28_1 +libmcrypt.so.4 libmcrypt-2.5.8_1 +libgraphite2.so.3 graphite-1.2.3_1 +libFOX-1.6.so.0 fox-1.6.49_1 +libCHART-1.6.so.0 fox-1.6.49_1 +libchromaprint.so.1 chromaprint-1.5.0_1 +libedit.so.0 libedit-20130712.3.1_1 +libnet.so.9 libnet-1.2_1 +libgpaste-2.so.0 libgpaste-42.1_1 +libgpaste-gtk-3.so.0 libgpaste-42.1_1 +libgpaste-gtk4.so.0 libgpaste-42.1_1 +libthreadutil.so.6 libupnp-1.6.18_1 +libupnp.so.17 libupnp-1.14.0_1 +libixml.so.11 libupnp-1.14.0_1 +libupnpp.so.12 libupnpp-0.22.2_1 +libgeocode-glib.so.0 geocode-glib-libsoup2-3.26.4_1 +libgeocode-glib-2.so.0 geocode-glib-3.26.4_2 +libzeitgeist-2.0.so.0 libzeitgeist2-0.9.14_1 +libpotrace.so.0 libpotrace-1.11_1 +libSDL2-2.0.so.0 SDL2-2.0.0_1 +libcacard.so.0 libcacard-1.6.1_1 +libxcb-cursor.so.0 xcb-util-cursor-0.1.0_1 +libgldi.so.3 libgldi-3.3.1_1 +libevdev.so.2 libevdev-1.2_1 +libgdiplus.so.0 libgdiplus-2.10.9_1 +libmonosgen-2.0.so.1 mono-3.2.3_1 +libshout-idjc.so.3 libshout-idjc-2.3.1_1 +libmonoboehm-2.0.so.1 mono-3.2.3_1 +libglusterfs.so.0 libglusterfs-8.3_2 +libgfdb.so.0 libglusterfs-8.3_2 +libgfchangelog.so.0 libglusterfs-8.3_2 +libgfrpc.so.0 libglusterfs-8.3_2 +libgfxdr.so.0 libglusterfs-8.3_2 +libgfapi.so.0 libglusterfs-8.3_2 +libglusterd.so.0 libglusterfs-8.3_2 +libsnapper.so.6 libsnapper-0.10.2_1 +libtsm.so.4 libtsm-4.0.2_1 +libxine.so.2 libxine-1.2.4_1 +libjbig2dec.so.0 libjbig2dec-0.11_1 +libsource-highlight.so.4 libsource-highlight-3.1.7_1 +libvlc.so.5 libvlc-2.1.1_3 +libvlccore.so.9 libvlc-3.0.2_1 +libvlc_vdpau.so.0 libvlc-2.2.0_1 +libvlc_pulse.so.0 libvlc-3.0.2_1 +libvlc_xcb_events.so.0 libvlc-3.0.2_1 +libcmocka.so.0 cmocka-1.1.1_1 +libbtrfs.so.0 libbtrfs-3.12_1 +libreiserfscore.so.0 reiserfsprogs-3.6.27_3 +libbtrfsutil.so.1 libbtrfsutil-5.4_1 +libecore_audio.so.1 efl-1.25.1_2 +libecore_con.so.1 efl-1.25.1_2 +libecore_evas.so.1 efl-1.25.1_2 +libecore_file.so.1 efl-1.25.1_2 +libecore_imf_evas.so.1 efl-1.25.1_2 +libecore_imf.so.1 efl-1.25.1_2 +libecore_input_evas.so.1 efl-1.25.1_2 +libecore_input.so.1 efl-1.25.1_2 +libecore_ipc.so.1 efl-1.25.1_2 +libecore.so.1 efl-1.25.1_2 +libecore_x.so.1 efl-1.25.1_2 +libecore_wl2.so.1 efl-1.25.1_2 +libecore_drm2.so.1 efl-1.25.1_2 +libedje.so.1 efl-1.25.1_2 +libeet.so.1 efl-1.25.1_2 +libeeze.so.1 efl-1.25.1_2 +libefreet_mime.so.1 efl-1.25.1_2 +libefreet.so.1 efl-1.25.1_2 +libefreet_trash.so.1 efl-1.25.1_2 +libeina.so.1 efl-1.25.1_2 +libeio.so.1 efl-1.25.1_2 +libeldbus.so.1 efl-1.25.1_2 +libelput.so.1 efl-1.25.1_2 +libembryo.so.1 efl-1.25.1_2 +libemotion.so.1 efl-1.25.1_2 +libeo.so.1 efl-1.25.1_2 +libethumb_client.so.1 efl-1.25.1_2 +libethumb.so.1 efl-1.25.1_2 +libevas.so.1 efl-1.25.1_2 +libefl.so.1 efl-1.25.1_2 +libefl_canvas_wl.so.1 efl-1.25.1_2 +libelua.so.1 efl-1.25.1_2 +libelocation.so.1 efl-1.25.1_2 +libelementary.so.1 efl-1.25.1_2 +libector.so.1 efl-1.25.1_2 +libemile.so.1 efl-1.25.1_2 +libcjs.so.0 cjs-2.0.0_1 +libmuffin.so.0 muffin-2.0.5_1 +libmuffin-cogl-pango-0.so.0 muffin-5.4.5_1 +libmuffin-cogl-path-0.so.0 muffin-5.4.5_1 +libmuffin-cogl-0.so.0 muffin-5.4.5_1 +libmuffin-clutter-0.so.0 muffin-5.4.5_1 +libcinnamon-desktop.so.4 cinnamon-desktop-2.0.4_1 +libcinnamon-control-center.so.1 libcinnamon-control-center-2.4.2_1 +libcvc.so.0 cinnamon-desktop-3.2.0_1 +libnemo-extension.so.1 libnemo-2.0.8_1 +libtimezonemap.so.1 libtimezonemap-0.4.6_1 +libxshmfence.so.1 libxshmfence-1.1_1 +libgoffice-0.10.so.10 goffice-0.10.9_1 +libc++.so.1 libcxx-3.4_1 +libopenobex.so.2 openobex-1.7.1_1 +libnotmuch.so.5 libnotmuch-0.25_1 +libatomic_ops_gpl.so.1 libatomic_ops-7.4.2_1 +libatomic_ops.so.1 libatomic_ops-7.4.2_1 +libbfb.so.1 libbfb-0.24.2_1 +libmulticobex.so.1 libmulticobex-0.24_1 +libobexftp.so.0 libobexftp-0.24_1 +libhunspell-1.7.so.0 libhunspell1.7-1.7.0_1 +libstdlog.so.0 liblogging-1.0.0_1 +liblogging-stdlog.so.0 liblogging-1.0.2_1 +libdom.so.0 libdom-0.0.1_1 +libslang.so.2 slang-2.2.4_1 +libtre.so.5 tre-0.8.0_1 +libktoblzcheck.so.1 ktoblzcheck-1.43_2 +libgwenhywfar.so.79 gwenhywfar-5.4.0_2 +libgwengui-gtk2.so.79 gwenhywfar-gtk-5.4.0_2 +libgwengui-gtk3.so.79 gwenhywfar-gtk3-5.4.0_2 +libgwengui-cpp.so.79 gwenhywfar-5.4.0_2 +libgwengui-qt5.so.79 gwenhywfar-qt5-5.4.0_2 +libaqbanking.so.44 aqbanking-6.0.0_1 +libaqnone.so.35 aqbanking-5.6.10_1 +libaqhbci.so.24 aqbanking-5.7.8_1 +libaqofxconnect.so.7 aqbanking-5.0.25_1 +libaqebics.so.0 aqbanking-5.0.25_1 +libaqbankingpp.so.0 aqbanking-5.0.25_1 +libxmlsec1.so.1 xmlsec1-1.2.31_2 +libxmlsec1-nss.so.1 xmlsec1-1.2.31_2 +libxmlsec1-openssl.so.1 xmlsec1-1.2.31_2 +libcheck.so.0 check-0.9.12_1 +liblxc.so.1 liblxc-4.0.6_2 +libtcmalloc.so.4 gperftools-2.1_1 +libaio.so.1 libaio-0.3.109_1 +libofx.so.7 libofx-0.10.1_1 +libsigsegv.so.2 libsigsegv-2.10_2 +libfprint.so.0 libfprint0-1.0_1 +libfprint-2.so.2 libfprint-1.90.7_1 +libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1 +libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1 +libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1 +libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1 +libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1 +libwx_base-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1 +libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1 +libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1 +libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1 +libmspack.so.0 libmspack-0.4alpha_1 +libslim.so.1.3.6 slim-1.3.6_1 +libmediaart-2.0.so.0 libmediaart-1.9.1_1 +libinput.so.10 libinput-1.2.0_1 +libuhttpmock-0.0.so.0 uhttpmock-0.2.0_1 +libgtkhex-4.so.1 libgtkhex-43.0_1 +libgdlmm-3.0.so.2 libgdlmm-3.7.3_1 +libdmraid.so.1 dmraid-1.0.0.rc16.3_5 +libdovecot.so.0 dovecot-2.3.13_3 +libdovecot-login.so.0 dovecot-2.3.13_3 +libdovecot-compression.so.0 dovecot-2.3.13_3 +libdovecot-sql.so.0 dovecot-2.3.13_3 +libdovecot-storage.so.0 dovecot-2.3.13_3 +libdovecot-lda.so.0 dovecot-2.3.13_3 +libwiretap.so.13 libwireshark-4.0.0_1 +libwireshark.so.16 libwireshark-4.0.0_1 +libwsutil.so.14 libwireshark-4.0.0_1 +libKPim5ContactEditor.so.5 akonadi-contacts-23.04.0_1 +libKPim5AkonadiContact.so.5 akonadi-contacts-23.04.0_1 +libKF5Prison.so.5 prison-5.43.0_1 +libKPim5AkonadiMime.so.5 akonadi-mime-23.04.0_1 +libKPim5Mime.so.5 kmime-23.04.0_1 +libKF5Kirigami2.so.5 kirigami2-5.47.0_1 +libtaskmanager.so.6 plasma-workspace-5.8.4_1 +libnotificationmanager.so.1 plasma-workspace-5.15.90_1 +libKPipeWire.so.5 kpipewire-5.26.0_1 +libKPipeWireRecord.so.5 kpipewire-5.27.0_1 +libKPipeWireDmaBuf.so.5 kpipewire-5.27.0_1 +libZXing.so.3 zxing-cpp-2.0.0_1 +libfreerdp-client2.so.2 libfreerdp-2.2.0_3 +libfreerdp2.so.2 libfreerdp-2.2.0_3 +libwinpr2.so.2 libfreerdp-2.2.0_3 +libwinpr-tools2.so.2 libfreerdp-2.2.0_3 +libfreerdp-core.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-channels.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-rail.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-kbd.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-utils.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-codec.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-gdi.so.1.0 libfreerdp-2.2.0_3 +libfreerdp-cache.so.1.0 libfreerdp-2.2.0_3 +libuwac0.so.0 libfreerdp-2.2.0_3 +libfreerdp-server2.so.2 libfreerdp-server-2.4.0_1 +libfreerdp-shadow-subsystem2.so.2 libfreerdp-server-2.4.0_1 +libfreerdp-shadow2.so.2 libfreerdp-server-2.4.0_1 +libcppunit-1.15.so.1 libcppunit-1.15.1_1 +libcalc.so.2.14.1.2 libcalc-2.14.1.2_1 +libcustcalc.so.2.14.1.2 libcalc-2.14.1.2_1 +libOgreMain.so.1.12.9 libogre-1.12.9_1 +libOgreBites.so.1.12.9 libogre-1.12.9_1 +libOgreOverlay.so.1.12.9 libogre-1.12.9_1 +libOgreProperty.so.1.12.9 libogre-1.12.9_1 +libOgreTerrain.so.1.12.9 libogre-1.12.9_1 +libOgreVolume.so.1.12.9 libogre-1.12.9_1 +libOgreRTShaderSystem.so.1.12.9 libogre-1.12.9_1 +libOgreMeshLodGenerator.so.1.12.9 libogre-1.12.9_1 +libOgrePaging.so.1.12.9 libogre-1.12.9_1 +libglut.so.3 libfreeglut-2.8.1_1 +libogmrip-gtk.so.1 ogmrip-1.0.0_1 +libogmdvd.so.1 ogmrip-1.0.0_1 +libogmjob.so.1 ogmrip-1.0.0_1 +libogmrip-mplayer.so.1 ogmrip-1.0.0_1 +libogmrip.so.1 ogmrip-1.0.0_1 +libogmrip-lavc.so.1 ogmrip-1.0.0_1 +libogmdvd-gtk.so.1 ogmrip-1.0.0_1 +libSDL2_image-2.0.so.0 SDL2_image-2.0.0_1 +liba2ps.so.1 liba2ps-4.14_1 +libplibul.so.1 plib-1.8.5_1 +libplibjs.so.1 plib-1.8.5_1 +libplibsl.so.1 plib-1.8.5_1 +libplibsm.so.1 plib-1.8.5_1 +libplibfnt.so.1 plib-1.8.5_1 +libplibpu.so.1 plib-1.8.5_1 +libplibsg.so.1 plib-1.8.5_1 +libplibssg.so.1 plib-1.8.5_1 +libplibpuaux.so.1 plib-1.8.5_1 +libplibssgaux.so.1 plib-1.8.5_1 +libplibnet.so.1 plib-1.8.5_1 +libplibpsl.so.1 plib-1.8.5_1 +libplibpw.so.1 plib-1.8.5_1 +libode.so.8 libode-0.16_1 +libosmocore.so.12 libosmocore-1.2.0_1 +libosmovty.so.4 libosmocore-0.10.2_1 +libosmosim.so.0 libosmocore-0.8.0_1 +libosmocodec.so.0 libosmocore-0.6.6_1 +libosmogsm.so.13 libosmocore-1.2.0_1 +libosmogb.so.9 libosmocore-1.2.0_1 +libosmoctrl.so.0 libosmocore-0.7.0_1 +libgtkglext-x11-1.0.so.0 gtkglext-1.2.0_4 +libgdkglext-x11-1.0.so.0 gtkglext-1.2.0_4 +libXaw3d.so.8 libXaw3d-1.6.2_1 +libshiboken2.so.5.15 libshiboken2-5.15.0_1 +libpyside2.so.5.15 libpyside2-python3-5.15.0_1 +libupsclient.so.6 libnetwork-ups-tools-2.8.0_1 +libnutclient.so.2 libnetwork-ups-tools-2.8.0_1 +libnutscan.so.2 libnetwork-ups-tools-2.8.0_1 +libsphinxad.so.0 sphinxbase-0.8_1 +libsphinxbase.so.1 sphinxbase-0.8_1 +libpocketsphinx.so.1 libpocketsphinx-0.8_3 +libcmuclmtk.so.0 libcmuclmtk-0.7_2 +libttsmimic.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_usenglish.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_grapheme_lang.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_indic_lang.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmulex.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_indic_lex.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_grapheme_lex.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_us_kal.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_time_awb.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_us_kal16.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_us_awb.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_us_rms.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_cmu_us_slt.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_vid_gb_ap.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_all_langs.so.0 mimic-1.2.0.2_1 +libttsmimic_lang_all_voices.so.0 mimic-1.2.0.2_1 +libtcmalloc_minimal.so.4 gperftools-2.1.90_1 +libtcmalloc_minimal_debug.so.4 gperftools-2.1.90_1 +libtcmalloc_debug.so.4 gperftools-2.1.90_1 +libprofiler.so.0 gperftools-2.1.90_1 +libtcmalloc_and_profiler.so.4 gperftools-2.1.90_1 +libIlmImf-2_4.so.24 libopenexr-2.4.0_1 +libIlmImfUtil-2_4.so.24 libopenexr-2.4.0_1 +libGraphicsMagick.so.3 libgraphicsmagick-1.3.19_1 +libGraphicsMagick++.so.12 libgraphicsmagick-1.3.22_1 +libGraphicsMagickWand.so.2 libgraphicsmagick-1.3.19_1 +liblensfun.so.1 lensfun-0.3.2_1 +libmitlm.so.1 mitlm-0.4.2_1 +libextractor.so.3 libextractor-1.1_1 +libextractor_common.so.1 libextractor-1.1_1 +libpano13.so.3 libpano13-2.9.19_1 +libubsan.so.1 libsanitizer-8.2.0_1 +libtsan.so.2 libsanitizer-12.2.0_1 +libasan.so.8 libsanitizer-12.2.0_1 +liblsan.so.0 libsanitizer-6.3.0_1 +libvtv.so.0 libvtv-6.3.0_1 +libatomic.so.1 libatomic-4.9.0_1 +libpcsclite.so.1 libpcsclite-1.8.11_1 +libpcscspy.so.0 libpcsclite-1.8.11_1 +libBulletDynamics.so.3.17 bullet-3.17_1 +libBulletCollision.so.3.17 bullet-3.17_1 +libLinearMath.so.3.17 bullet-3.17_1 +libBulletSoftBody.so.3.17 bullet-3.17_1 +libBullet3Common.so.3.17 bullet-3.17_1 +libinotifytools.so.0 libinotify-tools-3.14_2 +libfswatch.so.13 libfswatch-1.17.1_1 +libopensc.so.8 libopensc-0.22.0_1 +libSDL2_ttf-2.0.so.0 SDL2_ttf-2.0.12_1 +librtlsdr.so.0 librtlsdr-0.5.3_1 +libSDL2_mixer-2.0.so.0 SDL2_mixer-2.0.0_1 +libSDL2_net-2.0.so.0 SDL2_net-2.0.0_1 +libnxml.so.0 libnxml-0.18.3_1 +libmrss.so.0 libmrss-0.19.2_1 +libuv.so.1 libuv-1.0.0_1 +libXm.so.4 motif-2.3.8_1 +libMrm.so.4 motif-2.3.8_1 +libUil.so.4 motif-2.3.8_1 +libxmlsec1-gcrypt.so.1 xmlsec1-1.2.31_2 +libxmlsec1-gnutls.so.1 xmlsec1-1.2.31_2 +libefivar.so.1 libefivar-31_1 +libefiboot.so.1 libefivar-31_1 +libefisec.so.1 libefivar-38_1 +libportaudio.so.2 portaudio-19.20140130_1 +libportaudiocpp.so.0 portaudio-cpp-19.20140130_1 +libdar.so.6000 libdar-2.6.6_1 +libdar64.so.6000 libdar-2.6.6_1 +libpython3.so python3-3.9.2_2 +libpython3.11.so.1.0 python3-3.11.0_1 +libbrscandec2.so.1 brother-brscan3-0.2.11_2 +libpyglib-2.0-python.so.0 python-gobject2-2.28.6_11 +libxmlrpc_server_abyss.so.3 xmlrpc-c-1.51.06_2 +libxmlrpc++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_server.so.3 xmlrpc-c-1.51.06_2 +libxmlrpc_packetsocket.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc.so.3 xmlrpc-c-1.51.06_2 +libxmlrpc_util.so.4 xmlrpc-c-1.51.06_2 +libxmlrpc_abyss.so.3 xmlrpc-c-1.51.06_2 +libxmlrpc_server_abyss++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_cpp.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_client++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_server++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_server_cgi++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_server_pstream++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_client.so.3 xmlrpc-c-1.51.06_2 +libxmlrpc_util++.so.8 xmlrpc-c-1.51.06_2 +libxmlrpc_abyss++.so.8 xmlrpc-c-1.51.06_2 +libtelepathy-farstream.so.3 telepathy-farstream-0.6.0_6 +libnetpbm.so.11 libnetpbm-10.66.03_2 +libid3.so id3lib-3.8.3_7 +libid3-3.8.so.3 id3lib-3.8.3_7 +libgirara-gtk3.so.3 girara-0.2.8_1 +libjq.so.1 jq-1.6_2 +libcrypto.so.1.1 libcrypto1.1-1.1.1f_1 +libssl.so.1.1 libssl1.1-1.1.1f_1 +libvamp-hostsdk.so.3 libvamp-plugin-sdk-2.2_6 +libportmidi.so portmidi-217_1 +libWildMidi.so.2 libwildmidi-0.4.3_1 +libsox.so.3 sox-14.4.2_1 +libsoxr.so.0 libsoxr-0.1.2_1 +libsoxr-lsr.so.0 libsoxr-0.1.2_1 +libdumb.so.2 dumb-2.0.3_1 +libaldmb.so.2 aldumb-2.0.3_3 +libframe.so.6 frame-2.5.0_1 +libgrail.so.6 grail-3.1.0_1 +libgeis.so.1 geis-2.2.16_1 +libndp.so.0 libndp-1.3_1 +libepoxy.so.0 libepoxy-1.2_1 +libfakekey.so.0 libfakekey-0.1_1 +libsmartcols.so.1 libsmartcols-2.25_1 +libfdisk.so.1 libfdisk-2.26_1 +libspiro.so.1 libspiro-20190731_1 +libopenjp2.so.7 libopenjpeg2-2.1.0_1 +libcln.so.6 cln-1.3.3_1 +libchm.so.0 libchmlib-0.40_1 +libOkular5Core.so.10 libokular-22.04.1_1 +libmnl.so.0 libmnl-1.0.3_1 +libnftnl.so.11 libnftnl-1.1.2_1 +libfcgi.so.0 fcgi-2.4.0_2 +libdshconfig.so.1 libdshconfig-0.20.13_1 +libpar2.so.1 libpar2-0.4_1 +libsodium.so.23 libsodium-1.0.15_1 +libstrophe.so.0 libstrophe-0.10.1_2 +libganv-1.so.1 ganv-1.4.2_1 +libblas.so.3 blas-3.5.0_1 +libcblas.so.3 cblas-3.6.0_1 +liblapack.so.3 lapack-3.5.0_1 +libcinnamon-menu-3.so.0 cinnamon-menus-2.2.0_1 +libmate-desktop-2.so.17 mate-desktop-1.8.0_1 +libmarco-private.so.2 libmarco-1.22.2_1 +libmate-menu.so.2 mate-menus-1.8.0_1 +libcaja-extension.so.1 libcaja-1.8.1_1 +libmatekbd.so.4 libmatekbd-1.8.0_1 +libmatemixer.so.0 libmatemixer-1.10.0_1 +libmatekbdui.so.4 libmatekbd-1.8.0_1 +libmate-window-settings.so.1 libmate-control-center-1.8.1_1 +libmateweather.so.1 libmateweather-1.8.0_1 +libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1 +libslab.so.0 libmate-control-center-1.8.2_1 +liblz4.so.1 liblz4-1.8.2_1 +libdxcompiler.so.3.7 DirectXShaderCompiler-1.7.2207_1 +libatrilview.so.3 libatril-1.8.0_1 +libatrildocument.so.3 libatril-1.8.0_1 +libjawt.so openjdk8-jre-8u20_2 +libawt.so openjdk8-jre-8u20_1 +libawt_xawt.so openjdk8-jre-8u20_1 +libjava.so openjdk8-jre-8u20_1 +libjli.so openjdk8-jre-8u20_1 +libjvm.so openjdk8-jre-8u20_1 +libjawt.so openjdk11-jre-11.0.5+10_1 +libawt.so openjdk11-jre-11.0.5+10_1 +libawt_xawt.so openjdk11-jre-11.0.5+10_1 +libjava.so openjdk11-jre-11.0.5+10_1 +libjli.so openjdk11-jre-11.0.5+10_1 +libjvm.so openjdk11-jre-11.0.5+10_1 +libjawt.so openjdk7-bootstrap-7u221b02_1 +libawt.so openjdk7-bootstrap-7u221b02_1 +libawt_xawt.so openjdk7-bootstrap-7u221b02_1 +libjava.so openjdk7-bootstrap-7u221b02_1 +libjli.so openjdk7-bootstrap-7u221b02_1 +libjvm.so openjdk7-bootstrap-7u221b02_1 +libjawt.so openjdk9-bootstrap-9.0.4p12_1 +libawt.so openjdk9-bootstrap-9.0.4p12_1 +libawt_xawt.so openjdk9-bootstrap-9.0.4p12_1 +libjava.so openjdk9-bootstrap-9.0.4p12_1 +libjli.so openjdk9-bootstrap-9.0.4p12_1 +libjvm.so openjdk9-bootstrap-9.0.4p12_1 +libjawt.so openjdk10-bootstrap-10.0.2p13_1 +libawt.so openjdk10-bootstrap-10.0.2p13_1 +libawt_xawt.so openjdk10-bootstrap-10.0.2p13_1 +libjava.so openjdk10-bootstrap-10.0.2p13_1 +libjli.so openjdk10-bootstrap-10.0.2p13_1 +libjvm.so openjdk10-bootstrap-10.0.2p13_1 +libjawt.so mandrel-21.1.0.0_1 +libawt.so mandrel-21.1.0.0_1 +libawt_xawt.so mandrel-21.1.0.0_1 +libjava.so mandrel-21.1.0.0_1 +libjli.so mandrel-21.1.0.0_1 +libjvm.so mandrel-21.1.0.0_1 +libucl.so.5 libucl-0.8.1_6 +libhandle.so.1 xfsprogs-3.2.1_1 +libnfnetlink.so.0 libnfnetlink-1.0.1_1 +libnetfilter_log.so.1 libnetfilter_log-1.0.1_1 +libnetfilter_log_libipulog.so.1 libnetfilter_log-1.0.1_1 +libnetfilter_acct.so.1 libnetfilter_acct-1.0.2_1 +libnetfilter_conntrack.so.3 libnetfilter_conntrack-1.0.4_1 +libmsgpack.so.4 msgpack-1.1.0_1 +libmsgpackc.so.2 msgpack-1.1.0_1 +libewf.so.3 libewf-20171104_1 +libcupsfilters.so.1 libcups-filters-1.0.67_3 +libfontembed.so.1 libcups-filters-1.17.5_1 +libjemalloc.so.2 jemalloc-4.0.0_1 +liblucene++.so.0 Lucene++-3.0.6_1 +liblucene++-contrib.so.0 Lucene++-3.0.6_1 +libeolian.so.1 efl-1.25.1_2 +libecore_avahi.so.1 efl-1.25.1_2 +libephysics.so.1 efl-1.25.1_2 +libgunicode.so.5 fontforge-2.0.20190317_1 +libgutils.so.3 fontforge-2.0.20190317_1 +libgioftp.so.2 fontforge-2.0.20140101_3 +libfontforge.so.4 fontforge-20200314_1 +libgdraw.so.6 fontforge-2.0.20190317_1 +libfontforgeexe.so.3 fontforge-2.0.20190317_1 +libwraster.so.6 WindowMaker-0.95.8_1 +libWUtil.so.5 WindowMaker-0.95.6_3 +libWINGs.so.3 WindowMaker-0.95.6_3 +libWMaker.so.1 WindowMaker-0.95.6_3 +librevenge-0.0.so.0 librevenge-0.0.1_1 +librevenge-generators-0.0.so.0 librevenge-0.0.1_1 +librevenge-stream-0.0.so.0 librevenge-0.0.1_1 +libepubgen-0.1.so.1 libepubgen-0.1.0_1 +libqxp-0.0.so.0 libqxp-0.0.1_1 +libetonyek-0.1.so.1 libetonyek-0.1.1_1 +libodfgen-0.1.so.1 libodfgen-0.1.1_1 +libKF5SonnetUi.so.5 sonnet-5.26.0_1 +libKF5SonnetCore.so.5 sonnet-5.26.0_1 +libcdr-0.1.so.1 libcdr-0.1.0_1 +libmspub-0.1.so.1 libmspub-0.1.1_1 +libvisio-0.1.so.1 libvisio-0.1.0_1 +libwpd-0.10.so.10 libwpd-0.10.0_1 +libwps-0.4.so.4 libwps-0.4.3_1 +libwpg-0.3.so.3 libwpg-0.3.0_1 +libvigraimpex.so.11 vigra-1.11.0_1 +libhyphen.so.0 hyphen-2.8.8_1 +libmythes-1.2.so.0 mythes-1.2.4_1 +liblpsolve55.so lpsolve-5.5.2.0_1 +liblangtag.so.1 liblangtag-0.5.4_1 +liblangtag-gobject.so.0 liblangtag-0.5.4_1 +libexttextcat-2.0.so.0 libexttextcat-3.4.3_1 +libledger.so.3 libledger-3.1_1 +libksba.so.8 libksba-1.3.1_1 +libgltf-0.0.so.0 libgltf-0.0.2_1 +libgltf-0.1.so.1 libgltf-0.1.0_1 +libabw-0.1.so.1 libabw-0.1.0_1 +libcmis-0.5.so.5 libcmis-0.5.0_1 +libcmis-c-0.5.so.5 libcmis-0.5.0_1 +libQt5Bluetooth.so.5 qt5-connectivity-5.15.2_3 +libQt53DAnimation.so.5 qt5-3d-5.15.2_3 +libQt53DCore.so.5 qt5-3d-5.15.2_3 +libQt53DInput.so.5 qt5-3d-5.15.2_3 +libQt53DLogic.so.5 qt5-3d-5.15.2_3 +libQt53DRender.so.5 qt5-3d-5.15.2_3 +libQt53DQuick.so.5 qt5-3d-5.15.2_3 +libQt53DQuickInput.so.5 qt5-3d-5.15.2_3 +libQt53DQuickRender.so.5 qt5-3d-5.15.2_3 +libQt53DQuickScene2D.so.5 qt5-3d-5.15.2_3 +libQt53DExtras.so.5 qt5-3d-5.15.2_3 +libQt53DQuickExtras.so.5 qt5-3d-5.15.2_3 +libQt53DQuickAnimation.so.5 qt5-3d-5.15.2_3 +libQt5Charts.so.5 qt5-charts-5.15.2_3 +libQt5DataVisualization.so.5 qt5-datavis3d-5.15.2_3 +libQt5Gamepad.so.5 qt5-gamepad-5.15.2_3 +libQt5Nfc.so.5 qt5-connectivity-5.15.2_3 +libQt5WebView.so.5 qt5-webview-5.15.0_1 +libQt5Qml.so.5 qt5-declarative-5.15.2_3 +libQt5QmlDevTools.so.5 qt5-declarative-5.15.2_3 +libQt5Quick.so.5 qt5-declarative-5.15.2_3 +libQt5QuickTest.so.5 qt5-declarative-5.15.2_3 +libQt5QuickWidgets.so.5 qt5-declarative-5.15.2_3 +libQt5QuickParticles.so.5 qt5-declarative-5.15.2_3 +libQt5QuickShapes.so.5 qt5-declarative-5.15.2_3 +libQt5QmlModels.so.5 qt5-declarative-5.15.2_3 +libQt5QmlWorkerScript.so.5 qt5-declarative-5.15.2_3 +libQt5QuickControls2.so.5 qt5-quickcontrols2-5.15.2_3 +libQt5QuickTemplates2.so.5 qt5-quickcontrols2-5.15.2_3 +libQt5Positioning.so.5 qt5-location-5.15.2_3 +libQt5Location.so.5 qt5-location-5.15.2_3 +libQt5PositioningQuick.so.5 qt5-location-5.15.2_3 +libQt5VirtualKeyboard.so.5 qt5-virtualkeyboard-5.15.2_3 +libQt5Multimedia.so.5 qt5-multimedia-5.15.2_3 +libQt5MultimediaGstTools.so.5 qt5-multimedia-5.15.2_3 +libQt5MultimediaQuick.so.5 qt5-multimedia-5.15.2_3 +libQt5MultimediaQuick_p.so.5 qt5-multimedia-5.15.2_3 +libQt5MultimediaWidgets.so.5 qt5-multimedia-5.15.2_3 +libQt5NetworkAuth.so.5 qt5-networkauth-5.15.2_3 +libQt5Purchasing.so.5 qt5-purchasing-5.15.2_3 +libQt5RemoteObjects.so.5 qt5-remoteobjects-5.15.2_3 +libqgsttools_p.so.1 qt5-multimedia-5.15.2_3 +libQt5LabsTemplates.so.5 qt5-quickcontrols2-5.15.2_3 +libQt5Scxml.so.5 qt5-scxml-5.15.2_3 +libQt5Script.so.5 qt5-script-5.15.2_3 +libQt5ScriptTools.so.5 qt5-script-5.15.2_3 +libQt5Sensors.so.5 qt5-sensors-5.15.2_3 +libQt5SerialBus.so.5 qt5-serialbus-5.15.2_3 +libQt5SerialPort.so.5 qt5-serialport-5.15.2_3 +libQt5Svg.so.5 qt5-svg-5.15.2_3 +libQt5CLucene.so.5 qt5-tools-5.15.2_3 +libQt5Help.so.5 qt5-tools-5.15.2_3 +libQt5Designer.so.5 qt5-tools-5.15.2_3 +libQt5DesignerComponents.so.5 qt5-tools-5.15.2_3 +libQt5WaylandClient.so.5 qt5-wayland-5.15.2_3 +libQt5WaylandCompositor.so.5 qt5-wayland-5.15.2_3 +libQt5WebChannel.so.5 qt5-webchannel-5.15.2_3 +libQt5WebEngineCore.so.5 qt5-webengine-5.15.0_1 +libQt5WebEngine.so.5 qt5-webengine-5.15.0_1 +libQt5WebEngineWidgets.so.5 qt5-webengine-5.15.0_1 +libQt5WebSockets.so.5 qt5-websockets-5.15.2_3 +libQt5X11Extras.so.5 qt5-x11extras-5.15.2_3 +libQt5XmlPatterns.so.5 qt5-xmlpatterns-5.15.2_3 +libQt5Core.so.5 qt5-core-5.15.2_3 +libQt5EglFSDeviceIntegration.so.5 qt5-gui-5.15.2_3 +libQt5Network.so.5 qt5-network-5.15.2_3 +libQt5Sql.so.5 qt5-sql-5.15.2_3 +libQt5Xml.so.5 qt5-xml-5.15.2_3 +libQt5Gui.so.5 qt5-gui-5.15.2_3 +libQt5Widgets.so.5 qt5-widgets-5.15.2_3 +libQt5Test.so.5 qt5-test-5.15.2_3 +libQt5DBus.so.5 qt5-dbus-5.15.2_3 +libQt5Concurrent.so.5 qt5-concurrent-5.15.2_3 +libQt5OpenGL.so.5 qt5-opengl-5.15.2_3 +libQt5PrintSupport.so.5 qt5-printsupport-5.15.2_3 +libQt5XcbQpa.so.5 qt5-gui-5.15.2_3 +libQt5EglDeviceIntegration.so.5 qt5-gui-5.15.2_3 +libQt5EglFsKmsSupport.so.5 qt5-gui-5.15.2_3 +libQt5TextToSpeech.so.5 qt5-speech-5.15.2_3 +libQt5Bodymovin.so.5 qt5-lottie-5.15.2_3 +libQt5WebKit.so.5 qt5-webkit-5.6.0_1 +libQt5WebKitWidgets.so.5 qt5-webkit-5.6.0_1 +libx265.so.199 x265-3.5_1 +libQt5Xdg.so.3 libqtxdg-3.1.0_1 +libQt5XdgIconLoader.so.3 libqtxdg-3.1.0_1 +libqwt.so.6.2 qwt-6.2.0_1 +liblxqt-qt5.so.0 liblxqt-0.8.0_1 +liblxqt-globalkeys-qt5.so.0 lxqt-globalkeys-0.8.0_1 +liblxqt-globalkeys-ui-qt5.so.0 lxqt-globalkeys-0.8.0_1 +libsysstat-qt5.so.0 libsysstat-0.3.2_1 +libpolkit-qt5-agent-1.so.1 polkit-qt5-0.112.0_1 +libpolkit-qt5-gui-1.so.1 polkit-qt5-0.112.0_1 +libpolkit-qt5-core-1.so.1 polkit-qt5-0.112.0_1 +libfm-qt.so.13 libfm-qt-1.3.0_1 +libqtermwidget5.so.1 qtermwidget-1.0.0_1 +libQt6Core.so.6 qt6-core-6.0.0_1 +libQt6OpenGL.so.6 qt6-gui-6.0.0_1 +libQt6DBus.so.6 qt6-dbus-6.0.0_1 +libQt6PrintSupport.so.6 qt6-printsupport-6.0.0_1 +libQt6Concurrent.so.6 qt6-concurrent-6.0.0_1 +libQt6Widgets.so.6 qt6-widgets-6.0.0_1 +libQt6Network.so.6 qt6-network-6.0.0_1 +libQt6Sql.so.6 qt6-sql-6.0.0_1 +libQt6Xml.so.6 qt6-xml-6.0.0_1 +libQt6Gui.so.6 qt6-gui-6.0.0_1 +libQt6XcbQpa.so.6 qt6-gui-6.0.0_1 +libQt6EglFSDeviceIntegration.so.6 qt6-gui-6.0.0_1 +libQt6EglFsKmsSupport.so.6 qt6-gui-6.0.0_1 +libQt6EglFsKmsGbmSupport.so.6 qt6-gui-6.0.0_1 +libQt6OpenGLWidgets.so.6 qt6-opengl-widgets-6.0.0_1 +libQt6Test.so.6 qt6-test-6.0.0_1 +libQt6WaylandCompositor.so.6 qt6-wayland-6.0.0_1 +libQt6WaylandClient.so.6 qt6-wayland-6.0.0_1 +libQt6Core5Compat.so.6 qt6-qt5compat-6.0.0_1 +libQt6Svg.so.6 qt6-svg-6.0.0_1 +libQt6SvgWidgets.so.6 qt6-svg-6.0.0_1 +libQt6Qml.so.6 qt6-declarative-6.0.0_1 +libQt6LabsAnimation.so.6 qt6-declarative-6.1.0_1 +libQt6LabsFolderListModel.so.6 qt6-declarative-6.1.0_1 +libQt6LabsQmlModels.so.6 qt6-declarative-6.1.0_1 +libQt6LabsSettings.so.6 qt6-declarative-6.1.0_1 +libQt6LabsSharedImage.so.6 qt6-declarative-6.1.0_1 +libQt6LabsWavefrontMesh.so.6 qt6-declarative-6.1.0_1 +libQt6QmlLocalStorage.so.6 qt6-declarative-6.1.0_1 +libQt6QmlWorkerScript.so.6 qt6-declarative-6.0.0_1 +libQt6QuickTest.so.6 qt6-quick-test-6.4.2_1 +libQt6QuickShapes.so.6 qt6-declarative-6.0.0_1 +libQt6QuickWidgets.so.6 qt6-declarative-6.0.0_1 +libQt6Quick.so.6 qt6-declarative-6.0.0_1 +libQt6QmlModels.so.6 qt6-declarative-6.0.0_1 +libQt6QuickLayouts.so.6 qt6-declarative-6.1.0_1 +libQt6QuickParticles.so.6 qt6-declarative-6.0.0_1 +libQt6QmlCompiler.so.6 qt6-declarative-6.4.0_1 +libQt6ShaderTools.so.6 libqt6shadertools-6.4.2_1 +libQt6Quick3D.so.6 qt6-quick3d-6.0.0_1 +libQt6Quick3DRuntimeRender.so.6 qt6-quick3d-6.0.0_1 +libQt6Quick3DUtils.so.6 qt6-quick3d-6.0.0_1 +libQt6Quick3DAssetImport.so.6 qt6-quick3d-6.0.0_1 +libQt6Quick3DIblBaker.so.6 qt6-quick3d-6.0.3_1 +libQt6Quick3DParticles.so.6 qt6-quick3d-6.1.0_1 +libQt6Quick3DGlslParser.so.6 qt6-quick3d-6.3.0_1 +libQt6Quick3DAssetUtils.so.6 qt6-quick3d-6.1.0_1 +libQt6QuickTimeline.so.6 qt6-quicktimeline-6.3.0_1 +libQt6QuickControls2Impl.so.6 qt6-declarative-6.0.0_1 +libQt6QuickControls2.so.6 qt6-declarative-6.0.0_1 +libQt6QuickTemplates2.so.6 qt6-declarative-6.0.0_1 +libQt6NetworkAuth.so.6 qt6-networkauth-6.1.0rc2_1 +libQt6ScxmlQml.so.6 qt6-scxml-6.1.0rc2_1 +libQt6Scxml.so.6 qt6-scxml-6.1.0rc2_1 +libQt6StateMachine.so.6 qt6-scxml-6.1.0rc2_1 +libQt6StateMachineQml.so.6 qt6-scxml-6.1.0rc2_1 +libQt6Bodymovin.so.6 qt6-lottie-6.1.0rc2_1 +libQt63DQuickAnimation.so.6 qt6-3d-6.1.0rc2_1 +libQt63DQuickRender.so.6 qt6-3d-6.1.0rc2_1 +libQt63DExtras.so.6 qt6-3d-6.1.0rc2_1 +libQt63DQuickInput.so.6 qt6-3d-6.1.0rc2_1 +libQt63DCore.so.6 qt6-3d-6.1.0rc2_1 +libQt63DQuickScene2D.so.6 qt6-3d-6.1.0rc2_1 +libQt63DLogic.so.6 qt6-3d-6.1.0rc2_1 +libQt63DRender.so.6 qt6-3d-6.1.0rc2_1 +libQt63DAnimation.so.6 qt6-3d-6.1.0rc2_1 +libQt63DQuickExtras.so.6 qt6-3d-6.1.0rc2_1 +libQt63DInput.so.6 qt6-3d-6.1.0rc2_1 +libQt63DQuick.so.6 qt6-3d-6.1.0rc2_1 +libQt6Charts.so.6 qt6-charts-6.1.0rc2_1 +libQt6Designer.so.6 qt6-designer-6.4.2_1 +libQt6DesignerComponents.so.6 qt6-designer-6.4.2_1 +libQt6Help.so.6 qt6-help-6.4.2_1 +libQt6UiTools.so.6 qt6-ui-tools-6.4.2_1 +libQt6Nfc.so.6 qt6-connectivity-6.3.1_1 +libQt6Bluetooth.so.6 qt6-connectivity-6.3.1_1 +libQt6RemoteObjects.so.6 qt6-remoteobjects-6.3.1_1 +libQt6RemoteObjectsQml.so.6 qt6-remoteobjects-6.3.1_1 +libQt6Sensors.so.6 qt6-sensors-6.3.1_1 +libQt6SensorsQuick.so.6 qt6-sensors-6.3.1_1 +libQt6HunspellInputMethod.so.6 qt6-virtualkeyboard-6.1.0_1 +libQt6VirtualKeyboard.so.6 qt6-virtualkeyboard-6.1.0_1 +libQt6SerialPort.so.6 qt6-serialport-6.2.0alpha_1 +libQt6WebSockets.so.6 qt6-websockets-6.2.0alpha_1 +libQt6WebChannel.so.6 qt6-webchannel-6.2.0alpha_1 +libQt6Positioning.so.6 qt6-location-6.2.0alpha_1 +libQt6MultimediaWidgets.so.6 qt6-multimedia-6.3.1_1 +libQt6MultimediaQuick.so.6 qt6-multimedia-6.3.1_1 +libQt6Multimedia.so.6 qt6-multimedia-6.3.1_1 +libQt6SpatialAudio.so.6 qt6-multimedia-6.3.1_1 +libQt6WebEngineQuick.so.6 qt6-webengine-6.3.1_1 +libQt6PdfWidgets.so.6 qt6-webengine-6.3.1_1 +libQt6PdfQuick.so.6 qt6-webengine-6.3.1_1 +libQt6WebEngineCore.so.6 qt6-webengine-6.3.1_1 +libQt6Pdf.so.6 qt6-webengine-6.3.1_1 +libQt6WebEngineQuickDelegatesQml.so.6 qt6-webengine-6.3.1_1 +libQt6WebEngineWidgets.so.6 qt6-webengine-6.3.1_1 +libnpth.so.0 npth-1.1_1 +libnpupnp.so.9 libnpupnp-5.0.0_1 +libglfw.so.3 glfw-3.0.4_1 +libusbmuxd-2.0.so.6 libusbmuxd-2.0.2_1 +libimobiledevice-1.0.so.6 libimobiledevice-1.3.0_2 +libstfl.so.0 stfl-0.23_1 +libCDApplet.so cairo-dock-plugins-3.4.0_1 +libldns.so.3 libldns-1.7.1_4 +libopenjpeg.so.5 libopenjpeg-1.5.2_1 +liboping.so.0 liboping-1.8.0_1 +libloudmouth-1.so.0 loudmouth-1.5.3_12 +libtorrent-rasterbar.so.10 libtorrent-rasterbar-1.2.18_1 +libcapstone.so.4 capstone-4.0_1 +libhavege.so.2 libhaveged-1.9.11_1 +libnih.so.1 libnih-1.0.3_1 +libnih-dbus.so.1 libnih-1.0.3_1 +libopencv_quality.so.406 libopencv-4.6.0_1 +libopencv_reg.so.406 libopencv-4.6.0_1 +libopencv_surface_matching.so.406 libopencv-4.6.0_1 +libopencv_xphoto.so.406 libopencv-4.6.0_1 +libopencv_freetype.so.406 libopencv-4.6.0_1 +libopencv_fuzzy.so.406 libopencv-4.6.0_1 +libopencv_hfs.so.406 libopencv-4.6.0_1 +libopencv_img_hash.so.406 libopencv-4.6.0_1 +libopencv_line_descriptor.so.406 libopencv-4.6.0_1 +libopencv_saliency.so.406 libopencv-4.6.0_1 +libopencv_structured_light.so.406 libopencv-4.6.0_1 +libopencv_aruco.so.406 libopencv-4.6.0_1 +libopencv_bgsegm.so.406 libopencv-4.6.0_1 +libopencv_bioinspired.so.406 libopencv-4.6.0_1 +libopencv_ccalib.so.406 libopencv-4.6.0_1 +libopencv_face.so.406 libopencv-4.6.0_1 +libopencv_tracking.so.406 libopencv-4.6.0_1 +libopencv_xfeatures2d.so.406 libopencv-4.6.0_1 +libopencv_optflow.so.406 libopencv-4.6.0_1 +libopencv_ximgproc.so.406 libopencv-4.6.0_1 +libopencv_plot.so.406 libopencv-4.6.0_1 +libopencv_text.so.406 libopencv-4.6.0_1 +libopencv_ml.so.406 libopencv-4.6.0_1 +libopencv_objdetect.so.406 libopencv-4.6.0_1 +libopencv_dnn.so.406 libopencv-4.6.0_1 +libopencv_shape.so.406 libopencv-4.6.0_1 +libopencv_stitching.so.406 libopencv-4.6.0_1 +libopencv_photo.so.406 libopencv-4.6.0_1 +libopencv_video.so.406 libopencv-4.6.0_1 +libopencv_calib3d.so.406 libopencv-4.6.0_1 +libopencv_features2d.so.406 libopencv-4.6.0_1 +libopencv_flann.so.406 libopencv-4.6.0_1 +libopencv_highgui.so.406 libopencv-4.6.0_1 +libopencv_videoio.so.406 libopencv-4.6.0_1 +libopencv_imgcodecs.so.406 libopencv-4.6.0_1 +libopencv_imgproc.so.406 libopencv-4.6.0_1 +libopencv_core.so.406 libopencv-4.6.0_1 +libopencv_superres.so.406 libopencv-4.6.0_1 +libopencv_videostab.so.406 libopencv-4.6.0_1 +libopencv_gapi.so.406 libopencv-4.6.0_1 +libopencv_xobjdetect.so.406 libopencv-4.6.0_1 +libopencv_datasets.so.406 libopencv-4.6.0_1 +libopencv_dnn_objdetect.so.406 libopencv-4.6.0_1 +libopencv_dnn_superres.so.406 libopencv-4.6.0_1 +libopencv_dpm.so.406 libopencv-4.6.0_1 +libopencv_phase_unwrapping.so.406 libopencv-4.6.0_1 +libopencv_stereo.so.406 libopencv-4.6.0_1 +libopencv_rapid.so.406 libopencv-4.6.0_1 +libopencv_intensity_transform.so.406 libopencv-4.6.0_1 +libopencv_alphamat.so.406 libopencv-4.6.0_1 +libopencv_barcode.so.406 libopencv-4.6.0_1 +libopencv_mcc.so.406 libopencv-4.6.0_1 +libuniconf.so.4.6 wvstreams-4.6.1_20 +libwvbase.so.4.6 wvstreams-4.6.1_20 +libwvutils.so.4.6 wvstreams-4.6.1_20 +libwvstreams.so.4.6 wvstreams-4.6.1_20 +libespeak-ng.so.1 libespeak-ng-1.50_1 +libKF5Plotting.so.5 kplotting-5.26.0_1 +libpgf.so.6 libpgf-6.14.12_1 +libqhull_r.so.8.0 libqhull-2020.2_1 +libqhull.so.8.0 libqhull-2020.2_1 +libKF5NetworkManagerQt.so.6 networkmanager-qt5-5.26.0_1 +libfcitx-core.so.0 libfcitx-4.2.8_1 +libfcitx-gclient.so.1 libfcitx-4.2.9.5_1 +libfcitx-utils.so.0 libfcitx-4.2.8_1 +libfcitx-config.so.4 libfcitx-4.2.8_1 +libFcitxQt5DBusAddons.so.1 libfcitx-qt5-1.2.1_1 +libFcitxQt5WidgetsAddons.so.1 libfcitx-qt5-1.2.1_1 +libfcitx-qt5.so.0 libfcitx-qt5-0.1.3_1 +libFcitx5Utils.so.2 libfcitx5-5.0.5_1 +libFcitx5Core.so.7 libfcitx5-5.0.5_1 +libFcitx5Config.so.6 libfcitx5-5.0.5_1 +libFcitx5GClient.so.2 fcitx5-gtk-5.0.4_1 +libFcitx5Qt5DBusAddons.so.1 fcitx5-qt5-5.0.3_1 +libFcitx5Qt5WidgetsAddons.so.2 fcitx5-qt5-5.0.3_1 +libdruntime-ldc-debug-shared.so.101 ldc-runtime-1.31.0_1 +libdruntime-ldc-shared.so.101 ldc-runtime-1.31.0_1 +libphobos2-ldc-shared.so.101 ldc-runtime-1.31.0_1 +libphobos2-ldc-debug-shared.so.101 ldc-runtime-1.31.0_1 +libmarblewidget-qt5.so.28 marble5-17.12.2_1 +libastro.so.2 marble5-17.12.2_1 +libparrot.so.6.9.0 parrot-6.9.0_1 +libssr-glinject.so ssr-0.3.1_1 +libgdict-1.0.so.10 gnome-dictionary-3.18.1_1 +libasignify.so.1 asignify-1.0_1 +libd0_blind_id.so.0 xonotic-0.8.0_1 +libuecc.so.0 libuecc-5_1 +libKF5WindowSystem.so.5 kwindowsystem-5.6.0_1 +libKF5GuiAddons.so.5 kguiaddons-5.6.0_1 +libLayerShellQtInterface.so.5 layer-shell-qt-5.21.90_1 +liblxqt.so.1 liblxqt-1.0.0_1 +liblxqt-globalkeys.so.1 lxqt-globalkeys-1.0.0_1 +liblxqt-globalkeys-ui.so.1 lxqt-globalkeys-1.0.0_1 +libenet.so.7 libenet-1.3.12_1 +librrd.so.8 rrdtool-1.6.0_1 +librrd_th.so.4 rrdtool-1.4.9_1 +libmosquitto.so.1 libmosquitto-1.6.3_5 +libmosquittopp.so.1 libmosquittopp-1.6.3_5 +libmpv.so.2 mpv-0.35.0_1 +libmbedtls.so.12 mbedtls-2.13.1_1 +libmbedcrypto.so.3 mbedtls-2.9.0_1 +libmbedx509.so.0 mbedtls-2.9.0_1 +libdmtx.so.0 libdmtx-0.7.4_1 +libdbus-c++-1.so.0 libdbus-c++-0.9.0_1 +libdbus-c++-glib-1.so.0 libdbus-c++-0.9.0_1 +libpagemaker-0.0.so.0 libpagemaker-0.0.2_1 +libKF5CddbWidgets.so.5 libkcddb-17.08.2_1 +libKF5Cddb.so.5 libkcddb-17.08.2_1 +libk3bdevice.so.8 k3b-22.12.1_1 +libk3blib.so.8 k3b-22.12.1_1 +libsndio.so.7 libsndio-1.7.0_1 +libopenconnect.so.5 openconnect-7.05_1 +libusbredirparser.so.1 usbredir-0.7_1 +libusbredirhost.so.1 usbredir-0.7_1 +libprotobuf-c.so.1 protobuf-c-1.1.0_1 +libutf8proc.so.2 libutf8proc-2.2.0_1 +libnsutils.so.0 libnsutils-0.0.1_1 +libtoxcore.so.2 toxcore-0.2.0_1 +libgom-1.0.so.0 gom-0.3.0_1 +libetpan.so.20 libetpan-1.9.3_4 +libxmp.so.4 libxmp-4.3.7_1 +libKF5ThreadWeaver.so.5 threadweaver-5.26.0_1 +libOpenImageIO_Util.so.2.4 openimageio-2.4.9.0_1 +libOpenImageIO.so.2.4 openimageio-2.4.9.0_1 +libOpenColorIO.so.2.1 opencolorio-2.1.2_1 +libpystring.so.1 pystring-1.1.3_1 +libyaml-cpp.so.0.7 yaml-cpp-0.7.0_1 +libpaper.so.1 libpaper-1.1.24_1 +libhtsjava.so.2 httrack-3.49.2_7 +libhttrack.so.2 httrack-3.49.2_7 +libbg.so.2 bglibs-2.03_3 +libcvm-command.so.1 cvm-0.97_1 +libcvm-local.so.1 cvm-0.97_1 +libcvm-module.so.1 cvm-0.97_1 +libcvm-qmail.so.1 cvm-0.97_1 +libcvm-sasl.so.1 cvm-0.97_1 +libcvm-sql.so.1 cvm-0.97_1 +libcvm-udp.so.1 cvm-0.97_1 +libcvm-v1client.so.1 cvm-0.97_1 +libcvm-v2client.so.1 cvm-0.97_1 +libudns.so.0 udns-0.4_1 +libcriu.so.2 criu-3.13_2 +libcompel.so.1 criu-3.13_2 +libwebsockets.so.19 libwebsockets-4.3.2_1 +libnfc.so.6 libnfc-1.8.0_1 +libfuzzy.so.2 libfuzzy-2.12_1 +libSDL_gfx.so.15 SDL_gfx-2.0.25_2 +libsfml-network.so.2.5 SFML-2.5.0_1 +libsfml-system.so.2.5 SFML-2.5.0_1 +libsfml-window.so.2.5 SFML-2.5.0_1 +libsfml-audio.so.2.5 SFML-2.5.0_1 +libsfml-graphics.so.2.5 SFML-2.5.0_1 +libclamav.so.9 clamav-0.103.1_2 +libclamunrar.so.9 clamav-0.103.1_2 +libclamunrar_iface.so.9 clamav-0.103.1_2 +libfreshclam.so.2 clamav-0.103.1_2 +libqca-qt5.so.2 qca-qt5-2.1.3_1 +libqt5keychain.so.1 qtkeychain-qt5-0.7.0_1 +libphonon4qt5.so.4 phonon-qt5-4.8.3_1 +libphonon4qt5experimental.so.4 phonon-qt5-4.8.3_1 +libtelepathy-qt5.so.0 telepathy-qt5-0.9.5_1 +libtelepathy-qt5-service.so.0 telepathy-qt5-0.9.7_1 +libtelepathy-qt5-farstream.so.0 telepathy-qt5-farstream-0.9.5_1 +libKF5Attica.so.5 attica-5.6.0_1 +liblastfm_fingerprint5.so.1 liblastfm-qt5-1.0.9_1 +liblastfm5.so.1 liblastfm-qt5-1.0.9_1 +libquazip5.so.1 quazip-0.7.3_2 +libjreen-qt5.so.1 jreen-1.3.0_1 +libzen.so.0 libzen-0.4.31_1 +libmediainfo.so.0 libmediainfo-0.7.75_1 +libnghttp2.so.14 nghttp2-1.43.0_2 +librom1394.so.0 libavc1394-0.5.4_1 +libavc1394.so.0 libavc1394-0.5.4_1 +libiec61883.so.0 libiec61883-1.2.0_1 +libffado.so.2 libffado-2.2.1_1 +libkomparediff2.so.5 libkomparediff2-17.08.2_1 +libkompareinterface.so.5 kompare-17.08.2_1 +libkomparedialogpages.so.5 kompare-17.08.2_1 +libfdt.so.1 dtc-1.4.1_1 +libKasten4Controllers.so.0 okteta-0.26.0_1 +libKasten4Core.so.0 okteta-0.26.0_1 +libKasten4Gui.so.0 okteta-0.26.0_1 +libKasten4Okteta2Controllers.so.0 okteta-0.26.0_1 +libKasten4Okteta2Core.so.0 okteta-0.26.0_1 +libKasten4Okteta2Gui.so.0 okteta-0.26.0_1 +libOkteta3Core.so.0 okteta-0.26.0_1 +libOkteta3Gui.so.0 okteta-0.26.0_1 +libhttp_parser.so.2.9 http-parser-2.9.0_1 +libmaa.so.4 libmaa-1.4.2_1 +libcodeblocks.so.0 codeblocks-13.12_1 +liblept.so.5 leptonica-1.73_1 +libtesseract.so.4 tesseract-ocr-4.0.0_1 +libffmpegthumbnailer.so.4 ffmpegthumbnailer-2.0.10_1 +libopenraw.so.7 libopenraw-0.1.0_1 +libopenrawgnome.so.7 libopenraw-0.1.0_1 +libgeda.so.47 geda-1.10.1_1 +libgedacairo.so.1 geda-1.10.2_1 +libxornstorage.so.0 geda-1.10.2_1 +libclutter-gst-3.0.so.0 clutter-gst3-3.0.4_1 +libgsound.so.0 gsound-1.0.1_1 +libproc2.so.0 procps-ng-4.0.3_1 +libgegl-0.4.so.0 gegl-0.4.16_1 +libgegl-npd-0.4.so gegl-0.4.16_1 +libgegl-sc-0.4.so gegl-0.4.16_1 +libgnunettransportmonitor.so.0 gnunet-0.12.2_1 +libgnunettransporttesting.so.0 gnunet-0.12.2_1 +libgnunettransporttesting2.so.0 gnunet-0.12.2_1 +libgnunetcore.so.0 gnunet-0.12.2_1 +libgnunettestbedlogger.so.0 gnunet-0.12.2_1 +libgnunettestbed.so.0 gnunet-0.12.2_1 +libgnunetatstesting.so.0 gnunet-0.12.2_1 +libgnunetnse.so.0 gnunet-0.12.2_1 +libgnunetdht.so.3 gnunet-0.12.2_1 +libgnunetfriends.so.0 gnunet-0.12.2_1 +libgnunetregexblock.so.1 gnunet-0.12.2_1 +libgnunetregex.so.3 gnunet-0.12.2_1 +libgnunetdns.so.0 gnunet-0.12.2_1 +libgnunetidentity.so.1 gnunet-0.12.2_1 +libgnunetnamecache.so.0 gnunet-0.12.2_1 +libgnunetnamestore.so.0 gnunet-0.12.2_1 +libgnunetcadet.so.7 gnunet-0.12.2_1 +libgnunetset.so.0 gnunet-0.12.2_1 +libgnunetconsensus.so.0 gnunet-0.12.2_1 +libgnunetscalarproduct.so.0 gnunet-0.12.2_1 +libgnunetrevocation.so.0 gnunet-0.12.2_1 +libgnunetvpn.so.0 gnunet-0.12.2_1 +libgnunetgns.so.0 gnunet-0.12.2_1 +libgnunetfs.so.2 gnunet-0.12.2_1 +libgnunetsecretsharing.so.0 gnunet-0.12.2_1 +libnss_gns.so.2 gnunet-0.12.2_1 +libnss_gns4.so.2 gnunet-0.12.2_1 +libnss_gns6.so.2 gnunet-0.12.2_1 +libgnunetutil.so.13 gnunet-0.12.2_1 +libgnunetnt.so.0 gnunet-0.12.2_1 +libgnunetgnsrecord.so.0 gnunet-0.12.2_1 +libgnunethello.so.0 gnunet-0.12.2_1 +libgnunetblock.so.0 gnunet-0.12.2_1 +libgnunetblockgroup.so.0 gnunet-0.12.2_1 +libgnunetstatistics.so.2 gnunet-0.12.2_1 +libgnunetarm.so.2 gnunet-0.12.2_1 +libgnunettesting.so.1 gnunet-0.12.2_1 +libgnunetpeerinfo.so.0 gnunet-0.12.2_1 +libgnunetsq.so.0 gnunet-0.12.2_1 +libgnunetdatacache.so.0 gnunet-0.12.2_1 +libgnunetdatastore.so.1 gnunet-0.12.2_1 +libgnunetpeerstore.so.0 gnunet-0.12.2_1 +libgnunetats.so.4 gnunet-0.12.2_1 +libgnunetatsapplication.so.0 gnunet-0.12.2_1 +libgnunetatstransport.so.0 gnunet-0.12.2_1 +libgnunetnatnew.so.2 gnunet-0.12.2_1 +libgnunetnatauto.so.0 gnunet-0.12.2_1 +libgnunetfragmentation.so.2 gnunet-0.12.2_1 +libgnunettransport.so.2 gnunet-0.12.2_1 +libgnunettransportapplication.so.0 gnunet-0.12.2_1 +libgnunettransportcore.so.0 gnunet-0.12.2_1 +libgnunettransportcommunicator.so.0 gnunet-0.12.2_1 +libskarnet.so.2.13 skalibs-2.13.0.0_1 +libKF5BalooWidgets.so.5 baloo-widgets5-17.04.3_1 +libtidy.so.58 libtidy5-5.8.0_1 +libSDL2_gfx-1.0.so.0 SDL2_gfx-1.0.1_1 +libinjeqt.so.1 injeqt-1.1.0_1 +libgadu.so.3 libgadu-1.12.1_1 +libhiredis.so.1.1.0 hiredis-1.1.0_1 +libIL.so.1 devil-1.7.8_1 +libILU.so.1 devil-1.7.8_1 +libILUT.so.1 devil-1.7.8_1 +liboath.so.0 oath-toolkit-2.6.0_2 +libanthy.so.1 libanthy-0.4_1 +libanthydic.so.1 libanthy-0.4_1 +libanthyinput.so.0 libanthy-0.4_1 +libanthy-unicode.so.0 libanthy-unicode-1.0.0.20201109_1 +libanthydic-unicode.so.0 libanthy-unicode-1.0.0.20201109_1 +libanthyinput-unicode.so.0 libanthy-unicode-1.0.0.20201109_1 +libanthygobject-1.0.so.5 ibus-anthy-1.5.6_1 +libtbbmalloc_proxy_debug.so.2 tbb-4.3_1 +libtbbmalloc_proxy.so.2 tbb-4.3_1 +libtbbmalloc.so.2 tbb-4.3_1 +libembree.so.3 embree-3.12.2_1 +libtbb_debug.so.2 tbb-4.3_1 +libtbb.so.2 tbb-4.3_1 +libtbbmalloc_debug.so.2 tbb-4.3_1 +libembree.so.2 embree-2.5.1_1 +libgtkimageview.so.0 gtkimageview-1.6.4_1 +libgoocanvas-2.0.so.9 goocanvas-2.0.4_1 +libp8-platform.so.2 p8-platform-2.1.0.1_1 +libOIS.so.1.5.0 ois-1.5_1 +libSILLY.so.1 silly-0.1.0_1 +libkeybinder-3.0.so.0 libkeybinder3-0.3.0_1 +libbrlapi.so.0.8 brltty-6.1_1 +liblouis.so.20 liblouis-3.11.0_1 +libCEGUIBase-0.so.2 cegui-0.8.7_1 +libCEGUIOpenGLRenderer-0.so.2 cegui-0.8.7_1 +libCEGUIOgreRenderer-0.so.2 cegui-0.8.7_1 +libCEGUIIrrlichtRenderer-0.so.2 cegui-0.8.7_1 +libCEGUICommonDialogs-0.so.2 cegui-0.8.7_1 +libCEGUICoreWindowRendererSet.so cegui-0.8.7_1 +libCEGUIDevILImageCodec.so cegui-0.8.7_1 +libCEGUIExpatParser.so cegui-0.8.7_1 +libCEGUILibXMLParser.so cegui-0.8.7_1 +libCEGUISILLYImageCodec.so cegui-0.8.7_1 +libct.so.4 freetds-0.95.19_1 +libsybdb.so.5 freetds-0.95.19_1 +libqqwing.so.2 qqwing-1.3.4_1 +libiniparser.so.1 iniparser-4.1_1 +libzita-resampler.so.1 zita-resampler-1.3.0_1 +libmlt.so.6 mlt-6.4.1_1 +libmlt++.so.3 mlt-6.4.1_1 +libmlt++-7.so.7 mlt7-7.0.1_1 +libmlt-7.so.7 mlt7-7.0.1_1 +libunibilium.so.4 unibilium-2.0.0_1 +libtermkey.so.1 libtermkey-0.17_1 +libicu4lua.so.0 icu4lua-0.2B_1 +libKF5I18n.so.5 ki18n-5.26.0_1 +libKF5I18nLocaleData.so.5 ki18n-5.88.0_1 +libglog.so.1 glog-0.6.0_1 +libzita-convolver.so.4 zita-convolver-4.0.3_1 +libzita-alsa-pcmi.so.0 zita-alsa-pcmi-0.2.0_1 +libpugixml.so.1 pugixml-1.6_1 +libnewt.so.0.52 newt-0.52.18_1 +libgeany.so.0 geany-1.25_1 +libctpl.so.2 ctpl-0.3.4_1 +libmuparser.so.2 muparser-2.2.5_1 +libgtkgl-2.0.so.1 gtkglarea-2.1.0_1 +libdwarf.so.1 libdwarf-20160613_1 +libmemcached.so.11 libmemcached-1.0.18_1 +libhashkit.so.2 libmemcached-1.0.18_1 +libmemcachedutil.so.2 libmemcached-1.0.18_1 +libc-client.so.1 c-client-2007f_4 +libonig.so.5 oniguruma-6.8.1_1 +liblo10k1.so.0 alsa-tools-1.0.29_1 +libgflags.so.2.2 gflags-2.1.2_1 +libgflags_nothreads.so.2.2 gflags-2.1.2_1 +libswmhack.so.0.0 spectrwm-2.7.2_1 +libchardet.so.1 libchardet-1.0.4_1 +libcollectdclient.so.1 libcollectdclient-5.12.0_3 +libpinktrace_1.0.so.100 pinktrace-1.0.0_1 +libsyd_1.0.so.0 sydbox-1.0.2_1 +libcsync.so.0 csync-0.50.0_1 +libcalligrasheetsodf.so.17 calligra-sheets-3.2.0_1 +libkokross.so.17 calligra-libs-3.2.1_3 +libkotext.so.17 calligra-libs-3.2.0_1 +libkoodf.so.17 calligra-libs-3.2.0_1 +libkarbonui.so.17 calligra-karbon-3.2.0_1 +libkomain.so.17 calligra-libs-3.2.0_1 +libkowidgets.so.17 calligra-libs-3.2.0_1 +libflake.so.17 calligra-libs-3.2.0_1 +libcalligrasheetscommon.so.17 calligra-sheets-3.2.0_1 +libkovectorimage.so.17 calligra-libs-3.2.0_1 +libwordsprivate.so.17 calligra-words-3.2.0_1 +libkotextlayout.so.17 calligra-libs-3.2.0_1 +libkowidgetutils.so.17 calligra-libs-3.2.0_1 +libkundo2.so.17 calligra-libs-3.2.0_1 +libpigmentcms.so.17 calligra-libs-3.2.0_1 +libbasicflakes.so.17 calligra-libs-3.2.0_1 +libkoplugin.so.17 calligra-libs-3.2.0_1 +libkoversion.so.17 calligra-libs-3.2.0_1 +libkopageapp.so.17 calligra-libs-3.2.0_1 +libkostore.so.17 calligra-libs-3.2.0_1 +libkomsooxml.so.17 calligra-filters-3.2.0_1 +libkoodf2.so.17 calligra-filters-3.2.0_1 +libkowv2.so.9 calligra-filters-2.9.7_1 +libRtfReader.so.17 calligra-filters-3.2.0_1 +libkoodfreader.so.17 calligra-filters-3.2.0_1 +libkoformula.so.17 calligra-plugins-3.2.0_1 +libkarboncommon.so.17 calligra-karbon-3.2.0_1 +libcalligrastageprivate.so.17 calligra-stage-3.2.0_1 +libkookularGenerator_odt.so.17 calligra-extras-3.2.0_1 +libkookularGenerator_odp.so.17 calligra-extras-3.2.0_1 +libgemini.so.17 calligra-gemini-3.2.0_1 +libarpack.so.2 arpack-ng-3.3.0_2 +libfts.so.0 musl-fts-1.2_2 +libobstack.so.1 musl-obstack-1.2.1_1 +libucontext.so.1 libucontext-1.0_1 +libucontext_posix.so.1 libucontext-1.0_1 +libgavl.so.1 gavl-1.40_1 +libmxml.so.1 mxml-2.9_1 +libKF5Pty.so.5 kpty-5.26.0_1 +libdovecot-sieve.so.0 dovecot-plugin-pigeonhole-0.4.9_2 +libi3ipc-glib-1.0.so.0 i3ipc-glib-0.6.0_1 +libcsound64.so.6.0 csound-6.05.0_1 +libcsnd6.so.6.0 csound-6.05.0_1 +libfko.so.3 libfko-2.6.9_1 +libvterm.so.0 libvterm-0.3_1 +libboinc_opencl.so.7 boinc-7.16.16_2 +libboinc_api.so.7 boinc-7.16.16_2 +libboinc_graphics2.so.7 boinc-7.16.16_2 +libsynfig.so.0 synfig-1.0.1_1 +libhidapi-hidraw.so.0 hidapi-0.8.0rc1_1 +libhidapi-libusb.so.0 hidapi-0.8.0rc1_1 +libu2f-host.so.0 libu2f-host-1.1.10_5 +libu2f-server.so.0 libu2f-server-1.1.0_9 +libsqlcipher.so.0 sqlcipher-4.3.0_3 +libgta.so.1 libgta-1.2.0_1 +libgdal.so.31 libgdal-3.5.3_1 +libosgViewer.so.161 osg-3.6.5_1 +libosgShadow.so.161 osg-3.6.5_1 +libosgParticle.so.161 osg-3.6.5_1 +libOpenThreads.so.21 osg-3.6.5_1 +libosgFX.so.161 osg-3.6.5_1 +libosgText.so.161 osg-3.6.5_1 +libosgUI.so.161 osg-3.6.5_1 +libosg.so.161 osg-3.6.5_1 +libosgAnimation.so.161 osg-3.6.5_1 +libosgDB.so.161 osg-3.6.5_1 +libosgManipulator.so.161 osg-3.6.5_1 +libosgSim.so.161 osg-3.6.5_1 +libosgTerrain.so.161 osg-3.6.5_1 +libosgWidget.so.161 osg-3.6.5_1 +libosgUtil.so.161 osg-3.6.5_1 +libosgVolume.so.161 osg-3.6.5_1 +libosgGA.so.161 osg-3.6.5_1 +libosgPresentation.so.161 osg-3.6.5_1 +libKF5Screen.so.8 libkscreen-5.26.90_1 +libKF5ScreenDpms.so.8 libkscreen-5.26.90_1 +libdbusmenu-qt5.so.2 libdbusmenu-qt5-0.9.3.0_1 +libKF5Solid.so.5 libksolid-5.15.0_2 +libfreeimage.so.3 freeimage-3.17.0_1 +libfreeimageplus.so.3 freeimage-plus-3.17.0_1 +libtoluapp.so toluapp-1.0.93_1 +libfa.so.1 augeas-1.4.0_1 +libaugeas.so.0 augeas-1.4.0_1 +libplot.so.2 plotutils-2.6_1 +libplplot.so.17 libplplot-5.15.0_1 +libplplottcltk.so.14 libplplot-5.15.0_1 +libplplottcltk_Main.so.1 libplplot-5.15.0_1 +libfloatfann.so.2 fann-2.2.0_1 +libfixedfann.so.2 fann-2.2.0_1 +libfann.so.2 fann-2.2.0_1 +libdoublefann.so.2 fann-2.2.0_1 +libxerces-c-3.2.so libxerces-c-3.2.0_1 +libunibreak.so.3 libunibreak-4.0_1 +libiperf.so.0 iperf3-3.1.1_1 +libKF5UnitConversion.so.5 kunitconversion-5.26.0_1 +libfdk-aac.so.2 fdk-aac-2.0.0_1 +libyubikey.so.0 libyubikey-1.13_1 +libykpers-1.so.1 libykpers-1.17.2_1 +libg7221codec.so.2 pjproject-2.8_5 +libilbccodec.so.2 pjproject-2.8_5 +libpj.so.2 pjproject-2.8_5 +libpjlib-util.so.2 pjproject-2.8_5 +libpjmedia-audiodev.so.2 pjproject-2.8_5 +libpjmedia-codec.so.2 pjproject-2.8_5 +libpjmedia-videodev.so.2 pjproject-2.8_5 +libpjmedia.so.2 pjproject-2.8_5 +libpjnath.so.2 pjproject-2.8_5 +libpjsip-simple.so.2 pjproject-2.8_5 +libpjsip-ua.so.2 pjproject-2.8_5 +libpjsip.so.2 pjproject-2.8_5 +libpjsua.so.2 pjproject-2.8_5 +libpjsua2.so.2 pjproject-2.8_5 +libhdf5_hl.so.100 hdf5-1.10.1_2 +libhdf5.so.103 hdf5-1.10.4_1 +libhdf5_hl_cpp.so.100 hdf5-1.10.1_2 +libhdf5_cpp.so.103 hdf5-1.10.4_1 +libhdf5hl_fortran.so.100 hdf5-1.10.1_2 +libhdf5_fortran.so.102 hdf5-1.10.5_1 +libcryptmount.so.0 libpam-mount-2.15_1 +libglob.so.0 libglob-1.0_1 +libepub.so.0 ebook-tools-0.2.2_1 +libosmgpsmap-1.0.so.1 libosmgpsmap-1.1.0_1 +libtspi.so.1 trousers-0.3.14_11 +libshout.so.3 libshout-2.4.1_1 +libfirm.so.1.22 libfirm-1.22.0_1 +libaudiofile.so.1 audiofile-0.3.6_1 +libbs2b.so.0 libbs2b-3.1.0_1 +libmunge.so.2 munge-libs-0.5.14_3 +libmgba.so.0.10 libmgba-0.10.0_1 +libglabels-3.0.so.8 libglabels30-3.2.1_1 +libglbarcode-3.0.so.0 libglabels30-3.2.1_1 +libjim.so.0.81 jimtcl-0.81_1 +libftdi1.so.2 libftdi1-1.2_1 +libax25.so.0 libax25-0.0.12rc4_1 +libax25io.so.0 libax25-0.0.12rc4_1 +libmill.so.18 libmill-1.14_1 +libges-1.0.so.0 gst1-editing-services-1.6.2_1 +libykneomgr.so.0 libykneomgr-0.1.8_1 +libopenshot-audio.so.9 libopenshot-audio-0.3.0_1 +libopenshot.so.23 libopenshot-0.3.0_1 +libpqxx-6.3.so libpqxx-6.3.3_1 +libndpi.so.3 ndpi-3.4_1 +liblog.so android-studio-3.0.1_1 +libm.so android-studio-3.0.1_1 +libdl.so android-studio-3.0.1_1 +libKF5WidgetsAddons.so.5 kwidgetsaddons-5.26.0_1 +libsearpc.so.1 libsearpc-3.0.7_1 +libseafile.so.0 seafile-libclient-7.0.10_2 +libpodofo.so.0.9.7 libpodofo-0.9.7_2 +libIrcUtil.so.3 libcommuni-3.4.0_1 +libIrcCore.so.3 libcommuni-3.4.0_1 +libIrcModel.so.3 libcommuni-3.4.0_1 +libp2edrvmagick++.so.0 libpstoedit-3.70_1 +libp2edrvstd.so.0 libpstoedit-3.70_1 +libpstoedit.so.0 libpstoedit-3.70_1 +libtolua.so tolua-5.2.0_1 +libhwloc.so.15 libhwloc-2.0.4_1 +libnetfilter_cttimeout.so.1 libnetfilter_cttimeout-1.0.0_1 +libnetfilter_cthelper.so.0 libnetfilter_cthelper-1.0.0_1 +libnetfilter_queue.so.1 libnetfilter_queue-1.0.2_1 +libfilezilla.so.40 libfilezilla-0.44.0_1 +libtommath.so.1 libtommath-1.0_1 +libKF5ItemViews.so.5 kitemviews-5.26.0_1 +libunicorn.so.1 unicorn-1.0_1 +libglyphy.so.0 glyphy-0.0.20160104_1 +libSwiften.so.0 swiften-4.0.3_2 +libfreehand-0.1.so.1 libfreehand-0.1.1_1 +libe-book-0.1.so.1 libe-book-0.1.2_1 +libOsi.so.1 CoinMP-1.8.3_1 +libClp.so.1 CoinMP-1.8.3_1 +libCoinMP.so.1 CoinMP-1.8.3_1 +libOsiCbc.so.3 CoinMP-1.8.3_1 +libCoinUtils.so.3 CoinMP-1.8.3_1 +libClpSolver.so.1 CoinMP-1.8.3_1 +libCgl.so.1 CoinMP-1.8.3_1 +libOsiClp.so.1 CoinMP-1.8.3_1 +libCbc.so.3 CoinMP-1.8.3_1 +libOsiCommonTests.so.1 CoinMP-1.8.3_1 +libCbcSolver.so.3 CoinMP-1.8.3_1 +libmwaw-0.3.so.3 libmwaw-0.3.7_1 +libixion-0.17.so.0 libixion-0.17.0_1 +liborcus-parser-0.17.so.0 liborcus-0.17.2_1 +liborcus-mso-0.17.so.0 liborcus-0.17.2_1 +liborcus-0.17.so.0 liborcus-0.17.2_1 +liborcus-spreadsheet-model-0.17.so.0 liborcus-0.17.2_1 +libnumbertext-1.0.so.0 libnumbertext-1.0.4_1 +libGeneratedSaxParser.so opencollada-0.0.20160223_1 +libMathMLSolver.so opencollada-0.0.20160223_1 +libOpenCOLLADABaseUtils.so opencollada-0.0.20160223_1 +libOpenCOLLADAFramework.so opencollada-0.0.20160223_1 +libOpenCOLLADASaxFrameworkLoader.so opencollada-0.0.20160223_1 +libOpenCOLLADAStreamWriter.so opencollada-0.0.20160223_1 +leatherman_util.so.1.12.4 leatherman-1.12.4_1 +leatherman_locale.so.1.12.4 leatherman-1.12.4_1 +leatherman_logging.so.1.12.4 leatherman-1.12.4_1 +leatherman_json_container.so.1.12.4 leatherman-1.12.4_1 +leatherman_file_util.so.1.12.4 leatherman-1.12.4_1 +leatherman_curl.so.1.12.4 leatherman-1.12.4_1 +leatherman_dynamic_library.so.1.12.4 leatherman-1.12.4_1 +leatherman_execution.so.1.12.4 leatherman-1.12.4_1 +leatherman_ruby.so.1.12.4 leatherman-1.12.4_1 +libUTF.so opencollada-0.0.20160223_1 +libbuffer.so opencollada-0.0.20160223_1 +libftoa.so opencollada-0.0.20160223_1 +libzlib.so opencollada-1.6.51_1 +libfbclient.so.2 libfbclient3-3.0.4.33054_1 +libipmiutil.so.1 ipmiutil-3.1.3_4 +libqxmpp.so.3 qxmpp-1.2.0_1 +libunwind.so.1 llvm-libunwind-3.8.0_1 +libc++abi.so.1 libcxxabi-3.8.0_1 +libfastjson.so.4 libfastjson-0.99.3_1 +libdcadec.so.0 dcadec-0.2.0_1 +libcmark.so.0 cmark-0.24.1_1 +libvidstab.so.1.1 libvidstab-1.1.0_1 +libxdo.so.3 xdotool-3.20150503.1_1 +libabigail.so.2 libabigail-2.3_1 +libgnome-games-support-1.so.3 libgnome-games-support-1.4.0_1 +libKDevCMakeCommon.so.510 kdevelop-22.12.1_1 +libKDevClangPrivate.so.510 kdevelop-22.12.1_1 +libKDevCompileAnalyzerCommon.so.510 kdevelop-22.12.1_1 +libKDevelopSessionsWatch.so.510 kdevelop-22.12.1_1 +libKDevPlatformDebugger.so.510 kdevelop-22.12.1_1 +libKDevPlatformDocumentation.so.510 kdevelop-22.12.1_1 +libKDevPlatformInterfaces.so.510 kdevelop-22.12.1_1 +libKDevPlatformLanguage.so.510 kdevelop-22.12.1_1 +libKDevPlatformOutputView.so.510 kdevelop-22.12.1_1 +libKDevPlatformProject.so.510 kdevelop-22.12.1_1 +libKDevPlatformSerialization.so.510 kdevelop-22.12.1_1 +libKDevPlatformShell.so.510 kdevelop-22.12.1_1 +libKDevPlatformSublime.so.510 kdevelop-22.12.1_1 +libKDevPlatformTests.so.510 kdevelop-22.12.1_1 +libKDevPlatformUtil.so.510 kdevelop-22.12.1_1 +libKDevPlatformVcs.so.510 kdevelop-22.12.1_1 +libts.so.0 tslib-1.6_1 +libobs.so.0 obs-0.14.1_2 +libobsglad.so.1 obs-28.0.1_1 +libobs-opengl.so.1 obs-28.0.1_1 +libobs-frontend-api.so.0 obs-20.1.3_1 +libzimg.so.2 zimg-2.0.4_1 +libvapoursynth.so vapoursynth-R32_2 +libvapoursynth-script.so.0 vapoursynth-R32_1 +libtwolame.so.0 twolame-0.3.13_1 +libsignon-plugins.so.1 signond-8.58_1 +libsignon-qt5.so.1 signond-8.58_1 +libsignon-plugins-common.so.1 signond-8.58_1 +libsignon-extension.so.1 signond-8.58_1 +libj4status-plugin.so.0 j4status-0.1_1 +libvirglrenderer.so.1 virglrenderer-0.5.0_1 +libglpk.so.40 glpk-4.60_1 +libipmimonitoring.so.6 freeipmi-1.5.7_1 +libipmiconsole.so.2 freeipmi-1.5.1_1 +libfreeipmi.so.17 freeipmi-1.5.1_1 +libipmidetect.so.0 freeipmi-1.5.1_1 +libsmpeg-0.4.so.0 smpeg-0.4.5_3 +libsmpeg2-2.0.so.0 smpeg2-2.0.0_1 +libedac.so.1 libedac-0.18_1 +libxlsreader.so.8 libxls-1.6.1_1 +libR.so R-4.0.2_1 +libmarkdown.so.2 discount-2.2.0_3 +libkeystone.so.0 keystone-0.9_1 +libmate-slab.so.0 libmate-control-center-1.14.0_2 +libuev.so.3 libuev-2.4.0_1 +liburcu-bp.so.8 liburcu-0.14.0_1 +liburcu-cds.so.8 liburcu-0.14.0_1 +liburcu-common.so.8 liburcu-0.14.0_1 +liburcu-mb.so.8 liburcu-0.14.0_1 +liburcu-qsbr.so.8 liburcu-0.14.0_1 +liburcu-signal.so.8 liburcu-0.14.0_1 +liburcu.so.8 liburcu-0.14.0_1 +liblttng-ust.so.0 lttng-ust-2.7.2_1 +liblttng-ust-ctl.so.4 lttng-ust-2.10.0_1 +liblttng-ust-fork.so.0 lttng-ust-2.7.2_1 +liblttng-ust-fd.so.0 lttng-ust-2.10.0_1 +liblttng-ust-libc-wrapper.so.0 lttng-ust-2.7.2_1 +liblttng-ust-pthread-wrapper.so.0 lttng-ust-2.7.2_1 +liblttng-ust-cyg-profile.so.0 lttng-ust-2.7.2_1 +liblttng-ust-cyg-profile-fast.so.0 lttng-ust-2.7.2_1 +liblttng-ust-dl.so.0 lttng-ust-2.7.2_1 +liblttng-ust-tracepoint.so.0 lttng-ust-2.7.2_1 +libbabeltrace.so.1 babeltrace-1.5.3_1 +libbabeltrace-ctf.so.1 babeltrace-1.5.3_1 +libbabeltrace-ctf-text.so.1 babeltrace-1.5.3_1 +libbabeltrace-ctf-metadata.so.1 babeltrace-1.5.3_1 +libbabeltrace-dummy.so.1 babeltrace-1.5.3_1 +libbabeltrace-lttng-live.so.1 babeltrace-1.5.3_1 +liblttng-ctl.so.0 lttng-tools-2.10.1_1 +libKF5DNSSD.so.5 kdnssd-5.26.0_1 +libtwaindsm.so.2 twaindsm-2.3.0_1 +libspnav.so.0 libspnav-0.2.3_1 +libsimage.so.20 simage-1.7.0_1 +libCoin.so.80 coin3-4.0.0_1 +libgl2ps.so.1 gl2ps-1.3.9_1 +libKF5CoreAddons.so.5 kcoreaddons-5.26.0_1 +librpmatch.so.0 musl-rpmatch-1.0_1 +libmilter.so.1.0.2 libmilter-1.0.2_1 +libopendkim.so.10 opendkim-2.10.3_12 +libtevent.so.0 tevent-0.9.28_1 +libldb.so.2 ldb-2.2.0_1 +libpyldb-util.so.2 libpyldb-util-2.2.0_1 +libpath_utils.so.1 ding-libs-0.5.0_1 +libdhash.so.1 ding-libs-0.5.0_1 +libcollection.so.4 ding-libs-0.5.0_1 +libref_array.so.1 ding-libs-0.5.0_1 +libbasicobjects.so.0 ding-libs-0.5.0_1 +libini_config.so.5 ding-libs-0.5.0_1 +libipa_hbac.so.0 sssd-2.4.0_3 +libsss_idmap.so.0 sssd-2.4.0_3 +libnss_sss.so.2 sssd-2.4.0_3 +libsss_nss_idmap.so.0 sssd-2.4.0_3 +libsss_simpleifp.so.0 sssd-2.4.0_3 +libsss_certmap.so.0 sssd-2.4.0_3 +libsss_util.so sssd-2.4.0_3 +libsss_crypt.so sssd-2.4.0_3 +libsss_debug.so sssd-2.4.0_3 +libforms.so.2 xforms-1.2.4_2 +libflimage.so.2 xforms-1.2.4_2 +libutilspp.so.0 curlpp-0.7.3_2 +libcurlpp.so.1 curlpp-0.8.1_1 +libtcd.so.1 libtcd-2.2.7.r2_1 +libaccounts-glib.so.1 libaccounts-glib-1.24_1 +libaccounts-qt5.so.1 libaccounts-qt5-1.14_1 +libshotwell-plugin-dev-1.0.so.0 shotwell-0.30.0_1 +libshotwell-plugin-common.so.0 shotwell-0.30.0_1 +libshotwell-authenticator.so.0 shotwell-0.30.0_1 +liballegro.so.5.2 allegro5-5.2.1_1 +liballegro_primitives.so.5.2 allegro5-5.2.1_1 +liballegro_image.so.5.2 allegro5-5.2.1_1 +liballegro_font.so.5.2 allegro5-5.2.1_1 +liballegro_audio.so.5.2 allegro5-5.2.1_1 +liballegro_acodec.so.5.2 allegro5-5.2.1_1 +liballegro_ttf.so.5.2 allegro5-5.2.1_1 +liballegro_color.so.5.2 allegro5-5.2.1_1 +liballegro_memfile.so.5.2 allegro5-5.2.1_1 +liballegro_physfs.so.5.2 allegro5-5.2.1_1 +liballegro_video.so.5.2 allegro5-5.2.1_1 +liballegro_main.so.5.2 allegro5-5.2.1_1 +liballegro_dialog.so.5.2 allegro5-5.2.1_1 +libKF5DBusAddons.so.5 kdbusaddons-5.26.0_1 +libsystemsettingsview.so.3 systemsettings-5.11.5_2 +libmono-profiler-cov.so.0 mono-4.0.1.44_2 +libmono-profiler-aot.so.0 mono-4.0.1.44_2 +libmono-profiler-iomap.so.0 mono-4.0.1.44_2 +libmono-profiler-log.so.0 mono-4.0.1.44_2 +libikvm-native.so mono-4.0.1.44_2 +libMonoPosixHelper.so mono-4.0.1.44_2 +libMonoSupportW.so mono-4.0.1.44_2 +libmono-btls-shared.so mono-5.2.0.215_1 +libxcb-xrm.so.0 xcb-util-xrm-1.0_1 +libinchi.so.0 openbabel-3.1.1_1 +libopenbabel.so.7 openbabel-3.1.1_1 +libcourier-unicode.so.7 courier-unicode-2.2.2_1 +libzstd.so.1 libzstd-1.0.0_1 +libudis86.so.0 udis86-1.7.2_4 +libsass.so.1 libsass-3.5.0_1 +libjbig.so.0 jbigkit-libs-2.1_2 +libjbig85.so.0 jbigkit-libs-2.1_2 +libskk.so.0 libskk-1.0.2_1 +libKF5WaylandServer.so.5 kwayland-5.26.0_1 +libKF5WaylandClient.so.5 kwayland-5.26.0_1 +libKF5IdleTime.so.5 kidletime-5.26.0_1 +libKF5Archive.so.5 karchive-5.26.0_1 +libKF5Codecs.so.5 kcodecs-5.26.0_1 +libKF5ConfigCore.so.5 kconfig-5.26.0_1 +libKF5ConfigGui.so.5 kconfig-5.26.0_1 +libKF5ConfigQml.so.5 kconfig-5.95.0_1 +libKF5Completion.so.5 kcompletion-5.26.0_1 +libKF5Crash.so.5 kcrash-5.26.0_1 +libKF5ConfigWidgets.so.5 kconfigwidgets-5.26.0_1 +libKF5Service.so.5 kservice-5.26.0_1 +libKF5GlobalAccel.so.5 kglobalaccel-5.26.0_1 +libKF5GlobalAccelPrivate.so.5 kglobalaccel-5.26.0_1 +libKF5Package.so.5 kpackage-5.26.0_1 +libKF5Su.so.5 kdesu-5.26.0_1 +libKF5Emoticons.so.5 kemoticons-5.26.0_1 +libKF5IconThemes.so.5 kiconthemes-5.26.0_1 +libKF5JobWidgets.so.5 kjobwidgets-5.26.0_1 +libKF5Notifications.so.5 knotifications-5.26.0_1 +libKF5TextWidgets.so.5 ktextwidgets-5.26.0_1 +libKF5Wallet.so.5 kwallet-5.26.0_1 +libkwalletbackend5.so.5 kwallet-5.36.0_1 +libKF5XmlGui.so.5 kxmlgui-5.26.0_1 +libKF5Bookmarks.so.5 kbookmarks-5.26.0_1 +libKF5KIOWidgets.so.5 kio-5.26.0_1 +libKF5KIOCore.so.5 kio-5.26.0_1 +libKF5KIOFileWidgets.so.5 kio-5.26.0_1 +libKF5KIOGui.so.5 kio-5.36.0_1 +libKF5KIONTLM.so.5 kio-5.36.0_1 +libKF5Declarative.so.5 kdeclarative-5.26.0_1 +libKF5QuickAddons.so.5 kdeclarative-5.26.0_1 +libKF5CalendarEvents.so.5 kdeclarative-5.26.0_1 +libKF5KCMUtils.so.5 kcmutils-5.26.0_1 +libKF5KCMUtilsCore.so.5 kcmutils-5.95.0_1 +libKF5Style.so.5 frameworkintegration-5.26.0_1 +libkdeinit5_klauncher.so kinit-5.26.0_1 +libKF5NewStuff.so.5 knewstuff-5.26.0_1 +libKF5NewStuffCore.so.5 knewstuff-5.36.0_1 +libKF5NewStuffWidgets.so.5 knewstuff-5.95.0_1 +libKF5NotifyConfig.so.5 knotifyconfig-5.26.0_1 +libKF5Parts.so.5 kparts-5.26.0_1 +libKF5Activities.so.5 kactivities5-5.26.0_1 +libkdeinit5_kded5.so kded-5.26.0_1 +libKF5WebKit.so.5 kdewebkit-5.26.0_1 +libKF5TextEditor.so.5 ktexteditor-5.26.0_1 +libKF5Plasma.so.5 plasma-framework-5.26.0_1 +libKF5PlasmaQuick.so.5 plasma-framework-5.26.0_1 +libKF5ModemManagerQt.so.6 modemmanager-qt5-5.26.0_1 +libKF5People.so.5 kpeople-5.26.0_1 +libKF5PeopleBackend.so.5 kpeople-5.36.0_1 +libKF5PeopleWidgets.so.5 kpeople-5.36.0_1 +libKF5XmlRpcClient.so.5 kxmlrpcclient-5.26.0_1 +libKF5BluezQt.so.6 bluez-qt5-5.26.0_1 +libKF5FileMetaData.so.3 kfilemetadata5-5.26.0_1 +libKF5Baloo.so.5 baloo5-5.26.0_1 +libKF5BalooEngine.so.5 baloo5-5.26.0_1 +libKF5ActivitiesStats.so.1 kactivities5-stats-5.26.0_1 +libKF5Runner.so.5 krunner-5.26.0_1 +libKF5JS.so.5 kjs-5.26.0_1 +libKF5JSApi.so.5 kjs-5.36.0_1 +libKF5KDELibs4Support.so.5 kdelibs4support-5.26.0_1 +libKF5KHtml.so.5 khtml-5.26.0_1 +libKF5JsEmbed.so.5 kjsembed-5.26.0_1 +libKF5KrossCore.so.5 kross-5.26.0_1 +libKF5KrossUi.so.5 kross-5.36.0_1 +liblmdb.so.0 lmdb-0.9.18_2 +libisns.so.0 libisns-0.101_2 +libz80ex.so.1 z80ex-1.1.21_1 +libz80ex_dasm.so.1 z80ex-1.1.21_1 +libqmmp.so.1 qmmp-1.1.4_1 +libqmmpui.so.1 qmmp-1.1.4_1 +libalkimia5.so.8 libalkimia-8.0.1_1 +libpayeeidentifier_iban_bic_widgets.so.5 kmymoney-5.0.0_1 +libkmm_plugin.so.5 kmymoney-5.0.0_1 +libkmm_widgets.so.5 kmymoney-5.0.0_1 +libkmm_mymoney.so.5 kmymoney-5.0.0_1 +libpayeeidentifier_nationalAccount.so.5 kmymoney-5.0.0_1 +libpayeeidentifier_iban_bic.so.5 kmymoney-5.0.0_1 +libkmm_payeeidentifier.so.5 kmymoney-5.0.0_1 +libKDb3.so.4 kdb-3.1.0_1 +libKPropertyWidgets3.so.4 kproperty-3.1.0_1 +libKPropertyCore3.so.4 kproperty-3.1.0_1 +libKReport3.so.4 kreport-3.1.0_1 +libbotan-2.so.19 botan-2.19.1_1 +libswipl.so.9 swi-prolog-9.0.0_1 +libpcre2-16.so.0 libpcre2-10.22_1 +libpcre2-32.so.0 libpcre2-10.22_1 +libpcre2-8.so.0 libpcre2-10.22_1 +libpcre2-posix.so.3 libpcre2-10.39_1 +libui.so.0 libui-alpha3.1_1 +libgnome-autoar-0.so.0 gnome-autoar-0.1.1_1 +libgnome-autoar-gtk-0.so.0 gnome-autoar-0.1.1_1 +libxapp.so.1 xapps-1.0.2_1 +libite.so.5 libite-2.0.1_1 +liblog4cplus-1.2.so.5 log4cplus-1.2.0_1 +liblog4cplus-2.0.so.3 log4cplus-2.0.0_1 +liblog4cplusU-2.0.so.3 log4cplus-2.0.3_1 +libcapnpc-0.10.2.so capnproto-0.10.2_1 +libcapnp-json-0.10.2.so capnproto-0.10.2_1 +libcapnp-rpc-0.10.2.so capnproto-0.10.2_1 +libcapnp-websocket-0.10.2.so capnproto-0.10.2_1 +libcapnp-0.10.2.so capnproto-0.10.2_1 +libkj-http-0.10.2.so capnproto-0.10.2_1 +libkj-async-0.10.2.so capnproto-0.10.2_1 +libkj-test-0.10.2.so capnproto-0.10.2_1 +libkj-0.10.2.so capnproto-0.10.2_1 +libkea-asiodns.so.24 libkea-2.2.0_1 +libkea-asiolink.so.40 libkea-2.2.0_1 +libkea-cc.so.39 libkea-2.2.0_1 +libkea-cfgclient.so.36 libkea-2.2.0_1 +libkea-cryptolink.so.28 libkea-2.2.0_1 +libkea-d2srv.so.16 libkea-2.2.0_1 +libkea-database.so.35 libkea-2.2.0_1 +libkea-dhcp++.so.54 libkea-2.2.0_1 +libkea-dhcp_ddns.so.29 libkea-2.2.0_1 +libkea-dhcpsrv.so.69 libkea-2.2.0_1 +libkea-dns++.so.30 libkea-2.2.0_1 +libkea-eval.so.39 libkea-2.2.0_1 +libkea-exceptions.so.13 libkea-2.2.0_1 +libkea-hooks.so.57 libkea-2.2.0_1 +libkea-http.so.42 libkea-2.2.0_1 +libkea-log.so.35 libkea-2.2.0_1 +libkea-pgsql.so.36 libkea-2.2.0_1 +libkea-process.so.40 libkea-2.2.0_1 +libkea-stats.so.18 libkea-2.2.0_1 +libkea-util-io.so.0 libkea-2.2.0_1 +libkea-util.so.52 libkea-2.2.0_1 +libytnef.so.0 ytnef-1.8_1 +libpisock.so.9 pilot-link-0.12.5_1 +libpisync.so.1 pilot-link-0.12.5_1 +libpitcl.so.0 pilot-link-0.12.5_1 +libiscsi.so.9 libiscsi-1.19.0_1 +libgme.so.0 libgme-0.6.1_1 +libzmusic.so.1 ZMusic-1.1.2_1 +libzmusiclite.so.1 ZMusic-1.1.2_1 +libsidplayfp.so.6 libsidplayfp-2.1.0_1 +libstilview.so.0 libsidplayfp-1.8.7_1 +libczmq.so.4 czmq-4.0.1_1 +liblz.so.1 lzlib-1.8_1 +libelogind.so.0 libelogind-238.1_2 +libseat.so.1 libseat-0.3.0_1 +libnma.so.0 libnma-1.8.30_1 +libnma-gtk4.so.0 libnma-1.8.36_1 +libgspell-1.so.2 gspell-1.8.0_1 +libotf.so.1 libotf-0.9.16_1 +libimagequant.so.0 libimagequant-2.8.2_1 +libDOtherSide.so.0.7 dotherside-0.7.1_1 +libstlink.so.1 stlink-1.5.1_1 +libopencsg.so.1 opencsg-1.4.2_1 +libCGAL.so.13 cgal-4.10_1 +libCGAL_Core.so.13 cgal-4.10_1 +libCGAL_ImageIO.so.14 cgal-4.14_1 +libqscintilla2_qt5.so.15 qscintilla-qt5-2.11_1 +libQtAVWidgets.so.1 qtav-1.12.0_1 +libQtAV.so.1 qtav-1.12.0_1 +liblxpanel.so.0 lxpanel-0.9.3_1 +libuim.so.8 uim-1.8.6_1 +libuim-scm.so.0 uim-1.8.6_1 +libuim-custom.so.2 uim-1.8.6_1 +libgcroots.so.0 libgcroots-0.3.2_1 +libdecoration.so.0 compiz-core-0.8.14_1 +libcompizconfig.so.0 libcompizconfig-0.8.14_1 +libemeraldengine.so.0 emerald-0.8.14_1 +libhangul.so.1 libhangul-0.1.0_1 +libmutter-12.so.0 mutter-44.0_1 +libmutter-clutter-12.so.0 mutter-44.0_1 +libmutter-cogl-12.so.0 mutter-44.0_1 +libmutter-cogl-pango-12.so.0 mutter-44.0_1 +libgeoclue-2.so.0 geoclue2-2.4.4_1 +libgepub-0.6.so.0 libgepub-0.6.0_4 +libslopy.so.7.6 slop-7.6_1 +libbcunit.so.1 bcunit-3.0_1 +libzbar.so.0 libzbar-0.10_1 +libzbargtk.so.0 libzbar-0.10_1 +libzbarqt.so.0 libzbar-qt-0.10_10 +libargtable2.so.0 argtable-2.13_1 +libomxil-bellagio.so.0 libomxil-bellagio-0.9.3_1 +libomxdynamicloader.so.0 libomxil-bellagio-0.9.3_1 +libomxaudio_effects.so.0 libomxil-bellagio-0.9.3_1 +libomxclocksrc.so.0 libomxil-bellagio-0.9.3_1 +libomxvideosched.so.0 libomxil-bellagio-0.9.3_1 +libnss_libvirt_guest.so.2 libvirt-3.1.0_1 +libvirt-admin.so.0 libvirt-3.1.0_1 +libnss_libvirt.so.2 libvirt-3.1.0_1 +libassimp.so.5 libassimp-5.0.0_1 +libdouble-conversion.so.3 double-conversion-3.1.5_1 +libspectrum.so.8 libspectrum-1.2.2_1 +libbearssl.so.0 bearssl-0.3_1 +libXfont2.so.2 libXfont2-2.0.1_1 +libqalculate.so.22 libqalculate-3.20.1_1 +libweston-9.so.0 weston-9.0.0_1 +libostree-1.so.1 ostree-2023.1_1 +librhash.so.1 rhash-1.4.4_1 +libserialport.so.0 libserialport-0.1.1_1 +libsigrok.so.4 libsigrok-0.5.0_1 +libsigrokcxx.so.4 libsigrok-0.5.0_1 +libsigrokdecode.so.4 libsigrokdecode-0.5.0_2 +libglyr.so.1 glyr-1.0.8_1 +libPocoJSON.so.94 poco-1.12.4_1 +libPocoMongoDB.so.94 poco-1.12.4_1 +libPocoZip.so.94 poco-1.12.4_1 +libPocoData.so.94 poco-1.12.4_1 +libPocoNet.so.94 poco-1.12.4_1 +libPocoDataSQLite.so.94 poco-1.12.4_1 +libPocoFoundation.so.94 poco-1.12.4_1 +libPocoXML.so.94 poco-1.12.4_1 +libPocoUtil.so.94 poco-1.12.4_1 +libPocoRedis.so.94 poco-1.12.4_1 +libPocoEncodings.so.94 poco-1.12.4_1 +libPocoNetSSL.so.94 poco-1.12.4_1 +libPocoCrypto.so.94 poco-1.12.4_1 +libPtex.so ptex-2.3.2_1 +libopenblas.so.0 openblas-0.2.19_1 +librtaudio.so.6 rtaudio-5.1.0_1 +librtmidi.so.5 rtmidi-4.0.0_1 +libbiblesync.so.2.1.0 biblesync-2.1.0_1 +libbac-9.4.2.so bacula-common-9.4.2_4 +libbaccfg-9.4.2.so bacula-common-9.4.2_4 +libbacfind-9.4.2.so bacula-common-9.4.2_4 +libbacsql-9.4.2.so bacula-common-9.4.2_4 +libbaccats-9.4.2.so bacula-common-9.4.2_4 +libbacsd-9.4.2.so bacula-common-9.4.2_4 +libbaccats-sqlite3-9.4.2.so bacula-common-9.4.2_4 +libbaccats-postgresql-9.4.2.so bacula-common-postgresql-9.4.2_4 +libbaccats-mysql-9.4.2.so bacula-common-mariadb-9.4.2_4 +bpipe-fd.so bacula-fd-9.4.2_4 +libnftables.so.1 libnftables-0.9.1_1 +libbctoolbox.so.1 bctoolbox-0.6.0_1 +libbcmatroska2.so.0 bcmatroska2-5.2.1_1 +libbcg729.so.0 bcg729-1.1.1_1 +libortp.so.15 ortp-4.4.0_1 +libsuperlu.so.5 superlu-5.2.1_1 +libgosu.so.0 gosu-0.12.0_1 +libyara.so.10 libyara-4.3.0_1 +libyaz_icu.so.5 yaz-5.23.1_1 +libyaz.so.5 yaz-5.23.1_1 +libyaz_server.so.5 yaz-5.23.1_1 +libgcab-1.0.so.0 gcab-0.7_1 +libwpe-1.0.so.1 libwpe-1.10.0_1 +libWPEBackend-fdo-1.0.so.1 wpebackend-fdo-1.8.3_1 +libliveMedia.so.81 live555-2020.08.11_2 +libgroupsock.so.8 live555-2020.08.11_2 +libUsageEnvironment.so.3 live555-2020.08.11_2 +libBasicUsageEnvironment.so.1 live555-2020.08.11_2 +libappstream.so.4 AppStream-0.12.2_1 +libappstream-glib.so.8 appstream-glib-0.6.13_1 +libappstream-builder.so.8 appstream-glib-0.6.13_1 +libflatpak.so.0 flatpak-0.9.3_2 +libnanomsg.so.5 nanomsg-1.1.3_1 +libindicator3.so.7 libindicator-12.10.1_1 +libappindicator3.so.1 libappindicator-12.10.0_1 +libscanmem.so.1 libscanmem-0.17_5 +libsctp.so.1 lksctp-tools-1.0.17_1 +libwithsctp.so.1 lksctp-tools-1.0.17_1 +libnss_ldap.so.2 nss-pam-ldapd-0.9.7_4 +libunshield.so.0 libunshield-0.6_1 +libMyGUIEngine.so.3.4.2 libmygui-3.4.2_1 +libproj.so.25 proj-9.1.1_1 +libnlopt.so.0 nlopt-2.4.2_1 +libeb.so.16 libeb-4.3.3_1 +libchipcard.so.6 libchipcard-5.0.4_1 +libraqm.so.0 libraqm-0.2.0_1 +liboggz.so.2 liboggz-1.1.1_1 +libfishsound.so.1 libfishsound-1.0.0_1 +libxqilla.so.2 XQilla-2.3.4_1 +libKF5DocTools.so.5 kdoctools-5.36.0_1 +libKF5MediaPlayer.so.5 kmediaplayer-5.36.0_1 +libxo.so.0 libxo-0.9.0_1 +libbrotlicommon.so.1 brotli-1.0.2_1 +libbrotlidec.so.1 brotli-1.0.2_1 +libbrotlienc.so.1 brotli-1.0.2_1 +libfilteraudio.so filter_audio-0.0.1_1 +libgstreamermm-1.0.so.1 gstreamermm-1.8.0_1 +libmovit.so.8 movit-1.6.0_1 +libduktape.so.207 duktape-2.7.0_1 +libccgnu2-1.8.so.0 commoncpp2-1.8.1_1 +libccext2-1.8.so.0 commoncpp2-1.8.1_1 +libucommon.so.8 ucommon-7.0.0_1 +libusecure.so.8 ucommon-7.0.0_1 +libcommoncpp.so.8 ucommon-7.0.0_1 +libdatrie.so.1 libdatrie-0.2.10_1 +libthai.so.0 libthai-0.1.26_1 +libm17n-flt.so.0 m17n-lib-1.7.0_1 +libm17n-gui.so.0 m17n-lib-1.7.0_1 +libm17n-core.so.0 m17n-lib-1.7.0_1 +libm17n.so.0 m17n-lib-1.7.0_1 +libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1 +libprotoc.so.23.4.0 libprotoc-23.4_1 +libprotobuf.so.23.4.0 libprotobuf-23.4_1 +libsombok.so.3 sombok-2.4.0_1 +libdeviceclient.so.0 pragha-1.3.3_1 +libykclient.so.3 ykclient-2.15_1 +libbooster.so.0 cppcms-1.0.5_1 +libcppcms.so.1 cppcms-1.0.5_1 +libcppdb.so.0 cppdb-0.3.1_1 +libtracker-sparql-3.0.so.0 libtracker-3.0.0_1 +libdockapp.so.3 libdockapp-0.7.2_1 +libkrdccore.so.5 krdc-17.04.3_1 +libArcus.so.3 libArcus-3.1.0_1 +libgutenprint.so.9 gutenprint-5.3.3_1 +libunbound.so.8 libunbound-1.13.1_2 +libmirage.so.11 libmirage-3.1.0_1 +libwkhtmltox.so.0 libwkhtmltopdf-0.12.5_1 +libsysprof-4.so sysprof-3.37.90_1 +libsysprof-ui-5.so sysprof-3.46.0_1 +libvala-0.56.so.0 libvala-0.56.0_1 +libvaladoc-0.56.so.0 libvaladoc-0.56.0_1 +libvalaccodegen.so libvala-0.44.0_1 +libphodav-3.0.so.0 phodav-3.0_1 +libgfshare.so.2 libgfshare-2.0.0_1 +libtacacs.so.1 tacacs-4.0.4.28_1 +libffms2.so.4 libffms2-2.23.1_1 +libddcutil.so.4 ddcutil-1.0.1_1 +liblsmash.so.2 liblsmash-2.9.1_1 +libgiac.so.0 libgiac-1.4.9r17_1 +libgnustep-base.so.1.29 gnustep-base-1.29.0_1 +libtermbox.so.1 termbox-1.1.0_1 +libmysofa.so.1 libmysofa-1.2_1 +libzinnia.so.0 libzinnia-0.06_1 +libdnet.so.1 libdnet-1.12_1 +libgtkd-3.so.0 gtkd-3.7.0_2 +libgtkdsv-3.so.0 libgtkdsv-3.7.0_2 +libvted-3.so.0 libvted-3.7.0_2 +libpeasd-3.so.0 libpeasd-3.7.0_2 +libgstreamerd-3.so.0 libgstreamerd-3.7.0_2 +libgtkdgl-3.so.0 libgtkdgl-3.7.0_2 +libmega.so.30703 MEGAsdk-3.7.3c_2 +libopenglrecorder.so.0 libopenglrecorder-0.1.0_1 +libgpod.so.4 libgpod-0.8.3_1 +libi2c.so.0 i2c-tools-4.0_1 +libmarisa.so.0 marisa-0.2.5_1 +libopencc.so.1.1 opencc-1.1.1_1 +librime.so.1 librime-1.2.9_1 +libIMECore.so.0 libime-1.0.5_1 +libIMEPinyin.so.0 libime-1.0.5_1 +libIMETable.so.0 libime-1.0.5_1 +libIMEJyutping.so.1 libime-jyutping-1.0.2_1 +libairspy.so.0 libairspy-1.0.9_1 +libKF5KDcraw.so.5 libkdcraw5-17.04.3_1 +libKF5Kipi.so.32.0.0 libkipi5-17.04.3_1 +libhackrf.so.0 libhackrf-2017.02.1_1 +libtecla.so.1 libtecla-1.6.3_1 +libtecla_r.so.1 libtecla-1.6.3_1 +libzim.so.6 libzim-6.0.1_1 +libkiwix.so.9 kiwix-lib-9.0.1_1 +libaria2.so.0 libaria2-1.35.0_3 +librpm.so.9 librpm-4.15.0_1 +librpmsign.so.9 librpmsign-4.15.0_1 +librpmbuild.so.9 librpmbuild-4.15.0_1 +librpmio.so.9 librpmio-4.15.0_1 +libsquirrel.so.0 squirrel-libs-3.1_1 +libsqstdlib.so.0 squirrel-libs-3.1_1 +libexecinfo.so.1 libexecinfo-1.1_1 +libkdeconnectpluginkcm.so.2 kdeconnect-20.12.2_1 +libkdeconnectinterfaces.so.23 kdeconnect-23.04.0_1 +libkdeconnectcore.so.23 kdeconnect-23.04.0_1 +libkpmcore.so.12 kpmcore-22.04.1_1 +libpkcs11-helper.so.1 pkcs11-helper-1.25.1_6 +libr_core.so.5.7.8 radare2-5.7.8_1 +libr_config.so.5.7.8 radare2-5.7.8_1 +libr_cons.so.5.7.8 radare2-5.7.8_1 +libr_util.so.5.7.8 radare2-5.7.8_1 +libr_flag.so.5.7.8 radare2-5.7.8_1 +libr_asm.so.5.7.8 radare2-5.7.8_1 +libr_bin.so.5.7.8 radare2-5.7.8_1 +libr_anal.so.5.7.8 radare2-5.7.8_1 +libr_lang.so.5.7.8 radare2-5.7.8_1 +libr_debug.so.5.7.8 radare2-5.7.8_1 +libr_egg.so.5.7.8 radare2-5.7.8_1 +libr_bp.so.5.7.8 radare2-5.7.8_1 +libr_search.so.5.7.8 radare2-5.7.8_1 +libr_io.so.5.7.8 radare2-5.7.8_1 +libr_hash.so.5.7.8 radare2-5.7.8_1 +libr_socket.so.5.7.8 radare2-5.7.8_1 +libr_parse.so.5.7.8 radare2-5.7.8_1 +libr_syscall.so.5.7.8 radare2-5.7.8_1 +libr_crypto.so.5.7.8 radare2-5.7.8_1 +libr_fs.so.5.7.8 radare2-5.7.8_1 +libr_magic.so.5.7.8 radare2-5.7.8_1 +libr_reg.so.5.7.8 radare2-5.7.8_1 +libr_main.so.5.7.8 radare2-5.7.8_1 +libykpiv.so.2 libykpiv-2.3.0_1 +libykcs11.so.2 libykcs11-2.3.0_1 +libKF5KExiv2.so.15.0.0 libkexiv25-17.04.3_1 +libqmobipocket.so.2 libqmobipocket-17.04.3_1 +libgloox.so.18 gloox-1.0.24_1 +libgsmsd.so.8 gammu-smsd-1.39.0_1 +libGammu.so.8 gammu-1.39.0_1 +libKF5TextAutoCorrectionCore.so.1 ktextaddons-1.3.2_1 +libKF5TextAutoCorrectionWidgets.so.1 ktextaddons-1.3.2_1 +libKF5TextEditTextToSpeech.so.1 ktextaddons-1.3.2_1 +libKF5TextEmoticonsWidgets.so.1 ktextaddons-1.3.2_1 +libKF5TextEmoticonsCore.so.1 ktextaddons-1.3.2_1 +libKF5TextGrammarCheck.so.1 ktextaddons-1.3.2_1 +libKF5TextTranslator.so.1 ktextaddons-1.3.2_1 +libKF5TextAddonsWidgets.so.1 ktextaddons-1.3.2_1 +libz3.so z3-4.6.0_2 +libngspice.so.0 ngspice-35_1 +libvulkan.so.1 vulkan-loader-1.0.57.0_1 +libembb_mtapi_cpp.so embb-1.0.0_3 +libembb_mtapi_c.so embb-1.0.0_3 +libembb_mtapi_network_c.so embb-1.0.0_3 +libembb_base_cpp.so embb-1.0.0_3 +libembb_base_c.so embb-1.0.0_3 +libhpdf-2.3.0.so Haru-2.3.0_3 +libKF5Contacts.so.5 kcontacts-5.63.0_1 +libKPim5AkonadiXml.so.5 akonadi5-23.04.0_1 +libKPim5AkonadiCore.so.5 akonadi5-23.04.0_1 +libKPim5AkonadiPrivate.so.5 akonadi5-23.04.0_1 +libKPim5AkonadiWidgets.so.5 akonadi5-23.04.0_1 +libKPim5AkonadiAgentBase.so.5 akonadi5-23.04.0_1 +libKPim5TextEdit.so.5 kpimtextedit-23.04.0_1 +libKPim5IdentityManagement.so.5 kidentitymanagement-23.04.0_1 +libKPim5IdentityManagementWidgets.so.5 kidentitymanagement-23.04.0_1 +libKChart.so.2 kdiagram-2.6.0_1 +libKGantt.so.2 kdiagram-2.6.0_1 +libscrypt.so.0 libscrypt-1.21_1 +libzuluCryptPluginManager.so.1.0.0 zulucrypt-5.2.0_1 +libzuluCrypt-exe.so.1.2.0 zulucrypt-5.2.0_1 +libzuluCrypt.so.1.2.0 zulucrypt-5.2.0_1 +libaacs.so.0 libaacs-0.9.0_1 +libttfautohint.so.1 ttfautohint-1.8.1_1 +libcob.so.4 gnucobol-libs-2.2_1 +libkrfbprivate.so.5.0 krfb-17.08.1_1 +libarcan_shmif.so.0.15 arcan-0.6.1.1_1 +libarcan_shmif_ext.so.0.15 arcan-0.6.1.1_1 +libarcan_shmif_server.so.0.15 arcan-0.6.1.1_1 +libarcan_tui.so.0.15 arcan-0.6.1.1_1 +libarcan_a12.so.0.1 arcan-0.6.1.1_1 +liblwipv6.so.2 lwipv6-1.5a_1 +libpipewire-0.3.so.0 libpipewire-0.3.6_1 +libvolk.so.3.0 volk-3.0.0_1 +libgnuradio-runtime.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-pmt.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-blocks.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-audio.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-fec.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-fft.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-filter.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-analog.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-digital.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-dtv.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-channels.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-trellis.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-video-sdl.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-vocoder.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-wavelet.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-uhd.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-network.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-soapy.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-qtgui.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-zeromq.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-iio.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-pdu.so.3.10.5 gnuradio-3.10.5.0_1 +libgnuradio-osmosdr.so.0.2.0 gnuradio-osmosdr-0.2.0_1 +libflann_cpp.so.1.9 flann-1.9.1_1 +libflann.so.1.9 flann-1.9.1_1 +libvtkCommonCore-9.2.so.1 vtk-9.2.2_1 +libvtksys-9.2.so.1 vtk-9.2.2_1 +libvtkCommonMisc-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingContext2D-9.2.so.1 vtk-9.2.2_1 +libvtkCommonTransforms-9.2.so.1 vtk-9.2.2_1 +libvtkCommonMath-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingLOD-9.2.so.1 vtk-9.2.2_1 +libvtkViewsInfovis-9.2.so.1 vtk-9.2.2_1 +libvtkIOIOSS-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingLabel-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersPoints-9.2.so.1 vtk-9.2.2_1 +libvtkCommonExecutionModel-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingHyperTreeGrid-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersGeometry-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersGeneral-9.2.so.1 vtk-9.2.2_1 +libvtkCommonDataModel-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersTopology-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersSources-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingVolumeOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingCore-9.2.so.1 vtk-9.2.2_1 +libvtkIOOggTheora-9.2.so.1 vtk-9.2.2_1 +libvtkIOExportGL2PS-9.2.so.1 vtk-9.2.2_1 +libvtkIOAMR-9.2.so.1 vtk-9.2.2_1 +libvtkIOCesium3DTiles-9.2.so.1 vtk-9.2.2_1 +libvtkIOSegY-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingVtkJS-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersTexture-9.2.so.1 vtk-9.2.2_1 +libvtkIOVideo-9.2.so.1 vtk-9.2.2_1 +libvtkImagingSources-9.2.so.1 vtk-9.2.2_1 +libvtkImagingStencil-9.2.so.1 vtk-9.2.2_1 +libvtkIOCGNSReader-9.2.so.1 vtk-9.2.2_1 +libvtkCommonComputationalGeometry-9.2.so.1 vtk-9.2.2_1 +libvtkIOVeraOut-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersHybrid-9.2.so.1 vtk-9.2.2_1 +libvtkInteractionImage-9.2.so.1 vtk-9.2.2_1 +libvtkChartsCore-9.2.so.1 vtk-9.2.2_1 +libvtkImagingStatistics-9.2.so.1 vtk-9.2.2_1 +libvtkImagingHybrid-9.2.so.1 vtk-9.2.2_1 +libvtkGeovisCore-9.2.so.1 vtk-9.2.2_1 +libvtkInteractionWidgets-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersImaging-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersVerdict-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersSMP-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingUI-9.2.so.1 vtk-9.2.2_1 +libvtkIOHDF-9.2.so.1 vtk-9.2.2_1 +libvtkCommonSystem-9.2.so.1 vtk-9.2.2_1 +libvtkImagingColor-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingSceneGraph-9.2.so.1 vtk-9.2.2_1 +libvtkParallelCore-9.2.so.1 vtk-9.2.2_1 +libvtkIOInfovis-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkImagingFourier-9.2.so.1 vtk-9.2.2_1 +libvtkCommonColor-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingAnnotation-9.2.so.1 vtk-9.2.2_1 +libvtkIOSQL-9.2.so.1 vtk-9.2.2_1 +libvtkIOImage-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersCore-9.2.so.1 vtk-9.2.2_1 +libvtkInfovisCore-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersExtraction-9.2.so.1 vtk-9.2.2_1 +libvtkIOGeometry-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersFlowPaths-9.2.so.1 vtk-9.2.2_1 +libvtkIOMovie-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingVolume-9.2.so.1 vtk-9.2.2_1 +libvtkIOEnSight-9.2.so.1 vtk-9.2.2_1 +libvtkDomainsChemistryOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersStatistics-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersSelection-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersModeling-9.2.so.1 vtk-9.2.2_1 +libvtkViewsCore-9.2.so.1 vtk-9.2.2_1 +libvtkIOMotionFX-9.2.so.1 vtk-9.2.2_1 +libvtkIOLSDyna-9.2.so.1 vtk-9.2.2_1 +libvtkIOParallel-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingContextOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingImage-9.2.so.1 vtk-9.2.2_1 +libvtkIOXMLParser-9.2.so.1 vtk-9.2.2_1 +libvtkImagingMorphological-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersParallel-9.2.so.1 vtk-9.2.2_1 +libvtkViewsContext2D-9.2.so.1 vtk-9.2.2_1 +libvtkIOImport-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingLICOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkIOAsynchronous-9.2.so.1 vtk-9.2.2_1 +libvtkIOTecplotTable-9.2.so.1 vtk-9.2.2_1 +libvtkIOCityGML-9.2.so.1 vtk-9.2.2_1 +libvtkImagingMath-9.2.so.1 vtk-9.2.2_1 +libvtkIOParallelXML-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingGL2PSOpenGL2-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersGeneric-9.2.so.1 vtk-9.2.2_1 +libvtkIONetCDF-9.2.so.1 vtk-9.2.2_1 +libvtkImagingCore-9.2.so.1 vtk-9.2.2_1 +libvtkInfovisLayout-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersHyperTree-9.2.so.1 vtk-9.2.2_1 +libvtkIOExportPDF-9.2.so.1 vtk-9.2.2_1 +libvtkImagingGeneral-9.2.so.1 vtk-9.2.2_1 +libvtkIOXML-9.2.so.1 vtk-9.2.2_1 +libvtkIOChemistry-9.2.so.1 vtk-9.2.2_1 +libvtkInteractionStyle-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersAMR-9.2.so.1 vtk-9.2.2_1 +libvtkIOMINC-9.2.so.1 vtk-9.2.2_1 +libvtkTestingRendering-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersParallelImaging-9.2.so.1 vtk-9.2.2_1 +libvtkDomainsChemistry-9.2.so.1 vtk-9.2.2_1 +libvtkIOExport-9.2.so.1 vtk-9.2.2_1 +libvtkIOCore-9.2.so.1 vtk-9.2.2_1 +libvtkFiltersProgrammable-9.2.so.1 vtk-9.2.2_1 +libvtkIOCONVERGECFD-9.2.so.1 vtk-9.2.2_1 +libvtkIOLegacy-9.2.so.1 vtk-9.2.2_1 +libvtkRenderingFreeType-9.2.so.1 vtk-9.2.2_1 +libvtkIOPLY-9.2.so.1 vtk-9.2.2_1 +libvtkIOExodus-9.2.so.1 vtk-9.2.2_1 +libvtkkissfft-9.2.so.1 vtk-9.2.2_1 +libvolume_key.so.1 volume_key-0.3.9_1 +librand48_r.so.0 rand48_r-0.1_1 +libxxhash.so.0 libxxHash-0.6.5_2 +libcapnp_c.so.0 c-capnproto-0.3_1 +libTKernel.so.7.7 occt-7.7.1_1 +libTKXmlXCAF.so.7.7 occt-7.7.1_1 +libTKXmlTObj.so.7.7 occt-7.7.1_1 +libTKXmlL.so.7.7 occt-7.7.1_1 +libTKXml.so.7.7 occt-7.7.1_1 +libTKXSDRAW.so.7.7 occt-7.7.1_1 +libTKXSBase.so.7.7 occt-7.7.1_1 +libTKXMesh.so.7.7 occt-7.7.1_1 +libTKXDESTEP.so.7.7 occt-7.7.1_1 +libTKXDEIGES.so.7.7 occt-7.7.1_1 +libTKXDEDRAW.so.7.7 occt-7.7.1_1 +libTKXDECascade.so.7.7 occt-7.7.1_1 +libTKXDE.so.7.7 occt-7.7.1_1 +libTKXCAF.so.7.7 occt-7.7.1_1 +libTKViewerTest.so.7.7 occt-7.7.1_1 +libTKVRML.so.7.7 occt-7.7.1_1 +libTKVCAF.so.7.7 occt-7.7.1_1 +libTKV3d.so.7.7 occt-7.7.1_1 +libTKTopTest.so.7.7 occt-7.7.1_1 +libTKTopAlgo.so.7.7 occt-7.7.1_1 +libTKTObjDRAW.so.7.7 occt-7.7.1_1 +libTKTObj.so.7.7 occt-7.7.1_1 +libTKStdL.so.7.7 occt-7.7.1_1 +libTKStd.so.7.7 occt-7.7.1_1 +libTKShHealing.so.7.7 occt-7.7.1_1 +libTKService.so.7.7 occt-7.7.1_1 +libTKSTL.so.7.7 occt-7.7.1_1 +libTKSTEPBase.so.7.7 occt-7.7.1_1 +libTKSTEPAttr.so.7.7 occt-7.7.1_1 +libTKSTEP209.so.7.7 occt-7.7.1_1 +libTKSTEP.so.7.7 occt-7.7.1_1 +libTKRWMesh.so.7.7 occt-7.7.1_1 +libTKQADraw.so.7.7 occt-7.7.1_1 +libTKPrim.so.7.7 occt-7.7.1_1 +libTKOpenGlTest.so.7.7 occt-7.7.1_1 +libTKOpenGl.so.7.7 occt-7.7.1_1 +libTKOffset.so.7.7 occt-7.7.1_1 +libTKMeshVS.so.7.7 occt-7.7.1_1 +libTKMesh.so.7.7 occt-7.7.1_1 +libTKMath.so.7.7 occt-7.7.1_1 +libTKLCAF.so.7.7 occt-7.7.1_1 +libTKIGES.so.7.7 occt-7.7.1_1 +libTKHLR.so.7.7 occt-7.7.1_1 +libTKGeomBase.so.7.7 occt-7.7.1_1 +libTKGeomAlgo.so.7.7 occt-7.7.1_1 +libTKG3d.so.7.7 occt-7.7.1_1 +libTKG2d.so.7.7 occt-7.7.1_1 +libTKFillet.so.7.7 occt-7.7.1_1 +libTKFeat.so.7.7 occt-7.7.1_1 +libTKExpress.so.7.7 occt-7.7.1_1 +libTKDraw.so.7.7 occt-7.7.1_1 +libTKDCAF.so.7.7 occt-7.7.1_1 +libTKCDF.so.7.7 occt-7.7.1_1 +libTKCAF.so.7.7 occt-7.7.1_1 +libTKBool.so.7.7 occt-7.7.1_1 +libTKBinXCAF.so.7.7 occt-7.7.1_1 +libTKBinTObj.so.7.7 occt-7.7.1_1 +libTKBinL.so.7.7 occt-7.7.1_1 +libTKBin.so.7.7 occt-7.7.1_1 +libTKBRep.so.7.7 occt-7.7.1_1 +libTKBO.so.7.7 occt-7.7.1_1 +libargon2.so.1 libargon2-20171227_1 +libdazzle-1.0.so.0 libdazzle-3.28.0_1 +libjsonrpc-glib-1.0.so.1 jsonrpc-glib-3.28.0_1 +libtemplate_glib-1.0.so.0 template-glib-3.28.0_1 +libmedimport.so.0 libmed-3.3.1_1 +libmedC.so.11 libmed-4.0.0_1 +libmed.so.11 libmed-4.0.0_1 +libeog.so eog-3.28.0_4 +libfreexl.so.1 freexl-1.0.5_1 +libgeos_c.so.1 geos-3.9.0_1 +libpapi.so.5 papi-5.6.0_1 +libpfm.so.4 papi-5.6.0_1 +libfifechan.so.0.1.5 fifechan-0.1.5_1 +libfifechan_sdl.so.0.1.5 fifechan-0.1.5_1 +libfifechan_opengl.so.0.1.5 fifechan-0.1.5_1 +libpolyclipping.so.22 clipper-6.4.2_1 +libSoapySDR.so.0.8 SoapySDR-0.8.1_1 +libeditorconfig.so.0 editorconfig-0.12.2_1 +libcfitsio.so.10 cfitsio-4.2.0_1 +libapparmor.so.1 libapparmor-2.12.0_1 +libplacebo.so.208 libplacebo-4.208.0_1 +libw2xc.so waifu2x-converter-cpp-5.2_1 +libnova-0.15.so.0 libnova-0.15.0_1 +libcue.so.2 libcue-2.2.0_1 +libticonv.so.8 libticonv-1.1.5_1 +libtifiles2.so.10 libtifiles2-1.1.7_1 +libticables2.so.7 libticables2-1.3.5_1 +libticalcs2.so.12 libticalcs2-1.1.9_1 +libhtmlcxx.so.3 htmlcxx-0.86_1 +libcss_parser_pp.so.0 htmlcxx-0.86_1 +libcss_parser.so.0 htmlcxx-0.86_1 +libaom.so.3 libaom-3.4.0_1 +libre.so.12 re-2.10.0_1 +libtpms.so.0 libtpms-0.9.0_1 +libswtpm_libtpms.so.0 libswtpm-0.6.1_1 +libspandsp.so.2 spandsp-0.0.6_1 +libspa-alsa.so libspa-alsa-0.3.6_1 +libspa-audioconvert.so libspa-audioconvert-0.3.6_1 +libspa-audiomixer.so libspa-audiomixer-0.3.6_1 +libspa-bluez5.so libspa-bluetooth-0.3.6_1 +libspa-control.so libspa-control-0.3.6_1 +libspa-jack.so libspa-jack-0.3.6_1 +libspa-v4l2.so libspa-v4l2-0.3.6_1 +libspa-videoconvert.so libspa-videoconvert-0.3.6_1 +libspa-vulkan.so libspa-vulkan-0.3.6_1 +librem.so.4 rem-2.10.0_1 +libshp.so.1 shapelib-1.4.1_1 +libantlr3c.so libantlr3c-3.4_1 +libbzrtp.so.0 bzrtp-1.0.6_1 +libbellesip.so.1 belle-sip-4.4.0_1 +libKPim5EventViews.so.5 eventviews-23.04.0_1 +libKPim5IncidenceEditor.so.5 incidenceeditor-23.04.0_1 +libmediastreamer.so.11 mediastreamer-4.4.0_1 +liblinphone.so.10 linphone-4.4.0_1 +liblinphone++.so.10 linphone-4.4.0_1 +libbelr.so.1 belr-0.1.3_1 +libbelcard.so.1 belcard-1.0.2_1 +libshaderc_shared.so.1 shaderc-2018.0_1 +libglslang.so.11 glslang-11.11.0_1 +libHLSL.so glslang-11.11.0_1 +libSPIRV.so glslang-11.11.0_1 +libSPIRV-Tools-shared.so SPIRV-Tools-2022.3_1 +libmaxminddb.so.0 libmaxminddb-1.3.2_1 +libmysqlpp.so.3 mysql++-3.2.5_1 +libKF5Syndication.so.5 syndication-5.50.0_1 +liblqr-1.so.0 liblqr-0.4.2_1 +libmozjs-102.so.0 mozjs102-102.3.0_1 +libmozjs-78.so.0 mozjs78-78.1.0_1 +libebur128.so.1 libebur128-1.2.4_1 +libgtksourceview-4.so.0 gtksourceview4-4.0.2_1 +libgtksourceview-5.so.0 gtksourceview5-5.2.0_1 +libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1 +libtepl-6.so.2 tepl-6.4.0_1 +libnomacsCore.so.3 nomacs-3.10.2_4 +libaudit.so.1 libaudit-2.8.4_1 +libauparse.so.0 libauparse-2.8.4_1 +libOpenCL.so.1 ocl-icd-2.2.12_1 +liburiparser.so.1 uriparser-0.8.6_1 +libcpptest.so.1 cpptest-2.0.0_1 +libhandy-0.0.so.0 libhandy-0.0.3_1 +libhandy-1.so.0 libhandy1-0.90.0_1 +libadwaita-1.so.0 libadwaita-1.0.0alpha2_1 +libswitchboard-2.0.so.0 switchboard-2.3.2_1 +libcodecore.so.0 libio.elementary.code-3.0_1 +libpantheon-files-core.so.6 libio.elementary.files-6.0.0_1 +libpantheon-files-widgets.so.6 libio.elementary.files-6.0.0_1 +libwlroots.so.9 wlroots0.14-0.14.1_1 +libwlroots.so.10 wlroots0.15-0.15.1_1 +libwlroots.so.11 wlroots-0.16.0_1 +libbaseencode.so.1 libbaseencode-1.0.9_1 +libcotp.so.2 libcotp-2.0.1_1 +libunarr.so.1 libunarr-1.0.1_1 +libretro-gtk-1.so.0 retro-gtk-1.0.0_1 +libmanette-0.2.so.0 libmanette-0.2.1_1 +libfmt.so.9 fmt-9.0.0_1 +libelementary-calendar.so.0 libio.elementary.calendar-4.2.3_1 +libolm.so.3 olm-3.0.0_1 +libtls.so.26 libtls-3.6.1_1 +libxmlb.so.2 libxmlb-0.2.1_1 +libvoikko.so.1 libvoikko-4.2_1 +libfstrcmp.so.0 libfstrcmp-0.7.D001_1 +libUMP.so.3 libump-git-20181122_2 +libdri2.so.1 libdri2-git-20140317_2 +libpst.so.4 libpst-0.6.72_1 +libhamlib.so.4 hamlib-4.4_1 +libhamlib++.so.4 hamlib-4.4_1 +libnss_mdns_minimal.so.2 nss-mdns-0.14.1_1 +libnss_mdns4_minimal.so.2 nss-mdns-0.14.1_1 +libnss_mdns6_minimal.so.2 nss-mdns-0.14.1_1 +libnss_mdns.so.2 nss-mdns-0.14.1_1 +libnss_mdns4.so.2 nss-mdns-0.14.1_1 +libnss_mdns6.so.2 nss-mdns-0.14.1_1 +libSavitar.so.0 libSavitar-2.7.0_1 +libcsfml-audio.so.2.5 CSFML-2.5_1 +libcsfml-graphics.so.2.5 CSFML-2.5_1 +libcsfml-window.so.2.5 CSFML-2.5_1 +libcsfml-system.so.2.5 CSFML-2.5_1 +libcsfml-network.so.2.5 CSFML-2.5_1 +libtokyocabinet.so.9 tokyocabinet-1.4.48_1 +libdav1d.so.6 libdav1d6-1.0.0_1 +librav1e.so.0 rav1e-0.6.3_1 +libdqlite.so.0 dqlite-0.2.1_1 +libwoff2common.so.1.0.2 libwoff2common1.0.2-1.0.2_1 +libwoff2enc.so.1.0.2 libwoff2enc1.0.2-1.0.2_1 +libwoff2dec.so.1.0.2 libwoff2dec1.0.2-1.0.2_1 +libcloudproviders.so.0 libcloudproviders-0.2.5_2 +libKF5KDEGames.so.7 libkdegames-18.08.3_1 +libKF5KDEGamesPrivate.so.7 libkdegames-21.04.0_1 +libidn2.so.0 libidn2-2.1.1_1 +libgmime-3.0.so.0 gmime-3.2.3_1 +libgetdns.so.10 getdns-1.5.1_7 +libgetdns_ext_event.so.10 getdns-1.5.1_7 +libgetdns_ext_ev.so.10 getdns-1.5.1_7 +libgetdns_ext_uv.so.10 getdns-1.5.1_7 +libzck.so.1 zchunk-1.1.9_3 +librec.so.1 librec1-1.8_1 +libfixposix.so.3 libfixposix-0.4.3_1 +libgerv.so.1 gerbv-2.6.2_1 +libtexpdf.so.0 libtexpdf-0.9.5_1 +libupstart.so.1 libupstart-1.13.3_1 +librtas.so.2 librtas-2.0.2_1 +librtasevent.so.2 librtas-2.0.2_1 +libbroker.so.3 zeek-4.0.1_1 +libcaf_core.so.0.18.0 zeek-4.0.0_1 +libcaf_io.so.0.18.0 zeek-4.0.0_1 +libcaf_openssl.so.0.18.0 zeek-4.0.0_1 +libbinpac.so.0 zeek-3.2.4_2 +libllhttp.so.1 llhttp-1.0.1_1 +libpinyin.so.15 libpinyin-2.8.1_1 +libzhuyin.so.15 libzhuyin-2.8.1_1 +libuhd.so.4.0.0 uhd-4.0.0.0_1 +libeditline.so.1 editline-1.16.0_1 +libgnuradio-rds.so.1 gnuradio-rds-3.8.0_1 +libgnuradio-nrsc5.so.2.0.0git gnuradio-nrsc5-2.0.0_1 +libgamemode.so.0 libgamemode-1.6.1_1 +libgamemodeauto.so.0 libgamemode-1.6.1_1 +libgaminggear.so.0 libgaminggear-0.15.1_1 +libgaminggearfx.so.0 libgaminggear-0.15.1_1 +libgaminggearwidget.so.0 libgaminggear-0.15.1_1 +libopkg.so.1 libopkg-0.4.4_2 +libpkgconf.so.4 libpkgconf-1.9.3_1 +libkodiplatform.so.19.0 kodi-platform-20180302_1 +libQuotient.so.0.6 libQuotient-0.6.11_1 +libipset.so.13 libipset-7.9_1 +libmp3splt.so.0 libmp3splt-0.9.2_1 +libliquid.so.1 liquid-dsp-1.4.0_1 +libsnore-qt5.so.0.7 snorenotify-0.7.0_1 +libsnoresettings-qt5.so.0.7 snorenotify-0.7.0_1 +libTECkit.so.0 libteckit-2.5.8_1 +libTECkit_Compiler.so.0 libteckit-2.5.8_1 +libwf-config.so.1 wf-config-0.5.0_1 +libQt5Pas.so.1 qt5pas-2.6~beta_1 +libClp.so.1 libClp-1.16.11_1 +libCoinUtils.so.3 libClp-1.16.11_1 +libOsiClp.so.1 libClp-1.16.11_1 +libClpSolver.so.1 libClp-1.16.11_1 +libOsiCommonTests.so.1 libClp-1.16.11_1 +libOsi.so.1 libClp-1.16.11_1 +libOGDF.so libogdf-2018.03_1 +libCOIN.so libogdf-2018.03_1 +librocksdb.so.7 rocksdb-7.4.5_1 +libfrr.so.0 libfrr-6.0_1 +libkaccounts.so.2 kaccounts-integration-20.04.3_1 +libfrrospfapiclient.so.0 libfrrospfapiclient-6.0_1 +liborocos-kdl.so.1.4 orocos-kdl-1.4.0_1 +libibumad.so.3 rdma-core-22.1_1 +libibverbs.so.1 rdma-core-22.1_1 +librdmacm.so.1 rdma-core-22.1_1 +libdvdcss.so.2 libdvdcss-1.4.2_1 +libvalapanel.so.0 vala-panel-0.4.87_1 +libappmenu-gtk3-parser.so.0 appmenu-gtk3-module-0.7.1_1 +libqhttpengine.so.1 qhttpengine-1.0.1_1 +libqmdnsengine.so.0 qmdnsengine-0.1.0_1 +libyang.so.1 libyang-1.0r5_1 +libhtp.so.2 libhtp-0.5.30_1 +libgedit-44.so gedit-44.0_1 +libchewing.so.3 libchewing-0.5.1_1 +libdwarves.so.1 pahole-1.12_1 +libdwarves_emit.so.1 pahole-1.12_1 +libdwarves_reorganize.so.1 pahole-1.12_1 +libclthreads.so.2 clthreads-2.4.2_1 +libclxclient.so.3 clxclient-3.9.2_1 +libltc.so.11 libltc-1.3.1_1 +libvpd-2.2.so.2 libvpd-2.2.6_1 +libvpd_cxx-2.2.so.2 libvpd-2.2.6_1 +liblcf.so.0 liblcf-0.6.0_1 +liboblibs.so.0.1 oblibs-0.1.1.1_1 +libaal-1.0.so.7 libaal-1.0.7_1 +libaal-minimal.so.0 libaal-1.0.7_1 +libcli.so.1.9 libcli-1.9.8.4_1 +libaddress_sorting.so.33 libgrpc-1.56.0_1 +libgpr.so.33 libgrpc-1.56.0_1 +libgrpc.so.33 libgrpc-1.56.0_1 +libgrpc_unsecure.so.33 libgrpc-1.56.0_1 +libupb.so.33 libgrpc-1.56.0_1 +libgrpc++.so.1.56 libgrpc-1.56.0_1 +libgrpc++_alts.so.1.56 libgrpc-1.56.0_1 +libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1 +libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1 +libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1 +libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1 +libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1 +libircclient.so.1 libircclient-1.10_5 +libFAudio.so.0 FAudio-19.05_1 +libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1 +libnitrokey.so.3 libnitrokey-3.4.1_1 +libceres.so.3 ceres-solver-2.1.0_1 +libgraphene-1.0.so.0 graphene-1.8.2_1 +libflite.so.1 flite-2.1_1 +libflite_cmu_us_kal.so.1 flite-2.1_1 +libflite_usenglish.so.1 flite-2.1_1 +libflite_cmulex.so.1 flite-2.1_1 +libflite_cmu_us_kal16.so.1 flite-2.2_1 +libgtk-4.so.1 gtk4-4.0.0_1 +libmodule.so.5 libmodule-5.0.0_1 +libgnustep-gui.so.0 gnustep-gui-0.30.0_1 +libmhash.so.2 mhash-0.9.9.9_1 +librlottie.so.0 rlottie-0.0.20160709_1 +libdocopt.so.0 docopt.cpp-0.6.3_1 +libfstrm.so.0 fstrm-0.5.0_1 +libfreecell-solver.so.0 libfreecell-solver-5.10.0_1 +libknot.so.13 libknot-3.2.0_1 +libdnssec.so.9 libknot-3.2.0_1 +libzscanner.so.4 libknot-3.1.0_1 +libkres.so.9 knot-resolver-4.0.0_1 +libnsl.so.3 libnsl-2.0.0_1 +libbcc.so.0 bcc-0.10.0_1 +libbcc_bpf.so.0 bcc-0.10.0_1 +libde265.so.0 libde265-1.0.3_1 +libheif.so.1 libheif-1.4.0_1 +libuninameslist.so.1 libuninameslist-20190701_1 +libgambit.so.4 gambit-4.9.3_6 +liblog4cpp.so.5 log4cpp-1.1.3_1 +libnuspell.so.5 libnuspell-5.0.0_1 +liblog4c.so.3 log4c-1.2.4_1 +libqb.so.100 libqb-2.0.0_1 +libusbguard.so.1 usbguard-1.0.0_1 +libknet.so.1 libknet1-1.11_4 +libdrumstick-file.so.1 drumstick-1.1.2_1 +libdrumstick-alsa.so.1 drumstick-1.1.2_1 +libdrumstick-rt.so.1 drumstick-1.1.2_1 +libnozzle.so.1 libnozzle1-1.11_4 +libmygpo-qt5.so.1 libmygpo-qt-1.1.0_1 +libluv.so.1 libluv-1.30.1.0_1 +libarmadillo.so.11 armadillo-11.0.1_1 +libvarnishapi.so.3 libvarnishapi-7.1.0_1 +libicns.so.1 libicns-0.8.1_1 +librabbitmq.so.4 rabbitmq-c-0.10.0_2 +libuInputPlus.so.0 libuInputPlus-0.1.3_1 +libevdevPlus.so.0 libevdevPlus-0.1.0_1 +librte_lpm.so.2 dpdk-19.08_5 +librte_sched.so.3 dpdk-19.08_5 +librte_eal.so.11 dpdk-19.08_5 +librte_pci.so.1 dpdk-19.08_5 +librte_gro.so.1 dpdk-19.08_5 +librte_jobstats.so.1 dpdk-19.08_5 +librte_bpf.so.1 dpdk-19.08_5 +librte_ip_frag.so.1 dpdk-19.08_5 +librte_port.so.3 dpdk-19.08_5 +librte_latencystats.so.1 dpdk-19.08_5 +librte_pipeline.so.3 dpdk-19.08_5 +librte_distributor.so.1 dpdk-19.08_5 +librte_pmd_vmxnet3.so.1 dpdk-19.08_5 +librte_pmd_dpaa_sec.so.1 dpdk-19.08_5 +librte_common_octeontx.so.1 dpdk-19.08_5 +librte_pmd_iavf.so.1 dpdk-19.08_5 +librte_pmd_octeontx_event.so.1 dpdk-19.08_5 +librte_pmd_ring.so.2 dpdk-19.08_5 +librte_rawdev_skeleton.so.1 dpdk-19.08_5 +librte_pmd_qat.so.1 dpdk-19.08_5 +librte_pmd_hinic.so.1 dpdk-19.08_5 +librte_bus_vmbus.so.2 dpdk-19.08_5 +librte_pmd_null.so.2 dpdk-19.08_5 +librte_pmd_bbdev_null.so.1 dpdk-19.08_5 +librte_common_dpaax.so.1 dpdk-19.08_5 +librte_pmd_dpaa2_event.so.2 dpdk-19.08_5 +librte_pmd_bnxt.so.2 dpdk-19.08_5 +librte_bus_ifpga.so.2 dpdk-19.08_5 +librte_pmd_pcap.so.1 dpdk-19.08_5 +librte_pmd_kni.so.1 dpdk-19.08_5 +librte_pmd_enetc.so.1 dpdk-19.08_5 +librte_pmd_atlantic.so.1 dpdk-19.08_5 +librte_mempool_stack.so.1 dpdk-19.08_5 +librte_pmd_opdl_event.so.1 dpdk-19.08_5 +librte_rawdev_dpaa2_cmdif.so.2 dpdk-19.08_5 +librte_pmd_avp.so.1 dpdk-19.08_5 +librte_pmd_cxgbe.so.1 dpdk-19.08_5 +librte_pmd_crypto_scheduler.so.1 dpdk-19.08_5 +librte_pmd_openssl.so.1 dpdk-19.08_5 +librte_pmd_octeontx2_event.so.1 dpdk-19.08_5 +librte_pmd_sfc.so.1 dpdk-19.08_5 +librte_pmd_i40e.so.2 dpdk-19.08_5 +librte_pmd_e1000.so.1 dpdk-19.08_5 +librte_rawdev_octeontx2_dma.so.1 dpdk-19.08_5 +librte_rawdev_ioat.so.1 dpdk-19.08_5 +librte_pmd_dpaa2.so.2 dpdk-19.08_5 +librte_pmd_sw_event.so.1 dpdk-19.08_5 +librte_mempool_octeontx2.so.1 dpdk-19.08_5 +librte_pmd_bbdev_fpga_lte_fec.so.1 dpdk-19.08_5 +librte_rawdev_ntb.so.1 dpdk-19.08_5 +librte_pmd_memif.so.1 dpdk-19.08_5 +librte_pmd_dpaa2_sec.so.2 dpdk-19.08_5 +librte_pmd_failsafe.so.1 dpdk-19.08_5 +librte_pmd_thunderx.so.1 dpdk-19.08_5 +librte_pmd_octeontx.so.1 dpdk-19.08_5 +librte_pmd_dpaa.so.1 dpdk-19.08_5 +librte_pmd_caam_jr.so.1 dpdk-19.08_5 +librte_pmd_virtio.so.1 dpdk-19.08_5 +librte_pmd_octeontx_compress.so.1 dpdk-19.08_5 +librte_pmd_zlib.so.1 dpdk-19.08_5 +librte_bus_pci.so.2 dpdk-19.08_5 +librte_pmd_bond.so.2 dpdk-19.08_5 +librte_pmd_ice.so.1 dpdk-19.08_5 +librte_pmd_skeleton_event.so.1 dpdk-19.08_5 +librte_mempool_ring.so.1 dpdk-19.08_5 +librte_pmd_octeontx2.so.1 dpdk-19.08_5 +librte_mempool_octeontx.so.1 dpdk-19.08_5 +librte_pmd_ark.so.1 dpdk-19.08_5 +librte_pmd_null_crypto.so.1 dpdk-19.08_5 +librte_pmd_ena.so.1 dpdk-19.08_5 +librte_pmd_axgbe.so.1 dpdk-19.08_5 +librte_common_cpt.so.1 dpdk-19.08_5 +librte_pmd_af_packet.so.1 dpdk-19.08_5 +librte_pmd_vhost.so.2 dpdk-19.08_5 +librte_pmd_softnic.so.1 dpdk-19.08_5 +librte_pmd_nfp.so.1 dpdk-19.08_5 +librte_bus_fslmc.so.2 dpdk-19.08_5 +librte_bus_dpaa.so.2 dpdk-19.08_5 +librte_pmd_fm10k.so.1 dpdk-19.08_5 +librte_pmd_bbdev_turbo_sw.so.1 dpdk-19.08_5 +librte_mempool_dpaa2.so.2 dpdk-19.08_5 +librte_pmd_ipn3ke.so.1 dpdk-19.08_5 +librte_pmd_vdev_netvsc.so.1 dpdk-19.08_5 +librte_mempool_dpaa.so.1 dpdk-19.08_5 +librte_pmd_bnx2x.so.1 dpdk-19.08_5 +librte_pmd_enic.so.1 dpdk-19.08_5 +librte_pmd_ixgbe.so.2 dpdk-19.08_5 +librte_common_octeontx2.so.1 dpdk-19.08_5 +librte_pmd_liquidio.so.1 dpdk-19.08_5 +librte_pmd_netvsc.so.2 dpdk-19.08_5 +librte_mempool_bucket.so.1 dpdk-19.08_5 +librte_pmd_virtio_crypto.so.1 dpdk-19.08_5 +librte_pmd_ccp.so.1 dpdk-19.08_5 +librte_bus_vdev.so.2 dpdk-19.08_5 +librte_pmd_tap.so.1 dpdk-19.08_5 +librte_pmd_octeontx_crypto.so.1 dpdk-19.08_5 +librte_rawdev_dpaa2_qdma.so.2 dpdk-19.08_5 +librte_pmd_dsw_event.so.1 dpdk-19.08_5 +librte_pmd_dpaa_event.so.1 dpdk-19.08_5 +librte_pmd_ifc.so.1 dpdk-19.08_5 +librte_stack.so.1 dpdk-19.08_5 +librte_kvargs.so.1 dpdk-19.08_5 +librte_security.so.2 dpdk-19.08_5 +librte_bitratestats.so.2 dpdk-19.08_5 +librte_rcu.so.1 dpdk-19.08_5 +librte_gso.so.1 dpdk-19.08_5 +librte_efd.so.1 dpdk-19.08_5 +librte_cmdline.so.2 dpdk-19.08_5 +librte_telemetry.so.1 dpdk-19.08_5 +librte_pdump.so.3 dpdk-19.08_5 +librte_eventdev.so.7 dpdk-19.08_5 +librte_vhost.so.4 dpdk-19.08_5 +librte_net.so.1 dpdk-19.08_5 +librte_meter.so.3 dpdk-19.08_5 +librte_acl.so.2 dpdk-19.08_5 +librte_mempool.so.5 dpdk-19.08_5 +librte_table.so.3 dpdk-19.08_5 +librte_power.so.1 dpdk-19.08_5 +librte_reorder.so.1 dpdk-19.08_5 +librte_ring.so.2 dpdk-19.08_5 +librte_ethdev.so.12 dpdk-19.08_5 +librte_bbdev.so.1 dpdk-19.08_5 +librte_ipsec.so.1 dpdk-19.08_5 +librte_timer.so.1 dpdk-19.08_5 +librte_cfgfile.so.2 dpdk-19.08_5 +librte_member.so.1 dpdk-19.08_5 +librte_compressdev.so.1 dpdk-19.08_5 +librte_mbuf.so.5 dpdk-19.08_5 +librte_hash.so.2 dpdk-19.08_5 +librte_flow_classify.so.1 dpdk-19.08_5 +librte_metrics.so.1 dpdk-19.08_5 +librte_cryptodev.so.8 dpdk-19.08_5 +librte_rawdev.so.1 dpdk-19.08_5 +librte_kni.so.2 dpdk-19.08_5 +libredwg.so.0 libredwg-0.9_1 +libgcj-tools.so.17 libgcj-6.5.0_1 +libgcj_bc.so.1 libgcj-6.5.0_1 +libgcj.so.17 libgcj-6.5.0_1 +libgij.so.17 libgcj-6.5.0_1 +libtty.so.1 libtermrec-0.18_1 +libtss2-mu.so.0 tpm2-tss-2.3.1_1 +libtss2-esys.so.0 tpm2-tss-2.3.1_1 +libtss2-sys.so.1 tpm2-tss-3.0.1_1 +libtss2-tcti-device.so.0 tpm2-tss-2.3.1_1 +libtss2-rc.so.0 tpm2-tss-2.3.1_1 +libtss2-tcti-mssim.so.0 tpm2-tss-2.3.1_1 +libtss2-tctildr.so.0 tpm2-tss-2.3.1_1 +libzfsbootenv.so.1 libzfs-2.1.7_1 +libzfs.so.4 libzfs-2.1.7_1 +libuutil.so.3 libzfs-2.1.7_1 +libzpool.so.5 libzfs-2.1.7_1 +libzfs_core.so.3 libzfs-2.1.7_1 +libnvpair.so.3 libzfs-2.1.7_1 +libgmio.so gmio-0.4.1_1 +libjsonnet.so.0 jsonnet-0.14.0_2 +libjsonnet++.so.0 jsonnet-0.14.0_2 +libigdgmm.so.12 intel-gmmlib-22.1.3_1 +libigfxcmrt.so.7 intel-media-driver-21.3.5_1 +libigraph.so.3 igraph-0.10.2_1 +libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 +librdkafka.so.1 librdkafka-1.4.4_3 +librdkafka++.so.1 librdkafka-1.4.4_3 +libraft.so.2 raft-0.13.0_1 +libmdnsd.so.1 libmdnsd-0.9_1 +libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 +libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 +libcaribou.so.0 libcaribou-0.4.21_3 +libtinyclipboard.so.1 tinyclipboard-16.01_1 +libcbor.so.0.10 libcbor-0.10.1_1 +libfido2.so.1 libfido2-1.6.0_2 +libOpenImageDenoise.so.1 openimagedenoise-1.3.0_1 +libcbang0.so cbang-1.6.0_3 +libblosc.so.1 c-blosc-1.17.1_1 +libopenvdb.so.9.0 openvdb-9.0.0_1 +libAlembic.so.1.8 alembic-1.8.3_1 +libmodsecurity.so.3 modsecurity-3.0.4_1 +libraven.so.0 budgie-desktop-10.5.1_1 +libbudgie-private.so.0 budgie-desktop-10.5.1_1 +libbudgietheme.so.0 budgie-desktop-10.5.1_1 +libbudgie-plugin.so.0 budgie-desktop-10.5.1_1 +libslirp.so.0 libslirp-4.2.0_1 +libqpdf.so.29 libqpdf-11.0.0_1 +libstk-4.6.1.so libstk-4.6.1_1 +libc++utilities.so.5 cpp-utilities-5.2.0_1 +libtagparser.so.12 tagparser-12.0.0_1 +libqtutilities.so.6 qtutilities-6.0.4_1 +libkdsoap.so.2 KDSoap-2.0.0_1 +libkdsoap-server.so.2 KDSoap-2.0.0_1 +libstoken.so.1 stoken-0.92_1 +libjpegxr.so.0 jxrlib-0.2.2_1 +libjxrglue.so.0 jxrlib-0.2.2_1 +libhidrd_util.so.0 hidrd-0.2.0_1 +libhidrd_usage.so.0 hidrd-0.2.0_1 +libhidrd_item.so.0 hidrd-0.2.0_1 +libhidrd_opt.so.0 hidrd-0.2.0_1 +libhidrd_strm.so.0 hidrd-0.2.0_1 +libhidrd_fmt.so.0 hidrd-0.2.0_1 +libjcat.so.1 libjcat-0.1.2_1 +libmatio.so.11 matio-1.5.23_1 +libportal.so.1 libportal-0.6_1 +libportal-gtk3.so.1 libportal-gtk3-0.6_1 +libportal-gtk4.so.1 libportal-gtk4-0.6_1 +libvips.so.42 libvips-8.9.2_1 +libvips-cpp.so.42 libvips-8.9.2_1 +libselinux.so.1 libselinux-3.0_1 +libsepol.so.1 libsepol-3.0_1 +libfrrcares.so.0 libfrr-7.3.1_1 +libhugetlbfs.so.0 libhugetlbfs-2.22_1 +libmonocypher.so.4 monocypher-4.0.1_1 +libkpathsea.so.6 texlive-20200406_1 +libtexluajit.so.2 texlive-LuaTeX-20200406_1 +libtexlua53.so.5 texlive-LuaTeX-20200406_1 +libptexenc.so.1 texlive-20200406_1 +libsynctex.so.2 libsynctex-20200406_3 +libdolphinvcs.so.5 dolphin-20.04.3_1 +libocl.so.2019.07 opencamlib-2019.07_1 +libcglm.so.0 cglm-0.7.6_1 +libfcft.so.4 fcft-3.0.1_1 +libaml.so.0 aml-0.1.0_1 +libneatvnc.so.0 neatvnc-0.3.2_1 +libtdjson.so.1.8.0 libtd-1.8.0_1 +libJudy.so.1 judy-1.0.5_1 +libsignal-protocol-c.so.2 libsignal-protocol-c-2.3.3_2 +libKSeExprUI.so.4 seexpr-krita-4.0.4.0_1 +libKSeExpr.so.4 seexpr-krita-4.0.4.0_1 +libkritaqmicinterface.so.17 krita-5.0.0_1 +liburing.so.2 liburing-2.0_1 +libbson-1.0.so.0 libbson-1.17.4_2 +libsonic.so.0 libsonic-0.2.0_1 +libtickit.so.3 libtickit-0.4.1_1 +libnotcurses.so.3 notcurses-3.0.5_1 +libnotcurses-core.so.3 notcurses-3.0.5_1 +libnotcurses++.so.3 notcurses-3.0.5_1 +libnotcurses-ffi.so.3 notcurses-3.0.5_1 +libevemu.so.3 evemu-2.7.0_1 +libinih.so.0 inih-52_1 +libpcaudio.so.0 pcaudiolib-1.1_1 +libdcerpc-samr.so.0 samba-4.13.2_1 +libdcerpc-server-core.so.0 samba-4.13.2_1 +libnetapi.so.0 samba-4.13.2_1 +libnss_winbind.so.2 samba-4.13.2_1 +libnss_wins.so.2 samba-4.13.2_1 +libsamba-policy.so.0 samba-4.13.2_1 +libauth-unix-token-samba4.so samba-4.13.2_1 +libauth4-samba4.so samba-4.13.3_1 +libdcerpc-samba4.so samba-4.13.2_1 +libdsdb-module-samba4.so samba-4.13.2_1 +libgpext-samba4.so samba-4.13.2_1 +libnet-keytab-samba4.so samba-4.13.3_1 +libposix-eadb-samba4.so samba-4.13.2_1 +libprinting-migrate-samba4.so samba-4.13.2_1 +libsamba-net-samba4.so samba-4.13.2_1 +libsamba-python-samba4.so samba-4.13.3_1 +libshares-samba4.so samba-4.13.2_1 +libsmbd-base-samba4.so samba-4.13.2_1 +libsmbd-conn-samba4.so samba-4.13.2_1 +libsmbpasswordparser-samba4.so samba-4.13.3_1 +libxattr-tdb-samba4.so samba-4.13.2_1 +libdcerpc.so.0 samba-libs-4.13.2_1 +libdcerpc-binding.so.0 samba-libs-4.13.2_1 +libndr-krb5pac.so.0 samba-libs-4.13.2_1 +libndr-nbt.so.0 samba-libs-4.13.2_1 +libndr-standard.so.0 samba-libs-4.13.2_1 +libndr.so.1 samba-libs-4.13.2_1 +libsamba-credentials.so.1 samba-libs-4.13.2_1 +libsamba-errors.so.1 samba-libs-4.13.2_1 +libsamba-hostconfig.so.0 samba-libs-4.13.2_1 +libsamba-passdb.so.0 samba-libs-4.13.2_1 +libsamba-util.so.0 samba-libs-4.13.2_1 +libsamdb.so.0 samba-libs-4.13.2_1 +libsmbclient.so.0 samba-libs-4.13.2_1 +libsmbconf.so.0 samba-libs-4.13.2_1 +libsmbldap.so.2 samba-libs-4.13.2_1 +libwbclient.so.0 samba-libs-4.13.2_1 +libcli-ldap-samba4.so samba-libs-4.13.2_1 +libcliauth-samba4.so samba-libs-4.13.2_1 +libcluster-samba4.so samba-libs-4.13.3_1 +libcommon-auth-samba4.so samba-libs-4.13.2_1 +libdcerpc-samba-samba4.so samba-libs-4.13.2_1 +libflag-mapping-samba4.so samba-libs-4.13.3_1 +libgpo-samba4.so samba-libs-4.13.2_1 +libiov-buf-samba4.so samba-libs-4.13.3_1 +libndr-samba-samba4.so samba-libs-4.13.2_1 +libndr-samba4.so samba-libs-4.13.2_1 +libprinter-driver-samba4.so samba-libs-4.13.3_1 +libsmb-transport-samba4.so samba-libs-4.13.2_1 +libtdb-wrap-samba4.so samba-libs-4.13.3_1 +libutil-cmdline-samba4.so samba-libs-4.13.2_1 +libwinbind-client-samba4.so samba-libs-4.13.2_1 +libsixel.so.1 libsixel-1.8.6_1 +libpamtest.so.0 pam_wrapper-1.1.3_1 +libopenaptx.so.0 libopenaptx-0.2.0_1 +libsimavr.so.1 simavr-1.6_2 +libsimavrparts.so.1 simavr-1.6_2 +libsword-1.8.1.so libsword-1.8.1_6 +libgivaro.so.9 givaro-4.1.1_1 +liblinbox.so.0 linbox-1.6.3_1 +libpari-gmp-tls.so.8 pari-2.15.0_1 +libtree-sitter.so.0 tree-sitter-0.19.0_1 +libplanarity.so.0 planarity-3.0.1.1_1 +libgap.so.8 gap-4.12.0_1 +libgtkdatabox.so.1 gtkdatabox3-1.0.0_1 +libxcvt.so.0 libxcvt-0.1.1_1 +libgf2x.so.3 gf2x-1.3.0_1 +libntl.so.44 ntl-11.5.1_1 +libflint.so.17 flintlib-2.9.0_1 +libarb.so.2 arb-2.20.0_1 +libec.so.10 eclib-20220621_1 +libsymmetrica.so.2 symmetrica-3.0.1_1 +libLfunction.so.1 lcalc-2.0.4_1 +liblrcalc.so.2 lrcalc-2.1_1 +libwayland-client++.so.0 libwaylandpp-0.2.8_1 +libwayland-cursor++.so.0 libwaylandpp-0.2.8_1 +libwayland-egl++.so.0 libwaylandpp-0.2.8_1 +libwayland-client-extra++.so.0 libwaylandpp-0.2.8_1 +libspdlog.so.1.11 libspdlog-1.11.0_1 +libmd.so.0 libmd-1.0.3_1 +libldacBT_abr.so.2 ldacBT-2.0.2.3_1 +libldacBT_enc.so.2 ldacBT-2.0.2.3_1 +libfreeaptx.so.0 libfreeaptx-0.1.1_1 +libgumbo.so.1 gumbo-parser-0.10.1_2 +libmariadb.so.3 libmariadbclient-10.5.9_1 +libmariadbd.so.19 libmariadbclient-10.5.9_1 +libinstpatch-1.0.so.2 libinstpatch-1.1.6_1 +libbasu.so.0 basu-0.2.0_1 +libhomfly.so.0 libhomfly-1.02r6_1 +libsrt.so.1.5 libsrt-1.5.0_1 +libXcomp.so.3 nx-libs-3.5.99.24_1 +libXcompshad.so.3 nx-libs-3.5.99.24_1 +libNX_X11.so.6 nx-libs-3.5.99.24_1 +librnnoise.so.0 rnnoise-0.4.1_1 +liblhasa.so.0 lhasa-0.3.1_2 +libmt32emu.so.2 libmt32emu-2.5.1_1 +libqrtr-glib.so.0 libqrtr-glib-1.0.0_1 +libbraiding.so.0 libbraiding-1.1_1 +libstemmer.so.2 libstemmer-2.1.0_1 +libdecor-0.so.0 libdecor-0.1.0_1 +libprimecount.so.7 primecount-7.2_1 +libprimesieve.so.11 primesieve-11.0_1 +libavif.so.15 libavif-0.11.0_1 +libkdumpfile.so.10 libkdumpfile-0.4.1_1 +libamd.so.3 SuiteSparse-6.0.1_1 +libcamd.so.3 SuiteSparse-6.0.1_1 +libccolamd.so.3 SuiteSparse-6.0.1_1 +libcholmod.so.4 SuiteSparse-6.0.1_1 +libcolamd.so.3 SuiteSparse-6.0.1_1 +libcxsparse.so.4 SuiteSparse-6.0.1_1 +libspqr.so.3 SuiteSparse-6.0.1_1 +libsuitesparseconfig.so.7 SuiteSparse-7.0.1_1 +libumfpack.so.6 SuiteSparse-6.0.1_1 +libecl.so.21.2 ecl-21.2.1_1 +libecm.so.1 ecm-7.0.4_3 +libcliquer.so.1 cliquer-1.22_1 +libomalloc-0.9.6.so singular-4.2.1_1 +libSingular-4.3.2.so singular-4.3.2_1 +libfactory-4.3.2.so singular-4.3.2_1 +libpolys-4.3.2.so singular-4.3.2_1 +libsingular_resources-4.3.2.so singular-4.3.2_1 +libbrial.so.3 brial-1.2.10_1 +libbrial_groebner.so.3 brial-1.2.10_1 +libm4ri-0.0.20200125.so m4ri-20200125_1 +libm4rie-0.0.20200125.so m4rie-20200125_1 +libptytty.so.0 libptytty-2.0_1 +libcoeurl.so.0.3 coeurl-0.3.0_1 +libKPim5PkPass.so.5 kpkpass-23.04.0_1 +libphonenumber.so.8 libphonenumber-8.12.38_1 +libgeocoding.so.8 libphonenumber-8.12.38_1 +libKPim5Itinerary.so.5 kitinerary-23.04.0_1 +libKPim5AddressbookImportExport.so.5 kaddressbook-23.04.0_1 +libKPim5ImportWizard.so.5 akonadi-import-wizard-23.04.0_1 +libadblocklibprivate.so.5 kdepim-addons-21.08.3_1 +libdkimverifyconfigure.so.5 kdepim-addons-21.08.3_1 +libexpireaccounttrashfolderconfig.so.5 kdepim-addons-21.08.3_1 +libfolderconfiguresettings.so.5 kdepim-addons-21.08.3_1 +libshorturlpluginprivate.so.5 kdepim-addons-21.08.3_1 +libkmailquicktextpluginprivate.so.5 kdepim-addons-21.08.3_1 +libkmailmarkdown.so.5 kdepim-addons-21.08.3_1 +libgrammarcommon.so.5 kdepim-addons-21.08.3_1 +libkmailgrammalecte.so.5 kdepim-addons-21.08.3_1 +libkmaillanguagetool.so.5 kdepim-addons-21.08.3_1 +libkaddressbookmergelibprivate.so.5 kdepim-addons-21.08.3_1 +libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1 +libkaddressbookprivate.so.5 kaddressbook-21.08.3_1 +libcodec2.so.1.0 codec2-1.0.1_1 +libx86emu.so.3 libx86emu-3.4_1 +libdeflate.so.0 libdeflate-1.8_1 +libjawt.so openjdk17-jre-17.0.1+12_1 +libawt.so openjdk17-jre-17.0.1+12_1 +libawt_xawt.so openjdk17-jre-17.0.1+12_1 +libjava.so openjdk17-jre-17.0.1+12_1 +libjli.so openjdk17-jre-17.0.1+12_1 +libjvm.so openjdk17-jre-17.0.1+12_1 +librttopo.so.1 librttopo-1.1.0_1 +libspatialite.so.7 libspatialite-5.0.1_1 +mod_spatialite.so.7 libspatialite-5.0.1_1 +libreadosm.so.1 readosm-1.1.0a_1 +libSvtAv1Enc.so.1 libsvt-av1-1.3.0_1 +libSvtAv1Dec.so.0 libsvt-av1-0.9.0_1 +libyascreen.so.0 yascreen-1.96_1 +librz_analysis.so.0.5 rizin-0.5.1_1 +librz_asm.so.0.5 rizin-0.5.1_1 +librz_bin.so.0.5 rizin-0.5.1_1 +librz_bp.so.0.5 rizin-0.5.1_1 +librz_config.so.0.5 rizin-0.5.1_1 +librz_cons.so.0.5 rizin-0.5.1_1 +librz_core.so.0.5 rizin-0.5.1_1 +librz_crypto.so.0.5 rizin-0.5.1_1 +librz_debug.so.0.5 rizin-0.5.1_1 +librz_demangler.so.0.5 rizin-0.5.1_1 +librz_diff.so.0.5 rizin-0.5.1_1 +librz_egg.so.0.5 rizin-0.5.1_1 +librz_flag.so.0.5 rizin-0.5.1_1 +librz_hash.so.0.5 rizin-0.5.1_1 +librz_io.so.0.5 rizin-0.5.1_1 +librz_lang.so.0.5 rizin-0.5.1_1 +librz_magic.so.0.5 rizin-0.5.1_1 +librz_main.so.0.5 rizin-0.5.1_1 +librz_parse.so.0.5 rizin-0.5.1_1 +librz_reg.so.0.5 rizin-0.5.1_1 +librz_search.so.0.5 rizin-0.5.1_1 +librz_sign.so.0.5 rizin-0.5.1_1 +librz_socket.so.0.5 rizin-0.5.1_1 +librz_syscall.so.0.5 rizin-0.5.1_1 +librz_type.so.0.5 rizin-0.5.1_1 +librz_util.so.0.5 rizin-0.5.1_1 +libaravis-0.8.so.0 libaravis-0.8.21_1 +libLimeSuite.so.22.09-1 LimeSuite-22.09.0_1 +libnvme.so.1 libnvme-1.0_1 +libnvme-mi.so.1 libnvme-1.2_1 +libRInside.so R-cran-RInside-0.2.16_1 +libXrdUtils.so.3 xrootd-5.4.0_1 +libXrdCl.so.3 xrootd-5.4.0_1 +libXrdServer.so.3 xrootd-5.4.0_1 +libXrdCrypto.so.2 xrootd-5.4.0_1 +libXrdPosix.so.3 xrootd-5.4.0_1 +libXrdHttpUtils.so.2 xrootd-5.4.0_1 +libXrdSsiLib.so.2 xrootd-5.4.0_1 +libXrdCryptoLite.so.2 xrootd-5.4.0_1 +libTree.so root-6.24.06_1 +libRIO.so root-6.24.06_1 +libMatrix.so root-6.24.06_1 +libThread.so root-6.24.06_1 +libTMVA.so root-6.24.06_1 +libMathCore.so root-6.24.06_1 +libCore.so root-6.24.06_1 +libCore.so qtcreator-7.0.2_1 +liblowdown.so.3 lowdown-1.0.2_1 +libjaylink.so.0 libjaylink-0.2.0_1 +libnvidia-container.so.1 libnvidia-container-1.10.0_1 +libnvidia-container-go.so.1 libnvidia-container-1.10.0_1 +libqtspell-qt5.so.1 qtspell-1.0.1_1 +libopensmtpd.so.0 libopensmtpd-0.7_1 +libiio.so.0 libiio-0.23_1 +libqtforkawesome.so.1 qtforkawesome-0.1.0_1 +libqtquickforkawesome.so.1 qtforkawesome-0.1.0_1 +libsyncthingwidgets.so.8 syncthingtray-1.4.4_1 +libsyncthingmodel.so.8 syncthingtray-1.4.4_1 +libsyncthingconnector.so.8 syncthingtray-1.4.4_1 +libglibutil.so.1 libglibutil-1.0.64_1 +libgbinder.so.1 libgbinder-1.1.20_1 +libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1 +libtpm2-totp.so.0 libtpm2-totp-0.3.0_1 +libmujs.so.1.2.0 mujs-1.2.0_2 +libiir.so.1 libiir1-1.9.3_1 +libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1 +libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1 +libairspyhf.so.0 libairspyhf-1.6.8_1 +libtraceevent.so.1 libtraceevent-1.6.2_1 +libtracefs.so.1 libtracefs-1.4.2_1 +libtracecmd.so.1 libtracecmd-3.1.2_1 +libkshark.so.2 libkshark-2.1.1_1 +libcpp-hocon.so.0.3.0 cpp-hocon-0.3.0_5 +libfst.so.25 openfst-1.8.2_1 +libvosk.so vosk-api-0.3.45_1 +libdspy-1.so.1 d-spy-1.4.0_1 +libpanel-1.so.1 libpanel-1.0.1_1 +libqrtr.so.1 qrtr-ns-1.0_1 +libbpf.so.1 libbpf-1.0.0_1 +libImath-3_1.so.29 imath-3.1.9_1 +libIex-3_1.so.30 libopenexr-3.1.5_1 +libIlmThread-3_1.so.30 libopenexr-3.1.5_1 +libOpenEXR-3_1.so.30 libopenexr-3.1.5_1 +libOpenEXRCore-3_1.so.30 libopenexr-3.1.5_1 +libOpenEXRUtil-3_1.so.30 libopenexr-3.1.5_1 +libdate-tz.so.3 chrono-date-3.0.1_1 +libayatana-ido3-0.4.so.0 ayatana-ido-0.9.2_1 +libayatana-indicator3.so.7 libayatana-indicator-0.9.3_1 +libayatana-appindicator3.so.1 libayatana-appindicator-0.5.91_1 +libplayerctl.so.2 playerctl-2.4.1_1 +libwireplumber-0.4.so.0 wireplumber-0.4.14_1 +libjodycode.so.3 libjodycode-3.0.1_1 +libgsoapssl++-2.8.124.so gsoap-2.8.124_1 +libjxl.so.0.8 libjxl-0.8.2_1 +libjxl_dec.so.0.8 libjxl-0.8.2_1 +libjxl_threads.so.0.8 libjxl-0.8.2_1 +libtext-engine-0.1.so.0 text-engine-0.1.1_1 +libvmaf.so.1 vmaf-2.3.1_1 diff --git a/common/travis/build.sh b/common/travis/build.sh new file mode 100755 index 0000000..007a61f --- /dev/null +++ b/common/travis/build.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# build.sh + +if [ "$1" != "$2" ]; then + arch="-a $2" +fi + +if [ "$3" = 1 ]; then + test="-Q" +fi + +PKGS=$(/hostrepo/xbps-src sort-dependencies $(cat /tmp/templates)) + +for pkg in ${PKGS}; do + /hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg" + [ $? -eq 1 ] && exit 1 +done + +exit 0 diff --git a/common/travis/changed_templates.sh b/common/travis/changed_templates.sh new file mode 100755 index 0000000..91af1f1 --- /dev/null +++ b/common/travis/changed_templates.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# +# changed_templates.sh + +tip="$(git rev-list -1 --parents HEAD)" +case "$tip" in + # This is a merge commit, pick last parent + *" "*" "*) tip="${tip##* }" ;; + # This is a non-merge commit, pick itself + *) tip="${tip%% *}" ;; +esac + +base="$(git merge-base origin/HEAD "$tip")" + +[ $(git rev-list --count "$tip" "^$base") -lt 200 ] || { + echo "::error title=Branch out of date::Your branch is too out of date. Please rebase on upstream and force-push." + exit 1 +} + +echo "$base $tip" >/tmp/revisions + +/bin/echo -e '\x1b[32mChanged packages:\x1b[0m' +git diff-tree -r --no-renames --name-only --diff-filter=AM \ + "$base" "$tip" \ + -- 'srcpkgs/*/template' | + cut -d/ -f 2 | + tee /tmp/templates | + sed "s/^/ /" >&2 diff --git a/common/travis/check-install.sh b/common/travis/check-install.sh new file mode 100755 index 0000000..31dd104 --- /dev/null +++ b/common/travis/check-install.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# +# check-install.sh + +export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo + +if [ "$1" != "$XBPS_TARGET_ARCH" ]; then + triplet="$(/hostrepo/xbps-src -a "$XBPS_TARGET_ARCH" show-var XBPS_CROSS_TRIPLET)" + CONFDIR="-C /usr/$triplet/etc/xbps.d" +else + CONFDIR="-C /etc/xbps.d" +fi + +mkdir /check-install + +mkdir -p /check-install/var/db/xbps/keys +cp /var/db/xbps/keys/* /check-install/var/db/xbps/keys/ + +ADDREPO="--repository=$HOME/hostdir/binpkgs/bootstrap + --repository=$HOME/hostdir/binpkgs + --repository=$HOME/hostdir/binpkgs/nonfree" +ROOTDIR="-r /check-install" + +xbps-install $ROOTDIR $ADDREPO $CONFDIR -S + +while read -r pkg; do + for subpkg in $(xsubpkg $pkg); do + /bin/echo -e "\x1b[32mTrying to install dependants of $subpkg:\x1b[0m" + for dep in $(xbps-query $ADDREPO -RX "$subpkg"); do + xbps-install \ + $ROOTDIR $ADDREPO $CONFDIR \ + -ny \ + "$subpkg" "$(xbps-uhelper getpkgname "$dep")" + ret="$?" + if [ "$ret" -eq 8 ] || [ "$ret" -eq 11 ]; then + /bin/echo -e "\x1b[31mFailed to install '$subpkg' and '$dep'\x1b[0m" + exit 1 + fi + done + done +done < /tmp/templates diff --git a/common/travis/fetch-xbps.sh b/common/travis/fetch-xbps.sh new file mode 100755 index 0000000..e5c5881 --- /dev/null +++ b/common/travis/fetch-xbps.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# fetch-xbps.sh + +command -v xbps-uhelper >/dev/null && exit +TAR=tar +command -v bsdtar >/dev/null && TAR=bsdtar +ARCH=$(uname -m)-musl +VERSION=0.59_5 +URL="https://repo-ci.voidlinux.org/static/xbps-static-static-${VERSION}.${ARCH}.tar.xz" +FILE=${URL##*/} + +mkdir -p /tmp/bin + +/bin/echo -e '\x1b[32mInstalling xbps...\x1b[0m' +if command -v wget >/dev/null; then + wget -q -O "$FILE" "$URL" || exit 1 +else + curl -s -o "$FILE" "$URL" || exit 1 +fi + +$TAR xf "$FILE" -C /tmp/bin --strip-components=3 ./usr/bin || exit 1 diff --git a/common/travis/fetch-xtools.sh b/common/travis/fetch-xtools.sh new file mode 100755 index 0000000..0dd9e6c --- /dev/null +++ b/common/travis/fetch-xtools.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# fetch-xtools.sh + +TAR=tar +command -v bsdtar >/dev/null && TAR=bsdtar +URL="https://github.com/leahneukirchen/xtools/archive/master.tar.gz" +FILE="xtools.tar.gz" + +mkdir -p /tmp/bin + +/bin/echo -e '\x1b[32mInstalling xtools...\x1b[0m' +if command -v wget >/dev/null; then + wget -q -O "$FILE" "$URL" || exit 1 +else + xbps-fetch -o "$FILE" "$URL" || exit 1 +fi + +$TAR xf "$FILE" -C /tmp/bin --strip-components=1 || exit 1 diff --git a/common/travis/license.lst b/common/travis/license.lst new file mode 100644 index 0000000..aab1ca5 --- /dev/null +++ b/common/travis/license.lst @@ -0,0 +1,613 @@ +0BSD +389-exception +AAL +ADSL +AFL-1.1 +AFL-1.2 +AFL-2.0 +AFL-2.1 +AFL-3.0 +AGPL-1.0-only +AGPL-1.0-or-later +AGPL-3.0-only +AGPL-3.0-or-later +AMDPLPA +AML +AMPAS +ANTLR-PD-fallback +ANTLR-PD +APAFML +APL-1.0 +APSL-1.0 +APSL-1.1 +APSL-1.2 +APSL-2.0 +ASWF-Digital-Assets-1.0 +ASWF-Digital-Assets-1.1 +Abstyles +AdaCore-doc +Adobe-2006 +Adobe-Glyph +Afmparse +Aladdin +Apache-1.0 +Apache-1.1 +Apache-2.0 +App-s2p +Arphic-1999 +Artistic-1.0-Perl +Artistic-1.0-cl8 +Artistic-1.0 +Artistic-2.0 +Asterisk-exception +Autoconf-exception-2.0 +Autoconf-exception-3.0 +Autoconf-exception-generic +Autoconf-exception-macro +BSD-1-Clause +BSD-2-Clause-Patent +BSD-2-Clause-Views +BSD-2-Clause +BSD-3-Clause-Attribution +BSD-3-Clause-Clear +BSD-3-Clause-LBNL +BSD-3-Clause-Modification +BSD-3-Clause-No-Military-License +BSD-3-Clause-No-Nuclear-License-2014 +BSD-3-Clause-No-Nuclear-License +BSD-3-Clause-No-Nuclear-Warranty +BSD-3-Clause-Open-MPI +BSD-3-Clause +BSD-4-Clause-Shortened +BSD-4-Clause-UC +BSD-4-Clause +BSD-4.3RENO +BSD-4.3TAHOE +BSD-Advertising-Acknowledgement +BSD-Attribution-HPND-disclaimer +BSD-Protection +BSD-Source-Code +BSL-1.0 +BUSL-1.1 +Baekmuk +Bahyph +Barr +Beerware +Bison-exception-2.2 +BitTorrent-1.0 +BitTorrent-1.1 +Bitstream-Charter +Bitstream-Vera +BlueOak-1.0.0 +Boehm-GC +Bootloader-exception +Borceux +Brian-Gladman-3-Clause +C-UDA-1.0 +CAL-1.0-Combined-Work-Exception +CAL-1.0 +CATOSL-1.1 +CC-BY-1.0 +CC-BY-2.0 +CC-BY-2.5-AU +CC-BY-2.5 +CC-BY-3.0-AT +CC-BY-3.0-DE +CC-BY-3.0-IGO +CC-BY-3.0-NL +CC-BY-3.0-US +CC-BY-3.0 +CC-BY-4.0 +CC-BY-NC-1.0 +CC-BY-NC-2.0 +CC-BY-NC-2.5 +CC-BY-NC-3.0-DE +CC-BY-NC-3.0 +CC-BY-NC-4.0 +CC-BY-NC-ND-1.0 +CC-BY-NC-ND-2.0 +CC-BY-NC-ND-2.5 +CC-BY-NC-ND-3.0-DE +CC-BY-NC-ND-3.0-IGO +CC-BY-NC-ND-3.0 +CC-BY-NC-ND-4.0 +CC-BY-NC-SA-1.0 +CC-BY-NC-SA-2.0-DE +CC-BY-NC-SA-2.0-FR +CC-BY-NC-SA-2.0-UK +CC-BY-NC-SA-2.0 +CC-BY-NC-SA-2.5 +CC-BY-NC-SA-3.0-DE +CC-BY-NC-SA-3.0-IGO +CC-BY-NC-SA-3.0 +CC-BY-NC-SA-4.0 +CC-BY-ND-1.0 +CC-BY-ND-2.0 +CC-BY-ND-2.5 +CC-BY-ND-3.0-DE +CC-BY-ND-3.0 +CC-BY-ND-4.0 +CC-BY-SA-1.0 +CC-BY-SA-2.0-UK +CC-BY-SA-2.0 +CC-BY-SA-2.1-JP +CC-BY-SA-2.5 +CC-BY-SA-3.0-AT +CC-BY-SA-3.0-DE +CC-BY-SA-3.0-IGO +CC-BY-SA-3.0 +CC-BY-SA-4.0 +CC-PDDC +CC0-1.0 +CDDL-1.0 +CDDL-1.1 +CDL-1.0 +CDLA-Permissive-1.0 +CDLA-Permissive-2.0 +CDLA-Sharing-1.0 +CECILL-1.0 +CECILL-1.1 +CECILL-2.0 +CECILL-2.1 +CECILL-B +CECILL-C +CERN-OHL-1.1 +CERN-OHL-1.2 +CERN-OHL-P-2.0 +CERN-OHL-S-2.0 +CERN-OHL-W-2.0 +CFITSIO +CLISP-exception-2.0 +CMU-Mach +CNRI-Jython +CNRI-Python-GPL-Compatible +CNRI-Python +COIL-1.0 +CPAL-1.0 +CPL-1.0 +CPOL-1.02 +CUA-OPL-1.0 +Caldera +ClArtistic +Classpath-exception-2.0 +Clips +Community-Spec-1.0 +Condor-1.1 +Cornell-Lossless-JPEG +Crossword +CrystalStacker +Cube +D-FSL-1.0 +DL-DE-BY-2.0 +DOC +DRL-1.0 +DSDP +DigiRule-FOSS-exception +Dotseqn +ECL-1.0 +ECL-2.0 +EFL-1.0 +EFL-2.0 +EPICS +EPL-1.0 +EPL-2.0 +EUDatagrid +EUPL-1.0 +EUPL-1.1 +EUPL-1.2 +Elastic-2.0 +Entessa +ErlPL-1.1 +Eurosym +FDK-AAC +FLTK-exception +FSFAP +FSFUL +FSFULLR +FSFULLRWD +FTL +Fair +Fawkes-Runtime-exception +Font-exception-2.0 +Frameworx-1.0 +FreeBSD-DOC +FreeImage +GCC-exception-2.0 +GCC-exception-3.1 +GD +GFDL-1.1-invariants-only +GFDL-1.1-invariants-or-later +GFDL-1.1-no-invariants-only +GFDL-1.1-no-invariants-or-later +GFDL-1.1-only +GFDL-1.1-or-later +GFDL-1.2-invariants-only +GFDL-1.2-invariants-or-later +GFDL-1.2-no-invariants-only +GFDL-1.2-no-invariants-or-later +GFDL-1.2-only +GFDL-1.2-or-later +GFDL-1.3-invariants-only +GFDL-1.3-invariants-or-later +GFDL-1.3-no-invariants-only +GFDL-1.3-no-invariants-or-later +GFDL-1.3-only +GFDL-1.3-or-later +GL2PS +GLWTPL +GNAT-exception +GPL-1.0-only +GPL-1.0-or-later +GPL-2.0-only +GPL-2.0-or-later +GPL-3.0-interface-exception +GPL-3.0-linking-exception +GPL-3.0-linking-source-exception +GPL-3.0-only +GPL-3.0-or-later +GPL-CC-1.0 +GStreamer-exception-2005 +GStreamer-exception-2008 +Giftware +Glide +Glulxe +Graphics-Gems +HP-1986 +HPND-Markus-Kuhn +HPND-export-US +HPND-sell-variant-MIT-disclaimer +HPND-sell-variant +HPND +HTMLTIDY +HaskellReport +Hippocratic-2.1 +IBM-pibs +ICU +IEC-Code-Components-EULA +IJG-short +IJG +IPA +IPL-1.0 +ISC +ImageMagick +Imlib2 +Info-ZIP +Inner-Net-2.0 +Intel-ACPI +Intel +Interbase-1.0 +JPL-image +JPNIC +JSON +Jam +JasPer-2.0 +Kazlib +KiCad-libraries-exception +Knuth-CTAN +LAL-1.2 +LAL-1.3 +LGPL-2.0-only +LGPL-2.0-or-later +LGPL-2.1-only +LGPL-2.1-or-later +LGPL-3.0-linking-exception +LGPL-3.0-only +LGPL-3.0-or-later +LGPLLR +LLGPL +LLVM-exception +LOOP +LPL-1.0 +LPL-1.02 +LPPL-1.0 +LPPL-1.1 +LPPL-1.2 +LPPL-1.3a +LPPL-1.3c +LZMA-SDK-9.11-to-9.20 +LZMA-SDK-9.22 +LZMA-exception +Latex2e-translated-notice +Latex2e +Leptonica +LiLiQ-P-1.1 +LiLiQ-R-1.1 +LiLiQ-Rplus-1.1 +Libpng +Libtool-exception +Linux-OpenIB +Linux-man-pages-1-para +Linux-man-pages-copyleft-2-para +Linux-man-pages-copyleft-var +Linux-man-pages-copyleft +Linux-syscall-note +MIT-0 +MIT-CMU +MIT-Festival +MIT-Modern-Variant +MIT-Wu +MIT-advertising +MIT-enna +MIT-feh +MIT-open-group +MIT +MITNFA +MPL-1.0 +MPL-1.1 +MPL-2.0-no-copyleft-exception +MPL-2.0 +MS-LPL +MS-PL +MS-RL +MTLL +MakeIndex +Martin-Birgmeier +Minpack +MirOS +Motosoto +MulanPSL-1.0 +MulanPSL-2.0 +Multics +Mup +NAIST-2003 +NASA-1.3 +NBPL-1.0 +NCGL-UK-2.0 +NCSA +NGPL +NICTA-1.0 +NIST-PD-fallback +NIST-PD +NIST-Software +NLOD-1.0 +NLOD-2.0 +NLPL +NOSL +NPL-1.0 +NPL-1.1 +NPOSL-3.0 +NRL +NTP-0 +NTP +Naumen +Net-SNMP +NetCDF +Newsletr +Nokia-Qt-exception-1.1 +Nokia +Noweb +O-UDA-1.0 +OCCT-PL +OCCT-exception-1.0 +OCLC-2.0 +OCaml-LGPL-linking-exception +ODC-By-1.0 +ODbL-1.0 +OFFIS +OFL-1.0-RFN +OFL-1.0-no-RFN +OFL-1.0 +OFL-1.1-RFN +OFL-1.1-no-RFN +OFL-1.1 +OGC-1.0 +OGDL-Taiwan-1.0 +OGL-Canada-2.0 +OGL-UK-1.0 +OGL-UK-2.0 +OGL-UK-3.0 +OGTSL +OLDAP-1.1 +OLDAP-1.2 +OLDAP-1.3 +OLDAP-1.4 +OLDAP-2.0.1 +OLDAP-2.0 +OLDAP-2.1 +OLDAP-2.2.1 +OLDAP-2.2.2 +OLDAP-2.2 +OLDAP-2.3 +OLDAP-2.4 +OLDAP-2.5 +OLDAP-2.6 +OLDAP-2.7 +OLDAP-2.8 +OLFL-1.3 +OML +OPL-1.0 +OPL-UK-3.0 +OPUBL-1.0 +OSET-PL-2.1 +OSL-1.0 +OSL-1.1 +OSL-2.0 +OSL-2.1 +OSL-3.0 +OpenJDK-assembly-exception-1.0 +OpenPBS-2.3 +OpenSSL +PDDL-1.0 +PHP-3.0 +PHP-3.01 +PS-or-PDF-font-exception-20170817 +PSF-2.0 +Parity-6.0.0 +Parity-7.0.0 +Plexus +PolyForm-Noncommercial-1.0.0 +PolyForm-Small-Business-1.0.0 +PostgreSQL +Python-2.0.1 +Python-2.0 +QPL-1.0-INRIA-2004-exception +QPL-1.0-INRIA-2004 +QPL-1.0 +Qhull +Qt-GPL-exception-1.0 +Qt-LGPL-exception-1.1 +Qwt-exception-1.0 +RHeCos-1.1 +RPL-1.1 +RPL-1.5 +RPSL-1.0 +RSA-MD +RSCPL +Rdisc +Ruby +SAX-PD +SCEA +SGI-B-1.0 +SGI-B-1.1 +SGI-B-2.0 +SGP4 +SHL-0.5 +SHL-0.51 +SHL-2.0 +SHL-2.1 +SISSL-1.2 +SISSL +SMLNJ +SMPPL +SNIA +SPL-1.0 +SSH-OpenSSH +SSH-short +SSPL-1.0 +SWI-exception +SWL +Saxpath +SchemeReport +Sendmail-8.23 +Sendmail +SimPL-2.0 +Sleepycat +Spencer-86 +Spencer-94 +Spencer-99 +SugarCRM-1.1.3 +SunPro +Swift-exception +Symlinks +TAPR-OHL-1.0 +TCL +TCP-wrappers +TMate +TORQUE-1.1 +TOSL +TPDL +TPL-1.0 +TTWL +TU-Berlin-1.0 +TU-Berlin-2.0 +TermReadKey +UCAR +UCL-1.0 +UPL-1.0 +Unicode-DFS-2015 +Unicode-DFS-2016 +Unicode-TOU +Universal-FOSS-exception-1.0 +UnixCrypt +Unlicense +VOSTROM +VSL-1.0 +Vim +W3C-19980720 +W3C-20150513 +W3C +WTFPL +Watcom-1.0 +Widget-Workshop +Wsuipa +WxWindows-exception-3.1 +X11-distribute-modifications-variant +X11 +XFree86-1.1 +XSkat +Xdebug-1.03 +Xerox +Xfig +Xnet +YPL-1.0 +YPL-1.1 +ZPL-1.1 +ZPL-2.0 +ZPL-2.1 +Zed +Zend-2.0 +Zimbra-1.3 +Zimbra-1.4 +Zlib +blessing +bzip2-1.0.6 +checkmk +copyleft-next-0.3.0 +copyleft-next-0.3.1 +cryptsetup-OpenSSL-exception +curl +deprecated_AGPL-1.0 +deprecated_AGPL-3.0 +deprecated_BSD-2-Clause-FreeBSD +deprecated_BSD-2-Clause-NetBSD +deprecated_GFDL-1.1 +deprecated_GFDL-1.2 +deprecated_GFDL-1.3 +deprecated_GPL-1.0+ +deprecated_GPL-1.0 +deprecated_GPL-2.0+ +deprecated_GPL-2.0-with-GCC-exception +deprecated_GPL-2.0-with-autoconf-exception +deprecated_GPL-2.0-with-bison-exception +deprecated_GPL-2.0-with-classpath-exception +deprecated_GPL-2.0-with-font-exception +deprecated_GPL-2.0 +deprecated_GPL-3.0+ +deprecated_GPL-3.0-with-GCC-exception +deprecated_GPL-3.0-with-autoconf-exception +deprecated_GPL-3.0 +deprecated_LGPL-2.0+ +deprecated_LGPL-2.0 +deprecated_LGPL-2.1+ +deprecated_LGPL-2.1 +deprecated_LGPL-3.0+ +deprecated_LGPL-3.0 +deprecated_Nunit +deprecated_StandardML-NJ +deprecated_bzip2-1.0.5 +deprecated_eCos-2.0 +deprecated_wxWindows +diffmark +dtoa +dvipdfm +eCos-exception-2.0 +eGenix +etalab-2.0 +freertos-exception-2.0 +gSOAP-1.3b +gnu-javamail-exception +gnuplot +i2p-gpl-java-exception +iMatix +libpng-2.0 +libpri-OpenH323-exception +libselinux-1.0 +libtiff +libutil-David-Nugent +metamail +mif-exception +mpi-permissive +mpich2 +mplus +openvpn-openssl-exception +psfrag +psutils +snprintf +u-boot-exception-2.0 +vsftpd-openssl-exception +w3m +x11vnc-openssl-exception +xinetd +xlock +xpp +zlib-acknowledgement diff --git a/common/travis/prepare.sh b/common/travis/prepare.sh new file mode 100755 index 0000000..550fbd7 --- /dev/null +++ b/common/travis/prepare.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# +# prepare.sh + +[ "$XLINT" ] && exit 0 + +/bin/echo -e '\x1b[32mUpdating etc/conf...\x1b[0m' +echo XBPS_BUILD_ENVIRONMENT=void-packages-ci >> etc/conf +echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf + +/bin/echo -e '\x1b[32mEnabling ethereal chroot-style...\x1b[0m' +echo XBPS_CHROOT_CMD=ethereal >> etc/conf +echo XBPS_ALLOW_CHROOT_BREAKOUT=yes >> etc/conf + +/bin/echo -e '\x1b[32mLinking / to /masterdir...\x1b[0m' +ln -s / masterdir diff --git a/common/travis/set_mirror.sh b/common/travis/set_mirror.sh new file mode 100755 index 0000000..8159dac --- /dev/null +++ b/common/travis/set_mirror.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +TRAVIS_MIRROR=repo-ci.voidlinux.org + +for _i in etc/xbps.d/repos-remote*.conf ; do + /bin/echo -e "\x1b[32mUpdating $_i...\x1b[0m" + sed -i "s:repo-default\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i +done diff --git a/common/travis/show_files.sh b/common/travis/show_files.sh new file mode 100755 index 0000000..c8de93a --- /dev/null +++ b/common/travis/show_files.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# +# show_files.sh + +export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo + +while read -r pkg; do + for subpkg in $(xsubpkg $pkg); do + /bin/echo -e "\x1b[32mFiles of $subpkg:\x1b[0m" + xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \ + --repository=$HOME/hostdir/binpkgs \ + --repository=$HOME/hostdir/binpkgs/nonfree \ + -i -f "$subpkg" || + /bin/echo -e "\x1b[33m $subpkg wasn't found\x1b[0m" + done +done < /tmp/templates diff --git a/common/travis/xlint.sh b/common/travis/xlint.sh new file mode 100755 index 0000000..790791e --- /dev/null +++ b/common/travis/xlint.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# +# xlint.sh + +[ "$XLINT" ] || exit 0 + +EXITCODE=0 +read base tip < /tmp/revisions + +common/scripts/lint-commits $base $tip || EXITCODE=$? + +for t in $(awk '{ print "srcpkgs/" $0 "/template" }' /tmp/templates); do + /bin/echo -e "\x1b[32mLinting $t...\x1b[0m" + xlint "$t" > /tmp/xlint_out || EXITCODE=$? + common/scripts/lint-version-change "$t" $base $tip > /tmp/vlint_out || EXITCODE=$? + awk -f common/scripts/lint2annotations.awk /tmp/xlint_out /tmp/vlint_out +done +exit $EXITCODE diff --git a/common/travis/xpkgdiff.sh b/common/travis/xpkgdiff.sh new file mode 100755 index 0000000..ce042c1 --- /dev/null +++ b/common/travis/xpkgdiff.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# xpkgdiff.sh + +export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir" +export DIFF='diff --unified=0 --report-identical-files --suppress-common-lines + --color=always --label REPO --label BUILT' +ARGS="-a $2 -R https://repo-ci.voidlinux.org/current" + +while read -r pkg; do + for subpkg in $(xsubpkg $pkg); do + if xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \ + --repository=$HOME/hostdir/binpkgs \ + --repository=$HOME/hostdir/binpkgs/nonfree \ + -i "$subpkg" >&/dev/null; then + /bin/echo -e "\x1b[34mFile Diff of $subpkg:\x1b[0m" + xpkgdiff $ARGS -f $subpkg + /bin/echo -e "\x1b[34mMetadata Diff of $subpkg:\x1b[0m" + xpkgdiff $ARGS -S $subpkg + /bin/echo -e "\x1b[34mDependency Diff of $subpkg:\x1b[0m" + xpkgdiff $ARGS -x $subpkg + else + /bin/echo -e "\x1b[33m$subpkg wasn't found\x1b[0m" + fi + done +done < /tmp/templates diff --git a/common/wrappers/cross-cc b/common/wrappers/cross-cc new file mode 100644 index 0000000..0e08bc9 --- /dev/null +++ b/common/wrappers/cross-cc @@ -0,0 +1,40 @@ +#!/bin/bash + +# compiler wrapper to get rid of -I/usr/include and -L/usr/lib, that fucks up +# cross compilation badly. +declare -a MYARGS + +ARGS=("$@") +i=0 +while [ $i -lt ${#ARGS[@]} ]; do + arg="${ARGS[$i]}" + if [ "$incpath" ]; then + if [ "$arg" = "/usr/include" ]; then + echo "[cc-wrapper] ignoring -I $arg" + else + MYARGS+=("-I${arg}") + fi + unset incpath + elif [ "$libpath" ]; then + # XXX: avoid so much repetition + if [ "$arg" = "/usr/lib" -o "$arg" = "/usr/lib32" -o "$arg" = "/usr/lib64" -o "$arg" = "/lib" ]; then + echo "[cc-wrapper] ignoring -L $arg" + else + MYARGS+=("-L${arg}") + fi + unset libpath + elif [ "$arg" = "-I" ]; then + incpath=1 + elif [ "$arg" = "-L" ]; then + libpath=1 + elif [ "$arg" = "-I/usr/include" -o "$arg" = "-L/usr/lib" \ + -o "$arg" = "-L/usr/lib32" -o "$arg" = "-L/usr/lib64" \ + -o "$arg" = "-L/lib" ]; then + echo "[cc-wrapper] ignoring $arg" + else + MYARGS+=("${arg}") + fi + i=$((i+1)) +done +#echo "[cc-wrapper] @BIN@ ${MYARGS[@]}" +exec @BIN@ "${MYARGS[@]}" diff --git a/common/wrappers/date.sh b/common/wrappers/date.sh new file mode 100644 index 0000000..89ea97f --- /dev/null +++ b/common/wrappers/date.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ "$SOURCE_DATE_EPOCH" ]; then + post="--utc --date @$SOURCE_DATE_EPOCH" +fi +exec /usr/bin/date "$@" $post diff --git a/common/wrappers/install.sh b/common/wrappers/install.sh new file mode 100644 index 0000000..82b61c2 --- /dev/null +++ b/common/wrappers/install.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# install-wrapper - run install(1), but never strip or chown +set -e + +# taken from install (GNU coreutils) 8.23 +opts='bcCdDg:m:o:psS:t:TvZ' +longopts='backup::,compare,directory,group:,mode:,owner:,preserve-timestamps,\ +strip:,strip-program:,suffix:,target-directory:,no-target-directory,verbose,\ +preserve-context,context::,help,version' + +parsed="$(getopt -o "$opts" --long "$longopts" -n 'install-wrapper' -- "$@")" +eval set -- "$parsed" + +iopts=() +while :; do + case "$1" in + -s|--strip) + echo "install-wrapper: overriding call to strip(1)." 1>&2 + iopts+=("$1" --strip-program=true) + shift;; + --strip-program) + echo "install-wrapper: dropping strip program '$2'." 1>&2 + shift 2;; + -g|--group|-o|--owner) + echo "install-wrapper: dropping option $1 $2." 1>&2 + shift 2;; + -b|-c|-C|--compare|-d|--directory|-D|-p|--preserve-timestamps|\ + -T|--no-target-directory|-v|--verbose|--preserve-context|-Z|\ + --help|--version) + iopts+=("$1") + shift;; + -m|--mode|-S|--suffix|-t|--target-directory|--backup|--context) + iopts+=("$1" "$2") + shift 2;; + --) + shift + break;; + *) + echo 'cant happen, report a bug' 1>&2 + exit 111;; + esac +done + +exec /usr/bin/install "${iopts[@]}" -- "$@" diff --git a/common/wrappers/ldconfig.sh b/common/wrappers/ldconfig.sh new file mode 100644 index 0000000..32818e2 --- /dev/null +++ b/common/wrappers/ldconfig.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$1" = "-p" ]; then + exec /usr/bin/ldconfig "$@" +fi + +echo "ldconfig-wrapper: ignoring arguments: $@" +exit 0 diff --git a/common/wrappers/strip.sh b/common/wrappers/strip.sh new file mode 100644 index 0000000..febf451 --- /dev/null +++ b/common/wrappers/strip.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo "strip-wrapper: ignoring arguments: $@" +exit 0 diff --git a/common/wrappers/uname.sh b/common/wrappers/uname.sh new file mode 100644 index 0000000..4edca25 --- /dev/null +++ b/common/wrappers/uname.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uname=$(/usr/bin/uname $@) +rv=$? +uname_m=$(/usr/bin/uname -m) +arch=${XBPS_ARCH%-musl} +# if XBPS_ARCH was reseted by `env -i` use original `/usr/bin/uname -m` +: ${arch:=$uname_m} +echo "$uname" | + sed "s/\(^\| \)$(/usr/bin/uname -n)\($\| \)/\1void\2/" | + sed "s/$uname_m/$arch/" + +exit $rv diff --git a/common/xbps-src/libexec/build.sh b/common/xbps-src/libexec/build.sh new file mode 100755 index 0000000..7243231 --- /dev/null +++ b/common/xbps-src/libexec/build.sh @@ -0,0 +1,140 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - current pkgname to build [REQUIRED] +# $2 - target pkgname (origin) to build [REQUIRED] +# $3 - xbps target [REQUIRED] +# $4 - cross target [OPTIONAL] +# $5 - internal [OPTIONAL] + +if [ $# -lt 3 -o $# -gt 5 ]; then + echo "${0##*/}: invalid number of arguments: pkgname targetpkg target [cross-target]" + exit 1 +fi + +readonly PKGNAME="$1" +readonly XBPS_TARGET_PKG="$2" +readonly XBPS_TARGET="$3" +readonly XBPS_CROSS_BUILD="$4" +readonly XBPS_CROSS_PREPARE="$5" + +export XBPS_TARGET + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +last="${XBPS_DEPENDS_CHAIN##*,}" +case "$XBPS_DEPENDS_CHAIN" in + *,$last,*) + msg_error "Build-time cyclic dependency$last,${XBPS_DEPENDS_CHAIN##*,$last,} detected.\n" +esac + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD +readonly SOURCEPKG="$sourcepkg" + +check_existing_pkg + +show_pkg_build_options +check_pkg_arch $XBPS_CROSS_BUILD + +if [ -z "$XBPS_CROSS_PREPARE" ]; then + prepare_cross_sysroot $XBPS_CROSS_BUILD || exit $? +fi +# Install dependencies from binary packages +if [ "$PKGNAME" != "$XBPS_TARGET_PKG" -o -z "$XBPS_SKIP_DEPS" ]; then + install_pkg_deps $PKGNAME $XBPS_TARGET_PKG pkg $XBPS_CROSS_BUILD $XBPS_CROSS_PREPARE || exit $? +fi + +if [ "$XBPS_CROSS_BUILD" ]; then + install_cross_pkg $XBPS_CROSS_BUILD || exit $? +fi + +# Fetch distfiles after installing required dependencies, +# because some of them might be required for do_fetch(). +$XBPS_LIBEXECDIR/xbps-src-dofetch.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "fetch" ] && exit 0 + +# Fetch, extract, build and install into the destination directory. +$XBPS_LIBEXECDIR/xbps-src-doextract.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "extract" ] && exit 0 + +# Run patch phrase +$XBPS_LIBEXECDIR/xbps-src-dopatch.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "patch" ] && exit 0 + +# Run configure phase +$XBPS_LIBEXECDIR/xbps-src-doconfigure.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "configure" ] && exit 0 + +# Run build phase +$XBPS_LIBEXECDIR/xbps-src-dobuild.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "build" ] && exit 0 + +# Run check phase +$XBPS_LIBEXECDIR/xbps-src-docheck.sh $SOURCEPKG $XBPS_CROSS_BUILD || exit 1 +[ "$XBPS_TARGET" = "check" ] && exit 0 + +# Install pkgs into destdir. +$XBPS_LIBEXECDIR/xbps-src-doinstall.sh $SOURCEPKG no $XBPS_CROSS_BUILD || exit 1 + +for subpkg in ${subpackages} ${sourcepkg}; do + $XBPS_LIBEXECDIR/xbps-src-doinstall.sh $subpkg yes $XBPS_CROSS_BUILD || exit 1 +done +for subpkg in ${subpackages} ${sourcepkg}; do + $XBPS_LIBEXECDIR/xbps-src-prepkg.sh $subpkg $XBPS_CROSS_BUILD || exit 1 +done + +for subpkg in ${subpackages} ${sourcepkg}; do + if [ "$PKGNAME" = "${subpkg}" -a "$XBPS_TARGET" = "install" ]; then + exit 0 + fi +done + +# Clean list of preregistered packages +printf "" > ${XBPS_STATEDIR}/.${sourcepkg}_register_pkg +# If install went ok generate the binpkgs. +for subpkg in ${subpackages} ${sourcepkg}; do + $XBPS_LIBEXECDIR/xbps-src-dopkg.sh $subpkg "$XBPS_REPOSITORY" "$XBPS_CROSS_BUILD" || exit 1 +done + +# Registering packages at once per repository. This makes sure that staging is +# triggered for all new packages if any of them introduces inconsistencies. +cut -d: -f 1,2 ${XBPS_STATEDIR}/.${sourcepkg}_register_pkg | sort -u | \ + while IFS=: read -r arch repo; do + paths=$(grep "^$arch:$repo:" "${XBPS_STATEDIR}/.${sourcepkg}_register_pkg" | \ + cut -d : -f 2,3 | tr ':' '/') + if [ -z "$XBPS_PRESERVE_PKGS" ] || [ "$XBPS_BUILD_FORCEMODE" ]; then + force=-f + fi + if [ -n "${arch}" ]; then + msg_normal "Registering new packages to $repo ($arch)\n" + XBPS_TARGET_ARCH=${arch} $XBPS_RINDEX_CMD \ + ${XBPS_REPO_COMPTYPE:+--compression $XBPS_REPO_COMPTYPE} ${force} -a ${paths} + else + msg_normal "Registering new packages to $repo\n" + if [ -n "$XBPS_CROSS_BUILD" ]; then + $XBPS_RINDEX_XCMD ${XBPS_REPO_COMPTYPE:+--compression $XBPS_REPO_COMPTYPE} \ + ${force} -a ${paths} + else + $XBPS_RINDEX_CMD ${XBPS_REPO_COMPTYPE:+--compression $XBPS_REPO_COMPTYPE} \ + ${force} -a ${paths} + fi + fi + done + +# pkg cleanup +if declare -f do_clean >/dev/null; then + run_func do_clean +fi + +if [ -n "$XBPS_DEPENDENCY" -o -z "$XBPS_KEEP_ALL" ]; then + remove_pkg_autodeps + remove_pkg_wrksrc + remove_pkg $XBPS_CROSS_BUILD + remove_pkg_statedir +fi + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-dobuild.sh b/common/xbps-src/libexec/xbps-src-dobuild.sh new file mode 100755 index 0000000..cee3f65 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-dobuild.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname to build [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +XBPS_BUILD_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_build_done" + +if [ -f $XBPS_BUILD_DONE -a -z "$XBPS_BUILD_FORCEMODE" ] || + [ -f $XBPS_BUILD_DONE -a -n "$XBPS_BUILD_FORCEMODE" -a $XBPS_TARGET != "build" ]; then + exit 0 +fi + +for f in $XBPS_COMMONDIR/environment/build/*.sh; do + source_file "$f" +done + +run_step build optional + +touch -f $XBPS_BUILD_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-docheck.sh b/common/xbps-src/libexec/xbps-src-docheck.sh new file mode 100755 index 0000000..cac0d48 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-docheck.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname to build [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +if [ -n "$disable_parallel_check" ]; then + XBPS_MAKEJOBS=1 +else + XBPS_MAKEJOBS="$XBPS_ORIG_MAKEJOBS" +fi +makejobs="-j$XBPS_MAKEJOBS" + +XBPS_CHECK_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_check_done" + +if [ -n "$XBPS_CROSS_BUILD" ]; then + msg_normal "${pkgname}-${version}_${revision}: skipping check (cross build for $XBPS_CROSS_BUILD) ...\n" + exit 0 +fi + +if [ -z "$XBPS_CHECK_PKGS" ]; then + msg_normal "${pkgname}-${version}_${revision}: skipping check (XBPS_CHECK_PKGS is disabled) ...\n" + exit 0 +fi + +if [ "$make_check" = no ]; then + msg_normal "${pkgname}-${version}_${revision}: skipping check (make_check=no) ...\n" + exit 0 +fi + +if [ "$make_check" = extended -a "$XBPS_CHECK_PKGS" != full ]; then + msg_normal \ + "${pkgname}-${version}_${revision}: skipping check (make_check=extended and XBPS_CHECK_PKGS is not 'full') ...\n" + exit 0 +fi + +if [ "$make_check" = ci-skip ] && [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then + msg_warn \ + "${pkgname}-${version}_${revision}: skipping here because of make_check=ci-skip. Tests should be run locally.\n" + exit 0 +fi + +for f in $XBPS_COMMONDIR/environment/check/*.sh; do + source_file "$f" +done + +run_step check optional + +touch -f $XBPS_CHECK_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-doconfigure.sh b/common/xbps-src/libexec/xbps-src-doconfigure.sh new file mode 100755 index 0000000..2adeab5 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-doconfigure.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname to configure [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +XBPS_CONFIGURE_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_configure_done" + +if [ -f $XBPS_CONFIGURE_DONE -a -z "$XBPS_BUILD_FORCEMODE" ] || + [ -f $XBPS_CONFIGURE_DONE -a -n "$XBPS_BUILD_FORCEMODE" -a $XBPS_TARGET != "configure" ]; then + exit 0 +fi + +for f in $XBPS_COMMONDIR/environment/configure/*.sh; do + source_file "$f" +done + +run_step configure optional + +touch -f $XBPS_CONFIGURE_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-doextract.sh b/common/xbps-src/libexec/xbps-src-doextract.sh new file mode 100755 index 0000000..8b1633a --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-doextract.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +for f in $XBPS_COMMONDIR/environment/extract/*.sh; do + source_file "$f" +done + +XBPS_EXTRACT_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_extract_done" + +if [ -f $XBPS_EXTRACT_DONE ]; then + exit 0 +fi + +# Run pre-extract hooks +run_pkg_hooks pre-extract + +# If template defines pre_extract(), use it. +if declare -f pre_extract >/dev/null; then + run_func pre_extract +fi + +# If template defines do_extract() use it rather than the hooks. +if declare -f do_extract >/dev/null; then + [ ! -d "$wrksrc" ] && mkdir -p "$wrksrc" + cd "$wrksrc" + run_func do_extract +else + if [ -n "$build_style" ]; then + if [ ! -r $XBPS_BUILDSTYLEDIR/${build_style}.sh ]; then + msg_error "$pkgver: cannot find build helper $XBPS_BUILDSTYLEDIR/${build_style}.sh!\n" + fi + . $XBPS_BUILDSTYLEDIR/${build_style}.sh + fi + # If the build_style script declares do_extract(), use it rather than hooks. + if declare -f do_extract >/dev/null; then + run_func do_extract + else + # Run do-extract hooks + run_pkg_hooks "do-extract" + fi +fi + + +[ -d "$wrksrc" ] && cd "$wrksrc" + +# If template defines post_extract(), use it. +if declare -f post_extract >/dev/null; then + run_func post_extract +fi + +# Run post-extract hooks +run_pkg_hooks post-extract + +touch -f $XBPS_EXTRACT_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-dofetch.sh b/common/xbps-src/libexec/xbps-src-dofetch.sh new file mode 100755 index 0000000..07aef66 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-dofetch.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +for f in $XBPS_COMMONDIR/environment/fetch/*.sh; do + source_file "$f" +done + +XBPS_FETCH_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_fetch_done" + +if [ -f "$XBPS_FETCH_DONE" ]; then + exit 0 +fi + +# Run pre-fetch hooks. +run_pkg_hooks pre-fetch + +# If template defines pre_fetch(), use it. +if declare -f pre_fetch >/dev/null; then + run_func pre_fetch +fi + +# If template defines do_fetch(), use it rather than the hooks. +if declare -f do_fetch >/dev/null; then + cd ${XBPS_BUILDDIR} + [ -n "$build_wrksrc" ] && mkdir -p "$wrksrc" + run_func do_fetch +else + # Run do-fetch hooks. + run_pkg_hooks "do-fetch" +fi + +cd ${XBPS_BUILDDIR} || msg_error "$pkgver: cannot access wrksrc directory [$wrksrc]\n" +# if templates defines post_fetch(), use it. +if declare -f post_fetch >/dev/null; then + run_func post_fetch +fi + +# Run post-fetch hooks. +run_pkg_hooks post-fetch + +touch -f $XBPS_FETCH_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-doinstall.sh b/common/xbps-src/libexec/xbps-src-doinstall.sh new file mode 100755 index 0000000..fb5d35d --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-doinstall.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - subpkg mode [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 2 -o $# -gt 3 ]; then + echo "${0##*/}: invalid number of arguments: pkgname subpkg-mode [cross-target]" + exit 1 +fi + +PKGNAME="$1" +SUBPKG_MODE="$2" +XBPS_CROSS_BUILD="$3" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +for f in $XBPS_COMMONDIR/environment/install/*.sh; do + source_file "$f" +done + +XBPS_INSTALL_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_install_done" + +ch_wrksrc + +if [ "$SUBPKG_MODE" = "no" ]; then + if [ ! -f $XBPS_INSTALL_DONE ] || [ -f $XBPS_INSTALL_DONE -a -n "$XBPS_BUILD_FORCEMODE" ]; then + mkdir -p $XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/$pkgname-$version + + run_step install "" skip + + touch -f $XBPS_INSTALL_DONE + fi + exit 0 +fi + +XBPS_SUBPKG_INSTALL_DONE="${XBPS_STATEDIR}/${PKGNAME}_${XBPS_CROSS_BUILD}_subpkg_install_done" + +# If it's a subpkg execute the pkg_install() function. +if [ ! -f $XBPS_SUBPKG_INSTALL_DONE ]; then + if [ "$sourcepkg" != "$PKGNAME" ]; then + # Source all subpkg environment setup snippets. + for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do + source_file "$f" + done + + ${PKGNAME}_package + pkgname=$PKGNAME + + source_file $XBPS_COMMONDIR/environment/build-style/${build_style}.sh + + install -d $PKGDESTDIR + if declare -f pkg_install >/dev/null; then + run_pkg_hooks pre-install + run_func pkg_install + fi + fi + setup_pkg_depends ${pkgname:=$PKGNAME} || exit 1 + run_pkg_hooks post-install + touch -f $XBPS_SUBPKG_INSTALL_DONE +fi + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-dopatch.sh b/common/xbps-src/libexec/xbps-src-dopatch.sh new file mode 100755 index 0000000..c1b3b04 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-dopatch.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +XBPS_PATCH_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_patch_done" + +if [ -f $XBPS_PATCH_DONE ]; then + exit 0 +fi + +for f in $XBPS_COMMONDIR/environment/patch/*.sh; do + source_file "$f" +done + +run_step patch optional + +touch -f $XBPS_PATCH_DONE + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-dopkg.sh b/common/xbps-src/libexec/xbps-src-dopkg.sh new file mode 100755 index 0000000..5fec7b9 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-dopkg.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - path to local repository [REQUIRED] +# $3 - cross-target [OPTIONAL] + +if [ $# -lt 2 -o $# -gt 3 ]; then + echo "${0##*/}: invalid number of arguments: pkgname repository [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_REPOSITORY="$2" +XBPS_CROSS_BUILD="$3" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +for f in $XBPS_COMMONDIR/environment/pkg/*.sh; do + source_file "$f" +done + +if [ "$sourcepkg" != "$PKGNAME" ]; then + # Source all subpkg environment setup snippets. + for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do + source_file "$f" + done + + ${PKGNAME}_package + pkgname=$PKGNAME +fi + +if [ -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then + export XBPS_ARCH=$(<$XBPS_MASTERDIR/.xbps_chroot_init) +fi + +# Run do-pkg hooks. +run_pkg_hooks "do-pkg" + +# Run post-pkg hooks. +run_pkg_hooks post-pkg + +exit 0 diff --git a/common/xbps-src/libexec/xbps-src-prepkg.sh b/common/xbps-src/libexec/xbps-src-prepkg.sh new file mode 100755 index 0000000..34f91b3 --- /dev/null +++ b/common/xbps-src/libexec/xbps-src-prepkg.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# +# vim: set ts=4 sw=4 et: +# +# Passed arguments: +# $1 - pkgname [REQUIRED] +# $2 - cross target [OPTIONAL] + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${0##*/}: invalid number of arguments: pkgname [cross-target]" + exit 1 +fi + +PKGNAME="$1" +XBPS_CROSS_BUILD="$2" + +for f in $XBPS_SHUTILSDIR/*.sh; do + . $f +done + +setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD + +for f in $XBPS_COMMONDIR/environment/install/*.sh; do + source_file "$f" +done + + +XBPS_PREPKG_DONE="${XBPS_STATEDIR}/${PKGNAME}_${XBPS_CROSS_BUILD}_prepkg_done" + +if [ -z "$XBPS_BUILD_FORCEMODE" -a -f $XBPS_PREPKG_DONE ]; then + exit 0 +fi + +# If it's a subpkg execute the pkg_install() function. +if [ "$sourcepkg" != "$PKGNAME" ]; then + # Source all subpkg environment setup snippets. + for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do + source_file "$f" + done + + ${PKGNAME}_package + pkgname=$PKGNAME +fi + +source_file $XBPS_COMMONDIR/environment/build-style/${build_style}.sh +setup_pkg_depends $pkgname || exit 1 +run_pkg_hooks pre-pkg + +touch -f $XBPS_PREPKG_DONE + +exit 0 diff --git a/common/xbps-src/shutils/build_dependencies.sh b/common/xbps-src/shutils/build_dependencies.sh new file mode 100644 index 0000000..20f6152 --- /dev/null +++ b/common/xbps-src/shutils/build_dependencies.sh @@ -0,0 +1,433 @@ +# vim: set ts=4 sw=4 et: +# +setup_pkg_depends() { + local pkg="$1" out="$2" with_subpkgs="$3" j _rpkgname _depname _pkgname foo _deps collected + + if [[ $pkg ]]; then + # subpkg + if declare -f ${pkg}_package >/dev/null; then + ${pkg}_package + fi + elif [[ $with_subpkgs ]]; then + collected="${depends}" + for pkg in $subpackages; do + [[ $pkg ]] || continue + ${pkg}_package + collected+=" ${depends}" + done + depends="${collected}" + fi + + for j in ${depends}; do + _rpkgname="${j%\?*}" + _depname="${j#*\?}" + if [[ ${_rpkgname} == virtual ]]; then + _pkgname=$(xbps-uhelper getpkgname $_depname 2>/dev/null) + [ -z "$_pkgname" ] && _pkgname="$_depname" + if [ -s ${XBPS_DISTDIR}/etc/virtual ]; then + foo=$(grep -E "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2) + elif [ -s ${XBPS_DISTDIR}/etc/defaults.virtual ]; then + foo=$(grep -E "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2) + fi + if [ -z "$foo" ]; then + msg_error "$pkgver: failed to resolve virtual dependency for '$j' (missing from etc/virtual)\n" + fi + [[ $out ]] && echo "$foo" + else + foo="$($XBPS_UHELPER_CMD getpkgdepname ${_depname} 2>/dev/null)" + if [ -z "$foo" ]; then + foo="$($XBPS_UHELPER_CMD getpkgname ${_depname} 2>/dev/null)" + [ -z "$foo" ] && foo="${_depname}" + fi + [[ $out ]] && echo "$foo" + fi + run_depends+="${_depname} " + done + + return 0 +} + +# +# Install required package dependencies, like: +# +# xbps-install -Ay +# +# -A automatic mode +# -y yes +# +# Returns 0 if package already installed or installed successfully. +# Any other error number otherwise. +# +# SUCCESS (0): package installed successfully. +# ENOENT (2): package missing in repositories. +# ENXIO (6): package depends on invalid dependencies. +# EAGAIN (11): package conflicts. +# EBUSY (16): package 'xbps' needs to be updated. +# EEXIST (17): file conflicts in transaction (XBPS_FLAG_IGNORE_FILE_CONFLICTS unset) +# ENODEV (19): package depends on missing dependencies. +# ENOTSUP (95): no repositories registered. +# -1 (255): unexpected error. + +install_pkg_from_repos() { + local cross="$1" target="$2" rval tmplogf cmd + shift 2 + + [ $# -eq 0 ] && return 0 + + mkdir -p $XBPS_STATEDIR + tmplogf=${XBPS_STATEDIR}/xbps_${XBPS_TARGET_MACHINE}_bdep_${pkg}.log + + cmd=$XBPS_INSTALL_CMD + [[ $cross ]] && cmd=$XBPS_INSTALL_XCMD + $cmd -Ay "$@" >$tmplogf 2>&1 + rval=$? + + case "$rval" in + 0) # success, check if there are errors. + errortmpf=$(mktemp) || exit 1 + grep ^ERROR $tmplogf > $errortmpf + [ -s $errortmpf ] && cat $errortmpf + rm -f $errortmpf + ;; + *) + [ -z "$XBPS_KEEP_ALL" ] && remove_pkg_autodeps + msg_red "$pkgver: failed to install $target dependencies! (error $rval)\n" + cat $tmplogf + rm -f $tmplogf + msg_error "Please see above for the real error, exiting...\n" + ;; + esac + rm -f $tmplogf + return $rval +} + +# +# Returns 0 if pkgpattern in $1 is installed and greater than current +# installed package, otherwise 1. +# +check_installed_pkg() { + local pkg="$1" cross="$2" uhelper= pkgn= iver= + + [ -z "$pkg" ] && return 2 + + pkgn="$($XBPS_UHELPER_CMD getpkgname ${pkg})" + [ -z "$pkgn" ] && return 2 + + uhelper=$XBPS_UHELPER_CMD + [[ $cross ]] && uhelper=$XBPS_UHELPER_XCMD + iver="$($uhelper version $pkgn)" + if [ $? -eq 0 -a -n "$iver" ]; then + $XBPS_CMPVER_CMD "${pkgn}-${iver}" "${pkg}" + [ $? -eq 0 -o $? -eq 1 ] && return 0 + fi + + return 1 +} + +# +# Build all dependencies required to build and run. +# +install_pkg_deps() { + local pkg="$1" targetpkg="$2" target="$3" cross="$4" cross_prepare="$5" + local _vpkg curpkgdepname + local i j found style + local templates="" + + local -a host_binpkg_deps binpkg_deps + local -a host_missing_deps missing_deps missing_rdeps + + [ -z "$pkgname" ] && return 2 + [ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends + + if [[ $build_style ]] || [[ $build_helper ]]; then + style=" with" + fi + + [[ $build_style ]] && style+=" [$build_style]" + + for s in $build_helper; do + style+=" [$s]" + done + + if [ "$pkg" != "$targetpkg" ]; then + msg_normal "$pkgver: building${style} (dependency of $targetpkg) for $XBPS_TARGET_MACHINE...\n" + else + msg_normal "$pkgver: building${style} for $XBPS_TARGET_MACHINE...\n" + fi + + # + # Host build dependencies. + # + if [[ ${hostmakedepends} ]]; then + templates="" + # check validity + for f in ${hostmakedepends}; do + if [ -f $XBPS_SRCPKGDIR/$f/template ]; then + templates+=" $f" + continue + fi + local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null) + if [ "$_repourl" ]; then + echo " [host] ${f}: found (${_repourl})" + host_binpkg_deps+=("$f") + continue + fi + msg_error "$pkgver: host dependency '$f' does not exist!\n" + done + while read -r _depname _deprepover _depver _subpkg _repourl; do + _vpkg=${_subpkg}-${_depver} + # binary package found in a repo + if [[ ${_depver} == ${_deprepover} ]]; then + echo " [host] ${_vpkg}: found (${_repourl})" + host_binpkg_deps+=("${_vpkg}") + continue + fi + # binary package not found + if [[ $_depname != $_subpkg ]]; then + # subpkg, check if it's a subpkg of itself + found=0 + for f in ${subpackages}; do + if [[ ${_subpkg} == ${f} ]]; then + found=1 + break + fi + done + if [[ $found -eq 1 ]] && [[ -z "$cross" ]]; then + echo " [host] ${_vpkg}: not found (subpkg, ignored)" + else + echo " [host] ${_vpkg}: not found" + host_missing_deps+=("$_vpkg") + fi + else + echo " [host] ${_vpkg}: not found" + host_missing_deps+=("$_vpkg") + fi + done < <($XBPS_CHECKVERS_CMD -D $XBPS_DISTDIR -sm $templates) + fi + + # + # Host check dependencies. + # + if [[ ${checkdepends} ]] && [[ $XBPS_CHECK_PKGS ]] && [ -z "$XBPS_CROSS_BUILD" ]; then + templates="" + # check validity + for f in ${checkdepends}; do + if [ -f $XBPS_SRCPKGDIR/$f/template ]; then + templates+=" $f" + continue + fi + local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null) + if [ "$_repourl" ]; then + echo " [host] ${f}: found (${_repourl})" + host_binpkg_deps+=("$f") + continue + fi + msg_error "$pkgver: check dependency '$f' does not exist!\n" + done + while read -r _depname _deprepover _depver _subpkg _repourl; do + _vpkg=${_subpkg}-${_depver} + # binary package found in a repo + if [[ ${_depver} == ${_deprepover} ]]; then + echo " [check] ${_vpkg}: found (${_repourl})" + host_binpkg_deps+=("${_vpkg}") + continue + fi + # binary package not found + if [[ $_depname != $_subpkg ]]; then + # subpkg, check if it's a subpkg of itself + found=0 + for f in ${subpackages}; do + if [[ ${_subpkg} == ${f} ]]; then + found=1 + break + fi + done + if [[ $found -eq 1 ]]; then + echo " [check] ${_vpkg}: not found (subpkg, ignored)" + else + echo " [check] ${_vpkg}: not found" + host_missing_deps+=("$_vpkg") + fi + else + echo " [check] ${_vpkg}: not found" + host_missing_deps+=("$_vpkg") + fi + done < <($XBPS_CHECKVERS_CMD -D $XBPS_DISTDIR -sm ${templates}) + fi + + # + # Target build dependencies. + # + if [[ ${makedepends} ]]; then + templates="" + # check validity + for f in ${makedepends}; do + if [ -f $XBPS_SRCPKGDIR/$f/template ]; then + templates+=" $f" + continue + fi + local _repourl=$($XBPS_QUERY_XCMD -R -prepository "$f" 2>/dev/null) + if [ "$_repourl" ]; then + echo " [target] ${f}: found (${_repourl})" + binpkg_deps+=("$f") + continue + fi + msg_error "$pkgver: target dependency '$f' does not exist!\n" + done + while read -r _depname _deprepover _depver _subpkg _repourl; do + _vpkg=${_subpkg}-${_depver} + # binary package found in a repo + if [[ ${_depver} == ${_deprepover} ]]; then + echo " [target] ${_vpkg}: found (${_repourl})" + binpkg_deps+=("${_vpkg}") + continue + fi + # binary package not found + if [[ $_depname != $_subpkg ]]; then + # subpkg, check if it's a subpkg of itself + found=0 + for f in ${subpackages}; do + if [[ ${_subpkg} == ${f} ]]; then + found=1 + break + fi + done + if [[ $found -eq 1 ]]; then + msg_error "[target] ${_vpkg}: target dependency '${_subpkg}' is a subpackage of $pkgname\n" + else + echo " [target] ${_vpkg}: not found" + missing_deps+=("$_vpkg") + fi + else + echo " [target] ${_vpkg}: not found" + missing_deps+=("$_vpkg") + fi + done < <($XBPS_CHECKVERS_XCMD -D $XBPS_DISTDIR -sm $templates) + fi + + # + # Target run time dependencies + # + local _cleandeps=$(setup_pkg_depends "" 1 1) || exit 1 + if [[ ${_cleandeps} ]]; then + templates="" + for f in ${_cleandeps}; do + if [ -f $XBPS_SRCPKGDIR/$f/template ]; then + templates+=" $f" + continue + fi + local _repourl=$($XBPS_QUERY_XCMD -R -prepository "$f" 2>/dev/null) + if [ "$_repourl" ]; then + echo " [target] ${f}: found (${_repourl})" + continue + fi + msg_error "$pkgver: target dependency '$f' does not exist!\n" + done + while read -r _depname _deprepover _depver _subpkg _repourl; do + _vpkg=${_subpkg}-${_depver} + # binary package found in a repo + if [[ ${_depver} == ${_deprepover} ]]; then + echo " [runtime] ${_vpkg}: found (${_repourl})" + continue + fi + # binary package not found + if [[ $_depname != $_subpkg ]]; then + # subpkg, check if it's a subpkg of itself + found=0 + for f in ${subpackages}; do + if [[ ${_subpkg} == ${f} ]]; then + found=1 + break + fi + done + if [[ $found -eq 1 ]]; then + echo " [runtime] ${_vpkg}: not found (subpkg, ignored)" + else + echo " [runtime] ${_vpkg}: not found" + missing_rdeps+=("$_vpkg") + fi + elif [[ ${_depname} == ${pkgname} ]]; then + echo " [runtime] ${_vpkg}: not found (self, ignored)" + else + echo " [runtime] ${_vpkg}: not found" + missing_rdeps+=("$_vpkg") + fi + done < <($XBPS_CHECKVERS_XCMD -D $XBPS_DISTDIR -sm $templates) + fi + + if [ -n "$XBPS_BUILD_ONLY_ONE_PKG" ]; then + for i in ${host_missing_deps[@]}; do + msg_error "dep ${i} not found: -1 passed: instructed not to build\n" + done + for i in ${missing_rdeps[@]}; do + msg_error "dep ${i} not found: -1 passed: instructed not to build\n" + done + for i in ${missing_deps[@]}; do + msg_error "dep ${i} not found: -1 passed: instructed not to build\n" + done + fi + + # Missing host dependencies, build from srcpkgs. + for i in ${host_missing_deps[@]}; do + # packages not found in repos, install from source. + ( + curpkgdepname=$($XBPS_UHELPER_CMD getpkgname "$i" 2>/dev/null) + setup_pkg $curpkgdepname + exec env XBPS_DEPENDENCY=1 XBPS_BINPKG_EXISTS=1 XBPS_DEPENDS_CHAIN="$XBPS_DEPENDS_CHAIN, $sourcepkg(host)" \ + $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross_prepare || exit $? + ) || exit $? + host_binpkg_deps+=("$i") + done + + # Missing target dependencies, build from srcpkgs. + for i in ${missing_deps[@]}; do + # packages not found in repos, install from source. + ( + + curpkgdepname=$($XBPS_UHELPER_CMD getpkgname "$i" 2>/dev/null) + setup_pkg $curpkgdepname $cross + exec env XBPS_DEPENDENCY=1 XBPS_BINPKG_EXISTS=1 XBPS_DEPENDS_CHAIN="$XBPS_DEPENDS_CHAIN, $sourcepkg(${cross:-host})" \ + $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $? + ) || exit $? + binpkg_deps+=("$i") + done + + # Target runtime missing dependencies, build from srcpkgs. + for i in ${missing_rdeps[@]}; do + # packages not found in repos, install from source. + ( + curpkgdepname=$($XBPS_UHELPER_CMD getpkgdepname "$i" 2>/dev/null) + if [ -z "$curpkgdepname" ]; then + curpkgdepname=$($XBPS_UHELPER_CMD getpkgname "$i" 2>/dev/null) + if [ -z "$curpkgdepname" ]; then + curpkgdepname="$i" + fi + fi + setup_pkg $curpkgdepname $cross + exec env XBPS_DEPENDENCY=1 XBPS_BINPKG_EXISTS=1 XBPS_DEPENDS_CHAIN="$XBPS_DEPENDS_CHAIN, $sourcepkg(${cross:-host})" \ + $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $? + ) || exit $? + done + + if [[ ${host_binpkg_deps} ]]; then + if [ -z "$XBPS_QUIET" ]; then + # normal messages in bold + [[ $NOCOLORS ]] || printf "\033[1m" + echo "=> $pkgver: installing host dependencies: ${host_binpkg_deps[@]} ..." + [[ $NOCOLORS ]] || printf "\033[m" + fi + install_pkg_from_repos "" host "${host_binpkg_deps[@]}" + fi + + if [[ ${binpkg_deps} ]]; then + if [ -z "$XBPS_QUIET" ]; then + # normal messages in bold + [[ $NOCOLORS ]] || printf "\033[1m" + echo "=> $pkgver: installing target dependencies: ${binpkg_deps[@]} ..." + [[ $NOCOLORS ]] || printf "\033[m" + fi + install_pkg_from_repos "$cross" target "${binpkg_deps[@]}" + fi + + return 0 +} diff --git a/common/xbps-src/shutils/bulk.sh b/common/xbps-src/shutils/bulk.sh new file mode 100644 index 0000000..69e36f4 --- /dev/null +++ b/common/xbps-src/shutils/bulk.sh @@ -0,0 +1,127 @@ +# vim: set ts=4 sw=4 et: + +bulk_getlink() { + local p="${1##*/}" + local target="$(readlink $XBPS_SRCPKGDIR/$p)" + + if [ $? -eq 0 -a -n "$target" ]; then + p=$target + fi + echo $p +} + +bulk_sortdeps() { + local _pkgs _pkg pkgs pkg found f x tmpf + + _pkgs="$@" + # Iterate over the list and make sure that only real pkgs are + # added to our pkglist. + for pkg in ${_pkgs}; do + found=0 + f=$(bulk_getlink $pkg) + for x in ${pkgs}; do + if [ "$x" = "${f}" ]; then + found=1 + break + fi + done + if [ $found -eq 0 ]; then + pkgs+="${f} " + fi + done + + tmpf=$(mktemp) || exit 1 + # Now make the real dependency graph of all pkgs to build. + # Perform a topological sort of all pkgs but only with build dependencies + # that are found in previous step. + for pkg in ${pkgs}; do + _pkgs="$($XBPS_DISTDIR/xbps-src show-build-deps $pkg 2>/dev/null)" + found=0 + for x in ${_pkgs}; do + _pkg=$(bulk_getlink $x) + for f in ${pkgs}; do + if [ "${f}" != "${_pkg}" ]; then + continue + fi + found=1 + echo "${pkg} ${f}" >> $tmpf + done + done + [ $found -eq 0 ] && echo "${pkg} ${pkg}" >> $tmpf + done + tsort $tmpf|tac + rm -f $tmpf +} + +bulk_build() { + local bulk_build_cmd="$1" + local NPROCS=$(($(nproc)*2)) + local NRUNNING=0 + + if [ "$XBPS_CROSS_BUILD" ]; then + source ${XBPS_COMMONDIR}/cross-profiles/${XBPS_CROSS_BUILD}.sh + export XBPS_ARCH=${XBPS_TARGET_MACHINE} + fi + if ! command -v xbps-checkvers &>/dev/null; then + msg_error "xbps-src: cannot find xbps-checkvers(1) command!\n" + fi + + # Compare installed pkg versions vs srcpkgs + case "$bulk_build_cmd" in + installed) + bulk_sortdeps $(xbps-checkvers -f '%n' -I -D "$XBPS_DISTDIR") + return $? + ;; + local) + bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}/bootstrap" -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR") + return $? + ;; + esac + + # compare repo pkg versions vs srcpkgs + for f in $(xbps-checkvers -f '%n' -D $XBPS_DISTDIR); do + if [ $NRUNNING -eq $NPROCS ]; then + NRUNNING=0 + wait + fi + NRUNNING=$((NRUNNING+1)) + ( + setup_pkg $f $XBPS_TARGET_MACHINE &>/dev/null + if show_avail &>/dev/null; then + echo "$f" + fi + ) & + done + wait + return $? +} + +bulk_update() { + local bulk_update_cmd="$1" pkgs f rval + + pkgs="$(bulk_build "${bulk_update_cmd}")" + [[ -z $pkgs ]] && return 0 + + msg_normal "xbps-src: the following packages must be rebuilt and updated:\n" + for f in ${pkgs}; do + echo " $f" + done + for f in ${pkgs}; do + XBPS_TARGET_PKG=$f + read_pkg + msg_normal "xbps-src: building ${pkgver} ...\n" + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler pkg $XBPS_TARGET_PKG + else + $XBPS_LIBEXECDIR/build.sh $f $f pkg $XBPS_CROSS_BUILD + fi + if [ $? -eq 1 ]; then + msg_error "xbps-src: failed to build $pkgver pkg!\n" + fi + done + if [ -n "$pkgs" -a "$bulk_update_cmd" == installed ]; then + echo + msg_normal "xbps-src: updating your system, confirm to proceed...\n" + ${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY/bootstrap --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1 + fi +} diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh new file mode 100644 index 0000000..d65d8d7 --- /dev/null +++ b/common/xbps-src/shutils/chroot.sh @@ -0,0 +1,333 @@ +# vim: set ts=4 sw=4 et: + +install_base_chroot() { + [ "$CHROOT_READY" ] && return + if [ "$1" = "bootstrap" ]; then + unset XBPS_TARGET_PKG XBPS_INSTALL_ARGS + else + XBPS_TARGET_PKG="$1" + fi + # binary bootstrap + msg_normal "xbps-src: installing base-chroot...\n" + # XBPS_TARGET_PKG == arch + if [ "$XBPS_TARGET_PKG" ]; then + _bootstrap_arch="env XBPS_TARGET_ARCH=$XBPS_TARGET_PKG" + fi + (export XBPS_MACHINE=$XBPS_TARGET_PKG XBPS_ARCH=$XBPS_TARGET_PKG; chroot_sync_repodata) + ${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot + if [ $? -ne 0 ]; then + msg_error "xbps-src: failed to install base-chroot!\n" + fi + # Reconfigure base-files to create dirs/symlinks. + if xbps-query -r $XBPS_MASTERDIR base-files &>/dev/null; then + XBPS_ARCH=$XBPS_TARGET_PKG xbps-reconfigure -r $XBPS_MASTERDIR -f base-files &>/dev/null + fi + + msg_normal "xbps-src: installed base-chroot successfully!\n" + chroot_prepare $XBPS_TARGET_PKG || msg_error "xbps-src: failed to initialize chroot!\n" + chroot_check + chroot_handler clean +} + +reconfigure_base_chroot() { + local statefile="$XBPS_MASTERDIR/.xbps_chroot_configured" + local pkgs="glibc-locales ca-certificates" + [ -z "$IN_CHROOT" -o -e $statefile ] && return 0 + # Reconfigure ca-certificates. + msg_normal "xbps-src: reconfiguring base-chroot...\n" + for f in ${pkgs}; do + if xbps-query -r $XBPS_MASTERDIR $f &>/dev/null; then + xbps-reconfigure -r $XBPS_MASTERDIR -f $f + fi + done + touch -f $statefile +} + +update_base_chroot() { + local keep_all_force=$1 + [ -z "$CHROOT_READY" ] && return + msg_normal "xbps-src: updating software in $XBPS_MASTERDIR masterdir...\n" + # no need to sync repodata, chroot_sync_repodata() does it for us. + if $(${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -nu|grep -q xbps); then + ${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu xbps || msg_error "xbps-src: failed to update xbps!\n" + fi + ${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu || msg_error "xbps-src: failed to update base-chroot!\n" + msg_normal "xbps-src: cleaning up $XBPS_MASTERDIR masterdir...\n" + [ -z "$XBPS_KEEP_ALL" -a -z "$XBPS_SKIP_DEPS" ] && remove_pkg_autodeps + [ -z "$XBPS_KEEP_ALL" -a -z "$keep_all_force" ] && rm -rf $XBPS_MASTERDIR/builddir $XBPS_MASTERDIR/destdir +} + +# FIXME: $XBPS_FFLAGS is not set when chroot_init() is run +# It is set in common/build-profiles/bootstrap.sh but lost somewhere? +chroot_init() { + mkdir -p $XBPS_MASTERDIR/etc/xbps + + : ${XBPS_CONFIG_FILE:=/dev/null} + cat > $XBPS_MASTERDIR/etc/xbps/xbps-src.conf <<_EOF +# Generated configuration file by xbps-src, DO NOT EDIT! +$(grep -E '^XBPS_.*' "$XBPS_CONFIG_FILE") +XBPS_MASTERDIR=/ +XBPS_CFLAGS="$XBPS_CFLAGS" +XBPS_CXXFLAGS="$XBPS_CXXFLAGS" +XBPS_FFLAGS="$XBPS_FFLAGS" +XBPS_CPPFLAGS="$XBPS_CPPFLAGS" +XBPS_LDFLAGS="$XBPS_LDFLAGS" +XBPS_HOSTDIR=/host +# End of configuration file. +_EOF + + # Create custom script to start the chroot bash shell. + cat > $XBPS_MASTERDIR/bin/xbps-shell <<_EOF +#!/bin/sh + +XBPS_SRC_VERSION="$XBPS_SRC_VERSION" + +. /etc/xbps/xbps-src.conf + +PATH=/void-packages:/usr/bin + +exec env -i -- SHELL=/bin/sh PATH="\$PATH" DISTCC_HOSTS="\$XBPS_DISTCC_HOSTS" DISTCC_DIR="/host/distcc" \ + ${XBPS_ARCH+XBPS_ARCH=$XBPS_ARCH} ${XBPS_CHECK_PKGS+XBPS_CHECK_PKGS=$XBPS_CHECK_PKGS} \ + CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp" \ + PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h "\$@" +_EOF + + chmod 755 $XBPS_MASTERDIR/bin/xbps-shell + cp -f /etc/resolv.conf $XBPS_MASTERDIR/etc + return 0 +} + +chroot_prepare() { + local f= + + if [ -f $XBPS_MASTERDIR/.xbps_chroot_init ]; then + return 0 + elif [ ! -f $XBPS_MASTERDIR/bin/bash ]; then + msg_error "Bootstrap not installed in $XBPS_MASTERDIR, can't continue.\n" + fi + + # Some software expects /etc/localtime to be a symbolic link it can read to + # determine the name of the time zone, so set up the expected link + # structure. + ln -sf ../usr/share/zoneinfo/UTC $XBPS_MASTERDIR/etc/localtime + + for f in dev sys tmp proc host boot; do + [ ! -d $XBPS_MASTERDIR/$f ] && mkdir -p $XBPS_MASTERDIR/$f + done + + # Copy /etc/passwd and /etc/group from base-files. + cp -f $XBPS_SRCPKGDIR/base-files/files/passwd $XBPS_MASTERDIR/etc + echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp:/bin/xbps-shell" \ + >> $XBPS_MASTERDIR/etc/passwd + cp -f $XBPS_SRCPKGDIR/base-files/files/group $XBPS_MASTERDIR/etc + echo "$(whoami):x:$(id -g):" >> $XBPS_MASTERDIR/etc/group + + # Copy /etc/hosts from base-files. + cp -f $XBPS_SRCPKGDIR/base-files/files/hosts $XBPS_MASTERDIR/etc + + # Prepare default locale: en_US.UTF-8. + if [ -s ${XBPS_MASTERDIR}/etc/default/libc-locales ]; then + printf '%s\n' \ + 'C.UTF-8 UTF-8' \ + 'en_US.UTF-8 UTF-8' \ + >> ${XBPS_MASTERDIR}/etc/default/libc-locales + fi + + touch -f $XBPS_MASTERDIR/.xbps_chroot_init + [ -n "$1" ] && echo $1 >> $XBPS_MASTERDIR/.xbps_chroot_init + + return 0 +} + +chroot_handler() { + local action="$1" pkg="$2" rv=0 arg= _envargs= + + [ -z "$action" -a -z "$pkg" ] && return 1 + + if [ -n "$IN_CHROOT" -o -z "$CHROOT_READY" ]; then + return 0 + fi + if [ ! -d $XBPS_MASTERDIR/void-packages ]; then + mkdir -p $XBPS_MASTERDIR/void-packages + fi + + case "$action" in + fetch|extract|patch|configure|build|check|install|pkg|bootstrap-update|chroot|clean) + chroot_prepare || return $? + chroot_init || return $? + ;; + esac + + if [ "$action" = "chroot" ]; then + $XBPS_COMMONDIR/chroot-style/${XBPS_CHROOT_CMD:=uunshare}.sh \ + $XBPS_MASTERDIR $XBPS_DISTDIR "$XBPS_HOSTDIR" "$XBPS_CHROOT_CMD_ARGS" /bin/xbps-shell + rv=$? + else + env -i -- PATH="/usr/bin:$PATH" SHELL=/bin/sh \ + HOME=/tmp IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \ + ${http_proxy:+http_proxy="${http_proxy}"} \ + ${https_proxy:+https_proxy="${https_proxy}"} \ + ${ftp_proxy:+ftp_proxy="${ftp_proxy}"} \ + ${all_proxy:+all_proxy="${all_proxy}"} \ + ${no_proxy:+no_proxy="${no_proxy}"} \ + ${HTTP_PROXY:+HTTP_PROXY="${HTTP_PROXY}"} \ + ${HTTPS_PROXY:+HTTPS_PROXY="${HTTPS_PROXY}"} \ + ${FTP_PROXY:+FTP_PROXY="${FTP_PROXY}"} \ + ${SOCKS_PROXY:+SOCKS_PROXY="${SOCKS_PROXY}"} \ + ${NO_PROXY:+NO_PROXY="${NO_PROXY}"} \ + ${HTTP_PROXY_AUTH:+HTTP_PROXY_AUTH="${HTTP_PROXY_AUTH}"} \ + ${FTP_RETRIES:+FTP_RETRIES="${FTP_RETRIES}"} \ + SOURCE_DATE_EPOCH="$SOURCE_DATE_EPOCH" \ + XBPS_GIT_REVS="$XBPS_GIT_REVS" \ + XBPS_ALLOW_CHROOT_BREAKOUT="$XBPS_ALLOW_CHROOT_BREAKOUT" \ + ${XBPS_ALT_REPOSITORY:+XBPS_ALT_REPOSITORY=$XBPS_ALT_REPOSITORY} \ + $XBPS_COMMONDIR/chroot-style/${XBPS_CHROOT_CMD:=uunshare}.sh \ + $XBPS_MASTERDIR $XBPS_DISTDIR "$XBPS_HOSTDIR" "$XBPS_CHROOT_CMD_ARGS" \ + /void-packages/xbps-src $XBPS_OPTIONS $action $pkg + rv=$? + fi + + return $rv +} + +chroot_sync_repodata() { + local f= hostdir= confdir= crossconfdir= + + # always start with an empty xbps.d + confdir=$XBPS_MASTERDIR/etc/xbps.d + crossconfdir=$XBPS_MASTERDIR/$XBPS_CROSS_BASE/etc/xbps.d + + [ -d $confdir ] && rm -rf $confdir + [ -d $crossconfdir ] && rm -rf $crossconfdir + + if [ -d $XBPS_DISTDIR/etc/xbps.d/custom ]; then + mkdir -p $confdir $crossconfdir + cp -f $XBPS_DISTDIR/etc/xbps.d/custom/*.conf $confdir + cp -f $XBPS_DISTDIR/etc/xbps.d/custom/*.conf $crossconfdir + fi + if [ "$CHROOT_READY" ]; then + hostdir=/host + else + hostdir=$XBPS_HOSTDIR + fi + + # Update xbps alternative repository if set. + mkdir -p $confdir + if [ -n "$XBPS_ALT_REPOSITORY" ]; then + cat <<- ! > $confdir/00-repository-alt-local.conf + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/bootstrap + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY} + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/nonfree + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/debug + ! + if [ "$XBPS_MACHINE" = "x86_64" ]; then + cat <<- ! >> $confdir/00-repository-alt-local.conf + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/bootstrap + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib + repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/nonfree + ! + fi + else + rm -f $confdir/00-repository-alt-local.conf + fi + + # Disable 00-repository-main.conf from share/xbps.d (part of xbps) + ln -s /dev/null $confdir/00-repository-main.conf + + # Generate xbps.d(5) configuration files for repositories + sed -e "s,/host,$hostdir,g" ${XBPS_DISTDIR}/etc/xbps.d/repos-local.conf \ + > $confdir/10-repository-local.conf + + # Install multilib conf for local repos if it exists for the architecture + if [ -s "${XBPS_DISTDIR}/etc/xbps.d/repos-local-${XBPS_MACHINE}-multilib.conf" ]; then + install -Dm644 ${XBPS_DISTDIR}/etc/xbps.d/repos-local-${XBPS_MACHINE}-multilib.conf \ + $confdir/12-repository-local-multilib.conf + fi + + # mirror_sed is a sed script: nop by default + local mirror_sed + if [ -n "$XBPS_MIRROR" ]; then + # when XBPS_MIRROR is set, mirror_sed rewrites remote repos + mirror_sed="s|^repository=http.*/current|repository=${XBPS_MIRROR}|" + fi + + if [ "$XBPS_SKIP_REMOTEREPOS" ]; then + rm -f $confdir/*remote* + else + if [ -s "${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_MACHINE}.conf" ]; then + # If per-architecture base remote repo config exists, use that + sed -e "$mirror_sed" ${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_MACHINE}.conf \ + > $confdir/20-repository-remote.conf + else + # Otherwise use generic base for musl or glibc + local suffix= + case "$XBPS_MACHINE" in + *-musl) suffix="-musl";; + esac + sed -e "$mirror_sed" ${XBPS_DISTDIR}/etc/xbps.d/repos-remote${suffix}.conf \ + > $confdir/20-repository-remote.conf + fi + # Install multilib conf for remote repos if it exists for the architecture + if [ -s "${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_MACHINE}-multilib.conf" ]; then + sed -e "$mirror_sed" ${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_MACHINE}-multilib.conf \ + > $confdir/22-repository-remote-multilib.conf + fi + fi + + echo "syslog=false" > $confdir/00-xbps-src.conf + + # Copy host repos to the cross root. + if [ -n "$XBPS_CROSS_BUILD" ]; then + rm -rf $XBPS_MASTERDIR/$XBPS_CROSS_BASE/etc/xbps.d + mkdir -p $XBPS_MASTERDIR/$XBPS_CROSS_BASE/etc/xbps.d + # Disable 00-repository-main.conf from share/xbps.d (part of xbps) + ln -s /dev/null $XBPS_MASTERDIR/$XBPS_CROSS_BASE/etc/xbps.d/00-repository-main.conf + # copy xbps.d files from host for local repos + cp ${XBPS_MASTERDIR}/etc/xbps.d/*local*.conf \ + $XBPS_MASTERDIR/$XBPS_CROSS_BASE/etc/xbps.d + if [ "$XBPS_SKIP_REMOTEREPOS" ]; then + rm -f $crossconfdir/*remote* + else + # Same general logic as above, just into cross root, and no multilib + if [ -s "${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_TARGET_MACHINE}.conf" ]; then + sed -e "$mirror_sed" ${XBPS_DISTDIR}/etc/xbps.d/repos-remote-${XBPS_TARGET_MACHINE}.conf \ + > $crossconfdir/20-repository-remote.conf + else + local suffix= + case "$XBPS_TARGET_MACHINE" in + *-musl) suffix="-musl" + esac + sed -e "$mirror_sed" ${XBPS_DISTDIR}/etc/xbps.d/repos-remote${suffix}.conf \ + > $crossconfdir/20-repository-remote.conf + fi + fi + + echo "syslog=false" > $crossconfdir/00-xbps-src.conf + fi + + + # Copy xbps repository keys to the masterdir. + mkdir -p $XBPS_MASTERDIR/var/db/xbps/keys + cp -f $XBPS_COMMONDIR/repo-keys/*.plist $XBPS_MASTERDIR/var/db/xbps/keys + + # Make sure to sync index for remote repositories. + if [ -z "$XBPS_SKIP_REMOTEREPOS" ]; then + msg_normal "xbps-src: updating repositories for host ($XBPS_MACHINE)...\n" + $XBPS_INSTALL_CMD $XBPS_INSTALL_ARGS -S + fi + + if [ -n "$XBPS_CROSS_BUILD" ]; then + # Copy host keys to the target rootdir. + mkdir -p $XBPS_MASTERDIR/$XBPS_CROSS_BASE/var/db/xbps/keys + cp $XBPS_MASTERDIR/var/db/xbps/keys/*.plist \ + $XBPS_MASTERDIR/$XBPS_CROSS_BASE/var/db/xbps/keys + # Make sure to sync index for remote repositories. + if [ -z "$XBPS_SKIP_REMOTEREPOS" ]; then + msg_normal "xbps-src: updating repositories for target ($XBPS_TARGET_MACHINE)...\n" + env -- XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE \ + $XBPS_INSTALL_CMD $XBPS_INSTALL_ARGS -r $XBPS_MASTERDIR/$XBPS_CROSS_BASE -S + fi + fi + + return 0 +} diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh new file mode 100644 index 0000000..2218d34 --- /dev/null +++ b/common/xbps-src/shutils/common.sh @@ -0,0 +1,695 @@ +# vim: set ts=4 sw=4 et: + +run_func() { + local func="$1" desc="$2" funcname="$3" restoretrap= logpipe= logfile= teepid= + + : ${funcname:=$func} + + logpipe=$(mktemp -u -p ${XBPS_STATEDIR} ${pkgname}_${XBPS_CROSS_BUILD}_XXXXXXXX.logpipe) || exit 1 + logfile=${XBPS_STATEDIR}/${pkgname}_${XBPS_CROSS_BUILD}_${funcname}.log + + msg_normal "${pkgver:-xbps-src}: running ${desc:-${func}} ...\n" + + set -E + restoretrap=$(trap -p ERR) + trap 'error_func $funcname $LINENO' ERR + + mkfifo "$logpipe" + tee "$logfile" < "$logpipe" & + teepid=$! + + $func &>"$logpipe" + + wait $teepid + rm "$logpipe" + + eval "$restoretrap" + set +E +} + +ch_wrksrc() { + cd "$wrksrc" || msg_error "$pkgver: cannot access wrksrc directory [$wrksrc]\n" + if [ -n "$build_wrksrc" ]; then + cd "$build_wrksrc" || \ + msg_error "$pkgver: cannot access build_wrksrc directory [$build_wrksrc]\n" + fi +} + +# runs {pre,do,post}_X tripplets +run_step() { + local step_name="$1" optional_step="$2" skip_post_hook="$3" + + ch_wrksrc + run_pkg_hooks "pre-$step_name" + + # Run pre_* Phase + if declare -f "pre_$step_name" >/dev/null; then + ch_wrksrc + run_func "pre_$step_name" + fi + + ch_wrksrc + # Run do_* Phase + if declare -f "do_$step_name" >/dev/null; then + run_func "do_$step_name" + elif [ -n "$build_style" ]; then + if [ -r $XBPS_BUILDSTYLEDIR/${build_style}.sh ]; then + . $XBPS_BUILDSTYLEDIR/${build_style}.sh + if declare -f "do_$step_name" >/dev/null; then + run_func "do_$step_name" + elif [ ! "$optional_step" ]; then + msg_error "$pkgver: cannot find do_$step_name() in $XBPS_BUILDSTYLEDIR/${build_style}.sh!\n" + fi + else + msg_error "$pkgver: cannot find build style $XBPS_BUILDSTYLEDIR/${build_style}.sh!\n" + fi + elif [ ! "$optional_step" ]; then + msg_error "$pkgver: cannot find do_$step_name()!\n" + fi + + # Run do_ phase hooks + run_pkg_hooks "do-$step_name" + + # Run post_* Phase + if declare -f "post_$step_name" >/dev/null; then + ch_wrksrc + run_func "post_$step_name" + fi + + if ! [ "$skip_post_hook" ]; then + ch_wrksrc + run_pkg_hooks "post-$step_name" + fi +} + +error_func() { + local err=$? + local src= + local i= + [ -n "$1" -a -n "$2" ] || exit 1; + + msg_red "$pkgver: $1: '${BASH_COMMAND}' exited with $err\n" + for ((i=1;i<${#FUNCNAME[@]};i++)); do + src=${BASH_SOURCE[$i]} + src=${src#$XBPS_DISTDIR/} + msg_red " in ${FUNCNAME[$i]}() at $src:${BASH_LINENO[$i-1]}\n" + [ "${FUNCNAME[$i]}" = "$1" ] && break; + done + exit 1 +} + +exit_and_cleanup() { + local rval=$1 + + if [ -n "$XBPS_TEMP_MASTERDIR" -a "$XBPS_TEMP_MASTERDIR" != "1" ]; then + rm -rf "$XBPS_TEMP_MASTERDIR" + fi + exit ${rval:=0} +} + +msg_red() { + # error messages in bold/red + [ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m" + printf >&2 "=> ERROR: $@" + [ -n "$NOCOLORS" ] || printf >&2 "\033[m" +} + +msg_red_nochroot() { + [ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m" + printf >&2 "$@" + [ -n "$NOCOLORS" ] || printf >&2 "\033[m" +} + +msg_error() { + msg_red "$@" + [ -n "$XBPS_INFORMATIVE_RUN" ] || exit 1 +} + +msg_warn() { + # warn messages in bold/yellow + [ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[33m" + printf >&2 "=> WARNING: $@" + [ -n "$NOCOLORS" ] || printf >&2 "\033[m" +} + +msg_warn_nochroot() { + [ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[33m" + printf >&2 "=> WARNING: $@" + [ -n "$NOCOLORS" ] || printf >&2 "\033[m" +} + +msg_normal() { + if [ -z "$XBPS_QUIET" ]; then + # normal messages in bold + [ -n "$NOCOLORS" ] || printf "\033[1m" + printf "=> $@" + [ -n "$NOCOLORS" ] || printf "\033[m" + fi +} + +report_broken() { + if [ "$show_problems" = "ignore-problems" ]; then + return + fi + if [ -z "$XBPS_IGNORE_BROKENNESS" ]; then + for line in "$@"; do + msg_red "$line" + done + exit 2 + elif [ "$XBPS_IGNORE_BROKENNESS" != reported ]; then + for line in "$@"; do + msg_warn "$line" + done + XBPS_IGNORE_BROKENNESS=reported + fi +} + +msg_normal_append() { + [ -n "$NOCOLORS" ] || printf "\033[1m" + printf "$@" + [ -n "$NOCOLORS" ] || printf "\033[m" +} + +set_build_options() { + local f j pkgopts _pkgname + local -A options + + if [ -z "$build_options" ]; then + return 0 + fi + + for f in ${build_options}; do + # Select build options from conf + export XBPS_CURRENT_PKG=${pkgname} + pkgopts="$( + . $XBPS_CONFIG_FILE 2>/dev/null + var="XBPS_PKG_OPTIONS_${XBPS_CURRENT_PKG//[^A-Za-z0-9_]/_}" + echo ${!var:-${XBPS_PKG_OPTIONS}} + )" + unset XBPS_CURRENT_PKG + + # If pkg options were set in config(s), merge them with command line + if [ -n "$XBPS_ARG_PKG_OPTIONS" ]; then + if [ -n "$pkgopts" ]; then + pkgopts+=",$XBPS_ARG_PKG_OPTIONS" + else + pkgopts="$XBPS_ARG_PKG_OPTIONS" + fi + fi + + OIFS="$IFS"; IFS=',' + for j in ${pkgopts}; do + case "$j" in + "$f") options[$j]=1 ;; + "~$f") options[${j#\~}]=0 ;; + esac + done + IFS="$OIFS" + done + + for f in ${build_options_default}; do + [[ -z "${options[$f]}" ]] && options[$f]=1 + done + + # Prepare final options. + for f in ${build_options}; do + if [[ ${options[$f]} -eq 1 ]]; then + eval export build_option_${f}=1 + else + eval unset build_option_${f} + fi + done + + # Re-read pkg template to get conditional vars. + if [ -z "$XBPS_BUILD_OPTIONS_PARSED" ]; then + source_file $XBPS_SRCPKGDIR/$pkgname/template + XBPS_BUILD_OPTIONS_PARSED=1 + unset PKG_BUILD_OPTIONS + set_build_options + unset XBPS_BUILD_OPTIONS_PARSED + return 0 + fi + + # Sort pkg build options alphabetically. + export PKG_BUILD_OPTIONS=$( + for f in ${build_options}; do + [[ "${options[$f]}" -eq 1 ]] || printf '~' + printf '%s\n' "$f" + done | sort | tr -s '\n' ' ' + ) +} + +source_file() { + local f="$1" + + if [ ! -f "$f" -o ! -r "$f" ]; then + return 0 + fi + if ! source "$f"; then + msg_error "xbps-src: failed to read $f!\n" + fi +} + +run_pkg_hooks() { + local phase="$1" hookn f + + eval unset -f hook + for f in ${XBPS_COMMONDIR}/hooks/${phase}/*.sh; do + [ ! -r $f ] && continue + hookn=${f##*/} + hookn=${hookn%.sh} + . $f + run_func hook "$phase hook: $hookn" ${phase}_${hookn} + done +} + +unset_package_funcs() { + local f + + for f in $(typeset -F); do + case "$f" in + *_package) + unset -f "$f" + ;; + esac + done +} + +get_endian() { + local arch="${1%-*}" + + case "$arch" in + aarch64) echo "le";; + armv5tel) echo "le";; + armv6l) echo "le";; + armv7l) echo "le";; + i686) echo "le";; + mipsel*) echo "le";; + mips*) echo "be";; + ppc*le) echo "le";; + ppc*) echo "be";; + x86_64) echo "le";; + esac +} + +get_libc() { + local arch="${1%-*}" + + if [ "${arch}" = "$1" ]; then + echo "glibc" + else + echo "${1#${arch}-}" + fi +} + +get_wordsize() { + local arch="${1%-*}" + + case "$arch" in + aarch64) echo "64";; + armv5tel) echo "32";; + armv6l) echo "32";; + armv7l) echo "32";; + i686) echo "32";; + mipsel*) echo "32";; + mips*) echo "32";; + ppc64*) echo "64";; + ppc*) echo "32";; + x86_64) echo "64";; + esac +} + +get_no_atomic8() { + local arch="${1%-*}" + + case "$arch" in + armv5tel) echo "yes";; + armv6l) echo "yes";; + mips*) echo "yes";; + ppcle) echo "yes";; + ppc) echo "yes";; + esac +} + +get_subpkgs() { + local f + + for f in $(typeset -F); do + case "$f" in + *_package) + echo "${f%_package}" + ;; + esac + done +} + +setup_pkg() { + local pkg="$1" cross="$2" show_problems="$3" + local basepkg val _vars f dbgflags extrarepo + + [ -z "$pkg" ] && return 1 + basepkg=${pkg%-32bit} + + # Start with a sane environment + unset -v PKG_BUILD_OPTIONS XBPS_CROSS_CFLAGS XBPS_CROSS_CXXFLAGS XBPS_CROSS_FFLAGS XBPS_CROSS_CPPFLAGS XBPS_CROSS_LDFLAGS XBPS_TARGET_QEMU_MACHINE + unset -v subpackages run_depends build_depends host_build_depends + + unset_package_funcs + + if [ -n "$cross" ]; then + source_file $XBPS_CROSSPFDIR/${cross}.sh + + _vars="TARGET_MACHINE CROSS_TRIPLET CROSS_CFLAGS CROSS_CXXFLAGS CROSS_FFLAGS TARGET_QEMU_MACHINE" + for f in ${_vars}; do + eval val="\$XBPS_$f" + if [ -z "$val" ]; then + echo "ERROR: XBPS_$f is not defined!" + exit 1 + fi + done + + export XBPS_CROSS_BASE=/usr/$XBPS_CROSS_TRIPLET + export XBPS_TARGET_QEMU_MACHINE + + XBPS_INSTALL_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_INSTALL_CMD -c /host/repocache-$XBPS_TARGET_MACHINE -r $XBPS_CROSS_BASE" + XBPS_QUERY_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_QUERY_CMD -c /host/repocache-$XBPS_TARGET_MACHINE -r $XBPS_CROSS_BASE" + XBPS_RECONFIGURE_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_RECONFIGURE_CMD -r $XBPS_CROSS_BASE" + XBPS_REMOVE_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_REMOVE_CMD -r $XBPS_CROSS_BASE" + XBPS_RINDEX_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_RINDEX_CMD" + XBPS_UHELPER_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE xbps-uhelper -r $XBPS_CROSS_BASE" + XBPS_CHECKVERS_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE xbps-checkvers -r $XBPS_CROSS_BASE" + else + export XBPS_TARGET_MACHINE=${XBPS_ARCH:-$XBPS_MACHINE} + unset XBPS_CROSS_BASE XBPS_CROSS_LDFLAGS XBPS_CROSS_FFLAGS + unset XBPS_CROSS_CFLAGS XBPS_CROSS_CXXFLAGS XBPS_CROSS_CPPFLAGS + unset XBPS_CROSS_RUSTFLAGS XBPS_CROSS_RUST_TARGET + + XBPS_INSTALL_XCMD="$XBPS_INSTALL_CMD" + XBPS_QUERY_XCMD="$XBPS_QUERY_CMD" + XBPS_RECONFIGURE_XCMD="$XBPS_RECONFIGURE_CMD" + XBPS_REMOVE_XCMD="$XBPS_REMOVE_CMD" + XBPS_RINDEX_XCMD="$XBPS_RINDEX_CMD" + XBPS_UHELPER_XCMD="$XBPS_UHELPER_CMD" + XBPS_CHECKVERS_XCMD="$XBPS_CHECKVERS_CMD" + fi + + export XBPS_ENDIAN=$(get_endian ${XBPS_MACHINE}) + export XBPS_TARGET_ENDIAN=$(get_endian ${XBPS_TARGET_MACHINE}) + export XBPS_LIBC=$(get_libc ${XBPS_MACHINE}) + export XBPS_TARGET_LIBC=$(get_libc ${XBPS_TARGET_MACHINE}) + export XBPS_WORDSIZE=$(get_wordsize ${XBPS_MACHINE}) + export XBPS_TARGET_WORDSIZE=$(get_wordsize ${XBPS_TARGET_MACHINE}) + export XBPS_NO_ATOMIC8=$(get_no_atomic8 ${XBPS_MACHINE}) + export XBPS_TARGET_NO_ATOMIC8=$(get_no_atomic8 ${XBPS_TARGET_MACHINE}) + + export XBPS_INSTALL_XCMD XBPS_QUERY_XCMD XBPS_RECONFIGURE_XCMD \ + XBPS_REMOVE_XCMD XBPS_RINDEX_XCMD XBPS_UHELPER_XCMD + + # Source all sourcepkg environment setup snippets. + # Source all subpkg environment setup snippets. + for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do + source_file "$f" + done + for f in ${XBPS_COMMONDIR}/environment/setup/*.sh; do + source_file "$f" + done + + if [ ! -f ${XBPS_SRCPKGDIR}/${basepkg}/template ]; then + msg_error "xbps-src: nonexistent file: ${XBPS_SRCPKGDIR}/${basepkg}/template\n" + fi + if [ -n "$cross" ]; then + export CROSS_BUILD="$cross" + source_file ${XBPS_SRCPKGDIR}/${basepkg}/template + else + unset CROSS_BUILD + source_file ${XBPS_SRCPKGDIR}/${basepkg}/template + fi + + + # Check if required vars weren't set. + _vars="pkgname version short_desc revision homepage license" + for f in ${_vars}; do + eval val="\$$f" + if [ -z "$val" -o -z "$f" ]; then + msg_error "\"$f\" not set on $pkgname template.\n" + fi + done + + # Check if version is valid. + case "$version" in + *-*) msg_error "version contains invalid character: -\n";; + *_*) msg_error "version contains invalid character: _\n";; + esac + case "$version" in + *[0-9]*) : good ;; + *) msg_error "version must contain at least one digit.\n";; + esac + + # Check if base-chroot is already installed. + if [ -z "$bootstrap" -a -z "$CHROOT_READY" -a "z$show_problems" != "zignore-problems" ]; then + msg_red "${pkg} is not a bootstrap package and cannot be built without it.\n" + msg_error "Please install bootstrap packages and try again.\n" + fi + + sourcepkg="${pkgname}" + if [ -z "$subpackages" ]; then + subpackages="$(get_subpkgs)" + fi + + if [ -h $XBPS_SRCPKGDIR/$basepkg ]; then + # Source all subpkg environment setup snippets. + for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do + source_file "$f" + done + pkgname=$pkg + if ! declare -f ${basepkg}_package >/dev/null; then + msg_error "$pkgname: missing ${basepkg}_package() function!\n" + fi + fi + + pkgver="${pkg}-${version}_${revision}" + + # If build_style() unset, a do_install() function must be defined. + if [ -z "$build_style" ]; then + # Check that at least do_install() is defined. + if ! declare -f do_install >/dev/null; then + msg_error "$pkgver: missing do_install() function!\n" + fi + fi + + for x in ${hostmakedepends} ${makedepends} ${checkdepends}; do + if [[ $x = *[\<\>]* || $x =~ -[^-_]*[0-9][^-_]*_[0-9_]+$ ]]; then + msg_error "$pkgver: specifying version in build dependency '$x' is invalid, template version is used always\n" + fi + done + + FILESDIR=$XBPS_SRCPKGDIR/$sourcepkg/files + PATCHESDIR=$XBPS_SRCPKGDIR/$sourcepkg/patches + DESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${sourcepkg}-${version} + PKGDESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${pkg}-${version} + + export XBPS_ORIG_MAKEJOBS=${XBPS_ORIG_MAKEJOBS:=$XBPS_MAKEJOBS} + if [ -n "$disable_parallel_build" ]; then + XBPS_MAKEJOBS=1 + fi + makejobs="-j$XBPS_MAKEJOBS" + if [ -n "$XBPS_BINPKG_EXISTS" ]; then + local extraflags="" + if [ -n "$XBPS_SKIP_REMOTEREPOS" ]; then + extraflags="-i" + # filter out remote repositories + for repo in $(xbps-query -L | awk '{ print $2 }' | grep '^/host/'); do + extraflags+=" --repository=$repo" + done + fi + local _binpkgver="$($XBPS_QUERY_XCMD -R -ppkgver $pkgver $extraflags 2>/dev/null)" + if [ "$_binpkgver" = "$pkgver" ]; then + if [ -z "$XBPS_DEPENDENCY" ]; then + local _repo="$($XBPS_QUERY_XCMD -R -prepository $pkgver 2>/dev/null)" + msg_normal "xbps-src: $pkgver: found ($XBPS_TARGET_MACHINE) ($_repo)\n" + fi + exit_and_cleanup + fi + fi + + if [ -z "$XBPS_DEBUG_PKGS" -o "$repository" = "nonfree" ]; then + nodebug=yes + fi + # -g is required to build -dbg packages. + if [ -z "$nodebug" ]; then + dbgflags="-g" + fi + + # build profile is used always in order to expose the host triplet, + # but the compiler flags from it are only used when not crossing + if [ -z "$CHROOT_READY" ]; then + source_file ${XBPS_COMMONDIR}/build-profiles/bootstrap.sh + else + source_file ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh + fi + + set_build_options + + export CFLAGS="$XBPS_CFLAGS $XBPS_CROSS_CFLAGS $CFLAGS $dbgflags" + export CXXFLAGS="$XBPS_CXXFLAGS $XBPS_CROSS_CXXFLAGS $CXXFLAGS $dbgflags" + export FFLAGS="$XBPS_FFLAGS $XBPS_CROSS_FFLAGS $FFLAGS $dbgflags" + export CPPFLAGS="$XBPS_CPPFLAGS $XBPS_CROSS_CPPFLAGS $CPPFLAGS" + export LDFLAGS="$XBPS_LDFLAGS $XBPS_CROSS_LDFLAGS $LDFLAGS" + + export BUILD_CC="cc" + export BUILD_CXX="c++" + export BUILD_CPP="cpp" + export BUILD_FC="gfortran" + export BUILD_LD="ld" + export BUILD_CFLAGS="$XBPS_CFLAGS" + export BUILD_CXXFLAGS="$XBPS_CXXFLAGS" + export BUILD_CPPFLAGS="$XBPS_CPPFLAGS" + export BUILD_LDFLAGS="$XBPS_LDFLAGS" + export BUILD_FFLAGS="$XBPS_FFLAGS" + + export CC_FOR_BUILD="cc" + export CXX_FOR_BUILD="g++" + export CPP_FOR_BUILD="cpp" + export FC_FOR_BUILD="gfortran" + export LD_FOR_BUILD="ld" + export PKG_CONFIG_FOR_BUILD="/usr/bin/pkg-config" + export CFLAGS_FOR_BUILD="$XBPS_CFLAGS" + export CXXFLAGS_FOR_BUILD="$XBPS_CXXFLAGS" + export CPPFLAGS_FOR_BUILD="$XBPS_CPPFLAGS" + export LDFLAGS_FOR_BUILD="$XBPS_LDFLAGS" + export FFLAGS_FOR_BUILD="$XBPS_FFLAGS" + + if [ -n "$cross" ]; then + # Regular tools names + export CC="${XBPS_CROSS_TRIPLET}-gcc" + export CXX="${XBPS_CROSS_TRIPLET}-c++" + export CPP="${XBPS_CROSS_TRIPLET}-cpp" + export FC="${XBPS_CROSS_TRIPLET}-gfortran" + export GCC="$CC" + export LD="${XBPS_CROSS_TRIPLET}-ld" + export AR="${XBPS_CROSS_TRIPLET}-ar" + export AS="${XBPS_CROSS_TRIPLET}-as" + export RANLIB="${XBPS_CROSS_TRIPLET}-ranlib" + export STRIP="${XBPS_CROSS_TRIPLET}-strip" + export OBJDUMP="${XBPS_CROSS_TRIPLET}-objdump" + export OBJCOPY="${XBPS_CROSS_TRIPLET}-objcopy" + export NM="${XBPS_CROSS_TRIPLET}-nm" + export READELF="${XBPS_CROSS_TRIPLET}-readelf" + export PKG_CONFIG="${XBPS_CROSS_TRIPLET}-pkg-config" + # Target tools + export CC_target="$CC" + export CXX_target="$CXX" + export CPP_target="$CPP" + export GCC_target="$GCC" + export FC_target="$FC" + export LD_target="$LD" + export AR_target="$AR" + export AS_target="$AS" + export RANLIB_target="$RANLIB" + export STRIP_target="$STRIP" + export OBJDUMP_target="$OBJDUMP" + export OBJCOPY_target="$OBJCOPY" + export NM_target="$NM" + export READELF_target="$READELF" + # Target flags + export CFLAGS_target="$CFLAGS" + export CXXFLAGS_target="$CXXFLAGS" + export CPPFLAGS_target="$CPPFLAGS" + export LDFLAGS_target="$LDFLAGS" + export FFLAGS_target="$FFLAGS" + # Host tools + export CC_host="cc" + export CXX_host="g++" + export CPP_host="cpp" + export GCC_host="$CC_host" + export FC_host="gfortran" + export LD_host="ld" + export AR_host="ar" + export AS_host="as" + export RANLIB_host="ranlib" + export STRIP_host="strip" + export OBJDUMP_host="objdump" + export OBJCOPY_host="objcopy" + export NM_host="nm" + export READELF_host="readelf" + # Host flags + export CFLAGS_host="$XBPS_CFLAGS" + export CXXFLAGS_host="$XBPS_CXXFLAGS" + export CPPFLAGS_host="$XBPS_CPPFLAGS" + export LDFLAGS_host="$XBPS_LDFLAGS" + export FFLAGS_host="$XBPS_FFLAGS" + # Rust flags which are passed to rustc + export RUSTFLAGS="$XBPS_CROSS_RUSTFLAGS" + # Rust target, which differs from our triplets + export RUST_TARGET="$XBPS_CROSS_RUST_TARGET" + # Rust build, which is the host system, may also differ + export RUST_BUILD="$XBPS_RUST_TARGET" + else + # Target flags from build-profile + export CFLAGS="$XBPS_TARGET_CFLAGS $CFLAGS" + export CXXFLAGS="$XBPS_TARGET_CXXFLAGS $CXXFLAGS" + export FFLAGS="$XBPS_TARGET_FFLAGS $FFLAGS" + export CPPFLAGS="$XBPS_TARGET_CPPFLAGS $CPPFLAGS" + export LDFLAGS="$XBPS_TARGET_LDFLAGS $LDFLAGS" + # Tools + export CC="cc" + export CXX="g++" + export CPP="cpp" + export GCC="$CC" + export FC="gfortran" + export LD="ld" + export AR="ar" + export AS="as" + export RANLIB="ranlib" + export STRIP="strip" + export OBJDUMP="objdump" + export OBJCOPY="objcopy" + export NM="nm" + export READELF="readelf" + export PKG_CONFIG="pkg-config" + export RUST_TARGET="$XBPS_RUST_TARGET" + export RUST_BUILD="$XBPS_RUST_TARGET" + # Unset cross evironment variables + unset CC_target CXX_target CPP_target GCC_target FC_target LD_target AR_target AS_target + unset RANLIB_target STRIP_target OBJDUMP_target OBJCOPY_target NM_target READELF_target + unset CFLAGS_target CXXFLAGS_target CPPFLAGS_target LDFLAGS_target FFLAGS_target + unset CC_host CXX_host CPP_host GCC_host FC_host LD_host AR_host AS_host + unset RANLIB_host STRIP_host OBJDUMP_host OBJCOPY_host NM_host READELF_host + unset CFLAGS_host CXXFLAGS_host CPPFLAGS_host LDFLAGS_host FFLAGS_host + unset RUSTFLAGS + fi + + # Setup some specific package vars. + wrksrc="$XBPS_BUILDDIR/${sourcepkg}-${version}" + + if [ "$cross" -a "$nocross" ]; then + report_broken \ + "$pkgver: cannot be cross compiled...\n" \ + "$pkgver: $nocross\n" + elif [ "$broken" ]; then + report_broken \ + "$pkgver: cannot be built, it's currently broken; see the build log:\n" \ + "$pkgver: $broken\n" + fi + + if [ -n "$restricted" -a -z "$XBPS_ALLOW_RESTRICTED" -a "$show_problems" != "ignore-problems" ]; then + msg_red "$pkgver: does not allow redistribution of sources/binaries (restricted license).\n" + msg_red "If you really need this software, run 'echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf'\n" + exit 2 + fi + + export XBPS_STATEDIR="${XBPS_BUILDDIR}/.xbps-${sourcepkg}" + export XBPS_WRAPPERDIR="${XBPS_STATEDIR}/wrappers" + + mkdir -p $XBPS_STATEDIR $XBPS_WRAPPERDIR + + source_file $XBPS_COMMONDIR/environment/build-style/${build_style}.sh + + # Source all build-helper files that are defined + for f in $build_helper; do + if [ ! -r $XBPS_BUILDHELPERDIR/${f}.sh ]; then + msg_error "$pkgver: cannot find build helper $XBPS_BUILDHELPERDIR/${f}.sh!\n" + fi + . $XBPS_BUILDHELPERDIR/${f}.sh + done +} diff --git a/common/xbps-src/shutils/consistency_check.sh b/common/xbps-src/shutils/consistency_check.sh new file mode 100644 index 0000000..6a5b2ec --- /dev/null +++ b/common/xbps-src/shutils/consistency_check.sh @@ -0,0 +1,81 @@ +# vim: set ts=4 sw=4 et: + +consistency_check_existing () { + while IFS=" " read -r dep origname deplabel; do + [ -f "$XBPS_SRCPKGDIR/$dep/template" ] && continue + case "$deplabel" in + makedepends|hostmakedepends|checkdepends) + msg_warn "unsatisfied $deplabel in $origname: $dep does not exist\n"; + ;; + *) printf "%s %s %s\n" "$dep" "$origname" "$deplabel" ;; + esac + done +} + +consistency_convert_pkgname () { + local origname= pkgname version= revision= + while IFS=" " read -r dep origname deplabel; do + case "$deplabel" in + makedepends|hostmakedepends|checkdepends) + printf "%s %s %s\n" "$dep" "$origname" "$deplabel" + continue + ;; + esac + case "$dep" in + *\<*|*\>*|*=*) + printf "%s %s %s\n" "$dep" "$origname" "$deplabel" + continue + ;; + esac + if pkgname=$(xbps-uhelper getpkgname "$dep" 2> /dev/null) && \ + version=$(xbps-uhelper getpkgversion "$dep" 2> /dev/null) && \ + revision=$(xbps-uhelper getpkgrevision "$dep" 2> /dev/null); then + printf "%s %s %s\n" "${pkgname}>=${version}_${revision}" "$origname" "$deplabel" + else + printf "%s %s %s\n" "$dep>=0" "$origname" "$deplabel" + fi + done +} + +consistency_check_smart () { + local pkgname= depdef= dep= + while IFS=" " read -r depdef origname deplabel; do + case "$deplabel" in + makedepends|hostmakedepends|checkdepends) + printf "%s %s %s\n" "$depdef" "$origname" "$deplabel" + continue + ;; + esac + + dep=$(xbps-uhelper getpkgdepname "$depdef") + + if [ ! -f "$XBPS_SRCPKGDIR/$dep/template" ]; then + msg_warn "unsatisfied $deplabel in $origname: $dep does not exist\n"; + continue + fi + ( + XBPS_TARGET_PKG=$dep + read_pkg + xbps-uhelper pkgmatch "$depdef" "${pkgname}-${version}_${revision}" && return + msg_red "unsatisfied $deplabel in $origname: $dep is $version, but required is $depdef\n"; + ) + done +} + +consistency_check() { + local pkg= pkgname= + for pkg in "$XBPS_SRCPKGDIR"/*/template; do + pkg=${pkg%/*} + XBPS_TARGET_PKG=${pkg##*/} + ( + read_pkg + [ "$depends" ] && printf "%s $pkgname depends\n" $depends + [ "$conflicts" ] && printf "%s $pkgname conflicts\n" $conflicts + [ -L "$XBPS_SRCPKGDIR/$XBPS_TARGET_PKG" ] && return + [ "$makedepends" ] && printf "%s $pkgname makedepends\n" $makedepends + [ "$hostmakedepends" ] && printf "%s $pkgname hostmakedepends\n" $hostmakedepends + [ "$checkdepends" ] && printf "%s $pkgname checkdepends\n" $checkdepends + ) + done | grep -v "^virtual?" | sed "s/^[^ ]*?//" | consistency_check_existing | \ + consistency_convert_pkgname | consistency_check_smart +} diff --git a/common/xbps-src/shutils/cross.sh b/common/xbps-src/shutils/cross.sh new file mode 100644 index 0000000..fbf22f9 --- /dev/null +++ b/common/xbps-src/shutils/cross.sh @@ -0,0 +1,136 @@ +# vim: set ts=4 sw=4 et: + +remove_pkg_cross_deps() { + local rval= tmplogf= prevs=0 + [ -z "$XBPS_CROSS_BUILD" ] && return 0 + + cd $XBPS_MASTERDIR || return 1 + msg_normal "${pkgver:-xbps-src}: removing autocrossdeps, please wait...\n" + tmplogf=$(mktemp) || exit 1 + + if [ -z "$XBPS_REMOVE_XCMD" ]; then + source_file $XBPS_CROSSPFDIR/${XBPS_CROSS_BUILD}.sh + XBPS_REMOVE_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE xbps-remove -r /usr/$XBPS_CROSS_TRIPLET" + fi + + $XBPS_REMOVE_XCMD -Ryo > $tmplogf 2>&1 + rval=$? + while [ $rval -eq 0 ]; do + local curs=$(stat -c %s $tmplogf) + if [ $curs -eq $prevs ]; then + break + fi + prevs=$curs + $XBPS_REMOVE_XCMD -Ryo >> $tmplogf 2>&1 + rval=$? + done + + if [ $rval -ne 0 ]; then + msg_red "${pkgver:-xbps-src}: failed to remove autocrossdeps:\n" + cat $tmplogf && rm -f $tmplogf + msg_error "${pkgver:-xbps-src}: cannot continue!\n" + fi + rm -f $tmplogf +} + +prepare_cross_sysroot() { + local cross="$1" + local statefile="$XBPS_MASTERDIR/.xbps-${cross}-done" + + [ -z "$cross" -o "$cross" = "" -o -f $statefile ] && return 0 + + # Check if the cross pkg is installed in host. + check_installed_pkg cross-${XBPS_CROSS_TRIPLET}-0.1_1 + [ $? -eq 0 ] && return 0 + + # Check if the cross compiler pkg is available in repos, otherwise build it. + pkg_available cross-${XBPS_CROSS_TRIPLET} + rval=$? + if [ $rval -eq 0 ]; then + $XBPS_LIBEXECDIR/build.sh cross-${XBPS_CROSS_TRIPLET} cross-${XBPS_CROSS_TRIPLET} pkg || return $? + fi + + # Check if cross-vpkg-dummy is installed. + check_installed_pkg cross-vpkg-dummy-0.30_1 $cross + [ $? -eq 0 ] && return 0 + + # Check for cross-vpkg-dummy available for the target arch, otherwise build it. + pkg_available 'cross-vpkg-dummy>=0.34_1' $cross + if [ $? -eq 0 ]; then + $XBPS_LIBEXECDIR/build.sh cross-vpkg-dummy bootstrap pkg $cross init || return $? + fi + + msg_normal "Installing $cross cross pkg: cross-vpkg-dummy ...\n" + errlog=$(mktemp) || exit 1 + $XBPS_INSTALL_XCMD -Syfd cross-vpkg-dummy &>$errlog + rval=$? + if [ $rval -ne 0 ]; then + msg_red "failed to install cross-vpkg-dummy (error $rval)\n" + cat $errlog + rm -f $errlog + msg_error "cannot continue due to errors above\n" + fi + rm -f $errlog + # Create top level symlinks in sysroot. + XBPS_ARCH=$XBPS_TARGET_MACHINE xbps-reconfigure -r $XBPS_CROSS_BASE -f base-files &>/dev/null + # Create a sysroot/include and sysroot/lib symlink just in case. + ln -s usr/include ${XBPS_CROSS_BASE}/include + ln -s usr/lib ${XBPS_CROSS_BASE}/lib + + touch -f $statefile + + return 0 +} + +install_cross_pkg() { + local cross="$1" rval errlog + + [ -z "$cross" -o "$cross" = "" ] && return 0 + + # Check if installed. + check_installed_pkg cross-${XBPS_CROSS_TRIPLET}-0.1_1 + [ $? -eq 0 ] && return 0 + + # Check if the cross compiler pkg is available in repos, otherwise build it. + pkg_available cross-${XBPS_CROSS_TRIPLET} + rval=$? + if [ $rval -eq 0 ]; then + $XBPS_LIBEXECDIR/build.sh cross-${XBPS_CROSS_TRIPLET} cross-${XBPS_CROSS_TRIPLET} pkg || return $? + fi + + errlog=$(mktemp) || exit 1 + msg_normal "xbps-src: installing cross compiler: cross-${XBPS_CROSS_TRIPLET} ...\n" + $XBPS_INSTALL_CMD -Syfd cross-${XBPS_CROSS_TRIPLET} &>$errlog + rval=$? + if [ $rval -ne 0 -a $rval -ne 17 ]; then + msg_red "failed to install cross-${XBPS_CROSS_TRIPLET} (error $rval)\n" + cat $errlog + rm -f $errlog + msg_error "cannot continue due to errors above\n" + fi + rm -f $errlog + + return 0 +} + +remove_cross_pkg() { + local cross="$1" rval + + [ -z "$cross" -o "$cross" = "" ] && return 0 + + source_file ${XBPS_CROSSPFDIR}/${cross}.sh + + if [ -z "$CHROOT_READY" ]; then + echo "ERROR: chroot mode not activated (install a bootstrap)." + exit 1 + elif [ -z "$IN_CHROOT" ]; then + return 0 + fi + + msg_normal "Removing cross pkg: cross-${XBPS_CROSS_TRIPLET} ...\n" + $XBPS_REMOVE_CMD -Ry cross-${XBPS_CROSS_TRIPLET} &>/dev/null + rval=$? + if [ $rval -ne 0 ]; then + msg_error "failed to remove cross-${XBPS_CROSS_TRIPLET} (error $rval)\n" + fi +} diff --git a/common/xbps-src/shutils/pkgtarget.sh b/common/xbps-src/shutils/pkgtarget.sh new file mode 100644 index 0000000..54b7c34 --- /dev/null +++ b/common/xbps-src/shutils/pkgtarget.sh @@ -0,0 +1,137 @@ +# vim: set ts=4 sw=4 et: + +check_existing_pkg() { + local arch= curpkg= + if [ -z "$XBPS_PRESERVE_PKGS" ] || [ "$XBPS_BUILD_FORCEMODE" ]; then + return + fi + arch=$XBPS_TARGET_MACHINE + curpkg=$XBPS_REPOSITORY/$repository/$pkgver.$arch.xbps + if [ -e $curpkg ]; then + msg_warn "$pkgver: skipping build due to existing $curpkg\n" + exit 0 + fi +} + +check_pkg_arch() { + local cross="$1" _arch f match nonegation + + if [ -n "$archs" ]; then + if [ -n "$cross" ]; then + _arch="$XBPS_TARGET_MACHINE" + elif [ -n "$XBPS_ARCH" ]; then + _arch="$XBPS_ARCH" + else + _arch="$XBPS_MACHINE" + fi + set -f + for f in ${archs}; do + set +f + nonegation=${f##\~*} + f=${f#\~} + case "${_arch}" in + $f) match=1; break ;; + esac + done + if [ -z "$nonegation" -a -n "$match" ] || [ -n "$nonegation" -a -z "$match" ]; then + report_broken "${pkgname}-${version}_${revision}: this package cannot be built for ${_arch}.\n" + fi + fi +} + +# Returns 1 if pkg is available in xbps repositories, 0 otherwise. +pkg_available() { + local pkg="$1" cross="$2" pkgver + + if [ -n "$cross" ]; then + pkgver=$($XBPS_QUERY_XCMD -R -ppkgver "${pkg}" 2>/dev/null) + else + pkgver=$($XBPS_QUERY_CMD -R -ppkgver "${pkg}" 2>/dev/null) + fi + + if [ -z "$pkgver" ]; then + return 0 + fi + return 1 +} + +remove_pkg_autodeps() { + local rval= tmplogf= errlogf= prevs= + + cd $XBPS_MASTERDIR || return 1 + msg_normal "${pkgver:-xbps-src}: removing autodeps, please wait...\n" + tmplogf=$(mktemp) || exit 1 + errlogf=$(mktemp) || exit 1 + + remove_pkg_cross_deps + $XBPS_RECONFIGURE_CMD -a >> $tmplogf 2>&1 + prevs=$(stat -c %s $tmplogf) + echo yes | $XBPS_REMOVE_CMD -Ryod 2>> $errlogf 1>> $tmplogf + rval=$? + while [ $rval -eq 0 ]; do + local curs=$(stat -c %s $tmplogf) + if [ $curs -eq $prevs ]; then + break + fi + prevs=$curs + echo yes | $XBPS_REMOVE_CMD -Ryod 2>> $errlogf 1>> $tmplogf + rval=$? + done + + if [ $rval -ne 0 ]; then + msg_red "${pkgver:-xbps-src}: failed to remove autodeps: (returned $rval)\n" + cat $tmplogf && rm -f $tmplogf + cat $errlogf && rm -f $errlogf + msg_error "${pkgver:-xbps-src}: cannot continue!\n" + fi + rm -f $tmplogf + rm -f $errlogf +} + +remove_pkg_wrksrc() { + if [ -d "$wrksrc" ]; then + msg_normal "$pkgver: cleaning build directory...\n" + rm -rf "$wrksrc" 2>/dev/null || chmod -R +wX "$wrksrc" # Needed to delete Go Modules + rm -rf "$wrksrc" + fi +} + +remove_pkg_statedir() { + if [ -d "$XBPS_STATEDIR" ]; then + rm -rf "$XBPS_STATEDIR" + fi +} + +remove_pkg() { + local cross="$1" _destdir f + + [ -z $pkgname ] && msg_error "nonexistent package, aborting.\n" + + if [ -n "$cross" ]; then + _destdir="$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET" + else + _destdir="$XBPS_DESTDIR" + fi + + [ ! -d ${_destdir} ] && return + + for f in ${sourcepkg} ${subpackages}; do + if [ -d "${_destdir}/${f}-${version}" ]; then + msg_normal "$f: removing files from destdir...\n" + rm -rf ${_destdir}/${f}-${version} + fi + if [ -d "${_destdir}/${f}-dbg-${version}" ]; then + msg_normal "$f: removing dbg files from destdir...\n" + rm -rf ${_destdir}/${f}-dbg-${version} + fi + if [ -d "${_destdir}/${f}-32bit-${version}" ]; then + msg_normal "$f: removing 32bit files from destdir...\n" + rm -rf ${_destdir}/${f}-32bit-${version} + fi + rm -f ${XBPS_STATEDIR}/${f}_${cross}_subpkg_install_done + rm -f ${XBPS_STATEDIR}/${f}_${cross}_prepkg_done + done + rm -f ${XBPS_STATEDIR}/${sourcepkg}_${cross}_install_done + rm -f ${XBPS_STATEDIR}/${sourcepkg}_${cross}_pre_install_done + rm -f ${XBPS_STATEDIR}/${sourcepkg}_${cross}_post_install_done +} diff --git a/common/xbps-src/shutils/purge_distfiles.sh b/common/xbps-src/shutils/purge_distfiles.sh new file mode 100644 index 0000000..838ac75 --- /dev/null +++ b/common/xbps-src/shutils/purge_distfiles.sh @@ -0,0 +1,85 @@ +# Scan srcpkgs/*/template for hashes and distfiles to determine +# obsolete sources/by_sha256 files and their corresponding +# sources/- files that can be purged + + +purge_distfiles() { + readonly HASHLEN=64 + if [ -z "$XBPS_SRCDISTDIR" ]; then + msg_error "The variable \$XBPS_SRCDISTDIR is not set." + exit 1 + fi + # + # Scan all templates for their current distfiles and checksums (hashes) + # + declare -A my_hashes + templates=($(find srcpkgs -mindepth 1 -maxdepth 1 -type d -printf "srcpkgs/%f/template\n")) + max=${#templates[@]} + cur=0 + if [ -z "$max" ]; then + msg_error "No srcpkgs/*/template files found. Wrong working directory?" + exit 1 + fi + percent=-1 + for template in ${templates[@]}; do + pkg=${template#*/} + pkg=${pkg%/*} + if [ ! -L "srcpkgs/$pkg" ]; then + checksum="$(grep -Ehrow [0-9a-f]{$HASHLEN} ${template}|sort|uniq|tr '\n' ' ')" + read -a _my_hashes <<< ${checksum} + i=0 + while [ -n "${_my_hashes[$i]}" ]; do + hash="${_my_hashes[$i]}" + [ -z "${my_hashes[$hash]}" ] && my_hashes[$hash]=$template + i=$((i + 1)) + done + fi + cur=$((cur + 1)) + pnew=$((100 * cur / max)) + if [ $pnew -ne $percent ]; then + percent=$pnew + printf "\rScanning templates : %3d%% (%d/%d)" $percent $cur $max + fi + done + echo + echo "Number of hashes : ${#my_hashes[@]}" + + # + # Collect inodes of all distfiles in $XBPS_SRCDISTDIR + # + declare -A inodes + distfiles=($XBPS_SRCDISTDIR/*/*) + max=${#distfiles[@]} + if [ -z "$max" ]; then + msg_error "No distfiles files found in '$XBPS_SRCDISTDIR'" + exit 1 + fi + cur=0 + percent=-1 + for distfile in ${distfiles[@]}; do + inode=$(stat "$distfile" --printf "%i") + if [ -z "${inodes[$inode]}" ]; then + inodes[$inode]="$distfile" + else + inodes[$inode]+="|$distfile" + fi + cur=$((cur + 1)) + pnew=$((100 * cur / max)) + if [ $pnew -ne $percent ]; then + percent=$pnew + printf "\rCollecting inodes : %3d%% (%d/%d)" $percent $cur $max + fi + done + echo + + hashes=($XBPS_SRCDISTDIR/by_sha256/*) + for file in ${hashes[@]}; do + hash_distfile=${file##*/} + hash=${hash_distfile:0:$HASHLEN} + [ -n "${my_hashes[$hash]}" ] && continue + inode=$(stat "$file" --printf "%i") + echo "Obsolete $hash (inode: $inode)" + ( IFS="|"; for f in ${inodes[$inode]}; do rm -vf "$f"; rmdir "${f%/*}" 2>/dev/null; done ) + done + echo "Done." +} diff --git a/common/xbps-src/shutils/show.sh b/common/xbps-src/shutils/show.sh new file mode 100644 index 0000000..6ae0f4e --- /dev/null +++ b/common/xbps-src/shutils/show.sh @@ -0,0 +1,157 @@ +# vim: set ts=4 sw=4 et: + +show_pkg() { + show_pkg_var "pkgname" "$pkgname" + show_pkg_var "version" "$version" + show_pkg_var "revision" "$revision" + show_pkg_var "distfiles" "$distfiles" 1 + show_pkg_var "checksum" "$checksum" 1 + show_pkg_var "archs" "$archs" 1 + show_pkg_var "maintainer" "${maintainer}" + show_pkg_var "Upstream URL" "$homepage" + show_pkg_var "License(s)" "${license//,/ }" 1 + show_pkg_var "Changelog" "$changelog" + show_pkg_var "build_style" "$build_style" + show_pkg_var "build_helper" "$build_helper" 1 + show_pkg_var "configure_args" "$configure_args" 1 + show_pkg_var "short_desc" "$short_desc" + show_pkg_var "subpackages" "$subpackages" 1 + set -f + show_pkg_var "conf_files" "$conf_files" 1 + set +f + show_pkg_var "replaces" "$replaces" 1 + show_pkg_var "provides" "$provides" 1 + show_pkg_var "conflicts" "$conflicts" 1 + local OIFS="$IFS" + IFS=',' + for var in $1; do + IFS=$OIFS + if [ ${var} != ${var/'*'} ] + then + var="${var/'*'}" + show_pkg_var "$var" "${!var//$'\n'/' '}" + else + show_pkg_var "$var" "${!var}" 1 + fi + done + IFS="$OIFS" + + return 0 +} + +show_pkg_var() { + local _sep i= + local _label="$1" + local _value="$2" + local _always_split="$3" + if [ -n "$_value" ] && [ -n "$_label" ]; then + # on short labels, use more padding so everything lines up + if [ "${#_label}" -lt 7 ]; then + _sep=" " + else + _sep=" " + fi + if [ -n "$_always_split" ] || [[ "$_value" =~ $'\n' ]]; then + for i in ${_value}; do + [ -n "$i" ] && echo "${_label}:${_sep}${i}" + done + else + echo "${_label}:${_sep}${_value}" + fi + fi +} + +show_pkg_deps() { + [ -f "${PKGDESTDIR}/rdeps" ] && cat ${PKGDESTDIR}/rdeps +} + +show_pkg_files() { + [ -d ${PKGDESTDIR} ] && find ${PKGDESTDIR} -print +} + +show_avail() { + check_pkg_arch "$XBPS_CROSS_BUILD" 2>/dev/null +} + +show_eval_dep() { + local f x _pkgname _srcpkg found + local _dep="$1" + local _host="$2" + if [ -z "$CROSS_BUILD" ] || [ -z "$_host" ]; then + # ignore dependency on itself + [[ $_dep == $sourcepkg ]] && return + fi + if [ ! -f $XBPS_SRCPKGDIR/$_dep/template ]; then + msg_error "$pkgver: dependency '$_dep' does not exist!\n" + fi + # ignore virtual dependencies + [[ ${_dep%\?*} != ${_dep#*\?} ]] && _dep=${_dep#*\?} + unset found + # check for subpkgs + for x in ${subpackages}; do + [[ $_dep == $x ]] && found=1 && break + done + [[ $found ]] && return + _pkgname=${_dep/-32bit} + _srcpkg=$(readlink -f ${XBPS_SRCPKGDIR}/${_pkgname}) + _srcpkg=${_srcpkg##*/} + echo $_srcpkg +} + +show_pkg_build_depends() { + local f result + local _deps="$1" + local _hostdeps="$2" + + result=$(mktemp) || exit 1 + + # build time deps + for f in ${_deps}; do + show_eval_dep $f "" >> $result + done + for f in ${_hostdeps}; do + show_eval_dep $f "hostdep" >> $result + done + sort -u $result + rm -f $result +} + +show_pkg_build_deps() { + show_pkg_build_depends "${makedepends} $(setup_pkg_depends '' 1 1)" "${hostmakedepends}" +} + +show_pkg_hostmakedepends() { + show_pkg_build_depends "" "${hostmakedepends}" +} + +show_pkg_makedepends() { + show_pkg_build_depends "${makedepends}" "" +} + +show_pkg_build_options() { + local f opt desc + + [ -z "$PKG_BUILD_OPTIONS" ] && return 0 + + source $XBPS_COMMONDIR/options.description + msg_normal "$pkgver: the following build options are set:\n" + for f in ${PKG_BUILD_OPTIONS}; do + opt="${f#\~}" + eval desc="\${desc_option_${opt}}" + if [[ ${f:0:1} == '~' ]]; then + echo " $opt: $desc (OFF)" + else + printf " " + msg_normal_append "$opt: " + printf "$desc (ON)\n" + fi + done +} + +show_pkg_shlib_provides() { + [ -f "${PKGDESTDIR}/shlib-provides" ] && cat ${PKGDESTDIR}/shlib-provides +} + +show_pkg_shlib_requires() { + [ -f "${PKGDESTDIR}/shlib-requires" ] && cat ${PKGDESTDIR}/shlib-requires +} diff --git a/common/xbps-src/shutils/update_check.sh b/common/xbps-src/shutils/update_check.sh new file mode 100644 index 0000000..e656cf0 --- /dev/null +++ b/common/xbps-src/shutils/update_check.sh @@ -0,0 +1,237 @@ +# vim: set ts=4 sw=4 et: + +update_check() { + local i p url pkgurlname rx found_version consider + local update_override=$XBPS_SRCPKGDIR/$XBPS_TARGET_PKG/update + local original_pkgname=$pkgname + local pkgname=$sourcepkg + local urlpfx urlsfx + local -A fetchedurls + + if [ -r $update_override ]; then + . $update_override + if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then + echo "using $XBPS_TARGET_PKG/update overrides" 1>&2 + fi + elif [ -z "$distfiles" ]; then + if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then + echo "NO DISTFILES found for $original_pkgname" 1>&2 + fi + return 0 + fi + + if ! type curl >/dev/null 2>&1; then + echo "ERROR: cannot find \`curl' executable!" + return 1 + fi + + export LC_ALL=C + + if [ -z "$site" ]; then + case "$distfiles" in + # special case those sites provide better source elsewhere + *ftp.gnome.org*|*download.gnome.org*) ;; + *archive.xfce.org*) ;; + *) + printf '%s\n' "$homepage" ;; + esac + for i in $distfiles; do + printf '%s\n' "${i%/*}/" + done + else + printf '%s\n' "$site" + fi | + # filter loop: if version are "folder" name based, + # substitute original url by every folder based ones (expand) + while IFS= read -r url; do + # default case: don't rewrite url + printf '%s\n' "$url" + if [ "$single_directory" ]; then + continue + fi + rx= + urlpfx="${url}" + urlsfx= + dirpfx= + case "$url" in + *.voidlinux.*|\ + *sourceforge.net/sourceforge*|\ + *code.google.com*|*googlecode*|\ + *launchpad.net*|\ + *cpan.*|\ + *pythonhosted.org*|\ + *github.com*|\ + *//gitlab.*|\ + *bitbucket.org*|\ + *ftp.gnome.org*|*download.gnome.org*|\ + *archive.xfce.org*|\ + *kernel.org/pub/linux/kernel/*|\ + *cran.r-project.org/src/contrib*|\ + *rubygems.org*|\ + *crates.io*|\ + *codeberg.org*|\ + *hg.sr.ht*|\ + *software.sil.org*|\ + *git.sr.ht*) + continue + ;; + *) + vdpfx=${vdprefix:-"|v|\\Q$pkgname\\E"} + vdsfx=${vdsuffix:-"|\\.x"} + match=$(grep -Po "^[^/]+//[^/]+(/.+)?/($vdpfx)(?=[-_.0-9]*[0-9](?&2 + fi + skipdirs= + curl -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$urlpfx" | + grep -Po -i "$rx" | + # sort -V places 1.1/ before 1/, but 1A/ before 1.1A/ + sed -e 's:$:A:' -e 's:/A$:A/:' | sort -Vru | sed -e 's:A/$:/A:' -e 's:A$::' | + while IFS= read -r newver; do + newurl="${urlpfx}${newver}${urlsfx}" + if [ "$newurl" = "$url" ]; then + skipdirs=yes + fi + if [ -z "$skipdirs" ]; then + printf '%s\n' "$newurl" + fi + done + fi + done | + while IFS= read -r url; do + rx= + if [ -z "$site" ]; then + case "$url" in + *sourceforge.net/sourceforge*) + pkgurlname="$(printf %s "$url" | cut -d/ -f5)" + url="https://sourceforge.net/projects/$pkgurlname/rss?limit=200";; + *code.google.com*|*googlecode*) + url="https://code.google.com/p/$pkgname/downloads/list";; + *launchpad.net*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4)" + url="https://launchpad.net/$pkgurlname/+download";; + *cpan.*) + pkgname=${pkgname#perl-};; + *pythonhosted.org*) + pkgname=${pkgname#python-} + pkgname=${pkgname#python3-} + url="https://pypi.org/simple/$pkgname";; + *github.com*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" + url="https://github.com/$pkgurlname/tags" + rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E[-_])?\K[\d.]+(?=\.tar\.gz")';; + *//gitlab.*|*code.videolan.org*) + case "$url" in + */-/*) pkgurlname="$(printf %s "$url" | sed -e 's%/-/.*%%g; s%/$%%')";; + *) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";; + esac + url="$pkgurlname/-/tags" + rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';; + *bitbucket.org*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" + url="https://bitbucket.org/$pkgurlname/downloads" + rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';; + *ftp.gnome.org*|*download.gnome.org*) + : ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=.tar)"} + url="https://download.gnome.org/sources/$pkgname/cache.json";; + *archive.xfce.org*) + : ${pattern="\Q$pkgname\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)"} + url="https://archive.xfce.org/feeds/project/$pkgname" ;; + *kernel.org/pub/linux/kernel/*) + rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';; + *cran.r-project.org/src/contrib*) + rx='\b\Q'"${pkgname#R-cran-}"'\E_\K\d+(\.\d+)*(-\d+)?(?=\.tar)';; + *rubygems.org*) + url="https://rubygems.org/gems/${pkgname#ruby-}" + rx='href="/gems/'${pkgname#ruby-}'/versions/\K[\d.]*(?=")' ;; + *crates.io*) + url="https://crates.io/api/v1/crates/${pkgname#rust-}" + rx='/crates/'${pkgname#rust-}'/\K[0-9.]*(?=/download)' ;; + *codeberg.org*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" + url="https://codeberg.org/$pkgurlname/tags" + rx='/archive/(v-?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz)' ;; + *hg.sr.ht*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" + url="https://hg.sr.ht/$pkgurlname/tags" + rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';; + *git.sr.ht*) + pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" + url="https://git.sr.ht/$pkgurlname/refs/rss.xml" + rx='\Q'"${url%/*}"'\E/(v-?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=)' ;; + *pkgs.fedoraproject.org*) + url="https://pkgs.fedoraproject.org/repo/pkgs/$pkgname" ;; + *software.sil.org/downloads/*) + pkgurlname=$(printf '%s\n' "$url" | cut -d/ -f6) + url="https://software.sil.org/$pkgurlname/download/" + pkgname="${pkgname#font-}" + pkgname="${pkgname#sil-}" + _pkgname="${pkgname//-/}" + rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;; + *software.sil.org/*) + pkgname="${pkgname#font-}" + pkgname="${pkgname#sil-}" + _pkgname="${pkgname//-/}" + rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;; + esac + fi + + rx=${pattern:-$rx} + rx=${rx:-'(?&2 + fi + continue + fi + + if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then + echo "fetching $url and scanning with $rx" 1>&2 + fi + curl -H 'Accept: text/html,application/xhtml+xml,application/xml,text/plain,application/rss+xml' -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$url" | + grep -Po -i "$rx" + fetchedurls[$url]=yes + done | + tr _ . | + sort -Vu | + { + grep . || echo "NO VERSION found for $original_pkgname" 1>&2 + } | + while IFS= read -r found_version; do + if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then + echo "found version $found_version" + fi + consider=true + p="$ignore " + while [ -n "$p" ]; do + i=${p%% *} + p=${p#* } + case "$found_version" in + $i) + consider=false + if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then + echo "ignored $found_version due to $i" + fi + esac + done + if $consider; then + xbps-uhelper cmpver "$original_pkgname-${version}_1" \ + "$original_pkgname-$(printf %s "$found_version" | tr - .)_1" + if [ $? = 255 ]; then + echo "${original_pkgname}-${version} -> ${original_pkgname}-${found_version}" + fi + fi + done +} diff --git a/common/xbps-src/shutils/update_hash_cache.sh b/common/xbps-src/shutils/update_hash_cache.sh new file mode 100644 index 0000000..4fb5d6b --- /dev/null +++ b/common/xbps-src/shutils/update_hash_cache.sh @@ -0,0 +1,12 @@ +# vim: set ts=4 sw=4 et: + +update_hash_cache() { + local cache="$XBPS_SRCDISTDIR/by_sha256" + local distfile curfile + mkdir -p "$cache" + find "$XBPS_SRCDISTDIR" -type f | grep -v by_sha256 | while read -r distfile; do + cksum=$($XBPS_DIGEST_CMD "$distfile") + curfile="${distfile##*/}" + ln -vf "$distfile" "${cache}/${cksum}_${curfile}" + done +} diff --git a/etc/defaults.conf b/etc/defaults.conf new file mode 100644 index 0000000..f70e4ea --- /dev/null +++ b/etc/defaults.conf @@ -0,0 +1,167 @@ +# --*-- shell --*-- +# +# etc/defaults.conf +# default configuration of etc/conf +# +# DO NOT EDIT THIS FILE DIRECTLY; IT MAY BE REPLACED DURING UPDATES, +# EDIT etc/conf INSTEAD. +# +# To disable an option comment it out, don't set it to another value i.e: +# FOO=no -> wrong +# #FOO=yes -> correct +# +# Please also use ${FOO} style for shell variables because some parsers +# rely on this to work properly. +# + +# [OPTIONAL] +# Use an alternative mirror for remote repositories. This is more +# convenient than modifying etc/xbps.d/repos-remote*.conf. +# +#XBPS_MIRROR=https://repo-us.voidlinux.org/current + +# [OPTIONAL] +# Enable optional arguments to xbps-install(1) for the host system. +# Currently used in the 'binary-bootstrap' and 'bootstrap-update' targets. +# +# NOTE: local repositories are handled automatically by xbps-src, +# and remote repositories can be changed by setting XBPS_MIRROR +# +#XBPS_INSTALL_ARGS="" + +# [OPTIONAL] +# Native Compilation/Preprocessor flags for C/C++/Fortran. Additional settings +# for the target architecture are also declared in common/build-profiles/.sh. +# +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="${XBPS_CFLAGS}" +XBPS_FFLAGS="${XBPS_CFLAGS}" + +# [OPTIONAL] +# Linker flags passed to the compiler. +# +#XBPS_LDFLAGS="" + +# [REQUIRED] +# Command to execute to gain root privileges when using the `update-sys` +# target to update your system. +# +XBPS_SUCMD="sudo /bin/sh -c" + +# [OPTIONAL] +# Enable or disable ccache when building packages. The ccache directory +# is stored in the hostdir, i.e hostdir/ccache. For go builds this enables +# caching in hostdir/gocache. +# +#XBPS_CCACHE=yes + +# [OPTIONAL] +# Enable or disable distcc when building packages. The distcc directory +# is stored in the hostdir, i.e hostdir/distcc. +# +#XBPS_DISTCC=yes +#XBPS_DISTCC_HOSTS="" + +# [OPTIONAL] +# Number of parallel jobs to execute when building packages that +# use make(1) or alike commands. Defaults to the result of nproc(1). +# If nproc(1) is not available, defaults to 1. +# +#XBPS_MAKEJOBS=4 + +# [OPTIONAL] +# Enable recording git revisions in final binary packages; enable this +# if you are sure the package you are building is available in the +# void-packages git repository. +# +#XBPS_USE_GIT_REVS=yes + +# [OPTIONAL] +# Enable running the (optional) do_check() function of a package. +# When set to 'full', will enable further testing for some packages. +# +#XBPS_CHECK_PKGS=yes +#XBPS_CHECK_PKGS=full + +# [OPTIONAL] +# Enable building -dbg subpackages with debugging symbols. Please note +# that building with debugging symbols make take a long while in some +# packages even on computers with a fast CPU; as well as needs lots of +# RAM to properly build some packages. +# +#XBPS_DEBUG_PKGS=yes + +# [OPTIONAL] +# Set the package compression format. See xbps-create(1) for available formats. +# +#XBPS_PKG_COMPTYPE=type + +# [OPTIONAL] +# Set the repository compression format. See xbps-rindex(1) for available formats. +# +#XBPS_REPO_COMPTYPE=type + +# [OPTIONAL] +# Enable or disable global package build options, these options apply +# to all packages that support the matching options. +# +# To enable an option just define its option name; to disable an option +# prefix it with ~. Options must be delimited by commas, i.e 'opt,~opt2,opt3,~opt4' +# +#XBPS_PKG_OPTIONS=opt,~opt2,opt3,~opt4 + +# [OPTIONAL] +# Enable or disable package build options. Note that per package build options +# override the global options defined above for the matching package. +# +#XBPS_PKG_OPTIONS_foo=opt,~opt2,opt3,~opt4 + +# [OPTIONAL] +# Enable building package locally that are restricted legally for redistribution. +# NOTE: you can't distribute the sources or binaries for such kind of packages. +# +#XBPS_ALLOW_RESTRICTED=yes + +# [OPTIONAL] +# Set the preferred chroot style. Available styles at common/chroot-style/*.sh: +# +# - uunshare (uses xbps-uunshare(1), user namespaces) +# - uchroot (uses xbps-uchroot(1), namespaces, setgid) +# - bwrap (uses bwrap, external, does not need special permissions) +# - ethereal (uses root, needs no permissions, for disposable containers) +# +# The order is already set as shown above, but can be overriden below. +# Additional arguments to the chroot style can be passed in via XBPS_CHROOT_CMD_ARGS. +# +#XBPS_CHROOT_CMD=uchroot +#XBPS_CHROOT_CMD_ARGS="" + +# [OPTIONAL] +# Enable to use the standard mtime of files. Otherwise it will be rewritten to +# the HEAD commit time. Requires git when disabled. +# +#XBPS_USE_BUILD_MTIME=yes + +# [OPTIONAL] +# Enable continuous integration specific mode of operation. Currently this +# disables do_check for some packages. +# +#XBPS_BUILD_ENVIRONMENT=void-packages-ci + +# [OPTIONAL] +# When using the 'ethereal' chroot-style this switch must be activated, it is +# meant as safeguard against users casually destroying their systems +# +#XBPS_ALLOW_CHROOT_BREAKOUT=yes + +# [OPTIONAL] +# Skip building package if it exists in local repository, emitting warning. +# When unset, newly build package overwrites the older one. +# +#XBPS_PRESERVE_PKGS=yes + +# [OPTIONAL] +# Show more detailed output in ./xbps-src update-check. Useful for debugging. +# This can also be set or exported as a regular environment variable. +# +#XBPS_UPDATE_CHECK_VERBOSE=yes diff --git a/etc/defaults.virtual b/etc/defaults.virtual new file mode 100644 index 0000000..f399b12 --- /dev/null +++ b/etc/defaults.virtual @@ -0,0 +1,39 @@ +# --*-- shell --*-- +# +# etc/defaults.virtual +# default configuration of etc/virtual +# +# DO NOT EDIT THIS FILE DIRECTLY; IT MAY BE REPLACED DURING UPDATES, +# EDIT etc/virtual INSTEAD. +# +# This file specifies a mapping between virtual packages and real packages +# available in the source packages collection (srcpkgs). +# +# The format uses 2 arguments delimited by a blank: +# +# When building a package with "xbps-src", those dependencies declared like +# "virtual?foo" will use the replacement package defined in `etc/virtual`. +# +# NOTE: this mapping is only there to be able to build a default package +# to resolve the virtual package dependency later on with xbps-install(1). +# +# NOTE: Create your own etc/virtual file to override these defaults. + +awk gawk +emacs emacs +java-environment openjdk8 +java-runtime openjdk8-jre +libudev eudev-libudev +nodejs-runtime nodejs +ntp-daemon chrony +phonon-backend phonon-backend-gstreamer +phonon-qt5-backend phonon-qt5-backend-gstreamer +pipewire-session-manager pipewire-session-manager-bootstrap +rkt-stage1 rkt-stage1-coreos +smtp-server opensmtpd +tex texlive +xserver-abi-input xorg-server +xserver-abi-video xorg-server +libGL libglvnd +libEGL libglvnd +libGLES libglvnd diff --git a/etc/xbps.d/repos-local-x86_64-multilib.conf b/etc/xbps.d/repos-local-x86_64-multilib.conf new file mode 100644 index 0000000..64ece65 --- /dev/null +++ b/etc/xbps.d/repos-local-x86_64-multilib.conf @@ -0,0 +1,5 @@ +# DON'T EDIT THIS FILE +# x86_64/glibc local repositories +repository=/host/binpkgs/multilib/bootstrap +repository=/host/binpkgs/multilib +repository=/host/binpkgs/multilib/nonfree diff --git a/etc/xbps.d/repos-local.conf b/etc/xbps.d/repos-local.conf new file mode 100644 index 0000000..6b89e36 --- /dev/null +++ b/etc/xbps.d/repos-local.conf @@ -0,0 +1,6 @@ +# DON'T EDIT THIS FILE +# Local repositories +repository=/host/binpkgs/bootstrap +repository=/host/binpkgs +repository=/host/binpkgs/nonfree +repository=/host/binpkgs/debug diff --git a/etc/xbps.d/repos-remote-aarch64-musl.conf b/etc/xbps.d/repos-remote-aarch64-musl.conf new file mode 100644 index 0000000..58c5444 --- /dev/null +++ b/etc/xbps.d/repos-remote-aarch64-musl.conf @@ -0,0 +1,5 @@ +# aarch64 voidlinux remote repositories +repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap +repository=https://repo-default.voidlinux.org/current/aarch64 +repository=https://repo-default.voidlinux.org/current/aarch64/nonfree +repository=https://repo-default.voidlinux.org/current/aarch64/debug diff --git a/etc/xbps.d/repos-remote-aarch64.conf b/etc/xbps.d/repos-remote-aarch64.conf new file mode 100644 index 0000000..58c5444 --- /dev/null +++ b/etc/xbps.d/repos-remote-aarch64.conf @@ -0,0 +1,5 @@ +# aarch64 voidlinux remote repositories +repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap +repository=https://repo-default.voidlinux.org/current/aarch64 +repository=https://repo-default.voidlinux.org/current/aarch64/nonfree +repository=https://repo-default.voidlinux.org/current/aarch64/debug diff --git a/etc/xbps.d/repos-remote-musl.conf b/etc/xbps.d/repos-remote-musl.conf new file mode 100644 index 0000000..cde4832 --- /dev/null +++ b/etc/xbps.d/repos-remote-musl.conf @@ -0,0 +1,5 @@ +# voidlinux remote repositories (musl) +repository=https://repo-default.voidlinux.org/current/musl/bootstrap +repository=https://repo-default.voidlinux.org/current/musl +repository=https://repo-default.voidlinux.org/current/musl/nonfree +repository=https://repo-default.voidlinux.org/current/musl/debug diff --git a/etc/xbps.d/repos-remote-x86_64-multilib.conf b/etc/xbps.d/repos-remote-x86_64-multilib.conf new file mode 100644 index 0000000..aa1a24a --- /dev/null +++ b/etc/xbps.d/repos-remote-x86_64-multilib.conf @@ -0,0 +1,4 @@ +# voidlinux remote repositories (x86_64/glibc) +repository=https://repo-default.voidlinux.org/current/multilib/bootstrap +repository=https://repo-default.voidlinux.org/current/multilib +repository=https://repo-default.voidlinux.org/current/multilib/nonfree diff --git a/etc/xbps.d/repos-remote.conf b/etc/xbps.d/repos-remote.conf new file mode 100644 index 0000000..e171ed5 --- /dev/null +++ b/etc/xbps.d/repos-remote.conf @@ -0,0 +1,5 @@ +# voidlinux remote repositories (glibc) +repository=https://repo-default.voidlinux.org/current/bootstrap +repository=https://repo-default.voidlinux.org/current +repository=https://repo-default.voidlinux.org/current/nonfree +repository=https://repo-default.voidlinux.org/current/debug diff --git a/srcpkgs/base-files/INSTALL b/srcpkgs/base-files/INSTALL new file mode 100644 index 0000000..c9e0209 --- /dev/null +++ b/srcpkgs/base-files/INSTALL @@ -0,0 +1,80 @@ +make_system_dirs() { + # + # Install FHS system directories. + # + for d in boot etc etc/modprobe.d etc/modules-load.d \ + etc/skel home dev proc usr mnt opt sys media var run/lock; do + [ ! -d ${d} ] && install -d ${d} + done + + [ ! -d root ] && install -dm750 root + + # Don't try to create var/mail in the correct place if the user + # is updating from an old system that has var/mail as a symlink + [ ! -L var/mail ] && [ ! -d var/mail ] && install -dm1777 var/mail + + [ ! -d var/spool ] && install -d var/spool + + for d in local local/bin local/sbin local/include local/lib \ + bin include lib src; do + [ ! -d usr/${d} ] && install -d usr/${d} + done + + for d in locale misc terminfo zoneinfo doc info; do + [ ! -d usr/share/${d} ] && install -d usr/share/${d} + [ ! -d usr/local/share/${d} ] && install -d usr/local/share/${d} + done + + for d in 1 2 3 4 5 6 7 8; do + [ ! -d usr/share/man/man${d} ] && \ + install -d usr/share/man/man${d} + [ ! -d usr/local/share/man/man${d} ] && \ + install -d usr/local/share/man/man${d} + done + + for d in empty log opt cache lib; do + [ ! -d var/${d} ] && install -d var/${d} + done + + # Create /var/run and /var/lock symlinks. + for d in run lock; do + if [ ! -h "var/${d}" -a -d "var/${d}" ]; then + echo "/var/${d} must not be a directory, exiting!" + exit 1 + fi + done + + cd var + ln -sf ../run . + ln -sf ../run/lock . + [ ! -d spool/mail ] && ln -sfn ../mail spool/mail + if [ -L spool/mail/mail -a "$(readlink spool/mail/mail)" = spool/mail ]; then + # Get rid of broken symlink created by older versions of base-files. + rm spool/mail/mail + fi + cd .. + + install -dm1777 tmp + install -dm1777 var/tmp + + # remove leftover polkit rules from live systems + [ -e etc/polkit-1/rules.d/void-live.rules ] && rm etc/polkit-1/rules.d/void-live.rules + + # fix bad permissions from installer with umask 077 + chmod 755 var var/db var/db/xbps usr usr/share +} + +case "${ACTION}" in +pre) + echo "Creating system directories/symlinks..." + make_system_dirs + ;; +post) + echo "Creating system directories/symlinks..." + make_system_dirs + # Enable shadow passwd/groups. + if [ -x bin/pwconv -a -x bin/grpconv -a "$(id -u)" -eq 0 ]; then + pwconv && grpconv + fi + ;; +esac diff --git a/srcpkgs/base-files/files/66-kvm.rules b/srcpkgs/base-files/files/66-kvm.rules new file mode 100644 index 0000000..582fc57 --- /dev/null +++ b/srcpkgs/base-files/files/66-kvm.rules @@ -0,0 +1 @@ +KERNEL=="kvm", GROUP="kvm", MODE="0660", OPTIONS+="static_node=kvm" diff --git a/srcpkgs/base-files/files/90-usbmon.rules b/srcpkgs/base-files/files/90-usbmon.rules new file mode 100644 index 0000000..10a127c --- /dev/null +++ b/srcpkgs/base-files/files/90-usbmon.rules @@ -0,0 +1 @@ +SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640" diff --git a/srcpkgs/base-files/files/DIR_COLORS b/srcpkgs/base-files/files/DIR_COLORS new file mode 100644 index 0000000..d24a5a8 --- /dev/null +++ b/srcpkgs/base-files/files/DIR_COLORS @@ -0,0 +1,184 @@ +# Configuration file for the color ls utility +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Extra command line options for ls go here. +# Basically these ones are: +# -F = show '/' for dirs, '*' for executables, etc. +# -T 0 = don't trust tab spacing when formatting ls output. +OPTIONS -F -T 0 + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM eterm-color +TERM gnome +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM rxvt +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM screen +TERM screen-256color +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-88color +TERM xterm-color +TERM xterm-debian + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +NORMAL 00 # global default, although everything should be something. +FILE 00 # normal file +DIR 01;34 # directory +LINK 01;36 # symbolic link (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file +MISSING 01;05;37;41 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable + + +# This is for files with execute permission: +EXEC 01;32 + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# executables (bright green) +#.cmd 01;32 +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +#.sh 01;32 +#.csh 01;32 + # archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.svgz 01;31 +.arj 01;31 +.taz 01;31 +.lzh 01;31 +.lzma 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.bz2 01;31 +.tbz2 01;31 +.bz 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.rar 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 +# image formats (magenta) +.jpg 01;35 +.jpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.svg 01;35 +# audio formats (cyan) +.aac 00;36 +.au 00;36 +.flac 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 diff --git a/srcpkgs/base-files/files/DIR_COLORS.256color b/srcpkgs/base-files/files/DIR_COLORS.256color new file mode 100644 index 0000000..0e96e50 --- /dev/null +++ b/srcpkgs/base-files/files/DIR_COLORS.256color @@ -0,0 +1,163 @@ +# Configuration file for the 256color ls utility +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. +# In the case that you are not satisfied with supplied colors, please +# submit your color configuration or attach your file with colors readable +# on ALL color background schemas (white,gray,black) to RedHat Bugzilla +# ticket on https://bugzilla.redhat.com/show_bug.cgi?id=429121 . TIA. +# Please just keep ls color conventions from 8 color scheme. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Extra command line options for ls go here. +# Basically these ones are: +# -F = show '/' for dirs, '*' for executables, etc. +# -T 0 = don't trust tab spacing when formatting ls output. +OPTIONS -F -T 0 + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM alacritty +TERM putty-256color +TERM rxvt-256color +TERM screen-256color +TERM xterm-256color +TERM gnome-256color + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color(8 colors mode) codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color(8 colors mode) codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# Text color(256 colors mode) codes: +# Valid syntax for text 256color is 38;5; , where color number +# is number between 0 and 255. +# You may find following command useful to search the best one for you: +# for ((x=0; x<=255; x++));do echo -e "${x}:\033[38;5;${x}mcolor\033[000m";done +# Background color(256 colors mode) codes: +# Valid syntax for background 256color is 48;5; , where +# color number is number between 0 and 255. +# You may find following command useful to search the best one for you: +# for ((x=0; x<=255; x++));do echo -e "${x}:\033[48;5;${x}mcolor\033[000m";done + +NORMAL 00 # global default, although everything should be something. +FILE 00 # normal file +DIR 01;38;5;27 # directory +LINK 01;38;5;51 # symbolic link (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +FIFO 40;38;5;11 # pipe +SOCK 01;38;5;13 # socket +DOOR 01;38;5;5 # door +BLK 01;48;5;232;38;5;11 # block device driver +CHR 01;48;5;232;38;5;3 # character device driver +ORPHAN 01;48;5;232;38;5;9 # symlink to nonexistent file, or non-stat'able file +MISSING 01;05;48;5;232;38;5;15 # ... and the files they point to +SETUID 48;5;196;38;5;15 # file that is setuid (u+s) +SETGID 48;5;11;38;5;16 # file that is setgid (g+s) +CAPABILITY 48;5;196;38;5;226 # file with capability +STICKY_OTHER_WRITABLE 48;5;10;38;5;16 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 48;5;10;38;5;21 # dir that is other-writable (o+w) and not sticky +STICKY 48;5;21;38;5;15 # dir with the sticky bit set (+t) and not other-writable + +# This is for files with execute permission: +EXEC 01;38;5;34 + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# executables (bright green) +#.cmd 01;38;5;34 +#.exe 01;38;5;34 +#.com 01;38;5;34 +#.btm 01;38;5;34 +#.bat 01;38;5;34 +#.sh 01;38;5;34 +#.csh 01;38;5;34 + # archives or compressed (bright red) +.tar 01;38;5;9 +.tgz 01;38;5;9 +.svgz 01;38;5;9 +.arj 01;38;5;9 +.taz 01;38;5;9 +.lzh 01;38;5;9 +.lzma 01;38;5;9 +.zip 01;38;5;9 +.z 01;38;5;9 +.Z 01;38;5;9 +.dz 01;38;5;9 +.gz 01;38;5;9 +.bz2 01;38;5;9 +.tbz2 01;38;5;9 +.bz 01;38;5;9 +.tz 01;38;5;9 +.deb 01;38;5;9 +.rpm 01;38;5;9 +.jar 01;38;5;9 +.rar 01;38;5;9 +.ace 01;38;5;9 +.zoo 01;38;5;9 +.cpio 01;38;5;9 +.7z 01;38;5;9 +.rz 01;38;5;9 +# image formats (magenta) +.jpg 01;38;5;13 +.jpeg 01;38;5;13 +.gif 01;38;5;13 +.bmp 01;38;5;13 +.pbm 01;38;5;13 +.pgm 01;38;5;13 +.ppm 01;38;5;13 +.tga 01;38;5;13 +.xbm 01;38;5;13 +.xpm 01;38;5;13 +.tif 01;38;5;13 +.tiff 01;38;5;13 +.png 01;38;5;13 +.mng 01;38;5;13 +.pcx 01;38;5;13 +.mov 01;38;5;13 +.mpg 01;38;5;13 +.mpeg 01;38;5;13 +.m2v 01;38;5;13 +.mkv 01;38;5;13 +.ogm 01;38;5;13 +.mp4 01;38;5;13 +.m4v 01;38;5;13 +.mp4v 01;38;5;13 +.vob 01;38;5;13 +.qt 01;38;5;13 +.nuv 01;38;5;13 +.wmv 01;38;5;13 +.asf 01;38;5;13 +.rm 01;38;5;13 +.rmvb 01;38;5;13 +.flc 01;38;5;13 +.avi 01;38;5;13 +.fli 01;38;5;13 +.gl 01;38;5;13 +.dl 01;38;5;13 +.xcf 01;38;5;13 +.xwd 01;38;5;13 +.yuv 01;38;5;13 +.svg 01;38;5;13 +# audio formats (cyan) +.aac 00;38;5;45 +.au 00;38;5;45 +.flac 00;38;5;45 +.mid 00;38;5;45 +.midi 00;38;5;45 +.mka 00;38;5;45 +.mp3 00;38;5;45 +.mpc 00;38;5;45 +.ogg 00;38;5;45 +.ra 00;38;5;45 +.wav 00;38;5;45 diff --git a/srcpkgs/base-files/files/DIR_COLORS.xterm b/srcpkgs/base-files/files/DIR_COLORS.xterm new file mode 100644 index 0000000..dec01f9 --- /dev/null +++ b/srcpkgs/base-files/files/DIR_COLORS.xterm @@ -0,0 +1,165 @@ +# Configuration file for the color ls utility +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Extra command line options for ls go here. +# Basically these ones are: +# -F = show '/' for dirs, '*' for executables, etc. +# -T 0 = don't trust tab spacing when formatting ls output. +OPTIONS -F -T 0 + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM linux +TERM console +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM xterm +TERM xterm-16color +TERM xterm-88color +TERM xterm-256color +TERM rxvt +TERM rxvt-unicode +TERM xterm-color +TERM color-xterm +TERM vt100 +TERM dtterm +TERM color_xterm + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +NORMAL 00 # global default, although everything should be something. +FILE 00 # normal file +DIR 00;34 # directory +LINK 00;36 # symbolic link (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +FIFO 40;33 # pipe +SOCK 00;35 # socket +DOOR 00;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file +MISSING 01;05;37;41 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable + + +# This is for files with execute permission: +EXEC 00;32 + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +#.cmd 00;32 # executables (green) +#.exe 00;32 +#.com 00;32 +#.btm 00;32 +#.bat 00;32 +#.sh 00;32 +#.csh 00;32 + # archives or compressed (red) +.tar 00;31 +.tgz 00;31 +.svgz 00;31 +.arj 00;31 +.taz 00;31 +.lzh 00;31 +.lzma 00;31 +.zip 00;31 +.z 00;31 +.Z 00;31 +.dz 00;31 +.gz 00;31 +.bz2 00;31 +.tbz2 00;31 +.bz 00;31 +.tz 00;31 +.deb 00;31 +.rpm 00;31 +.jar 00;31 +.rar 00;31 +.ace 00;31 +.zoo 00;31 +.cpio 00;31 +.7z 00;31 +.rz 00;31 +# image formats (magenta) +.jpg 00;35 +.jpeg 00;35 +.gif 00;35 +.bmp 00;35 +.pbm 00;35 +.pgm 00;35 +.ppm 00;35 +.tga 00;35 +.xbm 00;35 +.xpm 00;35 +.tif 00;35 +.tiff 00;35 +.png 00;35 +.mng 00;35 +.pcx 00;35 +.mov 00;35 +.mpg 00;35 +.mpeg 00;35 +.m2v 00;35 +.mkv 00;35 +.ogm 00;35 +.mp4 00;35 +.m4v 00;35 +.mp4v 00;35 +.vob 00;35 +.qt 00;35 +.nuv 00;35 +.wmv 00;35 +.asf 00;35 +.rm 00;35 +.rmvb 00;35 +.flc 00;35 +.avi 00;35 +.fli 00;35 +.gl 00;35 +.dl 00;35 +.xcf 00;35 +.xwd 00;35 +.yuv 00;35 +.svg 00;35 +# audio formats (cyan) +.aac 00;36 +.au 00;36 +.flac 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 diff --git a/srcpkgs/base-files/files/blacklist.conf b/srcpkgs/base-files/files/blacklist.conf new file mode 100644 index 0000000..561645d --- /dev/null +++ b/srcpkgs/base-files/files/blacklist.conf @@ -0,0 +1,31 @@ +# +# Listing a module here prevents the hotplug scripts from loading it. +# Usually that'd be so that some other driver will bind it instead, +# no matter which driver happens to get probed first.  Sometimes user +# mode tools can also control driver binding. +# +# Syntax: driver name alone (without any spaces) on a line. Other +# lines are ignored. + + +#watchdog drivers +blacklist i8xx_tco + +# framebuffer drivers +blacklist radeonfb +blacklist cirrusfb +blacklist intelfb +blacklist kyrofb +blacklist hgafb +blacklist nvidiafb +blacklist rivafb +blacklist neofb +blacklist tridentfb +blacklist vga16fb + +# ISDN - see bugs 154799, 159068 +blacklist hisax +blacklist hisax_fcpcipnp + +# sound drivers +blacklist snd-pcsp diff --git a/srcpkgs/base-files/files/bpf.conf b/srcpkgs/base-files/files/bpf.conf new file mode 100644 index 0000000..faefda3 --- /dev/null +++ b/srcpkgs/base-files/files/bpf.conf @@ -0,0 +1,2 @@ +# Block unprivileged use of eBPF +kernel.unprivileged_bpf_disabled=1 diff --git a/srcpkgs/base-files/files/colorls.sh b/srcpkgs/base-files/files/colorls.sh new file mode 100644 index 0000000..81f722d --- /dev/null +++ b/srcpkgs/base-files/files/colorls.sh @@ -0,0 +1,40 @@ +# color-ls initialization + +#when USER_LS_COLORS defined do not override user LS_COLORS, but use them. +if [ -z "$USER_LS_COLORS" ]; then + + alias ll='ls -l' 2>/dev/null + alias l.='ls -d .*' 2>/dev/null + + + # Skip the rest for noninteractive shells. + [ -z "$PS1" ] && return + + COLORS= + + for colors in "$HOME/.dir_colors.$TERM" "$HOME/.dircolors.$TERM" \ + "$HOME/.dir_colors" "$HOME/.dircolors"; do + [ -e "$colors" ] && COLORS="$colors" && break + done + + [ -z "$COLORS" ] && [ -e "/etc/colors/DIR_COLORS.256color" ] && \ + [ "x`tput colors 2>/dev/null`" = "x256" ] && \ + COLORS="/etc/colors/DIR_COLORS.256color" + + if [ -z "$COLORS" ]; then + for colors in "/etc/colors/DIR_COLORS.$TERM" "/etc/colors/DIR_COLORS" ; do + [ -e "$colors" ] && COLORS="$colors" && break + done + fi + + # Existence of $COLORS already checked above. + [ -n "$COLORS" ] || return + + eval `dircolors --sh "$COLORS" 2>/dev/null` + [ -z "$LS_COLORS" ] && return + grep -Eqi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null && return +fi + +alias ll='ls -l --color=auto' 2>/dev/null +alias l.='ls -d .* --color=auto' 2>/dev/null +alias ls='ls --color=auto' 2>/dev/null diff --git a/srcpkgs/base-files/files/crypttab b/srcpkgs/base-files/files/crypttab new file mode 100644 index 0000000..196b0d6 --- /dev/null +++ b/srcpkgs/base-files/files/crypttab @@ -0,0 +1,13 @@ +# crypttab: mappings for encrypted partitions +# +# Each mapped device will be created in /dev/mapper, so your /etc/fstab +# should use the /dev/mapper/ paths for encrypted devices. +# +# NOTE: Do not list your root (/) partition here. + +# +# home /dev/hda4 /etc/mypassword1 +# data1 /dev/hda3 /etc/mypassword2 +# data2 /dev/hda5 /etc/cryptfs.key +# swap /dev/hdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/hdb7 none diff --git a/srcpkgs/base-files/files/dot_bash_logout b/srcpkgs/base-files/files/dot_bash_logout new file mode 100644 index 0000000..af7c6fd --- /dev/null +++ b/srcpkgs/base-files/files/dot_bash_logout @@ -0,0 +1,2 @@ +# ~/.bash_logout + diff --git a/srcpkgs/base-files/files/dot_bash_profile b/srcpkgs/base-files/files/dot_bash_profile new file mode 100644 index 0000000..6d8c25b --- /dev/null +++ b/srcpkgs/base-files/files/dot_bash_profile @@ -0,0 +1,4 @@ +# .bash_profile + +# Get the aliases and functions +[ -f $HOME/.bashrc ] && . $HOME/.bashrc diff --git a/srcpkgs/base-files/files/dot_bashrc b/srcpkgs/base-files/files/dot_bashrc new file mode 100644 index 0000000..d9d0ac7 --- /dev/null +++ b/srcpkgs/base-files/files/dot_bashrc @@ -0,0 +1,7 @@ +# .bashrc + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' diff --git a/srcpkgs/base-files/files/dot_inputrc b/srcpkgs/base-files/files/dot_inputrc new file mode 100644 index 0000000..55e23de --- /dev/null +++ b/srcpkgs/base-files/files/dot_inputrc @@ -0,0 +1 @@ +$include /etc/inputrc diff --git a/srcpkgs/base-files/files/dracut.conf.d.voidlinux.conf b/srcpkgs/base-files/files/dracut.conf.d.voidlinux.conf new file mode 100644 index 0000000..5d928a9 --- /dev/null +++ b/srcpkgs/base-files/files/dracut.conf.d.voidlinux.conf @@ -0,0 +1,7 @@ +# +# Void Linux default settings for dracut. +# +# Don't edit this file, it will be overwritten on next update. +# +add_dracutmodules+=" drm " +stdloglvl=4 diff --git a/srcpkgs/base-files/files/fstab b/srcpkgs/base-files/files/fstab new file mode 100644 index 0000000..d0ee4e9 --- /dev/null +++ b/srcpkgs/base-files/files/fstab @@ -0,0 +1,5 @@ +# +# See fstab(5). +# +# +tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0 diff --git a/srcpkgs/base-files/files/group b/srcpkgs/base-files/files/group new file mode 100644 index 0000000..455c937 --- /dev/null +++ b/srcpkgs/base-files/files/group @@ -0,0 +1,30 @@ +root:x:0: +bin:x:1: +sys:x:2: +kmem:x:3: +wheel:x:4: +tty:x:5: +tape:x:6: +daemon:x:7: +floppy:x:8: +disk:x:9: +lp:x:10: +dialout:x:11: +audio:x:12: +video:x:13: +utmp:x:14: +adm:x:15: +cdrom:x:16: +optical:x:17: +mail:x:18: +storage:x:19: +scanner:x:20: +network:x:21: +kvm:x:24: +input:x:25: +plugdev:x:26: +usbmon:x:27: +sgx:x:28: +nogroup:x:99: +users:x:100: +xbuilder:x:101: diff --git a/srcpkgs/base-files/files/host.conf b/srcpkgs/base-files/files/host.conf new file mode 100644 index 0000000..cf52fe5 --- /dev/null +++ b/srcpkgs/base-files/files/host.conf @@ -0,0 +1,8 @@ +# +# /etc/host.conf +# + +order hosts,bind +multi on + +# End of file diff --git a/srcpkgs/base-files/files/hosts b/srcpkgs/base-files/files/hosts new file mode 100644 index 0000000..745b2d5 --- /dev/null +++ b/srcpkgs/base-files/files/hosts @@ -0,0 +1,9 @@ +# +# /etc/hosts: static lookup table for host names +# + +# +127.0.0.1 localhost.localdomain localhost +::1 localhost.localdomain localhost ip6-localhost + +# End of file diff --git a/srcpkgs/base-files/files/inputrc b/srcpkgs/base-files/files/inputrc new file mode 100644 index 0000000..5253889 --- /dev/null +++ b/srcpkgs/base-files/files/inputrc @@ -0,0 +1,66 @@ +# /etc/inputrc - global inputrc for libreadline +# See readline(3readline) and `info rluserman' for more information. + +# Be 8 bit clean. +set input-meta on +set output-meta on + +# To allow the use of 8bit-characters like the german umlauts, uncomment +# the line below. However this makes the meta key not work as a meta key, +# which is annoying to those which don't need to type in 8-bit characters. + +# set convert-meta off + +# try to enable the application keypad when it is called. Some systems +# need this to enable the arrow keys. +# set enable-keypad on + +# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys + +# do not bell on tab-completion +# set bell-style none +# set bell-style visible + +# some defaults / modifications for the emacs mode +$if mode=emacs + +# allow the use of the Home/End keys +"\e[1~": beginning-of-line +"\e[4~": end-of-line + +# allow the use of the Delete/Insert keys +"\e[3~": delete-char +"\e[2~": quoted-insert + +# mappings for "page up" and "page down" to step to the beginning/end +# of the history +# "\e[5~": beginning-of-history +# "\e[6~": end-of-history + +# alternate mappings for "page up" and "page down" to search the history +# "\e[5~": history-search-backward +# "\e[6~": history-search-forward + +# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving +"\e[1;5C": forward-word +"\e[1;5D": backward-word +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word + +$if term=rxvt +"\e[8~": end-of-line +"\eOc": forward-word +"\eOd": backward-word +$endif + +# for non RH/Debian xterm, can't hurt for RH/Debian xterm +# "\eOH": beginning-of-line +# "\eOF": end-of-line + +# for freebsd console +# "\e[H": beginning-of-line +# "\e[F": end-of-line + +$endif diff --git a/srcpkgs/base-files/files/issue b/srcpkgs/base-files/files/issue new file mode 100644 index 0000000..a98d924 --- /dev/null +++ b/srcpkgs/base-files/files/issue @@ -0,0 +1,2 @@ +EvolutionOS \r (\n) (\l) + diff --git a/srcpkgs/base-files/files/ld.so.lib32.conf b/srcpkgs/base-files/files/ld.so.lib32.conf new file mode 100644 index 0000000..9b08c3f --- /dev/null +++ b/srcpkgs/base-files/files/ld.so.lib32.conf @@ -0,0 +1 @@ +/usr/lib32 diff --git a/srcpkgs/base-files/files/licenses/Apache-2.0 b/srcpkgs/base-files/files/licenses/Apache-2.0 new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/Apache-2.0 @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/srcpkgs/base-files/files/licenses/Artistic b/srcpkgs/base-files/files/licenses/Artistic new file mode 100644 index 0000000..5f22124 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/Artistic @@ -0,0 +1,131 @@ + + + + + The "Artistic License" + + Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to make +reasonable modifications. + +Definitions: + + "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes + of the Copyright Holder as specified below. + + "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + "You" is you, if you're thinking about copying or distributing + this Package. + + "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people involved, + and so on. (You will not be required to justify it to the + Copyright Holder, but only to the computing community at large + as a market that must bear the fee.) + + "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications +derived from the Public Domain or from the Copyright Holder. A Package +modified in such a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided +that you insert a prominent notice in each changed file stating how and +when you changed that file, and provided that you do at least ONE of the +following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or + an equivalent medium, or placing the modifications on a major archive + site such as uunet.uu.net, or by allowing the Copyright Holder to include + your modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or +executable form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where + to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this +Package. You may not charge a fee for this Package itself. However, +you may distribute this Package in aggregate with other (possibly +commercial) programs as part of a larger (possibly commercial) software +distribution provided that you do not advertise this Package as a +product of your own. You may embed this Package's interpreter within +an executable of yours (by linking); this shall be construed as a mere +form of aggregation, provided that the complete Standard Version of the +interpreter is so embedded. + +6. The scripts and library files supplied as input to or produced as +output from the programs of this Package do not automatically fall +under the copyright of this Package, but belong to whoever generated +them, and may be sold commercially, and may be aggregated with this +Package. If such scripts or library files are aggregated with this +Package via the so-called "undump" or "unexec" methods of producing a +binary executable image, then distribution of such an image shall +neither be construed as a distribution of this Package nor shall it +fall under the restrictions of Paragraphs 3 and 4, provided that you do +not represent such an executable image as a Standard Version of this +Package. + +7. C subroutines (or comparably compiled subroutines in other +languages) supplied by you and linked into this Package in order to +emulate subroutines and variables of the language defined by this +Package shall not be considered part of this Package, but are the +equivalent of input as in Paragraph 6, provided these subroutines do +not change the language in any way that would cause it to fail the +regression tests for the language. + +8. Aggregation of this Package with a commercial distribution is always +permitted provided that the use of this Package is embedded; that is, +when no overt attempt is made to make this Package's interfaces visible +to the end user of the commercial distribution. Such use shall not be +construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End diff --git a/srcpkgs/base-files/files/licenses/BSD b/srcpkgs/base-files/files/licenses/BSD new file mode 100644 index 0000000..c7a0aa4 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/BSD @@ -0,0 +1,26 @@ +Copyright (c) The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/srcpkgs/base-files/files/licenses/GFDL-1.2 b/srcpkgs/base-files/files/licenses/GFDL-1.2 new file mode 100644 index 0000000..a988da5 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/GFDL-1.2 @@ -0,0 +1,397 @@ + GNU Free Documentation License + Version 1.2, November 2002 + + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/srcpkgs/base-files/files/licenses/GFDL-1.3 b/srcpkgs/base-files/files/licenses/GFDL-1.3 new file mode 100644 index 0000000..2f7e03c --- /dev/null +++ b/srcpkgs/base-files/files/licenses/GFDL-1.3 @@ -0,0 +1,451 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The "publisher" means any person or entity that distributes copies of +the Document to the public. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/srcpkgs/base-files/files/licenses/GPL-1 b/srcpkgs/base-files/files/licenses/GPL-1 new file mode 100644 index 0000000..16df98e --- /dev/null +++ b/srcpkgs/base-files/files/licenses/GPL-1 @@ -0,0 +1,250 @@ + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users +at the mercy of those companies. By contrast, our General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. The +General Public License applies to the Free Software Foundation's +software and to any other program whose authors commit to using it. +You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Specifically, the General Public License is designed to make +sure that you have the freedom to give away or sell copies of free +software, that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work based +on the Program" means either the Program or any work containing the +Program or a portion of it, either verbatim or with modifications. Each +licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +General Public License and to the absence of any warranty; and give any +other recipients of the Program a copy of this General Public License +along with the Program. You may charge a fee for the physical act of +transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of +it, and copy and distribute such modifications under the terms of Paragraph +1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + +Mere aggregation of another independent work with the Program (or its +derivative) on a volume of a storage or distribution medium does not bring +the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of +it, under Paragraph 2) in object code or executable form under the terms of +Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making +modifications to it. For an executable file, complete source code means +all the source code for all modules it contains; but, as a special +exception, it need not include source code for modules which are standard +libraries that accompany the operating system on which the executable +file runs, or for standard header files or definitions files that +accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the +Program except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer +the Program is void, and will automatically terminate your rights to use +the Program under this License. However, parties who have received +copies, or rights to use copies, from you under this General Public +License will not have their licenses terminated so long as such parties +remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based +on the Program) you indicate your acceptance of this license to do so, +and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the original +licensor to copy, distribute or modify the Program subject to these +terms and conditions. You may not impose any further restrictions on the +recipients' exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of the license which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +the license, you may choose any version ever published by the Free Software +Foundation. + + 8. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to humanity, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/srcpkgs/base-files/files/licenses/GPL-2 b/srcpkgs/base-files/files/licenses/GPL-2 new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/GPL-2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/srcpkgs/base-files/files/licenses/GPL-3 b/srcpkgs/base-files/files/licenses/GPL-3 new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/GPL-3 @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/srcpkgs/base-files/files/licenses/LGPL-2 b/srcpkgs/base-files/files/licenses/LGPL-2 new file mode 100644 index 0000000..5bc8fb2 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/LGPL-2 @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/srcpkgs/base-files/files/licenses/LGPL-2.1 b/srcpkgs/base-files/files/licenses/LGPL-2.1 new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/LGPL-2.1 @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/srcpkgs/base-files/files/licenses/LGPL-3 b/srcpkgs/base-files/files/licenses/LGPL-3 new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/LGPL-3 @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/srcpkgs/base-files/files/licenses/MPL-1.1 b/srcpkgs/base-files/files/licenses/MPL-1.1 new file mode 100644 index 0000000..7714141 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/MPL-1.1 @@ -0,0 +1,470 @@ + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + diff --git a/srcpkgs/base-files/files/licenses/MPL-2.0 b/srcpkgs/base-files/files/licenses/MPL-2.0 new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/srcpkgs/base-files/files/licenses/MPL-2.0 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/srcpkgs/base-files/files/licenses/OFL-1.1 b/srcpkgs/base-files/files/licenses/OFL-1.1 new file mode 100644 index 0000000..f1a20ac --- /dev/null +++ b/srcpkgs/base-files/files/licenses/OFL-1.1 @@ -0,0 +1,97 @@ +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/srcpkgs/base-files/files/locale.sh b/srcpkgs/base-files/files/locale.sh new file mode 100644 index 0000000..8486367 --- /dev/null +++ b/srcpkgs/base-files/files/locale.sh @@ -0,0 +1,9 @@ +# Sets up locale system settings from /etc/locale.conf. +# +if [ -s /etc/locale.conf ]; then + . /etc/locale.conf +fi + +export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY +export LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT +export LC_INDENTIFICATION diff --git a/srcpkgs/base-files/files/lsb_release b/srcpkgs/base-files/files/lsb_release new file mode 100644 index 0000000..6f4789f --- /dev/null +++ b/srcpkgs/base-files/files/lsb_release @@ -0,0 +1,98 @@ +#!/bin/sh +# +# Compatibility script for FSG lsb_release v1.4 or newer +# +version="1.0" +distributor_id="EvolutionOS" +description="EvolutionOS" +release="rolling" +codename="evolution" +options="" +short=0 + +while [ $# -gt 0 ]; do + case "$1" in + -v|--version) options="${options} version" ;; + -i|--id) options="${options} distributor_id" ;; + -d|--description) options="${options} description" ;; + -r|--release) options="${options} release" ;; + -c|--codename) options="${options} codename" ;; + -a|--all) options="version distributor_id description release codename" ;; + -s|--short) short=1 ;; + -h|--help) cat << _EOF +SYNOPSIS + lsb_release [OPTION]... +OPTIONS + −v, −−version + Display the version of the LSB specification against which the distribution is compliant. + + −i, −−id + Display the string id of the distributor. + + −d, −−description + Display the single line text description of the distribution. + + −r, −−release + Display the release number of the distribution. + + −c, −−codename + Display the codename according to the distribution release. + + −a, −−all + Display all of the above information. + + −s, −−short + Display all of the above information in short output format. + + −h, −−help + Display this message. +_EOF + ;; + -*) # Multiple options in one parameter + opt=$(echo $1 | cut -c2-) + while [ ! -z "$opt" ]; do + o=$(echo $opt | cut -c1) + case "$o" in + v) options="${options} version" ;; + i) options="${options} distributor_id" ;; + d) options="${options} description" ;; + r) options="${options} release" ;; + c) options="${options} codename" ;; + a) options="version distributor_id description release codename" ;; + s) short=1 ;; + esac + opt=$(echo $opt | cut -c2-) + done + ;; + esac + shift +done + +[ -z "$options" ] && options="version" + +if [ "$short" -eq 1 ]; then + space="" + for opt in $options; do + case "$opt" in + version) printf "${space}${version}" ;; + distributor_id) printf "${space}${distributor_id}" ;; + description) printf "${space}\"${description}\"" ;; + release) printf "${space}${release}" ;; + codename) printf "${space}${codename}" ;; + esac + space=" " + done + printf "\n" +else + for opt in $options; do + case "$opt" in + version) printf "LSB Version:\t${version}\n" ;; + distributor_id) printf "Distributor ID:\t${distributor_id}\n" ;; + description) printf "Description:\t${description}\n" ;; + release) printf "Release:\t${release}\n" ;; + codename) printf "Codename:\t${codename}\n" ;; + esac + done +fi + +exit 0 diff --git a/srcpkgs/base-files/files/mozplugin.sh b/srcpkgs/base-files/files/mozplugin.sh new file mode 100644 index 0000000..8578a41 --- /dev/null +++ b/srcpkgs/base-files/files/mozplugin.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export MOZ_PLUGIN_PATH="/usr/lib/mozilla/plugins" diff --git a/srcpkgs/base-files/files/nsswitch.conf b/srcpkgs/base-files/files/nsswitch.conf new file mode 100644 index 0000000..f0355d9 --- /dev/null +++ b/srcpkgs/base-files/files/nsswitch.conf @@ -0,0 +1,15 @@ +# /etc/nsswitch.conf +# +# See nsswitch.conf(5) for information. +# +passwd: files +group: files +shadow: files + +hosts: files mdns dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files diff --git a/srcpkgs/base-files/files/os-release b/srcpkgs/base-files/files/os-release new file mode 100644 index 0000000..53e6080 --- /dev/null +++ b/srcpkgs/base-files/files/os-release @@ -0,0 +1,9 @@ +NAME="Evolution" +ID="evolution" +PRETTY_NAME="EvolutionOS" +HOME_URL="https://evolutionos.codeberg.page" +DOCUMENTATION_URL="https://evolutionos.codeberg.page/wiki/" +LOGO="evolution-logo" +ANSI_COLOR="0;38;2;71;128;97" + +DISTRIB_ID="evolution" diff --git a/srcpkgs/base-files/files/passwd b/srcpkgs/base-files/files/passwd new file mode 100644 index 0000000..1edbef6 --- /dev/null +++ b/srcpkgs/base-files/files/passwd @@ -0,0 +1,2 @@ +root:x:0:0:root:/root:/bin/sh +nobody:x:99:99:Unprivileged User:/dev/null:/bin/false diff --git a/srcpkgs/base-files/files/profile b/srcpkgs/base-files/files/profile new file mode 100644 index 0000000..947aead --- /dev/null +++ b/srcpkgs/base-files/files/profile @@ -0,0 +1,34 @@ +# /etc/profile + +# System wide environment and startup programs. + +appendpath () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +# Set our default path (/usr/sbin:/sbin:/bin included for non-Void chroots) +appendpath '/usr/local/sbin' +appendpath '/usr/local/bin' +appendpath '/usr/bin' +appendpath '/usr/sbin' +appendpath '/sbin' +appendpath '/bin' +unset appendpath + +export PATH + +# Set default umask +umask 022 + +# Load profiles from /etc/profile.d +if [ -d /etc/profile.d/ ]; then + for f in /etc/profile.d/*.sh; do + [ -r "$f" ] && . "$f" + done + unset f +fi diff --git a/srcpkgs/base-files/files/securetty b/srcpkgs/base-files/files/securetty new file mode 100644 index 0000000..7014604 --- /dev/null +++ b/srcpkgs/base-files/files/securetty @@ -0,0 +1,26 @@ +console +vc/1 +vc/2 +vc/3 +vc/4 +vc/5 +vc/6 +vc/7 +vc/8 +vc/9 +vc/10 +vc/11 +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +tty7 +tty8 +tty9 +tty10 +tty11 +ttyS0 +ttyAMA0 +ttyUSB0 diff --git a/srcpkgs/base-files/files/subgid b/srcpkgs/base-files/files/subgid new file mode 100644 index 0000000..76227fb --- /dev/null +++ b/srcpkgs/base-files/files/subgid @@ -0,0 +1 @@ +root:1000000:65536 diff --git a/srcpkgs/base-files/files/subuid b/srcpkgs/base-files/files/subuid new file mode 100644 index 0000000..76227fb --- /dev/null +++ b/srcpkgs/base-files/files/subuid @@ -0,0 +1 @@ +root:1000000:65536 diff --git a/srcpkgs/base-files/files/sysctl-user.conf b/srcpkgs/base-files/files/sysctl-user.conf new file mode 100644 index 0000000..fa70767 --- /dev/null +++ b/srcpkgs/base-files/files/sysctl-user.conf @@ -0,0 +1,15 @@ +# These are some recommended defaults that users can alter if needed. +# For example, developer systems may want to enable kexec for kernel +# testing, or disable the ptrace restrictions to be able to gdb attach +# to processes without root. +# +# To replace, create a file of the same name in /etc/sysctl.d. + +# Avoid kernel memory address exposures via dmesg. +kernel.dmesg_restrict=1 + +# Turn off kexec, even if it's built in. +kernel.kexec_load_disabled=1 + +# Avoid non-ancestor ptrace access to running processes and their credentials. +kernel.yama.ptrace_scope=1 diff --git a/srcpkgs/base-files/files/sysctl.conf b/srcpkgs/base-files/files/sysctl.conf new file mode 100644 index 0000000..c8e9eae --- /dev/null +++ b/srcpkgs/base-files/files/sysctl.conf @@ -0,0 +1,15 @@ +# These are hardening options that users should typically not be altering. +# User-alterable options are in 10-void-user.conf. + +# Append the PID to the core filename +kernel.core_uses_pid=1 + +# Enable hard and soft link protection +fs.protected_hardlinks=1 +fs.protected_symlinks=1 + +# Try to keep kernel address exposures out of various /proc files (kallsyms, modules, etc). +kernel.kptr_restrict=1 + +# Block non-uid-0 kernel profiling +kernel.perf_event_paranoid=2 diff --git a/srcpkgs/base-files/files/usb-load-ehci-first b/srcpkgs/base-files/files/usb-load-ehci-first new file mode 100644 index 0000000..9473794 --- /dev/null +++ b/srcpkgs/base-files/files/usb-load-ehci-first @@ -0,0 +1,2 @@ +softdep ohci_hcd pre: ehci_hcd +softdep uhci_hcd pre: ehci_hcd diff --git a/srcpkgs/base-files/files/vkpurge b/srcpkgs/base-files/files/vkpurge new file mode 100644 index 0000000..422dcb6 --- /dev/null +++ b/srcpkgs/base-files/files/vkpurge @@ -0,0 +1,97 @@ +#!/bin/sh +# +# A simple script to remove old kernel files/modules. +# Brought to you by yours truly Juan RP in the Public Domain. +# +: "${progname:="${0##*/}"}" + +usage() { + cat <<_EOF +Usage: $progname list [version ...] + $progname rm all + $progname rm +_EOF + exit 1 +} + +list_kernels() { + running=$(uname -r) + installed=$(xbps-query -o "/boot/vmlinu[xz]-*" 2>/dev/null | awk '{print $2}') + for arg; do + case "$arg" in + all) pattern="*" ;; + *) pattern=$arg ;; + esac + for k in /boot/vmlinu[xz]-*; do + case "$installed" in + *"$k"*) continue ;; + esac + kver=${k#*-} + case "$kver" in + "$running") ;; + "*") ;; # /boot isn't mounted -> no vmlinu[xz] + $pattern) printf "%s\n" "$kver" ;; + esac + done + done | sort -uV +} + +run_hooks() { + dir="$1" + kver="$2" + + for d in /etc/kernel.d/"${dir}"/*; do + [ -x "$d" ] || continue + printf "Running %s kernel hook: %s...\n" "$dir" "${d##*/}" + # Hooks assume they run from the root + (cd / && ROOTDIR=. "$d" kernel "$kver") + done +} + +remove_kernel() { + rmkver="$1" + + # Execute pre-remove kernel hooks. + run_hooks pre-remove "$rmkver" + + for f in \ + /boot/config-"${rmkver}" \ + /boot/System.map-"${rmkver}" \ + /boot/vmlinu[xz]-"${rmkver}" \ + /usr/lib/modules/"${rmkver}"; do + [ -e "$f" ] || continue + printf "Removing %s...\n" "$f" + rm -rf "$f" + done + + # Execute post-remove kernel hooks. + run_hooks post-remove "$rmkver" + + for f in \ + /usr/src/kernel-headers-"${rmkver}" \ + /usr/lib/debug/boot/vmlinu[xz]-"${rmkver}" \ + /usr/lib/debug/usr/lib/modules/"${rmkver}" \ + /boot/dtbs/dtbs-"${rmkver}"; do + [ -e "$f" ] || continue + printf "Removing %s...\n" "$f" + rm -rf "$f" + done +} + +case "$1" in + list) list_kernels "${2:-all}" ;; + rm) + [ -z "$2" ] && usage + if [ "$(id -u)" -ne 0 ]; then + printf "You have to run this script as root!\n" >&2 + exit 1 + fi + shift + for kver in $(list_kernels "$@"); do + printf "Removing kernel %s...\n" "$kver" + remove_kernel "$kver" + done + ;; + *) usage ;; +esac +exit 0 diff --git a/srcpkgs/base-files/files/vkpurge.8 b/srcpkgs/base-files/files/vkpurge.8 new file mode 100644 index 0000000..d0e2bd7 --- /dev/null +++ b/srcpkgs/base-files/files/vkpurge.8 @@ -0,0 +1,72 @@ +.Dd April 6, 2019 +.Dt VKPURGE 8 +.Os +.Sh NAME +.Nm vkpurge +.Nd remove old kernel files/modules +.Sh SYNOPSIS +.Nm +.Cm list +.Op Ar version +.Nm +.Cm rm all +.Nm +.Cm rm +.Ar version ... +.Sh DESCRIPTION +The +.Nm +utility lists and removes removable kernel versions left +behind by +.Xr xbps-install 1 +and +.Xr xbps-remove 1 . +.Nm +runs the appropriate removal hooks and deletes the kernel, +modules and other miscellaneous files. +.Pp +.Nm +only lists or removes kernel versions that are: +.Bl -bullet -compact +.It +not currently booted. +.It +not provided by any installed xbps package. +.El +.Pp +The +.Ar version +arguments support +.Xr sh 1 +pattern matching. +.Pp +The following commands are available: +.Bl -tag -width 4n +.It Ic list Op Ar version +List removable kernel versions. +Optionally list only versions matching +.Ar version . +.It Ic rm all +Remove all removable kernel versions. +.It Ic rm Ar version ... +Remove all removable kernel versions matching +.Ar version . +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +The following command lists installed kernels matching a pattern. +.Bd -literal -offset indent +$ vkpurge list '4.18.*' +.Ed +.Pp +The following command will delete the kernel versions matching the pattern and a specified version. +.Bd -literal -offset indent +# vkpurge rm '2.6.*' 4.3.4_1 +.Ed +.Sh SEE ALSO +.Xr xbps-install 1 , +.Xr xbps-remove 1 +.Sh BUGS +There is no support for all kernels. Specific series, like rpi-kernel, are not +supported yet. diff --git a/srcpkgs/base-files/template b/srcpkgs/base-files/template new file mode 100644 index 0000000..2893db0 --- /dev/null +++ b/srcpkgs/base-files/template @@ -0,0 +1,104 @@ +# Template file for 'base-files' +pkgname=base-files +version=0.143 +revision=7 +bootstrap=yes +depends="xbps-triggers" +short_desc="Evolution Linux base system files" +maintainer="Tracker-Friendly " +license="Public Domain" +homepage="https://evolutionos.codeberg.page" +conf_files=" + /etc/inputrc + /etc/profile + /etc/hosts + /etc/host.conf + /etc/securetty + /etc/skel/.bash_profile + /etc/skel/.bash_logout + /etc/skel/.bashrc + /etc/skel/.inputrc + /etc/subuid + /etc/subgid + /etc/issue + /etc/passwd + /etc/group + /etc/fstab + /etc/crypttab + /etc/nsswitch.conf" + +replaces="base-directories>=0" +# New system groups +system_groups="kvm:24 plugdev:26 usbmon:27 sgx:28" + +do_install() { + # Create bin and lib dirs and symlinks. + for d in bin lib; do + vmkdir "usr/${d}" + ln -snrf "${DESTDIR}/usr/${d}" "${DESTDIR}/${d}" + done + # Symlink sbin paths to /usr/bin. + for d in sbin usr/sbin; do + ln -snrf "${DESTDIR}/usr/bin" "${DESTDIR}/${d}" + done + # Symlink word-specific lib paths to /usr/lib. + for d in lib usr/lib; do + ln -snrf "${DESTDIR}/usr/lib" \ + "${DESTDIR}/${d}${XBPS_TARGET_WORDSIZE}" + done + # Populate 32-bit lib files on 64-bit systems, for multilib. + if [ "${XBPS_TARGET_WORDSIZE}" = "64" ]; then + vmkdir usr/lib32 + ln -snrf "${DESTDIR}/usr/lib32" "${DESTDIR}/lib32" + ln -sf ../lib/locale "${DESTDIR}/usr/lib32/locale" + vinstall "${FILESDIR}/ld.so.lib32.conf" 644 etc/ld.so.conf.d lib32.conf + fi + + # Install misc config files. + for f in bash_logout bash_profile bashrc inputrc; do + vinstall ${FILESDIR}/dot_${f} 644 etc/skel .${f} + done + + vinstall ${FILESDIR}/securetty 600 etc + for f in profile hosts host.conf issue subuid subgid \ + inputrc fstab passwd group crypttab nsswitch.conf; do + vinstall ${FILESDIR}/${f} 644 etc + done + vmkdir etc/colors + vmkdir etc/profile.d + install -m644 ${FILESDIR}/*.sh ${DESTDIR}/etc/profile.d + install -m644 ${FILESDIR}/DIR_COLORS* ${DESTDIR}/etc/colors + + # modprobe(8) files + vinstall ${FILESDIR}/usb-load-ehci-first 644 usr/lib/modprobe.d usb-load-ehci-first.conf + vinstall ${FILESDIR}/blacklist.conf 644 usr/lib/modprobe.d + # sysctl(8) files + vinstall ${FILESDIR}/sysctl.conf 644 usr/lib/sysctl.d 10-void.conf + vinstall ${FILESDIR}/sysctl-user.conf 644 usr/lib/sysctl.d 10-void-user.conf + vinstall ${FILESDIR}/bpf.conf 644 usr/lib/sysctl.d 20-bpf.conf + + # Install common licenses, from Debian. + vmkdir usr/share/licenses + install -m644 ${FILESDIR}/licenses/* ${DESTDIR}/usr/share/licenses + + # vkpurge + vbin ${FILESDIR}/vkpurge + vman ${FILESDIR}/vkpurge.8 + + vbin ${FILESDIR}/lsb_release + + # Install default dracut configuration. + vinstall ${FILESDIR}/dracut.conf.d.voidlinux.conf 644 \ + usr/lib/dracut/dracut.conf.d 00-void.conf + + # Create /proc/self/mounts -> /etc/mtab symlink. + ln -sf /proc/self/mounts ${DESTDIR}/etc/mtab + + # udev rules + vmkdir usr/lib/udev/rules.d + install -m644 ${FILESDIR}/*.rules ${DESTDIR}/usr/lib/udev/rules.d + + # os-release in the expected places + vinstall ${FILESDIR}/os-release 644 /usr/lib/ + ln -s ../usr/lib/os-release ${DESTDIR}/etc/os-release +} diff --git a/srcpkgs/base-system/template b/srcpkgs/base-system/template new file mode 100644 index 0000000..6433a0d --- /dev/null +++ b/srcpkgs/base-system/template @@ -0,0 +1,28 @@ +# Template file for 'base-system' +pkgname=base-system +version=0.114 +revision=5 +bootstrap=yes +build_style=meta +short_desc="Evolution Linux base system meta package" +maintainer="Tracker-Friendly " +license="Public Domain" +homepage="https://evolutionos.codeberg.page" + +depends=" + base-files ncurses busybox-core libgcc + bash file util-linux man-pages + mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs dosfstools + procps-ng tzdata iana-etc openssh dhcpcd + kbd iproute2 iputils wpa_supplicant xbps wifi-firmware + ethtool kmod acpid eudev runit-void removed-packages + evolution-patches opendoas booster evolution-artwork" + +case "$XBPS_TARGET_MACHINE" in + *-musl) depends+=" musl";; + *) depends+=" glibc-locales";; +esac + +case "$XBPS_TARGET_MACHINE" in + i686*|x86_64*|ppc*) depends+=" linux";; +esac diff --git a/srcpkgs/base-voidstrap/template b/srcpkgs/base-voidstrap/template new file mode 100644 index 0000000..5215ad2 --- /dev/null +++ b/srcpkgs/base-voidstrap/template @@ -0,0 +1,21 @@ +# Template file for 'base-voidstrap' +pkgname=base-voidstrap +version=0.11 +revision=1 +build_style=meta +short_desc="Void Linux base system meta package for containers/chroots" +maintainer="Enno Boland " +license="Public Domain" +homepage="https://www.voidlinux.org/" + +depends=" + base-files ncurses coreutils busybox-core + bash file less util-linux man-pages + mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs dosfstools kbd + procps-ng iana-etc eudev runit-void openssh dhcpcd + iproute2 iputils xbps kmod removed-packages" + +case "$XBPS_TARGET_MACHINE" in + *-musl) depends+=" musl";; + *) depends+=" glibc-locales";; +esac diff --git a/srcpkgs/booster/files/kernel-hook-postinst b/srcpkgs/booster/files/kernel-hook-postinst new file mode 100644 index 0000000..7e6ef0a --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postinst @@ -0,0 +1,13 @@ +#!/bin/sh +# +# Kernel post-install hook for booster. +# +# Arguments passed to this script: $1 pkgname, $2 version. +# +PKGNAME="$1" +VERSION="$2" + +[ -x usr/bin/booster ] || exit 0 + +umask 0077 +usr/bin/booster build --force --kernel-version ${VERSION} boot/initramfs-${VERSION}.img diff --git a/srcpkgs/booster/files/kernel-hook-postrm b/srcpkgs/booster/files/kernel-hook-postrm new file mode 100644 index 0000000..253c8d2 --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postrm @@ -0,0 +1,10 @@ +#!/bin/sh +# +# Kernel post-remove hook for booster. +# +# Arguments passed to this script: $1 pkgname, $2 version. +# +PKGNAME="$1" +VERSION="$2" + +rm -f boot/initramfs-${VERSION}.img diff --git a/srcpkgs/booster/patches/fix-target-dir.patch b/srcpkgs/booster/patches/fix-target-dir.patch new file mode 100644 index 0000000..7d17c62 --- /dev/null +++ b/srcpkgs/booster/patches/fix-target-dir.patch @@ -0,0 +1,40 @@ +From bc988b0c48d337d7b3447ad8a634551ca5080178 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= +Date: Thu, 9 Mar 2023 14:15:21 +0100 +Subject: [PATCH] generator: Fix creation of target directory + +This attempts to fix a regression introduced in commit +e13aa77e49aef93cc1370a269785b471758cb546 since this commit +the `usr/lib` target directroy is not created if the host system +does not ship any files in `usr/lib` (e.g. Alpine). This causes +initramfs images generated on such systems to not be bootable +as `lib` is a symlink to the non-existend `usr/lib` then. + +The problem is the current implementation: + + filepath.Dir(filepath.Join(filepath.Dir(l.src), l.target)) + +Would return `/usr` for `{"/lib", "usr/lib"}` and hence `/usr/lib` +was never created. I believe this was intended to be: + + filepath.Join(filepath.Dir(l.src), l.target) + +This commit changes this accordingly and fixes booting Booster +images on Alpine. +--- + generator/generator.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/generator/generator.go b/generator/generator.go +index 4a030e5..0ab135c 100644 +--- a/generator/generator.go ++++ b/generator/generator.go +@@ -263,7 +263,7 @@ func appendCompatibilitySymlinks(img *Image) error { + for _, l := range symlinks { + // Ensure that target always exist which may not be the + // case if we only install files from /lib or /bin. +- targetDir := filepath.Dir(filepath.Join(filepath.Dir(l.src), l.target)) ++ targetDir := filepath.Join(filepath.Dir(l.src), l.target) + if err := img.AppendDirEntry(targetDir); err != nil { + return err + } diff --git a/srcpkgs/booster/patches/symlink.patch b/srcpkgs/booster/patches/symlink.patch new file mode 100644 index 0000000..be61fcd --- /dev/null +++ b/srcpkgs/booster/patches/symlink.patch @@ -0,0 +1,85 @@ +From 7766b079c8fd004fee9d5eba19cb98cac568773b Mon Sep 17 00:00:00 2001 +From: Anatol Pomozov +Date: Thu, 23 Mar 2023 18:49:14 -0700 +Subject: [PATCH] generator: Do not rely on user's lookup order for binaries + +Until now we used `exec.LookPath` golang function to lookup binaries. +This function depends on user's $PATH envvar and the order directories +specified there. This could mess with our image symlink tree. + +What we want is to make sure that we lookup/add files at non-symlinked +directories first (i.e. /usr/bin). + +Closes #213 +--- + generator/generator.go | 28 ++++++++++++++++++++++++++-- + generator/generator_test.go | 6 ++++++ + 2 files changed, 32 insertions(+), 2 deletions(-) + +diff --git a/generator/generator.go b/generator/generator.go +index 0ab135c..8f0a72f 100644 +--- a/generator/generator.go ++++ b/generator/generator.go +@@ -5,7 +5,6 @@ import ( + "fmt" + "net" + "os" +- "os/exec" + "path/filepath" + "time" + +@@ -290,7 +289,7 @@ func (img *Image) appendExtraFiles(binaries ...string) error { + // If the given name is not an absolute path, assume that it refers + // to an executable and lookup the path to the executable using $PATH. + var err error +- f, err = exec.LookPath(f) ++ f, err = lookupPath(f) + if err != nil { + return err + } +@@ -303,6 +302,31 @@ func (img *Image) appendExtraFiles(binaries ...string) error { + return nil + } + ++func lookupPath(binary string) (string, error) { ++ paths := []string{ ++ "/usr/bin", ++ "/usr/sbin", ++ "/bin", ++ "/sbin", ++ "/usr/local/bin", ++ "/usr/local/sbin", ++ } ++ ++ for _, p := range paths { ++ f := filepath.Join(p, binary) ++ _, err := os.Stat(f) ++ if os.IsNotExist(err) { ++ continue ++ } ++ if err != nil { ++ return "", err ++ } ++ return f, nil ++ } ++ ++ return "", os.ErrNotExist ++} ++ + func findFwFile(fw string) (string, error) { + supportedFwExt := []string{ + "", +diff --git a/generator/generator_test.go b/generator/generator_test.go +index 57b7cce..5938cbc 100644 +--- a/generator/generator_test.go ++++ b/generator/generator_test.go +@@ -550,3 +550,9 @@ func TestModprobeOptions(t *testing.T) { + } + require.Equal(t, expect, cfg.ModprobeOptions) + } ++ ++func TestLookupFile(t *testing.T) { ++ path, err := lookupPath("echo") ++ require.NoError(t, err) ++ require.Equal(t, "/usr/bin/echo", path) ++} diff --git a/srcpkgs/booster/template b/srcpkgs/booster/template new file mode 100644 index 0000000..fdd12fd --- /dev/null +++ b/srcpkgs/booster/template @@ -0,0 +1,53 @@ +# Template file for 'booster' +pkgname=booster +version=0.10 +revision=1 +build_style=go +go_import_path=github.com/anatol/booster +hostmakedepends="git ruby-ronn" +depends="busybox-core" +short_desc="Fast and secure initramfs generator" +maintainer="travankor " +license="MIT" +homepage="https://github.com/anatol/booster" +distfiles="https://github.com/anatol/booster/archive/${version}.tar.gz" +checksum=27a7e40135ceb5504438ce0a45108ef955f5ece197932acc7686fd6c0254565c +conf_files="/etc/booster.yaml" +alternatives=" + initramfs:/etc/kernel.d/post-install/20-initramfs:/usr/libexec/booster/kernel-hook-postinst + initramfs:/etc/kernel.d/post-remove/20-initramfs:/usr/libexec/booster/kernel-hook-postrm +" + +_build_component() { + go install -p "$XBPS_MAKEJOBS" -mod=readonly -x +} + +do_build() { + ( cd generator && _build_component ) + ( cd init && CGO_ENABLED=0 _build_component ) + + ronn docs/manpage.md + + echo "busybox: true" > booster.yaml +} + +do_install() { + local _srcdir="${GOPATH}/bin" + + if [ "$CROSS_BUILD" ]; then + _srcdir="${_srcdir}/linux_${GOARCH}" + fi + + vbin "${_srcdir}/generator" booster + vinstall "${_srcdir}/init" 755 usr/lib/booster + + vman docs/manpage.1 booster.1 + vconf booster.yaml + + vinstall ${FILESDIR}/kernel-hook-postinst 755 usr/libexec/booster + vinstall ${FILESDIR}/kernel-hook-postrm 755 usr/libexec/booster + + vcompletion contrib/completion/bash bash booster + + vlicense LICENSE +} diff --git a/srcpkgs/busybox-core b/srcpkgs/busybox-core new file mode 120000 index 0000000..c3fa810 --- /dev/null +++ b/srcpkgs/busybox-core @@ -0,0 +1 @@ +busybox \ No newline at end of file diff --git a/srcpkgs/busybox-full/files/.config b/srcpkgs/busybox-full/files/.config new file mode 100644 index 0000000..791a2f5 --- /dev/null +++ b/srcpkgs/busybox-full/files/.config @@ -0,0 +1,1231 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.36.1 +# Mon Jul 31 17:01:29 2023 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +CONFIG_FEATURE_SUID_CONFIG=y +CONFIG_FEATURE_SUID_CONFIG_QUIET=y +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +CONFIG_STATIC_LIBGCC=y + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y +CONFIG_SHA3_SMALL=1 +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=255 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +CONFIG_FEATURE_USERNAME_COMPLETION=y +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +CONFIG_FEATURE_SEAMLESS_Z=y +CONFIG_AR=y +CONFIG_FEATURE_AR_LONG_FILENAMES=y +CONFIG_FEATURE_AR_CREATE=y +CONFIG_UNCOMPRESS=y +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +CONFIG_BUNZIP2=y +CONFIG_BZCAT=y +CONFIG_UNLZMA=y +CONFIG_LZCAT=y +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZCAT=y +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y +CONFIG_FEATURE_CPIO_RENUMBER_INODES=y +CONFIG_DPKG=y +CONFIG_DPKG_DEB=y +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +CONFIG_FEATURE_GZIP_LEVELS=y +CONFIG_FEATURE_GZIP_DECOMPRESS=y +CONFIG_LZOP=y +CONFIG_UNLZOP=y +CONFIG_LZOPCAT=y +CONFIG_LZOP_COMPR_HIGH=y +CONFIG_RPM=y +CONFIG_RPM2CPIO=y +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +CONFIG_FEATURE_LZMA_FAST=y + +# +# Coreutils +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +CONFIG_FEATURE_TIMEZONE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +CONFIG_CKSUM=y +CONFIG_CRC32=y +CONFIG_COMM=y +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +CONFIG_FEATURE_DATE_NANO=y +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_EXPAND=y +CONFIG_UNEXPAND=y +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y +CONFIG_FALSE=y +CONFIG_FOLD=y +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_HOSTID=y +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +CONFIG_NICE=y +CONFIG_NL=y +CONFIG_NOHUP=y +CONFIG_NPROC=y +CONFIG_OD=y +CONFIG_PASTE=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +CONFIG_SHRED=y +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY=y +CONFIG_SPLIT=y +CONFIG_FEATURE_SPLIT_FANCY=y +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +CONFIG_STTY=y +CONFIG_SUM=y +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TIMEOUT=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TSORT=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +CONFIG_USLEEP=y +CONFIG_UUDECODE=y +CONFIG_BASE32=y +CONFIG_BASE64=y +CONFIG_UUENCODE=y +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +CONFIG_WHO=y +CONFIG_W=y +CONFIG_USERS=y +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +CONFIG_FGCONSOLE=y +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_SETFONT=y +CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y +CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +CONFIG_SHOWKEY=y + +# +# Debian Utilities +# +CONFIG_PIPE_PROGRESS=y +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +CONFIG_FEATURE_RUN_PARTS_FANCY=y +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_WHICH=y + +# +# klibc-utils +# +CONFIG_MINIPS=y +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +CONFIG_FEATURE_AWK_LIBM=y +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +CONFIG_ED=y +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_REGEX_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_UNDO=y +CONFIG_FEATURE_VI_UNDO_QUEUE=y +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_ATIME=y +CONFIG_FEATURE_FIND_CTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_AMIN=y +CONFIG_FEATURE_FIND_CMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_EXECUTABLE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_SAMEFILE=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_QUIT=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_EMPTY=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_EGREP=y +CONFIG_FGREP=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +# CONFIG_HALT is not set +# CONFIG_POWEROFF is not set +# CONFIG_REBOOT is not set +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +# CONFIG_INIT is not set +# CONFIG_LINUXRC is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_INIT_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set + +# +# Login/Password Management Utilities +# +CONFIG_FEATURE_SHADOWPASSWDS=y +CONFIG_USE_BB_PWD_GRP=y +CONFIG_USE_BB_SHADOW=y +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +CONFIG_ADD_SHELL=y +CONFIG_REMOVE_SHELL=y +CONFIG_ADDGROUP=y +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +CONFIG_ADDUSER=y +CONFIG_FEATURE_CHECK_NAMES=y +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +CONFIG_CHPASSWD=y +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +CONFIG_CRYPTPW=y +CONFIG_MKPASSWD=y +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y +CONFIG_GETTY=y +CONFIG_LOGIN=y +CONFIG_LOGIN_SESSION_AS_CHILD=y +CONFIG_LOGIN_SCRIPTS=y +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +CONFIG_SU=y +CONFIG_FEATURE_SU_SYSLOG=y +CONFIG_FEATURE_SU_CHECKS_SHELLS=y +CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY=y +CONFIG_SULOGIN=y +CONFIG_VLOCK=y + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +CONFIG_FSCK=y +CONFIG_LSATTR=y +CONFIG_TUNE2FS=y + +# +# Linux Module Utilities +# +CONFIG_MODPROBE_SMALL=y +CONFIG_DEPMOD=y +CONFIG_INSMOD=y +CONFIG_LSMOD=y +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +CONFIG_MODINFO=y +CONFIG_MODPROBE=y +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +CONFIG_RMMOD=y + +# +# Options common to multiple modutils +# +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +CONFIG_ACPID=y +CONFIG_FEATURE_ACPID_COMPAT=y +CONFIG_BLKDISCARD=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y +CONFIG_BLOCKDEV=y +CONFIG_CAL=y +CONFIG_CHRT=y +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +CONFIG_FDFORMAT=y +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +CONFIG_FEATURE_AIX_LABEL=y +CONFIG_FEATURE_SGI_LABEL=y +CONFIG_FEATURE_SUN_LABEL=y +CONFIG_FEATURE_OSF_LABEL=y +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +CONFIG_FLOCK=y +CONFIG_FDFLUSH=y +CONFIG_FREERAMDISK=y +CONFIG_FSCK_MINIX=y +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +CONFIG_HD=y +CONFIG_XXD=y +CONFIG_HWCLOCK=y +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +CONFIG_IONICE=y +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LAST=y +CONFIG_FEATURE_LAST_FANCY=y +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +CONFIG_FEATURE_MDEV_RENAME_REGEXP=y +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +CONFIG_FEATURE_MDEV_DAEMON=y +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y +CONFIG_MKE2FS=y +CONFIG_MKFS_EXT2=y +CONFIG_MKFS_MINIX=y +CONFIG_FEATURE_MINIX2=y +CONFIG_MKFS_REISER=y +CONFIG_MKDOSFS=y +CONFIG_MKFS_VFAT=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +CONFIG_FEATURE_MOUNT_VERBOSE=y +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +CONFIG_NSENTER=y +CONFIG_PIVOT_ROOT=y +CONFIG_RDATE=y +CONFIG_RDEV=y +CONFIG_READPROFILE=y +CONFIG_RENICE=y +CONFIG_REV=y +CONFIG_RTCWAKE=y +CONFIG_SCRIPT=y +CONFIG_SCRIPTREPLAY=y +CONFIG_SETARCH=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +CONFIG_SETSID=y +CONFIG_SWAPON=y +CONFIG_FEATURE_SWAPON_DISCARD=y +CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y +CONFIG_SWITCH_ROOT=y +CONFIG_TASKSET=y +CONFIG_FEATURE_TASKSET_FANCY=y +CONFIG_FEATURE_TASKSET_CPULIST=y +CONFIG_UEVENT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +CONFIG_WALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +CONFIG_FEATURE_MTAB_SUPPORT=y +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BCACHE=y +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EROFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LFS=y +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_MINIX=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_OCFS2=y +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +CONFIG_FEATURE_VOLUMEID_SQUASHFS=y +CONFIG_FEATURE_VOLUMEID_SYSV=y +CONFIG_FEATURE_VOLUMEID_UBIFS=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y + +# +# Miscellaneous Utilities +# +CONFIG_ADJTIMEX=y +CONFIG_ASCII=y +CONFIG_BBCONFIG=y +CONFIG_FEATURE_COMPRESS_BBCONFIG=y +CONFIG_BC=y +CONFIG_DC=y +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +CONFIG_BEEP=y +CONFIG_FEATURE_BEEP_FREQ=4000 +CONFIG_FEATURE_BEEP_LENGTH_MS=30 +CONFIG_CHAT=y +CONFIG_FEATURE_CHAT_NOFAIL=y +CONFIG_FEATURE_CHAT_TTY_HIFI=y +CONFIG_FEATURE_CHAT_IMPLICIT_CR=y +CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y +CONFIG_FEATURE_CHAT_SEND_ESCAPES=y +CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y +CONFIG_FEATURE_CHAT_CLR_ABORT=y +CONFIG_CONSPY=y +CONFIG_CROND=y +CONFIG_FEATURE_CROND_D=y +CONFIG_FEATURE_CROND_CALL_SENDMAIL=y +CONFIG_FEATURE_CROND_SPECIAL_TIMES=y +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +CONFIG_CRONTAB=y +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +CONFIG_FBSPLASH=y +CONFIG_FLASH_ERASEALL=y +CONFIG_FLASH_LOCK=y +CONFIG_FLASH_UNLOCK=y +CONFIG_FLASHCP=y +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y +CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y +CONFIG_HEXEDIT=y +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +CONFIG_I2CTRANSFER=y +CONFIG_INOTIFYD=y +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +CONFIG_FEATURE_LESS_MARKS=y +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +CONFIG_FEATURE_LESS_DASHCMD=y +CONFIG_FEATURE_LESS_LINENUMS=y +CONFIG_FEATURE_LESS_RAW=y +CONFIG_FEATURE_LESS_ENV=y +CONFIG_LSSCSI=y +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +CONFIG_MAN=y +CONFIG_MICROCOM=y +CONFIG_MIM=y +CONFIG_MT=y +CONFIG_NANDWRITE=y +CONFIG_NANDDUMP=y +CONFIG_PARTPROBE=y +CONFIG_RAIDAUTORUN=y +CONFIG_READAHEAD=y +CONFIG_RFKILL=y +CONFIG_RUNLEVEL=y +CONFIG_RX=y +CONFIG_SEEDRNG=y +CONFIG_SETFATTR=y +CONFIG_SETSERIAL=y +CONFIG_STRINGS=y +CONFIG_TIME=y +CONFIG_TREE=y +CONFIG_TS=y +CONFIG_TTYSIZE=y +CONFIG_UBIATTACH=y +CONFIG_UBIDETACH=y +CONFIG_UBIMKVOL=y +CONFIG_UBIRMVOL=y +CONFIG_UBIRSVOL=y +CONFIG_UBIUPDATEVOL=y +CONFIG_UBIRENAME=y +CONFIG_VOLNAME=y +CONFIG_WATCHDOG=y +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +CONFIG_VERBOSE_RESOLUTION_ERRORS=y +CONFIG_FEATURE_ETC_NETWORKS=y +CONFIG_FEATURE_ETC_SERVICES=y +CONFIG_FEATURE_HWIB=y +CONFIG_FEATURE_TLS_SHA1=y +CONFIG_ARP=y +CONFIG_ARPING=y +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +CONFIG_DNSD=y +CONFIG_ETHER_WAKE=y +CONFIG_FTPD=y +CONFIG_FEATURE_FTPD_WRITE=y +CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y +CONFIG_FEATURE_FTPD_AUTHENTICATION=y +CONFIG_FTPGET=y +CONFIG_FTPPUT=y +CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y +CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y +CONFIG_HTTPD=y +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80 +CONFIG_FEATURE_HTTPD_RANGES=y +CONFIG_FEATURE_HTTPD_SETUID=y +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y +CONFIG_FEATURE_HTTPD_AUTH_MD5=y +CONFIG_FEATURE_HTTPD_CGI=y +CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y +CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y +CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y +CONFIG_FEATURE_HTTPD_PROXY=y +CONFIG_FEATURE_HTTPD_GZIP=y +CONFIG_FEATURE_HTTPD_ETAG=y +CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y +CONFIG_FEATURE_HTTPD_DATE=y +CONFIG_FEATURE_HTTPD_ACL_IP=y +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +CONFIG_IFENSLAVE=y +CONFIG_IFPLUGD=y +CONFIG_IFUP=y +CONFIG_IFDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +CONFIG_FEATURE_INETD_RPC=y +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +CONFIG_FEATURE_IP_RARE_PROTOCOLS=y +CONFIG_IPCALC=y +CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y +CONFIG_FEATURE_IPCALC_FANCY=y +CONFIG_FAKEIDENTD=y +CONFIG_NAMEIF=y +CONFIG_FEATURE_NAMEIF_EXTENDED=y +CONFIG_NBDCLIENT=y +CONFIG_NC=y +CONFIG_NETCAT=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +CONFIG_NC_110_COMPAT=y +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +CONFIG_NTPD=y +CONFIG_FEATURE_NTPD_SERVER=y +CONFIG_FEATURE_NTPD_CONF=y +CONFIG_FEATURE_NTP_AUTH=y +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +CONFIG_PSCAN=y +CONFIG_ROUTE=y +CONFIG_SLATTACH=y +CONFIG_SSL_CLIENT=y +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y +CONFIG_TCPSVD=y +CONFIG_UDPSVD=y +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=23 +CONFIG_FEATURE_TELNETD_INETD_WAIT=y +CONFIG_TFTP=y +CONFIG_FEATURE_TFTP_PROGRESS_BAR=y +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +CONFIG_TFTPD=y +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +CONFIG_FEATURE_TFTP_BLOCKSIZE=y +CONFIG_TFTP_DEBUG=y +CONFIG_TLS=y +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +CONFIG_FEATURE_TRACEROUTE_VERBOSE=y +CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +CONFIG_FEATURE_WGET_OPENSSL=y +CONFIG_WHOIS=y +CONFIG_ZCIP=y +CONFIG_UDHCPD=y +CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC=y +CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y +CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" +CONFIG_DUMPLEASES=y +CONFIG_DHCPRELAY=y +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script" +CONFIG_UDHCPC6=y +CONFIG_FEATURE_UDHCPC6_RFC3646=y +CONFIG_FEATURE_UDHCPC6_RFC4704=y +CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" +CONFIG_FEATURE_UDHCP_PORT=y +CONFIG_UDHCP_DEBUG=2 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" + +# +# Print Utilities +# +CONFIG_LPD=y +CONFIG_LPR=y +CONFIG_LPQ=y + +# +# Mail Utilities +# +CONFIG_FEATURE_MIME_CHARSET="us-ascii" +CONFIG_MAKEMIME=y +CONFIG_POPMAILDIR=y +CONFIG_FEATURE_POPMAILDIR_DELIVERY=y +CONFIG_REFORMIME=y +CONFIG_FEATURE_REFORMIME_COMPAT=y +CONFIG_SENDMAIL=y + +# +# Process Utilities +# +CONFIG_FEATURE_FAST_TOP=y +CONFIG_FEATURE_SHOW_THREADS=y +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_IOSTAT=y +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +CONFIG_PGREP=y +CONFIG_PKILL=y +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +CONFIG_PMAP=y +CONFIG_POWERTOP=y +CONFIG_FEATURE_POWERTOP_INTERACTIVE=y +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +CONFIG_FEATURE_PS_TIME=y +CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS=y +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +CONFIG_PSTREE=y +CONFIG_PWDX=y +CONFIG_SMEMCAP=y +CONFIG_BB_SYSCTL=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +CONFIG_FEATURE_TOP_SMP_CPU=y +CONFIG_FEATURE_TOP_DECIMALS=y +CONFIG_FEATURE_TOP_SMP_PROCESS=y +CONFIG_FEATURE_TOPMEM=y +CONFIG_UPTIME=y +CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y +CONFIG_WATCH=y + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVC is not set +# CONFIG_SVOK is not set +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_BASH_SOURCE_CURDIR=y +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y +CONFIG_ASH_MAIL=y +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +CONFIG_HUSH=y +CONFIG_SHELL_HUSH=y +CONFIG_HUSH_BASH_COMPAT=y +CONFIG_HUSH_BRACE_EXPANSION=y +CONFIG_HUSH_BASH_SOURCE_CURDIR=y +CONFIG_HUSH_LINENO_VAR=y +CONFIG_HUSH_INTERACTIVE=y +CONFIG_HUSH_SAVEHISTORY=y +CONFIG_HUSH_JOB=y +CONFIG_HUSH_TICK=y +CONFIG_HUSH_IF=y +CONFIG_HUSH_LOOPS=y +CONFIG_HUSH_CASE=y +CONFIG_HUSH_FUNCTIONS=y +CONFIG_HUSH_LOCAL=y +CONFIG_HUSH_RANDOM_SUPPORT=y +CONFIG_HUSH_MODE_X=y +CONFIG_HUSH_ECHO=y +CONFIG_HUSH_PRINTF=y +CONFIG_HUSH_TEST=y +CONFIG_HUSH_HELP=y +CONFIG_HUSH_EXPORT=y +CONFIG_HUSH_EXPORT_N=y +CONFIG_HUSH_READONLY=y +CONFIG_HUSH_KILL=y +CONFIG_HUSH_WAIT=y +CONFIG_HUSH_COMMAND=y +CONFIG_HUSH_TRAP=y +CONFIG_HUSH_TYPE=y +CONFIG_HUSH_TIMES=y +CONFIG_HUSH_READ=y +CONFIG_HUSH_SET=y +CONFIG_HUSH_UNSET=y +CONFIG_HUSH_ULIMIT=y +CONFIG_HUSH_UMASK=y +CONFIG_HUSH_GETOPTS=y +CONFIG_HUSH_MEMLEAK=y + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +CONFIG_FEATURE_SH_STANDALONE=y +CONFIG_FEATURE_SH_NOFORK=y +CONFIG_FEATURE_SH_READ_FRAC=y +CONFIG_FEATURE_SH_HISTFILESIZE=y +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +CONFIG_FEATURE_SYSLOGD_DUP=y +CONFIG_FEATURE_SYSLOGD_CFG=y +CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS=y +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_FEATURE_KMSG_SYSLOG=y diff --git a/srcpkgs/busybox-full/template b/srcpkgs/busybox-full/template new file mode 100644 index 0000000..2df6806 --- /dev/null +++ b/srcpkgs/busybox-full/template @@ -0,0 +1,32 @@ +# Template file for 'busybox' +pkgname=busybox-full +version=1.35.0 +revision=0 +short_desc="Swiss Army Knife of Embedded Linux - Full (not my software)" +maintainer="Johnathon Li " +license="GPL-2.0-only" +homepage="https://www.busybox.net" +makedepends="curl" +conflicts="busybox>=0 busybox-huge>=0 busybox-core>=0" +archs="x86_64-musl *-musl" + +_alternatives_core=" + ash:ash:/usr/bin/busybox + awk:awk:/usr/bin/busybox + hostname:hostname:/usr/bin/busybox + sh:sh:/usr/bin/busybox + vi:vi:/usr/bin/busybox + logger:logger:/usr/bin/busybox" + +_alternatives=" + ${_alternatives_core} + ntpd:ntpd:/usr/bin/busybox + ntpd:ntpd:/etc/sv/busybox-ntpd" + +alternatives="${_alternatives}" +register_shell="/usr/bin/ash" + +do_install() { + curl -Lo busybox https://busybox.net/downloads/binaries/${version}-$(uname -m)-linux-${XBPS_TARGET_LIBC}/busybox + vbin busybox +} diff --git a/srcpkgs/busybox-huge b/srcpkgs/busybox-huge new file mode 120000 index 0000000..c3fa810 --- /dev/null +++ b/srcpkgs/busybox-huge @@ -0,0 +1 @@ +busybox \ No newline at end of file diff --git a/srcpkgs/busybox-static b/srcpkgs/busybox-static new file mode 120000 index 0000000..c3fa810 --- /dev/null +++ b/srcpkgs/busybox-static @@ -0,0 +1 @@ +busybox \ No newline at end of file diff --git a/srcpkgs/busybox/diff b/srcpkgs/busybox/diff new file mode 100644 index 0000000..f647e30 --- /dev/null +++ b/srcpkgs/busybox/diff @@ -0,0 +1,128 @@ +# Template file for 'busybox' +pkgname=busybox +version=1.34.1 +revision=4 +hostmakedepends="perl" +checkdepends="tar which zip" +short_desc="Swiss Army Knife of Embedded Linux" +maintainer="Cameron Nemo " +license="GPL-2.0-only" +homepage="https://www.busybox.net" +distfiles="${homepage}/downloads/busybox-${version}.tar.bz2" +checksum=415fbd89e5344c96acf449d94a6f956dbed62e18e835fc83e064db33a34bd549 + +_alternatives_core=" + ash:ash:/usr/bin/busybox + awk:awk:/usr/bin/busybox + hostname:hostname:/usr/bin/busybox + sh:sh:/usr/bin/busybox + vi:vi:/usr/bin/busybox + logger:logger:/usr/bin/busybox" + +_alternatives=" + ${_alternatives_core} + ntpd:ntpd:/usr/bin/busybox + ntpd:ntpd:/etc/sv/busybox-ntpd" + +alternatives="${_alternatives}" +register_shell="/usr/bin/ash" + +_patch_config() { + local t="$1" + shift + while [ "$1" ]; do + local p="$1" + shift + echo "Applying $p..." + patch "${t}/.config" <"${FILESDIR}/dotconfig.d/${p}.patch" + done +} + +do_configure() { + mkdir -p src + mv * src || true + + local t + for t in busybox busybox-static busybox-core busybox-huge; do + mkdir -p $t + cp -f ${FILESDIR}/dotconfig ${t}/.config + + case "$XBPS_TARGET_MACHINE" in + *-musl) vsed -i -e /CONFIG_FEATURE_VI_REGEX_SEARCH/s/y/n/ \ + ${t}/.config;; + esac + + if [ "$CROSS_BUILD" ]; then + vsed -i -e \ + "s,\(CONFIG_CROSS_COMPILER_PREFIX\).*,\1=\"${XBPS_CROSS_TRIPLET}-\",g" \ + ${t}/.config + fi + done + + _patch_config busybox udhcpc ntpd + _patch_config busybox-static udhcpc ntpd static + _patch_config busybox-huge udhcpc ntpd httpd mdev sysklogd huge + + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" KBUILD_SRC="${wrksrc}/src" -f "${wrksrc}/src/Makefile" oldconfig + make -C "${t}" KBUILD_SRC="${wrksrc}/src" -f "${wrksrc}/src/Makefile" prepare "${makejobs}" + done + + if [ "$SOURCE_DATE_EPOCH" ]; then + # rewrite date with the one from the date wrapper. + d=$(date +"%F %T %Z") + sed -i "s/\(#define AUTOCONF_TIMESTAMP\).*/\1 \"$d\"/" */include/autoconf.h + fi +} + +do_build() { + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" SKIP_STRIP=y "${makejobs}" + done +} + +do_check() { + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" "${makejobs}" \ + SKIP_KNOWN_BUGS=yes SKIP_INTERNET_TESTS=yes \ + check + done +} + +do_install() { + vbin busybox/busybox_unstripped busybox + vman busybox/docs/busybox.1 + vsv busybox-ntpd +} + +busybox-core_package() { + short_desc+=" (essential applets)" + conflicts="busybox>=0 busybox-huge>=0" + alternatives="${_alternatives_core}" + register_shell="/usr/bin/ash" + pkg_install() { + vbin busybox-core/busybox_unstripped busybox + vman busybox-core/docs/busybox.1 + } +} + +busybox-static_package() { + short_desc+=" (statically linked)" + pkg_install() { + vbin busybox-static/busybox busybox.static + } +} + +busybox-huge_package() { + short_desc+=" (extra applets)" + conflicts="busybox>=0 busybox-core>=0" + alternatives="${_alternatives}" + register_shell="/usr/bin/ash" + pkg_install() { + vbin busybox-huge/busybox_unstripped busybox + vman busybox-huge/docs/busybox.1 + vsv busybox-ntpd + vsv busybox-syslogd + vsv busybox-klogd + } +} diff --git a/srcpkgs/busybox/files/busybox-klogd/run b/srcpkgs/busybox/files/busybox-klogd/run new file mode 100644 index 0000000..a3f1198 --- /dev/null +++ b/srcpkgs/busybox/files/busybox-klogd/run @@ -0,0 +1,3 @@ +#!/bin/sh +exec 2>&1 +exec busybox klogd -n diff --git a/srcpkgs/busybox/files/busybox-ntpd/run b/srcpkgs/busybox/files/busybox-ntpd/run new file mode 100755 index 0000000..8fcd2df --- /dev/null +++ b/srcpkgs/busybox/files/busybox-ntpd/run @@ -0,0 +1,3 @@ +#!/bin/sh +exec 2>&1 +exec busybox ntpd -nN -p pool.ntp.org diff --git a/srcpkgs/busybox/files/busybox-syslogd/run b/srcpkgs/busybox/files/busybox-syslogd/run new file mode 100644 index 0000000..60d0be0 --- /dev/null +++ b/srcpkgs/busybox/files/busybox-syslogd/run @@ -0,0 +1,3 @@ +#!/bin/sh +exec 2>&1 +exec busybox syslogd -n diff --git a/srcpkgs/busybox/files/dotconfig b/srcpkgs/busybox/files/dotconfig new file mode 100644 index 0000000..673ebfd --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig @@ -0,0 +1,1198 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.34.1 +# Sun Oct 3 22:14:53 2021 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +# CONFIG_FEATURE_VERBOSE_USAGE is not set +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_WTMP is not set +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +# CONFIG_FEATURE_SHOW_SCRIPT is not set +# CONFIG_FEATURE_INSTALLER is not set +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +CONFIG_STATIC_LIBGCC=y + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=15 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +CONFIG_FEATURE_USERNAME_COMPLETION=y +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +# CONFIG_MONOTONIC_SYSCALL is not set +# CONFIG_IOCTL_HEX2STR_ERROR is not set +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +CONFIG_BUNZIP2=y +CONFIG_BZCAT=y +# CONFIG_UNLZMA is not set +CONFIG_LZCAT=y +# CONFIG_LZMA is not set +CONFIG_UNXZ=y +CONFIG_XZCAT=y +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +# CONFIG_CPIO is not set +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=2 +CONFIG_FEATURE_GZIP_LEVELS=y +CONFIG_FEATURE_GZIP_DECOMPRESS=y +# CONFIG_LZOP is not set +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +# CONFIG_FEATURE_TAR_FROM is not set +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +CONFIG_FEATURE_TAR_UNAME_GNAME=y +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +CONFIG_CRC32=y +CONFIG_COMM=y +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_EXPAND=y +CONFIG_UNEXPAND=y +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y +CONFIG_FALSE=y +CONFIG_FOLD=y +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +CONFIG_NICE=y +CONFIG_NL=y +CONFIG_NOHUP=y +CONFIG_NPROC=y +CONFIG_OD=y +CONFIG_PASTE=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +CONFIG_SHRED=y +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +CONFIG_SPLIT=y +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +CONFIG_STTY=y +CONFIG_SUM=y +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +# CONFIG_USLEEP is not set +CONFIG_UUDECODE=y +CONFIG_BASE32=y +CONFIG_BASE64=y +CONFIG_UUENCODE=y +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +# CONFIG_WHO is not set +# CONFIG_W is not set +# CONFIG_USERS is not set +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Common options +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +CONFIG_DUMPKMAP=y +# CONFIG_FGCONSOLE is not set +CONFIG_KBD_MODE=y +# CONFIG_LOADFONT is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set +CONFIG_LOADKMAP=y +# CONFIG_OPENVT is not set +CONFIG_RESET=y +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +CONFIG_PIPE_PROGRESS=y +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +CONFIG_FEATURE_RUN_PARTS_FANCY=y +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +# CONFIG_NUKE is not set +# CONFIG_RESUME is not set +# CONFIG_RUN_INIT is not set + +# +# Editors +# +CONFIG_AWK=y +CONFIG_FEATURE_AWK_LIBM=y +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +CONFIG_ED=y +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_REGEX_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_UNDO=y +CONFIG_FEATURE_VI_UNDO_QUEUE=y +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_EXECUTABLE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_QUIT=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_EMPTY=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_EGREP=y +CONFIG_FGREP=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +# CONFIG_HALT is not set +# CONFIG_POWEROFF is not set +# CONFIG_REBOOT is not set +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +# CONFIG_INIT is not set +# CONFIG_LINUXRC is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_INIT_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=0 +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" +# CONFIG_CRYPTPW is not set +# CONFIG_MKPASSWD is not set +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +# CONFIG_LOGIN is not set +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +# CONFIG_PASSWD is not set +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +CONFIG_MODPROBE_SMALL=y +CONFIG_DEPMOD=y +CONFIG_INSMOD=y +CONFIG_LSMOD=y +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +CONFIG_MODINFO=y +CONFIG_MODPROBE=y +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +CONFIG_RMMOD=y + +# +# Options common to multiple modutils +# +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKDISCARD=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +CONFIG_FLOCK=y +# CONFIG_FDFLUSH is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_HD is not set +CONFIG_XXD=y +CONFIG_HWCLOCK=y +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +CONFIG_IONICE=y +CONFIG_IPCRM=y +CONFIG_IPCS=y +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +CONFIG_FEATURE_MOUNT_VERBOSE=y +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +# CONFIG_FEATURE_MOUNT_NFS is not set +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +# CONFIG_MOUNTPOINT is not set +# CONFIG_NOLOGIN is not set +# CONFIG_NOLOGIN_DEPENDENCIES is not set +CONFIG_NSENTER=y +CONFIG_PIVOT_ROOT=y +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +CONFIG_RENICE=y +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +CONFIG_SETARCH=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +CONFIG_SETSID=y +CONFIG_SWAPON=y +CONFIG_FEATURE_SWAPON_DISCARD=y +CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y +CONFIG_SWITCH_ROOT=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set +CONFIG_UEVENT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +CONFIG_FEATURE_MTAB_SUPPORT=y +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +CONFIG_FEATURE_VOLUMEID_BTRFS=y +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +CONFIG_FEATURE_VOLUMEID_EROFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +# CONFIG_FEATURE_VOLUMEID_HFS is not set +CONFIG_FEATURE_VOLUMEID_ISO9660=y +# CONFIG_FEATURE_VOLUMEID_JFS is not set +CONFIG_FEATURE_VOLUMEID_LFS=y +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +CONFIG_FEATURE_VOLUMEID_SQUASHFS=y +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +# CONFIG_BC is not set +CONFIG_DC=y +# CONFIG_FEATURE_DC_BIG is not set +CONFIG_FEATURE_DC_LIBM=y +# CONFIG_FEATURE_BC_INTERACTIVE is not set +# CONFIG_FEATURE_BC_LONG_OPTIONS is not set +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +CONFIG_FEATURE_LESS_MARKS=y +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +CONFIG_FEATURE_LESS_DASHCMD=y +CONFIG_FEATURE_LESS_LINENUMS=y +CONFIG_FEATURE_LESS_RAW=y +CONFIG_FEATURE_LESS_ENV=y +CONFIG_LSSCSI=y +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +# CONFIG_MIM is not set +# CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +CONFIG_RFKILL=y +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETFATTR=y +# CONFIG_SETSERIAL is not set +CONFIG_STRINGS=y +CONFIG_TIME=y +CONFIG_TS=y +# CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set +# CONFIG_VOLNAME is not set +# CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +CONFIG_FEATURE_UNIX_LOCAL=y +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_TLS_SHA1 is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +CONFIG_IFENSLAVE=y +# CONFIG_IFPLUGD is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +# CONFIG_FEATURE_NTP_AUTH is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +# CONFIG_ROUTE is not set +# CONFIG_SLATTACH is not set +CONFIG_SSL_CLIENT=y +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y +# CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +# CONFIG_TFTP is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set +# CONFIG_TFTPD is not set +# CONFIG_FEATURE_TFTP_GET is not set +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +CONFIG_FEATURE_WGET_OPENSSL=y +CONFIG_WHOIS=y +# CONFIG_ZCIP is not set +# CONFIG_UDHCPD is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_UDHCPC is not set +# CONFIG_FEATURE_UDHCPC_ARPING is not set +# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set +CONFIG_UDHCPC_DEFAULT_SCRIPT="" +# CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set +# CONFIG_FEATURE_UDHCPC6_RFC5970 is not set +CONFIG_UDHCPC_DEFAULT_INTERFACE="" +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +# CONFIG_FEATURE_UDHCP_8021Q is not set +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" + +# +# Process Utilities +# +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_IOSTAT=y +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +# CONFIG_NMETER is not set +CONFIG_PGREP=y +CONFIG_PKILL=y +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +CONFIG_PMAP=y +CONFIG_POWERTOP=y +CONFIG_FEATURE_POWERTOP_INTERACTIVE=y +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +CONFIG_FEATURE_PS_TIME=y +CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS=y +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +CONFIG_PSTREE=y +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +CONFIG_BB_SYSCTL=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +CONFIG_FEATURE_TOP_SMP_CPU=y +CONFIG_FEATURE_TOP_DECIMALS=y +CONFIG_FEATURE_TOP_SMP_PROCESS=y +CONFIG_FEATURE_TOPMEM=y +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set +CONFIG_FEATURE_SHOW_THREADS=y + +# +# Runit Utilities +# +CONFIG_CHPST=y +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +CONFIG_SV=y +CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" +# CONFIG_SVC is not set +CONFIG_SVOK=y +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +CONFIG_FEATURE_SH_HISTFILESIZE=y +# CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS is not set + +# +# System Logging Utilities +# +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +CONFIG_LOGGER=y +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/srcpkgs/busybox/files/dotconfig.d/httpd.patch b/srcpkgs/busybox/files/dotconfig.d/httpd.patch new file mode 100644 index 0000000..cde1147 --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/httpd.patch @@ -0,0 +1,39 @@ +@@ -864,22 +864,22 @@ + # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set + CONFIG_HOSTNAME=y + CONFIG_DNSDOMAINNAME=y +-# CONFIG_HTTPD is not set +-# CONFIG_FEATURE_HTTPD_RANGES is not set +-# CONFIG_FEATURE_HTTPD_SETUID is not set +-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +-# CONFIG_FEATURE_HTTPD_CGI is not set +-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +-# CONFIG_FEATURE_HTTPD_PROXY is not set +-# CONFIG_FEATURE_HTTPD_GZIP is not set +-# CONFIG_FEATURE_HTTPD_ETAG is not set +-# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +-# CONFIG_FEATURE_HTTPD_DATE is not set +-# CONFIG_FEATURE_HTTPD_ACL_IP is not set ++CONFIG_HTTPD=y ++CONFIG_FEATURE_HTTPD_RANGES=y ++CONFIG_FEATURE_HTTPD_SETUID=y ++CONFIG_FEATURE_HTTPD_BASIC_AUTH=y ++CONFIG_FEATURE_HTTPD_AUTH_MD5=y ++CONFIG_FEATURE_HTTPD_CGI=y ++CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y ++CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y ++CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y ++CONFIG_FEATURE_HTTPD_ERROR_PAGES=y ++CONFIG_FEATURE_HTTPD_PROXY=y ++CONFIG_FEATURE_HTTPD_GZIP=y ++CONFIG_FEATURE_HTTPD_ETAG=y ++CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y ++CONFIG_FEATURE_HTTPD_DATE=y ++CONFIG_FEATURE_HTTPD_ACL_IP=y + CONFIG_IFCONFIG=y + CONFIG_FEATURE_IFCONFIG_STATUS=y + CONFIG_FEATURE_IFCONFIG_SLIP=y diff --git a/srcpkgs/busybox/files/dotconfig.d/huge.patch b/srcpkgs/busybox/files/dotconfig.d/huge.patch new file mode 100644 index 0000000..bcf9814 --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/huge.patch @@ -0,0 +1,422 @@ +@@ -94,7 +94,7 @@ + CONFIG_PASSWORD_MINLEN=6 + CONFIG_MD5_SMALL=1 + CONFIG_SHA3_SMALL=1 +-# CONFIG_FEATURE_FAST_TOP is not set ++CONFIG_FEATURE_FAST_TOP=y + # CONFIG_FEATURE_ETC_NETWORKS is not set + # CONFIG_FEATURE_ETC_SERVICES is not set + CONFIG_FEATURE_EDITING=y +@@ -125,7 +125,7 @@ + CONFIG_FEATURE_USE_SENDFILE=y + CONFIG_FEATURE_COPYBUF_KB=4 + CONFIG_FEATURE_SKIP_ROOTFS=y +-# CONFIG_MONOTONIC_SYSCALL is not set ++CONFIG_MONOTONIC_SYSCALL=y + # CONFIG_IOCTL_HEX2STR_ERROR is not set + # CONFIG_FEATURE_HWIB is not set + +@@ -159,9 +159,9 @@ + CONFIG_BZIP2=y + CONFIG_BZIP2_SMALL=8 + CONFIG_FEATURE_BZIP2_DECOMPRESS=y +-# CONFIG_CPIO is not set +-# CONFIG_FEATURE_CPIO_O is not set +-# CONFIG_FEATURE_CPIO_P is not set ++CONFIG_CPIO=y ++CONFIG_FEATURE_CPIO_O=y ++CONFIG_FEATURE_CPIO_P=y + # CONFIG_DPKG is not set + # CONFIG_DPKG_DEB is not set + CONFIG_GZIP=y +@@ -192,7 +192,7 @@ + CONFIG_FEATURE_UNZIP_BZIP2=y + CONFIG_FEATURE_UNZIP_LZMA=y + CONFIG_FEATURE_UNZIP_XZ=y +-# CONFIG_FEATURE_LZMA_FAST is not set ++CONFIG_FEATURE_LZMA_FAST=y + + # + # Coreutils +@@ -206,7 +206,7 @@ + CONFIG_CHOWN=y + CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y + CONFIG_CHROOT=y +-# CONFIG_CKSUM is not set ++CONFIG_CKSUM=y + CONFIG_CRC32=y + CONFIG_COMM=y + CONFIG_CP=y +@@ -216,11 +216,11 @@ + CONFIG_FEATURE_CUT_REGEX=y + CONFIG_DATE=y + CONFIG_FEATURE_DATE_ISOFMT=y +-# CONFIG_FEATURE_DATE_NANO is not set ++CONFIG_FEATURE_DATE_NANO=y + CONFIG_FEATURE_DATE_COMPAT=y + CONFIG_DD=y + CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +-# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set ++CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y + CONFIG_FEATURE_DD_IBS_OBS=y + CONFIG_FEATURE_DD_STATUS=y + CONFIG_DF=y +@@ -269,7 +269,7 @@ + # + # Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum + # +-# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set ++CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + CONFIG_MKDIR=y + CONFIG_MKFIFO=y + CONFIG_MKNOD=y +@@ -316,7 +316,7 @@ + CONFIG_TEST1=y + CONFIG_TEST2=y + CONFIG_FEATURE_TEST_64=y +-# CONFIG_TIMEOUT is not set ++CONFIG_TIMEOUT=y + CONFIG_TOUCH=y + CONFIG_FEATURE_TOUCH_SUSV3=y + CONFIG_TR=y +@@ -330,7 +330,7 @@ + CONFIG_BB_ARCH=y + CONFIG_UNIQ=y + CONFIG_UNLINK=y +-# CONFIG_USLEEP is not set ++CONFIG_USLEEP=y + CONFIG_UUDECODE=y + CONFIG_BASE32=y + CONFIG_BASE64=y +@@ -374,7 +374,7 @@ + # CONFIG_FEATURE_LOADFONT_PSF2 is not set + # CONFIG_FEATURE_LOADFONT_RAW is not set + CONFIG_LOADKMAP=y +-# CONFIG_OPENVT is not set ++CONFIG_OPENVT=y + CONFIG_RESET=y + # CONFIG_RESIZE is not set + # CONFIG_FEATURE_RESIZE_PRINT is not set +@@ -549,7 +549,7 @@ + # + CONFIG_CHATTR=y + # CONFIG_FSCK is not set +-# CONFIG_LSATTR is not set ++CONFIG_LSATTR=y + # CONFIG_TUNE2FS is not set + + # +@@ -592,7 +592,7 @@ + CONFIG_BLKID=y + CONFIG_FEATURE_BLKID_TYPE=y + # CONFIG_BLOCKDEV is not set +-# CONFIG_CAL is not set ++CONFIG_CAL=y + # CONFIG_CHRT is not set + CONFIG_DMESG=y + CONFIG_FEATURE_DMESG_PRETTY=y +@@ -644,13 +644,13 @@ + CONFIG_FEATURE_MDEV_DAEMON=y + # CONFIG_MESG is not set + # CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +-# CONFIG_MKE2FS is not set +-# CONFIG_MKFS_EXT2 is not set ++CONFIG_MKE2FS=y ++CONFIG_MKFS_EXT2=y + # CONFIG_MKFS_MINIX is not set + # CONFIG_FEATURE_MINIX2 is not set + # CONFIG_MKFS_REISER is not set +-# CONFIG_MKDOSFS is not set +-# CONFIG_MKFS_VFAT is not set ++CONFIG_MKDOSFS=y ++CONFIG_MKFS_VFAT=y + CONFIG_MKSWAP=y + CONFIG_FEATURE_MKSWAP_UUID=y + CONFIG_MORE=y +@@ -664,19 +664,19 @@ + CONFIG_FEATURE_MOUNT_FLAGS=y + CONFIG_FEATURE_MOUNT_FSTAB=y + CONFIG_FEATURE_MOUNT_OTHERTAB=y +-# CONFIG_MOUNTPOINT is not set ++CONFIG_MOUNTPOINT=y + # CONFIG_NOLOGIN is not set + # CONFIG_NOLOGIN_DEPENDENCIES is not set + CONFIG_NSENTER=y + CONFIG_PIVOT_ROOT=y +-# CONFIG_RDATE is not set ++CONFIG_RDATE=y + # CONFIG_RDEV is not set + # CONFIG_READPROFILE is not set + CONFIG_RENICE=y +-# CONFIG_REV is not set +-# CONFIG_RTCWAKE is not set +-# CONFIG_SCRIPT is not set +-# CONFIG_SCRIPTREPLAY is not set ++CONFIG_REV=y ++CONFIG_RTCWAKE=y ++CONFIG_SCRIPT=y ++CONFIG_SCRIPTREPLAY=y + CONFIG_SETARCH=y + CONFIG_LINUX32=y + CONFIG_LINUX64=y +@@ -691,9 +691,9 @@ + CONFIG_SWAPOFF=y + CONFIG_FEATURE_SWAPONOFF_LABEL=y + CONFIG_SWITCH_ROOT=y +-# CONFIG_TASKSET is not set +-# CONFIG_FEATURE_TASKSET_FANCY is not set +-# CONFIG_FEATURE_TASKSET_CPULIST is not set ++CONFIG_TASKSET=y ++CONFIG_FEATURE_TASKSET_FANCY=y ++CONFIG_FEATURE_TASKSET_CPULIST=y + CONFIG_UEVENT=y + CONFIG_UMOUNT=y + CONFIG_FEATURE_UMOUNT_ALL=y +@@ -745,12 +745,12 @@ + CONFIG_ASCII=y + # CONFIG_BBCONFIG is not set + # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +-# CONFIG_BC is not set ++CONFIG_BC=y + CONFIG_DC=y +-# CONFIG_FEATURE_DC_BIG is not set +-CONFIG_FEATURE_DC_LIBM=y +-# CONFIG_FEATURE_BC_INTERACTIVE is not set +-# CONFIG_FEATURE_BC_LONG_OPTIONS is not set ++CONFIG_FEATURE_DC_BIG=y ++# CONFIG_FEATURE_DC_LIBM is not set ++CONFIG_FEATURE_BC_INTERACTIVE=y ++CONFIG_FEATURE_BC_LONG_OPTIONS=y + # CONFIG_BEEP is not set + CONFIG_FEATURE_BEEP_FREQ=0 + CONFIG_FEATURE_BEEP_LENGTH_MS=0 +@@ -774,7 +774,7 @@ + # CONFIG_DEVFSD_FG_NP is not set + # CONFIG_DEVFSD_VERBOSE is not set + # CONFIG_FEATURE_DEVFS is not set +-# CONFIG_DEVMEM is not set ++CONFIG_DEVMEM=y + # CONFIG_FBSPLASH is not set + # CONFIG_FLASH_ERASEALL is not set + # CONFIG_FLASH_LOCK is not set +@@ -812,7 +812,7 @@ + # CONFIG_FEATURE_MAKEDEVS_LEAF is not set + # CONFIG_FEATURE_MAKEDEVS_TABLE is not set + # CONFIG_MAN is not set +-# CONFIG_MICROCOM is not set ++CONFIG_MICROCOM=y + # CONFIG_MIM is not set + # CONFIG_MT is not set + # CONFIG_NANDWRITE is not set +@@ -824,7 +824,7 @@ + # CONFIG_RUNLEVEL is not set + # CONFIG_RX is not set + CONFIG_SETFATTR=y +-# CONFIG_SETSERIAL is not set ++CONFIG_SETSERIAL=y + CONFIG_STRINGS=y + CONFIG_TIME=y + CONFIG_TS=y +@@ -848,20 +848,20 @@ + CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y + # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set + # CONFIG_FEATURE_TLS_SHA1 is not set +-# CONFIG_ARP is not set +-# CONFIG_ARPING is not set ++CONFIG_ARP=y ++CONFIG_ARPING=y + CONFIG_BRCTL=y + CONFIG_FEATURE_BRCTL_FANCY=y + CONFIG_FEATURE_BRCTL_SHOW=y + # CONFIG_DNSD is not set +-# CONFIG_ETHER_WAKE is not set +-# CONFIG_FTPD is not set +-# CONFIG_FEATURE_FTPD_WRITE is not set +-# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +-# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +-# CONFIG_FTPGET is not set +-# CONFIG_FTPPUT is not set +-# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set ++CONFIG_ETHER_WAKE=y ++CONFIG_FTPD=y ++CONFIG_FEATURE_FTPD_WRITE=y ++CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y ++CONFIG_FEATURE_FTPD_AUTHENTICATION=y ++CONFIG_FTPGET=y ++CONFIG_FTPPUT=y ++CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y + CONFIG_HOSTNAME=y + CONFIG_DNSDOMAINNAME=y + CONFIG_HTTPD=y +@@ -896,12 +896,12 @@ + # CONFIG_FEATURE_IFUPDOWN_IPV6 is not set + # CONFIG_FEATURE_IFUPDOWN_MAPPING is not set + # CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +-# CONFIG_INETD is not set +-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set ++CONFIG_INETD=y ++CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y ++CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y ++CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y ++CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y ++CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y + # CONFIG_FEATURE_INETD_RPC is not set + CONFIG_IP=y + CONFIG_IPADDR=y +@@ -922,11 +922,11 @@ + # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set + # CONFIG_FEATURE_IPCALC_FANCY is not set + # CONFIG_FAKEIDENTD is not set +-# CONFIG_NAMEIF is not set +-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +-# CONFIG_NBDCLIENT is not set ++CONFIG_NAMEIF=y ++CONFIG_FEATURE_NAMEIF_EXTENDED=y ++CONFIG_NBDCLIENT=y + CONFIG_NC=y +-# CONFIG_NETCAT is not set ++CONFIG_NETCAT=y + CONFIG_NC_SERVER=y + CONFIG_NC_EXTRA=y + # CONFIG_NC_110_COMPAT is not set +@@ -944,13 +944,13 @@ + CONFIG_PING6=y + CONFIG_FEATURE_FANCY_PING=y + # CONFIG_PSCAN is not set +-# CONFIG_ROUTE is not set ++CONFIG_ROUTE=y + # CONFIG_SLATTACH is not set + CONFIG_SSL_CLIENT=y + CONFIG_TC=y + CONFIG_FEATURE_TC_INGRESS=y +-# CONFIG_TCPSVD is not set +-# CONFIG_UDPSVD is not set ++CONFIG_TCPSVD=y ++CONFIG_UDPSVD=y + CONFIG_TELNET=y + CONFIG_FEATURE_TELNET_TTYPE=y + CONFIG_FEATURE_TELNET_AUTOLOGIN=y +@@ -958,21 +958,21 @@ + # CONFIG_TELNETD is not set + # CONFIG_FEATURE_TELNETD_STANDALONE is not set + # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +-# CONFIG_TFTP is not set +-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +-# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set +-# CONFIG_TFTPD is not set +-# CONFIG_FEATURE_TFTP_GET is not set +-# CONFIG_FEATURE_TFTP_PUT is not set +-# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set ++CONFIG_TFTP=y ++CONFIG_FEATURE_TFTP_PROGRESS_BAR=y ++CONFIG_FEATURE_TFTP_HPA_COMPAT=y ++CONFIG_TFTPD=y ++CONFIG_FEATURE_TFTP_GET=y ++CONFIG_FEATURE_TFTP_PUT=y ++CONFIG_FEATURE_TFTP_BLOCKSIZE=y + # CONFIG_TFTP_DEBUG is not set + CONFIG_TLS=y +-# CONFIG_TRACEROUTE is not set +-# CONFIG_TRACEROUTE6 is not set +-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +-# CONFIG_TUNCTL is not set +-# CONFIG_FEATURE_TUNCTL_UG is not set ++CONFIG_TRACEROUTE=y ++CONFIG_TRACEROUTE6=y ++CONFIG_FEATURE_TRACEROUTE_VERBOSE=y ++CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y ++CONFIG_TUNCTL=y ++CONFIG_FEATURE_TUNCTL_UG=y + # CONFIG_VCONFIG is not set + CONFIG_WGET=y + CONFIG_FEATURE_WGET_LONG_OPTIONS=y +@@ -984,21 +984,21 @@ + CONFIG_FEATURE_WGET_OPENSSL=y + CONFIG_WHOIS=y + # CONFIG_ZCIP is not set +-# CONFIG_UDHCPD is not set ++CONFIG_UDHCPD=y + # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +-CONFIG_DHCPD_LEASES_FILE="" ++CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y ++CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" + # CONFIG_DUMPLEASES is not set + # CONFIG_DHCPRELAY is not set + CONFIG_UDHCPC=y + CONFIG_FEATURE_UDHCPC_ARPING=y + CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y + CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +-# CONFIG_UDHCPC6 is not set +-# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +-# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +-# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set +-# CONFIG_FEATURE_UDHCPC6_RFC5970 is not set ++CONFIG_UDHCPC6=y ++CONFIG_FEATURE_UDHCPC6_RFC3646=y ++CONFIG_FEATURE_UDHCPC6_RFC4704=y ++CONFIG_FEATURE_UDHCPC6_RFC4833=y ++CONFIG_FEATURE_UDHCPC6_RFC5970=y + + # + # Common options for DHCP applets +@@ -1021,13 +1021,13 @@ + # + # Mail Utilities + # +-# CONFIG_MAKEMIME is not set ++CONFIG_MAKEMIME=y + # CONFIG_POPMAILDIR is not set + # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +-# CONFIG_REFORMIME is not set +-# CONFIG_FEATURE_REFORMIME_COMPAT is not set +-# CONFIG_SENDMAIL is not set +-CONFIG_FEATURE_MIME_CHARSET="" ++CONFIG_REFORMIME=y ++CONFIG_FEATURE_REFORMIME_COMPAT=y ++CONFIG_SENDMAIL=y ++CONFIG_FEATURE_MIME_CHARSET="us-ascii" + + # + # Process Utilities +@@ -1040,7 +1040,7 @@ + CONFIG_KILLALL5=y + CONFIG_LSOF=y + CONFIG_MPSTAT=y +-# CONFIG_NMETER is not set ++CONFIG_NMETER=y + CONFIG_PGREP=y + CONFIG_PKILL=y + CONFIG_PIDOF=y +@@ -1056,7 +1056,7 @@ + CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS=y + CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y + CONFIG_PSTREE=y +-# CONFIG_PWDX is not set ++CONFIG_PWDX=y + # CONFIG_SMEMCAP is not set + CONFIG_BB_SYSCTL=y + CONFIG_TOP=y +@@ -1069,7 +1069,7 @@ + CONFIG_FEATURE_TOPMEM=y + CONFIG_UPTIME=y + # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +-# CONFIG_WATCH is not set ++CONFIG_WATCH=y + CONFIG_FEATURE_SHOW_THREADS=y + + # +@@ -1087,7 +1087,7 @@ + CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" + # CONFIG_SVC is not set + CONFIG_SVOK=y +-# CONFIG_SVLOGD is not set ++CONFIG_SVLOGD=y + # CONFIG_CHCON is not set + # CONFIG_GETENFORCE is not set + # CONFIG_GETSEBOOL is not set diff --git a/srcpkgs/busybox/files/dotconfig.d/mdev.patch b/srcpkgs/busybox/files/dotconfig.d/mdev.patch new file mode 100644 index 0000000..e8c1682 --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/mdev.patch @@ -0,0 +1,21 @@ +@@ -624,12 +624,12 @@ + CONFIG_LOSETUP=y + CONFIG_LSPCI=y + CONFIG_LSUSB=y +-# CONFIG_MDEV is not set +-# CONFIG_FEATURE_MDEV_CONF is not set +-# CONFIG_FEATURE_MDEV_RENAME is not set +-# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +-# CONFIG_FEATURE_MDEV_EXEC is not set +-# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +-# CONFIG_FEATURE_MDEV_DAEMON is not set ++CONFIG_MDEV=y ++CONFIG_FEATURE_MDEV_CONF=y ++CONFIG_FEATURE_MDEV_RENAME=y ++CONFIG_FEATURE_MDEV_RENAME_REGEXP=y ++CONFIG_FEATURE_MDEV_EXEC=y ++CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y ++CONFIG_FEATURE_MDEV_DAEMON=y + # CONFIG_MESG is not set + # CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set + # CONFIG_MKE2FS is not set diff --git a/srcpkgs/busybox/files/dotconfig.d/ntpd.patch b/srcpkgs/busybox/files/dotconfig.d/ntpd.patch new file mode 100644 index 0000000..8ca733d --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/ntpd.patch @@ -0,0 +1,15 @@ +@@ -917,10 +917,10 @@ + CONFIG_NSLOOKUP=y + CONFIG_FEATURE_NSLOOKUP_BIG=y + CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +-# CONFIG_NTPD is not set +-# CONFIG_FEATURE_NTPD_SERVER is not set +-# CONFIG_FEATURE_NTPD_CONF is not set +-# CONFIG_FEATURE_NTP_AUTH is not set ++CONFIG_NTPD=y ++CONFIG_FEATURE_NTPD_SERVER=y ++CONFIG_FEATURE_NTPD_CONF=y ++CONFIG_FEATURE_NTP_AUTH=y + CONFIG_PING=y + CONFIG_PING6=y + CONFIG_FEATURE_FANCY_PING=y diff --git a/srcpkgs/busybox/files/dotconfig.d/static.patch b/srcpkgs/busybox/files/dotconfig.d/static.patch new file mode 100644 index 0000000..0b6b5a7 --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/static.patch @@ -0,0 +1,9 @@ +@@ -39,7 +39,7 @@ + # + # Build Options + # +-# CONFIG_STATIC is not set ++CONFIG_STATIC=y + # CONFIG_PIE is not set + # CONFIG_NOMMU is not set + # CONFIG_BUILD_LIBBUSYBOX is not set diff --git a/srcpkgs/busybox/files/dotconfig.d/sysklogd.patch b/srcpkgs/busybox/files/dotconfig.d/sysklogd.patch new file mode 100644 index 0000000..a6a7d54 --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/sysklogd.patch @@ -0,0 +1,31 @@ +@@ -1173,18 +1173,18 @@ + # + # System Logging Utilities + # +-# CONFIG_KLOGD is not set +-# CONFIG_FEATURE_KLOGD_KLOGCTL is not set ++CONFIG_KLOGD=y ++CONFIG_FEATURE_KLOGD_KLOGCTL=y + CONFIG_LOGGER=y +-# CONFIG_LOGREAD is not set +-# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +-# CONFIG_SYSLOGD is not set +-# CONFIG_FEATURE_ROTATE_LOGFILE is not set +-# CONFIG_FEATURE_REMOTE_LOG is not set +-# CONFIG_FEATURE_SYSLOGD_DUP is not set +-# CONFIG_FEATURE_SYSLOGD_CFG is not set ++CONFIG_LOGREAD=y ++CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y ++CONFIG_SYSLOGD=y ++CONFIG_FEATURE_ROTATE_LOGFILE=y ++CONFIG_FEATURE_REMOTE_LOG=y ++CONFIG_FEATURE_SYSLOGD_DUP=y ++CONFIG_FEATURE_SYSLOGD_CFG=y + # CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +-# CONFIG_FEATURE_IPC_SYSLOG is not set +-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 ++CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 ++CONFIG_FEATURE_IPC_SYSLOG=y ++CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=512 + # CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/srcpkgs/busybox/files/dotconfig.d/udhcpc.patch b/srcpkgs/busybox/files/dotconfig.d/udhcpc.patch new file mode 100644 index 0000000..6a9ae3d --- /dev/null +++ b/srcpkgs/busybox/files/dotconfig.d/udhcpc.patch @@ -0,0 +1,35 @@ +@@ -990,21 +990,25 @@ + CONFIG_DHCPD_LEASES_FILE="" + # CONFIG_DUMPLEASES is not set + # CONFIG_DHCPRELAY is not set +-# CONFIG_UDHCPC is not set +-# CONFIG_FEATURE_UDHCPC_ARPING is not set +-# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set +-CONFIG_UDHCPC_DEFAULT_SCRIPT="" ++CONFIG_UDHCPC=y ++CONFIG_FEATURE_UDHCPC_ARPING=y ++CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y ++CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" + # CONFIG_UDHCPC6 is not set + # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set + # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set + # CONFIG_FEATURE_UDHCPC6_RFC4833 is not set + # CONFIG_FEATURE_UDHCPC6_RFC5970 is not set +-CONFIG_UDHCPC_DEFAULT_INTERFACE="" ++ ++# ++# Common options for DHCP applets ++# ++CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" + # CONFIG_FEATURE_UDHCP_PORT is not set +-CONFIG_UDHCP_DEBUG=0 +-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 +-# CONFIG_FEATURE_UDHCP_RFC3397 is not set +-# CONFIG_FEATURE_UDHCP_8021Q is not set ++CONFIG_UDHCP_DEBUG=2 ++CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 ++CONFIG_FEATURE_UDHCP_RFC3397=y ++CONFIG_FEATURE_UDHCP_8021Q=y + CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + + # diff --git a/srcpkgs/busybox/patches/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/srcpkgs/busybox/patches/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch new file mode 100644 index 0000000..1d1716e --- /dev/null +++ b/srcpkgs/busybox/patches/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch @@ -0,0 +1,40 @@ +From 0c8da1bead8ffaf270b4b723ead2c517371405d7 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Sun, 3 Apr 2022 12:14:33 +0000 +Subject: [PATCH 1/2] libbb: sockaddr2str: ensure only printable characters are + returned for the hostname part + +CVE: Pending +Upstream-Status: Pending +Signed-off-by: Ariadne Conill +--- + libbb/xconnect.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libbb/xconnect.c b/libbb/xconnect.c +index 0e0b247b8..02c061e67 100644 +--- a/libbb/xconnect.c ++++ b/libbb/xconnect.c +@@ -497,8 +497,9 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags) + ); + if (rc) + return NULL; ++ /* ensure host contains only printable characters */ + if (flags & IGNORE_PORT) +- return xstrdup(host); ++ return xstrdup(printable_string(host)); + #if ENABLE_FEATURE_IPV6 + if (sa->sa_family == AF_INET6) { + if (strchr(host, ':')) /* heh, it's not a resolved hostname */ +@@ -509,7 +510,7 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags) + #endif + /* For now we don't support anything else, so it has to be INET */ + /*if (sa->sa_family == AF_INET)*/ +- return xasprintf("%s:%s", host, serv); ++ return xasprintf("%s:%s", printable_string(host), serv); + /*return xstrdup(host);*/ + } + +-- +2.35.1 + diff --git a/srcpkgs/busybox/patches/0002-nslookup-sanitize-all-printed-strings-with-printable.patch b/srcpkgs/busybox/patches/0002-nslookup-sanitize-all-printed-strings-with-printable.patch new file mode 100644 index 0000000..4758509 --- /dev/null +++ b/srcpkgs/busybox/patches/0002-nslookup-sanitize-all-printed-strings-with-printable.patch @@ -0,0 +1,67 @@ +From 812b407e545b70b16cf32aade135b5c32eaf674f Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Sun, 3 Apr 2022 12:16:45 +0000 +Subject: [PATCH 2/2] nslookup: sanitize all printed strings with + printable_string + +Otherwise, terminal sequences can be injected, which enables various terminal injection +attacks from DNS results. + +CVE: Pending +Upstream-Status: Pending +Signed-off-by: Ariadne Conill +--- + networking/nslookup.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/networking/nslookup.c b/networking/nslookup.c +index 6da97baf4..4bdcde1b8 100644 +--- a/networking/nslookup.c ++++ b/networking/nslookup.c +@@ -407,7 +407,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + //printf("Unable to uncompress domain: %s\n", strerror(errno)); + return -1; + } +- printf(format, ns_rr_name(rr), dname); ++ printf(format, ns_rr_name(rr), printable_string(dname)); + break; + + case ns_t_mx: +@@ -422,7 +422,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + //printf("Cannot uncompress MX domain: %s\n", strerror(errno)); + return -1; + } +- printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, dname); ++ printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, printable_string(dname)); + break; + + case ns_t_txt: +@@ -434,7 +434,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + if (n > 0) { + memset(dname, 0, sizeof(dname)); + memcpy(dname, ns_rr_rdata(rr) + 1, n); +- printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), dname); ++ printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), printable_string(dname)); + } + break; + +@@ -454,7 +454,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + } + + printf("%s\tservice = %u %u %u %s\n", ns_rr_name(rr), +- ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), dname); ++ ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), printable_string(dname)); + break; + + case ns_t_soa: +@@ -483,7 +483,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + return -1; + } + +- printf("\tmail addr = %s\n", dname); ++ printf("\tmail addr = %s\n", printable_string(dname)); + cp += n; + + printf("\tserial = %lu\n", ns_get32(cp)); +-- +2.35.1 diff --git a/srcpkgs/busybox/patches/testsuite-fix-date-works.patch b/srcpkgs/busybox/patches/testsuite-fix-date-works.patch new file mode 100644 index 0000000..0f3e23e --- /dev/null +++ b/srcpkgs/busybox/patches/testsuite-fix-date-works.patch @@ -0,0 +1,12 @@ +The format for the `date` command has changed and this test wasn't updated with it. + +--- a/testsuite/date/date-works ++++ b/testsuite/date/date-works +@@ -1,6 +1,6 @@ + dt=`busybox date` + # Expected format: Fri Apr 25 03:47:55 CEST 2008 +-dt=`echo "$dt" | sed 's/^[^ ][^ ][^ ] [^ ][^ ][^ ] [ 0123][0-9] [012][0-9]:[0-5][0-9]:[0-6][0-9] [A-Z][A-Z]* [012][0-9][0-9][0-9]$/OK/'` ++dt=`echo "$dt" | sed 's/^[^ ][^ ][^ ] [^ ][^ ][^ ] [ 0123][0-9] [012][0-9]:[0-5][0-9]:[0-6][0-9] -[0-9][0-9]* [012][0-9][0-9][0-9]$/OK/'` + test x"$dt" = x"OK" + + dt=`busybox date -d 1:2` diff --git a/srcpkgs/busybox/template b/srcpkgs/busybox/template new file mode 100644 index 0000000..ab57a96 --- /dev/null +++ b/srcpkgs/busybox/template @@ -0,0 +1,128 @@ +# Template file for 'busybox' +pkgname=busybox +version=1.36.1 +revision=1 +hostmakedepends="perl" +checkdepends="tar which zip" +short_desc="Swiss Army Knife of Embedded Linux" +maintainer="Cameron Nemo " +license="GPL-2.0-only" +homepage="https://www.busybox.net" +distfiles="${homepage}/downloads/busybox-${version}.tar.bz2" +checksum=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 + +_alternatives_core=" + ash:ash:/usr/bin/busybox + awk:awk:/usr/bin/busybox + hostname:hostname:/usr/bin/busybox + sh:sh:/usr/bin/busybox + vi:vi:/usr/bin/busybox + logger:logger:/usr/bin/busybox" + +_alternatives=" + ${_alternatives_core} + ntpd:ntpd:/usr/bin/busybox + ntpd:ntpd:/etc/sv/busybox-ntpd" + +alternatives="${_alternatives}" +register_shell="/usr/bin/ash" + +_patch_config() { + local t="$1" + shift + while [ "$1" ]; do + local p="$1" + shift + echo "Applying $p..." + patch "${t}/.config" <"${FILESDIR}/dotconfig.d/${p}.patch" + done +} + +do_configure() { + mkdir -p src + mv * src || true + + local t + for t in busybox busybox-static busybox-core busybox-huge; do + mkdir -p $t + cp -f ${FILESDIR}/dotconfig ${t}/.config + + case "$XBPS_TARGET_MACHINE" in + *-musl) vsed -i -e /CONFIG_FEATURE_VI_REGEX_SEARCH/s/y/n/ \ + ${t}/.config;; + esac + + if [ "$CROSS_BUILD" ]; then + vsed -i -e \ + "s,\(CONFIG_CROSS_COMPILER_PREFIX\).*,\1=\"${XBPS_CROSS_TRIPLET}-\",g" \ + ${t}/.config + fi + done + + _patch_config busybox udhcpc ntpd + _patch_config busybox-static udhcpc ntpd static + _patch_config busybox-huge udhcpc ntpd httpd mdev sysklogd huge + + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" KBUILD_SRC="${wrksrc}/src" -f "${wrksrc}/src/Makefile" oldconfig + make -C "${t}" KBUILD_SRC="${wrksrc}/src" -f "${wrksrc}/src/Makefile" prepare "${makejobs}" + done + + if [ "$SOURCE_DATE_EPOCH" ]; then + # rewrite date with the one from the date wrapper. + d=$(date +"%F %T %Z") + sed -i "s/\(#define AUTOCONF_TIMESTAMP\).*/\1 \"$d\"/" */include/autoconf.h + fi +} + +do_build() { + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" SKIP_STRIP=y "${makejobs}" + done +} + +do_check() { + for t in busybox-core busybox busybox-static busybox-huge; do + make -C "${t}" "${makejobs}" \ + SKIP_KNOWN_BUGS=yes SKIP_INTERNET_TESTS=yes \ + check + done +} + +do_install() { + vbin busybox/busybox_unstripped busybox + vman busybox/docs/busybox.1 + vsv busybox-ntpd +} + +busybox-core_package() { + short_desc+=" (essential applets)" + conflicts="busybox>=0 busybox-huge>=0" + alternatives="${_alternatives_core}" + register_shell="/usr/bin/ash" + pkg_install() { + vbin busybox-core/busybox_unstripped busybox + vman busybox-core/docs/busybox.1 + } +} + +busybox-static_package() { + short_desc+=" (statically linked)" + pkg_install() { + vbin busybox-static/busybox busybox.static + } +} + +busybox-huge_package() { + short_desc+=" (extra applets)" + conflicts="busybox>=0 busybox-core>=0" + alternatives="${_alternatives}" + register_shell="/usr/bin/ash" + pkg_install() { + vbin busybox-huge/busybox_unstripped busybox + vman busybox-huge/docs/busybox.1 + vsv busybox-ntpd + vsv busybox-syslogd + vsv busybox-klogd + } +} diff --git a/srcpkgs/busybox/update b/srcpkgs/busybox/update new file mode 100644 index 0000000..791aa2a --- /dev/null +++ b/srcpkgs/busybox/update @@ -0,0 +1 @@ +ignore="*.0" diff --git a/srcpkgs/evolution-artwork/files/evolution-logo.png b/srcpkgs/evolution-artwork/files/evolution-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bd20dc35332245bc2415735529305d0a57bcc264 GIT binary patch literal 13569 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 + diff --git a/srcpkgs/evolution-artwork/files/evolution-transparent.png b/srcpkgs/evolution-artwork/files/evolution-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a994d676575cec94ccecd5fa77197993139d0f GIT binary patch literal 17298 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/dev/null; then + echo "Please install librsvg-utils" + exit 1 +fi + +[ -d "./icons" ] && rm -r ./icons +mkdir ./icons + +RESOLUTIONS="16 22 32 48 64 128 256 512" + +for res in $RESOLUTIONS; do + # at low resolutions, the text is too small to read, so the text is left out + if [ "$res" -lt 64 ]; then + rsvg-convert evolution-logo.svg --keep-aspect-ratio --width $res -o ./icons/evolution-logo-$res.png + else + rsvg-convert evolution-logo.svg --keep-aspect-ratio --width $res -o ./icons/evolution-logo-$res.png + fi + rsvg-convert evolution-logo.svg --keep-aspect-ratio --width $res -o ./icons/evolution-logo-notext-$res.png +done + +# scalable +rsvg-convert evolution-logo.svg --format svg -o ./icons/evolution-logo.svg +rsvg-convert evolution-logo.svg --format svg -o ./icons/evolution-logo-notext.svg + diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo-128.png b/srcpkgs/evolution-artwork/files/icons/evolution-logo-128.png new file mode 100644 index 0000000000000000000000000000000000000000..fa4b2a856759af3b0c1fbbda9058d7505be2b9a2 GIT binary patch literal 7161 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 B%f0{r literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo-256.png b/srcpkgs/evolution-artwork/files/icons/evolution-logo-256.png new file mode 100644 index 0000000000000000000000000000000000000000..071f46da5ffe4deaf660905d0672405545408715 GIT binary patch literal 14984 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

d*vxzL8EY ztxRr$>NQsyET(INjk$B>6I*#VyE4@uD!|_N6(S+h+konGFHcWnu+{S8)xf5f;M2~D z%ASe|fhgkIKLG;Iz)QLmIlNv>q+h%FHrCPA3E%6Qr!#zmj9+99m0WQ5|AHhw2H^{CY^+{moe@KV>4}}MiNFw-`xdn?eA;9GYEeA z{6X?qNX4nWdzNn04URtmTkJgfxIvgS81;y^4Nv*rCzfka#`owiYD{DZ{pjQ$1xWJl z%1iI2+;^JdTztRGyfF~680)z2RMJ z=XBX#!ObJjQ}@YUu+jPS~|Md^))r8Kdn~f?e0Aj0Qh zt6zOgQhV?ulOlkmzflNiCm=2uj&4F&*t}C|UN&#H1!M zZg_ph>*nHc8$;z9vZCgHyLf$1wnggTl~k_!-(8KmdMbcGii(K*#<)6vi1a^%u63O6xY%Ht;`PL&2 zqE|oatd^w-F=oiEEj#AFDgVe2cfBhqc#a*s(If;S9lILSQ?QL*@5sbqXlNa4qo>QA zSyA9xc03r#D(eGoG0!S1JMFM4`wqq`B_FvF(a?^&d7}W$MCIp*M-rAg&>Uzyulc?z#~LMV?&5sSX!$!jUy`Z zEmGYSXYclWAt)|QK8_}l8i&;lTzeg42kZM`gS`S93()#Mw6wI$JT$oK+|TZ433wBl zjI0-x3br zJn+Trc+mM*n>EUb0ksh3u@G=B3tfyd-V@a%FVxEF2m7<`QY)6%1V(3^&;{#Dw&0JYl(w)r)vTVp3h_F zuqR)0B}V-vBp~SBM8p4_fZ^k8$SrFDL2$DXA&)bDiP@H|X|Rs{i)F+E6q6B8^fyL@ z!LROM(?b>PgEOe-=AhQF2mNnAx~?sVekMpQkXuU&foC}XAdMp>;=WYyp!nh`tt1aM z0Q_sAGov{H%u2b=RrkxH;^HXou4_3ClXuV4r9r--E^io4+F)?nVX<0JR6}Vy(i?ev zF9r)F^I`u47XYC%*er7;QxX9p{j{=^k~%d~1R3=xIErLoWGD&H``=dD_RQnwz|H2k z0bwmg^nrmlgnk9G*Qbw%4Rj3MevAAoX)2 zPvxDndgzW);vh(;TnDXj=lnYK^zAS1}3O4o+g);e~5ptfr7Nfhp!-P&xjM zn*UG?@pC=^_}3-QBC(-I=he%o85r=JR)3jUbr*<9dY-uRxv{u-J0C=}+AJX)&+NNx zTVGQ=t#c+a?1Ek3H$++XjQ2|ZfV6jW zFj-|r1=x4r-vhq63*x|E-AXKQft}cj%^eU5}vu&8^lE>nWsAEx!BIli39+_WvQVaVVu}C1rP^c9|}bp=7;6EfcU1G6G{l(lRo3J(RzYn-9D$MXwTga`P^% zpRZ(nr%hK7Rt0tP_3Kx#__q#$$y%|}fnlqtsOaa~>S|XYOAefTv&Hw&Mh}F+5ojDD z&rC3@1QxFMd_do_X=PwBrgt&m1AESdA7WAHm$Qpv$Cb4B3`{G z6n>tr-k_Il^YMsjN={zIOv9VN4(*^S!<2RrJ_ z9CSy%AH<`NP6y<+tKjx3xM zkuir8EWa&&=xj!yDNM@;)<`|#)3V=-7AmmtQ@sN#|6Wo;Lavg+H^&LUpnq;_>wP|$ zkX@6kLPP^wnOk3{5Lqnr%c>VfRxnuPElBbmH z`1ts(VX^3G!~n|1+Sl3HdF88K;e5~FlkA?r$~x+QCzJ3yQjVuPseTzfjM2N{PeCgL zB>kS8yvIN@v;VYi_4D%!FfcIaqvv%+ebPSMoI(BAnVA`1Hy;|}0)X>;lcd^Mbp+s#iF%-ZW&(hbnjI(Xi zIW49xWCHJhC$%@-H1_`0z7Dpne45c>R|)`a1)3R0&SEp#X_p@ABl|CEOndqV2DHJ3 zCqE}!{R*NIfovTe8}n#rY`iA2FZ(#q35LOgDz(69b~UKfp%>d-?m}BDfLQ;fC6zP| zMW8@PCaZkn1Q>qsn}tp_JcXV`FRkczXV~)euO(44(k$%NKLxtzCQq zLfA(K@5v6eZ?Kr4i|^Flq;)irqfuMi+mnzBS~O+f3#5?H{!|Di{_89)hqR(1cS`F_ zR{ME58JXEX6BCA@7R&+X!`I)Rr%yFJL*5-+7fQ5^nh}iXHSn}xv0V7gnG7~jf*$7o z<_7j7H?m2($|`)VDvf_qP*E`n2@2MllukH72Dz}8NzEtE&6<3lfUj5iBsPT0O^F?Y zQ}ru^GN-?jASq`!Q{8w$PbW!lO7{HPnyApI^o$JZt%f^oK<+*48XKyp99TGZ88@)H z^>bigpwhH-0AlxUzpZD`6&&*+2XWs=usni2Kzklny&~(c~E}Vd5igX)ryy=r*%C?e)#YgM98GL<%Qr5h%Qkx%9 z4}b{5PKoV9-*6Cp{svLP3t;~tnW}Nmd*;rh)@$<$JH{cMi>D27vQf3{N&kj1z*0hf zbe?}!+P(abS8`Hno|xU3A;Ov<= z$i?Y?`0$}t`Q%gfuVJvC@N=yViD1N5**g~S>OI_6Bxy2r;YXTi8oV&Mz z2Ty^AJP#0^plC3`-i^`Aro(P8rAQ&jckCmHqtByr<8Q;mUxS``c(!00vZ4KWSsWY& zg1~0Gxo~4B&@_LV{5 zB82o!dTE0c=AQE|00(*$A79|VBvJCGXv?;p^$<)0`&}!gq1Y8~&R_2QX?_RVXH?{4 zgC`3jZ~ySK)Y4VWSUZFv+K6h6~4({39h z(h~j`2(3&BK@kIw_0@Gor04C2F$e9*H_hF0z@Gk$WH$KkSO}!cT!U9sQ4u)p$C)=i z*hHt$ZO3MBUtRmL>(XPrskF2-6fEn%)ZOs6c)2&v@aCtO~MtH&p*+P-GUy#bwmACOBFOpj5P!%ap7_{vQekFL3|> literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo-32.png b/srcpkgs/evolution-artwork/files/icons/evolution-logo-32.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd85580dd08b78eb84373b79b93fca17449947c GIT binary patch literal 1491 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 B%f0{r literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-256.png b/srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-256.png new file mode 100644 index 0000000000000000000000000000000000000000..071f46da5ffe4deaf660905d0672405545408715 GIT binary patch literal 14984 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

d*vxzL8EY ztxRr$>NQsyET(INjk$B>6I*#VyE4@uD!|_N6(S+h+konGFHcWnu+{S8)xf5f;M2~D z%ASe|fhgkIKLG;Iz)QLmIlNv>q+h%FHrCPA3E%6Qr!#zmj9+99m0WQ5|AHhw2H^{CY^+{moe@KV>4}}MiNFw-`xdn?eA;9GYEeA z{6X?qNX4nWdzNn04URtmTkJgfxIvgS81;y^4Nv*rCzfka#`owiYD{DZ{pjQ$1xWJl z%1iI2+;^JdTztRGyfF~680)z2RMJ z=XBX#!ObJjQ}@YUu+jPS~|Md^))r8Kdn~f?e0Aj0Qh zt6zOgQhV?ulOlkmzflNiCm=2uj&4F&*t}C|UN&#H1!M zZg_ph>*nHc8$;z9vZCgHyLf$1wnggTl~k_!-(8KmdMbcGii(K*#<)6vi1a^%u63O6xY%Ht;`PL&2 zqE|oatd^w-F=oiEEj#AFDgVe2cfBhqc#a*s(If;S9lILSQ?QL*@5sbqXlNa4qo>QA zSyA9xc03r#D(eGoG0!S1JMFM4`wqq`B_FvF(a?^&d7}W$MCIp*M-rAg&>Uzyulc?z#~LMV?&5sSX!$!jUy`Z zEmGYSXYclWAt)|QK8_}l8i&;lTzeg42kZM`gS`S93()#Mw6wI$JT$oK+|TZ433wBl zjI0-x3br zJn+Trc+mM*n>EUb0ksh3u@G=B3tfyd-V@a%FVxEF2m7<`QY)6%1V(3^&;{#Dw&0JYl(w)r)vTVp3h_F zuqR)0B}V-vBp~SBM8p4_fZ^k8$SrFDL2$DXA&)bDiP@H|X|Rs{i)F+E6q6B8^fyL@ z!LROM(?b>PgEOe-=AhQF2mNnAx~?sVekMpQkXuU&foC}XAdMp>;=WYyp!nh`tt1aM z0Q_sAGov{H%u2b=RrkxH;^HXou4_3ClXuV4r9r--E^io4+F)?nVX<0JR6}Vy(i?ev zF9r)F^I`u47XYC%*er7;QxX9p{j{=^k~%d~1R3=xIErLoWGD&H``=dD_RQnwz|H2k z0bwmg^nrmlgnk9G*Qbw%4Rj3MevAAoX)2 zPvxDndgzW);vh(;TnDXj=lnYK^zAS1}3O4o+g);e~5ptfr7Nfhp!-P&xjM zn*UG?@pC=^_}3-QBC(-I=he%o85r=JR)3jUbr*<9dY-uRxv{u-J0C=}+AJX)&+NNx zTVGQ=t#c+a?1Ek3H$++XjQ2|ZfV6jW zFj-|r1=x4r-vhq63*x|E-AXKQft}cj%^eU5}vu&8^lE>nWsAEx!BIli39+_WvQVaVVu}C1rP^c9|}bp=7;6EfcU1G6G{l(lRo3J(RzYn-9D$MXwTga`P^% zpRZ(nr%hK7Rt0tP_3Kx#__q#$$y%|}fnlqtsOaa~>S|XYOAefTv&Hw&Mh}F+5ojDD z&rC3@1QxFMd_do_X=PwBrgt&m1AESdA7WAHm$Qpv$Cb4B3`{G z6n>tr-k_Il^YMsjN={zIOv9VN4(*^S!<2RrJ_ z9CSy%AH<`NP6y<+tKjx3xM zkuir8EWa&&=xj!yDNM@;)<`|#)3V=-7AmmtQ@sN#|6Wo;Lavg+H^&LUpnq;_>wP|$ zkX@6kLPP^wnOk3{5Lqnr%c>VfRxnuPElBbmH z`1ts(VX^3G!~n|1+Sl3HdF88K;e5~FlkA?r$~x+QCzJ3yQjVuPseTzfjM2N{PeCgL zB>kS8yvIN@v;VYi_4D%!FfcIaqvv%+ebPSMoI(BAnVA`1Hy;|}0)X>;lcd^Mbp+s#iF%-ZW&(hbnjI(Xi zIW49xWCHJhC$%@-H1_`0z7Dpne45c>R|)`a1)3R0&SEp#X_p@ABl|CEOndqV2DHJ3 zCqE}!{R*NIfovTe8}n#rY`iA2FZ(#q35LOgDz(69b~UKfp%>d-?m}BDfLQ;fC6zP| zMW8@PCaZkn1Q>qsn}tp_JcXV`FRkczXV~)euO(44(k$%NKLxtzCQq zLfA(K@5v6eZ?Kr4i|^Flq;)irqfuMi+mnzBS~O+f3#5?H{!|Di{_89)hqR(1cS`F_ zR{ME58JXEX6BCA@7R&+X!`I)Rr%yFJL*5-+7fQ5^nh}iXHSn}xv0V7gnG7~jf*$7o z<_7j7H?m2($|`)VDvf_qP*E`n2@2MllukH72Dz}8NzEtE&6<3lfUj5iBsPT0O^F?Y zQ}ru^GN-?jASq`!Q{8w$PbW!lO7{HPnyApI^o$JZt%f^oK<+*48XKyp99TGZ88@)H z^>bigpwhH-0AlxUzpZD`6&&*+2XWs=usni2Kzklny&~(c~E}Vd5igX)ryy=r*%C?e)#YgM98GL<%Qr5h%Qkx%9 z4}b{5PKoV9-*6Cp{svLP3t;~tnW}Nmd*;rh)@$<$JH{cMi>D27vQf3{N&kj1z*0hf zbe?}!+P(abS8`Hno|xU3A;Ov<= z$i?Y?`0$}t`Q%gfuVJvC@N=yViD1N5**g~S>OI_6Bxy2r;YXTi8oV&Mz z2Ty^AJP#0^plC3`-i^`Aro(P8rAQ&jckCmHqtByr<8Q;mUxS``c(!00vZ4KWSsWY& zg1~0Gxo~4B&@_LV{5 zB82o!dTE0c=AQE|00(*$A79|VBvJCGXv?;p^$<)0`&}!gq1Y8~&R_2QX?_RVXH?{4 zgC`3jZ~ySK)Y4VWSUZFv+K6h6~4({39h z(h~j`2(3&BK@kIw_0@Gor04C2F$e9*H_hF0z@Gk$WH$KkSO}!cT!U9sQ4u)p$C)=i z*hHt$ZO3MBUtRmL>(XPrskF2-6fEn%)ZOs6c)2&v@aCtO~MtH&p*+P-GUy#bwmACOBFOpj5P!%ap7_{vQekFL3|> literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-32.png b/srcpkgs/evolution-artwork/files/icons/evolution-logo-notext-32.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd85580dd08b78eb84373b79b93fca17449947c GIT binary patch literal 1491 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcpkgs/evolution-artwork/files/icons/evolution-logo.svg b/srcpkgs/evolution-artwork/files/icons/evolution-logo.svg new file mode 100644 index 0000000..d82fe8f --- /dev/null +++ b/srcpkgs/evolution-artwork/files/icons/evolution-logo.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcpkgs/evolution-artwork/files/oldsplash.png b/srcpkgs/evolution-artwork/files/oldsplash.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d7721a01d301e8a68ab851e24ffca5adb5aaaf GIT binary patch literal 9930 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 /etc/rc.local + rm -rf /var/service/agetty-tty5 + sed -i '/ctrl_interface_group=.*$/d' /etc/wpa_supplicant/wpa_supplicant.conf + if [ -d /etc/runit/runsvdir/default/wpa_supplicant ]; then + : + else + ln -s /etc/sv/wpa_supplicant /etc/runit/runsvdir/default/wpa_supplicant + fi + if [ -d /etc/runit/runsvdir/default/dhcpcd ]; then + : + else + ln -s /etc/sv/dhcpcd /etc/runit/runsvdir/default/dhcpcd + fi +esac diff --git a/srcpkgs/evolution-desktop/INSTALL.msg b/srcpkgs/evolution-desktop/INSTALL.msg new file mode 100644 index 0000000..e39dc17 --- /dev/null +++ b/srcpkgs/evolution-desktop/INSTALL.msg @@ -0,0 +1,7 @@ +--------------------------------------------------------------------------------- + +Evolution Desktop: + + A reboot is required for changes to take effect. Please reboot your computer. + +--------------------------------------------------------------------------------- diff --git a/srcpkgs/evolution-desktop/files/bin/Wayfire b/srcpkgs/evolution-desktop/files/bin/Wayfire new file mode 100755 index 0000000..aa3ec39 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/bin/Wayfire @@ -0,0 +1,21 @@ +if [[ -x ~/.config ]]; then + : +else + mkdir ~/.config +fi +if [[ -x ~/.config/wayfire.ini ]]; then + : +else + cp /usr/share/wayfire/wayfire.ini ~/.config/wayfire.ini +fi +if [[ -x ~/.config/wf-shell.ini ]]; then + : +else + cp /usr/share/wayfire/wf-shell.ini ~/.config/wf-shell.ini +fi +if [[ -x ~/.config/dconf ]]; then + : +else + cp -r /usr/share/wayfire/dconf ~/.config/ +fi +bash /bin/startsession diff --git a/srcpkgs/evolution-desktop/files/bin/audioctl b/srcpkgs/evolution-desktop/files/bin/audioctl new file mode 100755 index 0000000..5ec075f --- /dev/null +++ b/srcpkgs/evolution-desktop/files/bin/audioctl @@ -0,0 +1,16 @@ +#!/bin/bash +pactl set-sink-mute @DEFAULT_SINK@ 0 +if [ "$1" = "up" ]; then + if [ "$(pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,')" = "100" ]; then + exit + else + pactl set-sink-volume @DEFAULT_SINK@ +$2% + fi +elif [ "$1" = "down" ]; then + pactl set-sink-volume @DEFAULT_SINK@ -$2% + if [ "$(pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,')" = "0" ]; then + pactl set-sink-mute @DEFAULT_SINK@ 1 + else + pactl set-sink-mute @DEFAULT_SINK@ 0 + fi +fi diff --git a/srcpkgs/evolution-desktop/files/bin/startlogin b/srcpkgs/evolution-desktop/files/bin/startlogin new file mode 100755 index 0000000..5c2aef3 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/bin/startlogin @@ -0,0 +1,3 @@ +wf-background & +loadspinner "Logging in..." 20 0 & +gtkgreet & diff --git a/srcpkgs/evolution-desktop/files/bin/startsession b/srcpkgs/evolution-desktop/files/bin/startsession new file mode 100755 index 0000000..cb7b982 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/bin/startsession @@ -0,0 +1,23 @@ +#!/bin/bash + +# Session stuff +export XDG_RUNTIME_DIR=/run/user/$(id -u) +export XDG_SESSION_TYPE=wayland +export XDG_SESSION_DESKTOP=wayfire +export XDG_CURRENT_DESKTOP=wayfire + +# Wayland stuff +export MOZ_ENABLE_WAYLAND=1 +export SDL_VIDEODRIVER=wayland +export _JAVA_AWT_WM_NONREPARENTING=1 + +pidof wayfire &>/dev/null +if [ "$?" = "0" ]; then + killall wayfire +fi +if [ "$1" = "" ]; then + dbus-run-session wayfire &>/dev/null +else + dbus-run-session $* &>/dev/null +fi + diff --git a/srcpkgs/evolution-desktop/files/etc/greetd/config.toml b/srcpkgs/evolution-desktop/files/etc/greetd/config.toml new file mode 100644 index 0000000..235324f --- /dev/null +++ b/srcpkgs/evolution-desktop/files/etc/greetd/config.toml @@ -0,0 +1,18 @@ +[terminal] +# The VT to run the greeter on. Can be "next", "current" or a number +# designating the VT. +vt = 5 + +# The default session, also known as the greeter. +[default_session] + +# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh` +# with whatever you want started, such as `sway`. +# command = "startsession cage -d -s -- gtkgreet -s /usr/share/themes/Adwaita-dark/gtk-3.0/gtk.css" + +command = "startsession wayfire" + +# The user to run the command as. The privileges this user must have depends +# on the greeter. A graphical greeter may for example require the user to be +# in the `video` group. +user = "greeter" diff --git a/srcpkgs/evolution-desktop/files/etc/greetd/environments b/srcpkgs/evolution-desktop/files/etc/greetd/environments new file mode 100644 index 0000000..bd559ac --- /dev/null +++ b/srcpkgs/evolution-desktop/files/etc/greetd/environments @@ -0,0 +1,2 @@ +Wayfire +TTY diff --git a/srcpkgs/evolution-desktop/files/etc/greetd/wallpaper.png b/srcpkgs/evolution-desktop/files/etc/greetd/wallpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..0c2e3ba2e5f0f45460aa6d00c096b9043ae6bbd7 GIT binary patch literal 1756108 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%0A};j!j^JeJWBl^?~F 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%0D54;%!s1{i!9{8uZMHB< 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

=wv|H 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

$*N^7KqtT!`zq>5)T%=cX;;vc|#kt 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•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

fn7 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

iO(nOq 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

Z{CPV*_9 zmsG>YOkpBMZ4#m0*{aan6q?>04tx`6sSZl)XzKiNn3BOUT5BKchG1HwY{DtaGKFF!LW_^hx;QiK(*|`>lyjHu(&GPPU;*gDF zA>*#mUA)$~#~43fIMmNPm@v7@GfzH{coxY;XG|d9%~m-;R@zDo=ctg!CZOztwJ~pJ z#c1m~+vfU=i!S>Nu@+{PM9#}}(O{R2mM*)1 zYof!sJLSeHSIX>iWpaY7W{-&+M=H#mHDY?6F_1)f!{sY|`t2p~kcglDVz+c0~itsDVY&CW% zc;~60wJU9^jO3Mkd?gOpf|byZo)w+hJbn0}(bJ?jY9ii4uAP8|qFp*y*i$xqE!pO~ zx@L70$Hd{l-a?W+U!XcczXra>KRwqvD4caD&*rl8?5is=KB;FaM&`EoX6TpP{3zC}Mm2E{WKOx_9KY#~504%Mj=vE2qjC3Pt??C2<(Q}<_ zJ-A>ueu^OR37^b6HJVP4;?UPiSA3Oy{?7bmruQi3Gndorvnp#58`x&w`+K_cBL7p) zrvPwK=E@8eVeH_{9ppZsj$pq5%Cb5h)3dN;e5J7V zdUR7L>1AKDb-$U@C?X%e9OUQc0dSpiSawIFLjsB5QHb%)igkHFk(WBq8C=i&e)WLF zDyk{=C6y7K$mR7}^&~-Y4+H_>JmC z+yq2{?~U1Z#O{w6e6})iweU?`0@R-%+4@Rly+b+M{o{Ai@U0R~_Wn8u10L%V2rz>} zycAo0+S4imSy1&!J*VD|Wc8g-^18g6^St`m1H0~ktrH*xOhD0)dgLQrC;lCGg!*)K znj7WP3x&S;vE7EDo2R#IQilf{c1Md0i7jCzz=jyeC#B zX&8n6G1*wE#t#nhaMg?>EyiGW@UyxeIfpK=Y&<`vt@964V_p7#<>LQ-5m`QNWQ)O> z1_Em@XAjDXcgq_Yr!l(aKa=OXkOyj$ew^*I(VaDZ@1;=eG~iA9J-n4>%_Dml zxB0iCFyU;$Ecy6rY$o^hIVj-^cC3~)PD%$y-k0et*@FRhG466?0V-%3ZL!8)&Mdne zcCFtquobrVCvmsO(o4YzEuo8yz!vh_jZG3t$(uTFXq)8D6xfsJqb^gjYY+u;GXx1O z+ki!+`3l(tMI5Ecc|L^CzXH(gk&DsD!-W|6fc$8Fx(i)4G5nc_8HPpaQ%+G^=>b8( zAHJ~5kYm1+qPV?lEp+I%{60PXLoMgPr4Q0qm*PpRENY9|(2wikn2qv}kDCkouuT1@ z-aW^hBZt=p_gk^|G|+Z#D#D6!2n1#-V%Q&8G=ZHewpfRL(d~H?;s?Pm)A&4tTcf+H zwQ*Udv7m~ZaKNJ6IqDAhCmya{4#J1eEXC=3*NqmZ!?orgGtMTJ+LR=xtw<5GxgMcn zJ@J3qp0FoV$kbw9hO$j8@D6I(zBG-Xh(Ffbh4Jl<4=m#;^xO?9;zk4itj4}?N8L@r zUifL}tyAZq4(wG+3fkQ_mQe1 zi?G6r76%hIrJS(rTe0LSPCE^clUvOm*O8tLR$MbFXT=vML7*mQsV;Yml#_>y6IA+b z3P>RaM07VoZ85gGWlQyf;Z_9FPC-iLW-58(3TlyXeW;peAMp4y3^#KAUZZhzsPzE9GOxh>vvR)Z30bI z!>njBD#^**%l?x~#*r3r87rEuB4xxK9>1bK>`ctp5#zof3p*`X;M z^mfR?dt|rEb;V#+dMv&&A+v+4#lo}i)|V0>fKMtyp}I+u%`!u1Bq-IK6&HolKbksI zZXdHm^zGwt3SY-Zvb2lvEdY!H62U^94J>l|E3GtYHZCX;2#qrw~uqH&_ancHh#&yO==5%KL`aTAQ zlK^A_{r3H#C`CDNEmyh@*0mjn1eS>JlQVHI)88ha0|!+A@w61~AT-Oj-n^P5(rCDX z>2heF^xdV5^%S)_L_fY~n5jf7WAC@dh7(S-+-Tw{dMkJ@Dxc@7Qyo(mF)umnbhP`3 zb~gtR)bUFRrU=RQdo#JN?5>f&cX1+-YXlF&?v^mdd?f<7%^lIs*&l?R=`QB0L6C}d z*5QMj~$irYK@z{*vA|`lb-YG%0FH$JxR@<-cC{MezM&0j>r>X?euY*8t-U_L?Fs zhSYcA?OiKDMcF`9I*cv{lDMG2g7+Rm6=%w zCwL7zD@G^y-=(htWr7H);W_4lMXMDn?)*n3_;pNNr_hY7QAWo-inC(MJjIrUbuhIB zbjbFS&HF=FL44`-mye81LHnlrZyJzHDp4`yk23_=OGG;uA|&zg{Ig~&Ka@4g|4LM{ z3j+dU6@OvZ>I4#2jgn3JPP8+d1&R>|*56B?*1Kh`^ zU2-kqAa=qsVKFh7#IRr}g{?(?vX(VGy%Zpf(D;fi<23c>c$f%HwS34PigktL!IOB3 z^zhVo6Lz0yK6dp86Z_~RF+3$WaTRSbI`p61hL?_~H*O7wbUU9VpJvQ_`qHbw`&*9B zJC3p$w#!U?5`AprTn`JIJfu@UvJ}~Q$=}?R-d3i>aon^;-dpTV1yNLehX?c@JHj>h=9jH_78&|pK zeD$BlsjWO(rq>=F@0R&QwHRJFGn+(@sAiy5F}w=ikxFXOUqMmAA`$u$jz_cB$Pvv| zs5WFpuwW`wOlr$K0;VR<@XSnMmkfBBz7kI);7J>cw?>(36X1)H5YuJpA^ zIn32>dzN|yur3w)^{~Z@C%m9?zcYuYfrG7ygS`w#_B@l}whwA*l~ zW{hA)9<~GdsMdC4%>?Pz6>sqUtWfQM4!skmei8~@7Za zw5e#PSaLkB$$yEu+!%rjcJ819@wKmUKCLe6Lz)60KBc9$enGJq*RT_5z7BBkq?|La z-!hYuAL;pI%Klq*^o&Xh1C1T(KfVuQoTI`61CE_m^sY9xd^!V6j!4!@xq~9$W4{`v zsmbH~#=68Pb-BRO;_aiO63sEHQ;S^wh5RuYLUqs7|oD?a{J^GDW zyzs-DC{nhMHUSaXZp#fm=YM*k0L>C(UDD5T?{U;pX>R6W4QoHZsTfTZB627TtJ{8@ zS|0s;b}@e*cM{FJ?;>><&lonS-!coa3)3z#&10Wf%j4n-ddy2CC^9H6E~3Siy8C?_ z&`bP=db+(rxv?4vdJ!L-U*c%+{~tsyQJWPDz)495T^0Lp#82 zBORaaa~-9+h;)2p=J5>-*ZXcs_hD!VgUQcW)@drHgP&@Egy^8cbf3a^cxZJaW*raV zs^Atl@@3niV2D#_4l)1(Yr_D#I>y3A6yBC;oI}nH*`G59t3q9a!-T zZD#c^7{g$8cW!N-4(aa)IU{Bq>C+4#?-JGPcF$TA!HCP{8opP7KLl3SN+~6^xYm0! z8FIS$ev>7q-h?YH>_=dagpt73#k=~m|B)^R&h;KcG%7!YTh?S{bP$z;xRt{S<>9^Rl3rBbc-rFmz~h z{T??zT?EXE;7;}`xxwz%86X$j(jVs2qyWB2kjB|1({*gBPQMaRamkw^t^0I;I2Th1 z=)CLkCtg!Ue(*>d&G0lZFs)11*I>HC=$J3EZK9p4i^@(0 zSqc+)_Uu_|Odu0DF}f8D20Cn0uF_^B`8Z6AjO!?sr-v|?hTqVLOGXXmrev*$Zg}R9 z`4U=v!FdoY)nNJL@l-SP>!Nna$tpzSFYyF9VzH&WDdO^-C|f;8f@X%Ho;GubTxJOX zm+@6&BE$fsck)@Q7oa_9=j3&%I^vLGn==$X^5t-<$W*NzGhA`^HDS9b$(!QsCQD-s zeU43{EFd_%=<|0L%c=LpE1+CIf(;Uu`qr_tsTCa1h32=4a`mbvGk4Oi^O?_ z&D{47?tfbEQ*y{mPz-2M7?tQxMBK#VDc8vcHSD|1<=RczyuNbi7?6+-CY|!0ec>$dF||Ju)YK5ThMEa>R}lH^&9-}12RC5&LXG8DLQEj6NL+BvhPTs!uEa8(2H zEZCF_GOp?mI&+#Lc5BQrKT1$e;@oHAKwWTlKRR1@yb0YS?~0yk|FKk391_(1NB6vL z61iX29D5o&mxUaDArEn2*=>6h#^JgNaLpwO`)F`}Gnd;b&?Z^2+ADCs8|tgujO}3- z{jX_R<5%)5v=K9-I!dL9o&_ZD8w>L>fjM~IFse7FF-+Hnmy3$(%fV!rl0@X&C;O50=@QtOIT&CrY1tOH>!O^5dH3zj^n%n9@ecuX8mfjbZ@NS8|(1ei#U z(JdZXZ}5asq$d=)Nt0yUgJHrq?ej50APf$FEyl(Tllv!XUMnwlbi*&%eTKFX44d;^ z^~0+nwcS!N$%Kx}c&7y+D&8X(w?6B}zxwM>ZqwF!JvUX_=!0cZ8r;oZghd|=a@SD3 zwDA0nTB1YH`WH_m?w+*9DJ=Y$E+c!+|7Wh~_+<-(|4!3U?h6l2xJN`2@2o~;RmtuH zF}*rlo>>CompXi>Xw00@Knwf7PYawE8r_%jy`S3@OssWtYNb zhj5OaHEj*vNc@v{Iekgtx{&yHM-#Sje@<*9>h?BBvp~pX)m~?p*NGpZRwLKODV_DM zl{G*co=nRWIN=>{D7w^Xr8LPhpYxXf!GYG?o~uCW7s&+Oyy)Rwoc4|;$uP%J0Rb1+ zR~$8ZVTSV6aK3z{Pdq1nHIw|MYsfp~Da18N#-`>0_=fm~PDihHU$6rZHPsb~v8HSW zN5QOqWG?%IjTvtlmsnO`laqbqm7zW-h1qgC(BhY>3%f1E;Oj}cnMgOuFe`U_%HgcO zvhc4AkCpRDn$V)dvAgk%!#(WNuoXmL@hAA(CSNFXjDxw5Y-T8<>KGz6rI9aP-p-~V zAw<=jxKyN0jzEgXw=Vq|DZfF_^{djY|0Y9?`Uw}bul|KaMK!s`s%ZQUkm?4+?~JR94#&BnIP#%5#NXxKQ7 z(_qGEY-h&So@=kY_I3U1>^uGrp7+5R_h8ZjS?=H2~H7zD7y@Rs==a)@t8Yz8DI=4{uM# z3%%{h4xHeCW;<$*6jOlBtz1ruQgIP$T0vA;L@ zS-`NA?1PBC?{k6X^Zm}Uw7JIcdWu0ySUDCMG1I=ol*!le0GhJ5!A>+d@-QE57OWlg zr^^8@zef+H3!0rzN=orkC=EZ=sAOcb>88DhMco=)UCU1nwm3AP?D(~Burvu-eEhOr z6}h`o?I!XQF_)>WGuOh{5c)pi>-$WvJGXwJuf46UOfsAnwH@PB;q1J<&3737!TTLp z?ul{puw%T!-B=5(VIy z?bPSPu-X6*w198irWY0!@AT$!LXx4YCHp(|R^?ulQE)@u>TAr^Pk7Kmxlip|8uEclD_XO$mEJ9~-b-JHqDwc%FmSC>A3SiDOC_0B`Z?WJF(ld4 zjXvaYKyYxY-%KmeYdaD>YV|5~Fq_NK%6!`;Kw^QE@khQKo9G$=@~XF8EfzGP1;rYE ze^1Xjc<=DwNNdQcuC1!m&-8vcW`A_s%S<1~2OYwXtSpk{BEkx8Y7Bw@_E`nZv5lvI zSm$~nvmRpahUyz299UEap#T0ckb>ELoa;$sTGqO=<9pgOJRgaP4h5usj#KFllMcrQ z_Z0zPKuq{xxqj_ zpMQT}iF?u``b+>&6kUdhq(s?qp(pj&Yopl<4H4gTb(G>-|8#hmL?h4riE!M!+9lm+ zXdOLGZHSq)}Dw z=I@pDR{Ex(Yd3uj3jJ9{mbF5pw-GN4z5AFo6&kd3FuL`M$fV9+SljO+yZ~6;d;~me zF;i)5_#n-18LC>FH~LeT*D_CchnvexaKYckpTZhNi9A9b;AK~X4^F?-bP_(hAnGY* zkD?KIQtYPSdu0B;*qm|Shg{s#cFIdT*_-O<;=3s>8P>*l$Cx5QaozY^Wh<0eyI(=huAKJ`6V#w@oWa8B(7M9GUh}*lC}I< z{ForE2Cj5J*xG2>Tof;HZS?PGUjfse*`TRe4No)Vvd~4rz zzxmHfsJDuZD~0)mC|hYvBD>mm%F@We&*8*8DAKuwwN}TG96m;BqyRMN&5vU=diBOH z;uJpCe*aZ+djod-tmmoK5$I7&vaGU>F=ed#U5vQQ10J`1-(L?e@IA-I_p#EaXrevh zXCCK!r)>}YG%TQ8Z#a~7i%-XtVZwuy4C`KBZ>IDXgH7gjty+X_x&j~K4?P{*^%%SS z+EqKB=e^Eg$ly!~Fv)Y@1X*K;byE%pgoWyxA$9>|ZJg_XU7xwXfVrhHrjJKD?=k5t z<*mni;{1BtIzyZ~TZy?p+v|M6W~eVo#&{yUH+NyD=~{~<%P3N5KKspjQ9MpOxQb1x z3`NO*cZHK9LkHijr&iJ6M32m57?a_4*CWtgA3nD0@jPYWr{WCiYM2!0j^bC~>O=1i zOt9}-UA2w!bNAiAYskB3pZ@cB{q~(vZTGf=jCR)`Qtb!wH%UXj2Ch(HC~0wC4`^--#3v6Gam%6&jg_-!veaX*6TX5O(>LL|!qRMP3T;>)QRv zZTjd|(fR0^Bim9r3JG&*P~Eza0_MF;kiZk;laC+v(LwRtL>CW#5Mj9DDC|l5R4`<~Hh8;ApSX?RQMGPt%iomsk%{ z&fr%z7Dosi{)>w^U8vA1tO+wnUBsoN1=0cud4d*C=&u?Zg%AfeW>RY1`x(*mjpNw- z+3_&lEB(B6{+`MbP*kNF1(hErImBfcbDtql%(rw>+zs$ivNz}dGKlOblpJ!8x>n_W z>nixt@g=bhpA$)eZ|Y+6WudR@E@ISMa4uKy; zFw0Vozah^JW;<^1T9}X3v^3=zcFCxRS|ph$BP7z;Wk6b?@$E^zjR3DHu(e5Kkh64G z8q&TC`Fu1(KR;h;P~H4u`#i|{JjcgGl9qZJcNpL-*n4^X*L!z-mUa@QUW0CAAkUiM z@$t$st&|&ckU)W#z)62*t8v20@acArDaEI+Aq%g;18zc!CiF4^iuyR z6LGdynRP+fC|BT>6gw@1VG<0DYH~3Q)2A z7%NF-ptP^Z1Qp37=M1#N&C0KkZl&+q`B z84xmP97>f7uYj_3iWdV$;$e`iT)U#bH5**y|8AB3Z|{u&mTrxpHaQD*S0)27#5t%!xBazjjW^PeO5$)?+R*%nsi$=pu2m~vl-lGUzQPEW+(^7ZVoK1&Kj zUGfO-bd1^^g-A)p$G;?Ho|d}kuidpRezp(R0LW1e3!k1an#0%=N6C_4E)s~bLsDv5 z{KpYje;-uwakJor!`jfEJC(OXw9+0i_ zERU2#v_5UV7->Axyz0!240EilwSuT#v8b~+JTj%VSWPCLHbfIo7(^m0R>n@duGc)1 z#7noNq3?GQl?baVJ7}$xbI*923=NAKx;`CN!AfCG#}C+S zURceRtcD|{4+^98cWprvHmW4fq5#@*E~_ zuQxK1Irevf)!=Y_;2TQ8&rId`1?$EY9Y@^< zwg@2$qW%m8d4`?Fakr}sqU-;laOt6&q0n=7c6_5_BL{DVWLD*ggd*`+aIqQ!6d0j` zP6O5_-CA$PnKnP3*KxbvPHe9!`Tf17$}f5>4Lwz(iI_8JaQ^b=a)G9ltDSWTeIs*L zKss?G7Dtk+Uws|yXrvM~Q{MEBTbu)XFZZ*TYRYk&HOH*WIb8kA;f#z#Cxww_wq64L zlq$wnk9KbO!hnDBD6-whd`vKRyBwyW{kc{u0S!)GH_@IPH(r8G>BBvqtsC4+;UK|E zfcFkFLvu^f>To&4x%9ei-gb%Qesj+8*NTG@!t{}kB~XsX*4?><@K_wCRX6gClGRC3XXFoe zxH6@i$4)qMSQ)LEu?|$RcA)|nPzle?$@%wL)`kGyrn+*v4_%Eq@-7OtP-gS_P@Z)R zR~MGF(JrD4RST8<+t=VhabUKqtD1=pE8wps2@7}`bxvM7Y2S&GBq37V&B2a|rd3mi zh8^|%wIYc-`Soid))v{m{9wekFVzlYNJ1thhosEf89{OAYC{R?wXwS=L z(F0lHrk`piVOO@WNF1W4Zdk1k08HFyem(E+%T51(Ex^GeN?#`hFM)7(lP7KjQy^|T z8Tb4YK1RMeUj3UX&NI8h;L(!VRNjfa+k_lpT$r5Ko&wiSTI*U0mVvDbtN-hh+8?Hx?_g%asx$5^LwHp9 zwuU-x$6HqBuiD{cCxv6+bCyY}yS}#%ziWWCwvek&C3{Sb1aYMb3P3E<3O$Y6_{{B8 zJ1YJ&H?SKUoPagHQ$`-F+$!tHm|SIWT~KA|;7%nGr1_a@pZmHhC5Hkt3`nKRv}C=~ zCSRc``0BLt@xJ*1YoA)4z?75El?UQ0U#v{`Bl+6O>5@G0OIw*GnM(Iq8|#;>?boO% zhv15W79-sPEoLbP@y`&zkbKl$HRq51C0HPa(LZ}&kl5@vDM9- zLgF-sa(Box6zdqoB~%L#u{ELzg#3J{sU%jCTg(mYiW5}=y#LXW(ck6@_GA#xz_xZsNKcOy(9+dELWV( zT!+=(tR$DyR7O-R^Czoir~WM&=l+6KqChdWf~Ywt=t?qmI#kP5*m|^5u4LIyJ}i5q}ZzlyGKCWjDM?cc_2NzzZ(r zOk2uidOxG#Z_Q0mqGM9xBkc_=lcU@uJ!aeEapESbI30U-v+(yR%h5dXCT-grll+8f zJvK^jrC}mX|Fg(^cQyYl^!EjrC$*nT$ae@cMOh>-^+uCNAg}Uecq#ygXK(bHS&ic| z(co&%PpTudpfFn7Gf(!`h_$Fmlf@Dwd+qEmQdh)=Ih@_HDSggLxRVKc*fF+sw*#KZ z(6c(-<(TYHx;%9ZYrk{KjqmLsbKd(CiAe#I{?ZRmF;9mB;C3dLyx@#NcjLCTbrrGO z;xo$;hp_}GjekB5Z#jsBN!j3=LnmqB^a%q>(!-eK=v}H3@~=tD|3qpJvDf!;POs)j zQ3NGDRsUZ0#ohUCzpKrzO9=W$6zT2cF+?VTi5|R5e-B>GN((a`8{~l4i?_pPOMaTX zp5a_5>+UlvSYgXnMzROPW_^=DQd88%&f@6s=y$3QpGTS%@rJfab)-3^PaEYy zokJfqhFBMwHsji15Ni^17GA)+(i|%kT6cq*Eb-FMn?D2SJwi&^S?s0ZrDI1w;TvWPv0$oQqESNo)SoQP@=pZ_3~i}Fu|PxTn_}S8o8#7X#&oYR zoz!~QRp zKt!9(FC~*4^w_a5YD!!VgVa3x&z`WqBAMIhn;VK7p)JR`_$e67#>F+%fD;F!J6eJO zzrG~JV$#yF$_FoNqygE2ZU$0n4`ivx7JG0z<}wDaK%H1Lurp{!(oRRf&Q{HI8fzdd zR@i$|o)FEW);}uO^FUtzRY_l!cU@@&ctajF=cH=Dhl zL_DmKLIFU7CP)5VLh1>SMxd@Oy$J$#I8 zHVBw2)~a0#tZrymV^Ut7Uwj0=82SxG%+Y}U%#C2JzTi^A*f1PX+R0QrMWx_2hk$cC zaD0gC-ZzfbC`&R`Q3+JJ60qte13Dn5~!&;GEp8o2ul9Mgy2&)-6N~)2Hsc2kihVc*jz+*NXai zA)WXsqLad6_^DZ?g&Wp_UwGjg%g&1w=8@CS5$SgB#E6;<)uNi*I!0EexgdYTN?!mK zuDQZnP!z2VXwF7IX%QbgaR!x?oV||_u+FoKZ0LX&Y%9OfmRT0H!Pla$97!$D^V8Kr z*P;Wyfqjf;R#pO=QW9HaCp061Y_TV4;Yq71I?B|spQ_|KxEKSs>AS6#o#H~gHsw@& z%<=j|ZsA&~c~@^7y8aQG2<)yebGd1ULA`N-@-sZII>!7rHz9}2$gNyU3QVz3>~2E- zVMj2SB+~f6Pw?jYIH|D~nTQ|5@y~MDgF_x~byeuCw;NTcu=WjpiNS_ZyYW_@34xHmAt=j_Dw*b5ykV9DkEp5L2N@bfvJ*ccOlV}OUYAN2(E5lh^hq#5fx^#D)Lfaiik~(Vs zmIFEmgaJDm@h}p<+PEiQ+oBSlxvJS1asrH)`Kp0fHZ_*Dgrh83eXT}dsi$ZTu9D%^;2M=5l5252?o&>f zh3;ZQOOwW!`EB4ZDAfUtwE0*#sW`hM@l0&XOp~`wD z@|XeA6_t-7PF<#Uv{iM0JXM1(Oy=XH7FtWY`jnZKdYqBOZ~PY}snEj&&LsF|xSW9J0iuFm?cIq;|B>gpQ_VGh?z?y+ z+n%qJfaI=e!UfXxiXGmBVEpF-%5ssI@&&K1UC8B;tjbmYx*7?IgTb#PP3dgiIKi%V z$HG?Y^@a#U^ca&F7Z&f2`5zdLhUS6+4`|vNJ6Trh(dVHrqkckHuvY&2bLIV~ot|BO zn4;)akb$&+yclyc;BCk-0|j(?`DH9&_$;J6U!S-cC|M-#wgnV*Gad`)-ZTB!F;RY1 z@sy5ZhG{TjL_cv#BzW)MAnfMC$Mjz7OEQ?+QPf)sV3nKrvmS+?&Fc}XX)flyD zQI#uAKLOV7ZmT>%B%HVQ#Y>{Ld@F?dbmRv+cL262tht<|OH-+`&ZZ>ciKGnj*tguW zvlp|=6fx-@=K<@O(LWWB%Tm!4M5=rh5O|j3q~QRs2qdJab0En&Pr8Zk2MPeyvMN*P zvdc9rVn1xEFA4Nc9J{xb_MXF5dy66e7ryUwSEO?HVn^NuOP66OLLE61&!5lNcD@5* zjU(rkTSgD#%xSYYu`_w)uzR(xog48|(W08dKaX?Qk0AB>C51^@R3e3UCePZY^T!Ft9Q%{Inb$HU183v(JBU}7FtL`~pijplzj6A$fcu!(D&-A4BNh1`1N}V_X zAHIYgYd{=1KFX|S!EbWy81tB19V>RwfUmaGRz7K4Tthw1eqA5QI(LJA&7q{fc=Fe{ z&#a#745Jm7xL@EuX7u~2l*7|&d zPQ+*o3rKBK8StKgQ4TRenfh!j{i{WO9X()NFy}=t4@+eA)v|G{fG_20Rb7wj=2+4E zx0u^_0a|s4Gsso&%%icL@%4m(Fa9d7Ps4jWGX+N}D$)Q-$%QB8#Rf2YHwh$6C#!v z34G7Ll=|31YxnKGe4ZpW47f{Mswah?IZvT{o1QbP$&yo3T zC3(~z>yop5DD(z=u|9kWd>jpYMZ4gcggZHf8(S9@v9_>lX==??r8~U=?V{1-3FcIM z%|gtsa+JF9l>}h{zf^oxDNYk*h{H~{1uRC<%As!%L4bXed_7*Sd&kGVicI->O!Rz* zbD7=hRU8K|VV#~*p^yMQn^l!>RdHyW0?zNvH?P~`uh-?9uVImJ`~6n=|jWe@2JM2nxO&F z)r9+pCXe(A&$JsymkIjIww?Lm z@(R2id!Q3cprL*zT+NVpj^)9Va2B-`kyZHuuVgS|kUJ-DEMlL2hgEqEo%`n6!Acfe z30&UZ&XIX2mi&#p;KW1(#hh`^M$LCu6|GLV#Y_$~y!k27?Jx>+_#1xThvY4^7CKE4 zvRK$7uYy(d5|;LWTF>H4(MwYTQ6lh0q2;MlH!5;yE3X%E{Aotngc~<=>0e?HbLh!7 z9_J0J2i+3r$}(w9Vj~3;bC6W?D7DGo*unP~q@fd)#5w#jl??HFYQm0{>5Jlr#1vV} zhGO$fAlXRTqHs{5PjBcMaS`|Ta4F)EQtR3dX4FB|9B+y4>iei=T)TYDS9^WU(MSH2H~a0SN6q%L z1{x9vvFIAD7~D%rmLL?-(sCE)3C7q-&cXjM<#A6s@H$KMKY;Pb&c}ELX(OQKSu$1U?EvDlJGOT>tTxM0EHlP5IQnK zj{$quq0csKSt2>PvaRP8{)hqP6|V2BlfTaClU6Ni(Z%F)_!WxDmI0O1Su=DgHYwD%@q}3u#(A;) zWd_-%LRsWMG#0_Qhl`*0n8o#oA=A2qww~Pwg@AY{l~9}ayXtlnv|-mSyZbv|%zR;7 zXtfVdt?imlYI9EZXyN)`jK9`}t%@Kl#69l0Y_bE?^_5R|Ml$D4D^mAr$m-|pv5TpT zg=b>{4)YdnUjW94tL=@ox&9&kxUo^)@T-hDptvdw9aKA;6otwmE5y|@bW2e|W#6Kt zWzOjn9(w^L{(Qt$*R8pS;klnqx*}qts)M5Ct+?|ZCjn(OG$*<``AS{<`M~eR7wa5S z!nR_ytcUokNc-ll-6DM^ZWEH{ctQ4b^Ct7(>}u6IOaDOiyv3cWBvU!0Q)jm3bgBCDEtKa0`nlcS zslm1_5fCbOJb{`#OqlQ?UaS^m`et^{NzEWEif1jP?RI-!B=RIAv}SSJV6m0I`75X394KfH8TG!)6L{@x#qiQH|y40;y{up;zva$&tX$Y}KO8ipkC1xCbSz5vmOD^1r+-*l3n)t|Edk z!35pUad@W`{B?1g|LXd}81Xc98JZjCYzx!;*V^2FMK}iu!h6d$gH1fvJ)56oj4eP8 z7DV+96e+c{52E#xOpjnJ1Hv*C4K`rW=0IpSZxbCPJ1tcP6YF4*{hN>8 zYAN(;CtsD=`&r|~`c#~Mx!YkdU%9t250MNIgVHPb*Ebe%&-2|;95n37o~DT;{BAye z5-5EXeE!44f|dY#W!eD6Hu!oiBgCD$cl0?gWwG-(&0)bEOb7HNCj=hD6p!{oJKg;A460U{}C`$RjUOG(Y8M*snMJXmxiL zTL&La8l3au6CK7%1X-!qy470MyH!iWGg1;Vw*G~8A^IG<@~nNjl5u;{+^w<*dR|+O zDHQNIQ1_hKp#PPRSW959HfE91-T7!|3_rkHc8}#-@5W(sdW-1J<@3<;%VAQ#o8gxR)nHhPMa@)>(wIlMYR-B0ImDsINs{leh*e{|@3z71 z`S_^*xZTON`POlL3v*g`rlIpYPLosKvy8pDzQyIaxiK%d8sblfz52t#xxrq*rI?V= zypfRx{p4lFL$dtcb*U4zuiI1h&Q-&l%!r)=XB|VysJ)kBSR6IVsE#G0ZSl%U`ZXr- z&GHrPV=i!<^!+c_ptkf%2JSAmlse&RyGkCNU)6?@3>G!k3REo%!RN8@aW?bSe~MF( zJM+%d08)8*|6DoS6r|EkSuWmyp4?mp_5-MG0lIw^UEUAT^*ufjIL1Qx$L^M6Nps%2 zZ{@goRaf)Sq+?^dtxXrHJ>Vm68h|#ic@F$|kBF9;y_2Q?0 z-IxjhRWH^5Whs0KciSe*6=OCS`UCJF0f(96_%O{M4nOUO4Y2d6b$(4VrDVwMqRo|z z9Aigv++0smg+!TRvaNN?l0!Gj9R~BaUD}27d0b{$i*=zeQgUeY z8_i^S7p#0CO`JP);zSUwy=$^n7wY_F5AVTgAU7!8_hnNM3V!lgW1=d3tKax9a-a8f zw|mXW)}SOktxPb|5XB%vs2m)#p2T6DuqTURaXg{aCtirVbcRn~?johJec3+Fpz5Zm zJ+uMkwQuO{xYGuPDt<{Rgq{v0HM2M^h}V)vyXs@k6UDPAI)5aF-lVLOE5MIYQH!Y% zRSdoSVkA9u#JH+E!g6%9k$b}mbH}UdLe+8ck5V*;j7l|@SsAw=Wl};HEAnPA`w40B z5La<3p)GBLnYZfwg%YtSe2^VAmCvUX?vOwqYOk51F92Jzl0EGaQo`J^3cw zJ$5m}WW8&EM|{EP6UHe@za>nV{rR`h!<33u#1q_dIKpR01P$-Vcx;B=Sr2#VslnP` zdW6TWUZ$dxuL&%Yl{JLEbbAPBi{luu1H6QZ6 zVG_TyJPGQ*XZT5WM{z1=krkdp3QFajmSR7Q0OC2;dzJd7%b*Nso1``V4AIGYA$mQX z2@_m?CGsgYYei|#v=*{ZT0z9H#E^Wn4H#>&Jx8&~59Ia4?db!8@V|F{-T(hS{NEeA zP94V$VP#ha@z7bj*z;#IkLVyge{!{mZR*2J_DSi{6xY(T;a2x~9C|l;6s_`(Bw0o% zCc!%*ah{1JY~&hrQyRsBN9=kP8FHeFgn8ZL?w>RO%F!kx@PYd44hkw! zVUB6Olro5CYB36s0DK5Q36z2jV2^VW!74$^b90?jXIihV**U0LT$!f)h6$~fhoCl` zh556XEm+(oD-(A0UlE0%-0Hgc5+Qyu3UL%Ve}a5yJYa=6#%;Y&Vm2oO4a)+&hth!h zvjh|Cc8A<@0;~Ilpkqrz%cAOfAnWXB63FBy6`w5xnm?SzT@^&m2S3Ia5VO%+A8( zkJ=!0apwQw0-y?vkhgk(PLU!gCuU}{UB_;X7ZD*;a-H!gZ$Tr5%i91;{jiY)LUjqs z%iF?a7xzI%X1Q%=@LF#)5vTDw0cn8t(_@3Hk7ACTgbCH}%xR;fsH|8>a#VX$x4Nt& z*k+imv%YANsp_HQ-@K*9>2P84JJ@kH7H zb&yZwx1_^oTf&H4;t}A@&}meCz2H@{v@iP#>NxlEc8j;HYz!%iOoJtAP_r;C^G)@uH1PDR*Hg2FEbvfHKDi>@L|l6rjp>)x(`BLmgG ztv6Br{uY~@y$|%6e!q<%PKpWR#uot38K)JH~RvaWA6dw7hjLVip{{~ ze^~H3a{t}u-grosVv$0qcbK9FU4pJ&t_ioY$^Gn>Jzfu4^}TPw*RK=z#}jK`QgioW zb#NoUyC%)qwWaV40C`0(L_fU_N{ex)VW=!;Jw*}CLS#s#8ZPqr(9?_#QW|A=Z<6M` z%2@gO;TDiuB3|QZ<_1k6x^!R_iMO`E=OD>w_ZJ@KlhP-=zl8^kt4KI~JS_pPNOhtw zDDZ$VC-)PB&`I>1uk$s}Q(ty}5qZDef3=CT|Lz^&XCgk?kRc!5VpV`5QIB{K=tHYh{^5geqQqcEFyxBGr zCowM%5wi#hcB{)1AW$g8AT{#Lo`TnBRHa!3N2QBxP3c}V{!qcsvCsHig-7dy7&?12 z*O}t&FW?Vygm+T01c<3mT1|IcdSECpfu+h1uyPiPnRtzGELEbh@)6LgbRB4G@o~FL zbgsHYC=iRgdhI;#r`Pqmx*g_WK_6Sl@Jw=X?511YY%r1%>J{OT0~g0KX~Y`pgvNt{ zLCT_b!5nxnPb2$p#zB7WOrbT!-%c{(R9DjH&XFhgyy=-AOyS`w^1mkB5cfc$$52EK zVihA;o|h~ojY1#vkx9ezo=| zleaF0Nn_H_g(#pQMqKymA8Xhp1wBR=wRL8!)(wH|ZxTBxztG`-nsUHn$w5q%-~DVl ztJrd=XnChoRH%LGOL%5lFx2pDn*avkl97px%;przpEAH$lIEn#$C`BA!5F|&j2&@B zHXB(=449JuN#}dF9PAE2A;kfsMXf`mo!HXxI(lu5f2rq)nKo`SCl^;#XTfLPkXAZ$ zE8AimV;)KqjWjWnP3)K?Aa!6Z*K6-z;TvSxHnt>b~jFTtV%VHJAgpO%6RxQfzrC?(h)n z5Z6?|{rMy#N>!8VW8sf8%gG9Dr*l9ZxbC9P)qU;9qL^?q1{E1%DZVVF?BTl;2cUk&ig~rIHz8GsjnpLS9kdVV=>nD;3XmhY zt?T?Aes2s$Z1E5hG9h!@og9GH)Vv-C;f_N)qR;m5(s>L10@KwSLOeZ_7foxVkC*Ro zi{+{5q=L>HNH}c1F-Mif<-y7jS)bxiHnc*Uo=+@d3VgygW^? zJIz#O{Yfjw9v|`N`rEH@B>R;}w78`RKE-m`Z>11Y<^+rwnlqfN8uXR1# zl?|tfSS-jzYZ=S1awq*n9K2$NBy6z&$RZ8+TK5hY{%sZmU;Ed;Qw*NPtJ>NP)xM+- zHk+lrKzy)7zgaT6#w?wQ))-bhp9JalPrBluE6H|ZEwA+Bxe%Z}F5fXJEkn&?hj^Ti<09F&r`QbGRd{-y_L^%;_F`t^I;d7cV9 ze(%2rG#K&3g?^h%5TQPx`>pyC>m3>ZOCM84xX}8!4y`R>h2!MMotTMKJ31 zf7R$}K+n>LCfX-wk8ncKSAU!6qDKC#gF-I-fJPgyr!oP%GsIh}nGAE%W4xYwR?)$o zKVMJf6hC9+`=F^mO{}+DHH__#{MV;E{*-+%7I7~_pNJGH(DwaP&Y^c`{4+G`y&{m< znqrO22TrSq+1!z~+xsRy;Xk!H$;ZX-w!^DLTv7WgLfJ@Lq5LK zWx*C`NFL+>{zitxqay^+O)_wQ& z#mDo-@`p1d;>FsbUk<=h8B?3iUkmI@HqML%5{}bHel3%khF6HwL}ZytOwrWLH$V;E z8Ln77WyZe`Dp!}aM#oy2nAEA7?=Iy0g?GR>tBE*{J^BwGe`+xkdXnhySncn$25eDC zLr-@BEuo3Ok*fd7nt~_7AkFa{`_Hm4B5K1J1S_qnV#LIB`4O=biCFHSM4r%41k>w( zf3^{UlH5@n?SH1)maW9{fV&toJ{Dy~M=~YzuuI z>ZOUYPbGhhd9Iy2r?iAVvH~GMG#(zjkIVExg>Sjjh~)`W?C1RTgjtr!3~TGe8DQw% zfLE#x+WOv}!~OltCv1$>By?{t{}KK#qE=Qa%{3GF^f+ZN;;+w;4m6B{6O%Vt(4Sur zg|RB`4w zxDggT{4vfz*{FGz4y!c%EUBH_+83G@r2K<4Z08t{ibWLSdj9p3F_@dTe=3KNcxZ&d z>@q?k7-_;r{WaVH%0|?F-SL^_&(;@jCzBr7J%)&|mk2mZ5jgzM&Z&aQc1);;NZH@} zg~LN(AtJslE)&WodA4q#Icbo$ja!yuf=5<|+rRI{wqY1&2RVnKUpDKwsb*6UfMWNI z=E>aRo07J>k_6^%%G;Pn)P3GvKy$`K7^Qk*KhNR&9rk3Z13-j`G!fwrr1wHM* z+=1UkiR6DB?Q+}q^14NlfPfaEa!^bg2xq%POg}%Ro2thc3V~(s(GY6gWo>u2Ia*sz zox(cXYIlb}ZXcx?7N$BkhQ$ZBhCL6%pEA^LUi!HWVohDzy)zKpFNYXw^O4jh2j>dJ zV)v}C>$)K1X%>8-r95_U{0zCJ(#NBLIifo=C`4Q|F=?-6>HPKV$HDJl_;y%q1JL^a zR{rtb#W+qb@h;@nz{<;+=|Tbd(u%dvf?WaZ*Dt-EBkS2=omx_sJBwrYW+_!QwJI$x zp6QV+(W1RWn=U{kX4}eJ~J@4<{g6LwD3f5%2>we|zS(R`f8dK-i z`u+l&LY54f2;E=g!&Z!#!p_&=KmU@1U&p{;8w8RAAD?Buo{Cn--_e$;`brE<+Lp;y zlL#;RQta=Y&Xbj-_$%NRXP5lp$T|R7GN7=y$G7M?QTO1W_Gur4ic3TC)jJ|sWt|4J z#@Z|}Vwor6R@O(CJDch;+$YJNVSed^Oh?Z23QlI?`6&<=6_n1%iP%2aHDc>MM8f%e zZT>P=*Zj?)%jTrZzA{uMX)9BHv2*wTuys~ZZG~@_Z;QLTJHed*fl{DA@d7RG?hu?p zDGn_f9D+-rg1cJ@?!_%wpcHo>zM1*Y`exSLovU1&b@HtD+3#=fZ7NS0$;;N)O`1R? zDBhm>OQNPw`}!o_+s}J)ABu+cvz08G&8`>t zJ2pmJr4%C4uQY$!xFFqVvC9~|eWbISXVJTKN zWj~}h^?2Hr_N}DXKg2Hv_@f*C`ghmwV@Tw(JRWn`J3`!TssRnY2$|-8UDfgWyxW=&fgV3td$N?_X1M^?BrUcKZ6f8>8GBt;ng^WRqjXtSD?FjIM|Bz?3XTmG&Ng*cM9(LOqiPHz zEI)jMUuB|;*lL-WWRf9>k{%bG#)q@{SEt|+|Em0Y_$VB~#XYe7)Sl;r+kCClq;ID0 z=vhzzIHOQQr^L7qR$k0xUZ;URK5kiWZ0_b2*xzeM(&Oq2TEvRUUt^M2;yHtTe#>Sj zC*VX2v@ji7FTAbNYpiXZ@=9DOADPj~E^t*2pFObji@Va(!7{CDNNi*cv6~`APVvU_ zD864NJ97_j(bJBnp(9o^5PbO|kh6%YgR(hA)_8YILuvpbUpzwZ`maO|FaTcHPw+F_ z`&I4I${o;B=}YGPH8R8``Y>6;s4C+HO}cu1`ryucQjZlR_O>b~*SyGbG`A z_Z}N`cM>z2sIX0(!}f)x3YKUH$d&otRR)j4`;C^@X@$#+cKBNQN)WCk)%!&4@`Qw~ zUM7VJi&(({mhhv3p&H%Q;A@B`LokDQJL+H2P<&@}nL|G+9cSk*V(p6g(WK8#2xbpH zyQVeuKCw)KAX~{J?ksku6ZaazKyG5n6x1!s%2VhruJ)*|RAEsPA*73v{3LF#{zm(h z{+2U3EWVpEzfinS^%t4QRDdVBP^Ga~?VIVY!ZN9;9H^AhQlc2)pQf=dtT?trr3-f| z+mt|Zp|nsk6UTxrKSK8M8UMqVUf&98D)0?BRdbCGBC;q{_^hcgBV@#iXS6-NaU6HHzspVJm-1H$d4~XD#16;_dm~{@6YY?U-vn^sfB0vTu6TGS~k2 z>jSU*Pa*kLO9s9^g@zdUm>@Ia9oFww6|o0B0U^OR2s5CW_@eDku>H#eHssoDPX&pHP9<$Uy;G?rLphm8wi}uS+z0?UK-Cz!e&iLLH{K7(J3d3 zTu6|K-!sdk5yyLn*Cv}5O|H^IGlU!<&~W`jTi(dvs}`!HN~3_1f!h}DXRtAuv$nx> zq;}X^tTuLX1l`M6iJU51KZtBPtFo{%9tbxc0Ie~R`YjB>cQ$?12tn#z4d_QzUzpp$ zG)#%DfB>3YT<)+y0cVAe`uXxWmWm8CH+~A)n=2gh%?mjeSALB zS@a0O(iC1nOHnJ1?+%4@Km&1ub;~1G!A#!@x7`%obc_;(yy3;+DfCC!-+0 zh0v0K#+u1Ikig(9u*Qgsl9TPq)wADG;(>SDQuO#Cje^9F%aqwC?xKc2K>8)hFb3|< zpK+Sc(BJkQ$>s4tz1&b(=QTkm0y1_UxQ!4zD-N?f{w#rhfOrA(jcFv9Fxu3|or~NV zITl_JUV>@fpI!xP@=eTXELGHry)sZKjDIr*=vnDw(NeRn@r~$3 z5U#M`{0#Y)4DLs5!Pg$rAxze5dLZqXH>n^TYExJ@!IYjhaG+=MOFlU419oI;Ao=Do zqa5Y{=HF1Q=EJ_#wSwO~ht z?mWtZLg}z*|I43I$v*pflqyRNerB({4HBV18EB|P&U1>BTaaWB@A5c+-n3PV+eWAv zt6E1H7-JnFxG~>%7wsuJldmK`d7B|{PnE5TN|z#Y3!>%1diozELx%r1s}%lWk#^rhSnXoRXOzuKXBRK5Vp(4ppmc4@YvVJ|I@s>q;Um7=|k?x%A6Ld{X;E z62xsj(LVgz+7Et*)i=_H4}y5djZ-t_HJ8b+;fh~7MfruJe)qxI92poD)yRF<`HoXH zMp0EIB@5ZPms}z(*Yt}l2Pq3~S_m?OL*CSzS23!}{UD=HUv<#ZYOOgiriK@U71`T+V z?V0Y3Ma8B*MG0ye`yed=H>1#k(U)s(l+R{YclJwTR=(-kWjv5l@`Fa%nZ2M6iIt;Q z=l^}+9bUM>WZFUqj^vuW!d$)`x2N>raZ707mI_dp^%P(q(Z|-~F)5ls7{bdGqNWB00z6SkHf&)Javv?e$AFuQmEX#X2DhaI!NfKcz4OlUl>!(EZ z^aYm(Sqd{#U@=Z+ZRGBFxn~rpJii|04}?76WRX%M@2=gi4epm&R3)sh#;B*a4#}&( z64y3LV4&AnWBnQ^*ij>vGnpO0t(hFCU$+_eg=AbP9d(;Z`kK2 z1W#n@*|Yr!43s5C+)E`p*#(>9SR^h}$}!*IV%5oIy6zdvjeOK>>ap*!kN3$Lz*Qpl z6XI0i6SQC`<;dImGV!zLpCl|@*z^1A*yLY(=T+E_ih6IOs_{w)iY`L@x6~{=VqL=H zi-e!JE?dznnnY2HOr%^^<{R8~(*rH*dIAI$eY0?)HeDV2o-X=2aF42!-e1$-0r@kfk8uK$Q1T_?YOjK4Y}A1bdB zwAY@Gr+Q6$Z1r=z(T$?x>Fh|W6a3tSdpn$}`E=j+bT$_}3_Bb8lk(%jUa?7iqpM## zCkjriKfjOm-p=21Bik&vH$C{6%qT2m96mv=py_eexw z)`k_QB%UTO@+l1)78S9b=r0khz)w@cv8cmhq(%2v8wes_ZIg00W^7FwEhC>xb=H^+ zbwim=eT%rgvy*u|kNu(Lh`9cY$PRwu-YTdv+?8p8MBnXdJrbE;#-|9E%r;?Zm?vfAng^AdC)31L#8UtyE8Iuym26~Sl;*&H; zoI8pa6BPtN)0}*Pb*>W2d2mF~xZs>*ekltqWjf|b1_|%&3q-gHIPc=Uw-We$@AsfR zg!_QQ;iVB_h;yhoiZ%U)!NruJ`+$p0Grb{bXDr@pA*M2SG}qjA`+-TL4VFUeE#V&M zx4v@cOG~ebnCF{pqLNI6u#|b0^T4U$d|1u>lp1^yaJZ84M8h+HQyZhP@Y?!cO^dcr z3R}x9wKRbjv(8A+jta>vYJz7XbDE#z()6eef2~88dO$E)&i`k$#gnblTIwZEk?J5K zQ!&p=6zrEBV-ani2sNSz**(~hBQ5B&H5YG|sK0^(1@Kkl0%;F`VJ(;?z~;ySydDIC zDG@~ym`g9v^8&VWPGn&x8QbCALfuaD%fOt7=Qq8tMu?KV(LayaSk;(L)y$510kVbo z=dIU}_&WNy#l%^CE5?sjxDrRrl7EkW?FhAyINZ>Z+H?k`zPh#GW%WEf{S_o9rB^Ki zYY>et%ut9827L72am|bdReeo;F808m2$J__*HBvqs;#jn!FbWXCYn1)O=P#5e z%|4v0<;a}w;8SS6lfh>A?cKj>1IqlJ4jCIxIBMb6D?g6@8Ww^$(z`?B@DvcPnP(** zgat#b8?*_);1ebDdTPOv$2(CQBf@rA346n)f5b{tz(_TJWL#rsb?_ZcJ8_T2t-_?S;yNwP+pz{9Rsiv>VJdi zIXenQEFE=h@IN(nTB_45ig~rx)C;>fMSCS?X3nP0#HBOjH3i1*q;2&fP6n3v8T_Aq zW6^P!(miKIRyr?zNwPh0OBHe2kvH+V3@Q2d#cLAF=R#`3yp(foKs{$IVtN`cZR z^il+dffPVkK5OOJi1BI4kXb~bLYACPmh=9gh(?=ah7Nwi_!iO9#9%pk`pwn4m@yg1qB7?0>rUOj3X zP8*F?BDh{7-~L!*=Z20P{@9`o^*zD_G-(z^O^e(8MJP*yD;za=b4AG~7u#Zb@-*ouAln$5u zLs;w?;9aT+6O+ttM&)}Oh}~!_T*&WEH@N9R{mRX~x77!NxkxjYF8s{rwEm2p+@KXg zv*f$mZpgk%0~o?PYxk6M9eo%7 zXuW}h4y8JmHV~3(Cl$}`StBplH16>k5xx_s!s7!=y2xB?*uEFY2-P4(F4sz7ul9sK z5m2Xj)ez}qykdu44N+-9a~D#w&>p3wPuPMOH1aM_N}L?;h%~S4HI&{$6X#cE+I@e* zGr<&mPBA_MhZu(tyFqB;1> zaNR;^3!}x^Z|S#;t0L>93&NiQZC&sjM;mE*=@h;cL^)Jlgk%-c>r8SXcxLJECPac^ zHbiMz{hx|Th)2x7B0!-k`?~^Py9`F}0$O~Mvue#_jbz;+aiz~{ z=lx!7>VZE-WI0bJOxom^(EUmXtoAkL`U1RXe-O!U#d!S$ffUzsS~O=Ife(NB59S5O ze^rFJxa=xV-#~kVq-hz#KCkR%PgRgJ<ocM({9I=Fp zygMz_8P=pvFMEyRVJO262!z+y`~lqlF(zYOy==N;N`~gRaGASty8g_Rl=u*UOR1siu4I z@2ClWMJaf5@ME1v5PizZC@to<7%a|EgDgv}CJsTR6)g$~dKhOv%Er+^coz`9KS|Y> z?&DLNl;%G5HG~3#dmx&0&YH>oYv1?>^VrL;Tp4mJqoe=gzghJT)Q3}wi8P55=Q>Rj z4!1^@u`w$TUbji;GY}D{cYB|@6y6Xo(=p?^z?o4$TQQ2E4DUpL#!O^#O_XlPh*2lFx!7iQQK$fq48w55_b-Fp$S4q`Oc*%LV5}|m!K`X=t5u`xtzOf z26Q9})R3J*4Dc~tWL;9-?}(#@XSPQw%o4*DKDk#gg>v}@zWomTYTeu%)Qc9V^Ukit z8I_(q3=v{|Oyyjjj+Y$iC%3#15H67>Np~)0@_5}htPlmJ2shy+_LiRYszZdDx}XjONj9?(9?ijps9Mik%3o3bD=^_eW|aVj+H9J+ zU?*P5>5VhQDxrjh@O4jQzw#t)>tZ#_Y}_BipX%S%SVpT$v{@550g8}~K6TvA36_1TRh=v}?Qm_$=(M_^vxe0gbg z5oc%}S?V3W!h@Lta6ioIUe3-&r~Vzu93|%zx2?Zt!r|ISlmeB%=apbx2Zh@z(tOo9 zPAkJGi|TWHUNK9STABYgZf+J825nd*S6z0?8|bIKddqi{-E@qKf#HdrC_>gnx_-nG(ddzt4tp*@>pu3(e1a zV|ByV-OE5c7Ro=^Oog{6X24@*!!FFh8AVI7V!g8hD}S^HM0e4LAr_o6UrG|Scdifd zxUd*hoVabmH6|35M8<4KEzCzS*?y0!vpuIMBn@weO8-I>`fi^e59qCZ9^9mG1E|{K zS_K(UQLgk_95o9-qBQI@z`bO*V#<^N>1X4+n?sRB%lkU*sG^`E0z@-br<9vM7l^{| z_IiYWoQA=S&pD{7K4e=By!m`@HW^paCI4!&+gpc^KkVW!sNEQ7Cb|E?0ok2y*2eU$ zHaB=@Z<@*=LVT@#d$e-xv^;q0{IM^J|1~OqAlk36-o1g%)}dR__03hM`**aqb%=qs zg?Wn3&f3F5=caq8hs4=<@ZA-3J0f1Nf(C-a&=H_IsDy9RZOCGW&Mb$Aw# zGT8CGr0*stxF6SiL?Y@KM8irn3=kJw+^K)15o*Mdy@Z6>7wdxxPGYt&)ijL1RX14X zz(|WkOVZq1IV?tYRI*$Hg>7)(-eHCq6mjDV##n#%bd(*0utbA>Jd5&(X-`<=4LIx& zexNE^f~qL7+t1#^pd&<~cpST77MEAkQBfFlAKITNVzPARrGE7ZHCu?r+~+wO@IV9n zf1S%#_RT!EQ9B>SaP_5d=Gda%*?q@}H%AHZH1up3_4|aWS7B)FRFah#GeK#U2yvIB z^AF7Ch!hmgnyN%OBivwrVKG$Alon6#`e!y)rU$Tu5v%U7qTf0dz{sr2g02N_(w1h^ zt_T5ak)0*7PQx(^sNoQK?HQ>7#_h}m7JvW_wmjMaH4lQm!ii4Cvj_D^4A#{3UG`(nkPCp+xc!@_};}JMOn>MniKe)j8yWIQv3ni>xvBNBky#Ci3iD=q|8m{*4 z^h$liNr8k~8AtT?#;htqJ6*a4%#$%0Ezord(yu6UwyIoC9wc{iKcIX}s&UuH2H+G6 z{2;^9F;}U!)oMkE5et6c)mARI#8=nZWx9BdA@2zn2+KMQQQg%tbSl6)$TXEO-W+6Q zhjFaRMG0mV(k+vWhX10;6*j_QY8HoG5#8#fbvY7KPC$jdnT_r+XNFF^MOZN0Gb@k3tF_|s|d zLuK2|A&Mryo{UWUgedSJEqrIp8@EAzgQNAdcNizV0^~xI?qubJ*9(-U_Xk4VU3eCN zJTcq)1{lz}H`8*%IO-_AH90g(o|`u?oYzmo9J5G9Jlc-W>(2wtV(Oi||Kp0%Bf{;G z`@!bzS$}J#hW_7T*4V@I(Pq<6>lW!fZjYyHXUL~Bv*YZiYglpAh)ug?E+to;ZrRc6 zV}y9;&h@BN08u36$5^wc8-`Pcr?aPM3U~k#zV<+ii`?(u2HTi?QZuM)db}g78rdDY zZ9}jWI9W=I^C8Ecb8`77vh!J{TeWgfXV>7x&o#W@V&G=Z1lt#wlKCVrd@EfUm?Jg^k+)VtPd1M`)A<()$NgFFS z5tW(+X#!QrJMrjNv^#rq8jfFj)(FwI)89V!lf~y)&M_3;Z$Zy0GV|b0`In--+dd8N z59pYfjY~OGkR{b#oYs|kHq`)lyb%YdX|vQiIZAWnmVcv5Fam1=;FrRCt=6SQQ?^?VQB43F4Yvd9M)uWRa|6qR0 znL=0xH;*Mdu^+;Wgf&^D@ibAixW!JoF_8M`wR}&sMS;TvsNX=U#XKL6vSezhARzV9 zkI@6-NmQAf(5}{hYy84$9&WgJGQDFX`y%6W0<{Z#Cwe>QhnG1=PHsZY3wUt_voBi< zBsY3hjm;FB_OF8Vz@_z(t^vLA(Go7W#lEM;Zmx>FY!$x;60Ic^=N-~ep1W;si1D`# zF~`4HwP`r?Rp(+?52$Ix6TG>Z&4{ipH!ivf;Yd+V;JZ5#S8SR?vZCZ==fY^#4jwJ; z|L67Se-3W9bEZdYSQolfLFnT~oSy+WfTMxeFkQrYOhL$kTItU?*|@KpZzVDW1J%T< zv{X=c{58B>W@t&eEhicpc23_>PCA~Ra+v2zT*cH%+_8%uqfa+ z%%a#7NGXX{yX0sS_of*a~`|_n8};b-pu7f1p2FB$uR_Jf@Y7 z;S>~tPw%PLFV)OG#Wd~p_OD1Tp4Gk{ew1X`NjQ_B;KAT~7b0By>Ls6^nFdWM)vr9T zl*~*$ERkgE?zUiCLKKe6Vvd^-x zEekbX*ns;hu|M|t#UnP^=#502e^Q8zXrSXXB?PAynIWOmtm5j)f~mP(IAJl9DI>co zXn#4yy-GgW>llD4(y0Sh5p~D=X2D8B{TDZV= zY4q3MJgr{4+^P@i3mT?uUAF(N))2<5ozD*HpfnAwdr&3h@=%ni| zczq$|v8KAXi5)!V#|P^Cc|X_rXw-36#7`vp`5NA7b#7%L>6i%EfH3&^kAOOEx+JcBV{mViHGozAhSaFwfp(MPUm)|^{;J>T=^@X%v=dKdh! zDQtJBgodF(<6~tC?oLMd4^e^fP)(Ubi*mum*Ow<3p$qxh!U09fh04If^z8vKSdr%E zzKR*mY|(yN=%Xi&*3#R(rum-S&To1rw_te&R1}}!qiVnD_+)|BI3zr7sd`;VljI9 z>fUo_UJ^xkKu7biLoWlOwbIR3*Ts_YU_8+plmHGMhP;2q8A5Gv_@-tF8#6O#FjKN; z)7Zb7)3Yov$pP6$&HIR0_*Q~8NNvA6#h6PlNcS*HPvE@R31jW{(Ez*^e=o(3)flhF zt_9|-pHkx39y#&D6wLD*T~9$?`^tM@*}DHqg=%|6=M3&Q0F-Zkd;!80PXj4iIRb0) z(rhyE;^}?IpaXzcgz?|h!o#b0(8j^?6|t+EFMl9<;yhSh;%I`w7FFS&6h4=4qfXP#)g) z<7*10;fTcaCxVLP-)sguSA)){|5}^@2+2z#o(n|lSs*HlF(ySjzSq|+8L5$NtqpX= zLVe?G*t5O@k4R5X2lBnMTrq6Q`w+(a(K9E0hxiKLOGCDAvCgQ>GT%(4JmVuZP3b0j zium2Xj3Ih1iPwzFucOxf7vk~1XV??_-vg_x8>LgnSJ+s7*pUv3g;M_S+LBNR%w*ha zQuAa?sqoozAQ8}=&vw`ohZZT-CyuCwDkbz>W%CMa4)T*w zl+^DsC@U2Gl2;*~Q`0Vq(?aSI1(nu=#fE$8?*^?j4=t*=n2TSTTVtK*fF}PWCM8mZ z+MNssu_vO-_O4J>SUf@$8VPGXD|VyJCFcY#w!ARgzT?Ocn~E$~y#?lSMakz{x}uIU z;1i+xwd39@K*JGE0hnyiS!OBnX=SW5YCmNUIAsR*TP(X>Ep1cxSSUrLnDu}N0t>J- zBiBQ=)M8~yXy6(epb;9QlRi?wcP9EuzL0BohD>`f+E0Yk7C*^=5Q`NqNM$vGTPUzw zFyXvTzHEoH!z%`IXGWh5(^;uY#H?j%V{QR*ExADLS*Ja17&&iLlS=C1x!K); zGU4+XLtb(??V7nhIt{B9m=UB@8gi7aLb@ty#~cN%A(8$1ptI@eqd_z;yg)lZ<|Iat zleOy1b`peG^h4UM?5|X-fP9mK5ByX^&w9$i7XwRY#m?Blt@!&Y)%|m8=Z}~-t4-)q zkxJ!T#y9&w&D68)A!;|O;hwDURWS|Cf@fiWAT5bB({Zo5izx}e z$H!zrQNB%}&mtu1%1r`ue!8n=vZWx6(m)^LZmdxp5IyJ=!SHyQXVEU?wSBu6!!HB9 zKGts@ipYv%$4l<}K2#!c0J^Sy{g~T3$076iJ`)*y69LT;hlzt8u1BVmJv#6g0XjO? z-B{fI!1Q!GMTYy8wFeTjvv`m8(++xl$G0s-^4$f>zt8e#QA@NFIR2g}Uk=%0@3h@i z9skig+H3dxyx3Hls>6G}Pqrj>Djs}%;nwSYFKK(|TJ0AJnPG1ODO9Co$h|ig^IHAF zh6G#>@P_mCph-)z^N|iF!$48*@H4l)to=bJhuD(!b!rs!D z#lA-`Md&8#Dwiyy@+It$mZQ#z!UmV?-A_tWY>y2iK@kFl!l~d$A;eX(MW40yFlo$h zk|Kxj8jFylF6CrBrwRmLy?cko(qC)B5J^^Hm3VwPiSTQHgz=wQ(k1H67IZZejG%L> z0bBi}3`5L~jWQ+V$ml@s#>Q0>)uNrn^E%;G4AD*p!9Ou>N2EA1en8b;Ou{2>X&>;) zjg;+VVQ1Ew@Sq`OGQX=BAnm%kAY(pvPQWHggL%gGY&ONv6nWpy=F^CwLwZZ{RGM;w ze0Ya(>D@1Ga;Ha6Xyc;&cpGuc^GlT@TWI~xc6cQ|)X`LElrZk>?j}d14q8ubfxq=( z;Czq0)WuDwIYuOSnDnIhe z+k+&u821mbg{^rM@pQvpxiL`oDIhhl@5ojbfl1fz@j zi+kogsc&a-ck4!CB9vK`#&-5+YOEv(?qzTL8!>q@sGZ_rgpHL*0*Vj_5O)~jrr zp~(2E54B6}cWNeK>=8pa4bf&MEZG-+F@dI{KGWNCs&Al?xn1BM2-0?9LSm+y%_+9xJ7WgbuM_>S z=q)uR0*>bB(c)hym|#mtvB4(Z-uCI9yXy~Y19@s;bn>4K*1in$6 ziulkuZn%#i*b_$ii{hf4A@7W1wjG*U?Gyo_XpJT!_Dn~=*A4Df6z01l4mH4w@ae$&-+F?$mjsH)Hz^=tdzVfRp_dm>_$)4F%coe??S#I#!4Pp~VGd*>m(ktARoZaXh?zs5BIKY-XTj#H~r?5)D zvjYm~YA382Y)Ug%iYvsT*Y+`spe1Yu4cwis0B2%I)HcA6fZ~CB{krdPgg!cYtB8t? zl}Y_F^EE{Aft47$H?4AK%e+XCNMwKOpPV-)ejy`&gC}_I*55_$Dw{KH4;l^ z&tlTx0!o$&PvVNRskR9EUcUFYO?TeKyndiWJdS2gZ^le-%IDMS3eHj4qw6p0T3gDn zre=HArL6O(rU06ke}0w2#`voX@qvi|blBrrY+N@WnZMO%W*PCp$7(^bVt4>Tv9ky1siykholdFLHV zSZHI(5s2P~C|>!{xyfkTRhYHXQYtB@=4u2Np*<^=&KRoQVj_n5fs?x6&bY<}@KLlpQ)N(I>2bsAhnO&62)r zRZvsWMSV;1Fy_Wbvn_w4k3F&L$14PK#b-4z{)uDEi#5&5n$q+HP zMIFEG-x}3bHE^xQX!@#BV`SLm%m2gUiq37m?C|55A!Z6Itz4!+~SRjMaR%54U+085dzP6{G1AhxS+HMauRl)-dg$0t#4RUspWSsx_ig` zzoQF=je;IHltz~(&@PdL^MbFJK4H#Z_%d7{UQ>}BW&>5 z4sbQj)0_1~f?dxML_)j5;qF3b(; z>UyW>W%3r1T#xbdSwM5YKTr6_v}fTiVk!nc-y4HT-P^N|mXaH7Pp+4!CJ~kxF=oknHZj}xyUwfz(PBgXjtP>E=T(dJ%YztBt+3$g*+{@fNkb|FcL{&iY3k;WD4Ev0RlM6Z02 z8YI*(e@$6IXrX*7k)bJRmwHvJ1;b#Bup!Zg)ba zDct<7M(4D!=e)NAOrAp(i-)|I=DnD$ZhvS{?JEn=mEl1squ?V;jZ|PeC%xRfyglmp zOK!7WGh3oSZlJv8PUs3zPPIxqmPUO3rw1)a_D%wcK7#)qki&2!L4&a;k{?Rkd zacFQyK8wQL{e`dD19=kyplb(Q)v`W1+$QGR)b^?4ZIs^;ygh6YM)fI?aP9eY%t%?} zay{X`p@9Ww7l*IBNA+eys+bDF#1nX6+mVa{ak{#5O&(=8yvA|O1J=P|l5af%O%+ID z7>Rw(pvPK?$T;l{%eOqhgvir%|c|7YT3aswRzjq5Q`j6Jv^T%p!N>*n*Bu+Eht9y4-4+nh;XB z^mQAMfo}Qxw(Aq)yPw?gtEe*&6trp=-gzT*t4n3wO<-rm2;sz8Ta!Ce492beMhGV) z-!`o`WZSEl4<}OC5Jk8Tmn0ki$!}s&p&a$wkVh(|^nxwsE8@^*SQ96*T18?!e;5_Q zzN+9ZIOHXx=^|0a;14h1lqhkhI8u+>+fWKb-!3t-Uy~7ip}`QwDrBI(_viPo04ajI zyguAB=&J@JV3v-B25#Spy7-Rnva&Q4gr)wb-r*Hny3y_zwaGbKjp|`2}R-H?49XyP@Jt!}8wPoZPrc>(QB5pf`YP(PR7EoV)>{4@xzDn`!OX%DHU3#>P zJGmAA>(28f_!PIe9&nj*e7nYA$Wj#|WXP)&;7q*;{+#1#J5Fkq^$lA{ zG_nPnsB1@Pcpr2`K4y<2UcY9%6{4ZWY`-=?>vZf@si&5@f3|+#R&5%$|JH$5LGeR2 z(kkmaD14cf>Q789>$G8BAYug*t29OdT__FpY`%zt-~bEHlO(sR=LLn%okYeG{rp!O z1LgWeu$*^qzwD>pQP>OWLw6nosWHxX5~D(JuWSp>YHGE29pIpaiT=j0^(9!zuYc87 zLlt)Kn7b%SjCcO8;$2^^veef8K_gjCQ_r$MtE^{au%g~BP3N2 zDrOjN;Mf%QiNWJ%fLdEC;2Wz7xwY4Az*{4@`pK5a0o1|xw*Sn3J75KvH_nu@VcbBN zH_p%fYu{@kYBM-i0OphFXPgk@QwksD5H>_sW0BZpPCsPM=3EHbQ35#T?3d195XRTHz6BsTl41)?^8!I&c+qtI18 z=ZA>l+a7O|g~)tuD%1H{Oh!Ch^5ojrU5!1TTsv$aQFYQ{JGx=g9P!=q?;;^^FPm;u<$RoQhm~ zJA52rIQspI>dDy%DDhYM4wl{T(l*LXtE9y)a-sSA8-T%8@3b?tU zXWNRB$$|@vR+=;Sty|^nr7tvdI*1$q(h*#1MdB+n^&LX3^8PVoUMH+S_K#ln+YSLj z@sV>|J6X%`sZTzJInk|j?JCZ8#L`+WXA$`0S&Kqo(}uCXK*V)~8RCnS*li zs=^fyyAAO)dVoP0kHkkBSQUr=cBm8yg8ARUpB#?^lDq2GM%6(|u@!iAu8(g+Yf>O{ zpa>MzfgZZu1tmkfz3hghTedgvULdKO5~= zZi{o=AitlxeBJoJ6#ACA&Y|0#;l8=G4z@or32H<==@1M}V1(){n@}#8TqEK5;Yu(y zhxNUq8W^Yhc9abPNE((K%oIP;Xws}Jr-Dzjl*|f@az5XaRmTq=#g+O(d)-IzB|{MxoD$p%@+SylZK1f;4nRQ2O1nU#Q=KJUl;wM|w4zE~u&r6GLtla4qL0KqKf-`GoOQIS@b@_Butt(0r z3S)?ZAd|lcTK~-VWs!3L&HdBA_7w>2U`@_dvy#F`Zr_C{3`^FhKi4vqolR zs)WA2C05rNC$yl8d2%17t+UGeX_fj$qw~~fhaLdDFn-CuhXYt#HlJW$FxiNqDpBM>2C-XT8O2?P`WE9*YbHQTK;M;(6QXC34ZJvCcdQl%cWH;b2zIXC*-ocwLy zOUEqfuffokRk|z;X(+|Ik(0CZH7xj1sli2nA$jd_*zNv$i3VC(6cM!X7uyZ*3u8GbSPiruG46{RxN~&r{F$9=6eN9cmK^Km{3O?4M>EU$J|jgIH(A`{C$j7U2FT9z$k8# zn!LX$E?^wc6~81a>X+*F%nLr8D9_cTM>lG>Ig^PH=Ej;+Tmvt?ro@`oj?^0e8IHa? z$`q5d9FCu7Ll0O@#DPu1>uH~5MeV|R zw`d#h6@3|SFi76n-d0>?3i$CpB(Q;=k~_ggXIW1Mvw+wkImb&VejiuPi7K=aY7kJg z)Q7Zmj;lw`YgiR?&uNc*_!CGOZMI?K#6mTF5u8;OCw@+4?`tFc&$ zg6S~9w_J9%&!6cqqwB!Zl;qkgiei+dQ#b|gun2v3v-N9^M!Z-Z>U8{|3`#cR* zJ{`mRlxB5zp~-L$fz`NlwtGLGe*9??g2liSV7$ny)LuQ^;hdG|RO;VBxUNh2I3g>u zQ~4Z8_*xzz%~Qv9LYf01V&_6=a;%m`a*=X%v9AL%$=)CDDTt)ek?N;!la#9)giqe0 ze>!Y@HpMu{;x&~2OCa4^eI0rli^xKTV29CKt;6=~6)wx)Fie=$yq`E~FJ1AhMIr$C zepxMP{O%T+0_q`nbToAy2QHcvCx-irulrwp0?OIA8vG?3#)})8`kPe%nQUrbUbvFJ zr~|)lrTNLZ8 zk67=jczB5$54X~p(AEqm2+ipX)VKhua{6o9>i%iL{_jY0*ryGN*Op3 zN^zc=muG%!4!=CEF^1zL;+nOWFNE_(RAI(AblRo0B1<`?10c}e)+{qmeu(ps#kXIu z4$HTP>M4UsO<0427n3wWOQ(8n^Fo(5=6S3`w(8OS2R5p#xZQmQck!C?C_7nopNGHv z7W}JNw7Yway(5_+Y_QBLX)&}o4Q+M_n+?yeU5d;;nP>RvaP62O3jH1Qsr!(ob76z2 zn@_+cO_98f-|i<}PT1W;F3HQ>z!R~lQMbcB?1pq2E1Y}ufo_nDw%ILkmx)I>5@(fc zu0P@FQT*}j=_I(Op+BK$B9pblp8O1rtCe>cuB#{HHr_ds=+jDY~&d4u60gOX`l3Gi3iTt9I(+f10FppM2 zSAOL<=f07*dH;i~Z}6)G{Q8_Go0Hw7$+mBHlWp5>vTwFslP23XZj)U%Otx#=-Oszb z?{EKz=RD_pxnoP)3wzg%P_{kcJV_ZO$U1bl5B0FwFi@1KnQF{G7->_%!8&XhLug>h zk%$Q~&u8q!BVM)^%GH+Lk3oyzF79JNK;bnpL?BApQC5xqyQkSkC!;bn7I>A$D%x zLa=u?P4fOIIqbgY-g9;RoLD5Q5Gu#G?i@uL^)1JS%^|xwvvs-f}YWfB<_b|M{ zNrg*_NAH9389Vda*c+@TT z#wOUgI#1!2?UbqGJbH8bIO=iGyxh0@9l_z2CPBwWpxvM^>L$I4H;)INYRH_fuC*U0 zn1*UuCQKtai!8=w^QcTG{FRX3Q>#Mg!tH;Loc}X@-n;)TrR8%m#hAd*v8twM;yr)kF>X1?-%QNC$NY(1lfIo;1ybwN|T>vG|rJO(ba(dwXQy z?5Sh3h78{LTGxB`3O}v$C0iI57#nyS+6$8C7Lw=(k3CP%_m5SPXL#RaKxi13Z-V_^ z3eZr8$0-jqPAO=^38{eNV$4CvCa+(Mc+kJ|-9X0~gEw^bHO1Ge$CYWUSYjO;^!i=0 zbgkn)fw;dBGw(-LO6$)SSGBSvEun-|d1d)S`-`r921Spz$jGKl&NO|4wWgM7eku!< z%;`vpyL=qp8-VkHld_|tOD6nCo%L4U$+F_LFy4Z(I0sh#L*Fvz>f*9KjNOE8H8|Qt z!MrW^aQq^z9Pyf)$&)|E@4@vTv!V9YJN;%E=OvrImG!9o9>IJvrjpHt(Pi+*4Xun& zzLP>0pT+b~a%1s64P)zrx;^uBBB*{`qO(j(WF5khzU(;msnxF@n_F96ulLjbr@p?O zY1@2k!p=3Xo9JU-m;^xmTDgzPI!S(8D_*c50lW(7wzb6(_|Q=2=SMG4)=?45ww8Xkn62~dsuCN2BG>Z zNY8dblzzRx4fp!uAeLoF)k4b2=6m2-&|yTE^tIVKa~|b7m4US4ToviRvT}k6%P#8d zuEE~U1d*S88VKXk;nF&O7syhbzp&_NgCUpxt~mdAyFRtQI*v-s`-+4an@<^H(SDXO zW3J(-yZyC`Yt=G_@Qk1mZxCbH@gnOZUe_ z&t>h$UC-6t*%mGZ&jkM1ma-adj$h5`q73j0(FlcuZP(Rx;d*lzsu9t6xFUDG3HcrI z&(7?zzl`@aNo3IlLG8i>RZV5_^eNv7l(|4yq8mg`*XFLdBXhWKxhK^RgSjEIu9xne z=o9gd&x@@aFx4Cf{>&6`V|7Ul=oqFCjznxLQ=!AX7?``}ReOCqsO_AjOUdleE|b)c zsf9MOsdFpe{x#hfn_-q7ld5W-^fIT@iG3NZS*|Aj2ZGEYN&!BJNYPQb2M#b2yR>)A zZ1;Q7tKv@|s(vBn;jKT#?@HL5EoFDedkVoG>YhINDf8XFh|P~IaT>f>AMCwse1n{q z)C^|P4;_O4*$K6qr;OFcc%8a=EBC|xbjNUk!}Mui!{}r@J9W=+h-AW7x-2#ogi~F& zE}Y%Hk%&l)g5T;nEuOJ7K%OPyh1|TgBO&N@qU(uP5$tm6m1FZ-W1!aa6q$rUDL-KW zxBK6>qN<+Sc2q;?6O%p|s#sMB+t}#29!zFl)c|9a;iSG*+zD>{?FdxU>h4D}X zW?rlJJ$*3bNdVcYh)$>H3Oo_((Br@3zvcPlY_g6O7fj+H^yukpF%?V|78O_)tRbaw z+3L}V7uSt>p%5`A?u6dFX1HeW`*I(929_Wh|NJs*Vshp<{X2VZ_FjS?T5{e@>iCI3 zL&v22IZb$ic|KEE-Y$vX?06#ezgBww4m*!5hvS(m%Z-qALJ}d@oX8LsORof>6mdw; zJxLWfSC3lh&B#?;vSUe)QXUK=taDJuWqmIkfbJ1%$oD!AkUS}OKR_of(w)Uq$01)L z_I)z4|A14XrDjh2(RR^lR#Ikrau|_)2!xQ&R)*%{9;-L?PNQsx_!b})1m65CY zZ2eU!nnh0?;XrD^>UA;bvNp**e|_y}%VU6K=Cx0!9N~vDg(ys?ZfB)u{mzu~lDV*G zYGct)vghBCeW@d#$tOV|^GSy<^4#a#jqWisxNOg3Wt>P(rN0C!7CAunVc?t$6$^G! zZ5t)Pa1d3X=fGjBb;UTL^E7SWHT)=uB`s?)f!`gk!|r+CA$ahysDT6yjf{+lOGYX3TzJTO1PY*U}87Vxm+3V_qL5->#=xf@Ix_+6-?Om8@~BgB zZy-nL?GANaVwQ}t#X{(bLC=bTVdG`;`?Ri7)LG@%!BNSlnmSDm+qfhsl+oxtku1FH~m9QE6(1+9|AF30?W7LLrm zmt&Tc;wvBm%_dReG6fDw&5_%;-cDpv*xpMcGIjUmjq~yTQ0SoNgDINFqFtctD+a|M zflvSinq6cajYUO>BO&Zacf7n+0@CHNPkR|9pT7XoNuLwp5{+00L<+kO@Y>XRhCOiP z7(hgs4pVI*DQ*LxW^y&_uw$Oz*<1^o8oOF>4XwuBQcyop%iQam@ zbC_iS#eST(xNL+N3(#%ktaqXOOIR^0DMLuy zRraO33ZLcK=QT#Az+wEjdgY6X-RSQu5BNvgNm;i_WFDQir7mjS&<%9R|$CYaGeDCT&9)#f6ul5wL1k+|HW!{MmUT&4-3P?gGz%E zmCmg#9)-MI5-R)iyqvO#^Hu_)oU#viy`kH>+upPLX2bc^D*yBHwB5*f-QH^U`3`mK z5tP?+b+;zmUJ{LUSQl_uXLBxanCqjg$F9ZRw3=J2EbThS1qOpt9^}1Vt{~W2dp4i$ z;sSQT;F9=nLrM1VA5CrC2NaOYnRR|`MY~p;Y??OLbwZ^0tN96!C~PL$=X`dhD5T$6 z|4s_t)LM^g)*fG}3ThNb`&7)kRXPs#?T8pqK6fxPut1TAJ&8(oxZCeURlC%p$S}F6 zW>#S-;&^a3<9QGrOSn&50(h;$lUeC=3jBh;zEN*fJ}79mClXD(RdB0&8I?T&Q(qLK zhi20NF2nr{0lBHO-~I8Acjtk_Mdqq zFUCAC7aKE6)A|`|B9W@bC>{|1D(mezyMKkdFQq*j`@dE?ZC(@n&+ue*b-}_G$o1I6^aDT`YTCX}{8lz5a@8Ap<%-Zy&#y_#uS3 zMp#C~EP&f~UP@0?wimc*wR>wWuCx+ytviPwt$Pj-XcPg2z2}i zB2J1MxD2n0x}1F;o+F}dl)cGDNPn3=YrX=n;k-Wyz4D#Ijrdwz1K&n%&d*FFwddie zBmy>$K2u7oQClfx_PK-p^sPAzpB>CXHxqok&IIfRyvKd82>}C&-aa!VpM*GwGRAqo zo=u-EVvJWu5-GuZlVlTSkUnwjr1;}n#N%*e`jay!Vj?Qz2)i*QqQ;|`jdRNzL43z+ zq8YOXH`o+VuccrCs}+_*8OxoJ zI4gU|2+~ZdZWRd?AnjmYRT)wjOu%*~|H7ZMWHDMK6BXZ_-8QYd`rR=<%;%j~+?5YU z8B=bagMe;jWd1qDF|(p3)m|HiSuENiXZ=jky-DUiL^Y%!R)S)Ye6~LkSJ1*pZr4N6 zBGx5_T5;{EtYWT&Ph*534m2JHBMP(UR&s|QT)w<*`s5i2o?gTpC$Ci zr1E&-IHatqrcwqm@)E#XMDM?c!$|A-o7EZ`5j9#YL{AQA?NAog05WO}W3@CNa2@v8 ztavf;rYg>F%`=4RJ8KL)c{Z)5!*Mhth_feeA5LRS>ODT8)+!Eowq*BEi;(Zsyb@vj z){0kJYJyANWTMk9rQcMXILB_0C|_4r2tP;ygP{?9c=PlAU*za>M|!?VlWN(diqTPU z_92tiC?Is^!#8W6n5+=;(}@gd%swdgs0xhP_IGeaB__dKOG#&-Zgbn-|88gF(TuZ0 z@^Llu3hH@bs}1lsdoe?M7hdX<&zXW0Krua|;aerV*%#+JS=LS$E+@-`gIF9%8kupSvx;AZXJRV81$l|Bm5+VAW@M-tJOiF*{$!x&5s3!fFa7>6Ex?w-&Cglw zOb`NVwB&VsttwfCEpzQ&<7xj+lx*m}xDgw#pQ&c9WvGUCv1c=VNi|~64o-Wqw3)Ps z6(Pg{l5?Whip-w&(n4sXbEc>WyBnk3ZK{vy047g6^7(^CbDGBUn*3(aoXZhOM>rVbrDxd+_ZZ@ zL7d2%clRRVoKE_>^IC0_5=8VkXEf_82c_@TwfDf%t|lsXkk@2qm|Jn1y{p7UO5Je; zpS`4&1PW0h^c>{fVC|q&{&_^1;KJpC(trzs&ULQHUCiRDmeJ5w^WdBgqPuMHehfyIteC)J)d|2w50dS=l?k~JlHh0&?;%!cPm|AKgb%x-X}Q}ZF4zrs zq)rpP)gi+5K%3A%U(eEHPjfsuu*)MAagD^^==B)!+3oT~=xsdUaq9zeH79r1re0Z< zqHmF$$6J`nLK`cd;%l7R^F-Ot$3c~B6X+hu%rsAzwxSsWf9<}cr+L>uiy{|mV0?ug z%}DIqYIG_be!dRa$i30a1}BKc+9lCgeZcp))|O~lADGn&lqjg=B1Tq6MURR|J;vFI zxzl^lk>4gDQG{S=2Kl-Gt7`uOZpq0>Av?^7X5)rRA(Y#jfhw)@7xa`N!z;>U z^_-MFO{g(X_`tN6F#BLmnCw6o=qe%TbAI5NXqxU;+Msv@oXz>SDw-oHi~F%bn0PQi z(Lc!=NC8L7T?)*!Kkn?1XxHHoKb&n9{WrarVKXcoYzE5!^YR|3Ah2hs?6zyIAlK;N z6|6=JTm9X8h{(>%e+2g!SY1=OLO-SRqmij2(MYJe>x4M_{QRstMMp46*XP1(3)Muv zmQ>MbTKWR~>|sH~mWAG$>U>MdKj zl9b?rSB^QpecRcDS1nFfj_CgPEc%VU)INL)NB~=n7FiWA2i!i!c>@03t;9bRgoExY zUUR!xIZz#GS$Ff0_mI?CbNwbhQPUK*=x4T_Y9bM9i{*Aq2x43K%7~qc_+(U(No^JO zuDhn<-0@M&eCYF7;pF^2^~_~e9QUs{pjk5)7x>>7p^M6M0x8Vr)T9#7{B5e23^UH; z9wtL((pq56_MXoHEQgzYeXHL|8!RUHgsJwFs>!2J;3OL+c~q9Nf+c)#kkDN=9ApShXE_U^L~eeqEn&aS>z#a zghDZ>MMBcZnBhSgnC@~BJn%_C-tQwdbVAjUt_}{sDXYTB^HKFj4e_IRn+~f1@)CrKbngVLA9?|;Mjeq*g6f;j$Jhdqng9q<# zVd)6ZBDK%D%J5h_S+7)jRHTuIz@Vx{p8|PAgWYBodcnI!R&=UgLo?|$vT-qHavVnl zI^fegox{-SRS+%15Rv43TMffqy{5zmt(-H1V)geQx9oFhW=L{32X%x2a*O_G^!@%j zOG3U=@p5*!{VW2IEJVNoCmurscIlsc;V|rFu_6uxCrwTPE0230*B8eITnF!gn_TWX zuV*73t3vOJAD4OFKc8pm1}BT`zYqDMRI~i57dm)+S1cs^3-KF8+MR8h=X+G9- zx?bZE7p!XMJuZqRrd|X8u!+Aq-}FNzFks1%AE&hr z0#Qu5snooc#XB}eUy--{MLI(H8zWbD@v}}tS*5!Z&A$&-=!mFC7APcV&Nk5qt1uF? z&*k=pjGEuCV1CP7#Mapj8Js`4j9qltmNIM6{2P(}0A<~!8Db)Isr9)USYWid-Z|@EGNwU!TJ267p6e5V=Lx>$ zL47Z)vb;zrSyDziUzg84hEvI%VCHf>VY}LYR!he|6}x;K=H(o6IkG8C2Hg{8tl9@V zRT6~tX{#G$aG0y?Knm4LJ|Hc|m_>pj@*RrSAHRO{j8Fyj{no5OZ^XH8b z4gK5dn3am9fROL#iZW#bQVj~zlc6&ofuyd@tMvsIu^9seJ;s*N%Gp^Vfc;d8y0aNY z-a1+Qw@YQ{%qa7;BB7FdXoIv;c`DoXjx*=PjP>n@g8=l=e+-qP?)9KrCS{~OBy89D zr%r?hewXoXQ;I%9{pM{mw#9^OZPBAHFjgso5$S4zhJ_C(^@d2L*sp4J*sUth4bb8yTj=X>8}Tq!#}2^Bq#ZE%ch2G8+j}^ znzMyurc!=MVVTKrW{*gV{Ns+zxD1YK8F4vJf|1`M>@3+$5m?SLkx2F=kP{k&1QP@0 z7W@Oq5(-Iw9HZdG=aRRyku}NUSlnIqwx8@lj?sEu_IpmOx)D-dOyky1iI-MZI_Hg5Q@109t9GJfoT&5^EFn)#E_ zu&p1h3#Nrk|sjf;n4FAAxNFb zt7i(0eVZvSdH&${G$BLe`w_^7v5~#LxUFu`l)Af03|7XOE2PEYNHzABBB5D>;=NO; zZ)$u45@#1w*Uw2Uo6oKn_b3yIs&WN&gzOq^nh@8C%(N4>0AF&B_WaF1nvZhC&b(pY z9uUw$op55W_z$Fs3>3NPa2G&8ROk;P^pU-7l~4$6gzK`S_2`ll@Zv%8v<~o*`at*( z0&6kQL~2KPyvrNGH&RAvaR)H5Cw~&7v-zueZQ`%IGTY+2@a3ud3O&1wwE_fd!{iS433x#+^AERgCnWX5s?kUfd-rJ;9>j7fYC1@d?Xha{F|Hb zMeEZF6a%}gS|G-P`X)fodXFzeq6WvIsUWdbn`07@-hd!y0-HEUWgTVeh76)0!)Z+d zA!{OLlfZ^({rR(LrF+)r@T}#6c5pH2(%JKbw%(^Mya*pD0e+|y;D$BC@d*rhMedET z@VM7F25YP3m8V9FOoO#G)YLaDbwG+s9?2)|pAZA0EC?$rtTFS7_CYXhqU|%S@rE}h zZ;RsC_@m9o+QP8R(8ZS>Eg!iVVBO2xTPVoQ0dD{(#_{-P3n5Kl98-GS?;_X zjpqKvluLPB-ofkU{w9zz@+02b8w}b0cz(5lC+=)(4pGOt&zwc@wrd}HP(I@}d3_b6 z;}18AijjbH_RMUYYh!Z@F&cV)Nu&O#cJ*rd{(s1@|H;a~5iPcKs4D!73{CjzqR<0t z9z+RFbP?wGm9}KaXvSbckki6Nt=+E6#kR|c3)?vSW^?!sVLwgdZ{PlldeuEs*g-<0 zXbj~VvP<#6MDjugky{YS3gTx56j>OMFK#38SeJQ(tSL`#{3>0_VBNt(|Fcg^#^Qt9 z^W|!K^q7`(+EEGY(O1K#)+1^Xge=?!|xG-HMERlq2-(slnu^_Z}lYt;(7c*A=1H~x|4R}Z|xx|#7>jMyeT{f4z5TP~-}g@9ae_gswR5%@>F z8@r$(Z~DajJOF26{+rL)Mpm!NU@rrf~}y-6M-sZEIcUW9e#2vTgPzaXi?cAp2#OlQ$KzU?RZLKT7%*av0SERa29E zugK|dG{?nCIbn6#qTO*m#!?k+&036yI=vwHI&~g2WYYNB0 z(uk{|FGz%N*K!8jm5S^#i=oivF!W3g0N?rES#C6`jmW5x(9EH*JX)dMK9B!V^!c5+f!BP(@JJim%~m zq!!S^4tHC57hMnj@ac!U1;e!M)+Gtvk$(~kmwA&^ev%@}7mKtX5n0WS82YpoRo59i z{iHmIjU#d3K@k;vB^(iS?-X<30^de)l=MF zaWiVrf8TmQYAtS;v?wpmEkF7th>=c`Tg%bUj0t=TcC@hE>)!D6dC4{5Pl>^Y&yG-BYbN76rLQ46IVTy0aJw!0e}pig~foqMZ4R^_BG=>#ph ztb1%M_^C@4@m{%Uz@*Q_gp&tb%j9SxpHV>TS&dz`JF=>ikndX`m|C!|tab-c<+POv zpZ(J;#;qwBgO4*E&3nw=W8Qt$XCo;kUpXo)aar>Nhhs8n^vi^M3T_EqeAC86w$CMG zU7A5V%c=AmmV_oc{WGV?zwPE^NrRu4m!P)ib^N5oARl#;gfHM_4fXwg%YW~s zr|Zg-hAl=S^lBr@LJp`z=I#kyV3ajP$}>G3%$P@7Fb+FE2c<6(mJtTHu} zH2W@&rcw)feaO_axw|o9G)d-L7l{9MyXf-VZIwCE*wEx}#&36)nu%kzctXabMO5Kc z1!qcQpY-R`GH1HCgLR#x(yOSs?5Yy|Lr?>n0LUwuDe5;^@|X5k>GtYy*pzgYYs(9I z`8Rtr8oLRXU<3?=)b<11;OYQl`>w`1%Qp9T)8v!IBl&nsPx?ZAl7dr^W%jBpK3o&- zMqMM?@X#Kx)w#TwaMpbu|9iuFXX()tbv4~wa2wP8$b+e}P1#1sUqg8d@8jG=&%dqg zpvfz~HFmOMtAKIOKbf$f8#5P=lLS#!x=XNilu0F}IhrsZ`NhZD*(iG&orgxEY>TN@5{GrCaP?0&rrOM~K&xG8;LX`4S1(d{bly1-7_3Ci`=k{wQO_+jTlEY?Kkp;P=w z<~O;k+tDnofBsJJ)dy^CBX)m`>+XP4DWU~ta9dtKt;r^vKn7gvIkZXgyr5VUE$DGO z+uGVz%HH?ADtAPJ5DE@T!Pp9!2+QIQ+YU)nlZ;hW|tb(a3 zprXJR9fZbX>}f{RN4&%pgn&c}fgdZh$U-#=%QHu5*;QB1{u!T`KTfSrOdmqeaP%!< z-tVwP zUVkLm=OwT?5-9!$69I%X!3)ZM;90TwGXn^cVm~$d{5qbz19rfhPv9lK^Wkb(A!5F_ z?yItZ*A%9J&a17>fV~Z>x6cxTH9C^IBb51^r6q!{lD)@?2|6YwgJpXI;R*TGl<<#X z6X*+@5jUp*j$}idoVXE%i0e<1D6l%8%vEhM#A|X;UmI^IX!RqtfvxIs2CutJEFz_R zQqaC6!%=<{6o74wxj`l`ecYR{h>@Xv(4Vb2?brS95nvQ`;MDjyX(MBP5Nb&uM^?n4 z{yj`x+MFGwowaOC1Du#5@g=HSIu3|0CtFootefoJC#TV*c0W%!EfJM@PIrZ(kGl}< zun{Gjy(+!SI&ZbUs;FgL-ALjw7`lf0DECuW3|+CH!y(6iZFWt;IkJ9hi`SFYBfPa3pDQZl&usyGRl~S~9P01<(zCK4P!8ifY^;okCR6k{T zd?T3*M&z>26tIGbgp_x0loCU4R^Pp8P7zEF%1zAvXBE9U9vI8YF22!(vi`*?9Y>}Z zoD2X}H%dpOz|8>)uaEng_OhZ>drPP^xkEOSoq9@o5pSF2Y-St zt>k1Gh9)t6D6CXd@`m1dfxq!4k4p?<*CcGLtQ$uXlCG;QE=!>;4MXdlkiBIwOX9{y zf53DwnaIqBQAPa?{v^+UiwSW#ZzFu&!txk>1w1dgsn-}3lwWTYhwER+)nAY}=mIBv zo%*9oz8u=gDszoj|458LFmQ4L&dL7kYMo0a{Wno#uUXZ5Fb;WaWu-{kZa_q~{g3xc zBPZipz+-zm$5_F1Gy`!CIL+4-@f`c$3IUsuE3{!B@CA^Ciqs;#dHxk1U?m8<#G z1U!(d2)0`)7du)W3)&% z8)y7R0ls+MPntNxgk6_~R)vyFy$x$NIx3~2=+yizChF!090gI$R8c{xuj_QQ8mc@% zZX6yFgaIKg(`gRB$ezD?qPM(} zLL?Z1M^c?>_FvdrTx}$wsaoIG{ogjil`32}Z*o)QY`Ze8_}vcw0}U#)Zz1eloU`l# zPGVrlb^?0lZiic#dgjmnC|LYi|0T@QuE6Pc zIdL+b=0LJ;Ak^B`SwvtqsIrK(uk9>H;c@P>i_08 zTXYp3@Hp=Oy1guMKjM@Y85tFp&;Ibt;_S`@U zI6X=~dJERc^Sv6pVU4G#T!+bRM8OSsDnyCvV^DAaL9z15$I?v zhrb*AwyX=krxd8)Gae7~ZiPLc&51MiWdOkJ%1Zg$BYL zRtL|(H=h~DUZkvGPS)3&6qH%^nLM9DIjkXew|3L9>{ac5l=C{f3@?U9G&N7Xw)&vI zyE)y+!zU73`2V8)wzQ1tStiwu*(zMR-XXHzlNjsNL#VUKL#y=`LNwbFT`!q=1n&Xdj>F$&A!s%4;XpQs%{{p-+!M5u9 znbueReTy`kA3X!sKMY{FO~ysR23)5N(I-?JTp5n8YT)UlPH zFlQoEG*(ARaVc<(KE^6)UCKJA-a;%w{mE4RCy7;No3^t8^Joep=SD9*dTqkew_N!` zt<|V@XHe{Au)WvR*$X6}dv<7Luj_L~YiVWcAM8*I?v+a7<7xIvXtW-Sd}}v2f9zl# z+1!Sx`4Vt6qi{QxGnv$mSKFK-b9?iao42ZWRLnP3+|=!dMQ^u?S5c?z$%CY5m#Bb9 z(b4FRISjMyG8!U4Tcn~RA9NTh!@JX{nVQBFqFNKBc@Y@e^uUX-m{=mkmsS9s%<2gi zPZR(Y(1gO!CSrjzDCgMKoFpAG2{{g><~G+}dppJEAsfGizv-i58eLZo=|<-L<9!Hj zuDghBAqk*Uj`yyOEo~8XhMQwWQXXVPcbkU1%5TeO6y9{z*kNAek65fn1V@S}$%|-_ z<5YJPv0=KF9ZvbC($MQWx+?Cl(2E}v_R(MsMiy?fCHGQzt?yEYl~@>8=bRouSN?j2 z;Ou&wUJ>{=q-wv=4orO|W?OfWFV*6l!x?+DF8_Y{e$wJ_t78#h@Toi1zWLc0V@d>n zY|fPh*ifZ()>E}fJ&x92ihYv9in5OCUv+%`+ov*RbK>gR!2=4aYudUh8^CE)-jiR+ zK!}ajwKZpVhWhTRjw_MOojtNKisHTi`<1TL2d%MCzlAEseb3MDkGY_wA5n-EYp3jF zix#S4craG+6!8jJfUo0k2+z>7<5(}0vz|0hGrWaY>ErJon6jm=du8YPyQY7%nW)pN zyR-F{wjVGttHF~&lE8XhEFeft|A8Lee`J+v&F3p1%yF9_ z{GiVJ-=cTP_=$)2>P#kT{az5!-X4nsR!GgnRg|}>MYkOUQ-nZB7BQWu zc)if2ZYL13X}wT4b&8=vdLT&>2Q?E@?duasz?h#4E=J#bdMnYbjzX>fOVbtjWScwa zp=C%D^Nstl<>I5iT7FeyVr(7!dhb_964edC*SfDiQ%1eZlJCVUBbM{&^FVc@Z8>i` z{OxCKGbVr{y?%^~bQV(FO9)kPIDI;KOA9LImIxawso>7&Tp)I6qi|Q4{~+e@Ne!jI z|3-Qkg0Qxz)qs}G_OP%1IEi+|`p4@#h-aQ7U{Vd+yX)u+hD;he!@+)|!D0uf5qD1T zF5x*qUi+#1c096u!=4AP$|*yXML1^;e_ln*&}L~cfMUv_x(Vxc2vk*$AdmryV%Apd zBL8(HO`@7<5g`6D?kv+(;e%G*R;Wkx~cTR$GV;O4Wno9#?ZP_AyK2SoSTiREA4TEz2mDqTh1*Ybg)?M zpDCinnAC$qD2;br*3xfB@y2vvTGG-ry_(P*%t!rbG-I%(pb3^B8ICmRBg=~GtWVJf z=edD?Bo+VW7Wd{B+=M+$0@;_clmIFB%VJt}pn3sI6pzp8aZIclkPx0vXal^G6Z8jz ziE_4Eug1;*^U8D|01dKgOChs+CcsRAU^nKi!V*(VeWYLV<73&%F7U1Hzkdxnh_(*H z4w+Sl4907N5u3hU*p;A2H}m`=e4(>R{UdhaH)6|p0psylX^XzDg`ymk=!p*WGv!w6 z2Cvh}AG=!waob!jj5C7thMq1E0d%kfEqC-@H=6`7iZFFK9+VLS*Z9vVj66n0c?uRW zRS)Fqcvz)SW)xRs->)y?zmg3fC_)GHmdEoHT#lFG?6A1$qljA5)3C;C(mQS6f!a>A zqewy4`D1KUIcO5p%n{#-M+pQl-Mh!v?58KeX@&>aVC3A0{N|uCOAx9|Ft1#rHeNoxh6{Za)tBKj@7X-A8-B^Q=4tnc zY`l@fC!hZ?j|u6%J;ljvVc}(#mbw{}++g;EQhTIh-OcmR`gYK^bk}VV1iXg}-8{Fm z#0|f^K-vM%wyK}Jy*Qmz9kc^nG{VK3YD~Z+TMO?qw>7pRe!h|b)n00Tx*+$@_&Ph^ z`+GhPdsyEu$B**Qmrbtg0wjH%F?Tlk4D6>%Q5y-8#N%@Mf@{|bn^5(;ajzIO&3(P} zd_T}*{DTA3fNvj07aOVHM-u5fN)ErKxA_1h%+=L3?o#yF2vtTs-aiyC1N+Ic`j0bm zYbwTN0j(Vnhvh#=R3RQtcVJzk)1y?)RV6~&@Ejctm)qU!Oy?P1= z7$eP6VXfkq8?;bmKNr4-Fk(Dt&O>Z41YIy7>n1>dlY(kdf_i9k@a%7B=u zYH6}fX2U8*fa~iRezIniMXT74B z^#BLJq5Oy#S3{hIC`65K6P4k5t2{J!Rku2b?N8gGYJdV8J8Lb2BV)sl-;g3#rRcLf zIro}Y;eUzp@9=TV%gg&<6O<-RUP)_0RDKAaVO6e!Xysh1WTY8w5&B07ZuTGV>KtXS ztw}k{|h_d2HI%@0LsBTjmx78`&13J%kt99lAb zvl$zwHTvtIQZ75PILIl7tn90o{`c{`NoCKC8-1@?vy|7+@4KI3$wV-BB8B?B}0ITF!|p%ifov_U#Xo*oAwsKm3~kVx@r zK`sFNT|k0PcOOe^fRL~tSrc)6aECkVd`2YpF$D-5&GS1Mn92XSI?q&&XdD{OlM?t zfbzqId$8n4WUR4UAS@Q62Y4?fdp}B<<%3=1cS>#nAxdrq0 z<9fk#{amh+qB>P?K1iVhB-nN?L}1g%mH+{{iozzk=`!i{IpSoXE_{NZsQ3h4%q5ks z%k3=cr_l99l6glj;6K8Z&i;CA!J#Tj;${uA*$C1>`z$3P5=tbiAf6PQ#RMOSyL6) zGbHG@y;EWILgMxA6?RjP?VF)ngV-eZ{I#j?o(G^n%hzwH$D~?O)iujMDf`TeyM}WR z&C)IR+EnNN7_opjaVN@@52a<92Pu4*gC@qL+-r+d}CJ4 zK|Lb|WkP(eEx$2{mg2Jej=c4QhgR{QVLsa&N#@M>ZZd}DSbBDK0VwC^V}aLl#L~(= za~U!Ly9a{6SMcO?*;oth8=6iWQWJSl3gowwi(C$|vg5A7L2p{mYAjSg8JYHyzvbk~ z*r1J+s1|IpIDD9H(S4dHLE35+StBcC1H`WCbYQPfD=f0n4-@-%?ZNrr0>YnLJGpAe zc2?6lpW&vxL(}L5G5FLio`?rYKw z+PfmOq2VKv|4K|~VRX0$7O%8A7I~s>K%@SwASm%JjKws`OgcYuLv>TT9&e?Mh<$* z!wk3pS&KHo{Fh!oF}aEo^FziCPwZ_!>sHMNzrofREy5mR#1cjU`ezKQYWoWbMeE2} z-Z)n|*4VpcU5fIAK{@uxWY!bf%?fM!pv7_wtK9P)N1+59N?xw&{_YE-$*FuP+T+{m z6m{MvF8h|WQ^G~8Z4O7;Hp^h0JDAr8IfVDL!`7`l{GIfj+tkfxTKT~GKplS`VBFw*O2rQH)5c-@y3ss*S? zF|6}^0x8*eYaVW)b$&Gy&0G~@lQ#{HPG_@ef)XK0s+A*P5S~`++Ma2pWMexdda5cc z%7pFu+vyL}Mq02|muF;E~ z$C+{8xBeQYgoGyClW@_BByGeSBax=7$AUkuCF2S4FeMmU)`H4`c7 zwftI##{-yY6QT0mmvwM!4JKe5)oy04f~pkl(36sSL3eDs#uY$N?mQa z2*nZc#PBR%8(Q=)8qjnc%N?mR9pUDxCcJtURRdIb#c8Y2jhT<3Z~<9n%=QGL$VK_R z%PEjBXj1dDpA5>CrF}Z8uY`XVlL$LAyXd=$(H}hDBOX{4f+pdMs5a6~Mb5em7B`FE z#uOnM^p1pGs@i&vyKOz*1=uEA!EJ>5U&MxJx|HQ01Cqizq0B}?IP-~@fs6R!m>q?| z>P!)|!F_vRnY5r3X$=#fZt+dLAcnq@-1eU`xQz09nugPYEeoEB6GVTU=i|RCy_A_G3hr&~uU4W%G2JPy;T!dXai+|0T=>gb@8i8dGZawEdB%ign3&#Lt&>*; z$*rWBnMk&BfzmXoeeeZ=$O5L4PduPL!vboc9hz;(s;QVL+m$74-4?Y^@h94~X{)s% zI+`54CufP$Yqd_%MIxWxcC zz6Fb31p&87(^M#uXFx{(Boffx_BY5`5Lx&PPi3!dQ4^RxScwaJq{6;D5@=+?9W?Ay zuHB;PdszGV@jP@T z@D&5qeW@q&n!uH`Td&gHM6xKDd=2|#jHcB%f96-SrN4C$UhL)H& zhzywVJ@j=uIAO}N2&h;DL#v`z#qgfoVXTwTCR5S7f$zi{PV@tyeLP5 z7I1B6y^ONn1>mIYjHXvo=k>+9FJvs<<;1L>yf8`8b@TAp-MQ^4eh9P8>N;TC@(p;S z`Y5$m?>6oJ=%M5Lz|iu|(}JjDUz1+3K|w3#=9%e|U+puh3@Vf^0CuRfR7p8^dEvjG zba(d9htpayxWEL`uP28munAn+ed7PT?_&iy#WZ1a1YRFyLF7)O&I3DF%l|eEk4cC* zSE5nhC-==4nuNtin!7uCqVP?bZn|=cq7{K_)QOvc1qVXSDdHxFFVJs*@3CjxQS#f4 zT#%%;Ck4w4DGOneZCd8Ye2iQTo*ajF}l4%o+PYVd^*jtpfQMN6kaa697#eaO2Pq zv(IB&J`tt22g!8r??ZIQ((WsQ2=-$gv`eVtJQHai5D;nVdejyZ+41g*I}IWh8Ocre z@rg8L44qvU;KEAhsmn|43|@>qvnOERJANJcCJ7PP^P26G^z4t5k;`Pkt&O|D=G=)NZDGIQ*eFz+C9+h3w zzvrwjgLY8^q{Z5OhPd~V1MH&tA20wRGsSQ5*0ej!l7>qMWF}KiUwsL+2`)G*!h;S8 zSv+XgqQKb$P)_cLThmf=0bm_dh>{OEsY$A-Os1Wg$Q>j#;@I6~h*Mm^q>EngQ#Mr< zlWNhTJx@L5XhQU<1RGlB=6`Y2fYzT}RZTM98B5m9A=UBA;3K@jXuX+Wh&@!3UJtV1 zj5`QiB#tvLh=nf0kJOj+>w1cA6+WUMJh|9G7CgW_=56WZWom*W#4AXW`VF@*QLgxg zjn}+Pq_#$!{NP8&=NlcR%v8vfdD|U#tpIxuwj)WT7|lW+H&W&a1|ks#r!eH@C@Fbu z;vaj_prxrG$v%h|4t`ot{)@NeqW44~FMaThzprChR@Eo?qgCDNmDZGPu4pi-7nCqB z&s1noyQFZ31XF3OuD?~>wfmIcnn-$=lduL|(l((4JEv&1Z9j0J=Ck?o@|^+NHq9Mb=m+^LQlpGgI}W3cbpOz+ob|NDsbt%5J$ z^`???)|!)I&TOS(7r(K4i3N>!iLCB(uzpAQnrnU^*z%UG6m<6vrsHb%-aEw69a3%L zz-niZ>p*>+aQDVzzkXjYf!>6^%ayl9qafHG!ijn1K^VJg^?Jn_bkJ|aX@?`1IS9W< zJdw#)h^VCnDljvqSRB1z^gZHK^5`{Vj1EvFgQFOBq7IUJWpVAo#4I7aUw$hw-($L_^pST==Ly1mDODIBTWa#f;R#^s9NAWRPhNi&ieLmbANK>O_tkq zsQg0+Lg+r@{>-oabiW;gcjO|yOkB-Pn#NEf{%vE$l?BW=y4%RunVg@$=Z?)4%!6gb zfQ~p?7T4sG@(#)8X$YI{en(9kIe7|Gbfk10PkkO?E)OH*MX}#uMqn1*#uSo_J0+X# z8(%*165=V+Y`hnx!EamOHFQ|PbDl6=bkm`w$dEJ;lPpcp0m&^(V_%{7#T(yEk-~85 zueZDkYSL2EFrLh;z3N3H0A(}nwnkMBU*$qMW*EWad%8Ip9lGi|YVQ8Rd)Sk(ck}k? z_4<21yir!OMVbyT&Mp0q;njT5^Yz)!_UpBoTZdp-ht=ovZfd=YyM9ZjB}x;p0G4OC zC05{6DA4q$SEDM`6~vl`=DrN;a;*!)YQ1DE=8U_nmC; z%qW|fo)A9;mq|!0!%|p*puvf*_&Xe^bzxCTjCd>qoaP!7rGsH*yMMsi@NcK71Q+n* zZZXi8xM%-56g3Z0p)9inaXz*dwPp#RBVo=%Jqpm8#w=@qSdxvQPKJEE@lU;dt;;t= z$ZEtcbXiqUPoCyV&M^2PvhIfGr(-UOP`lNuX(5d{EG)0Vx|j4Ic%dhyL2(a0=r)E> zPI7y%f~3=or&L-wCqdCNp?FaJ4R>Y%H+MgZjK;7CWj}>H-G!^SclvkOpk-w%1617S z8amzDVdr+6Yb2B6PMw9ET2zYV07_B08MIHEv;cq3>N>r-knEHT>ye7-=-5wmw~e zn9oK#qLgaY+_ys^B`-llEps?NuN(Eac2Y%K4DkAtGf*IPdJuazg5u^U zAx3MqxoDOihvJMk=wT^tt{<7u7n3##5MB3@-H4%`5av8?Vp*if$Qf$q`!SM;8G0#5 z0LlzTv}b$FVNpCv=XLgq+J~0IB5Jv{)RtsK+}vAlUf<(#6LwIG!CWaLZ|y(KT}tPp z43INt&X4~<{Eg;7(xYp3gdGXajQ%E-BjMp>J$yFDcMi9pjmcz^A zOFtOu=`^Ely%zSuU`#dG&%Q0_>@G-8%o@~Fi~Fv*ZmW3@p$D`#2qR^ekR@+9t?P}H z_M6)maNnP2nQKMQ)ayE#2-N3ef-mV;wFktKzCf>HUf6qCzPW~cw!T7o9kP#HBE?wc z7H;bGb#swiRvn+0Z>=VkAGc8Qk|} zyyuykj(aUTCEFMH6jf`5s@R|1N;~+lN34_SSIZN%u;LxWYk}G`FtNpW!t;i z0UCpUahf}anYs`-nVYu|-NgaT%M@e8CdMxbZ;P3oz^O&wjxzkKq(vq}J^hUabnJy9ceM&zu zY9;LYMYBt#(E`^&pVSqccyOzEc^C*m@e*e}k427{%-(&pISbjGL?LGN?-Ml0CG#IA zQG?`DyY>JUVXX24;}q8JV_4~gyy-yRC<5P?*a?^YVo^GlfH#9%&3Q%~3k3`IR!_Qn z5@{F5y8Fok2mKE>{WJ%vfLpm(LM7~o`;`0ci(J(|%c7PPsdvVv!ReA-iwXgQKY;75 z8k!|UQm8W{4+?6$?A;&Nv5g;i%|~>{zOPVgpgd)c+llKX29 zarAPs5@5WD;PL{4Mk4%V1~Qh&9$M~m62GV1rJ^A>1e9Y{gmC@@yH8y6(b+;Q(6a=y z^G=Y12qhBuzN1*Tg54(5@4PP8ddmSm994wAb*3Ia(`!i&`-3wBBW9x{!L7kJAlth; zO{W2?Qkf%4$GPK~&$~J}g+f;#3j#R#V5|j16#R;_Gv;A6+jvfEr3#bROa*>il9eMN z@ZxX1Z#>W3#pQCuXg79$g2fAVG7{Kq>{?XwiBYu<0TiIciQxrr&fMLBdgf5p)rncO zR>`PUianK`@*6dTW~Aj3d3?V!s~Sbc{IM}%Wc}!;eq2a;0XRuGWo}YkRvB#a{ct}cwRHtH@>+uKO zmfgCTGgQGtsGw$%g$sWMD?++N-qKh-36V2m`Zb*OV3o4|$?mGG?rJBJl_{8$Q^>r0 zN#!vai21#B-0Ui-4WU(}a8y_T${VdrQiEs4jHSd<@#QWB60nO& z=)a^O2s>dC(n7yZzL;Vmm(a#+VeO?xP*b|Dqr*TT9)*+|N1osog>3VpGK(jD-6QMb z4#r3n#6VUk@w?FD+7CCTQHh(4fkc1OJ?k)RpS+ONVjvfNaD1vkDUA%IfaA=0=j0>| zq3`+j4kN4EOXLWi)zF#*MpEX`MT#~<8rs!JV_P`xPRByu#xqB@Afq?mKHfeOo0uC* z%8flDCVhP-)n&r+S9?P(Bp61yxZ!cq<)Kk>a)SNcgRsT#FKn{8mFVf86rmo$d;mw) zSIUe^b;1Cc-$JC5fFZm5C2W63IF-dZ+SX>bNO5HWk0^+Eyc`s$WEWN`akEbf>LXt+ z-}!1(Q^-r`{{fBL=5~FNnqOuH1Q1-q5DhNGU{;%_=xZ&yp^cIX5l-~ZeZMJWU3w6g`Ipx72tQlb}Xu% zQyJe#rxbQH{juWq{O85?t0R9(pH#~N2HyIK`_QG$$C{Ex4J>q^-qORf&pa!b=dMRA zSPompq9~`ZP+!`PDg~mdXWp@_GmuB!piS4B)TSSAC38iX_~K^ImfZ4`WI3uF@hYiOD4 z8VWc&@Kd4U{19%&2l1#xyMRk&DjMuO)S#PRO-+?XFNqCL+0MfO%1V(N-_6Qxr z<(DydA#l1>mwE@*T;LPkj~(fzd|?immkpwJO=e_#!-@jsR3y$)usQ*i{U`r+OGI?k zx~Zo*jn(_)(i(nlkU8K)Rs)X+eD~+BeE7@qvpIbqT(@p-$5fksReQX@oVivC7oA zHwMwMtu9V{Xq60jcKi%ji0oz;YSywO289_V5uzThn9{&vpUBUX2S0DWFPvu&uSE}T z=eCw-QgD~8$-@Oyf6U2|OZ^u(d0}bvc;JdOWIg~9%1ai;OMi566k!F-ktsZlHdjZi zn_wNd1b40lOa0UA|55HcGl=^^|fQH9bG+c1#4 z;td^MEgd$Y4ZVrRhIMSVhjyNF9y=fLQq(+57HM+IiTYVVLMxPs^`tNM^wcbCDURRg z&Il%U*YaY=h^CdaLk~ZLN?M=3OAM8ENlb#mY7LH#X<$!{z)-az7>3KA86{`t^aX#& zIwBZ6r_YY)S@t&~LOo_<&wb?mh!_xe;Lv|{AZ z8k6HC!zb|yjYtpngv02s#0?E%`=?`t1!7daNw#PO8MFitMxw%J)RYLL6w|!KZ#mG(5bkH_ls`z&NTgPH|Lw0|dS=DVH;W z?30irDd%OjZ(~Rf>IJ=iyQz~EH{iYX`C1fi)yrTa6#WnQOXB>G=?(Gic;}|>uG*s` z#zS~_xP|Vn8=L>7-+OvpQuX}+y_fqbWac#Wj!7h3j_n;al&1l@7RG;Zef3#pR|)Q( zNsTeEmh+%m)}fai<&G0+avYZz0Ja*JH(aiG7`2A+-5rc&#qu;g2&)3Wf?I;@a(}ga z-LqXz5?D*L04`N?J#zkoa@ICOE5oe9$|FnM#JR|2n7A1O7RSVBq4%ofHo`n2j~^_e z(~jzsP%UUM{qp7Da$oFf;dxN~*S+0)~BMA>VWiSwrO+B$7kS-m<-2-QO2zqUV9qQ6GV3vkeEDt z-*w9*c#`-ZEeji&uurvBHQQ-6j21fSs8SFXk=4kc@QGv~O%iZEWuF%RsLx7tQ}x2H z<|0ZV_W`&{w{GJ}9a`)7_MYhb8uHb@_4&aT$+`SkU4fB<9gk-&7;7Z9#_r6u#AcZ3 zj;Ug4yB)NOk>VH5;%p&_Vhly*VwB{;3c_h&hr`vjhI7}tIE@5m!MUJp%K95DF+~G` z$Dpr}l!{xb)+W~#oigiC?rB7>&lcJlimU@ZNyV(wan0qhD}**b*e2?`AyamS-B!VW zMYS0qv(qWOY*d;OB!eCB*h}CX_4GWN^T0Nj$7s+k>0Q={d>cKWVUFJQSW~yAe+`3A zI|TR(NW!W5L$6Y$GbNOww;z8psa1v*<H98WCYBmq3q-M~cygvo_F^ydIwbr; z#M}k17Y~QKX~-hVhZpe>GR;xNP=d@ zGweR^g~K1IP~&YzuL>ir&h}YT({L7ItECiH%qUUzn%NX?I}fHvZGuI1sOOJJMq3sd z|IiN|t6fZ9U3UK7aTE#6#WwG`furG7q*;d5i6P|RHD&-&q--DwTZTGI^IY$UG2E8p z<{Tcv05qFrBoIBjC3|SW6hbHJ!Qg>-MDi&A8#Q6-6T%q>fJRNrGiD%bFf*Mr7XGza z*@t%JTQQ5*t<6?MJ<=vF983sK-92@tbljENoYEMFg*5L27hC)y_Gh!qoc*vG+fhEbSGyz zYm?>PE=Cc{V%N9Tduw}X7?pBNs3yyGFJ8<2^)tK*<-&iJDJ4e}Jo~!uloE!9^R- z!D=(-zCwD?RBtn=gF}!+A85^R)C`JX`_DAQZ@XJ_$jh#d65dwu?(z+P?1JVQRJuPDgva(5p9ceh` ziyP4KG^Xv!F*iUUm5gHk)?pR7*+)wEi^0M&HtsFbf6Gzsr7xl|Nh|ni)+ijD$W_Q9 zan&PXZ>)~Z5{v6dz?@TBcU9dYt;VV2uc=+wlkwa%#MCLSfDQzY38uFkXgv|#FwxTz z8i_QFT}@5}zpV$SY%ZBAB;uS?DoH3y85#!8M7k{;Ay&T0w4>rzt2(W{+;o2;U2*w- z9%a9r$kI{NSX%Ihi#;oW2`34LbD_@VcuMw?&1a=Lb`ld`6LXqK$&~vyu=^J3fu9=p z20N6(IQC>+UTRR?Be(U2s)(ol_S@NDuq@4e78Y!PgN?)&m6029l1iL@O3RJdQEB0( z)yk%=xnkBNXIdOs?*7$AUzzQ;K5JUx7xDVQOU%vIa!>fow`{y zNqT(P|76t@d`NH!&SQC&h^d%B&DBGMz0oFr4+|Yd7-& zd!c~!+~e`|;hmbF_;Is*q5~8z>3VX zcf3rzZ+mh629M@pnXtNdXrHIVjt6|pKqazvw$g-nD^%xN>orRdE1%fPBQ8(b>I8V8DH9SJ@377Cgodq(=B|@V#0SrAX?? zmY$Nn_DkQArfaiAY$HrPQ4PrMhjg5AHYcgtuuj91r~jyQ!Oz0S5^{I{B*D7N&_}f` zfya!qtT>d)JO~ULm=9|GaGkw_S{>duVDsz?Zt2c-x}^M{%VTww&r_$oL<_WGI0KlO z<1$O&{s73vlBa;&Y|HT0d*jW{nxOaQ&4*&;&zj-30}}_MxpAe z#&KQEW8w?9In}+!wMJ@R>u92G6V5ZRh2oQQx;i_RPnSGKmx7M3{u!qEh3tOL_dwaV zpk}5Y(~2E$TpevRqanTi<9W2<&mM}8^1F~BElgw8c&lPIB>^w3(n_f`QM09gLNvVb zd0@Vh#y7^Se`Fc~Rx;LZ((RJ3?|Ob)ck?!8ur- zfrWH}LWd$KZtgk`FBEjenLz2EOQRRv?{C!vdvFKL6NamX z2bSnsq_9boEhG|!^ddUJN56}Q>lM&4xO%be_XQmtnSNe(q;IAP6ZuLJmDG8j>aTLJGm-itYsytrn%Cw3vZj5tv)vPdL0j zPs7RCKK*QF5%g^Nh0oTc&n+TzqCst7mqL=5{1eeRW5TU!a!?&f+*es%&V|v)C0teD=95mN$tT*1(a{^Ah> zO3N@f=z2P|_I@EC@YVxL^k``5m%Ma|zq%4|8R((MT3gR~|GDQkC;FVUut)HIk9_A{ z!r79}KpoqI^vGc*;Ynw5)37VzQ1?K7A*dBZ;Fp$3K%2S8mo+kOAa~2v%c>f52*KT8 zFFH%^EP!$`hRjNYA&NY$YwdXpzosf`09+A?$xAZADk~f8w8+p!Ov8Tlx&$tx)nG*$ z#(kaneOxQF@M^V;2hlwydT+^3i5yIJ+0MIkY@zm+PkZQ_0S3yV#iJ#~*SWR0I9-}( zGA~J{af~l2W>=bM6zL76L>=pCUOdt!=lS`K;?luwhiJCH9;3&!EOX_SkD}f3H0TRh zog!PH+;jAU&25TUq?#Rzm%tYgpBur1wVe&VL5VFjAmRP<%ZL^>ATy|8*&Aj~P{JV* zxtyEAyISSHtv>BgL+DQ^P91e{hKw0*KbAD?nIu^K==r|LT4g-15*qW`vr^!Y!mh_i z$wmb&BJsk+plK)=ho)kr_gYwEq7DEq_l9{p&$g3mQH{eZ)Hhg|SoZ*MY5Uc^tH#32 zHz|sXeamD8wM8mNN=GxDCl)R*26cG}X`45sR;;fC;aLI$7v`p1Lj=Mcx4<=d;=2_qAkwpp-iJFk^B6;xYZ%{eM+!fFdG(A+HyOk~4evtE7oXlt$&*v2$BxVAO- zkZFNG(0apeB9#_p7!K;@VeP1_IAdpOzDr+m)Q#!U4DC3d&(5Q-w9nHOofHl?56<0K z_DT|8e%BnLifbAMEp1EkG#vT)+{@hK_cpfIK>+vdjgV<8XC0=Dq3Uy4d^)GMUm>j$ z^a2Wrh2IE08uLtWEO5Sr-2~@wdI>E)r34+J+5RM|S0)~v+N}C~L^S$nDJ2693MH#u zZk?D_I`rgaQE-?#T0H;o4(~gAIxI#ZR+ICKq$ti3(^v?yJ_jVwkCNg?Sy(6RnhDaM zdKKisUm7|aRAqKT4f`1i2#GX75e%)^7#I=k%gY@I58F6 zu_O<}Z`Q<3N?Jip`16Vo{i*XxzkgpYnc~5U;gj1$rY1N=3CGfQYfnO`ZcN=W2gSOd zf#yd|XuRG&`v-SS-R~zERlP9s8s{m|tildo85a+94<1_D%T$;3N9y-8mMkGV~MULZj(FOy-14PemBQ ztjnk?uakXW!p4SzD65AbfpoNf`UvGqXaA!R^PlslkR<~G7IVv?VTQ7QlhbRP)S zTy$!*X+zl4HmhM5O}+EpO9k+w;UoyN{ujrYyf1=>i($@Vho}&{3JlW}a{Er-8$mb- zNZ{5lEz#sYN+1bX%L(5=D`Ow}ZA|aCC#dwQcme!_|zbYiB%N$Opx#@L$B$h;pX^7&ogh|k z<N$4XPnj&dhB!92$iIh(O* zSrui4t>#qn^f7qnc&>ZaR%aZkNTNS7ik)s&!qP5k(?~BFccCOqT z;-grS*$(si-*GWjGXAeY3Z8mx>Z168&BJz%+hPFIBr~Suu+Nr{9j_0$9Jn^xl3$n9 z>UW3Nvx(K!Cr3(JL{O zt-IaCpvz{m@ozxwEnM341mXA-tv>Ucvf1Bo20pJ=9p$emarDSo1NF8v(!t?@qo0N{ z)OCLTb(8p6csHT2eWrS@fBP=5tRXg909D~)92=fI&3l@Eb7Fsx@4em4`(-*B1D%bg zQn)affMJw={5fpx3c<7yz=4WREf0KjMR&Y5c!d+T4jZ+b`00eY?!JpAm$%Oh*uI?QXyOA2>`7gGvEY=e>TYNcaTRy;lqL`FI{8Vjzj9f)v5&!SZ7UnQfSz zkP;}n?BQsG>*R&kDP@-*F zL-qr5p7{@nAw%@x9ucSp+WNVLJ_f!(A>huyFs~Z z|0d_dO6jdLo}pbKm3=4zG^*EiGLEu!u)bmCFG0Dnt|V?1BE}m5{GThv>L3BL7QvGqvaBXR%_qiMq<6g7(JVMWh5USDPaXadrZ|_D5X)Oj&B6jIRP;Id;qG&JDuL%Dc) z7K@-dmD5lYJY0+?(41wKJZj>w)3oU%MI9&vEji){(E9-tJ0of{ zl;jKRej{bB*ORqT7cXQ_?_-qQI(okShxh+Ijd^}pmUMq za%CBZFp&=bwE*h+79Z0lMC?rv*OWuQO}KB66=g2vCYZW)ap!23}=_73tVU= z4U+eYJz%wjUOXm#-qRp#1uXa;x_gS8ZCm6_@iDz)oGO!BavDvn*oI$7wD){+yS-lj zyg}4HYm<8tc<516v8FdL`g*+x+WOpidjEX0-C@+1x}QQRN29$~JbQ0;C`|4>sN-h{ zchMMwx~5b@?Gp60@Or}Flk>5^cV{Gk=}^mo>_UA8AFS7N5jYi$mB^h*zkc3 zYrYQ|#Kf7(?!G=BG*WQnT%KlT7l=ppceYP*HkL@KLPhwjFZ`9!CS;FL02PiQJuU{e z+6vWK{FxV6xq@(`0U~|MG6R51o<@?IQ&P5sp3cZHt!H+X9#Dj2ACO0wkYui@rE6ZY zb6Fbw&gmMoR*ZXJzrF{pjZqb{3u-(R3!N}nZ?0-WD8f0eF%)+3GUI1eRV;me)jqNE z#Qpx0wnY7E`okF{j77grlA7wR5v*j&{w5;6#aL03F{XRL zS~-=V_0D97BAAmfc1g$(wj)5tnJ_|9p(eW_T!unzK=>d;*%IDhpM1B_v^W#||7cm- z7eD8W_>a+u55YAkJ%;Er5e?7-rvI36@MAxsrZ^#?iWJH>f`j@zk38TT)~)ax@A8ZX z?EHrRxy2YWsbHW+m)w6g*U=jnLDy?B)uq5K$7o^8lznxiKLAJ_Md z`f_m3#Rsv^L4(&X>S@rMANG@|(Q2p_Tr)nnbr>kVd0bOHq%VpAAScwQQ4v&_DEzJy zCQgY$b?6QI@dMdaKH45k)~ol)-)(cgGo&v?tau8J0*&g8;$GeY+Meah73_!A)f0f# zap(Zicdrv{Z85c;Y?7bhDvT`beid`bto1L6`qGY0((1GnAD&?iwd7x5qp;pOpxL;4 z>$~0&cWJU2h6g@p!z+r+?xva`R+;816*dJY0(v7RtQcSMt#Bba{o4m zht=TF_ub%@pyo-E`H*%%1Q#%|VRmKPT=m6OJBOuI$j9mB z<8qhNKP)X@09}@-!IJh{*s$L;QZga+`lYd!dWUvNVHux`GRPZ;;yT!~nRP(=WX;Eg zkGSRER&7Ge)ZS3hS@cwk4#5{|@YDHYlb#E~H_PM74&?;bC0C`mvk4(GI3$1@Q`yg< z*4&Ch!IGl5h5M+$t;40J%Krrqj&|f<_bnI02mhluCnzG6sF(7hN-F;QUFFnWu1dHM zptb+(doQ37t?T_B)MRE@V=O(vCkdo}30NUp{@Q?puVSIcQ`Fzg2 zysyaieZM`|u+k`mz_qaumz~4$pWg`Q?1CP-enqMqzevGuX%{pXKe3Qjjw=)HeylY; z>mWwlh2Cdp(+{UG{%RwWiZht{p%;^{$3)$(PqC!#4!w(Dno+m*n(tq>UR5`b;Hq7G z;IDG(fal-W449>4G}CFPyz*`0VwMoQ*ujUn#IFPTY`IRr8 zSEuYCSz!ZJBH)#(kg%df)}}f0&AZPd1FEo+@GnW;+#P6hV;**>0tJ$UuCPDa#eOU8 zL%HGZIw;2Xibz_ty2$LiNmwp7tik>kMJciPzn=xW?2SJcWVMC_5W?!4N$=R}duFY$ zO5|nYmHs?2@>?eZ+NgGpS)c|RV-P^~q~rry=}iE!j)AcgMfLOk^AeW&3ZCm*_I?+i zJsw@zhW<+d80V0Oh0NoSPitJ^^p666dKHyQt#=*{P+m`fXJ=G}~ zBQ3l>9@rl3^Q#g+ypJB8`=}o%D9otDX?Ff@aj`1U#kI}u7Asb|b74*dKT@jhGuTt!1ez87&Af4pQtym-U z$^#xOlzRukhe$YhNe-#Q(XCvf+t-Ce(@QiXf@veq zW?k`Ji_V;!dPg832WDlCD1d3BTlt$s;vCN+MqD-1K7iKI>J1pYhd?5FWhcwhjdOr% zGla1u#Nsvv7I#!CDGa50G{k4{QP zK+ej7a39MBCynl`Uj*~qQg2s$#ihfSGJXU~zSM{0#Ze5trHxkE3Mt%WCnc1DP=nct zNTaqZB0MW{xyA7oyS%>vs!fD}Il0c(^=VQ<_0|>QxI!1o{{7XbQ+2vtHsi2Hst~>3 z0r+qY->YuqEDh}8<+TIu@YX9Z?PFo#VP%}(L9o*=Z@7ADL(JJ964%{Gji~VCOSQ6Q5eWGaR`p zmJ%lizaFo?RJ-0AZucJizm(kGnizZohIC!t@BBM(VhHrMU=lO4*ITveygrqL*wk>e zaD9%Cm%=}lTR!RuyPXeb-F=xhKNSy>yOn(2SlyiHvBeG5RU6pX`i^7p1=X0U$W@@V zFwB4%xlEBZu~*Cl%;rY>8dBvRU?NEhg6Da`n5QUcrjhLJ--1XAoE>uBG&p2aopdH0 zx>`JYl_X|Li$i&qQHn3fMIfLcVn+{2)J+BG@KGm^_FsZ;t|B^JK>->ECH;szC1n*8mcBaAKWaqdVA9s%?uz# zs<1do!gSQC@9KstLYPl8j{{5CO{Ja)a)n-dQzy=Bd)*&rQEb~4Hza9x;rHSmUCbzG{IYjGX;?DBo zw|{_=*p`_yDWEZ}oB`IkKu*uw1)fgu-Tcmfw^F8Q2R~3sB~)JBFj?1CQSAmX;Gf84 zn5Spoi2V6Q%)RpvWM>eP?pd_0VTVBOaT8-70icKRv9%Hu%?_{#OBCOMhud+S{98;w zEA4<%!>bV3bbKzIud}E~?vx$bH2@@^q{b`1LA=J#q{SM<)NJEr`oY+amb3?zm0qRS z&q*(iF7>^UM}z7**c8N^))GOHS(g0#$fs-uiQfFFgAU#tRk)-F7Fjm((_AYwW?v}Am*Yp_y>UsDoGv(#vf9e zbnma9Fwz-AEq5lPUk^uL{n?*S*)My(AK)hezMoHD!_~eY!3#edYdWgDUhjcN?Kf)O zvs+tO2r2=n*(w>7v`D8m_o6t9d z!@jHPTWX$-p+g&0NV&D?1Lai0WqXD5tq=m`xfq_TG7TVA5OP z?7n?`P#w%F5|V{1-fv7~AA3zXI(eDK3N+khzw5Lxo*@Zj-yLV?4(#SV_ljc5VeESr z7SHJKNBDk%W4u3jCAOfo;b%tQ6Ed#J&(hCAL_E`pq`86oHLOq!5YJyKk58T%(jg2( zp?@4G?ptRpcvx_eic4}v@L8!_rqQS}l}sP?QVCha%I7#pYy8ax|= z^&XMzb^Yn$fw9>QXW}Z_Os}>mSkB_U4NgzJ0l>^BLLF|vYtX?D3ThYmo1Z>fA`HgL#0-g3W)665Pih`aerc7i zc%W#NHDcoeL|R!K#oaz1eyTdpM>|D^N$+t`8*c(TN&@0Ce9CdtgBb^dqN1#uT!$#d z;=R5FEW*he2|i&VK+q*D@&}HMp&{#ZckS24OnB>4CF*57u-es59 zCPj+~W+m%X87={sL{S&EU40@7c=V&Xs^T$S7t?diA4@zLpKGC{{TvSea{uy@X%MTc zTDa8EV8hLcZvQfIs+)k+0V~|mL5d;my^gjI1ejS>@IRdYljyimJCcwT*eI^mQn_3U zZaTi7L>fkA8)7Y1f}EKCyRET}4}1~d^r&PplZp#`gcUEL5vAiEQo9#-M$4UVnasPH zpGR+rW5}DSn@{Sn4f7<<1WS5`W)cgng=LbgeFhvyF3n>5h1}ILc&wiVnEj)c90(^{ z6*8lPVT|-%tD!*&ih+WFQEm5ZX?x<}y=F&00ZQCv2KHEZkwFs>tC*y^&;Y;xhiaIo zx6IlnH?x(eQ3tabGDXeLASli+A>^|Eb{v|1_-bYIab@$Wb21$~)9~PSkS@bp*>~YM z_N&W+mG*i!Lg=R5wW$nh8hYxweT_xAIu05F*$yte^{oc2(VH06g-a<*I2C|AF9#ZC zbqeVUO05kTix1x)cxg~2;1g=|3g^t{=<9jtYk28RwM;~2;T=c6t*#P5i8AI1$7EUu zduc3Yxl7(Muno<1owI`Bq7;p`vQ|0Y+V%1Z&sVA{S@g?!$XMS@zk_*oj4X+OvitJ^ zC#LyNx9$9!9t}))s{KLG2W0~RtZ(Lhp}`06xzf(F=aA0oiQoBLvamYJnqiaxdnv<* z7Gx0^SiIUoO_iLSI94o5GyNe-pgVJr*%-`mB7$F$9Q}@~Slay5dtqXgUyG1iqSy$w zx!2ZHev8Sa0i#<*M}0ZY+tPit{w>aMO&e6FaY*`s#aww3sd}oRhyqe6VSN*$p1~#Q zN6NxDi8vq03w$Ui2@LIV5S5vs5YPTH%Q1!Xa%y8AFm%8tByB>e<}`&aUm>?ArYCls z{p(^*n3POk7PTSd$WTlhZprysjp6kutQ9HjjoS9mlXy?BGI>HasnkzSOpoaeal5x| zxrPZ_@8q5gdkRA{GpIL-^t{SYJ5#GZbz;ep=st2?h?FYtsmEH#UdgVUE8fw>h$T~# zO%aJDDoG}+%YluY1_pVyQ^Be)N6y;=GxsgD4FrUXv=puMd+a=-6GkfIC{QZE-L47D1LnSrit=q@#>!CiViBTjZV~Yw?mQWb`-}}vfi&oypkNC7Pw^(_TskVIH zBnS!b8h^Q)3T&V6HWx<|6KXQ3t&dZp5J1}6Z}7}-ZH4IKl=7=arZ)Smmq-v z#ogVZxVtsDLvd+vch?^d#frOoad(P4MIY`nbMM^$o%1F$=grAXvcLQ6wf1M-Stw@L z!kvkQ=5MPF(Th`)%piaNo4)FfAjK$^ktl8Q-emGC&%)w95FNDQ+w@Hi4}JluT(%H#PCur|dZ{#>MIUq8Y0;MXD;fF1BHef>urZSJiy633U(- zH{KvxwFX68I{Q_6c0Ri}PgbyC%|uTs?^;O(c`xKLK8Ros(Xywoj$&k55CW8el#<6H zYFQyQmdXpUJVxf1xdr~)4sl$e5&+jx&PAKDk$qP7_=z!fEBYs_Qy*9bo&@8KU8OBq z{{rb7!Q}4)kkhZ9WyBkCn`c-q&T_GQB)bJ`vv0fUTHR*y7x&E>tRb~f#mARCqbG$LmVqYw zA>1wRTnIWy!LxP^Itr7A;wUudx?Q7jCXi%oXX= z5ChSo85BF~wt}+#Q2YT&4f@QyFx$p84t0F>=!ue!v!T!~paeVQR3DpA=l_EfvzA9} zCDgmni1ulUW5~NuN4Qdtn`C;*p7-_Lh@FnS$h7&N5g-k3cPHUfDJ`m^Uv#6}sliA1 zg>Mb8E>!TgV?U~hw(nBMdb?i33H-}q#(P>23w9Q^-yCMU6wi$UzgS|oFnFUQe4jwp zuj|zeRX&5?jCKqjYDVwS2dp@$u1FHr4F3F5a`95S`37rr7p2 zQ3v?34`Ix;F7(3ZGuz;2@i!?ptr|Ph{)lqxK{Esy#d%r%{%mobMm*_Z_aFSS7!*-gX{S(0PntL1>x^7wgXrT#B-b5 zA?e(i*5-lJc=V;tOY32kmul%hjCFA zQ;~!v`n)#9Z*!Y+(=w0_nd|(SNmeVO?nDI%{CJCS`&fdm)G zpLe{{#VMTS5U_WEB+0a!5K+5)tS0aLEEDtmB?LqsEWA3;|KLz|_vY_Ewf-luD2{_G z7HK{O;ZHy=BAyjYq!z~`{-R;-JSe@UWP#Ot3@ z^6A8oq#@#3ukv*aMt^DF!;1!Pb6)VPv%A(X+&LqcK6HWw`MAwcAAnrAer9PBi~l8I z(jS1i%;^aCzOk>dfl>A$?9#RR7tbTYd^oJ}+L)_rv6|SKQk@%FF{gt1%T?EHpqY4J zs8;fM{gR*bTmRsrL85sl4f>=jo8JzO-)msY48#!Lx6xRDxFKipRjp43747ZI( zw@-(Z%6Z=y=R(L#LJ}r*yL;D@=alpW){0%Nwvsahrw|RFmw;B=+X__o{(_u8Fmf0wDY0qcP6!=?BrOEw!mZ=xPrcru0>tp$;heuGr~Ms)*ld z;`1{)Fxg=>jm(4)Z{(q@g<$y8U_5Ad!{^6cEFwNpzTfe6N+B>&<-O2G^}kt`pnn?9 zq&LQ^ILRST#J?EW%>;kLuWec> zd`j!i>LLEyQ5dPoTOEp%_p)G$=J15{&DWGY2Ah&1NbKv{@`5y6J-&&3to`(U(homl zt{BIy9xlFKx>)dko5<(kzn>mZ?i>DBoSNYOnY;xQKh5Pr?-G_^c>TFC3j#ggdULiN zN`mYnrqspOqP8AB>f6Oze`zWKnbD@#i}UV1SL^FO_eN*W$A#$K$irNmuZtboP;)DG z9J;tTs%zB8X)f3pmMOudtiGpq^*q>w;d{Y+68hbJ_k?<_B-1TrQK~~Un?pZ>p)mY& zSrb-zMGBUv!_vw0czf|`53fJf_(_E715!uHa z^(9mIRgg8;h~X#Xb&YNF@xJQ%dg5_^u}AMje=vIjg&9^SyOsFf&{O9F%qz@&YIx~x zg2Y37@a5~YDYK^MKiB+Nen$A@LB=nt(|*XVL-k?D}ZTIfmnLH@X5RAv|XBvl|6P1#5Dmq#_I&!(9>qYBo%nU5?;PR4^`Tj%LpWR>2B;gWq?-@{uWk$F|ZMt)!z>q7k2zoge-Rs&L z{px(Hj`q%?ba2SM6Xs1OiTV@SFm`|4%<_GZHD@J)ltWKujy2ytJqSENwyB8O7R+cC z79lX$EhVhjjyL3!X3BE+Syr`2x%m?9$I1QH>j}4Gtj7}>-wMD7fiNru5;2uRr|W=D z{E>NF;Gu`gdFl8FQXwt85RqImf{IcFaYuSoGTdP@iRoN=_~#r9X)|GIgIq8 z!i*Pn-=LquxOo@8p{x{Ve5~W7sP@HXcNSEo1Jb7p3Qe zIH<2y{>s-o_o0Jeido8f*QkGK*{htkbSHM6iO${=aua45WF3il(KR}^@zP38UJTTa zAUft1r5(CZX(fEcqspzIf+OdyWmZ{Bn?+vpi*nS>V=Nmin1@g=@^wQy?`rquUH9ED zm>W;8^`}q7^k8$He0;`e6nTRWhD&<0g14!$uyMqi%wekc_yjW0ic12FTnw}M z-UDWaXOMvXtRxAJdZ%lzoB?LYgAYO5oY6*7D;gz0p9}lv>;cp0lUW98l1&#&7c=}4 zodRHisx#75aX(;)Cum20si^5VFK9rCC^X1L&{IbiIv}V)ywQ;uM|Z@H6eng2O;loo3Gvb^805_hg=u-Lak?C zwnKI2${O8EVEE$u$?-`7kXBH0QwQBTu0I^b_V{~mF?J>a#85`xr>oJh{0UEey16Zf z^HL}20nw~CBN<+#x51~#2YE9)^#1~#)((_Bq-zM|43^hs06}bE*CXPv7r9?p|vZAjLqc~~3REu?AWm>yzXZFAAKj#7ns0oG}tIylVpt}#R|h*yNTk6ax6 z(>sUG5{>^NYv$D^vx=9|4R%NZbcoFdSDeT&X{y-=p)PNnQc>gk0>dRzl>RwhKZ!fS zDU^8W63zs6fA-^fuIcXY3Y^a@@mQmN`deB`EBx($djV+NY(4y9ZcZKO@2N2s8)Ryu z4FE`A4UD=uVkO@33wPjuY76c$vrD7qtAozqrBWF_K~rhoh3afiYJzxc+M-$$xj4KE)`RaKM{ zJ5O$5gr9JM94o1L%DAt#&S(?MUUPT=6=Sd5Tt2;ksYpRME+g#LE2G^E9=#jPt-^6zpNC2=HUMU&_#;B5m3Fxt{5jz&LmF+IlP9d)E=+#c?8Bvmzk&JNFYo{1C-Av(Wsgg7y0a(m9n}uP{^f6$ z@J}83Uc2d&8EZLAcn_@mO?rO(e>G?S>*ISA%x!Ewafl*YDJL&ml9(FY3~f;T$F?`B zLTRGOAyUBmP;X~PgNG+H`(yqd`_QxNxaKH@*zUfthG4bk=z27YEOzRo!%(ObnB)R`f|Nhr;Jt4a0W{>{t zWdsoVX0#5U4En~$!T;a)#FJ85l@J&Ygkt7Xm`OoAP&~ZMkj1y6AmIx%`^hcSM7EcDSC%N&9V8 z?UkWJ4rZI&8nC`Ia(T2R;fW1ZsV+f&C3ve>G5!5AXl0J81EO=Oy=h^@{PEiThpjNJa zi1`T~jM2GFb%1+bju>&6p!Q2A68nvhFxh#R7SC#;!araY$=ni8gogh)jH~CkoYlXK zRmM8q+9bx+=#cMd0oKNrGUI(ecVmfcaO_0vB74ZkN?}Mco$PTF?BbA;GPh__kLwbZ zva~vzuP?VfSNd(?C;LHI?Bv^U_dtnp=w1Ew)012|su2Byk40PfZWlV^*VcdO=}q7B zGwJ;ATL@J4Z%PRyP(K810r$a;DY`yaR76)!0t{};7zArROBNikRm@2uPtarU=<)~; zzNjog-C?RRKFBWSu#_!1J4!ZYa7p?{nw3c4!32$=5@O5Ews!V{DBeVM3ca3{9K>B@H!PEb z2nRQa{=jCoEr!b7YRqHKvrp7?A& zFe@!O1DYdJ1#zr=^Lt?Iy3khnx+GBrw!)m@$llA@6ugm{c5S-|4F7bnG&T8+EvRQG zPZe;3jar8E{Fe7?aNij@zVq9?U*UKDiqT@O4cwnt2KA6hEyff;g5Rc1F?@mO>6$UT zc1q}L9e6NBVcW${xlU-oQjgI#bjIXdkXIg8VfjJY_x)Igo7fXrYJ6fi6}|EVHD969 zu%X>7n&ix{v4WeGquMc6R*G*Z3nTQBVUwDAT~_w!LPh` zqz+cu&G%{rK@FDJj`Dt)l6^*yo}=_s#%5gd8InEM+%UU38+wYd%cnn(mJ|Af5!OI5 zQ638hG@E%BI&o?scx$b%NKfbf*cl zg$ev${w2GYa{?dD@|a$x4IfwE|6a7bKrH^%v-5kZ|Miv}=d4bl(sh#c_Pxe zA+H@)pt9y_jq)u^nRDvE=H@sW066HluLzl!>&%|x%c&m|h{o#&c_Cp=We=17U1k%bm+s6+1#dg5S9^~byGeOrNI+I_c_G=VXLVhx_^!We;TN4=ZLvjFxp z)9!up>RZfd@S>!b4r;3M=>AYdOs1{x3emx!1)8C}w0|etpJQ*cR6PJ?v#4Y(Q48E+ z;9279+hh~#RxK!WF?IALl|Vn_Y}>w>jVx*;e0PcEsys$P`hd)Od?ug&AmLFn&KDr5 zN!^d-;=QSzBF~fQrebNeN(DO}CTYB#HXaW$OWe$M3lvGLFg>4d+iBS4sGnc!O>zVD z%G~ZtH|f|07w2hG3#f+hepuV)0OjSM$e~6Bl;DG_pro@tfTH?=7U=LlOCDNscAY>`}&z{`R~YTTz;=FKN}a3vkuj?3a2yMp8;?M#|b&4{s0E52xMKOK83WqhbEzy)q8O!d>< zGwjpvpA87?H%-?SC+(^#8mUeT4+T}zIBr$sIKNgzyv3+{BjuLXx)zC#dSG;^G0@f$ zfGD+X%a?k3>&VLE;Pu6P`9pv=gxn?4((!Y&!y{qH@mwLTZJbRkc<#U;>tawmCnFsi zhpwG9Q)7KU9ecJApO7HQBtnu5bg#d*()ht~N(}08U+s&dOr?naQIIV3$!-Ps ziiA3k7AJ0f(%b1)#4{jPHjkF@0o7%sb4@QbbMKP=R(v${H9dTn6HE$%cSxopA~`B< zxWMJ6O=<9V4N;3|0LQs5=a~8%9s-=wDEWNg2ty1>gMPKn*+%~m%KIawT3nU9)Fkz6j%aFLQRp={ll`9k7{N&Jqo3b7{TA&@krh(-oK-5iNW*`s6hk~62s0j}Vdyilyi%M&W9i4kh!7QX*x&y1v={nTw2p|8E6LZVa*5cjycRk1K6Yg+ndivI@aVr>tM_inKfEowjaA^N{-j zvfvH%s~Z7@H4zark4W~a89x|@@8anMxfjwdpOZ7&5lqJY&^1dWF3g>DpB3Fwx{N9r z2p-*sJ-vu8utS_fHe)Lw&N`)~1%q)g?vNToc4$3ihr~PkgG(O(0Tr}EnsR(=EL`^+ z+~dXux}5E%(#Y*n4l|^aESoW5_&o~F%u9F6LC#}g*eaSwesFUvFXJ-*AkjYVWfLE) z@(x(<4E2|8yk+2q@c$W_{r@f6)09z1IR2jCWaD44*v+l-ueXtAy*xKIu)%D{1%`{(dlund`r|DjZO(SNeWWyvjb^rKkN75|1ua)#Km_GCQ;j z=sVF%!?BpnsLw3i;bamxCpPnFTJIC$p*IzTll}5hp`{H2^q1OpH_{E#^lCF`;bl$& z<+nPi1>t`4ayNz~dO{(7F_dYVanoc)MLp$k8JcQn_A5J2MROUPoMCewB{Su4AC0Yq z?Ge@p8Ed%7IP?R3#1oqdww$`LIHJ~-S5S+MPhp>JJUoS=yO7ZntNb+`Vy`eLLn2L% z)|}P;ofju-#SmRp<0ObaYu+L2b8LL-J_%ZIue4HX=HX#(lB-#!M)pvqzb2g zveL$ns;tPI86Ds_#zA%oCDIfbH-aMrEg#cJCVtieV@_m#LDtWJNkRa2cs(;^qF1R0 zuR(Q_n}*zVGOGlg$(u6l9{MsfdOj_LaOU;*kn7g|p<1YwF# zJ7pj5M(l;;D*KKMJt85+kw$W3Pn$qil@ALAai?dIrHyyOY&{l!+x=n2eL^o-1qMLq~7}e;o;MnwIe^}4`cR%bRyF(Pa&+& zWxOTQOv3o#%=5D3co$a9jK_zp`pedTFka8OEqmXGMD`L2h0vJsHXEnJTo(1V_TTn^G@n;%uMTlALXArBf2sghuZOGz-X2l#Vi*3X z;t@DIwy%xTLN((6Rf%vWU*L9mAIM@EWM-*JCCXvhs zC7_|^98{SWFtehjriN835q8m)xUjoXbQW5U3#qc6k}8-ijJARF4UJU0*jYbRS>NCF z-^0#HoA^yJ2isl9xhpSxQ_$0mmdV}~$h$5V-g`^Jnjsp0y-jrR$OiBI4^L_?JpGFQ z5P*K>=>ncbRQw;0dq1r2uuU*%_E?h&H&||mKZNR}rAzzR@V_jK^-cvmjxTulKeyf7 zyVZW*_C^1d%&8qj=B@n)f~9Axz-w_)JpHTy)2+~0s=6pO7nTGOT%=V&LtHUSqgI41 z{(Q@#80$oH;NPYGH3&ggJOxKrG{An?Rjz!TZ0_C6H4GlzI3~XLp9z9`RFZ_cXV}u0 zN;G_`Z#K~3os84?*Z!f_&ZIslazU1*u;zye(wr;#5z%RT_&fjP4E8i)6<&pe$WcAx zm~Pph^x3#|F9C0!xbV(L?@rQ+Y!l{9}!_U zkR2SKjM>D78pN$;^F$6MBy}^C1=Ts}*20MsA?t{<`+XrThGtLi*H1yM(+}K(Xnl6% zS2@k`pA&OD_o(K*MI|0TM3-@8VSf{W^Ox%}qazn_dqjjP1-WdzfZB!7dY;t3`l)#u zaNGF}tAonI0lgj0uWHt9mv_zlX5+&unNk1DTbZ?;EIkAU4ts;{kQ}O3g3z{l`tVsA z$1)HWCl4?g3n{9y@NWvj9}AD0XwpfybI`WAByvkeZ!w=eRhOzb26W_1^36^6u;U1n zc7wL0TL?2!PN#7&!O|Z|jKF!Bm|Eh*{aJ={4fR2`v}6;?=AA9ca=U?tqrXTLbQ=F4 zxpKVw2*tq8 zfuk7ZLUUUkxZyMC)o`eG-Dk@yFN8oh6^_v*V@7q(TG-=m=!Y9aK_*a7-rgILKm}X2o4l~sn$!+G7p?+G$utJJUr%Y8!!$#$XgZ z+q=M3>hg-9>A8Y&Wc;U=VVZw1B*rEz?GmG8C?HbcQ>HtOw&X&2E{RNVGbEyH z`c1$~ezUG{AInj5O7Z2R@`m4dc2Nq#zyOsDh}o%C`WougsEjBj_6V2a3PMfz*}qIV zrKfw>rp-AuYV@0v^6YDHD&gZF)48NqYqN3&5T>pbTBAG}*$7-Z1sBrtU-pKYIG$LsuY`#sZb9M(_>0r$SY8@22~ zI6e_I|5wl6w?3|sjQTaU5&_(+V@$~CEa|AZPu)v?U?LssZ?*0S?ycz+3Xx}Qe}|K! zJ`Da?yxuF`+gYIw+ogczEM0z}A7r|G zz}gW{y&~wJ(oGDB5+D0Pt&PRH*x}Lnse@HO!0tnH*X70=O1Rot@1xD|>*U)Mzqp4& z^0Tz~Kh*U%M8$w>AtGwRY9&SD`x_5MI)`0u&R&OXijN}51gLfNc~fLD4c#iF*l z`A}6%|54H#^oFmECDk(gGAniN^!c8)`i`Nie_^M5YhZxG@tJ@Ivrfr%7>?w9qT<@ zm~!;sfv6w5*~M}pxUSYnx%k^be{GbQ!hJN^{?>m2er!(Ov+0b!JdxGpips?mJEH`a zsxr}~sShK~L1npQ!kVXBQQUTH&D8XrhOzn5P?He6+#Kz;)x>LLc-f28s!z>~H7^Zo zoicVzr*dc$T?&}x_r86NhVRBLp*2po_^Vrlm8poOhGFalhRj5|8bWXg->9$6x|>gJ}`(7diW0qgmfC=^X>~z1FL-F=Te0 zR|EBmF9w^L>^GCVS7Bm*7WTDtG5K+0Sr{;BY4xKF`IR0((YnQA)yZ$GnHNa{yng%OGpu^KUcU*g%jv$DV4(h8=wAR z#k8?|DjqH1@_PV$HKHTcTDmM8?$69Y7-DC4ZRbgs7rN~gS@mu@$wTo7Gqn;!xB48~ zE90UTWz8I!wE28W&Y#r(1itq;j^fn%_@l>U=11GKeO09Ra}8;gqZ2t7lGdWpic@p` zG*6q>Oy7(U+o<#{^IRnp>t6)ipU6TaE>EOn$(I}22_=;b6A$`^VRb6(&oRaL70eWa zwZ`APVklbpME{Pd703(l+jHUB^u*%l=0~%;_3U{%kM`&8C6pHzWE=@jqW%-O=rIU0 z)v{s1qtRZD#+D2&fjWNCjq$Q_in3WeYhvUcz=GJ zEILGDV!TpBsw^ZonuEOHai3-$A6ukl_MNH3l`woU5j((r{JrRLky2s53w6u{kRU%# zxP!3#l;j7z)0{aiCi8}rrJe{yk6toFJW;0JxMAFoR=P$f0-j6%-vVj^(>SoPFraGM zd$oan(VLUiL3pt;LX~uCj#J2+lJ$PSiMBW>t*#JVC`wL=M;y7`wYSp}rw0E`Xd}Q> z_b8=~uISgbi&D@*5t?cnF>PSKMF*FZE!9b`L(f|+7p_P#r*(xRGQ?|}7cV!ly z=KSYqf-bgM#H!6>pIyKA7#7mRL9I}qZ@TK|X0_z7BLpiTsM7%&&>1b^8&nYLMMdH< zTv>#6l2WI)eW&vF^qeh((FpIaI&M{+m>5z1SX0AV=KhxoDKNQqf$-t;@w|M=_IHM0 z*cqrjQ*lxGj6zXS$RmT+bWu`Ut-T&w7|S$K;a3S9!Z`19YUxvhul<(uy`%!sIR~&s zA+4a|5xX27O%7Y^(fY8?M*Mrf*u0_ipYE2j`#3A2Rdba3@+6pa+)tdD#S#@K;(ZWg z46i2(@=6Zh_(VS_+|PXt{X~U8L2KlK{LP{yZRdl1`R)4NHWc|0V~40dsYNcgQ~@^t zy6^dX#(cEz0eC;?v76Z>+_|ILsr~ThSx30nT|aDUh)U@Ub8RC~QFPrk?Can&vbh`_ zk)aW256;7B9F-)$#vG?uL#|xk(2?_N6zbm@Hl!-h<5`rH*)VR7n7s2hP^#XR?7H^i zlSuA-LTme)r`LK*hht@P=)R$hWm@MpptYo2kLwcCadC5LL8%qpS>J-W8T~i^Q0CR@ z&$|JK=$bc~O4?6>f3EN3v-?lWtU#}JUj zY^zm8iK|+9@;G?J{@S=Mr^mu3hXFf3!kArbUIG3D_D@Xoh=-=h(hr!wpOdE&09Imq zu5OmdLv=-QF6J1$;dayHI}Ml?e1B9ETLNkM(!gTmr~@|p-@XZiBjsGv>q_Vi85HgY zCJLl6@9y=m^NZjNBjKq5w-d6&X2k>5s2BIuRn$IGgQPhthv<5a1mSC?|Jo!Vap09K zRc*JsMuTQT!XnJoWMgAAwf~X+F^0@%^)7#GPv}2#(P#2c!%-rvplK#e5eL-!-t39f z0~;cfN5=3XOMTZ?MD%hQ@Y2`wrY;^LWg_<$E!=CWM3gk!D8;&AIyki46ve;Vrr;QSJOy7mxZy!Rco$n7TiAYy9F|EJs42bK}^k zlkuq#f<+A&LDR5|xcVudE&FTQ`7azMz}&$2v|KL#M$C*e$`U1CX}R2dzjG&a`sU*n zbkCQ_WL|M}s5Kmt5aG!ip*uqygNsR|508!*t;B-{T~cRvePt05X37Kk_uG=9%A%37 zT!R1Y1;_{_WXl-c>F z3rku{Utwb$ZQNb)$L!|OMbd09Q|Zc~gNb_t)pao#x?+d!d`v@?NMwLsD0eqG!!xI~ zCZ6evP?sb*f%9b&046_w+aWlefw;LPCs6=|^48^DFASsjezqxWh#5d^`uKmF=RRtn zu*i>vsW_fBdLeLQ${#=zy%aiHZw83jr)rLRGWYUB$hsb zl35BCvfEGJBS{DklKO=gGp~W*A4ro2Keh1;v0=c=hmPHg88TT0=fnPynuy$de_EV2 zW^a5G{mwsxeQGw6KHg9FnCD?FZqiMKJ>B^bxX$ld>`~}lkd&++;?0sIFG^rRl3e(; z4P_T{eu4f+VH8>3gT})d{_qpAiO@WDjR)H4r}gYTqos?B%hWCka>Q)((&_u)Ci0iH zfXmMJysq`**WQ5lE}VCZm-K5>lGo_Ei;r8SMnr0)tHc}BSkv*xP4>|E<=^l)-H3%A zPp^57Om^i(ZJ}IlG*6F_HPP)_o&LBBZo5Wr$CDi%D*&`mX0VrG0!1X&i(IL$0&b>T zoG1vq&Vu8ua{5PfC@&(fP<0Hyq^ETNP0=_%I=J0&-i?xFn*zjzohFW*?z^o703tIV zrr#yW@0q|mx?(XKKlclcqj5Z>X@F#dI`|cnK=J8GH+XGR7h~!B&XEeBT--aHbH{AD zU!0{k`*@bh<008}^Xgp@9S+S(@p#b`@^#++% zKA}rrzD^Hyu1HZx|3MqOMmid6MHqD7XqG8qhL?|G8~Ln`gn8haW?sWeaIMC6ym##G z_&n*fNiRx~f#>OMjXtIYwA-oWq94j`q=~Xz0e9mX)ewM;j0k~ZEV20?$fvJpztVSk zx-Eq=2tN{G;O8daoVIW*f2)PAesy_2O44WeQY5y_&T7PUUtvA97J!svXB`drWm%78 zr`p*LvJd!i(zKle@YsKR4PG>TxkopAZ-)ecV`e?y4>56I+X{b6NCehAZVrt{hDRea zS6F?Pi{X2iBEQq7rhki7Ipyn--!9NScy7>eys+jlqLg56pPlmU5n_~8;PDPT9Vy`f zw^OnoQ8Kwb8424Yke2tBm(Z;F2V~~7?SmMd=q$sq(wztW1dQ*NL-VuS?9;+g+mgiA zwN7`HYFkT*ecG&)2_Aqs*~rNUWJjqQ1uooOO4un`hg2y->n&s^oW@S_q{LxDI)cT) zdix$&j~;!p&n_S*$5=2KL#(ddODCaeSq0iJk-^9Qts+j+5sub*rO&=}cave$W;67L znKn?JNBy4vL{dWQk%}T?u82riO(%#{ff3T2EtnxbOkC`(>y8CUv5R40IN>7;J_;gg$xXF z&rQmRy*KAlQU>Ge(bZ=)=ZL2Ur$jkdGmEg~jORUd#D?~2)Ro|HGF(dhnh&awRm-9H zPk*@oas-*YpqCL@0Yb#O%Gggj|M!x_Q!Hak_%cLC!r55|1q;?Y$tAe0YD^2I?Rcw35x=pyLA|YBB*Izda9rmB} zj;v8aZOhOV)~a1c!URkoc4oIR`p??E{(Wa!t8IYv%PQI{ zF=*c6Ct8gz9n%UOBgbvvHg*C5uQYPJEX5^K2eCTnZz4ZQhIpR#M4y-bqd69AY)6Lz zu5rTjOubbGhBN-cn3S&b7LVezP;YAm>D4s#d={q-d@CM9oe_xI6U6Y5cFB;0Ih`{bSQcqTd zfGF>`&BN!Wn$XRI@C%{TRSzF@68*ia<9hWwL3Nj=S~*mFSy9Ij_k&X0+uUVTW)wXs zdNZg?V#B|S0fm}sWLdPv*Ut`Sw=>+q+$8`EhBKU0oekKCfZqlsI$QeGv``XZZ;mIN~vr(3fs~TLsJZ32susSGHrc$|IUH>ciF%s8Co0(qM;tuC2qF19_zGa4=0h8qecS}df6 zu)euE*$J@1&nrD@AxGQ4oS&rIVpwy#VI_8gO;9>?q?CcVnKibX7KT8#$863xG$XE} z5Lq2BVC%dCv8PK@`q3^`Zzr3cWtT@eoFou>Oej%$2s4ZpF}EypiFG{J57uuYTB~Th z$`9TMneiqeN8}}-L0|P8MNY3Ibh5h0o>}P=&58qvQqG$ECX_6&vzm)$!a==-d=yW( zz99vkUs$qMsZ0dvzJ==A0$@~Zj2|L$>25ml0#_6XGB<4}(#AB-$V2t$nN+SBEy-S+ z3civ+CuMC^E+_nL01G}Z@XF6h<lMXDy zE7pe-PceSkc-J@XK$+l{@G6~$SW!LZ{$^8|{=R1C*7wJ-dWir3u(iBV|9uGf()rdy zmfK)fz$?+-!Fz3{l1ehUm@7pzC~RoD>DvX%cxzciQo>@ChlGi%BxI2 zy1|x|g_{sqR5@PcVVcHw*sm+zqT3X`ku(G6oL@Zpdi3G3vXEUaM)7w-vUyoqbBG!iL z&V8$r!8E`TjzL3cEoMvih5k@9w@pb_tRN1@xBY7cecQzPIwVDH*@{aS7)c|<5h3*8 z`tXoDH+-18?GNmqRQuN0Zy2B*Vi*OF{V5Z=%{ie$jTTjXk3{QB!6AjAc$V5>4!Ta; z0#VJA=we%%#}BI~K2DJ~J`B@vls2acq-4PuZO5&vFq(yY9M@GCMI}X3Y7L0SLUSw&?R%u~~U2;s-msagFPST$J;=7mdWP5bD3&$z?vN({- zWLpeCp5KStAn!*EW*M&t7GG>PwEw%hT3C`E8dTCn6_uV->dwNx>4#MP#a-p%(%eOt z==W(ttEf!SS&ZEB%tJ5XDI_Arm$gB_8I+ah6^~D+AeyvtD!sEI4(Oisiuh(in_I1d zoHH^~irg-e12PS8#rEG9ip>YlUI4c?=VneCb`Lp1l=bVtp8-PCV6yEnT2`msoN;5+ zIsw)%#7fm}Z9L*|%)jDhqw5)7dB{ka@SM|8Ww32K^6=ZYuyB=4n9{&SIP0}K=>S}$ zIzub&flKi3(rTx^Qalx(?4MAp41}5mb*d>zpcv(@Tk}G}vkr{xm9Z8_58WheGz7)g z%|Im;5^Bc$lS7J=d{lSG>c1IjRL{3#sAe>rGJ(EnNMX{CUSY?D&aVX#93H2($g?MA9-OXvkVx4>*umnzm3Z9E{CXzXH#(nJ! z+=P9aXY9>SrjU(Ss3Evn#PJ z@j@Ui^2$0Kz`i(nY2|2C{Zob$b9Dpg|8<<$(;gQh^0MO<-!BXG`37*Cs_#NMTR z$8iL%CFiTj2bj5VjDIw`HyKE4Bu9Pe0SHb{_Mjv+x|jnAN8D{4vs0u2;59P{Js^h`5j{&EeNOF9St7u9uypn7ail?%lw9NQ*{I{mIvjV_C5aISsMY**r_VKgzb)@1f zH_SIsMb!eIGG`AtMWMdB+0b^QWKD1EY0}V$R*Oy&h|BDA!bzdpv|%_}KPEHrw(QBo ze;AUemlw&S?E%C@hgsx8*VPeSQod##jaqeT%SH-4ESz6G%NIQlbUK?_DdXAGQPU<$ z!cyA=4o&bT*4HwRnQb!7?Ga`eP{_bXpDgr6+5zccx-AznC~bRq7rU+Ilj_t9sjt`M z(tR!xAh^y|PC0-_q=x)^sRXu-WX^}Dxh0giQ8C_VQ`%{QV75Npj0nXE&b#z@_%kGX zD~{>yZZy%`+og9ac6pX03llx9+4_%2lcNr^66iunAalPraa3Da=U1xQ%Xv=w{!I(G z=D{VoqoL z>Sib_{|O663}%yF4?z#Ez7gDAHYeZf#?i&J5F9D;SISbci@~8O?hUTp{RAp*2M!^* zpLuFJvYFRU#d+WP`KY=uqaT`+6`ZmeB5s#OvFW8SPjQp4TC{ERL8u*PiHrQ$go(+f zm;}a1h0?hNjBo*(1*qHj7{f`2OWm%_Ibtp2sxX$?nR^hrF;^OdObdihI3GbT)>VQ^ zT3etHE~-X0{ye8d5A+@_XJ&+a#X~|mfI+7QV=Lm(W)-5CY1B_HX+?XOe&s9Kb?SZf zo!31)m>Q+Y>i-lEkM<0wLR1!&5m@ooV5C4C zb|J|zjo$o9mw9ujXogsh3`u&V?2WZ-8>Fw$opH#tS<5&W&7(eEFrK< zsGZK2vk>eCoDQ4JkJ_6Kce%c=&ggj4tE_XISCr`IkAT7#l#*Y~YX9U6|Lqd!qN9YE zU*bSDWzXuOL%gi(I^-iSipVL)9zwD>sxNvGwkf4b*~v8q6FHA1M#QygQ>_(VclN%O z{q>&UJQEO1p4)NDSL4v$xl_I-wKj3^PtM_r(r&p- zjPaMEq?i=I5d?*3$Wv%G_f@)di>U!5La zps|O_G~eVom}#s(vU_ihdPa(%b8p@9iVSoPHS~^a)}&H$~9>prvvCH=7iy zi(OOJ&J25jPv3dd`_|(8!V=Zu;a4HUtdIXiSSBg)tIELnztE^L@EC0+;o|YRUxhOu zB)$m3NAYRfz5ALn8N9FL#gGnbBu3ocdvV(YxmF?!O98*Vkvi~CPU#StUA~to<1i8zV*er&%F zKD`;ikvqw~L>|wq+3l=t^}4oqOZ6Ew0{oT{5+|*=l}PA=>5`%ORYpBm zy&dB|=`M2X)xG9Zt%Ep{RY%C^2Wx??rvJD&}A7##rp*5 zu87B1tVO~o^Nw{EI8d^4WYU#&@aTt@-dJVsNY()jn5oJER1?+|776ncEe7T7vz?#L zBdCXYKJtr;*Vnh$y*P~L^k2J4bEo=gVg`d_2P+x25SJ2!b#j-eWYDGjF zfrWvLtmUl9PE&6>lp^jpG$8y*1n#zz{XBYKDsiC2z*?H#@+>w!UXU}c;KR}(#G(R0 zN>)jA|Kx0<-#BnoL?&>NtF*!L>bz;`SR?a=-=s$T1ZeuDCc8G2$*WlUxV!6m)M0le z%=dd;kacKxTEq?8Q`z=z-uAp(mq5wTrHms9o@|CrFe<4LpJc(!-UQf38CKS!!EOGu z!LP$*27^B{1EhvrgnF$HlV;Ix-$710FktR#HbXOwEopqi1*WPh9^!?y{jUG51Idl1 zKYXO0rh^U`p;B2S{aC2Y>gDs_CUpYKFfm?hLbWBP|-wC1&NQs;tRS| zLbjSKf}1y;q!0$FXY@N3HMzP7o?Em`n}xqAiGblk-Fu9$z_Z;I#~UWI4Gg26)uATY zCq{%m+e#-5Avn9xGz~}T2V%V-FlY|pUjPW8K>1hF<+BLFx%Wri3`T1d&+%wnESc%G zIiU`Rx%>5=OibQJlY&k-qwsh-xZkV3IE_0aULHj+p8_WAn7gExsQLOL*UJZ~id0RBsW-Oi4|UI|S*fFr0F zanFFB*t!(0RMYli4*V>BgUvdSXcuuWWg?Q8%XDayhAxQpuJvVFsw5&u+J+p&g)0tJ z4MRiIzqlLapK0NjEjC1<` zWj`q|TA^Pop%`PuPZ7kUlB5r7r*XO@s;{w{BDqE(8p^7uN9wi8AFO>sNowIglU5R! z>E30gDJjsByaxGYnri7&KJDzKY=B+A?)CaP016&@FAjM>0HJOMpEsE ze`-*Cc*X2z5X1~P=h25`!0#F>IQw=c!lgfbAchxWQPh+6=)@t%9z8V9ga_KDWc<~C znFpFPyY^?WM#9bybz%BWS#bmLx_{YzKPU0peN=faEWcyzXRGUhp-Sc#$}#*sU=vfi zvQRR0G%`o(AlUFr&QhmzkQWgB8vOlsbSNN+-Gd6*e3+fy1#_eracmJ)PFBB$*bD$F zEmqTEVf?G4`=9+9((Bg7^k04qXl4G0VQv1S zL4`ja+9JKFPE4xsITED3)&L$9`zKwd#<9r|P9$Lh*m4Bn22o~mx*SvH^Oq1N)dv?< zIO$p=*nRR<1+COj^r`za@!n^)Bt-Z8sCxezYUjvKY&cbnXz)T6OSGPD)J|_{wnHU&KCa5qC?5 z6PBX)H`xEht<;MeWgREN7nX2mktTr6| z;Mh93FL4MF$=ld#v&V7VBPyY=jb!@ifap@)Psu%O1wjrOGcxLicW@~qPJ@F?%#eZ% zsx3DiV{^Yo2{=a)V>J`hTG0h$Q9HUjX~$g!F+n8o z=rfehQ?hpHa@r8{HgHL$5q1H}l*?meN()C#;Xn1{`UUhG`JM)Mj4j@UqxQ(Cd6YmN zG6fpm#wr6Iq%qQI+6dIwDze2G5)0#%({mVOL8`z(RPrht5(U*K5>$Yjg4hHAgQ$r7 z%D`&2zg>F@wgn;bPNYTQ@E_veQE0YAw{WvjIjBD}Zi*b7Gbsv`C2ht!c%ejM9~dK4 zdy`^1$XOgks9muby2C2e5{{Sxh(+)`YqT&|1j30%86%;_C&6CveNta+qeb}Q(V24= z6m$Dx6ZtH;4W`~8J&IoR^XksNzK?3gW3Z|VK zV-}G2E78u;6*ZzvCgee1kry}09CVGCKDqQCtem8C`3WSi=1^bG8f}QtFEMI%eVN1v z)CPQt_7J26hP~5OtPO%YEs-jP#D#=icy2hXVG5_=ty0BGhVlYM^@jxi$xNWr-zCZG zFHiNUS_<6T-wOnz9Ztr>$Ffb)UDHEps^=bNEvyO5)KAs*8+{!*gg5pN2oaz|%B8yf z-&~c8m>G7SwSe$j-biI0H@u~0=WY!(OnW8dY(9(g{jzwv^~N2)7v(TBw&$8+)5R~Y z@q+F%Vfx@^;%u3WFbQoIt!vFhUFVY&Ci|UrLlAlIsD=&E2*#*6<*$TnDz5qf&gX}a zyk6oB78%V3!r{SGJ^7vemc+{BG~AE+#xfvZd!P4!3~oEQ1=x77s|h870rSdIR=Fbt-fG&Ht zB)3Kf`TE*)&A>@Zf<5Hy5Uq1=6TV^HT1RJs;!sP?<}*1zl=|`#cM|Sx$&f;Y)1Htf z`ZW%(Cy^5h}D2plw zuc*cg+F6T|O?Vw4$^eKQtG_EZb}q#R3nt7N&9cZDp&>Sf>N{REd33Fi zJ-%a9vXvQ&3a0eWaP4e_w+$4(RI}X134!^&9%&s{Wr1C@_%c1NjG2?^5=#7k3ikTXBn$XAQM&o}I~tZm zb$_~FUMIDe#2HX&H@5LBj^c2cfkZX}MF|l8QO-n$5!eD&$}Qz`nFo$0ULF1(M6qF% zw%Ln;e<6HVAMhtIL%CP6RQjSjMF?0Qtr&^)6V^4RxCSPXLrot)57QS}!X4&_O%n!} z{ews-VVWM2k&-u#`vc_jg%5ag3cQ+eIshK;U0}Di{263i>Jkj+nQSUm1|1oWM<y4Sl$YWl836Y|UR$=+87uM&NZIz2kOhS^TF$E0ZL`(FQ{%S=RaLr~W?4 zc27eS6LFMJnFLT1iq```Py#~FfB)A`a;VHXl35kOucMboy1<5sADlWak_$fBwnpaG zt-=a5Cd&`VS$ZQvEG0AD-*?TdD(=4wVe=uWt$^&OBy>%=>&8&X0im()oD7ADPMy8V zWauzuP{YG{ZRcbXNk-d?qxjj%&PJ`g+~Ala;|RYd{2y=Vq|_GrX5c$T=A0KYL|qva zrnu}&xBm>ZWtZAkRp51DHOqAxPGsYiDq~_?J3)Q=>G=`)a89-XJQzS;asSgf8S+-_ z11I~}Dl%wq^-Za(t83fx^o8v3nX+VBMfQy2wr;i>KEjWVQ#kbF*cHw<-(TrUuXN#E z0H0piPsjFhuX~sPONluw2`h=CJR~~%c)-LY=Yoh@JiVY7j5={q1A8P zix4)PW>J22X<`yzX@AJd#pBO@>5OE#xNRR?d%)r{qn2CM|H-9(kblUvqqZon_VTr| zX!)J8(o4xRuNxYwc5izg?izhW$C1j7$kQ)Rlps9q-0B_ti1&wBbYAW^*VRm@@vkMd zYeE_<|3RrCe+`*O{yylp6wxR{>0P*$`i{nF8twPm_gqf^LVK)Q;F)EuWOy_q%`@#tvIWgcNo5X~?+>mN85 zP3sXR7rw?*sq2siWHas7ES;w2Y~^Oorjt=G5o+&!T@of&BFibI!H)pKgBub%lI!+r z!OWOsi-HBxUpGitW_|Tm!d$c2q2ka`{S@~a&~tpRY~~fhk~M8GXK|GFa7c^I5rN{* zU=h>*0Aa|hO*ik3qOdB1*@E{MPblU?10+DqvenQAW^+tAxyLy+BFFx@5z_31BPw9< zkV5;qrhr$IJcaMjm>ONjpU3OFfn^qC-|tnmU9J88DEfTq%c&mSYBV?R_Z)FAk}J%a zlXj4c_eazux0hYqvyh#zyuhb^J;AnaycXJ_%K%}9Rhgv~q^h-T*Y>&w*KU;S4!7~l zr5p`>Ja(J$M@?%K^YLO=NERr@-#FXEh~GZ0c%s9?aZOGb-0VXkJ=NBOP)ID?i|+Zd z-4HOCq=p|Gm7E@0o?NU3Wmn@u`9%nNCHz=|U}#504#X{CtR2}^Vh{1jSzo0QTUMIK z_WDm}Cm1bJRfUTtLcV=ZEYTPqy|LG&f-b(V*ZDAaKmlPr7t0p?Q7iR5$O z063VAD}%qMsv5$KW1zYvjJ9?}0mL(Fj86)n3E;ud`BtQ0L8W^P?KBHZVJQ&^UR`)2 zjDyth%#kW8a|+;vVEkY@t>IpBpq~zZlb=s)vyGla5#vR%p=3~kWVLJYWyI`W#2>Xt zIT+AL{4Zl?Zqla8oCB#;-97IfX(d?Zd;?jN_xJP;1;j53ZP=z+fjs|E60yNd9&p%c z#}f1eqnbj}8cKThmUlnE$@ zPw_X$H(N>(0o!z9`hu_;bm)S4RPPAu5wG(IQ7=?dfy}i$f8)vf30%=jJ6y%s6ZEyy zk@?`d9|)W>iWn@h$#$>uEqEt&EmusCJT+WxWl3J7wPPXpqYsB{z<6n@WVd{aj=Rz2 zbPvg))rasWFIE!+t*WIXP2IBTsIcKQ!lZo6024W$;i59^zz>-(xy+X4aAc1mt7qqd zYd9G)u@MNqR6>?_WYi+u?n>AzC_P}b>jFrNa^A8z!ckBp8@T3*QjxMJ&Kie}9?xgl zd8v$`HTnX{Nex=S0w$EzLVwU zy-l6V_M2_Agy{~7GU${h(vwWG8Rn7+%N!b-Y_J>kFj-%4U>M4BO)1ijGQF$So<1Nb z7-_G%hBrBbP%A08#WVsG?OAf-dqo=L`1v|mZc_-Q3pHmyaZmLIj6R&N@?AaLHJ|Jb zE;TMW*qLanvF~F@YB)C`Y$+)qr@+U7^yRP&RVPr(g5C&M1VQ!4 zCY6M0w{tl}))~w9L|Z*elo4@xYDQeg?O?@=d5d|E_-Ib#pF}7#3jP$bftNcDd#WPI zZ@G3HG(HxVRF^(pu%~Jg5*P5qqRs$2@VztEf^A6v<2VD}b8cGp)GVQU79QkF?Q5ZU z>4Nes=<-T1h973P2k18Bar{Wou|4>B>h%ivq$=4Y51mbF8TR1C?Z(CNbEm|UQ@j3D z8=z5ec+1Gp;Yg#BiL#USXmBC798>52DQeAwscpTDS2K1m|M?AGyAvZ0@%^kV^FK%K>_>R0eYAn$h)x+NdB~U$bgQ<9A^$6+=z^({!4?6g z?qa5c9dI~Z&=FW<0C09|gf(lp+kUqk;U(gveCQWSX;>VKP_qDGehIdO& zdKUxSy1og7d4id)n+SIconSF|0OT$|Ho*tr$Uf?+2$*{L~ zbyE$KH!GjM)AT2n!iRKmaTU+3Thh{CB5V#^HT#Ll<+|N8tINEGdM#TE3*?gSML4!A zSY-5QR|C90{+hq%pJdnOK74MtyyLo3e&T<7nO^B_{HC>3xNfKgQxdHr!N4BIn@x2M zXbEE=($7pXQz+TPsu{wfB7kwSxFKGG?IcjHOcLKtG^E7r(<43%C@r-rLD%Q1`$j= zW)Fr_$^3ScCj|)5VIp3My&NLzu{Wnlk||)eMO>ItxDs)Ff;ahG;i`XQQsjvp>3DW< z(X;$5E2V8TGYfs}JaFFL>{++2cIn-^@)eogB?zMTMM&bNyt&#bCd|cRre9)N*5CT4;J5xYctuj;)l1X>A|1DeS=o5K$$8Lsq@Pwd z+)j@0bYGv%WjQtb5&3u<(_j3b1bj6+_X~Nc?*upb56J=ipHT}MHvGSP9Y(T}pIEb( zj-gAV5OTGu6VF?O!6W~IujeQ1iJbW#LEDkLoFka0XDJNcMT^#;+pBZkrO02B@};&G zaZ)X^c4u!LJl+)E>$s|c2(46Ni6mDUG5qA{0~qO6oZy~9iQ)VM-T&^{#9~uai zo`b~kE#D*lZ6$O``m}Zv4uIQmI+jSl0{v^^{mtrM8I&Y%e82a}5Byh+jLgEg35iM- zH!)nF+*{K7%9KO~oeKQ@&OGk|8I#gx>($`Fy36?WRaU6ets3|etL2GHT3gBjwXiKGeInqUI^>5fyTxWR#Iud0u&-I7P2*X{)xz!)LD`-*3hGpSKQQ zdqT>i@Zl9QiGcep+|_(gjIir%NgV+IryBX;wwr4_}}&oNw4ka-9L)Q`VEa zthtl5oF6~24M(mpvdx8g$Qn8P_0pK&&D(<4UN@z8gT+c7x2q3i68-X3KLJse?uB;u zed_9rae0!XnRgg0NNj;!<15J(`n&_nk{Muk#5xhVdd-v>k}R(&lsdo*ViA5Hdvp+M zW!(LiFeT02w`zBAO}kqGF?eKWY#l5|`O&HRFyIm5Q?WOONE<<5_F!EvO_0ATLBq#I zvxFGk*I1DtAALSTWTeWjU1skBiDxq&z|n&Q&8cQ`r@7&|Bbh~sq0i0lexZ)R)ZLa8 z^wp-|CNr(is5NeVh|q1L+ASm@$dcO@Dm4}w0}eddRwD%Qw{eH!}TeWu`v;Cyx(r@x5Es6+hwk8yh04 zmfX3vXjBQ#0ZjsPM;(nNTcSwYl(JpqXtPjY*gp~2hjCUao4;=x#=Va-qA7{E10uZR zlJ$;}vhI3roTwcV6cN=nVZJ{rN^u@=$T1bHF_{6sj=45gEyJtE#H=FaVT?LdT}u~3 z5 zFZwL+{vYc@d8bk2>j~_$kilalk1pKT*!;_tO`;|7lm*}OlwqO2e)|HMH*0y^(H_&S z#7k&$nf4Y^ZMlqR&D7pSbyxSMx92$OfAOT!|B4cyia$XjhL(Ff=M0H!g$G;nAbyHn z8zgQe_EDVllAH?e0J`>vNo+Tyz~^Vw2U%hCdBTCR>;jHt0TYD0yu5_OIX$GIVo%qw zE`SFQGrqJxyPg>eyrG!tC-Y?jJ#) zIr(kERt)e$e4cVAZ^E9tuFme1c{A@l=M9NlTk)lQ#cSfM%NX_wWn5cGsCWxC#upX6 zpUw}RjKBDR$6rVDVgd_$%f)q8?Xj%#4_OD51;Pz%hUbt~a zGp75#9@ctE6BZ~ya?6l?a;w=;*E_*1T#xHKQndLjjlEvsDQ+qZGH&Cai5>^eh?+xN z@U4hac|vr}@j*BUmvv10Z<30{;BWi-d#d88gc6G|8B)dc$%U}VeX%r=yiNKsJ${15 zFwH&cDf{L=gz%<#3kH4l%^v5fjjgNt?G@H=NxCd;V_9re z2;01m7xgiM*uaBIaYYIHavM-KN%SNvgsGo~Ml{D17y$8$dckQFXAbwK2>T%MO!n2& zLl~Iu_z79~<2Uh6Y?)7?O%jeLrso%2t4_Q&kTZ^QIj%mku-^mx^PCCE*i$S!WehV4 z>+QW5QLwg1yGJJ#yKMXXh{Pw_m%M8U|F3||O*q%+p43KeTl2Uk#oBZlRbR90V2rv` zi1PB-o$Z!kUAL*U<;UyP!cE)+ilHA&GHmoVvqV@%hp9R35cl|(Ol9xb8t4{+9?uKM zs^lN|jb+swadJP2YOD}9ZYvt}c!pg}qT~DCn5&I2;2menP9%9+Agt~TZ;oj$f zat6b4PW|d4XIWPz6}`0%<25a3GD&>)m0{2Ny7gB|80!x71_a>VJ8~w3^UOHn$vNC@e_)E;Cm@A`%% zGRpEFjAi}378^3=nwQ!#ND{hiJ*O>IuH?)SOV3C~|QecQ^0WecbF zi*p|kGxu^a{-R|IQqi!FEtr%4`NR3S547HKs|lv_o+;I_7AXBJsx_%nwdc*! z%zccu&9qc#W(}(LA2-~N_~k~zLc^!$sYZ1Ar#yXy_&}p>;m3=z)6x2@jtkad%Glrf zs7<%stySxJHSyfOrmMSW z?m70PEJug2_N?zuW*NH=D>ljD^L|v5qJZ8uA7?`J+miR&(?}QM67mAp2GZdXsN&WT zNDOW@7Js-I0)P!WvFlN(*ptQ6o05xglWmz5emLn)k!pIq)Ve@Y|z z+ATwC`Og2wnnMYi>auEDIEyeD2&4SIvJG~trctj9xpYVe zI7`PyvMzoYre{?0(0@Z^RWNY_ra4e*(wE?jfD^DSeq8}KFwx1L#X~p;eG`y_32bS& z{+_bZEfMDl2?n{lx|AZ{EUCuWf5k7_Lls~xo5#vyFb?Mwm6a1XR=|rX z;~qul_|JA$plN$4zMP$~Zu1s@>9CC1K;Uts8FvM3ax#^F(ujyOo$O$Mb1t)TQyvye zyU94kU50I4P*dBq1z)-{zVUHF9$L?v-(}Z@U%N()Y@$oP9eFgb9iW4zS1S2)#o(t>V&!qKDgTzFu{2wHL|;hQ?lRdI%aa-3vL}j3 zGW`2NgYpYeTMVib-SHx?P~6SK7MQI*sJiWw1u+T*X8FbM2a$C{oA_2OzS|5K;UO~G zAA{dIHK;t)^zj)PRF0|DoVUUrF`gts0WRVlF{@LA_&xNN+%Wd;9M$~fg zHy~dG^U%28D4(Md-gtNG8s57B3Cs29KYa9m3dHS-FB&O+iEU3yy-g=0-E+a`jQE0T z)nMT1?vb+Y&xHlmXuO%R;XJNz@+H&ggtok0-aaqnrX>rCMgzV=vkHC0nno|!(D z97fnWYTt2gBa=H=i`m7HmVPP>EH>p|$$xmZ?b&JaElwTFpsTK7;9Cg%sWdtoW^lDq z_^!-!2JAywB#VMFZfU(yEEI+{!a$vopZ^}mdA?>Qp&`NBjQHWBN$J-;eKLWUSx~x2 zcc^dcQQ?H#I`@q=PBFnBLPix%F~psMf0Ng*f!LWJ98kBl!-u{ zLO1YRf~pLr(Gk77Ce!G>Z@3XE0q*$wS7G$;1=EN}HyCkb?QH!0{b=>^Cww)wL(yDm zk>10t=i~Q?a^Pbw82jvQ`>}KSBv8$A5^~#?cKDI8_5MEL=`ov}Ufav+Fz=YWO2uEjH+6Hv;muHeW{vwyi2~wQwv->6 zYP0wISU~rCSipW-*uE}FZsnPNPrZRVF1V z;<2_u*y%_`(4ns1S4bVY%X%6#dJXS=tqt6HR<}Bbhc+XlKg2ALbeIHpUcSDC74e&! z^`0-zM1c!h#?MYrPcns4TPEj$BrJlv9BPrW~Gf#FjqfsyF5@>~^Lz+bAnDIL%#tZub71Y@7d$BGQMEEZ2 zVQC8fJFCg+;z7h3_HW^YPOJ z0t$Mj^<{aoX=JyKBtzh_eD~7N*W=KcHisS!!0q8k`rYQkx zu9vCu8GYtTQpo+<`0;-&6k*qUJCTJBUtk)LxxvMuGF3t104O1|-da5Cl)eQiG{X%f zqg-K^7UFi^(bkZ&LVXq}9c!~$0zV(6^&ZmK$2Voar{D1uQN17WMpsVBi~M;k{4>Iq zG~F&s#5Y{^6%B6({P!D=@A9RFpfanrlwckRZ)yy&(c$*!41e#-M(VYC;rnK0@3Aw1 zCcTxWb4gaRo7peIM6H(Y1j%%lrsP)SM&uWdqMVRlhO5OY>Il~rbW#&XIM+BWU}reV zg8!a6t_-@3m9^e)U#7QSuasX^`2slS4V~F??}uiIr_H+*5873QarNn5=w5H*h1@ng zv509IXDY;qi`iDZDAWC^Q4jry*Ksjq<=qwfzj?-9!6bsPcTzIoI6RmW+DEs@8-=BA z%iuW<$n+na_o88rz|M~w-g918SiWBWDRT^ktt#_%;DHldVb(IA2A_TI*$_>sgzEMmg94<<`U3cQdV<6(CC(-@@N+I=r5b1Q_hpu9{7uZ&O4YeU1zmqyZS=D)+Po49_Z05+m zdSi+*QL~eqc-X*_wd{uSAGV4$K7_*!g}iJAp#%vT-(|T*W&kOHiE<`Jqx*kCj7UH? zSmT3S$xT#T$=4&+sKoI9AWiA+GwI*m(ZaoKk;AMv1J8T&GWL4RGwdt=i0t_oq zA^P%_V)i+YXF9Awg$?=`SI=Vg-pu0%+Ln0tC?h`--EbJ$x!Fuoxd<`Q(e1Po0^wqQ^ArPr-~o}V+lbWT41&&&Pip1k;x1Uf!)0y?weD@4vi6lcid?cv8m z?m{A=FQUha+JUZDZtv+49g5x5>XTOBThvtlnM1f<6G1kEhgZ+Xag?j9Uw3z%0Y~rC zAbQiM+3IgG>R~evtMvu|cOH)l!24G1*5&C)H>JsN%+dQXc=2>5{2X_9k(=1ft`0pe zvso8l?9Z;-CO1j~aTg>m!O_4PBu!M9i`8e8^kiP1+V?)wYaMVtyyrf4qTjUyrOWbz z8v&BYC7La+pFrpd7ve?K+34}l6QVI&s3rpMY9~c`W{-uq)+dRi@@G?2 z9tAaIfp=zPm8f--(7*5>_)vDq3JogLd6mOS8s_nLyNUnkwDZgKs@YB|$jkcMXz?## zd#EY^m)?664lFK$)E!@95eofq{W^7W5(~yUTjDjO`y66;d(Puwj~9t&`yZ1}%ND($ zboWW0ZoCS*A)u4&TE}@xTk)PY@^M+@)+*CPg^yL|EGqLSQR1Sa6cfn0p1#_Lx3tui ze+5pd3dsloje6PP9wRAw<{Zv8=pEcG)Alh@LQhEnyZ+l|YT=1Eu2|f(;6Go3ST?>U z)F-hiH&JqGl^#6$2m2^|%`^$w<<0PCf7`gVE;2JSo=g;U2=$CilC!K-c^GJMfTRhL zs#}1~O#I#ojx&aF9u>r@36U{;dAto7+)NEWO6uY?-I&VP-kCegT_f2;Z@>cPH5$BDUJ>E`J#ZDsd@ZuyCazdeE_%2UC$A!G+30Zj1`sY{l7}e>9 z_H&v$HVe5CWm;%JzapXWQiE~J@O`K%`PzN|=_0oGtz3$>6iC3jJ#wRXiZJiDk^!I z<|E_VIA!tSM97!Fn23x55El;}lzm*OwDb8%toRGW!l(!HHQ*_x=h1?g#jAk$QYmf$IndKEVADMfnV6HPiV4 ze4|Wf^M_${rSnJc`ObV`L_#PcuZ4M{4lJ`@H{r4t(kEmCqQNa3iK@PH)$* zNFYdZZtEp&g@iYoqlmi4g~WAeJ~g~GA2l!gm;3e?QaD{dskaNc1Pls0C|j zzr8h-r9~T@m>FWS%x7g>Y%AM>Ghelo!l4DK~Pk|cUd)jc4~0n0^d9s7{W*1wZ~;zlxg1I zJ6=&ku`t~QWH)n1@K`rzq<1Fa^zf~ zmWpH#rS#{Fk}aUg&jo~1XN^mjXos)1H+-*p()x);Q4322r zk8Lmr<^gkTIl>RdvJJjfa{U{8ZEtc9= z@RPcn)VLF@_h^Rnr4v_;^F4%Rd^jbG3adGjWTrQde={6hyZBnuL+_%G!YZ)IIZ7`q zByv@tuA<`V>yX%Jh0@v)#mq<>BX&0j6EZZ~^r?NvrQtDiYl5;tedV`(X1r3GMY}8Z zV+Q{%Pk=+_3(8pqZxON~i|5e#w~6TC^4px|pCt-r3F|VBKU^16Vo-9m)|WiLH&rdR za@p_;vI)2s34{f?5|a{+bmf5UI#v$NbD>W#(~fNS3T`psn23$Vp#f?;gYsX0&O1mc zrG&QM#W^|zAb+!gr3$w!zdc4aBFXCQ1F8`ZXnxkM z#w2=53Q(5yBa}8`s!z?+8}2;XXNREw<5EXb5N!Um=nBEEctj^f!HDYG~G(qM>IaD7w9t}0KeantR^jI;aZdy z+&#p`V&0OXqHNA#_AAw=VhYU-2t%ExOopazkng?@mB&W?IQfZ=m_7WbK!Zdh%4*L{ zBd&yAR?=C^_F0x89%1;pgDdkxTC^N6MfS-VpW7fDcY`IC8kOJ5X`h4;Q&kCwP5$>f zC%F%i_@-ykE5!2P5K4642rIPR(P+Suf<;PllDKa3Bk~UUJ4Rw$l>b&a*TU$yb~Hsw4aYpu5iKb z<#4+g3pr})2k&0F9g>^`QP6xJv2H7qriPpsDtCGPUJC5fe6B!3SK>g9u0?3PbIz8I zWJII{99hsW`<4NRt_5PhAUBbpA8X6q|C;UDFHHYY=jH{`Tely4BAwPwY>WE5Y^75> z{3&De4F#G8_13@O{N$&z0osHprqVcbe5y}a<u{45>ZXOM zBS8t98w3ImY-6dm0+GtFEZVjSx*?5u6c;Zno^R+p{s2AJ5?`M~#TP*VcVMM--GQWE z7_i1N1!>I?z@^%%AWS@ZqDO-$PeZa5c!=lQ_KFsVHZNyX#1F{+0h2giqY)0}?K56LAyyOaAY>DnYNqEm~SDp(OFbW@lTn9@+- zHe0vBDwpt<+!LWxJ6PkD`t++;Uv^_-NVZmiIMfc#@m_M4MPM@5QYgn3e4W zl8Cj4J%g|0caM`PmL<%n;6YjiZ-|=#nIHhCAkgm zCo5E!;!vz&q^vB*sdh`|n8qngmy-VRI!8?ixS#CC-$N<;^lAq2681ZI_HHl$angfE z$|m<(g$<1DQQk%Z!u;K$5wegSmHwtaYfxKr^|xql=JLp~&*$cg@fUO^y7g;}(T4K1 z6RRiY6XQt!F+=M8?{@<5l3Hkz1LauWPFwxKt=b7(lP_3++HiV{^x}j}oTHa1V8oKr z<>HTZKn^d>f4rGU&ug^BupBxMh04wWzBHm)|5YQB+pMlygA#VKljGB-~x`U7`3^ye5$g#BegB>X&9>>p4HBY?;_#lI-N zUtqAFuiEU~J=^8x$Svs7|E()HN;D=f1gI1GMIqCAr@wCw2R)K^9dEKG(KdB;w zc?NMT%q3jlkCe3jRf^2l6Ca&Fq39V5+zVtB6c5@8DsDF9g8BU!HnJew1dNZJX{VX5Y&>2&7hD%v{s z;PVa-V80=;RCPo`_ExB#ZH_21+X4LwNL#QNdn2HASU1dNPWA&Ysu^pGYZt(#9!&Fy z0MRQe)HROU)J8YE9^7y!)?jG|KVjhYx_labUeSpTXOFE@0G~ zAb0S3Pc)j3W3On@=NDOPMk#zw!Vpu7;rKE%5H&>ev%H3_Q^xYQj!S0b-`ZeCDv7K2 zdA0*>76-;4eyeqUC9yx7WjrKPyJQDg!5vd=TdN>^5KXTfw*GJ9k4BM!AKnL7Woe9S z-k~**N%N461#T`yL!m9c_%UqR=w!UkXzHS`>l(vu3eqEcRdKqqBPU# zrRB>`C`y`Zz16z-mQ7h19Wy(;6^fJ!HbA=``PB=C#7;)ahP~W9JwVbUv;S~;3R=bF zGTms#UZQTL8)@ZfZhsL*BQ}m-iVApIH>uScg zQX9!U8R}ic|A(uy3W_sawl)#m-CYMC+$}i4HMqOG6I_D3yC%51X9gYIf(0F1g8NVX zRj2kor>ZaJX0E=fx4PF_{j@$ON1W%^4MX_0w!!0^Ii&$+Gdnh>athAD*$CM9k0q#l zj`U?=O6FfG&CG}qEh#gQgC2&wNN&@b2*ER#OT))(aXhAV1wTxrn--t>l$+=L#cXkjUciYuK}AoJfH~ z<-q-@eHfGSlT+y#B;6vsS;J*Ed@hTPcxgLS@*>0)B=K&2j;V~epP2ddtLEd;%9?=R z0FvNL+Br)CxQfVHliDBQ)#i$SrFAr`+RXeLf=xFTws9ZykVah92PK9&qL_$%2g@H;yCmO8~Vm~l5ZlSnZl z)%757KbFp14kt{6!@*rz?GG@^Qb#mXJ5gkX#?7yb5?2ko8<``w84&o^jJc}KZaD$QUn z(2;D~eIQK~8S09ts)8@DLuOfyg;?dqdmQRwk9b9xiP7>(LsgZ=PwPTyTV8@(G-kGm7?)4v@h2!K7PezM<}nU4=9a}>ebMonX1p*s!*I4 znocB#YezYv&Ej%m*`AS-{`)v@BK#8Oo2WM62@mYwlDEGiA!KmaEaxVaJ9#0Jm~2y1 z#B<2$-439wL`;fdRpqyPh(p)Rlf;iZ|uX7 z9g=Gvd>-m}8##XCTPoQQ=EDK>e}s06LTkO*RHvB>pJkb>m4%W*1w%|GJcbrALmo)+ zi#|3LC~(D{9}pSz*w~$!#O=4ssC=(u-5~e`>-uNNMk&m0f=o8iVYPAzX1dMIxr?;9 zsfboedqKR#`0ltR@=Dizi}LJa#jtf8bENa+0A3SK^J*}*c!UW4SUI|6=*)&TyN%HI z;sJH}*n*;8z!nTPpj^Xe%>+-1Bo_jca z$~3L9KM*>WOUDYnvH72pIw&Ih>Ts#apZG;rjVXxR9w4+|)V(bj)k8wFOL93`(GJrWN7y$o^vbjcqD7>jqe_3MB=%$zAH zg(3t_^fmOlIoGRlU8sh=sPUg1d#3jb>-za=T>|83R+rU&&w}jU-7E8T0u)sOdO11~ zw0&=ri@5B(({Xy&2v=2C%|8SaTg`f*fDxFMOo|14GHBtVJRYr4-V5Mr^LaIB;5Gp2 z^mc#ue4SBn@v3}J{ucQbZ4>&6^-b{0M>dmFCeskptQjz>%61cs`r+v_M z+}O(coY_7ZH_8jRT}3>2U)`O;~h;vJT!yjX*RRhybx;lUm58V z&!JJ)@!BvnL?rU4Z&1uDjlYxDYPXMGb#T6pC){dXx~qDnj2K5D9o*uf*KL~~_7HOg z4f=+GsJqE{l}<-a{5QgF!@Ie-yoMa!qq|-vBc+^|3YO&~eX}MLCf6?1l(_-iHWBb| zzKXRK+38vH8AbCm)u~v|mR!S%Nly=mch{1Y05{!=F6#GS-vC&Pa&H>lcHI=1tu84C z@Sa_o!e=e;3cTyu{C9i$en}Gl^`87Se#VyowL;a_BB(R@4r?F@in@)K_gWM23~)7A@% z_o>X5kW#Pz!-SV;U~y0PZ3TxMS5vlSyW~AFe#uD zd+Dr{<~h{&W+;KRe_Oi;;qCdxP%;j6n?t@wTnKaF{jtpfo%0WE34jW%;fNDpey65x z5Vtte0Pas@(OzTi5Wc}&8$Vc*s9D~EPB>?|!6+Zv%w2!lXMA0`6%#+f8?EhiWbYij zQ5*bx)VgJOxKp~S&k!d+hAdSdrn%|)hzWDynVUJ;Pjl~=xkVCc8eW8b9LoH`y3b5h zVmdyjtH$iv&WG8N50o3mkZVT*%{Bi1lbS!}h>XftaVuZ@w-bCal2zAMNeLF1CL0aQ zfYoRR4=Y~NBzh6e7JK1q%|Mx4pC!zXYO#(3&%MsMDZSW`uUasB{gCiL%(63W+nVm) zUYBbnfQ#7#0`ypJg)uu-pDmM6dwu(AmlPe#@tEX8CN~j+E|wH^{Xg%nEwhGNdIX65 zR&rm0z*^Rj9c3{fk#p|+Ln=@*tvntVx%*>Qg-oOhJTchfd< zwNmJz5&&BLH#0acea^Y|cfL-9Si|mucx!_0MO-8q;y|`HR zPUkKuL&&>YDqWNynR7_$#vV7%p@u8JEtIQ2w8j4z8<3T^?9%VU4&{{(*m>mgdDUO; zMURym3%36n$)WUnb@yf!RWy8qXkCoCDd=bEhf22&Ej7Gedu5XD3(+^WHzr-y`|(}2 zpnHY+T%*@s7x|$AoRv0qQ`F4b%+u>{{EEv*;kP{R%%i2SQJ9ri)c9^;>UUNX1Wq2fn&vb#FIDm)dXl@Xw;Jq;F@(oNrH? zuYNyiuU$Dr5Y4)_7i><$I{|WZ{K#cUX8k(xx-txaEn0Ce6q84NJJqcHuL+~ir;SYp zJdj)Y>=3V#9>NlIxR6qeyQYv`>xZgW*Z;`^{6zV2j?qhJGVz|PxA@y=)3B-3fbOMO zh}aOFPV{s<6Dq+Dzw>5#e(Gzkkbc!oPsO?P^C&^M$!gy}F_MENs!{w?XUiGNIQ}F0 zEAOk{Z40H?cjG87$(UV!t6Leb1zjdiDu2vx3w{TB;@eX2&JfV`*}6dsW+kV+IqUw=(7(2CxPT!Pc-RG$yfj4IBAl6Bv4Wt2bpW3XD!Wi@;* zuA+6nJS=fVJ7ry(*Wk%}1?TGUYpE-bqvwXO6Q-1>M-m5JN>iRNK)_HO7LOSF>(4DX z>F+V=Rq}_Xx3etIGymRKVNJB*xLS-leDm;5wDg}sERZUT)|D!Y_P>opdL+zJRea6C z`LLT?w(#Nunsb#z;sdHFG{V<;RB3Y$Cfmv%j+yQDE?rEl>bc&7JEqIrIR?C_9$}RI z%e)~U6;*)ggp%JBEC=J33BhTBq&EA)a8xnTjpTXb2xQj!D^Y>8Is^&GuHkcXI!a7$ zCw*^jyQ=N!pvJn?8TKAEvNT0rJe&E}XU-l8aOmh0%lXCkP`1Y~V)qk1XW}Sg)vfmf&hxqhmZr>Wgri>Vq5GLJ zvIDosj)Vw_yhFRD(5QIomI;p}rV3ehe~RR4^FA~A=T~R`eH;n8ntfQ_L8pqHfYb3^ z;c!8j-5c3oYQGw5ty&$ZZKv--6LTkIDfw2^FvZg%;y$3Pg?4h?0${qV3agxRHZF4S zRf<@U4Vg(lX2<(eV~|&-j{YtPE|>F$IIH9-{R5!*eYW6nbrf>t5)1*7KJ#KeZbU`} zU2_E+XF2s~+ifTi{yCulS#d2fl5;cI*G3@-8N$ zc4Z_kvXQcrnZ`Ns*p8YH*h@j!4DP&GGM z-gWJojl`s#L0ig?g8318@%K_+N7sbkqMoAh!q??}Un0FSvW0~iJ!W*^0@a@0U2L3N zg{A==i^;?2;pQLd`%L~?_x$Va#i%LoRrcvRZS&bEDDJf&bnjd=I7n)Itn4$`R484- z`)oS~u0q}9JRJD>e89NVRd0anl6Ab3E{0;?y$N=EtU<6KFtF@zD&~mc1*t$@BH^Iy zb{u!uj9Z<^BgzLZ6PjtNwm?qg$u*1?t`L{f13%<#w~Ef`Ckp?5f+)xYHK8mj52`td z4nTu(|L~)ze!F`G`oPapR_O|FqW3wMaF2TF4)|?3>mkiIdbIFc(WX0pLDUFAm7B5q zDkh6{nm;*Dl*{f@_R}`fh`VrPX}ku_6x4QrAg@egkwhR^4tGCn=2p*6tDs(ZFknp_qm_6A8zjgiPcd3ch zPIoo)k4BOFGatXAc(k%g^ZJvGDokGK!yJTU7j27t7;Mmn(}1DC%%`M}bu@UCmkPWy zHZkleAN;Yo5IcSpS^~NevH=+auqM3&)=|bh7=13`<0w4p>3T4FIlRPW34P}9(;LQs&7sS@dkm+MOmNJN=c&=)Bb`&>n(RKBqh^T<`=Lz75? zkLQwU;O)A=?A3?D8st=zJK}Wkqq_iYfj^SZpRi7iX56D$x}fp1s4VlSCm~jgUicn( z7ths{iWDuEPWt$=_VQ0c8=&C{l(cN97KmfN!xUJ=Jo_r8ojY*>6-j+!0ZUY1@VQrWA46vH#W5r zm0$mS37}y0UV6+mK@m^p{6f}i)fLoMN)!W^I+a-*b&@q~Y90C`O#E)W-lbVpx?hjW zV!Vr212)`8jV``N%`%mCWz8rmb*hE<*&-L$FYvW2_h*#%572?}C1g|ajQ99997>s! zIQnlrlPBMcouP!`TTa`HwxBDoZW2;G{9=S!`gqmyOZGdv35xDa@}H#ey-q^4R!YZX zLqjnch3PV_3R`m(sIT5dk#m#ZmN@s!bCuEp2v+kSw9pQUD+j7@Y<+gSBEu8<{Px*i zPy7DXEd@>eevNNBe?DUi+-?iHqb@M2t9}B>!PkMc$sqLa=!lLp_^@fNPlt7@aG%JO z(s~6|Q-{JT&=U~2zpZrD8{eDr=zYcuKXpd>bO@)1AyY2}^{>6>YQ@E^eF70g7q@(n z;q^tJ3%5S3zGaVr$B}bj62Lkvwjz&ZlvR~x0JoNSBQ+rn#cAcniL(tB4@`e@C#pw5 zJ10T=BCAL*#!S!)&0iO4X=C>{b$0T%-U6*Fc>&vuL1$Ux7Gne4uy=;%K6Z)Fi?axF z8VO|V) z^IOAw7iN(q>JFvTY}sGUvjn8h31bdIcN(z`eFFJZA@r{okA90S(`499|E6BAWgwda zht#Q39OSh|CLVU`v?RUqaOBMRvp+9c|92!M}u#~D4l_nbr!|ssy z6l_JhbR9r2>PB9KFgRih7$s`f2f){?=&cJbIv_a*;*(i;;t1OyT|3Cw%5}>Cnmbi=zpP5QM{Rq% zuX!~ilyS@FZ9j})KS%tQy_U%@lrPGefnIV4t0C7^Gb@;p5NAx)wcm6hurP=)hoWl& zZv^oLsJ`h^UhXI67i1+z4@8G%QtdSxMC{7V-=ThE^yNE3Jq|6wrJ)QC&CU}HnmL@cN#WdRJGr;vmDeLM zyZCp*6jkp)j3w~l`I9!~Pt%VMu6FXjPL_nb6iSq#O>;*QHRC7G{4WQD*#y{3ZbQrL zr5FFJ#r3TVQro^d zs%A;@h*Htmmo#yV`OnzsN z+|XrprB>Up@5DaC*sYxmBvP0lsTYqhjD<)jfW==3IV^2f)e+W74}Dpt2%Ak-R=~L( zhb-jXn81eZVdx92fA}`N)jrTmdJ@S|epalRl)PWKXHvwob$N+d>_!6LbM93%aVkrl zN(j9Q-)nXY9;C!mPp#6|&M+ROTqDn{>(tctL7HxQVj; zG+3H754&9W(Q3izwR)(g1WPZ4ouri&=c=x ze1e4MFaCqdho6Oo3#?ZM<{B@yc4Xug)U!P*qTD*{@A)W@aQB|wsk%*%-;YXBGO^X+ zr^|k=kQLZufrE?2^bi-Qq_C)^#Wz z@2lVpOBKRPe^vBHvXJvoI^*7kgy7n=tHWS0Iuj4v(|E+$p?~XmICt(~aFmOrk_f#i zUyYsuCS$Pg5%$xb{EMn}vA?$=0grd$`xtNrANZKUdAlXS4`9^`v^>(VIjO75&F7G< zr`Az!K5`zKwEnt76@Nf6;z98NWb7?7o-KeHjf?b2Fa$G?{mT$RUKfvd4(B;uEZH@6 zO9>Dwcy0gs8LPghcboJb%Ds+QuB3)6Tag<6(}ANgjh5);isF$1^u27GrOrdgHX{<% z+~tTWY`-)D{fj%r2a(j-bV=AQb!p#zyI24n6T5$Ww|4{t7KejSU6P$cL)nT#+j2cl zP)27LuhSFxGm2@WzQ1m@ogAHATW}f-bUdQGFs0j*F{d(rp^2OEI9_u68K$=PNtL9YCW7wdjaGEar7)|Mz1Z+wX=cp?6>b? zgh^j-SouY?Y1cuX?yV~fjXTEI!Z{+W{92xTk%ZV8zndw(4s4#A@-t?dtGQ5F_}1o= z;i@pw#7W?)&nlIxkvu|;*89q&pLz9*d`crUqwkF)sHuTeyY>lUl9xgK>8%r%=Z?S> z@GONq7D~lpjUH1yrb`5M{a%;agDsMno*jNOpoUy$B)Am#H*&jziBkT6FbP(*LPK0{ znu`FxgrWL)@O^JhnOsRIz-!;%R==)}B%{v%;bTUI(qIm(Nsj^7x^ zqLlS1uA#ZzQZn0_>R`Lpv#T`^e3|ZX6ISx~IeZ=pdY%$`_1uGwBO9VUGdy38TSbt~ z&+?0E3@Qr=*LK@$55o!g7PI62ao?2JRDy;B86Ul+bq@S2bcoVx!Ts_@Mx;f%c7(8m z68F#NYA!&1E6Z#|B8u`mfHQH7>a0}UUg^vH^7Oo=Jc}H`#coN?-Momz?AAf>*I;#L zq+po=I26?M+U6wh1r$e|cnmb$2>O0teCSa=+G=zkR}xAq^H?HRNVHPikC1fv8{npb zQhFqPafxI}xaxr{W;`&tq!-;@G^!+&|4$gEQr6SbB2n4Re10|ktt75TN#*R?mhboS zrlr9dO~3+xK(%gKfV@C^OzqxXpRd=xIw|;vCr_^+Ep=C<^NJuiN#}1tZ&3L*Gnr6H zZhU;ey3g}g*3A++Gdb)k8d;D&19_ov9dp80aTQ2S z_T?v0Eiw^l5j8^%H{@7;hW>U^RUy*fIMXSt%o2m>Iv;!SUESpyUWsUO%7;=9wvfzg z+Ej%1cwLCc4Z5sQq>d+lSp_fh*Gxm={?*SK^yeLqi?4+5a6fFHDOnVb$M^UTmJTM_ zvHfgVh2xIPh?7sUnXo8Usw4=mav4@?0g&8oRA8{&^$(b1D$m>!uP}aEmxY|W%XWed z)?%E7n!Xe7YLrI_fn!SWnG9GC*`ks-SFt+C058>% z^@i`Z5#%3g3Uz1xFxdU3(OF7o-UE~`a+^E_h(;xgcIC^*lymd{rj!@1IgBJB9K%~| zKEuPle+&>k z+wN9qEK+Z-8Qw)-k`}3AHFte0_tG^P>`bjLX>bif^AxAy=<=NVt@;f?>oCL=1=C#!8*&2b-a2u_>H05 znkH4og1aD7%T|~9K-?KdBF8vOK;0nmoC$xug40q%(m!9bVF_N_MMI}+A(TK~A> zSbP4GlnqQ*l5qpf|2atKU5)COE=*rP5u)2fD0O3`gk2{Yyl_rVhSkJREKJMhL#3Mf zHVXKjQ?DyOP^~`Fa)kZ1b!CZ{0?vgNuIIhzVy)E;n8)A?A@Z$6WuX!R_|+D{BXm
buDVkZ- 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 IM6N<$f-0?B&j0`b literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-desktop/files/home/greeter/dconf/user b/srcpkgs/evolution-desktop/files/home/greeter/dconf/user new file mode 100644 index 0000000000000000000000000000000000000000..d27f1d53bfec6a6c956d1de5a3ba0497d6bf3491 GIT binary patch literal 420 zcmZ9Iy-EW?6oqd#ziWH|3(FKKTt=`_w1}W6B%pxmED{>wD2IU@le{tv=OL7HsX7C4SZ@GVl<3(NrpMyO? zK4+m#QYGJzccg|#Y&afrrW)vp87p~r9x2Qt8plb*3PG|BJv-rue<~gNxel!Md~HIa V>~HHISMtsvwroavD6{0BuK>5WM8^OC literal 0 HcmV?d00001 diff --git a/srcpkgs/evolution-desktop/files/home/greeter/wayfire.ini b/srcpkgs/evolution-desktop/files/home/greeter/wayfire.ini new file mode 100644 index 0000000..96b6dd1 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/home/greeter/wayfire.ini @@ -0,0 +1,297 @@ +[alpha] +min_value = 0.100000 +modifier = + +[animate] +close_animation = fade +duration = 400 +enabled_for = (type equals "toplevel" | (type equals "x-or" & focusable equals true)) +fade_duration = 400 +fade_enabled_for = type equals "overlay" +fire_duration = 300 +fire_enabled_for = none +fire_particle_size = 16.000000 +fire_particles = 2000 +open_animation = fade +startup_duration = 600 +zoom_duration = 500 +zoom_enabled_for = none + +[autostart] +autostart_wf_shell = false +greeter = startlogin + +[blur] +blur_by_default = type is "toplevel" +bokeh_degrade = 1 +bokeh_iterations = 15 +bokeh_offset = 5.000000 +box_degrade = 1 +box_iterations = 2 +box_offset = 1.000000 +gaussian_degrade = 1 +gaussian_iterations = 2 +gaussian_offset = 1.000000 +kawase_degrade = 8 +kawase_iterations = 2 +kawase_offset = 2.000000 +method = kawase +saturation = 1.000000 +toggle = none + +[command] + +[core] +background_color = \#1A1A1AFF +close_top_view = +focus_button_with_modifiers = false +focus_buttons = BTN_LEFT | BTN_MIDDLE | BTN_RIGHT +focus_buttons_passthrough = true +max_render_time = -1 +plugins = autostart move place animate +preferred_decoration_mode = server +vheight = 1 +vwidth = 1 +xwayland = true + +[cube] +activate = BTN_LEFT +background = \#1A1A1AFF +background_mode = simple +cubemap_image = +deform = 0 +initial_animation = 350 +light = true +rotate_left = none +rotate_right = none +skydome_mirror = true +skydome_texture = +speed_spin_horiz = 0.020000 +speed_spin_vert = 0.020000 +speed_zoom = 0.070000 +zoom = 0.100000 + +[decoration] +active_color = \#222222AA +border_size = 1 +button_order = +font = +ignore_views = none +inactive_color = \#333333DD +title_height = 1 + +[expo] +background = \#1A1A1AFF +duration = 300 +offset = 10 +toggle = + +[extra-gestures] +close_fingers = 20 +move_delay = 500 +move_fingers = 3 + +[fast-switcher] +activate = KEY_ESC +activate_backward = KEY_ESC +inactive_alpha = 0.700000 + +[fisheye] +radius = 450.000000 +toggle = KEY_F +zoom = 7.000000 + +[grid] +duration = 300 +restore = KEY_DOWN | KEY_KP0 +slot_b = KEY_KP2 +slot_bl = KEY_KP1 +slot_br = KEY_KP3 +slot_c = KEY_UP | KEY_KP5 +slot_l = KEY_LEFT | KEY_KP4 +slot_r = KEY_RIGHT | KEY_KP6 +slot_t = KEY_KP8 +slot_tl = KEY_KP7 +slot_tr = KEY_KP9 +type = crossfade + +[idle] +cube_max_zoom = 1.500000 +cube_rotate_speed = 1.000000 +cube_zoom_speed = 1000 +disable_on_fullscreen = true +dpms_timeout = -1 +screensaver_timeout = 3600 +toggle = none + +[input] +click_method = default +cursor_size = 24 +cursor_theme = default +disable_touchpad_while_mouse = false +disable_touchpad_while_typing = false +gesture_sensitivity = 1.000000 +kb_capslock_default_state = false +kb_numlock_default_state = false +kb_repeat_delay = 400 +kb_repeat_rate = 40 +left_handed_mode = false +middle_emulation = false +modifier_binding_timeout = 400 +mouse_accel_profile = default +mouse_cursor_speed = 0.000000 +mouse_scroll_speed = 1.000000 +natural_scroll = false +scroll_method = default +tap_to_click = true +touchpad_accel_profile = default +touchpad_cursor_speed = 0.000000 +touchpad_scroll_speed = 1.000000 +xkb_layout = us +xkb_model = +xkb_options = +xkb_rules = evdev +xkb_variant = + +[input-device] +output = + +[invert] +preserve_hue = false +toggle = KEY_I + +[move] +activate = BTN_LEFT +enable_snap = true +enable_snap_off = true +join_views = false +quarter_snap_threshold = 50 +snap_off_threshold = 10 +snap_threshold = 10 +workspace_switch_after = -1 + +[oswitch] +next_output = KEY_O +next_output_with_win = KEY_O + +[output] +mode = auto +position = auto +scale = 1.000000 +transform = normal + +[place] +mode = center + +[preserve-output] +last_output_focus_timeout = 10000 + +[resize] +activate = BTN_RIGHT + +[scale] +allow_zoom = false +bg_color = \#1A1A1AE6 +duration = 750 +inactive_alpha = 0.750000 +interact = false +middle_click_close = false +spacing = 50 +text_color = \#CCCCCCFF +title_font_size = 16 +title_overlay = all +title_position = center +toggle = KEY_P +toggle_all = + +[scale-title-filter] +bg_color = \#00000080 +case_sensitive = false +font_size = 30 +overlay = true +share_filter = false +text_color = \#CCCCCCCC + +[simple-tile] +button_move = BTN_LEFT +button_resize = BTN_RIGHT +inner_gap_size = 5 +keep_fullscreen_on_adjacent = true +key_focus_above = KEY_K +key_focus_below = KEY_J +key_focus_left = KEY_H +key_focus_right = KEY_L +key_toggle = KEY_T +outer_horiz_gap_size = 0 +outer_vert_gap_size = 0 +tile_by_default = all + +[switcher] +next_view = KEY_TAB +prev_view = KEY_TAB +speed = 500 +view_thumbnail_scale = 1.000000 + +[vswipe] +background = \#1A1A1AFF +delta_threshold = 24.000000 +duration = 180 +enable_free_movement = false +enable_horizontal = true +enable_smooth_transition = false +enable_vertical = true +fingers = 4 +gap = 32.000000 +speed_cap = 0.050000 +speed_factor = 256.000000 +threshold = 0.350000 + +[vswitch] +background = \#1A1A1AFF +binding_down = KEY_DOWN +binding_left = KEY_LEFT +binding_right = KEY_RIGHT +binding_up = KEY_UP +binding_win_down = KEY_DOWN +binding_win_left = KEY_LEFT +binding_win_right = KEY_RIGHT +binding_win_up = KEY_UP +duration = 300 +gap = 20 +wraparound = false + +[window-rules] + +[wm-actions] +minimize = none +send_to_back = none +toggle_always_on_top = none +toggle_fullscreen = none +toggle_maximize = none +toggle_showdesktop = none +toggle_sticky = none + +[wobbly] +friction = 3.000000 +grid_resolution = 6 +spring_k = 8.000000 + +[workarounds] +all_dialogs_modal = true +app_id_mode = stock +dynamic_repaint_delay = false + +[wrot] +activate = BTN_RIGHT +activate-3d = BTN_RIGHT +invert = false +reset = KEY_R +reset-one = KEY_R +reset_radius = 25.000000 +sensitivity = 24 + +[zoom] +modifier = +smoothing_duration = 300 +speed = 0.010000 + diff --git a/srcpkgs/evolution-desktop/files/home/greeter/wf-shell.ini b/srcpkgs/evolution-desktop/files/home/greeter/wf-shell.ini new file mode 100644 index 0000000..cbc2f62 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/home/greeter/wf-shell.ini @@ -0,0 +1,3 @@ +[background] +image = /etc/greetd/wallpaper.png +preserve_aspect = false diff --git a/srcpkgs/evolution-desktop/files/usr/share/wayfire/dconf/user b/srcpkgs/evolution-desktop/files/usr/share/wayfire/dconf/user new file mode 100644 index 0000000000000000000000000000000000000000..380c53d78968ba3625df4d3769930d461f07708f GIT binary patch literal 9092 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 + +[animate] +close_animation = fade +duration = 400 +enabled_for = (type equals "toplevel" | (type equals "x-or" & focusable equals true)) +fade_duration = 400 +fade_enabled_for = type equals "overlay" +fire_duration = 300 +fire_enabled_for = none +fire_particle_size = 16.000000 +fire_particles = 2000 +open_animation = zoom +startup_duration = 600 +zoom_duration = 500 +zoom_enabled_for = none + +[autostart] +autostart_wf_shell = true +background = wf-background +brighness = brightnessctl s 100% +gamma = wlsunset +idle = swayidle before-sleep swaylock -i $(grep -o 'image = .*' ~/.config/wf-shell.ini | sed 's/^image = //') +notifications = mako +outputs = kanshi +password = keepassxcd +polkit = /usr/libexec/polkit-mate-authentication-agent-1 +portal = /usr/libexec/xdg-desktop-portal +gtkpatch = dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK +sound = pipewire +sound-media = wireplumber +sound-pulse = pipewire-pulse + +[blur] +blur_by_default = type is "toplevel" +bokeh_degrade = 1 +bokeh_iterations = 15 +bokeh_offset = 5.000000 +box_degrade = 1 +box_iterations = 2 +box_offset = 1.000000 +gaussian_degrade = 1 +gaussian_iterations = 2 +gaussian_offset = 1.000000 +kawase_degrade = 8 +kawase_iterations = 2 +kawase_offset = 2.000000 +method = kawase +saturation = 1.000000 +toggle = none + +[command] +binding_0 = KEY_ESC +binding_launcher = KEY_SPACE +binding_lock = KEY_ESC +binding_logout = KEY_ESC +binding_mute = KEY_MUTE +binding_screenshot = KEY_F3 +binding_screenshot_interactive = KEY_F4 +binding_terminal = KEY_ENTER +command_0 = gnome-system-monitor +command_launcher = wofi +command_light_down = brightnessctl s 5%- +command_light_up = brightnessctl s +5% +command_lock = swaylock -i $(cat ~/.config/wf-shell.ini | grep image | cut -c 9-) +command_logout = killall wayfire +command_mute = pactl set-sink-mute @DEFAULT_SINK@ toggle +command_screenshot = grim $(date '+%F_%T').png +command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').png +command_terminal = alacritty +command_volume_down = audioctl down 5 +command_volume_up = audioctl up 5 +repeatable_binding_light_down = KEY_BRIGHTNESSDOWN +repeatable_binding_light_up = KEY_BRIGHTNESSUP +repeatable_binding_volume_down = KEY_VOLUMEDOWN +repeatable_binding_volume_up = KEY_VOLUMEUP + +[core] +background_color = \#1A1A1AFF +close_top_view = KEY_Q | KEY_F4 +focus_button_with_modifiers = false +focus_buttons = BTN_LEFT | BTN_MIDDLE | BTN_RIGHT +focus_buttons_passthrough = true +max_render_time = -1 +plugins = alpha animate autostart command cube decoration expo fast-switcher fisheye invert move oswitch place switcher vswitch window-rules wm-actions wobbly wrot zoom vswipe scale grid resize +preferred_decoration_mode = server +vheight = 4 +vwidth = 4 +xwayland = true + +[cube] +activate = BTN_LEFT +background = \#77767BFF +background_mode = simple +cubemap_image = /usr/share/wayfire/wallpaper.jpg +deform = 0 +initial_animation = 350 +light = true +rotate_left = KEY_H +rotate_right = KEY_L +skydome_mirror = true +skydome_texture = /usr/share/wayfire/wallpaper.jpg +speed_spin_horiz = 0.020000 +speed_spin_vert = 0.020000 +speed_zoom = 0.070000 +zoom = 0.000000 + +[decoration] +active_color = \#222222AA +border_size = 4 +button_order = minimize maximize close +font = sans-serif +ignore_views = none +inactive_color = \#333333DD +title_height = 20 + +[expo] +background = \#1A1A1AFF +duration = 300 +offset = 10 +select_workspace_1 = KEY_1 +select_workspace_2 = KEY_2 +select_workspace_3 = KEY_3 +select_workspace_4 = KEY_4 +select_workspace_5 = KEY_5 +select_workspace_6 = KEY_6 +select_workspace_7 = KEY_7 +select_workspace_8 = KEY_8 +select_workspace_9 = KEY_9 +toggle = KEY_ALL_APPLICATIONS | +toggle1 = +toggle2 = KEY_SCALE + +[extra-gestures] +close_fingers = 20 +move_delay = 500 +move_fingers = 3 + +[fast-switcher] +activate = KEY_ESC +activate_backward = KEY_ESC +inactive_alpha = 0.700000 + +[fisheye] +radius = 450.000000 +toggle = KEY_F +zoom = 7.000000 + +[grid] +duration = 300 +restore = KEY_DOWN | KEY_KP0 +slot_b = KEY_KP2 +slot_bl = KEY_KP1 +slot_br = KEY_KP3 +slot_c = KEY_UP | KEY_KP5 +slot_l = KEY_LEFT | KEY_KP4 +slot_r = KEY_RIGHT | KEY_KP6 +slot_t = KEY_KP8 +slot_tl = KEY_KP7 +slot_tr = KEY_KP9 +type = crossfade + +[idle] +cube_max_zoom = 1.000000 +cube_rotate_speed = 1.000000 +cube_zoom_speed = 100 +disable_on_fullscreen = false +dpms_timeout = -1 +screensaver_timeout = 30 +toggle = KEY_BACKSPACE + +[input] +click_method = button-areas +cursor_size = 1 +cursor_theme = Adwaita +disable_touchpad_while_mouse = false +disable_touchpad_while_typing = false +gesture_sensitivity = 1.000000 +kb_capslock_default_state = false +kb_numlock_default_state = false +kb_repeat_delay = 400 +kb_repeat_rate = 40 +left_handed_mode = false +middle_emulation = true +modifier_binding_timeout = 400 +mouse_accel_profile = adaptive +mouse_cursor_speed = 0.000000 +mouse_scroll_speed = 1.000000 +natural_scroll = true +scroll_method = two-finger +tap_to_click = true +touchpad_accel_profile = adaptive +touchpad_cursor_speed = 0.000000 +touchpad_scroll_speed = 1.000000 +xkb_layout = gb+mac +xkb_model = +xkb_options = +xkb_rules = evdev +xkb_variant = + +[input-device] +output = + +[invert] +preserve_hue = false +toggle = KEY_I + +[move] +activate = BTN_LEFT +enable_snap = true +enable_snap_off = true +join_views = false +quarter_snap_threshold = 50 +snap_off_threshold = 10 +snap_threshold = 10 +workspace_switch_after = -1 + +[oswitch] +next_output = KEY_O +next_output_with_win = KEY_O + +[output] +mode = auto +position = auto +scale = 1.000000 +transform = normal + +[place] +mode = random + +[preserve-output] +last_output_focus_timeout = 10000 + +[resize] +activate = BTN_RIGHT + +[scale] +allow_zoom = false +bg_color = \#1A1A1AE6 +duration = 200 +inactive_alpha = 0.750000 +interact = true +middle_click_close = false +spacing = 50 +text_color = \#CCCCCCFF +title_font_size = 16 +title_overlay = all +title_position = center +toggle = KEY_SCALE +toggle_all = + +[scale-title-filter] +bg_color = \#00000080 +case_sensitive = false +font_size = 30 +overlay = true +share_filter = false +text_color = \#CCCCCCCC + +[simple-tile] +button_move = BTN_LEFT +button_resize = BTN_RIGHT +inner_gap_size = 5 +keep_fullscreen_on_adjacent = true +key_focus_above = KEY_K +key_focus_below = KEY_J +key_focus_left = KEY_H +key_focus_right = KEY_L +key_toggle = KEY_T +outer_horiz_gap_size = 0 +outer_vert_gap_size = 0 +tile_by_default = all + +[switcher] +next_view = KEY_TAB +prev_view = KEY_TAB +speed = 500 +view_thumbnail_scale = 1.000000 + +[vswipe] +background = \#1A1A1AFF +delta_threshold = 24.000000 +duration = 180 +enable_free_movement = false +enable_horizontal = true +enable_smooth_transition = false +enable_vertical = true +fingers = 4 +gap = 32.000000 +speed_cap = 0.050000 +speed_factor = 256.000000 +threshold = 0.350000 + +[vswitch] +background = \#1A1A1AFF +binding_down = KEY_DOWN +binding_left = KEY_LEFT +binding_right = KEY_RIGHT +binding_up = KEY_UP +binding_win_down = KEY_DOWN +binding_win_left = KEY_LEFT +binding_win_right = KEY_RIGHT +binding_win_up = KEY_UP +duration = 300 +gap = 20 +wraparound = false + +[window-rules] + +[wm-actions] +minimize = none +send_to_back = none +toggle_always_on_top = none +toggle_fullscreen = none +toggle_maximize = none +toggle_showdesktop = none +toggle_sticky = none + +[wobbly] +friction = 2.500000 +grid_resolution = 5 +spring_k = 8.000000 + +[workarounds] +all_dialogs_modal = true +app_id_mode = gtk-shell +dynamic_repaint_delay = false + +[wrot] +activate = BTN_RIGHT +activate-3d = BTN_RIGHT +invert = false +reset = KEY_R +reset-one = KEY_R +reset_radius = 25.000000 +sensitivity = 24 + +[zoom] +modifier = +smoothing_duration = 300 +speed = 0.010000 + diff --git a/srcpkgs/evolution-desktop/files/usr/share/wayfire/wf-shell.ini b/srcpkgs/evolution-desktop/files/usr/share/wayfire/wf-shell.ini new file mode 100644 index 0000000..f92ad98 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/usr/share/wayfire/wf-shell.ini @@ -0,0 +1,46 @@ +[background] +cycle_timeout = 1 +image = /usr/share/wayfire/wallpaper.jpg +preserve_aspect = false +randomize = true + +[dock] +autohide_duration = 300 +css_path = +icon_mapping_jetbrains-idea-ce = //idea.png +position = bottom + +[panel] +autohide = false +autohide_duration = 300 +background_color = gtk_headerbar +battery_font = default +battery_icon_invert = true +battery_icon_size = 16 +battery_status = 1 +clock_font = DejaVu Sans:style=Book 12 +clock_format = %e %a %H:%M +css_path = +launcher_firefox = mullvad-browser.desktop +launcher_lib = libreoffice-startcenter.desktop +launcher_nau = org.gnome.Nautilus.desktop +launcher_terminal1 = Alacritty.desktop +launcher_txt = org.gnome.TextEditor.desktop +launchers_size = 42 +launchers_spacing = 4 +layer = top +menu_fuzzy_search = true +menu_icon = +menu_logout_command = wayland-logout +minimal_height = 24 +network_icon_invert_color = true +network_icon_size = 32 +network_status = 0 +network_status_font = DejaVu Sans:style=Book 12 +network_status_use_color = false +position = top +volume_display_timeout = 0.500000 +widgets_center = clock +widgets_left = spacing4 menu spacing18 launchers +widgets_right = volume spacing16 battery + diff --git a/srcpkgs/evolution-desktop/files/var/service/dbus b/srcpkgs/evolution-desktop/files/var/service/dbus new file mode 120000 index 0000000..34c103f --- /dev/null +++ b/srcpkgs/evolution-desktop/files/var/service/dbus @@ -0,0 +1 @@ +/etc/sv/dbus \ No newline at end of file diff --git a/srcpkgs/evolution-desktop/files/var/service/greetd b/srcpkgs/evolution-desktop/files/var/service/greetd new file mode 120000 index 0000000..1c6fe1a --- /dev/null +++ b/srcpkgs/evolution-desktop/files/var/service/greetd @@ -0,0 +1 @@ +/etc/sv/greetd/ \ No newline at end of file diff --git a/srcpkgs/evolution-desktop/files/var/service/polkitd b/srcpkgs/evolution-desktop/files/var/service/polkitd new file mode 120000 index 0000000..cb93149 --- /dev/null +++ b/srcpkgs/evolution-desktop/files/var/service/polkitd @@ -0,0 +1 @@ +/etc/sv/polkitd/ \ No newline at end of file diff --git a/srcpkgs/evolution-desktop/template b/srcpkgs/evolution-desktop/template new file mode 100644 index 0000000..827c72b --- /dev/null +++ b/srcpkgs/evolution-desktop/template @@ -0,0 +1,27 @@ +pkgname=evolution-desktop +version=1.1 +revision=8 +build_style=meta +maintainer="Tracker-Friendly " +short_desc="Desktop and Greeter for EvolutionOS" +license="GPL-3.0" +homepage="https://evolutionos.codeberg.page" +depends="wayfire greetd wf-shell wcm mesa-dri elogind polkit mate-polkit greetd-gtkgreet gtkloadspinner dbus dconf nautilus alacritty pipewire wireplumber slurp grim alsa-pipewire gnome-system-monitor upower brightnessctl gnome-themes-extra dejavu-fonts-ttf xdg-desktop-portal-wlr xdg-desktop-portal-gtk swaylock swayidle wpa_supplicant wpa-cute evolution-theme-switcher" + +do_install() { + #!/bin/bash + + mkdir -p ${DESTDIR}/etc/runit/runsvdir/default + cp -r ${FILESDIR}/var/service/* ${DESTDIR}/etc/runit/runsvdir/default/ + vbin ${FILESDIR}/bin/Wayfire + vbin ${FILESDIR}/bin/startsession + vbin ${FILESDIR}/bin/audioctl + mkdir -p ${DESTDIR}/etc/greetd + cp ${FILESDIR}/etc/greetd/environments ${DESTDIR}/etc/greetd + cp ${FILESDIR}/etc/greetd/wallpaper.png ${DESTDIR}/etc/greetd/ + cp ${FILESDIR}/etc/greetd/config.toml ${DESTDIR}/etc/greetd/config.toml.2 + mkdir -p ${DESTDIR}/etc/greetd/greeter/.config + cp -r ${FILESDIR}/home/greeter/* ${DESTDIR}/etc/greetd/greeter/.config + mkdir -p ${DESTDIR}/usr/share/wayfire + cp -r ${FILESDIR}/usr/share/wayfire/* ${DESTDIR}/usr/share/wayfire/ +} diff --git a/srcpkgs/evolution-patches/files/conf b/srcpkgs/evolution-patches/files/conf new file mode 100644 index 0000000..e1b6df5 --- /dev/null +++ b/srcpkgs/evolution-patches/files/conf @@ -0,0 +1,14 @@ +if [ -x /sbin/agetty -o -x /bin/agetty ]; then + # util-linux specific settings + if [ "${tty}" = "tty1" ]; then + if [ -e /bin/getty ]; then + GETTY_ARGS="" + else + GETTY_ARGS="--noclear" + fi + fi +fi + +BAUD_RATE=38400 +TERM_NAME=linux +EOF diff --git a/srcpkgs/evolution-patches/files/doas.conf b/srcpkgs/evolution-patches/files/doas.conf new file mode 100644 index 0000000..d5b8baf --- /dev/null +++ b/srcpkgs/evolution-patches/files/doas.conf @@ -0,0 +1,2 @@ +permit persist root +permit persist :wheel diff --git a/srcpkgs/evolution-patches/files/main.conf b/srcpkgs/evolution-patches/files/main.conf new file mode 100644 index 0000000..0be8de1 --- /dev/null +++ b/srcpkgs/evolution-patches/files/main.conf @@ -0,0 +1 @@ +repository=https://evolutionos.codeberg.page/pkg diff --git a/srcpkgs/evolution-patches/template b/srcpkgs/evolution-patches/template new file mode 100644 index 0000000..8732f76 --- /dev/null +++ b/srcpkgs/evolution-patches/template @@ -0,0 +1,41 @@ +pkgname=evolution-patches +version=1.0 +revision=9 +build_style=meta +maintainer="Tracker-Friendly " +short_desc="Simple patches that enable an usable OS out of the box" +license="GPL-3.0" +homepage="https://evolutionos.codeberg.page" +makedepends="busybox-core opendoas" +depends="busybox-core opendoas shadowfix" +replaces="grep which gzip tar diffutils coreutils findutils xz wget sed gawk pciutils usbutils tree" +provides="awk-0_1" + +do_install() { + #!/bin/bash + + # Get the list of commands from busybox + + commands="[ [[ arch ascii base32 base64 basename brctl cat chgrp chmod chown chroot comm cp crc32 cttyhack cut date dc dd df dirname dnsdomainname du dumpkmap echo ed env expand expr factor false fatattr fbset fold fsync fuser getty groups head hexedit i2cdetect i2cdump i2cget i2cset i2ctransfer id ifconfig ifenslave install iostat ipaddr iplink ipneigh iproute iprule iptunnel killall killall5 link ln loadkmap ls lsof lsscsi lzcat md5sum mkdir mkfifo mknod mkstat mv nc netstat nice nl nohup nproc nslookup od partprobe paste patch pipe_progress powertop printenv printf pstree pwd readlink realpath rm rmdir seq setfattr sha1sum sha256sum sha3sum sha512sum shred shuf sleep sort split ssl_client stat strings stty sum svok sync tac tail tee telnet test time touch tr true truncate ts tty uevent uname unexpand uniq unlink unxz unzip uudecode uuencode wc wget whoami whois xxd xz xzcat yes sh find diff gunzip tar gzip sed less which mktemp grep xargs cmp egrep fgrep lspci lsusb mpstat tree tsort zcat" + mkdir -p ${DESTDIR}/usr/bin/ + # Loop through each command + for cmd in $commands; do + echo $PWD + busybox ln -sf /bin/busybox ${DESTDIR}/usr/bin/$cmd + chmod +x ${DESTDIR}/usr/bin/$cmd + ls -l ${DESTDIR}/usr/bin/$cmd + done + + ls ${DESTDIR} + echo ${DESTDIR} + echo done + + mkdir -p ${DESTDIR}/etc/sv/agetty-tty1 + cp ${FILESDIR}/conf ${DESTDIR}/etc/sv/agetty-tty1/conf + mkdir -p ${DESTDIR}/usr/share/xbps.d + cp ${FILESDIR}/main.conf ${DESTDIR}/usr/share/xbps.d/*-0-evolution-main.conf + mkdir -p ${DESTDIR}/etc/ + cp ${FILESDIR}/doas.conf ${DESTDIR}/etc/doas.conf + + ln -sf /bin/doas ${DESTDIR}/usr/bin/sudo +} diff --git a/srcpkgs/evolution-theme-switcher/template b/srcpkgs/evolution-theme-switcher/template new file mode 100644 index 0000000..60ea349 --- /dev/null +++ b/srcpkgs/evolution-theme-switcher/template @@ -0,0 +1,26 @@ +#!/bin/sh +pkgname=evolution-theme-switcher +version=1.0 +revision=5 +short_desc="Just a theme switcher for evolution-desktop" +maintainer="Tracker-Friendly " +homepage="https://codeberg.org/EvolutionOS/Evolution-theme-switcher" +license="GPL-3.0" +makedepends="make gcc git pkg-config gtk+3-devel dconf" +depends="gtk+3 dconf" + +do_build() { + echo "Building..." + cd ${XBPS_BUILDDIR} + rm -rf gtkgreet + git clone https://codeberg.org/EvolutionOS/evolution-theme-switcher.git + cd evolution-theme-switcher + make +} + +do_install() { + echo "Installing..." + vbin ${XBPS_BUILDDIR}/evolution-theme-switcher/themeswitcher + mkdir -p ${DESTDIR}/usr/share/applications + cp ${XBPS_BUILDDIR}/evolution-theme-switcher/evolution-theme-switcher.desktop ${DESTDIR}/usr/share/applications/ +} diff --git a/srcpkgs/greetd-gtkgreet/template b/srcpkgs/greetd-gtkgreet/template new file mode 100644 index 0000000..b6bc45a --- /dev/null +++ b/srcpkgs/greetd-gtkgreet/template @@ -0,0 +1,25 @@ +#!/bin/sh +pkgname=greetd-gtkgreet +version=0.7 +revision=0 +short_desc="GTKGreet for greetd (not my software)" +maintainer="Tracker-Friendly " +homepage="https://git.sr.ht/~kennylevinsen/gtkgreet" +license="GPL-3.0" +makedepends="meson git pkg-config gtk+3-devel json-c-devel cmake ninja gettext scdoc" +depends="greetd gtk+3 json-c" + +do_build() { + echo "Building..." + cd ${XBPS_BUILDDIR} + rm -rf gtkgreet + git clone https://github.com/kennylevinsen/gtkgreet + cd gtkgreet + meson build -Dlayershell=disabled + ninja -C build +} + +do_install() { + echo "Installing..." + vbin ${XBPS_BUILDDIR}/gtkgreet/build/gtkgreet/gtkgreet +} diff --git a/srcpkgs/gtkloadspinner/template b/srcpkgs/gtkloadspinner/template new file mode 100644 index 0000000..2d33f2f --- /dev/null +++ b/srcpkgs/gtkloadspinner/template @@ -0,0 +1,24 @@ +#!/bin/sh +pkgname=gtkloadspinner +version=1.0 +revision=2 +short_desc="Ridonculously simple spinner for GTK" +maintainer="Tracker-Friendly " +homepage="https://codeberg.org/EvolutionOS/GtkLoadSpinner" +license="GPL-3.0" +makedepends="make gcc git pkg-config gtk+3-devel" +depends="gtk+3" + +do_build() { + echo "Building..." + cd ${XBPS_BUILDDIR} + rm -rf gtkgreet + git clone https://codeberg.org/EvolutionOS/GtkLoadSpinner.git + cd GtkLoadSpinner + make +} + +do_install() { + echo "Installing..." + vbin ${XBPS_BUILDDIR}/GtkLoadSpinner/loadspinner +} diff --git a/srcpkgs/linux-base/template b/srcpkgs/linux-base/template new file mode 100644 index 0000000..1f386d9 --- /dev/null +++ b/srcpkgs/linux-base/template @@ -0,0 +1,18 @@ +# Template file for 'linux-base' +pkgname=linux-base +version=2021.07.21 +revision=1 +build_style=meta +short_desc="Linux kernel base dependencies" +maintainer="Érico Nogueira " +license="Public Domain" +homepage="https://voidlinux.org/" + +case "$XBPS_TARGET_MACHINE" in + i686*|x86_64*) + depends="linux-firmware-amd linux-firmware-intel linux-firmware-nvidia linux-firmware-network booster" + ;; + ppc*|armv7l*|aarch64*) + depends="linux-firmware-amd linux-firmware-nvidia linux-firmware-network booster" + ;; +esac diff --git a/srcpkgs/mdocml/INSTALL b/srcpkgs/mdocml/INSTALL new file mode 100644 index 0000000..7aa787b --- /dev/null +++ b/srcpkgs/mdocml/INSTALL @@ -0,0 +1,6 @@ +case "$ACTION" in +post) + echo "Regenerating man db..." + usr/bin/makewhatis -Tutf8 + ;; +esac diff --git a/srcpkgs/mdocml/files/cgi.h b/srcpkgs/mdocml/files/cgi.h new file mode 100644 index 0000000..d9cbd63 --- /dev/null +++ b/srcpkgs/mdocml/files/cgi.h @@ -0,0 +1,5 @@ +#define SCRIPT_NAME "" +#define MAN_DIR "/var/lib/man-cgi" +#define CSS_DIR "" +#define CUSTOMIZE_TITLE "Void Linux manpages" +#define COMPAT_OLDURI No diff --git a/srcpkgs/mdocml/files/makewhatis.cron.daily b/srcpkgs/mdocml/files/makewhatis.cron.daily new file mode 100755 index 0000000..efe892e --- /dev/null +++ b/srcpkgs/mdocml/files/makewhatis.cron.daily @@ -0,0 +1,2 @@ +#!/bin/sh +exec makewhatis -Tutf8 diff --git a/srcpkgs/mdocml/files/man.conf b/srcpkgs/mdocml/files/man.conf new file mode 100644 index 0000000..32c2ac4 --- /dev/null +++ b/srcpkgs/mdocml/files/man.conf @@ -0,0 +1,6 @@ +# man(1)/apropos(1)/makewhatis(8) configuration, see man.conf(5). + +# Default search path for manual pages. +# Add, delete, or reorder as desired. +manpath /usr/local/share/man +manpath /usr/share/man diff --git a/srcpkgs/mdocml/files/void.css b/srcpkgs/mdocml/files/void.css new file mode 100644 index 0000000..17bb533 --- /dev/null +++ b/srcpkgs/mdocml/files/void.css @@ -0,0 +1,61 @@ + +/** Void style **/ +html { + --fg: #333; + --bg: #fff; + --fg-accent: #478061; + --nav-fg: #fff; + --nav-bg: #478061; +} +@media (prefers-color-scheme: dark) { + html { + --fg: #ccc; + --bg: #222; + --fg-accent: #62b086; + --nav-fg: #fff; + --nav-bg: #295340; + } +} + +a, :link, :visited { color: var(--fg-accent); } +a:hover { color: var(--fg); } + +html { max-width: 100% } +body { margin: 0 } +.manual-text { max-width: 65em; padding: 0 1em; } + +nav#void-nav { + width:100%; + min-height:50px; + color:var(--nav-fg); + background-color:var(--nav-bg); + z-index:110; + font-size:14px +} +nav#void-nav ul { + display:block; + list-style:none; + margin:0 +} +nav#void-nav ul li { + display:inline-block; + margin:0; +} +nav#void-nav ul li a { + display:inline-block; + padding:15px; + line-height:20px; + font-size:1.2em; + color:var(--nav-fg); + text-decoration: none +} +nav#void-nav ul li a:hover,nav#void-nav ul li a:focus { + color:#fff; + background-color:#000; + text-decoration:none +} + +/** Hide architecture selector **/ +select[name="arch"] { + display: none; +} diff --git a/srcpkgs/mdocml/patches/cgi-gz.patch b/srcpkgs/mdocml/patches/cgi-gz.patch new file mode 100644 index 0000000..06af0c2 --- /dev/null +++ b/srcpkgs/mdocml/patches/cgi-gz.patch @@ -0,0 +1,22 @@ +--- a/cgi.c ++++ b/cgi.c +@@ -879,14 +879,15 @@ + int fd; + int usepath; + +- if (-1 == (fd = open(file, O_RDONLY, 0))) { ++ mchars_alloc(); ++ mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1 | ++ MPARSE_VALIDATE, MANDOC_OS_OTHER, req->q.manpath); ++ ++ if (-1 == (fd = mparse_open(mp, file))) { + puts("

You specified an invalid manual file.

"); + return; + } + +- mchars_alloc(); +- mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1 | +- MPARSE_VALIDATE, MANDOC_OS_OTHER, req->q.manpath); + mparse_readfd(mp, fd, file); + close(fd); + meta = mparse_result(mp); diff --git a/srcpkgs/mdocml/patches/cross.patch b/srcpkgs/mdocml/patches/cross.patch new file mode 100644 index 0000000..10c8ab4 --- /dev/null +++ b/srcpkgs/mdocml/patches/cross.patch @@ -0,0 +1,30 @@ +--- a/configure ++++ b/configure +@@ -176,15 +176,6 @@ + if ${COMP} -o "test-${1}" "${SOURCEDIR}/test-${1}.c" ${3} 1>&3 2>&3 + then + echo "partial result of ${n}: ${CC} succeeded" 1>&3 +- else +- echo "tested ${n}: no (compilation failed)" 1>&2 +- echo "result of ${n}: ${CC} failed with exit status $?" 1>&3 +- echo "result of compiling ${n}: no" 1>&3 +- echo 1>&3 +- return 1 +- fi +- +- if ./test-${1} 1>&3 2>&3; then + echo "tested ${n}: yes" 1>&2 + echo "result of running ${n}: yes" 1>&3 + echo 1>&3 +@@ -199,10 +190,9 @@ + return 0 + else + echo "tested ${n}: no (execution failed)" 1>&2 +- echo "result of ${n}: execution failed with exit status $?" 1>&3 ++ echo "result of ${n}: ${CC} failed with exit status $?" 1>&3 + echo "result of running ${n}: no" 1>&3 + echo 1>&3 +- rm "test-${1}" + return 1 + fi + } diff --git a/srcpkgs/mdocml/patches/stress-ng-hang.patch b/srcpkgs/mdocml/patches/stress-ng-hang.patch new file mode 100644 index 0000000..fd6a3a7 --- /dev/null +++ b/srcpkgs/mdocml/patches/stress-ng-hang.patch @@ -0,0 +1,75 @@ +fixes hang from rendering stress-ng(1) + +from https://inbox.vuxu.org/mandoc-discuss/ZIIbRuk+yJtoAJhv@asta-kit.de/ + +=================================================================== +RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/out.c,v +retrieving revision 1.54 +retrieving revision 1.55 +diff -u -r1.54 -r1.55 +--- a/out.c 2021/09/07 17:05:30 1.54 ++++ b/out.c 2021/09/28 17:06:17 1.55 +@@ -121,6 +121,7 @@ + const struct tbl_dat *dp; + struct roffcol *col; + struct tbl_colgroup *first_group, **gp, *g; ++ size_t *colwidth; + size_t ewidth, min1, min2, wanted, width, xwidth; + int done, icol, maxcol, necol, nxcol, quirkcol; + +@@ -254,16 +255,28 @@ + gp = &(*gp)->next; + } + ++ colwidth = mandoc_reallocarray(NULL, maxcol + 1, sizeof(*colwidth)); + while (first_group != NULL) { + + /* ++ * Rebuild the array of the widths of all columns ++ * participating in spans that require expansion. ++ */ ++ ++ for (icol = 0; icol <= maxcol; icol++) ++ colwidth[icol] = SIZE_MAX; ++ for (g = first_group; g != NULL; g = g->next) ++ for (icol = g->startcol; icol <= g->endcol; icol++) ++ colwidth[icol] = tbl->cols[icol].width; ++ ++ /* + * Find the smallest and second smallest column width + * among the columns which may need expamsion. + */ + + min1 = min2 = SIZE_MAX; + for (icol = 0; icol <= maxcol; icol++) { +- width = tbl->cols[icol].width; ++ width = colwidth[icol]; + if (min1 > width) { + min2 = min1; + min1 = width; +@@ -281,7 +294,7 @@ + for (g = first_group; g != NULL; g = g->next) { + necol = 0; + for (icol = g->startcol; icol <= g->endcol; icol++) +- if (tbl->cols[icol].width == min1) ++ if (colwidth[icol] == min1) + necol++; + if (necol == 0) + continue; +@@ -298,7 +311,7 @@ + while ((g = *gp) != NULL) { + done = 0; + for (icol = g->startcol; icol <= g->endcol; icol++) { +- if (tbl->cols[icol].width != min1) ++ if (colwidth[icol] != min1) + continue; + if (g->wanted <= wanted - min1) { + tbl->cols[icol].width += g->wanted; +@@ -315,6 +328,7 @@ + gp = &(*gp)->next; + } + } ++ free(colwidth); + + /* + * Align numbers with text. diff --git a/srcpkgs/mdocml/template b/srcpkgs/mdocml/template new file mode 100644 index 0000000..2037597 --- /dev/null +++ b/srcpkgs/mdocml/template @@ -0,0 +1,78 @@ +# Template file for 'mdocml' +pkgname=mdocml +version=1.14.6 +revision=7 +build_style=configure +make_build_args="all man.cgi" +make_check_target="regress" +hostmakedepends="less" +makedepends="zlib-devel" +depends="busybox-core" +checkdepends="perl" +conf_files="/etc/man.conf" +short_desc="UNIX manpage compiler toolset (mandoc)" +maintainer="Leah Neukirchen " +license="ISC" +homepage="https://mandoc.bsd.lv" +distfiles="https://mandoc.bsd.lv/snapshots/mandoc-${version}.tar.gz" +checksum=8bf0d570f01e70a6e124884088870cbed7537f36328d512909eb10cd53179d9c +provides="man-0_1" + +alternatives=" + man:man:/usr/bin/mandoc + man:whatis:/usr/bin/mandoc + man:apropos:/usr/bin/mandoc + man:man.1:/usr/share/man/man1/mandoc-man.1 + man:whatis.1:/usr/share/man/man1/mandoc-whatis.1 + man:apropos.1:/usr/share/man/man1/mandoc-apropos.1" + +CFLAGS="-fcommon" + +post_patch() { + cat ${FILESDIR}/void.css >>mandoc.css + cp ${FILESDIR}/cgi.h . +} +pre_configure() { + cat >configure.local <<-EOF + PREFIX=/usr + SBINDIR=/usr/bin + MANDIR=/usr/share/man + OSNAME="Void Linux" + BINM_SOELIM=mandoc-soelim + MANM_ROFF="mandoc_roff" + LDFLAGS="$LDFLAGS" + CFLAGS="$CFLAGS" + CC="$CC" + HAVE_REWB_BSD=0 + EOF + case "$XBPS_TARGET_MACHINE" in + *-musl) echo 'UTF8_LOCALE="C.UTF-8"' >>configure.local;; + esac +} +post_install() { + # Rename mans for alternatives + for f in apropos man whatis; do + mv ${DESTDIR}/usr/share/man/man1/{$f,mandoc-$f}.1 + done + # Use alternatives. + rm -f ${DESTDIR}/usr/bin/{apropos,man,whatis} + # man(1) configuration file + vconf ${FILESDIR}/man.conf + # remove devel stuff + rm -rf ${DESTDIR}/usr/{include,lib,share/man/man3} + # Daily cron job to generate man db + vinstall ${FILESDIR}/makewhatis.cron.daily 755 etc/cron.daily makewhatis + vlicense LICENSE +} + +void-man-cgi_package() { + short_desc="CGI manpage formatter for man.voidlinux.org" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmkdir usr/libexec/mandoc + vinstall man.cgi 0755 usr/libexec/mandoc + vsconf mandoc.css + vman man.cgi.3 + vman man.cgi.8 + } +} diff --git a/srcpkgs/mdocml/update b/srcpkgs/mdocml/update new file mode 100644 index 0000000..24c575a --- /dev/null +++ b/srcpkgs/mdocml/update @@ -0,0 +1,2 @@ +ignore='*.regress' +pkgname='mandoc' diff --git a/srcpkgs/neofetch/template b/srcpkgs/neofetch/template new file mode 100644 index 0000000..4120d83 --- /dev/null +++ b/srcpkgs/neofetch/template @@ -0,0 +1,23 @@ +#!/bin/sh +pkgname=neofetch +version=7.1.0 +revision=5 +short_desc="Simple system information script (not my software)" +maintainer="Tracker-Friendly " +homepage="https://codeberg.org/EvolutionOS/neofetch" +license="MIT" +makedepends="make git" +depends="bash" + +do_build() { + echo "Building..." + # Not needed +} + +do_install() { + echo "Installing..." + git clone --depth=1 https://codeberg.org/EvolutionOS/neofetch.git + cd neofetch + mkdir -p ${DESTDIR}/usr/ + make PREFIX=${DESTDIR}/usr/ install +} diff --git a/srcpkgs/runit-void-apparmor b/srcpkgs/runit-void-apparmor new file mode 120000 index 0000000..56af434 --- /dev/null +++ b/srcpkgs/runit-void-apparmor @@ -0,0 +1 @@ +runit-void \ No newline at end of file diff --git a/srcpkgs/runit-void/INSTALL b/srcpkgs/runit-void/INSTALL new file mode 100644 index 0000000..758cb9e --- /dev/null +++ b/srcpkgs/runit-void/INSTALL @@ -0,0 +1,26 @@ +case "${ACTION}" in +post) + # Enable default services: + # - agetty-tty[1-4] (default) + # - udevd (default) + # - sulogin (single) + mkdir -p etc/runit/runsvdir/single + ln -sf /etc/sv/sulogin etc/runit/runsvdir/single + + mkdir -p etc/runit/runsvdir/default + if [ ! -e etc/runit/runsvdir/current ]; then + ln -sf default etc/runit/runsvdir/current + fi + for f in 1 2 3 4 5 6; do + [ -e /etc/sv/agetty-tty${f}/down ] || ln -sf /etc/sv/agetty-tty$f etc/runit/runsvdir/default + done + [ -e etc/sv/udevd/run ] && ln -sf /etc/sv/udevd etc/runit/runsvdir/default + + if [ -d usr/sbin -a ! -L usr/sbin ]; then + for f in init shutdown halt reboot poweroff; do + ln -sr ../bin/$f usr/sbin/$f + done + fi + + ;; +esac diff --git a/srcpkgs/runit-void/files/09-apparmor.sh b/srcpkgs/runit-void/files/09-apparmor.sh new file mode 100644 index 0000000..1d24b4e --- /dev/null +++ b/srcpkgs/runit-void/files/09-apparmor.sh @@ -0,0 +1,27 @@ +# vim: set ts=4 sw=4 et: + +# AppArmor is not enabled in kernel, silently exit +[ ! -d /sys/kernel/security/apparmor ] && return + +# Load config +[ -r /etc/default/apparmor ] && . /etc/default/apparmor + +# Proceed to load profiles depending on user settings +msg "Loading AppArmor profiles..." + +if [ -n "$APPARMOR" ]; then + if [ "$APPARMOR" != "complain" -a "$APPARMOR" != "enforce" ]; then + printf '! AppArmor set to %s - ignoring profiles\n' "$APPARMOR" + return + fi + + [ "$APPARMOR" = "complain" ] && AACOMPLAIN="-C" + + if [ -d /etc/apparmor.d -a -x /usr/bin/apparmor_parser ]; then + apparmor_parser -a $AACOMPLAIN $(find /etc/apparmor.d -maxdepth 1 -type f ! -name '*.new-*_*') + else + printf '! AppArmor installation problem - ensure you have installed apparmor package\n' + fi +else + printf '! AppArmor disabled - ignoring profiles\n' +fi diff --git a/srcpkgs/runit-void/files/apparmor b/srcpkgs/runit-void/files/apparmor new file mode 100644 index 0000000..b32ce11 --- /dev/null +++ b/srcpkgs/runit-void/files/apparmor @@ -0,0 +1,7 @@ +# AppArmor configuration + +# Possible options: +# - disable +# - complain +# - enforce +APPARMOR=complain diff --git a/srcpkgs/runit-void/files/hostname b/srcpkgs/runit-void/files/hostname new file mode 100644 index 0000000..916d471 --- /dev/null +++ b/srcpkgs/runit-void/files/hostname @@ -0,0 +1 @@ +void-live diff --git a/srcpkgs/runit-void/files/locale.conf b/srcpkgs/runit-void/files/locale.conf new file mode 100644 index 0000000..abfaa52 --- /dev/null +++ b/srcpkgs/runit-void/files/locale.conf @@ -0,0 +1,2 @@ +LANG=en_US.UTF-8 +LC_COLLATE=C diff --git a/srcpkgs/runit-void/runit-void-apparmor.INSTALL b/srcpkgs/runit-void/runit-void-apparmor.INSTALL new file mode 100644 index 0000000..54b8e2d --- /dev/null +++ b/srcpkgs/runit-void/runit-void-apparmor.INSTALL @@ -0,0 +1,13 @@ +case "$ACTION" in +pre) + # Fix incorrect path in /etc/default + if [ -e /etc/default/apparmor/rc.apparmor ]; then + mv /etc/default/apparmor/rc.apparmor /etc/default/rc.apparmor + rm -rf /etc/default/apparmor + mv /etc/default/rc.apparmor /etc/default/apparmor + fi + if [ -d /etc/default/apparmor ]; then + rm -rf /etc/default/apparmor + fi + ;; +esac diff --git a/srcpkgs/runit-void/template b/srcpkgs/runit-void/template new file mode 100644 index 0000000..5028c85 --- /dev/null +++ b/srcpkgs/runit-void/template @@ -0,0 +1,54 @@ +# Template file for 'runit-void' +pkgname=runit-void +version=20230413 +revision=1 +build_style=gnu-makefile +short_desc="Void / Evolution Linux runit scripts (partially patched by Tracker-Friendly)" +maintainer="Enno Boland " +license="CC0-1.0" +homepage="https://github.com/void-linux/void-runit" +distfiles="https://github.com/void-linux/void-runit/archive/refs/tags/${version}.tar.gz" +checksum=1049555eb27c370ec482ab576382ff951c2c33da6e8f5d165b3733c4a6d157cb + +depends="virtual?awk procps-ng runit" +conf_files=" + /etc/hostname + /etc/locale.conf + /etc/rc.conf + /etc/rc.local + /etc/rc.shutdown + /etc/sv/agetty-console/conf + /etc/sv/agetty-serial/conf + /etc/sv/agetty-hvc0/conf + /etc/sv/agetty-hvsi0/conf" + +make_dirs=" + /etc/zzz.d/suspend 0755 root root + /etc/zzz.d/resume 0755 root root" + +post_install() { + vmkdir usr/bin + mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin + vconf ${FILESDIR}/hostname + vconf ${FILESDIR}/locale.conf + vinstall ${FILESDIR}/apparmor 644 /etc/default/ + vinstall ${FILESDIR}/09-apparmor.sh 644 /etc/runit/core-services/ + vmkdir usr/lib + # Enable services at post-install time instead. + rm -f ${DESTDIR}/etc/runit/runsvdir/current + rm -rf ${DESTDIR}/etc/runit/runsvdir/default + rm -rf ${DESTDIR}/etc/runit/runsvdir/single + ln -s runit-init ${DESTDIR}/usr/bin/init + rm -rfv ${DESTDIR}/etc/sv/agetty-tty1/conf +} + +runit-void-apparmor_package() { + short_desc+=" - AppArmor initialization" + depends="${sourcepkg}-${version}_${revision}" + conf_files="/etc/default/apparmor" + pkg_install() { + vmove etc/default/apparmor + vmove etc/runit/core-services/09-apparmor.sh + rm -rfv ${DESTDIR}/etc/sv/agetty-tty1/conf + } +} diff --git a/srcpkgs/shadowfix/template b/srcpkgs/shadowfix/template new file mode 100644 index 0000000..b2fd355 --- /dev/null +++ b/srcpkgs/shadowfix/template @@ -0,0 +1,16 @@ +pkgname=shadowfix +version=1.0 +revision=0 +build_style=meta +maintainer="Tracker-Friendly " +short_desc="Something that should only ever be installed ONCE. EVER." +license="GPL-3.0" +homepage="https://evolutionos.codeberg.page" + +do_install() { + #!/bin/bash + + mkdir -p ${DESTDIR}/etc/ + + touch ${DESTDIR}/etc/shadow +} diff --git a/srcpkgs/void-man-cgi b/srcpkgs/void-man-cgi new file mode 120000 index 0000000..1f8650c --- /dev/null +++ b/srcpkgs/void-man-cgi @@ -0,0 +1 @@ +mdocml \ No newline at end of file diff --git a/srcpkgs/xbps-triggers/files/appstream-cache b/srcpkgs/xbps-triggers/files/appstream-cache new file mode 100755 index 0000000..8494d1e --- /dev/null +++ b/srcpkgs/xbps-triggers/files/appstream-cache @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Updates the appstream AppData cache during installation of packages and +# deletes it when AppStream is removed +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +# The appstreamcli binary program. +APPSTREAMCLI="usr/bin/appstreamcli" + +# Paths that hold appstream metadata files +# the first one is the traditional one where most package reside but it is +# considered deprecated by upstream +# the other 3 are the ones used by upstream as noted in as-pool.c#L93-95 +APPDATA_DATAPATHS="usr/share/appdata usr/share/app-info var/lib/app-info var/cache/app-info" + +# Location where the cache files go when they are generated they are most +# of the time compressed with gvz extension +APPSTREAM_CACHE="var/cache/app-info/gv" + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + case "$TARGET" in + post-install|post-remove) + if [ $PKGNAME = "AppStream" -a $TARGET = "post-remove" ]; then + for f in ${APPSTREAM_CACHE}/*; do + rm -f ${f} + done + echo "Removing AppStream cache..." + rmdir ${APPSTREAM_CACHE} + exit 0 + fi + + if [ ! -x "$APPSTREAMCLI" ]; then + exit 0 + fi + + for path in ${APPDATA_DATAPATHS}; do + APPSTREAM_PATHS="${APPSTREAM_PATHS} --datapath ${path}" + done + + echo "Updating AppStream cache..." + ${APPSTREAMCLI} refresh-cache --force ${APPSTREAM_PATHS} --cachepath ${APPSTREAM_CACHE} + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/binfmts b/srcpkgs/xbps-triggers/files/binfmts new file mode 100755 index 0000000..1691983 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/binfmts @@ -0,0 +1,61 @@ +#!/bin/sh +# +# binfmts trigger. +# +# Binaries can be specified like: +# binfmts=" [ ...]" +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +export PATH="usr/bin:usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin" + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + [ -x /usr/bin/update-binfmts ] || exit 0 + [ -z "${binfmts}" ] && exit 0 + + case "$TARGET" in + post-install) + echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do + line=$(echo $line | tr '&' '\' 2> /dev/null) + set -- ${line} + _bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})" + update-binfmts --package ${PKGNAME} --install ${_bname} ${_bin} ${_args} + done + ;; + pre-remove) + echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do + line=$(echo $line | tr '&' '\' 2> /dev/null) + set -- ${line} + _bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})" + if [ -f /var/lib/binfmts/${_bname} ]; then + update-binfmts --package ${PKGNAME} --remove ${_bname} ${_bin} + fi + done + ;; + *) + exit 1 + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 +# end +# end diff --git a/srcpkgs/xbps-triggers/files/dkms b/srcpkgs/xbps-triggers/files/dkms new file mode 100755 index 0000000..ae87f3b --- /dev/null +++ b/srcpkgs/xbps-triggers/files/dkms @@ -0,0 +1,148 @@ +#!/bin/sh +# +# DKMS trigger. Used to add/build/install or remove the specified modules +# from all kernels. +# +# Modules can be specified like: +# dkms_modules=" ..." +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +export PATH="usr/bin:usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin" + +remove_modules() { + # Remove the specified modules from all kernels. + set -- ${dkms_modules} + while [ $# -gt 0 ]; do + $DKMS status -m "$1" | while read -r line; do + IFS=" ,:/" read -r modname modver kver arch status _ <<-EOF + $line + EOF + if [ "${line#*: }" = added ]; then + # The module wasn't built successfully for any kernel version + printf %s "Cleaning up DKMS module '$modname-$modver'... " + $DKMS remove -m "$modname" -v "$modver" >/dev/null 2>&1 + elif [ "$status" = installed ] || [ "$status" = built ]; then + printf %s "Removing DKMS module '$modname-$modver' for kernel-$kver... " + $DKMS remove -m "$modname" -v "$modver" -k "$kver" >/dev/null 2>&1 + else + # Invalid output + continue + fi + if [ $? -eq 0 ]; then + echo "done." + else + echo "FAILED!" + fi + done + shift 2 + done +} + +add_modules() { + local rval= + + # Add/build and install the specified modules for all kernels. + set -- ${dkms_modules} + while [ $# -gt 0 ]; do + $DKMS add -m "$1" -v "$2" >/dev/null 2>&1 + rval=$? + if [ $rval -eq 0 ]; then + echo "Added DKMS module '$1-$2'." + elif [ $rval -eq 3 ]; then + echo "DKMS module '$1-$2' already added, skipping." + else + echo "Failed to add DKMS module: '$1-$2'..." + err=1 + fi + shift 2 + done + [ -n "$err" ] && exit $err + + for f in $(echo lib/modules/*); do + _kver=$(basename $f) + if [ ! -e "${f}/build/include" ]; then + echo "Skipping kernel-${_kver}. kernel-headers package not installed..." + continue + fi + if [ ! -f ${f}/build/scripts/basic/fixdep ] || [ ! -f ${f}/build/scripts/mod/modpost ] ; then + echo -n "Prepare to build modules for kernel-${_kver}... " + yes "" | make -j$(nproc) -C ${f}/build prepare0 > ${f}/build/make.log 2>&1 + if [ $? -eq 0 ]; then + echo "done." + else + echo "FAILED!" + echo "Kernel scripts failed to build, please check /${f}/build/make.log" + echo "for errors in the log file." + fi + fi + set -- ${dkms_modules} + while [ $# -gt 0 ]; do + echo -n "Building DKMS module '$1-$2' for kernel-${_kver}... " + $DKMS build -q -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "done." + else + echo "FAILED!" + echo "DKMS module '$1-$2' failed to build, please check /var/lib/dkms" + echo "for errors in the log file." + shift 2; continue + fi + echo -n "Installing DKMS module '$1-$2' for kernel-${_kver}... " + $DKMS install --force -q -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "done." + else + echo "FAILED!" + echo "DKMS module '$1-$2' failed to install, please do this manually" + echo "and check for errors in the log file." + fi + shift 2 + done + done +} + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + if [ -x /usr/bin/dkms ]; then + DKMS=/usr/bin/dkms + elif [ -x /usr/sbin/dkms ]; then + DKMS=/usr/sbin/dkms + else + exit 0 + fi + + [ ! -x $DKMS -o -z "$dkms_modules" ] && exit 0 + + case "$TARGET" in + post-install) + export IGNORE_CC_MISMATCH=1 + add_modules + ;; + pre-remove) + remove_modules + ;; + *) + exit 1 + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gconf-schemas b/srcpkgs/xbps-triggers/files/gconf-schemas new file mode 100755 index 0000000..776b801 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gconf-schemas @@ -0,0 +1,104 @@ +#!/bin/sh +# +# (Un)registers GConf schemas/entries into the schemas database directory. +# +# The following variables can be defined by a package to register .entries +# and .schemas files: +# +# gconf_entries - A list of .entries files to register. When using this +# variable, packages need to be fixed to not register +# them and to install those files to GCONF_SCHEMAS_DIR. +# gconf_schemas - A list of .schemas files to register. When using this +# variable, packages need to be fixed to not register +# them and to install those files to GCONF_SCHEMAS_DIR. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +# The gconftool-2 binary program. +GCONFTOOL2="usr/bin/gconftool-2" + +# Default configuration source (database). +GCONF_CONFIG_SOURCE="xml::/etc/gconf/gconf.xml.defaults" + +# Where .schemas files go. +GCONF_SCHEMAS_DIR="usr/share/gconf/schemas" + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + if [ ! -x "$GCONFTOOL2" ]; then + exit 0 + fi + if [ -z "$gconf_entries" -a -z "$gconf_schemas" ]; then + return 0 + fi + + case "$TARGET" in + post-install) + for f in ${gconf_schemas}; do + if [ ! -f "${GCONF_SCHEMAS_DIR}/${f}" ]; then + continue + fi + GCONF_CONFIG_SOURCE="$GCONF_CONFIG_SOURCE" \ + ${GCONFTOOL2} --makefile-install-rule \ + ${GCONF_SCHEMAS_DIR}/${f} >/dev/null + if [ $? -eq 0 ]; then + echo "Registered GConf schema: ${f}." + fi + done + for f in ${gconf_entries}; do + if [ ! -f "${GCONF_SCHEMAS_DIR}/${f}" ]; then + continue + fi + ${GCONFTOOL2} --config-source=${GCONF_CONFIG_SOURCE} \ + --direct --load ${GCONF_SCHEMAS_DIR}/${f} \ + >/dev/null + if [ $? -eq 0 ]; then + echo "Registered GConf entry: ${f}." + fi + done + ;; + pre-remove) + for f in ${gconf_entries}; do + if [ ! -f "${GCONF_SCHEMAS_DIR}/${f}" ]; then + continue + fi + ${GCONFTOOL2} --config-source=${GCONF_CONFIG_SOURCE} \ + --direct --unload ${GCONF_SCHEMAS_DIR}/${f} \ + >/dev/null + if [ $? -eq 0 ]; then + echo "Unregistered GConf entry: ${f}." + fi + done + for f in ${gconf_schemas}; do + if [ ! -f "${GCONF_SCHEMAS_DIR}/${f}" ]; then + continue + fi + GCONF_CONFIG_SOURCE="${GCONF_CONFIG_SOURCE}" \ + ${GCONFTOOL2} --makefile-uninstall-rule \ + ${GCONF_SCHEMAS_DIR}/${f} >/dev/null + if [ $? -eq 0 ]; then + echo "Unregistered GConf schema: ${f}." + fi + done + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gdk-pixbuf-loaders b/srcpkgs/xbps-triggers/files/gdk-pixbuf-loaders new file mode 100755 index 0000000..26a7eee --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gdk-pixbuf-loaders @@ -0,0 +1,49 @@ +#!/bin/sh +# +# Updates's GDK Pixbuf loaders cache with gdk-pixbuf-query-loaders(1). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +pixbuf_bin=usr/bin/gdk-pixbuf-query-loaders +pixbuf_cache=usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache + +case "$ACTION" in +targets) + echo "post-install pre-remove post-remove" + ;; +run) + [ ! -x ${pixbuf_bin} ] && exit 0 + + if [ "$TARGET" = "pre-remove" -a "${PKGNAME}" = "gdk-pixbuf" ]; then + [ -f ${pixbuf_cache} ] && rm -f ${pixbuf_cache} + break + fi + case "$TARGET" in + post-*) + if [ -f etc/gtk-2.0/gdk-pixbuf.loaders ]; then + echo " Removing obsolete conf file: etc/gtk-2.0/gdk-pixbuf.loaders" + rm -f etc/gtk-2.0/gdk-pixbuf.loaders + fi + if [ -x ${pixbuf_bin} ]; then + echo "Updating GDK Pixbuf loaders cache..." + ${pixbuf_bin} --update-cache + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gio-modules b/srcpkgs/xbps-triggers/files/gio-modules new file mode 100755 index 0000000..0425459 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gio-modules @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Updates GLib GIO module cache with gio-querymodules. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +gioquery=usr/bin/gio-querymodules +giocachedir=usr/lib/gio/modules + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + case "$TARGET" in + post-*) + if [ -x ${gioquery} -a -d ${giocachedir} ]; then + echo "Updating GLib GIO modules cache..." + ${gioquery} ${giocachedir} + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gsettings-schemas b/srcpkgs/xbps-triggers/files/gsettings-schemas new file mode 100755 index 0000000..854126d --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gsettings-schemas @@ -0,0 +1,58 @@ +#!/bin/sh +# +# GLib's GSettings XML schema files. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +# The glib-compile-schemas binary program. +GSCHEMASCOMP="usr/bin/glib-compile-schemas" + +# Where .schemas files go. +GLIB_SCHEMAS_DIR="usr/share/glib-2.0/schemas" + +case "$ACTION" in +targets) + echo "post-install post-remove pre-remove" + ;; +run) + if [ ! -x "$GSCHEMASCOMP" ]; then + exit 0 + fi + + case "$TARGET" in + post-*) + [ ! -d ${GLIB_SCHEMAS_DIR} ] && exit 0 + # Compile all GSettings schema files. + echo -n "Refreshing GSettings database from " + echo -n "${GLIB_SCHEMAS_DIR}... " + ${GSCHEMASCOMP} ${GLIB_SCHEMAS_DIR} + if [ $? -eq 0 ]; then + echo "done." + else + echo "failed!" + fi + ;; + pre-remove) + if [ "${PKGNAME}" = "glib" ]; then + rm -f ${GLIB_SCHEMAS_DIR}/*.compiled + echo "Removed GSettings database file." + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gtk-icon-cache b/srcpkgs/xbps-triggers/files/gtk-icon-cache new file mode 100755 index 0000000..abff328 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gtk-icon-cache @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Updates GTK+ icon cache file with gtk-update-icon-cache(1). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +iconcache_bin=usr/bin/gtk-update-icon-cache + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ "$TARGET" = "post-remove" -a "${PKGNAME}" = "gtk+" ]; then + for dir in ${gtk_iconcache_dirs}; do + if [ -f .${dir}/icon-theme.cache ]; then + rm -f .${dir}/icon-theme.cache + echo -n "Removed GTK+ icon theme " + echo "cache for ${dir}." + fi + done + exit 0 + fi + + if [ ! -x $iconcache_bin ]; then + exit 0 + fi + + case "$TARGET" in + post-*) + for dir in ${gtk_iconcache_dirs}; do + if [ -d ".${dir}" ]; then + echo -n "Updating GTK+ icon cache for " + echo "${dir}..." + ${iconcache_bin} -q -f -t .${dir} + fi + done + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gtk-immodules b/srcpkgs/xbps-triggers/files/gtk-immodules new file mode 100755 index 0000000..46e3a6b --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gtk-immodules @@ -0,0 +1,50 @@ +#!/bin/sh +# +# Updates GTK+ IM modules file with gtk-query-immodules-2.0(1). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +immodules_bin=usr/bin/gtk-query-immodules-2.0 +immodules_cache=usr/lib/gtk-2.0/2.10.0/immodules.cache + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ "$TARGET" = "post-remove" -a "${PKGNAME}" = "gtk+" ]; then + [ -f ${immodules_cache} ] && rm -f ${immodules_cache} + exit 0 + fi + case "$TARGET" in + post-*) + if [ -f etc/gtk-2.0/gtk.immodules ]; then + echo "Removing obsolete conf file: etc/gtk-2.0/gtk.immodules" + rm -f etc/gtk-2.0/gtk.immodules + fi + + if [ ! -x $immodules_bin ]; then + exit 0 + fi + + echo "Updating GTK+ immodules cache..." + $immodules_bin --update-cache + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/gtk-pixbuf-loaders b/srcpkgs/xbps-triggers/files/gtk-pixbuf-loaders new file mode 100755 index 0000000..802b489 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gtk-pixbuf-loaders @@ -0,0 +1,6 @@ +#!/bin/sh +# +# This trigger retains the old name of the current 'gdk-pixbuf-loaders' trigger +# and redirects all args there +# +exec usr/libexec/xbps-triggers/gdk-pixbuf-loaders "$@" diff --git a/srcpkgs/xbps-triggers/files/gtk3-immodules b/srcpkgs/xbps-triggers/files/gtk3-immodules new file mode 100755 index 0000000..12042fc --- /dev/null +++ b/srcpkgs/xbps-triggers/files/gtk3-immodules @@ -0,0 +1,50 @@ +#!/bin/sh +# +# Updates GTK+3 IM modules file with gtk-query-immodules-3.0(1). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +immodules_bin=usr/bin/gtk-query-immodules-3.0 +immodules_cache=usr/lib/gtk-3.0/3.0.0/immodules.cache + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ "$TARGET" = "post-remove" -a "${PKGNAME}" = "gtk+3" ]; then + [ -f ${immodules_cache} ] && rm -f ${immodules_cache} + exit 0 + fi + case "$TARGET" in + post-*) + if [ -f etc/gtk-3.0/gtk.immodules ]; then + echo "Removing obsolete conf file: etc/gtk-3.0/gtk.immodules" + rm -f etc/gtk-3.0/gtk.immodules + fi + + if [ ! -x $immodules_bin ]; then + exit 0 + fi + + echo "Updating GTK+3 immodules cache..." + $immodules_bin --update-cache + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/hwdb.d-dir b/srcpkgs/xbps-triggers/files/hwdb.d-dir new file mode 100755 index 0000000..c651f00 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/hwdb.d-dir @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Updates hardware database +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +udevadm=usr/bin/udevadm + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + if [ ! -x $udevadm ]; then + exit 0 + fi + + echo "Updating udev hardware database ..." + $udevadm hwdb --root=. --update + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/info-files b/srcpkgs/xbps-triggers/files/info-files new file mode 100755 index 0000000..7ad012b --- /dev/null +++ b/srcpkgs/xbps-triggers/files/info-files @@ -0,0 +1,63 @@ +#!/bin/sh +# +# Registers or unregisters info files for a package. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +installinfo=usr/bin/install-info +infodir=usr/share/info + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + [ ! -x "$installinfo" ] && exit 0 + + if [ -z "$info_files" ]; then + echo "Trigger info-files: empty info_files." + exit 1 + fi + + for f in ${info_files}; do + if [ "$f" = "/usr/share/info/dir" ]; then + continue + elif [ ! -f ".$f" ]; then + echo "WARNING: $f does not exist! skipping..." + continue + fi + + case "$TARGET" in + post-install) + echo -n "Registering info file: $f... " + ;; + pre-remove) + echo -n "Unregistering info file: $f... " + infoargs="--delete" + ;; + esac + + $installinfo $infoargs ./$f $infodir/dir 2>/dev/null + if [ $? -eq 0 ]; then + echo "done." + else + echo "failed!" + fi + done + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate new file mode 100755 index 0000000..20fd998 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Trigger to regenerate an initramfs for every kernel with a module directory +# in lib/modules on package post-install. +# +# To change the initramfs generator, edit or create the file +# etc/default/initramfs-regenerate and add or change the line +# +# INITRAMFS_GENERATOR= +# +# where is one of "dracut", "mkinitcpio" or "none". By default, a +# value of "dracut" is assumed. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] + +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +export PATH="usr/bin:/usr/sbin:/usr/bin:/sbin:/bin" + +case "$ACTION" in + targets) + echo "post-install post-remove" + exit 0 + ;; + run) + ;; + *) + exit 1 + ;; +esac + +# Prefer the new alternatives-based initramfs hooks +HOOK="etc/kernel.d/post-install/20-initramfs" +if [ ! -x "${HOOK}" ]; then + # Otherwise, use legacy trigger behavior to find a preferred hook + [ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate + HOOK="etc/kernel.d/post-install/20-${INITRAMFS_GENERATOR:-dracut}" + [ -x "${HOOK}" ] || exit 0 +fi + +echo "Regenerating initramfs images using kernel hook ${HOOK##*/}" + +# Regenerate images for every kernel version with modules +for kdir in usr/lib/modules/*; do + [ -d "${kdir}/kernel" ] || continue + kver="${kdir##*/}" + "${HOOK}" "${PKGNAME}" "${kver}" +done +exit 0 diff --git a/srcpkgs/xbps-triggers/files/kernel-hooks b/srcpkgs/xbps-triggers/files/kernel-hooks new file mode 100755 index 0000000..61574e9 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/kernel-hooks @@ -0,0 +1,53 @@ +#!/bin/sh +# +# Run scripts found in /etc/kernel.d/ directories. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +RUN_TARGETS="pre-install post-install pre-remove post-remove" + +case "$ACTION" in +targets) + echo "${RUN_TARGETS}" + ;; +run) + # Ignore pre-remove when updating a package. + if [ "${TARGET}" = "pre-remove" ]; then + [ "${UPDATE}" = "yes" ] && exit 0 + fi + + # Create required dirs when necessary. + for _dir_ in ${RUN_TARGETS}; do + [ ! -d etc/kernel.d/${_dir_} ] && mkdir -p etc/kernel.d/${_dir_} + done + + # Execute kernel hooks for the specified target. + for _file_ in etc/kernel.d/${TARGET}/*; do + [ ! -x "${_file_}" ] && continue + echo "Executing ${TARGET} kernel hook: $(basename ${_file_}) ..." + + # A package may export "kernel_hooks_version" as a hint + # to pass this version to the hooks. + if [ -n "${kernel_hooks_version}" ]; then + env ROOTDIR="." ${_file_} ${PKGNAME} ${kernel_hooks_version} + else + env ROOTDIR="." ${_file_} ${PKGNAME} ${VERSION} + fi + done + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/mimedb b/srcpkgs/xbps-triggers/files/mimedb new file mode 100755 index 0000000..e5535f2 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/mimedb @@ -0,0 +1,40 @@ +#!/bin/sh +# +# Updates the shared-mime-info db file with update-mime-database(1). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +mimedb_bin=usr/bin/update-mime-database + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + case "$TARGET" in + post-*) + if [ ! -x ${mimedb_bin} ]; then + exit 0 + fi + + echo "Updating shared-mime-info database..." + PKGSYSTEM_ENABLE_FSYNC=0 ${mimedb_bin} -n usr/share/mime > /dev/null + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/mkdirs b/srcpkgs/xbps-triggers/files/mkdirs new file mode 100755 index 0000000..089beca --- /dev/null +++ b/srcpkgs/xbps-triggers/files/mkdirs @@ -0,0 +1,59 @@ +#!/bin/sh +# +# Creates or removes directories as specified by the make_dirs +# environment variable, as follows (relative to rootdir): +# +# dir mode uid gid +# blah 0755 0 0 +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + [ -z "$make_dirs" ] && return 0 + + if [ "$TARGET" = "post-install" ]; then + # create directories + set -- ${make_dirs} + while [ $# -gt 0 ]; do + _dir="$1"; _mode="$2"; _uid="$3"; _gid="$4" + if [ ! -d ".${_dir}" ]; then + mkdir -p ".${_dir}" || \ + echo "Failed to create .${_dir}!" + fi + chown "${_uid}:${_gid}" ".${_dir}" && \ + chmod ${_mode} ".${_dir}" || \ + echo "Failed to set perms ${_mode} ${_uid}:${_gid} to .${_dir}!" + shift; shift; shift; shift + done + else + # remove directories + set -- ${make_dirs} + while [ $# -gt 0 ]; do + _dir="$1" + if [ -d ".${_dir}" ]; then + rmdir ".${_dir}" >/dev/null 2>&1 + fi + shift; shift; shift; shift + done + fi + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/openjdk-profile b/srcpkgs/xbps-triggers/files/openjdk-profile new file mode 100755 index 0000000..007d9cd --- /dev/null +++ b/srcpkgs/xbps-triggers/files/openjdk-profile @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Adds an entry to /etc/profile.d for setting $JAVA_HOME. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +jdkprofile=etc/profile.d/openjdk.sh + +case "$ACTION" in +targets) + echo "post-install" + ;; +run) + [ -f "$jdkprofile" ] && exit 0 + + cat > "$jdkprofile" <<'EOF' +if _java_bin=$(readlink -e /usr/bin/java); then + _java_bin="${_java_bin%/bin/java}" + [ -d "${_java_bin}" ] && export JAVA_HOME="${JAVA_HOME:=${_java_bin}}" +fi +unset _java_bin +EOF + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/pango-modules b/srcpkgs/xbps-triggers/files/pango-modules new file mode 100755 index 0000000..9c95d54 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/pango-modules @@ -0,0 +1,43 @@ +#!/bin/sh +# +# This is a reduced version for the pango-modules trigger which is now +# obsolete upstream. +# The pango-modulesquery binary was removed from upstream and isn't provided +# anymore by our 'pango' package +# +# This reduced version just removes the pango.modules file if it exists during +# the removal of the 'pango' package +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +pango_modules=etc/pango/pango.modules + +case "$ACTION" in +targets) + echo "post-remove" + ;; +run) + if [ "$TARGET" = "post-remove" -a "${PKGNAME}" = "pango" ]; then + if [ -f ${pango_modules} ]; then + echo "Removing pango modules file..." + rm -f ${pango_modules} + fi + break + fi + ;; +*) + exit 0 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/pycompile b/srcpkgs/xbps-triggers/files/pycompile new file mode 100755 index 0000000..fb55a20 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/pycompile @@ -0,0 +1,116 @@ +#!/bin/sh +# +# Trigger to compile python code into native bytecode and remove +# generated bytecode files. +# +# Packages need to set the variable pycompile_dirs with a list +# of directories (absolute path) separated by spaces, and WITHOUT +# the first slash, e.g: +# +# pycompile_dirs="usr/blah/foo usr/zoo/d00d" +# +# or if the code resides in standard site-packages directory, +# need to set the pycompile_module variable: +# +# pycompile_module="blah foo" +# +# Or if a module is stored in top-level site-packages directory: +# +# pycompile_module="foo.py" +# +# Additionally another var can be used to specify the target python version: +# +# pycompile_version="3.4" +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin" + +update_ldcache() { + if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then + echo "Updating ldconfig(8) cache..." + ldconfig -X || : + fi +} + +compile() +{ + for f in ${pycompile_dirs}; do + echo "Byte-compiling python code in ${f}..." + python${pycompile_version} -m compileall -f -q ./${f} && \ + python${pycompile_version} -O -m compileall -f -q ./${f} + done + for f in ${pycompile_module}; do + echo "Byte-compiling python${pycompile_version} code for module ${f}..." + if [ -d "usr/lib/python${pycompile_version}/site-packages/${f}" ]; then + python${pycompile_version} -m compileall -f -q \ + usr/lib/python${pycompile_version}/site-packages/${f} && \ + python${pycompile_version} -O -m compileall -f -q \ + usr/lib/python${pycompile_version}/site-packages/${f} + else + python${pycompile_version} -m compileall -f -q \ + usr/lib/python${pycompile_version}/site-packages/${f} && \ + python${pycompile_version} -O -m compileall -f -q \ + usr/lib/python${pycompile_version}/site-packages/${f} + fi + done + update_ldcache +} + +remove() +{ + for f in ${pycompile_dirs}; do + echo "Removing byte-compiled python${pycompile_version} files in ${f}..." + find ./${f} -type f -name \*.py[co] -delete 2>&1 >/dev/null + find ./${f} -type d -name __pycache__ -delete 2>&1 >/dev/null + done + for f in ${pycompile_module}; do + echo "Removing byte-compiled python${pycompile_version} code for module ${f}..." + if [ -d usr/lib/python${pycompile_version}/site-packages/${f} ]; then + find usr/lib/python${pycompile_version}/site-packages/${f} \ + -type f -name \*.py[co] -delete 2>&1 >/dev/null + find usr/lib/python${pycompile_version}/site-packages/${f} \ + -type d -name __pycache__ -delete 2>&1 >/dev/null + else + rm -f usr/lib/python${pycompile_version}/site-packages/${f%.py}.py[co] + fi + done + update_ldcache +} + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + [ ! -x usr/bin/python${pycompile_version} ] && exit 0 + [ -z "${pycompile_dirs}" -a -z "${pycompile_module}" ] && exit 0 + + case "$TARGET" in + post-install) + compile + ;; + pre-remove) + remove + ;; + *) + exit 1 + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/register-shell b/srcpkgs/xbps-triggers/files/register-shell new file mode 100755 index 0000000..316d112 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/register-shell @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Registers or unregisters a shell in /etc/shells. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + [ "$TARGET" != "post-install" -a "$TARGET" != "post-remove" ] && exit 1 + + if [ -z "$register_shell" ]; then + echo "Trigger register-shell: empty \$register_shell!" + exit 1 + fi + + case "$TARGET" in + post-install) + if [ ! -f etc/shells ]; then + for f in ${register_shell}; do + echo $f >> etc/shells + echo "Registered $f into /etc/shells." + done + chmod 644 etc/shells + else + for f in ${register_shell}; do + if ! grep -qFx "$f" etc/shells; then + echo "$f" >> etc/shells + echo -n "Registered $f into " + echo "/etc/shells." + fi + done + fi + ;; + post-remove) + if [ -f etc/shells ]; then + for f in ${register_shell}; do + if grep -q $f etc/shells; then + shell=$(echo $f|sed "s|\\/|\\\/|g") + sed -i -e "/$shell/d" etc/shells + echo -n "Unregistered $f from " + echo "/etc/shells." + fi + done + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/system-accounts b/srcpkgs/xbps-triggers/files/system-accounts new file mode 100755 index 0000000..f502848 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/system-accounts @@ -0,0 +1,178 @@ +#!/bin/sh +# +# (Un)registers systems accounts (users/groups). +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +export PATH="usr/sbin:usr/bin:/usr/sbin:/usr/bin:/sbin:/bin" + +# Determine whether useradd/groupadd/usermod need a prefix argument +if [ "$(readlink -f . 2>/dev/null || echo .)" != "/" ]; then + prefix="-P ." +else + prefix= +fi + +# show_acct_details [groups] +show_acct_details() { + echo " Account: $1" + echo " Description: '$2'" + echo " Homedir: '$3'" + echo " Shell: '$4'" + [ -n "$5" ] && echo " Additional groups: '$5'" +} + +group_add() { + local _pretty_grname _grname _gid _prefix + + if ! command -v groupadd >/dev/null 2>&1; then + echo "WARNING: cannot create $1 system group (missing groupadd)" + echo "The following group must be created manually: $1" + return + fi + + _grname="${1%:*}" + _gid="${1##*:}" + + [ "${_grname}" = "${_gid}" ] && _gid= + + _pretty_grname="${_grname}${_gid:+ (gid: ${_gid})}" + + groupadd ${prefix} -r ${_grname} ${_gid:+-g ${_gid}} >/dev/null 2>&1 + + case $? in + 0) echo "Created ${_pretty_grname} system group." ;; + 9) ;; + *) echo "ERROR: failed to create system group ${_pretty_grname}!"; exit 1;; + esac +} + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + [ -z "$system_accounts" -a -z "$system_groups" ] && exit 0 + + if command -v useradd >/dev/null 2>&1; then + USERADD="useradd ${prefix}" + fi + + if command -v usermod >/dev/null 2>&1; then + USERMOD="usermod ${prefix}" + fi + + case "$TARGET" in + post-install) + # System groups required by a package. + for grp in ${system_groups}; do + group_add $grp + done + + # System user/group required by a package. + for acct in ${system_accounts}; do + _uname="${acct%:*}" + _uid="${acct##*:}" + + [ "${_uname}" = "${_uid}" ] && _uid= + + eval homedir="\$${_uname}_homedir" + eval shell="\$${_uname}_shell" + eval descr="\$${_uname}_descr" + eval groups="\$${_uname}_groups" + eval pgroup="\$${_uname}_pgroup" + + [ -z "$homedir" ] && homedir="/var/empty" + [ -z "$shell" ] && shell="/sbin/nologin" + [ -z "$descr" ] && descr="${_uname} unprivileged user" + [ -n "$groups" ] && user_groups="-G $groups" + + if [ -n "${_uid}" ]; then + use_id="-u ${_uid} -g ${pgroup:-${_uid}}" + _pretty_uname="${_uname} (uid: ${_uid})" + else + use_id="-g ${pgroup:-${_uname}}" + _pretty_uname="${_uname}" + fi + + if [ -z "$USERADD" -o -z "$USERMOD" ]; then + echo "WARNING: cannot create ${_uname} system account (missing useradd or usermod)" + echo "The following system account must be created:" + show_acct_details "${_pretty_uname}" "${descr}" "${homedir}" "${shell}" "${groups}" + continue + fi + + group_add ${pgroup:-${acct}} + + ${USERADD} -c "${descr}" -d "${homedir}" \ + ${use_id} ${pgroup:+-N} -s "${shell}" \ + ${user_groups} -r ${_uname} >/dev/null 2>&1 + + case $? in + 0) + echo "Created ${_pretty_uname} system user." + ${USERMOD} -L ${_uname} >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "WARNING: unable to lock password for ${_uname} system account" + fi + ;; + 9) + ${USERMOD} -c "${descr}" -d "${homedir}" \ + -s "${shell}" -g "${pgroup:-${_uname}}" \ + ${user_groups} ${_uname} >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "Updated ${_uname} system user." + else + echo "WARNING: unable to modify ${_uname} system account" + echo "Please verify that account is compatible with these settings:" + show_acct_details "${_pretty_uname}" \ + "${descr}" "${homedir}" "${shell}" "${groups}" + continue + fi + ;; + *) + echo "ERROR: failed to create system user ${_pretty_uname}!" + exit 1 + ;; + esac + done + ;; + pre-remove) + if [ "$UPDATE" = "no" ]; then + for acct in ${system_accounts}; do + _uname="${acct%:*}" + + comment="$( (getent passwd "${_uname}" | cut -d: -f5 | head -n1) 2>/dev/null )" + comment="${comment:-unprivileged user} - for uninstalled package ${PKGNAME}" + + if [ -z "$USERMOD" ]; then + echo "WARNING: cannot disable ${_uname} system user (missing usermod)" + continue + fi + + ${USERMOD} -L -d /var/empty -s /bin/false \ + -c "${comment}" ${_uname} >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "Disabled ${_uname} system user." + fi + done + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/texmf-dist b/srcpkgs/xbps-triggers/files/texmf-dist new file mode 100755 index 0000000..94a8194 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/texmf-dist @@ -0,0 +1,48 @@ +#!/bin/sh +# +# Updates texmf-dist hashes and format library. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +texhash=usr/bin/texhash +fmtutil=usr/bin/fmtutil-sys +updmap=usr/bin/updmap-sys +optional_engines="luahbtex,luajithbtex,luajittex,luatex,xetex" + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ -x ${texhash} ]; then + echo "Updating texmf-dist hashes..." + ${texhash} 2>&1 >/dev/null || true # silence strange errors + fi + if [ -x ${fmtutil} ]; then + echo "Updating texmf-dist formats..." + ${fmtutil} --no-error-if-no-engine="${optional_engines}" \ + --quiet --all >/dev/null || true + fi + if [ -x ${updmap} ]; then + echo "Syncing font map files..." + yes y | ${updmap} --quiet --syncwithtrees >/dev/null + echo "Updating font map files..." + ${updmap} --quiet >/dev/null + fi + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/update-desktopdb b/srcpkgs/xbps-triggers/files/update-desktopdb new file mode 100755 index 0000000..bc447ec --- /dev/null +++ b/srcpkgs/xbps-triggers/files/update-desktopdb @@ -0,0 +1,49 @@ +#!/bin/sh +# +# Updates the MIME database that connects with applications, through +# the update-desktop-database(1) utility. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/post-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +desktopdb_bin=usr/bin/update-desktop-database +desktopdb_dir=usr/share/applications +desktopdb_cache=${desktopdb_dir}/mimeinfo.cache + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ "$TARGET" = "post-remove" -a "${PKGNAME}" = "desktop-file-utils" ]; then + [ -f ${desktopdb_cache} ] && rm -f ${desktopdb_cache} + exit 0 + fi + case "$TARGET" in + post-*) + if [ ! -x $desktopdb_bin ]; then + exit 0 + fi + + if [ -d $desktopdb_dir ]; then + echo "Updating MIME database..." + ${desktopdb_bin} ${desktopdb_dir} + fi + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/x11-fonts b/srcpkgs/xbps-triggers/files/x11-fonts new file mode 100755 index 0000000..c5d74cd --- /dev/null +++ b/srcpkgs/xbps-triggers/files/x11-fonts @@ -0,0 +1,57 @@ +#!/bin/sh +# +# This trigger rebuilds the fonts.dir and fonts.scale files +# for packages that install X11 fonts, and update fontconfig's +# cache for those fonts. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +mkfontdir=usr/bin/mkfontdir +mkfontscale=usr/bin/mkfontscale +fccache=usr/bin/fc-cache + +case "$ACTION" in +targets) + echo "post-install post-remove" + ;; +run) + if [ ! -x $mkfontdir ]; then + exit 0 + fi + + if [ ! -x $mkfontscale ]; then + exit 0 + fi + + [ -z "${font_dirs}" ] && exit 0 + + case "$TARGET" in + post-install|post-remove) + for dir in ${font_dirs}; do + echo "Building ${dir}/fonts.dir..." + ${mkfontdir} .${dir} + echo "Building ${dir}/fonts.scale..." + ${mkfontscale} .${dir} + echo "Updating fontconfig's cache..." + ${fccache} -f .${dir} + done + ;; + esac + + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/files/xml-catalog b/srcpkgs/xbps-triggers/files/xml-catalog new file mode 100755 index 0000000..6671695 --- /dev/null +++ b/srcpkgs/xbps-triggers/files/xml-catalog @@ -0,0 +1,96 @@ +#!/bin/sh +# +# Registers or unregisters SGML/XML catalog entries, through +# the xmlcatmgr application. +# +# Arguments: $ACTION = [run/targets] +# $TARGET = [post-install/pre-remove] +# $PKGNAME +# $VERSION +# $UPDATE = [yes/no] +# +ACTION="$1" +TARGET="$2" +PKGNAME="$3" +VERSION="$4" +UPDATE="$5" + +sgml_catalog=usr/share/sgml/catalog +xml_catalog=usr/share/xml/catalog + +xmlcatmgr=usr/bin/xmlcatmgr + +register_entries() +{ + if [ -n "${sgml_entries}" ]; then + echo -n "Registering SGML catalog entries... " + set -- ${sgml_entries} + while [ $# -gt 0 ]; do + $xmlcatmgr -sc ${sgml_catalog} add "$1" "$2" "$3" + shift; shift; shift; + done + echo "done." + fi + + if [ -n "${xml_entries}" ]; then + echo -n "Registering XML catalog entries... " + set -- ${xml_entries} + while [ $# -gt 0 ]; do + $xmlcatmgr -c ${xml_catalog} add "$1" "$2" "$3" + shift; shift; shift; + done + echo "done." + fi +} + +unregister_entries() +{ + if [ -n "${sgml_entries}" ]; then + echo -n "Unregistering SGML catalog entries... " + set -- ${sgml_entries} + while [ $# -gt 0 ]; do + $xmlcatmgr -sc ${sgml_catalog} remove "$1" "$2" \ + 2>/dev/null + shift; shift; shift + done + echo "done." + fi + if [ -n "${xml_entries}" ]; then + echo -n "Unregistering XML catalog entries... " + set -- ${xml_entries} + while [ $# -gt 0 ]; do + $xmlcatmgr -c ${xml_catalog} remove "$1" "$2" \ + 2>/dev/null + shift; shift; shift + done + echo "done." + fi +} + +case "$ACTION" in +targets) + echo "post-install pre-remove" + ;; +run) + [ ! -x $xmlcatmgr ] && exit 0 + [ -n "${sgml_entries}" -a ! -f "${sgml_catalog}" ] && exit 0 + [ -n "${xml_entries}" -a ! -f "${xml_catalog}" ] && exit 0 + + case "$TARGET" in + post-install) + register_entries + ;; + pre-remove) + unregister_entries + ;; + *) + exit 1 + ;; + esac + ;; +*) + exit 1 + ;; +esac + +exit 0 diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template new file mode 100644 index 0000000..89cc939 --- /dev/null +++ b/srcpkgs/xbps-triggers/template @@ -0,0 +1,22 @@ +# Template file for 'xbps-triggers' +pkgname=xbps-triggers +version=0.125 +revision=1 +bootstrap=yes +short_desc="XBPS triggers for Void Linux" +maintainer="Enno Boland " +license="Public Domain" +homepage="https://voidlinux.org" + +do_install() { + _triggersdir=usr/libexec/${pkgname} + + for f in ${FILESDIR}/*; do + _trigger=$(basename $f) + vinstall ${FILESDIR}/${_trigger} 754 ${_triggersdir} + echo "# end" >> ${DESTDIR}/${_triggersdir}/${_trigger} + done + vmkdir var/db/xbps + cd ${DESTDIR}/var/db/xbps + ln -sf ../../../${_triggersdir} triggers +} diff --git a/xbps-src b/xbps-src new file mode 100755 index 0000000..cdb5f8c --- /dev/null +++ b/xbps-src @@ -0,0 +1,1015 @@ +#!/bin/bash +# vim: set ts=4 sw=4 et: + +print_cross_targets() { + local f + for f in common/cross-profiles/*.sh; do + f=${f%.sh}; f=${f##*/}; printf "\t$f\n" + done +} + +usage() { + cat << _EOF +$PROGNAME: [options] [arguments] + +Targets: (only one may be specified) + +binary-bootstrap [arch] + Install bootstrap packages from host repositories into . + If the optional 'arch' argument is set, it will install bootstrap packages + from this architecture, and its required xbps utilities. The + will be initialized for chroot operations. + +bootstrap + Build and install from source the bootstrap packages into . + +bootstrap-update + Updates bootstrap packages with latest versions available from registered + repositories in the XBPS configuration file. + +consistency-check + Runs a consistency check on all packages + +chroot + Enter to the chroot in . + +clean-repocache + Removes obsolete packages from /repocache. + +fetch + Download package source distribution file(s). + +extract + Extract package source distribution file(s) into the build directory. + By default set to /builddir. + +patch + Patch the package sources and perform other operations required to + prepare a package for configuring and building + +configure + Configure a package (fetch + extract + patch + configure). + +build + Build package source (fetch + extract + patch + configure + build). + +check + Run the package check(s) after building the package source. + +install + Install target package into but not building the binary package + and not removing build directory for inspection purposes. + +pkg + Build binary package for and all required dependencies. + +clean [pkgname] + Removes auto dependencies, cleans up /builddir and /destdir. + If argument is specified, package files from /destdir and its + build directory in /buiddir are removed. + +list + Lists installed packages in . + +remove + Remove target package from . If - is not matched + from build template nothing is removed. + +remove-autodeps + Removes all package dependencies that were installed automatically. + +purge-distfiles + Removes all obsolete distfiles in /sources. + +show + Show information for the specified package. + +show-avail + Returns 0 if package can be built for the given architecture, + any other error otherwise. + +show-build-deps + Show required build dependencies for . + +show-deps + Show required run-time dependencies for . Package must be + installed into destdir. + +show-files + Show files installed by . Package must be installed into destdir. + +show-hostmakedepends + Show required host build dependencies for . + +show-makedepends + Show required target build dependencies for . + +show-options + Show available build options by . + +show-shlib-provides + Show list of provided shlibs for . Package must be installed into destdir. + +show-shlib-requires + Show list of required shlibs for . Package must be installed into destdir. + +show-var + Prints the value of if it's defined in xbps-src. + +show-repo-updates + Prints the list of outdated packages in XBPS repositories. + +show-sys-updates + Prints the list of outdated packages in your system. + +show-local-updates + Prints the list of outdated packages in your local repositories. + +sort-dependencies ... + Given a list of packages specified as additional arguments, a sorted dependency + list will be returned to stdout. + +update-bulk + Rebuilds all packages in the system repositories that are outdated. + +update-sys + Rebuilds all packages in your system that are outdated and updates them. + +update-local + Rebuilds all packages in your local repositories that are outdated. + +update-check + Check upstream site of for new releases. + +update-hash-cache + Update the hash cache with existing source distfiles. + +zap + Removes a masterdir but preserving ccache, distcc and host directories. + +Options: + +-1 If dependencies of target package are missing, fail instead of building them. + +-a + Cross compile packages for this target machine. Supported targets: + +$(print_cross_targets) + +-b Build packages even if marked as broken, nocross, or excluded with archs. + +-c + If specified, etc/conf. will be used as the primary config + file name; etc/conf will only be attempted if that does not exist. + +-C Do not remove build directory, automatic dependencies and + package destdir after successful install. + +-E If a binary package exists in a repository for the target package, + do not try to build it, exit immediately. + +-f Force running the specified stage (configure/build/install/pkg) + even if it ran successfully. + +-G Enable XBPS_USE_GIT_REVS (see etc/defaults.conf for more information). + +-g Enable building -dbg packages with debugging symbols. + +-H + Absolute path to a directory to be bind mounted at /host. + The host directory stores binary packages, sources and package dependencies + downloaded from remote repositories. + If unset defaults to void-packages/hostdir. + +-h Usage output. + +-I Ignore required dependencies, useful for extracting/fetching sources. + +-i Make xbps-src internal errors non-fatal. + +-j Number of parallel build jobs to use when building packages. + +-L Disable ASCII colors. + +-m + Absolute path to a directory to be used as masterdir. + The masterdir is the main directory to build/store/compile packages. + If unset defaults to void-packages/masterdir. + +-N Disable use of remote repositories to resolve dependencies. + +-o + Enable or disable (prefixed with ~) package build options. If 'etc/conf' + already specifies some, it is merged. Keep in mind that these options + apply to all packages within the build, as in if a dependency needs to + be built, it will inherit these options. + + Supported options can be shown with the 'show-options' target. + +-p + For show target, show specified variables in addition to default ones. + Variable is split and each word is printed in separate line by default. + In order to print the whole value in one line, append asterisk to variable name. + +-Q Enable running the check stage. + +-K Enable running the check stage with longer tests. + +-q Suppress informational output of xbps-src (build output is still printed). + +-r + Use an alternative local repository to store generated binary packages. + If unset defaults to /binpkgs. If set the binpkgs will + be stored into /binpkgs/. + This alternative repository will also be used to resolve dependencies + with highest priority order than others. + +-s Make vsed warnings errors. + +-t Create a temporary masterdir to not pollute the current one. Note that + the existing masterdir must be fully populated with binary-bootstrap first. + Once the target has finished, this temporary masterdir will be removed. + This flag requires xbps-uchroot(1), and won't work on filesystems that don't + support overlayfs. + +-V Print version of xbps, then exit. + +_EOF +} + +check_reqhost_utils() { + local broken + + [ "$IN_CHROOT" ] && return 0 + + for f in ${REQHOST_UTILS}; do + if ! command -v ${f} &>/dev/null; then + echo "${f} is missing in your system, can't continue!" 1>&2 + broken=1 + fi + done + [ "$broken" ] && exit 1 + [ -z "$1" ] && return 0 + + for f in ${REQHOST_UTILS_BOOTSTRAP}; do + if ! command -v ${f} &>/dev/null; then + echo "${f} is missing in your system, can't continue!" 1>&2 + broken=1 + fi + done + [ "$broken" ] && exit 1 +} + +check_build_requirements() { + local found + + case "$XBPS_TARGET" in + *bootstrap*) found=1;; + *) ;; + esac + if [ -z "$found" ]; then + xbps-uhelper cmpver "$XBPS_VERSION" "$XBPS_VERSION_REQ" + if [ $? -eq 255 ]; then + echo "ERROR: requires xbps>=${XBPS_VERSION_REQ}" 1>&2 + echo "Bootstrap packages must be updated with 'xbps-src bootstrap-update'" 1>&2 + exit 1 + fi + fi +} + +chroot_check() { + if [ -f $XBPS_MASTERDIR/.xbps_chroot_init -o "$XBPS_CHROOT_CMD" = "ethereal" ]; then + export CHROOT_READY=1 + fi +} + +check_native_arch() { + if [ "$CHROOT_READY" ]; then + if [ -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then + export XBPS_ARCH=$(<$XBPS_MASTERDIR/.xbps_chroot_init) + else + export XBPS_ARCH=$(xbps-uhelper arch) + fi + elif [ "$XBPS_TARGET" = 'binary-bootstrap' ] && [ "$XBPS_TARGET_PKG" ]; then + # ^ special case for binary-bootstrap for e.g: + # x86_64 -> x86_64-musl + # x86_64 -> i686 + export XBPS_ARCH=$XBPS_TARGET_PKG + else + LDD=$(ldd --version 2>&1|head -1) + if [[ $LDD == *musl* ]]; then + export XBPS_ARCH=${XBPS_MACHINE%-musl}-musl + else + # XBPS_ARCH == $(uname -m) + export XBPS_ARCH=$(uname -m) + fi + fi +} + +masterdir_zap() { + rm -rf "$XBPS_MASTERDIR" + mkdir -p "$XBPS_MASTERDIR" + msg_normal "xbps-src: $XBPS_MASTERDIR masterdir cleaned up.\n" +} + +exit_func() { + wait + if [ "$sourcepkg" ]; then + remove_pkg $XBPS_CROSS_BUILD + fi + if [ -z "$IN_CHROOT" ]; then + msg_red "xbps-src: a failure has occurred! exiting...\n" + fi + exit 2 +} + +read_pkg() { + if [ -z "${XBPS_TARGET_PKG}" ]; then + [ ! -r ./template ] && msg_error "xbps-src: missing build template in $(pwd).\n" + XBPS_TARGET_PKG=${PWD##*/} + fi + setup_pkg "$XBPS_TARGET_PKG" "$XBPS_CROSS_BUILD" "$1" +} + +setup_distfiles_mirror() { + local mirror scheme path + + # Scheme file:// mirror locations only work with uchroot + for mirror in $XBPS_DISTFILES_MIRROR; do + scheme="file" + if [[ "$mirror" == *://* ]]; then + scheme="${mirror%%://*}" + path="${mirror#${scheme}://}" + else + path="$mirror" + fi + [ "$scheme" != "file" ] && continue + if [ "$XBPS_CHROOT_CMD" == "uchroot" ]; then + if [ ! -d "$path" ]; then + msg_warn "xbps-src: Invalid path in XBPS_DISTFILES_MIRROR ($mirror)\n" + continue + fi + mkdir -p "$XBPS_MASTERDIR/$path" + XBPS_CHROOT_CMD_ARGS+=" -b $path:$path" + else + case "$XBPS_TARGET" in + fetch|extract|patch|configure|build|check|install|pkg|bootstrap|bootstrap-update|update-sys) + msg_warn "xbps-src: File URLs ($mirror) don't work with '$XBPS_CHROOT_CMD'\n" + esac + fi + done +} + +# +# main() +# +readonly PROGNAME="${0##*/}" +readonly XBPS_VERSION_REQ="0.55" +XBPS_VERSION=$(xbps-uhelper -V) +XBPS_VERSION=${XBPS_VERSION%%API*} +XBPS_VERSION=${XBPS_VERSION##*:} +readonly XBPS_SRC_VERSION="113" +export XBPS_MACHINE=$(xbps-uhelper -C /dev/null arch) + +XBPS_OPTIONS= +XBPS_OPTSTRING="1a:bc:CEfgGhH:iIj:Lm:No:p:qsQKr:tV" + +# Preprocess arguments in order to allow options before and after XBPS_TARGET. +eval set -- $(getopt "$XBPS_OPTSTRING" "$@"); + +# Options are saved as XBPS_ARG_FOO instead of XBPS_FOO for now; this is +# because configuration files may override those and we want arguments to +# take precedence over configuration files +while getopts "$XBPS_OPTSTRING" opt; do + case $opt in + 1) XBPS_ARG_BUILD_ONLY_ONE_PKG=yes; XBPS_OPTIONS+=" -1";; + a) XBPS_ARG_CROSS_BUILD="$OPTARG"; XBPS_OPTIONS+=" -a $OPTARG";; + b) XBPS_ARG_IGNORE_BROKENNESS=yes; XBPS_OPTIONS+=" -b";; + c) XBPS_ARG_CONFIG="$OPTARG"; XBPS_OPTIONS+=" -c $OPTARG";; + C) XBPS_ARG_KEEP_ALL=1; XBPS_OPTIONS+=" -C";; + E) XBPS_ARG_BINPKG_EXISTS=1; XBPS_OPTIONS+=" -E";; + f) XBPS_ARG_BUILD_FORCEMODE=1; XBPS_OPTIONS+=" -f";; + G) XBPS_ARG_USE_GIT_REVS=1; XBPS_OPTIONS+=" -G";; + g) XBPS_ARG_DEBUG_PKGS=1; XBPS_OPTIONS+=" -g";; + H) XBPS_ARG_HOSTDIR="$OPTARG"; XBPS_OPTIONS+=" -H $OPTARG";; + h) usage && exit 0;; + i) XBPS_ARG_INFORMATIVE_RUN=1; XBPS_OPTIONS+=" -i";; + I) XBPS_ARG_SKIP_DEPS=1; XBPS_SKIP_REMOTEREPOS=1; XBPS_OPTIONS+=" -I -N";; + j) XBPS_ARG_MAKEJOBS="$OPTARG"; XBPS_OPTIONS+=" -j $OPTARG";; + L) export NOCOLORS=1; XBPS_OPTIONS+=" -L";; + m) XBPS_ARG_MASTERDIR="$OPTARG"; XBPS_OPTIONS+=" -m $OPTARG";; + N) XBPS_ARG_SKIP_REMOTEREPOS=1; XBPS_OPTIONS+=" -N";; + o) XBPS_ARG_PKG_OPTIONS="$OPTARG"; XBPS_OPTIONS+=" -o $OPTARG";; + p) XBPS_ARG_PRINT_VARIABLES="$OPTARG"; XBPS_OPTIONS+=" -p $OPTARG";; + q) XBPS_ARG_QUIET=1; XBPS_OPTIONS+=" -q";; + Q) XBPS_ARG_CHECK_PKGS=yes; XBPS_OPTIONS+=" -Q";; + K) XBPS_ARG_CHECK_PKGS=full; XBPS_OPTIONS+=" -K";; + r) XBPS_ARG_ALT_REPOSITORY="$OPTARG"; XBPS_OPTIONS+=" -r $OPTARG";; + s) XBPS_ARG_STRICT=yes; XBPS_OPTIONS+=" -s";; + t) XBPS_ARG_TEMP_MASTERDIR=1; XBPS_OPTIONS+=" -t -C";; + V) echo "xbps-src-$XBPS_SRC_VERSION $(xbps-uhelper -V)" && exit 0;; + --) shift; break;; + esac +done +shift $(($OPTIND - 1)) + +[ $# -eq 0 ] && usage && exit 1 + +# Check if stdout is a tty; if false disable colors. +test -t 1 || export NOCOLORS=1 +# http://no-color.org +if [ "${NO_COLOR+x}" ]; then + export NOCOLORS=1 +fi + +# sane umask +umask 022 + +# +# Check for required utilities in host system. +# +# Required utilities in host system for the bootstrap target. +readonly REQHOST_UTILS_BOOTSTRAP="file objdump find make gawk bash sed gcc g++ gnat \ + perl bsdtar gzip patch flock pkg-config" + +# Required utilities in host. +readonly REQHOST_UTILS="xbps-install xbps-query xbps-rindex xbps-uhelper \ + xbps-reconfigure xbps-remove xbps-create xbps-uchroot xbps-uunshare" + +check_reqhost_utils + +# +# Set XBPS_CONFIG_FILE, XBPS_DISTDIR, XBPS_MASTERDIR +# and XBPS_HOSTDIR. +# +if [ "$IN_CHROOT" ]; then + readonly XBPS_CONFIG_FILE=/etc/xbps/xbps-src.conf + readonly XBPS_DISTDIR=/void-packages + readonly XBPS_MASTERDIR=/ + readonly XBPS_HOSTDIR=/host +else + _distdir="$(readlink -f ${0%/*})" + if [ "${_distdir}" = "." ]; then + readonly XBPS_DISTDIR="$(pwd -P)" + else + readonly XBPS_DISTDIR="${_distdir}" + fi + # Read defaults and then the local configuration file + if [ -f $XBPS_DISTDIR/etc/defaults.conf ]; then + . $XBPS_DISTDIR/etc/defaults.conf + fi + if [ -n "$XBPS_ARG_CONFIG" -a -s $XBPS_DISTDIR/etc/conf.$XBPS_ARG_CONFIG ]; then + # If specified, read custom user configuration... + readonly XBPS_CONFIG_FILE=$XBPS_DISTDIR/etc/conf.$XBPS_ARG_CONFIG + elif [ -s $XBPS_DISTDIR/etc/conf ]; then + # ... otherwise read generic user configuration... + readonly XBPS_CONFIG_FILE=$XBPS_DISTDIR/etc/conf + elif [ -s ${XDG_CONFIG_HOME:-$HOME/.config}/xbps-src.conf ]; then + readonly XBPS_CONFIG_FILE=${XDG_CONFIG_HOME:-$HOME/.config}/xbps-src.conf + elif [ -s $HOME/.xbps-src.conf ]; then + # ... fallback to ~/.xbps-src.conf otherwise. + readonly XBPS_CONFIG_FILE=$HOME/.xbps-src.conf + fi +fi +# Read settings from config file +[ -s "$XBPS_CONFIG_FILE" ] && . $XBPS_CONFIG_FILE &>/dev/null + +# Set options passed on command line, after configuration files have been read +[ -n "$XBPS_ARG_BUILD_ONLY_ONE_PKG" ] && XBPS_BUILD_ONLY_ONE_PKG=yes +[ -n "$XBPS_ARG_IGNORE_BROKENNESS" ] && XBPS_IGNORE_BROKENNESS=1 +[ -n "$XBPS_ARG_SKIP_REMOTEREPOS" ] && XBPS_SKIP_REMOTEREPOS=1 +[ -n "$XBPS_ARG_BUILD_FORCEMODE" ] && XBPS_BUILD_FORCEMODE=1 +[ -n "$XBPS_ARG_INFORMATIVE_RUN" ] && XBPS_INFORMATIVE_RUN=1 +[ -n "$XBPS_ARG_TEMP_MASTERDIR" ] && XBPS_TEMP_MASTERDIR=1 +[ -n "$XBPS_ARG_BINPKG_EXISTS" ] && XBPS_BINPKG_EXISTS=1 +[ -n "$XBPS_ARG_USE_GIT_REVS" ] && XBPS_USE_GIT_REVS=1 +[ -n "$XBPS_ARG_DEBUG_PKGS" ] && XBPS_DEBUG_PKGS=1 +[ -n "$XBPS_ARG_SKIP_DEPS" ] && XBPS_SKIP_DEPS=1 +[ -n "$XBPS_ARG_KEEP_ALL" ] && XBPS_KEEP_ALL=1 +[ -n "$XBPS_ARG_QUIET" ] && XBPS_QUIET=1 +[ -n "$XBPS_ARG_PRINT_VARIABLES" ] && XBPS_PRINT_VARIABLES="$XBPS_ARG_PRINT_VARIABLES" +[ -n "$XBPS_ARG_ALT_REPOSITORY" ] && XBPS_ALT_REPOSITORY="$XBPS_ARG_ALT_REPOSITORY" +[ -n "$XBPS_ARG_STRICT" ] && XBPS_STRICT="$XBPS_ARG_STRICT" +[ -n "$XBPS_ARG_CROSS_BUILD" ] && XBPS_CROSS_BUILD="$XBPS_ARG_CROSS_BUILD" +[ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS" +[ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS" + +# Default to nproc for XBPS_MAKEJOBS if not set and nproc is available +if command -v nproc >/dev/null ; then + : ${XBPS_MAKEJOBS:=$(nproc)} +else + : ${XBPS_MAKEJOBS:=1} +fi + +export XBPS_BUILD_ONLY_ONE_PKG XBPS_SKIP_REMOTEREPOS XBPS_BUILD_FORCEMODE \ + XBPS_INFORMATIVE_RUN XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \ + XBPS_USE_GIT_REVS XBPS_CHECK_PKGS XBPS_DEBUG_PKGS XBPS_SKIP_DEPS \ + XBPS_KEEP_ALL XBPS_QUIET XBPS_ALT_REPOSITORY XBPS_STRICT XBPS_CROSS_BUILD \ + XBPS_MAKEJOBS XBPS_PRINT_VARIABLES XBPS_IGNORE_BROKENNESS + +# The masterdir/hostdir variables are forced and readonly in chroot +if [ -z "$IN_CHROOT" ]; then + [ -n "$XBPS_ARG_MASTERDIR" ] && XBPS_MASTERDIR="$XBPS_ARG_MASTERDIR" + [ -n "$XBPS_ARG_HOSTDIR" ] && XBPS_HOSTDIR="$XBPS_ARG_HOSTDIR" + + # Sanitize masterdir/hostdir once set for real (resolve links) + export XBPS_MASTERDIR="$(readlink -f $XBPS_MASTERDIR 2>/dev/null)" + export XBPS_HOSTDIR="$(readlink -f $XBPS_HOSTDIR 2>/dev/null)" +fi + +# Forbid root unless XBPS_ALLOW_CHROOT_BREAKOUT is set +# (for CI). +if [ -z "$IN_CHROOT" -a "$UID" -eq 0 -a -z "$XBPS_ALLOW_CHROOT_BREAKOUT" ]; then + echo "ERROR: xbps-src cannot be used as root." 1>&2 + exit 1 +fi + +# if XBPS_MASTERDIR unset, defaults to $XBPS_DISTDIR/masterdir. +: ${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir} +[ ! -d $XBPS_MASTERDIR ] && mkdir -p $XBPS_MASTERDIR + +# if XBPS_HOSTDIR unset, defaults to $XBPS_DISTDIR/hostdir. +: ${XBPS_HOSTDIR:=$XBPS_DISTDIR/hostdir} +[ ! -d $XBPS_HOSTDIR ] && mkdir -p $XBPS_HOSTDIR + +if [ -d "$XBPS_MASTERDIR" -a ! -w "$XBPS_MASTERDIR" ]; then + echo "ERROR: can't write to masterdir $XBPS_MASTERDIR." 1>&2 + exit 1 +fi + +# Try using chroot-git then git from the host system +if command -v chroot-git &>/dev/null; then + export XBPS_GIT_CMD=$(command -v chroot-git) +elif command -v git &>/dev/null; then + export XBPS_GIT_CMD=$(command -v git) +elif [ -z "$XBPS_USE_BUILD_MTIME" ] || [ "$XBPS_USE_GIT_REVS" ]; then + echo "neither chroot-git or git are available in your system!" 1>&2 + exit 1 +fi + +if [ -n "$XBPS_HOSTDIR" ]; then + export XBPS_REPOSITORY=$XBPS_HOSTDIR/binpkgs + readonly XBPS_SRCDISTDIR=$XBPS_HOSTDIR/sources +else + export XBPS_REPOSITORY=$XBPS_MASTERDIR/host/binpkgs + readonly XBPS_SRCDISTDIR=$XBPS_MASTERDIR/host/sources +fi + +# Set XBPS_REPOSITORY to our current branch. +if [ -z "$XBPS_ALT_REPOSITORY" ]; then + pushd "$PWD" &>/dev/null + cd $XBPS_DISTDIR + _gitbranch="$($XBPS_GIT_CMD symbolic-ref --short HEAD 2>/dev/null)" + if [ "${_gitbranch}" -a "${_gitbranch}" != "master" ]; then + export XBPS_ALT_REPOSITORY="${_gitbranch}" + export XBPS_REPOSITORY="${XBPS_REPOSITORY}/${_gitbranch}" + fi + popd &>/dev/null +else + export XBPS_REPOSITORY="${XBPS_REPOSITORY}/${XBPS_ALT_REPOSITORY}" +fi + +readonly XBPS_SRCPKGDIR=$XBPS_DISTDIR/srcpkgs +readonly XBPS_COMMONDIR=$XBPS_DISTDIR/common +readonly XBPS_SHUTILSDIR=$XBPS_COMMONDIR/xbps-src/shutils +readonly XBPS_TRIGGERSDIR=$XBPS_SRCPKGDIR/xbps-triggers/files +readonly XBPS_CROSSPFDIR=$XBPS_COMMONDIR/cross-profiles +readonly XBPS_BUILDSTYLEDIR=$XBPS_COMMONDIR/build-style +readonly XBPS_LIBEXECDIR=$XBPS_COMMONDIR/xbps-src/libexec +readonly XBPS_BUILDHELPERDIR=$XBPS_COMMONDIR/build-helper + +readonly XBPS_TARGET="$1" +if [ "$2" ]; then + XBPS_TARGET_PKG="${2##*/}" +fi + +# Check for CHROOT_READY and set up XBPS_ARCH environment var for xbps. +chroot_check +check_native_arch + +# test if to use linux32 for 32-bit masterdirs in 64-bit environments +# x86_64, ppc64 (BE) and aarch64 are capable of this, others are not +linux32_check() { + local hostarch="$1" + local tgtarch="$2" + case "$hostarch" in + x86_64*) if [[ "$tgtarch" == i686* ]]; then return 0; fi ;; + ppc64le*) if [[ "$tgtarch" == ppcle* ]]; then return 0; fi ;; + ppc64*) + case "$tgtarch" in + ppc64*) return 1 ;; + ppc*) return 0 ;; + esac + ;; + aarch64*) if [[ "$tgtarch" == armv* ]]; then return 0; fi ;; + esac + return 1 +} + +# Reconfigure pkgs for 32bit on 64-bit systems and reexec itself. +if [ -z "$XBPS_REINIT" -a -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then + export XBPS_ARCH=${XBPS_ARCH:-$(<$XBPS_MASTERDIR/.xbps_chroot_init)} + if linux32_check "$XBPS_MACHINE" "$XBPS_ARCH"; then + # reconfigure pkgs via linux32 + linux32 xbps-reconfigure -r ${XBPS_MASTERDIR} -a &>/dev/null + # reexec itself via linux32 + export XBPS_REINIT=1 + exec linux32 $0 ${XBPS_OPTIONS} $@ + fi +fi +if [ "$XBPS_ARCH" ]; then + export XBPS_MACHINE=$XBPS_ARCH +fi +# At this point if XBPS_TARGET_MACHINE isn't defined we assume +# it's a native build. +if [ -z "$XBPS_TARGET_MACHINE" ]; then + export XBPS_TARGET_MACHINE=$XBPS_MACHINE +fi + +if [ "$IN_CHROOT" ]; then + readonly XBPS_UHELPER_CMD="xbps-uhelper" + readonly XBPS_INSTALL_CMD="xbps-install -c /host/repocache-$XBPS_MACHINE" + readonly XBPS_QUERY_CMD="xbps-query -c /host/repocache-$XBPS_MACHINE" + readonly XBPS_RECONFIGURE_CMD="xbps-reconfigure" + readonly XBPS_REMOVE_CMD="xbps-remove" + readonly XBPS_CHECKVERS_CMD="xbps-checkvers" + readonly XBPS_DESTDIR=/destdir + readonly XBPS_BUILDDIR=/builddir +else + readonly XBPS_UHELPER_CMD="xbps-uhelper -r $XBPS_MASTERDIR" + readonly XBPS_INSTALL_CMD="xbps-install -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d" + readonly XBPS_QUERY_CMD="xbps-query -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d" + readonly XBPS_RECONFIGURE_CMD="xbps-reconfigure -r $XBPS_MASTERDIR" + readonly XBPS_REMOVE_CMD="xbps-remove -r $XBPS_MASTERDIR" + readonly XBPS_CHECKVERS_CMD="xbps-checkvers -r $XBPS_MASTERDIR" + readonly XBPS_DESTDIR=$XBPS_MASTERDIR/destdir + readonly XBPS_BUILDDIR=$XBPS_MASTERDIR/builddir +fi +readonly XBPS_RINDEX_CMD="xbps-rindex" +readonly XBPS_FETCH_CMD="xbps-fetch" +readonly XBPS_DIGEST_CMD="xbps-digest" +readonly XBPS_CMPVER_CMD="xbps-uhelper cmpver" + +export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \ + XBPS_SRCPKGDIR XBPS_COMMONDIR XBPS_BUILDDIR \ + XBPS_REPOSITORY XBPS_ALT_REPOSITORY XBPS_STRICT XBPS_SRCDISTDIR XBPS_DIGEST_CMD \ + XBPS_UHELPER_CMD XBPS_INSTALL_CMD XBPS_QUERY_CMD XBPS_BUILD_ONLY_ONE_PKG \ + XBPS_RINDEX_CMD XBPS_RECONFIGURE_CMD XBPS_REMOVE_CMD XBPS_CHECKVERS_CMD \ + XBPS_CMPVER_CMD XBPS_FETCH_CMD XBPS_VERSION XBPS_BUILDSTYLEDIR \ + XBPS_CPPFLAGS XBPS_CFLAGS XBPS_CXXFLAGS XBPS_FFLAGS XBPS_LDFLAGS \ + XBPS_MAKEJOBS XBPS_BUILD_FORCEMODE XBPS_USE_GIT_REVS XBPS_DEBUG_PKGS \ + XBPS_CHECK_PKGS XBPS_CCACHE XBPS_DISTCC XBPS_DISTCC_HOSTS XBPS_SKIP_DEPS \ + XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_ARG_PKG_OPTIONS XBPS_CONFIG_FILE \ + XBPS_KEEP_ALL XBPS_HOSTDIR XBPS_MASTERDIR XBPS_SRC_VERSION \ + XBPS_DESTDIR XBPS_MACHINE XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \ + XBPS_LIBEXECDIR XBPS_DISTDIR XBPS_DISTFILES_MIRROR XBPS_ALLOW_RESTRICTED \ + XBPS_USE_GIT_COMMIT_DATE XBPS_PKG_COMPTYPE XBPS_REPO_COMPTYPE \ + XBPS_BUILDHELPERDIR XBPS_USE_BUILD_MTIME XBPS_BUILD_ENVIRONMENT \ + XBPS_PRESERVE_PKGS XBPS_IGNORE_BROKENNESS + +for i in REPOSITORY DESTDIR BUILDDIR SRCDISTDIR; do + eval val="\$XBPS_$i" + if [ ! -d "$val" ]; then + mkdir -p $val + fi + unset val +done + +# A temporary masterdir requires xbps-uchroot(1) and -O to use overlayfs +# on tmpfs (available with xbps-0.45). +if [ -z "$IN_CHROOT" -a -n "$XBPS_TEMP_MASTERDIR" ]; then + export XBPS_CHROOT_CMD="uchroot" + export XBPS_CHROOT_CMD_ARGS+=" -O" +fi +# +# Sanitize PATH. +# +if [ -z "$IN_CHROOT" ]; then + # In non chroot case always prefer host tools. + export PATH="$PATH:$XBPS_MASTERDIR/usr/bin" +fi + +# +# Set up ccache +# +if [ "$XBPS_CCACHE" ]; then + export CCACHEPATH="/usr/lib/ccache/bin" + export CCACHE_DIR="$XBPS_HOSTDIR/ccache" + # Avoid not using cached files just due to compiler mtime + # changes when e.g. bootstrapping + export CCACHE_COMPILERCHECK=content CCACHE_COMPRESS=1 + export PATH="$CCACHEPATH:$PATH" + mkdir -p $CCACHE_DIR +fi + +# +# Set up distcc +# +if [ "$XBPS_DISTCC" ]; then + if [ "$XBPS_CCACHE" ]; then + export CCACHE_PREFIX="/usr/bin/distcc" + else + DISTCCPATH="/usr/lib/distcc/bin" + export PATH="$DISTCCPATH:$PATH" + fi + export DISTCC_DIR="$XBPS_HOSTDIR/distcc-${XBPS_CROSS_BUILD:-${XBPS_MACHINE}}" + export DISTCC_HOSTS="$XBPS_DISTCC_HOSTS" + mkdir -p $DISTCC_DIR +fi + +check_build_requirements + +# +# Read funcs from helpers +# +for f in ${XBPS_SHUTILSDIR}/*.sh; do + [ -r "$f" ] && . $f +done + +if [ -z "$IN_CHROOT" ]; then + trap 'exit_func' INT TERM + if [ -n "$XBPS_DISTFILES_MIRROR" ]; then + setup_distfiles_mirror + fi +fi + +reconfigure_base_chroot + +# +# Main switch. +# +case "$XBPS_TARGET" in + binary-bootstrap) + install_base_chroot ${XBPS_TARGET_PKG:=$XBPS_MACHINE} + ;; + bootstrap) + if [ -n "$XBPS_CHECK_PKGS" ]; then + msg_error "xbps-src: disable tests for bootstrap\n" + exit 1 + fi + # base-chroot building on host + # check for required host utils + check_reqhost_utils bootstrap + ( + export XBPS_ARCH=$XBPS_MACHINE + export XBPS_SKIP_REMOTEREPOS=1 + chroot_sync_repodata + $XBPS_LIBEXECDIR/build.sh \ + base-chroot base-chroot $XBPS_TARGET || exit 1 + ) || exit 1 + [ -d $XBPS_MASTERDIR ] && rm -rf $XBPS_MASTERDIR + install_base_chroot ${XBPS_TARGET_PKG:=$XBPS_MACHINE} + ;; + bootstrap-update) + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler bootstrap-update + else + chroot_sync_repodata + update_base_chroot + fi + ;; + chroot) + chroot_sync_repodata + chroot_handler chroot dummy + ;; + clean) + if [ -z "$XBPS_TARGET_PKG" ]; then + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler remove-autodeps + else + remove_pkg_autodeps + fi + msg_normal "xbps-src: cleaning up masterdir...\n" + # Needed to remove Go Modules + [ -d "$XBPS_BUILDDIR" ] && chmod -R +wX $XBPS_BUILDDIR + rm -rf \ + $XBPS_BUILDDIR \ + $XBPS_DESTDIR + rm -rf $XBPS_MASTERDIR/tmp + mkdir -p $XBPS_MASTERDIR/tmp + else + read_pkg + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG || exit $? + else + if declare -f do_clean >/dev/null; then + run_func do_clean + fi + remove_pkg_wrksrc + remove_pkg_statedir + fi + remove_pkg $XBPS_CROSS_BUILD + fi + ;; + clean-repocache) + export XBPS_TARGET_ARCH="${XBPS_CROSS_BUILD:-$XBPS_TARGET_MACHINE}" + $XBPS_REMOVE_CMD -C /dev/null -c $XBPS_HOSTDIR/repocache-${XBPS_TARGET_ARCH} -O + ;; + consistency-check) + consistency_check + ;; + remove-autodeps) + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler remove-autodeps + else + remove_pkg_autodeps + fi + ;; + fetch|extract|patch|configure|build|check|install|pkg) + if [ "$XBPS_TARGET" = "check" ] && [ -z "$XBPS_CHECK_PKGS" ]; then + export XBPS_CHECK_PKGS=full + fi + read_pkg + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG + else + check_existing_pkg + chroot_sync_repodata + # prevent update_base_chroot from removing the builddir/destdir + update_base_chroot keep-all-force + $XBPS_LIBEXECDIR/build.sh $XBPS_TARGET_PKG $XBPS_TARGET_PKG \ + $XBPS_TARGET $XBPS_CROSS_BUILD || exit $? + fi + ;; + remove|remove-destdir) + read_pkg + remove_pkg $XBPS_CROSS_BUILD + ;; + list) + $XBPS_QUERY_CMD -l + ;; + purge-distfiles) + purge_distfiles + ;; + show) + read_pkg ignore-problems + show_pkg $XBPS_PRINT_VARIABLES + ;; + show-avail) + read_pkg &>/dev/null + show_avail + ;; + show-files) + read_pkg ignore-problems + show_pkg_files + ;; + show-deps) + read_pkg ignore-problems + show_pkg_deps + ;; + show-build-deps) + read_pkg ignore-problems + show_pkg_build_deps + ;; + show-hostmakedepends) + read_pkg ignore-problems + show_pkg_hostmakedepends + ;; + show-makedepends) + read_pkg ignore-problems + show_pkg_makedepends + ;; + show-pkg-var-dump) + read_pkg ignore-problems + for sub_name in $subpackages; do + if [ $sub_name = $XBPS_TARGET_PKG ]; then + . ${XBPS_COMMONDIR}/environment/setup-subpkg/subpkg.sh + ${sub_name}_package + fi + done + printf "archs: %s\n\n" "$archs" + printf "bootstrap: %s\n\n" "$bootstrap" + printf "broken: %s\n\n" "$broken" + printf "depends: %s\n\n" "$depends" + printf "hostmakedepends: %s\n\n" "$hostmakedepends" + printf "makedepends: %s\n\n" "$makedepends" + printf "nocross: %s\n\n" "$nocross" + printf "pkgname: %s\n\n" "$pkgname" + printf "restricted: %s\n\n" "$restricted" + printf "revision: %s\n\n" "$revision" + printf "subpackages: %s\n\n" "$subpackages" + printf "version: %s\n\n" "$version" + printf "provides: %s\n\n" "$provides" + printf "lib32disabled: %s\n\n" "$lib32disabled" + printf "nodebug: %s\n\n" "$nodebug" + ;; + show-pkg-var) + read_pkg ignore-problems + for sub_name in $subpackages; do + if [ $sub_name = $XBPS_TARGET_PKG ]; then + . ${XBPS_COMMONDIR}/environment/setup-subpkg/subpkg.sh + ${sub_name}_package + fi + done + while IFS= read -r pkg_var; do + print_var= + case "${pkg_var}" in + archs) print_var="$archs ";; + bootstrap) print_var="$bootstrap ";; + broken) print_var="$broken ";; + depends) print_var="$depends ";; + hostmakedepends) print_var="$hostmakedepends ";; + makedepends) print_var="$makedepends ";; + nocross) print_var="$nocross ";; + pkgname) print_var="$pkgname ";; + restricted) print_var="$restricted ";; + revision) print_var="$revision ";; + subpackages) print_var="$subpackages ";; + version) print_var="$version ";; + provides) print_var="$provides ";; + lib32disabled) print_var="$lib32disabled ";; + nodebug) print_var="$nodebug ";; + esac # the space at the end of each is essential for unset vars + if [ -n "$print_var" ]; then + printf "%s\n" "$(printf "${print_var% }" | tr -t '\n\r' ' ')" + fi # The trailing space gets stripped before printing anyway + done + ;; + dbulk-dump) + read_pkg + check_pkg_arch "$XBPS_CROSS_BUILD" + for x in pkgname version revision; do + printf '%s: %s\n' "$x" "${!x}" + done + for x in bootstrap; do + [[ ${!x} ]] && printf '%s: %s\n' "$x" "${!x}" + done + for x in hostmakedepends makedepends; do + arr=(${!x}) + if [[ ${#arr} -gt 0 ]]; then + printf '%s:\n' "$x" + printf ' %s\n' "${arr[@]}" + fi + done + _cleandeps=$(setup_pkg_depends "" 1 1 | { grep -vF "$(printf "%s\n" $pkgname $subpackages)" || :; } | sort -u) || exit 1 + if [[ $_cleandeps ]]; then + printf 'depends:\n' + printf ' %s\n' $_cleandeps + fi + if [[ $subpackages ]]; then + printf 'subpackages:\n' + printf ' %s\n' $subpackages + fi + ;; + show-options) + read_pkg ignore-problems + show_pkg_build_options + ;; + show-shlib-provides) + read_pkg ignore-problems + show_pkg_shlib_provides + ;; + show-shlib-requires) + read_pkg ignore-problems + show_pkg_shlib_requires + ;; + show-var) + for f in ${XBPS_COMMONDIR}/environment/setup/*.sh; do + source $f + done + if [ "$XBPS_CROSS_BUILD" ]; then + source ${XBPS_COMMONDIR}/cross-profiles/${XBPS_CROSS_BUILD}.sh + else + source ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh + fi + eval value="\${$XBPS_TARGET_PKG}" + echo $value + ;; + show-repo-updates) + bulk_build + ;; + show-sys-updates) + bulk_build installed + ;; + show-local-updates) + bulk_build local + ;; + sort-dependencies) + bulk_sortdeps ${@/$XBPS_TARGET/} + ;; + update-bulk) + bulk_update + ;; + update-sys) + bulk_update installed + ;; + update-local) + bulk_update local + ;; + update-check) + read_pkg ignore-problems + update_check + ;; + update-hash-cache) + update_hash_cache + ;; + zap) + masterdir_zap + ;; + *) + msg_red "xbps-src: invalid target $XBPS_TARGET.\n" + usage && exit 1 + ;; +esac + +exit_and_cleanup $?

Kb4v|+PICeddqNq%PA`yqH6Br{%ruHv{^ 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 w{Fay% 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%0Aff96AiRfjNoUFqgHDg@4BZu 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Ⓢ1PzhwU(l!U6>x# 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 z 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�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