diff options
Diffstat (limited to 'user')
266 files changed, 8893 insertions, 1473 deletions
diff --git a/user/.rootbld-repositories b/user/.rootbld-repositories index dd670b51f..1f6b7e3cc 100644 --- a/user/.rootbld-repositories +++ b/user/.rootbld-repositories @@ -1,2 +1,2 @@ -https://distfiles.adelielinux.org/adelie/1.0-beta1/system/ -https://distfiles.adelielinux.org/adelie/1.0-beta1/user/ +https://distfiles.adelielinux.org/adelie/current/system/ +https://distfiles.adelielinux.org/adelie/current/user/ diff --git a/user/analitza/APKBUILD b/user/analitza/APKBUILD index 657eebdec..e5cf07800 100644 --- a/user/analitza/APKBUILD +++ b/user/analitza/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=analitza -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Mathematical object library" url="https://api.kde.org/4.x-api/kdeedu-apidocs/analitza/html/index.html" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c8436f74b1ee9d0a5e6384e48e4aa693485636e05fc9d60b217bdcaf4cacb5c29ceaa3d7f53f3d281fe5088340af5736a485d5dc0b6db8f5cfc0889d5e8ab55d analitza-19.04.0.tar.xz" +sha512sums="c0ba20b6776dbf40bdf3a30231a6230f2b5ec0aa632235b09353a30f9f9f8b38da703c58736ee943239d0541b149100be2eaf924d8f435a4367a1e3072720a3b analitza-19.04.1.tar.xz" diff --git a/user/ant/APKBUILD b/user/ant/APKBUILD new file mode 100644 index 000000000..8afaf5929 --- /dev/null +++ b/user/ant/APKBUILD @@ -0,0 +1,58 @@ +# Contributor: Steeve Chailloux <steeve@chaahk.com> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=ant +pkgver=1.10.6 +pkgrel=0 +pkgdesc="Java-based build tool" +url="http://ant.apache.org/" +arch="noarch" +license="Apache-2.0" +makedepends="" +depends="openjdk8" +source="https://www-eu.apache.org/dist/ant/source/apache-$pkgname-$pkgver-src.tar.gz + ant.sh + imageio_fix_java_test.patch + imageio_fix_test.patch" +builddir="$srcdir/apache-$pkgname-$pkgver" + +_anthome="/usr/lib/java/$pkgname" + +build() { + sh ./bootstrap.sh + ./bootstrap/bin/ant dist-lite +} + +check() { + ./bootstrap/bin/ant test +} + +package() { + local destdir="$pkgdir/$_anthome" + + install -dm755 "$destdir"/bin + rm dist/bin/*.bat dist/bin/*.cmd + install -m755 dist/bin/* "$destdir"/bin + + install -dm755 "$pkgdir"/usr/bin + ln -sf $_anthome/bin/ant "$pkgdir"/usr/bin/ant + + install -dm755 "$destdir"/lib + install -m644 dist/lib/*.jar "$destdir"/lib + + # symlink to junit so it's on the javac build path for ant + # matches behavior on ubuntu 9 and makes sense for compatibility + ln -sf ../../junit.jar "$destdir"/lib/junit.jar + + # The license says the NOTICE file should be redistributed for + # derivative works, so lets supply it. + install -m644 -D NOTICE "$pkgdir"/usr/share/licenses/$pkgname/NOTICE + + install -m644 -D $srcdir/$pkgname.sh "$pkgdir"/etc/profile.d/$pkgname.sh +} + +sha512sums="2bef0cf5f53ce9fa6e9dc7a673745f75bcd0df027f9ff07442cf66bc8d7d99e022153b08d20d314061b497763e85d587c3087952b3f5730e5a19b2656f3236fb apache-ant-1.10.6-src.tar.gz +955fe52b415d57716df1338eff6d667d80e06a67bffd53def7d63d96f1224157b724a92df647afe8b3243dea749e221aec1e86d5be01060408fa000ec1132374 ant.sh +9a698041a06ccc6db7765133fc6fabc6f2d0e70b96ff9de594bd836fc05ac33f489968a4fdd12fe044458eb3b99e905ca1e2a62a55acdbacebff9782c82a27de imageio_fix_java_test.patch +1457c7415df1e80c8763b4db9f41cbdebfa58e17bcd263dae9ce31f9ee601650b51a893e4e0a324c974b60a6c2076fddfd78180baca0bcdbff65e9e88b30e063 imageio_fix_test.patch" diff --git a/user/ant/ant.sh b/user/ant/ant.sh new file mode 100644 index 000000000..bab7b972d --- /dev/null +++ b/user/ant/ant.sh @@ -0,0 +1,3 @@ +#!/bin/sh +ANT_HOME="/usr/share/java/ant" +export ANT_HOME diff --git a/user/ant/imageio_fix_java_test.patch b/user/ant/imageio_fix_java_test.patch new file mode 100644 index 000000000..4fa856e73 --- /dev/null +++ b/user/ant/imageio_fix_java_test.patch @@ -0,0 +1,26 @@ +diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java +index c96691d..e8cfd29 100644 +--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java ++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java +@@ -86,21 +86,6 @@ public class ImageIOTest { + assertTrue("File was not overwritten.", lastModified < overwrittenLastModified); + } + +- @Test +- public void testDrawOverwriteTrue() { +- buildRule.executeTarget("testSimpleScale"); +- assertThat(buildRule.getLog(), containsString("Processing File")); +- File f = new File(buildRule.getOutputDir(), LARGEIMAGE); +- assumeTrue("Could not change file modification date", +- f.setLastModified(f.lastModified() - FILE_UTILS.getFileTimestampGranularity() * 2)); +- long lastModified = f.lastModified(); +- buildRule.executeTarget("testDrawOverwriteTrue"); +- assertThat(buildRule.getLog(), containsString("Processing File")); +- f = new File(buildRule.getOutputDir(), LARGEIMAGE); +- long overwrittenLastModified = f.lastModified(); +- assertTrue("File was not overwritten.", lastModified < overwrittenLastModified); +- } +- + @Test + public void testOverwriteFalse() { + buildRule.executeTarget("testSimpleScale"); diff --git a/user/ant/imageio_fix_test.patch b/user/ant/imageio_fix_test.patch new file mode 100644 index 000000000..ad3cc3e67 --- /dev/null +++ b/user/ant/imageio_fix_test.patch @@ -0,0 +1,23 @@ +diff --git a/src/etc/testcases/taskdefs/optional/image/imageio.xml b/src/etc/testcases/taskdefs/optional/image/imageio.xml +index a7d6a23..0f0318b 100644 +--- a/src/etc/testcases/taskdefs/optional/image/imageio.xml ++++ b/src/etc/testcases/taskdefs/optional/image/imageio.xml +@@ -59,18 +59,6 @@ + </imageio> + </target> + +- <!-- this should produce a single file in the dest dir, overwriting any existing file --> +- <target name="testDrawOverwriteTrue" depends="setUp"> +- <imageio includes="*.jpg" srcdir="${src.dir}" destdir="${output}" +- overwrite="yes" failonerror="no"> +- <scale width="300" proportions="width"/> +- <draw xloc="10" yloc="10"> +- <rectangle height="50" width="50" strokewidth="2"/> +- <text string="Test"/> +- </draw> +- </imageio> +- </target> +- + <!-- this should not overwrite the existing file --> + <target name="testOverwriteFalse" depends="setUp"> + <imageio includes="*.jpg" srcdir="${src.dir}" destdir="${output}" diff --git a/user/ark/APKBUILD b/user/ark/APKBUILD index 50918822d..d83b3f1ce 100644 --- a/user/ark/APKBUILD +++ b/user/ark/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ark -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Graphical file compression/decompression utility with support for multiple formats" url="https://utils.kde.org/projects/ark/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7bcc2a98706644fc0a30bd04f40becea240c245f8fd8af941f893f4a1fe11c8e8f5ce6a9303f8172fed30db953110ce7cb7c4e50132f0392cd92ae9d02390bb5 ark-19.04.0.tar.xz" +sha512sums="6a053239dfa0cfc0b96aad087d0912114a96a1de3f77ac8b720477c775a088d0df78531372f105cd982c9f7009d1fdeec03a06ada743142f2d2eddbe38f652de ark-19.04.1.tar.xz" diff --git a/user/artikulate/APKBUILD b/user/artikulate/APKBUILD index c175aea77..0fe94ed73 100644 --- a/user/artikulate/APKBUILD +++ b/user/artikulate/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=artikulate -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Pronunciation trainer for languages" url="https://www.kde.org/applications/education/artikulate/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="99ece4a46b52180a37b8812788a5caa2c43a4e20eaeba73f115622b14e7bc64bb39a8d44f794fa342628c3739c9fcda9e81de60f326e1778c7e4f5e3b8196faf artikulate-19.04.0.tar.xz" +sha512sums="0d0195bfd85250cafd37be0d91fa6650fb3322b32abdde877090d29593e3ff918adc7f2577d223d3283583229d4a4eb00d57677438b60b7e1a6a9bc54a1e3642 artikulate-19.04.1.tar.xz" diff --git a/user/baloo-widgets/APKBUILD b/user/baloo-widgets/APKBUILD index fbeae9677..d5800d48a 100644 --- a/user/baloo-widgets/APKBUILD +++ b/user/baloo-widgets/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=baloo-widgets -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Widgets that utilise the Baloo desktop indexing engine" url="https://www.KDE.org/" @@ -43,5 +43,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="031f36224fdc10c09d48b4d8c426c716516e8dc51e23bf91535eb904c4ae71f22aa3fe0774ecc120de9f3636cb76b949836d4e54ee96fa3e8225bf8e2a903195 baloo-widgets-19.04.0.tar.xz +sha512sums="e797b4f878f1382cd58d91e61a5a846e2f47adb1a2f718f9c5f686a6978031b8c6ce061ae55948c3beed16d4798e3f8abeb70c428a91ce602c94adf423616eaa baloo-widgets-19.04.1.tar.xz b8de7699919edb1ecc64aa733b8a937fc0c1b06e3e03fc5f2ea1d78ca190a0bdbf4b6011c57de464ad657103981aa337f3a04953da3a02b6c161f47eda5d7372 frameworks.patch" diff --git a/user/blinken/APKBUILD b/user/blinken/APKBUILD index ba105ab30..516818484 100644 --- a/user/blinken/APKBUILD +++ b/user/blinken/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=blinken -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Memory enhancement game" url="https://www.kde.org/applications/education/blinken/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0463141b16b118eae60c02a8f31fe5493050cf79e731fde154dc9ad1c5b7efe35d21719092ac130192171dfc5b91d033a89ad0adf98e0db87eba945fa3ba242a blinken-19.04.0.tar.xz" +sha512sums="a6f6f552df473872e25ec854d956581966b8e763d4d02fb9355e2b57da7565ace856a83175cb71878602e1aefa256b4ead6d5f936ebeeb99405c1194143dd83d blinken-19.04.1.tar.xz" diff --git a/user/bomber/APKBUILD b/user/bomber/APKBUILD index 777e11fc5..270520353 100644 --- a/user/bomber/APKBUILD +++ b/user/bomber/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bomber -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Arcade bombing game" url="https://www.kde.org/applications/games/bomber/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8a29636e66683fb353b798b5804eafef192bf73d23beb8364db3d7f5f241d5350fa1402d3f0e7d27e9dddff777627bdfb98c6a866f0d2248768eed4490ae223f bomber-19.04.0.tar.xz" +sha512sums="c407dc51a137e1c5242bc4b3d9d10b855e36cb0c1988bcc3b93aeca79a147dcb039c72984b91426373523bceefdd4269880737e41d0ce2fc0e147ba8216b1504 bomber-19.04.1.tar.xz" diff --git a/user/bovo/APKBUILD b/user/bovo/APKBUILD index fa0a6b435..9b99e296f 100644 --- a/user/bovo/APKBUILD +++ b/user/bovo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bovo -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Gomoku or Connect Five game" url="https://www.kde.org/applications/games/bovo/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4389e25fae039a4158474edf875d967710cec3f072142f40458c668a95cdb9aaba6ec9da3a7257a8ba8852736ca541fd7bf7f703ee3c32f9a308cabb4d7873cf bovo-19.04.0.tar.xz" +sha512sums="4fbf5334a7f7a3cd86736d762818d4259aa148b238ff65e8d79b02d2caa3a0d33c30da4ced7d14464d2559aaabd95a8b72ac8d11e5f1f03a3141a39c9d589938 bovo-19.04.1.tar.xz" diff --git a/user/cantor/APKBUILD b/user/cantor/APKBUILD index b0a6eb763..015945e99 100644 --- a/user/cantor/APKBUILD +++ b/user/cantor/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=cantor -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE worksheet interface for popular mathematical applications" url="https://edu.kde.org/cantor/" @@ -45,4 +45,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="affed3d29e6af9a98ea60400c8ab3d8835d60f47f960d1453c6173ebe2eab0146b625269d66380e2ffd4c5a1bf7326b56750a0d4acb2aeed1627be8c6d0818e2 cantor-19.04.0.tar.xz" +sha512sums="a6ae43ace5761a12157f2cfdd2dafeb5ac5cf0f0e96b4328cd7913d9168976b75133c122604f8296fb9baaae252e786a16128c2c9e1f2df4403f1bbef507493b cantor-19.04.1.tar.xz" diff --git a/user/clang/APKBUILD b/user/clang/APKBUILD index 78db7102c..e5ed50d06 100644 --- a/user/clang/APKBUILD +++ b/user/clang/APKBUILD @@ -19,8 +19,11 @@ subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs source="https://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz 0001-Add-support-for-Ad-lie-Linux.patch 0008-Fix-ClangConfig-cmake-LLVM-path.patch - use-llvm-lit.patch + cfe-005-ppc64-dynamic-linker-path.patch + pmmx-musl.patch + ppc64-elfv2.patch secure-plt.patch + use-llvm-lit.patch " builddir="$srcdir/cfe-$pkgver.src" @@ -108,5 +111,8 @@ analyzer() { sha512sums="98e540222719716985e5d8439116e47469cb01201ea91d1da7e46cb6633da099688d9352c3b65e5c5f660cbbae353b3d79bb803fc66b3be663f2b04b1feed1c3 cfe-8.0.0.src.tar.xz c3218a1622f53bb6bef65f844e32e1b048a1ed7d5aa444a7592f9b8e8543d41438a0ac032674adb2c1bf0ef8c6fbd6880c34f8c8e778a8fd31bb542968a3547e 0001-Add-support-for-Ad-lie-Linux.patch 9485fe4fd6182df543735ed8f4ce618693d0faeafa86d3f9574a6c7abf50978e2d56e0a94be3ed94d515cc937c388d66ceff1bbc9bb120d371b6d3e95340da00 0008-Fix-ClangConfig-cmake-LLVM-path.patch -8a596e7369b5791e7e9c3278320aa5bac30d91f27d9a0df335ea862c359623869353d12145c3b64730f721600522f3acc5abe706428091482e0209e4ff308175 use-llvm-lit.patch -9dad6dfb0097f79939b743dbe7ed20274c463d9c41f061a957841c60070247a4760b676465652e2e844fc75aab9a5b7f9f4dd7632f2ff5dd5b0a335fcbd29312 secure-plt.patch" +e24b0eb5f0f2b58f8d18d7d191dccc76510a179738db1f42624bd68c6de92ea57d323e28f9ee1e4df59e44a2c00a23527ba21c1c1fce9ac5858db9b3049914f2 cfe-005-ppc64-dynamic-linker-path.patch +1a76a74c193ea59b0114b116c5a9a7807b40a449e9c601263379fd7252867adb8ea8d4720f9fc8d801748176976d968990be29323bff9d5f3a03c4cfe80c61c4 pmmx-musl.patch +26b6cb952a77e15f113c88f2417e510ddd496f5c3c3de2e51c1a7cf14a78d0b25cd881f40c5c7e95dde3b2b63bbd3d485544097eed8673669a755b456a1dcd71 ppc64-elfv2.patch +9dad6dfb0097f79939b743dbe7ed20274c463d9c41f061a957841c60070247a4760b676465652e2e844fc75aab9a5b7f9f4dd7632f2ff5dd5b0a335fcbd29312 secure-plt.patch +8a596e7369b5791e7e9c3278320aa5bac30d91f27d9a0df335ea862c359623869353d12145c3b64730f721600522f3acc5abe706428091482e0209e4ff308175 use-llvm-lit.patch" diff --git a/user/clang/cfe-005-ppc64-dynamic-linker-path.patch b/user/clang/cfe-005-ppc64-dynamic-linker-path.patch new file mode 100644 index 000000000..d559d949b --- /dev/null +++ b/user/clang/cfe-005-ppc64-dynamic-linker-path.patch @@ -0,0 +1,17 @@ +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -590,12 +590,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { + Loader = "ld.so.1"; + break; + case llvm::Triple::ppc64: +- LibDir = "lib64"; ++ LibDir = "lib"; + Loader = + (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; + break; + case llvm::Triple::ppc64le: +- LibDir = "lib64"; ++ LibDir = "lib"; + Loader = + (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; + break; diff --git a/user/clang/pmmx-musl.patch b/user/clang/pmmx-musl.patch new file mode 100644 index 000000000..7286c0ab8 --- /dev/null +++ b/user/clang/pmmx-musl.patch @@ -0,0 +1,12 @@ +--- cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp.old 2018-11-29 18:52:22.000000000 +0000 ++++ cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp 2019-06-01 23:22:27.015221397 +0000 +@@ -528,6 +528,9 @@ + ArchName = "armeb"; + IsArm = true; + break; ++ case llvm::Triple::x86: ++ ArchName = "i386"; ++ break; + default: + ArchName = Triple.getArchName().str(); + } diff --git a/user/clang/ppc64-elfv2.patch b/user/clang/ppc64-elfv2.patch new file mode 100644 index 000000000..59f300ebc --- /dev/null +++ b/user/clang/ppc64-elfv2.patch @@ -0,0 +1,38 @@ +--- cfe-8.0.0.src/lib/Basic/Targets/PPC.h.old 2019-02-12 11:19:21.000000000 +0000 ++++ cfe-8.0.0.src/lib/Basic/Targets/PPC.h 2019-06-01 23:18:07.613180102 +0000 +@@ -367,7 +367,7 @@ + ABI = "elfv2"; + } else { + resetDataLayout("E-m:e-i64:64-n32:64"); +- ABI = "elfv1"; ++ ABI = (Triple.getEnvironment() == llvm::Triple::Musl) ? "elfv2" : "elfv1"; + } + + switch (getTriple().getOS()) { +@@ -375,6 +375,15 @@ + LongDoubleWidth = LongDoubleAlign = 64; + LongDoubleFormat = &llvm::APFloat::IEEEdouble(); + break; ++ default: ++ break; ++ } ++ ++ switch (getTriple().getEnvironment()) { ++ case llvm::Triple::Musl: ++ LongDoubleWidth = LongDoubleAlign = 64; ++ LongDoubleFormat = &llvm::APFloat::IEEEdouble(); ++ break; + default: + break; + } +--- cfe-8.0.0.src/lib/Driver/ToolChains/Clang.cpp.old 2019-01-25 00:15:41.000000000 +0000 ++++ cfe-8.0.0.src/lib/Driver/ToolChains/Clang.cpp 2019-06-01 23:19:33.973868618 +0000 +@@ -1745,7 +1745,7 @@ + break; + } + +- ABIName = "elfv1"; ++ ABIName = (getToolChain().getTriple().isMusl()) ? "elfv2" : "elfv1"; + break; + } + case llvm::Triple::ppc64le: diff --git a/user/consolekit2/APKBUILD b/user/consolekit2/APKBUILD index 3325c3cb1..3c7e5035b 100644 --- a/user/consolekit2/APKBUILD +++ b/user/consolekit2/APKBUILD @@ -3,7 +3,7 @@ pkgbase=ConsoleKit2 pkgname=consolekit2 pkgver=1.2.1 -pkgrel=0 +pkgrel=1 pkgdesc="Framework for defining and tracking users, login sessions, and seats" provides="consolekit=$pkgver" replaces="consolekit" @@ -18,7 +18,8 @@ checkdepends="libxml2-utils" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc" source="https://github.com/ConsoleKit2/$pkgbase/releases/download/$pkgver/$pkgbase-$pkgver.tar.bz2 consolekit2.initd - pam-foreground-compat.ck" + pam-foreground-compat.ck + poweroff.patch" # Capital "ConsoleKit" builddir="$srcdir"/$pkgbase-$pkgver @@ -54,4 +55,5 @@ package() { sha512sums="31befe89f7fa604138bfb0722fc6cf12f0934bac004f98fc331004eb5a7f466ed7bd0dc9adc9869da739974208f9a3bc125068ff8a60d4b2badb58ef70a3eb10 ConsoleKit2-1.2.1.tar.bz2 8c16c452707475bdd4a50d3ade367d52ad92a6560be48b4e21e5b5eadef6e56c39d3d03d3a64f9b45a59eca50179cf5aa9c11978904d5d101db7498fb9bc0339 consolekit2.initd -3b114fbbe74cfba0bfd4dad0eb1b85d08b4979a998980c1cbcd7f44b8a16b0ceca224680d4f4a1644cd24698f8817e5e8bdfcdc4ead87a122d0e323142f47910 pam-foreground-compat.ck" +3b114fbbe74cfba0bfd4dad0eb1b85d08b4979a998980c1cbcd7f44b8a16b0ceca224680d4f4a1644cd24698f8817e5e8bdfcdc4ead87a122d0e323142f47910 pam-foreground-compat.ck +033595766671f545ba6c9f3fcb529547d20359cdd8eb901bb7a6c3b319b495038e8072e3b01f2fd264f592b0c7825a79282d8bc590f057a5f62e9fdfedde9c68 poweroff.patch" diff --git a/user/consolekit2/poweroff.patch b/user/consolekit2/poweroff.patch new file mode 100644 index 000000000..8ae9d21a5 --- /dev/null +++ b/user/consolekit2/poweroff.patch @@ -0,0 +1,22 @@ +Most users expect "shutdown" to also power off the machine when +requested from a graphical environment. "Actions after halting are +unspecified" when using -h (LSB 3.0) - sysvinit additionally tries to +power off when using -h, whereas s6-linux-init only halts. +Use the **non-standard** -P option (implemented by sysvinit and +s6-linux-init since 1.0.2.0) to request power off after halting. + +--- ConsoleKit2-1.2.1/tools/linux/ck-system-stop 2017-06-02 01:31:44.000000000 +0000 ++++ ConsoleKit2-1.2.1/tools/linux/ck-system-stop 2019-06-09 17:40:31.110006347 +0000 +@@ -2,10 +2,10 @@ + + #Try for common tools + if [ -x "/sbin/shutdown" ] ; then +- /sbin/shutdown -h now ++ /sbin/shutdown -hP now + exit $? + elif [ -x "/usr/sbin/shutdown" ] ; then +- /usr/sbin/shutdown -h now ++ /usr/sbin/shutdown -hP now + exit $? + else + exit 1 diff --git a/user/dolphin/APKBUILD b/user/dolphin/APKBUILD index 1ef7a8908..cd3d15501 100644 --- a/user/dolphin/APKBUILD +++ b/user/dolphin/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=dolphin -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Lightweight desktop file manager" url="https://www.kde.org/applications/system/dolphin/" @@ -46,5 +46,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6a70c2f4cb76c6d088aeb9e74963cf9da514cf66abc2f8607ea9f191888f0f0b2440c3f4e9585028a45a07b5334ed40f555d85ea0e22e31e42bd0e655e2420d7 dolphin-19.04.0.tar.xz +sha512sums="a967e5cb5606c7eba00d6a1eb88336b86e02c6a80cf04d5be3fe7ba573243c36a64275ca61c512bd5b212a9d647b1c3f59c9f5572cade57da3dc1fd031d3eabf dolphin-19.04.1.tar.xz 4ec4b440f5ed52439152fb6132448e674f8e357413ef1eae339cfefb602a82909bceba85f5f517b51a985e3101d6be42b25bee6a4dd338a190d995deef57c708 frameworks.patch" diff --git a/user/dragonplayer/APKBUILD b/user/dragonplayer/APKBUILD index bb93d1c7d..2e9421b1e 100644 --- a/user/dragonplayer/APKBUILD +++ b/user/dragonplayer/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=dragonplayer -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Multimedia player with a focus on simplicity" url="https://www.kde.org/applications/multimedia/dragonplayer/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0783ba20c4e65c4b5db942f2d63f7ea0a42cc4cc4d42f3f0d60ad9e5029cb970515f307516174a05776baed719dcb98beffe0a8c952a5e7e1d39218ec31c4ebe dragon-19.04.0.tar.xz" +sha512sums="80ba2e643b79e9f83edc01e0fe5def947e4d674950655795df7adc9760221e1d6b969f1e37d11d7ed6711bf26a56fd36807a5846b7f92973e63424abc5371aa6 dragon-19.04.1.tar.xz" diff --git a/user/eudev/APKBUILD b/user/eudev/APKBUILD index 5b9aa2526..f1cc65903 100644 --- a/user/eudev/APKBUILD +++ b/user/eudev/APKBUILD @@ -2,21 +2,20 @@ # Maintainer: pkgname=eudev pkgver=3.2.7 -pkgrel=0 +pkgrel=1 pkgdesc="OpenRC compatible fork of systemd-udev" url="https://wiki.gentoo.org/wiki/Project:Eudev" arch="all" options="!checkroot" license="GPL-2.0-only" depends="" -depends_dev="" -replaces="udev udev-init-scripts" -provides="udev=176" makedepends="gperf glib-dev linux-headers kmod-dev gobject-introspection-dev util-linux-dev" checkdepends="tree xz" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc $pkgname-netifnames::noarch" +provides="udev=176" +replaces="udev udev-init-scripts" source="http://dev.gentoo.org/~blueness/$pkgname/$pkgname-$pkgver.tar.gz default-rules.patch load-fbcon.patch @@ -102,6 +101,13 @@ netifnames() { openrc() { replaces="udev-init-scripts-openrc" default_openrc + install -d "$subpkgdir"/usr/share/runlevels/openrc/sysinit + # https://bts.adelielinux.org/show_bug.cgi?id=51 + # if eudev is installed, it should be running in the sysinit runlevel + ln -s /etc/init.d/udev \ + "$subpkgdir"/usr/share/runlevels/openrc/sysinit/udev + ln -s /etc/init.d/udev-trigger \ + "$subpkgdir"/usr/share/runlevels/openrc/sysinit/udev-trigger } sha512sums="e6c8ec86ae434c967f6a568fa0b281229bb87be7e3fec025dc3e0225de7843ffaa5dd65bdeffefbc91e9e2911aa3de9df84c76148fe8863ff60fba4c88653c40 eudev-3.2.7.tar.gz diff --git a/user/ffmpegthumbs/APKBUILD b/user/ffmpegthumbs/APKBUILD index e36f4621a..f49d6b865 100644 --- a/user/ffmpegthumbs/APKBUILD +++ b/user/ffmpegthumbs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ffmpegthumbs -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE video thumbnail system using FFmpeg" url="https://www.KDE.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7e5865eaf55952aefe05418e9ca0a00afdde82ded06e08e0d1b95279939a2304efb2c320a0b9959fa558fe44ee02a922ab10caf821d489da982b7cc6ac5c4b6d ffmpegthumbs-19.04.0.tar.xz" +sha512sums="f91ea978fd3682e6bb1510e03a01e21be9b682d8b5aecd95bff47fb64028e798dba36111b18602c9144e2dfae42bbacb905b9ac3f9cc2e6bcd263cee6e169fd9 ffmpegthumbs-19.04.1.tar.xz" diff --git a/user/glib-networking/APKBUILD b/user/glib-networking/APKBUILD index 83ee6af4a..c0ef9ac59 100644 --- a/user/glib-networking/APKBUILD +++ b/user/glib-networking/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=glib-networking -pkgver=2.60.1 +pkgver=2.60.2 _ver=${pkgver%.*} pkgrel=0 pkgdesc="Networking support for GLib" @@ -12,8 +12,7 @@ depends="ca-certificates" makedepends="bash glib-dev gnutls-dev gsettings-desktop-schemas-dev intltool libgcrypt-dev libproxy-dev meson ninja p11-kit-dev" subpackages="$pkgname-lang" -source="https://download.gnome.org/sources/glib-networking/$_ver/glib-networking-$pkgver.tar.xz - glib-networking-2.60-new-gnutls-cert-error-fix.patch" +source="https://download.gnome.org/sources/glib-networking/$_ver/glib-networking-$pkgver.tar.xz" prepare() { cd "$builddir" @@ -38,5 +37,4 @@ package() { rm -f "$pkgdir"/usr/lib/gio/modules/*.a } -sha512sums="a40a7e9678076db1a469f0d8ffdcb0c6658ef96ff1d9637299fbb07985f4c42bae3f1415f8df15242718420d20eb90de93253a00d1f6a347110b3f8a74bcc717 glib-networking-2.60.1.tar.xz -b9d3d744aec5337553e228ff1ee0616b1d79d1766ef9d87e644706a154f8e6151b15651b73a7073482e5cbe20b54ac78bd34f7ad77ebf0d34c42d969b4315241 glib-networking-2.60-new-gnutls-cert-error-fix.patch" +sha512sums="bfb8c716e78dfce997baaeb8aaafc1f187aa18fabee0197211f741d6175c21760e8eb5f514711e12f19ed7d7a0e4931dc7469b0ba778dc0e354c9123cf5a67f1 glib-networking-2.60.2.tar.xz" diff --git a/user/glib-networking/glib-networking-2.60-new-gnutls-cert-error-fix.patch b/user/glib-networking/glib-networking-2.60-new-gnutls-cert-error-fix.patch deleted file mode 100644 index ab04dae3e..000000000 --- a/user/glib-networking/glib-networking-2.60-new-gnutls-cert-error-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1ce6b40da8ecbf997c5522a592a122e805aa81c4 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro <mcatanzaro@igalia.com> -Date: Wed, 3 Apr 2019 18:00:55 -0500 -Subject: [PATCH] gnutls: Handle new GNUTLS_E_CERTIFICATE_REQUIRED - -This new error in GnuTLS 3.6.7 should correspond to -G_TLS_ERROR_CERTIFICATE_REQUIRED. This fixes our client auth tests when -run with GnuTLS 3.6.7. - -Fixes #70 ---- - tls/gnutls/gtlsconnection-gnutls.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/tls/gnutls/gtlsconnection-gnutls.c b/tls/gnutls/gtlsconnection-gnutls.c -index 27bbbcd..774d668 100644 ---- a/tls/gnutls/gtlsconnection-gnutls.c -+++ b/tls/gnutls/gtlsconnection-gnutls.c -@@ -1062,7 +1062,11 @@ end_gnutls_io (GTlsConnectionGnutls *gnutls, - else - return 0; - } -- else if (status == GNUTLS_E_NO_CERTIFICATE_FOUND) -+ else if (status == GNUTLS_E_NO_CERTIFICATE_FOUND -+#ifdef GNUTLS_E_CERTIFICATE_REQUIRED -+ || status == GNUTLS_E_CERTIFICATE_REQUIRED /* Added in GnuTLS 3.6.7 */ -+#endif -+ ) - { - g_set_error_literal (error, G_TLS_ERROR, G_TLS_ERROR_CERTIFICATE_REQUIRED, - _("TLS connection peer did not send a certificate")); diff --git a/user/granatier/APKBUILD b/user/granatier/APKBUILD index 132b8bad0..704954a28 100644 --- a/user/granatier/APKBUILD +++ b/user/granatier/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=granatier -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Clone of the classic Bomberman game" url="https://www.kde.org/applications/games/granatier/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e5f7de6eb6fdac6cbf174ab1e4b52e3e748fb83a76458ae136041ed20f0a82218026b0adf8266b855bf57756962cf16938d5a38c3a5a4c1d4747b861588082f6 granatier-19.04.0.tar.xz" +sha512sums="c43db1806e3efe3d45364688c465c0c7def2c2ab168e28c66dce3e56a88745b9e05a8db621191d3bcd2ffd382721669ddb570e55bc16dc68248e1c6e525e52bb granatier-19.04.1.tar.xz" diff --git a/user/gtksourceview-3.0/APKBUILD b/user/gtksourceview-3.0/APKBUILD index 12ec22e9c..23f34a3c2 100644 --- a/user/gtksourceview-3.0/APKBUILD +++ b/user/gtksourceview-3.0/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=gtksourceview-3.0 -pkgver=3.24.10 +pkgver=3.24.11 pkgrel=0 pkgdesc="Source viewer widget for GTK+ 3.0" url="https://gnome.org" @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="990935ed7c3b10a1659cf22bd36eb71e76088768f7b70234b50465f542592720bb6b206746e0606c96ab99ba0208535fc6073b4f6c0f3427acd0ab5a43420d46 gtksourceview-3.24.10.tar.xz" +sha512sums="3490b34c6432a2e2ef292ad5bf982fdd22d33b1472434549b4ea8ddae0fc8808e128ef947e4d0dcb41e8de5e601b202f52532bbbbfa11d35050acfc42f9936b2 gtksourceview-3.24.11.tar.xz" diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD index 03d94659e..02a94f8f6 100644 --- a/user/gvim/APKBUILD +++ b/user/gvim/APKBUILD @@ -5,7 +5,7 @@ # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=gvim _pkgreal=vim -pkgver=8.1.1206 +pkgver=8.1.1461 pkgrel=0 pkgdesc="advanced text editor" url="http://www.vim.org" @@ -74,4 +74,4 @@ package() { ln -s gvim rgvim } -sha512sums="2977716257033e0842f2ddbabf6636e51c5eba3c75bd4b33e6f497de85e1d59701aae8907ddace78debb306a17a9c2dbd18478aa0a0a3020a50f5d8119a0baec vim-8.1.1206.tar.gz" +sha512sums="4c0237808d126069cb023246fc58d7743f8b9813e934a37e8061da43391712abc388921ee62fedc5c76bd374e82496bd8aabc6d8a9248fd8e77064895450032a vim-8.1.1461.tar.gz" diff --git a/user/gwenview/APKBUILD b/user/gwenview/APKBUILD index 3bf7c09aa..292abf3ca 100644 --- a/user/gwenview/APKBUILD +++ b/user/gwenview/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gwenview -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Fast and easy image viewer by KDE" url="https://www.kde.org/applications/graphics/gwenview/" @@ -43,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="bacc6e5e1702b7653c31164d57440944ecab13331b02babd6a45a3e4637b5f13cc8347d2073cf99be1811d61f666529495afac0131307696c504dc9f82dbb9e4 gwenview-19.04.0.tar.xz" +sha512sums="593db6ca0bc765d45ed6691c71d12bf06a9ff5dcf2fe23d7e839dde1ebd11ae60f466bb8af1e0b577df7fc7ba3cd9bf6ec0d51642eb75e6d4d50b3b8c42c5863 gwenview-19.04.1.tar.xz" diff --git a/user/imagemagick/APKBUILD b/user/imagemagick/APKBUILD index 77580a3aa..c527b6c0f 100644 --- a/user/imagemagick/APKBUILD +++ b/user/imagemagick/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=imagemagick -pkgver=7.0.8.42 +pkgver=7.0.8.48 _abiver=7 _pkgver=${pkgver%.*}-${pkgver##*.} pkgrel=0 @@ -81,4 +81,4 @@ _cxx() { mv "$pkgdir"/usr/lib/libMagick++*.so.* "$subpkgdir"/usr/lib/ } -sha512sums="88f57b69ece3b93b0af41e85bacb0b232cf07e7d0aab34e1479ce6c5fe29b1cfcdcd8bc6b2b87773c2109122614a0f64847629029470d945409b08b19032d936 ImageMagick-7.0.8-42.tar.xz" +sha512sums="194773526b86762fbcd509a722114c88b23a7bdd96431f666581e11d2c13334e6f58c1edcecb6e9117a00ea873cca8657887f7962ccbb5748d1c692b7756c792 ImageMagick-7.0.8-48.tar.xz" diff --git a/user/isync/APKBUILD b/user/isync/APKBUILD index a1a5a09e3..19c801b6e 100644 --- a/user/isync/APKBUILD +++ b/user/isync/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=isync -pkgver=1.3.0 +pkgver=1.3.1 pkgrel=0 pkgdesc="IMAP and MailDir mailbox synchronizer" url="http://isync.sourceforge.net/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b5186f2afe97cab58ce55d3ec19ae7371676ae614448614a9e3e02d09662c34b74e559f0926661fa0300ab22dab9e2e9089b78ee38b94141ff3f8b4d75578ffa isync-1.3.0.tar.gz" +sha512sums="59d702d41d4a4e72f03cb282b414d0bb859593171763e845bc24d116a74f807a79e5be61f1dd1f59a9ece492322bceac156b08958a246cbfbe7f230fab4cdda2 isync-1.3.1.tar.gz" diff --git a/user/java-common/APKBUILD b/user/java-common/APKBUILD index 12259b209..da94e271c 100644 --- a/user/java-common/APKBUILD +++ b/user/java-common/APKBUILD @@ -1,16 +1,16 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=java-common -pkgver=6 -pkgrel=0 +pkgver=7 +pkgrel=1 pkgdesc="Default Java runtime binary symlinks" url=" " arch="noarch" options="!check" # Symlinks only. license="Public-Domain" -depends="" +depends="nss" # for TLS, needed by all OpenJDKs. makedepends="" subpackages="" -source="" +source="java.profd" triggers="java-common.trigger=/usr/lib/jvm" package() { @@ -19,4 +19,7 @@ package() { ln -sf ../lib/jvm/default-jvm/jre/bin/rmiregistry "$pkgdir"/usr/bin ln -sf ../lib/jvm/default-jvm/jre/bin/keytool "$pkgdir"/usr/bin ln -sf ../lib/jvm/default-jvm/bin/appletviewer "$pkgdir"/usr/bin + + install -D -m755 "$srcdir"/java.profd "$pkgdir"/etc/profile.d/java.sh } +sha512sums="4c535555a89609988fbd379d4ef7c72d04eb8b88aed3c999a65e957196196c14733377b24f98b1ee0ae83f0cd43f55ab626ab073c1b30f478fb514bfc71cf641 java.profd" diff --git a/user/java-common/java.profd b/user/java-common/java.profd new file mode 100644 index 000000000..cf97cc5f9 --- /dev/null +++ b/user/java-common/java.profd @@ -0,0 +1,2 @@ +#!/bin/sh +export JAVA_HOME=/usr/lib/jvm/default-jvm diff --git a/user/juk/APKBUILD b/user/juk/APKBUILD index e318b6f49..782be8aad 100644 --- a/user/juk/APKBUILD +++ b/user/juk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=juk -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE Jukebox" url="https://juk.kde.org/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="449e20ac1237b0f4da162c71df45ad06b38b38d160525c8b68970b6957e8643f28311d31adab85a2a853234205cd73dba7f621750113aac1d8cdc80de5f84611 juk-19.04.0.tar.xz" +sha512sums="03dfb936db72a27440d5c0800f33e0166ae230266138621c0a49a68b18b1766b9ed9f25f308b4b0ce75841b33a09dec2679578fcb353ed2e857227a829a0c103 juk-19.04.1.tar.xz" diff --git a/user/kalgebra/APKBUILD b/user/kalgebra/APKBUILD index 4344269e1..f8bdda246 100644 --- a/user/kalgebra/APKBUILD +++ b/user/kalgebra/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kalgebra -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Graph calculator and plotter" url="https://www.kde.org/applications/education/kalgebra/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b313493803a39a090c28b860f64a891a6afde90027a761861a298d878283ff764ecad626c31c42af7ba58682299cb8df5ae86c4fdb2316c4ff4b0e7ad1054337 kalgebra-19.04.0.tar.xz" +sha512sums="ae7e7ea92bdac7400d7acc907eaec2603aaa93e671237ab38b826560082f7c204e54ce52d17aa140b9a100d0a2db727c8131e64910536aead6c13b7b795cb600 kalgebra-19.04.1.tar.xz" diff --git a/user/kalzium/APKBUILD b/user/kalzium/APKBUILD index 5e52f32cc..fb5750d13 100644 --- a/user/kalzium/APKBUILD +++ b/user/kalzium/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kalzium -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Periodic table of elements (PSE) with calculators" url="https://www.kde.org/applications/education/kalzium/" @@ -43,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6bbd18df09680b0eaf80aeff683aa40219e7b6bea9f60de4364e0f3abc3d894164cbac09b37e42479b1f08fcb2acd9ad3ed9b8a5eaa2cad5b861b837b7605625 kalzium-19.04.0.tar.xz" +sha512sums="b354542d34df53a1c4d48ac522b31bb131d44521e24d5aada6b953342a3ece71851baac726ceae779d019a6dc5373797f84ba13c6b5ec82fe422a3a2b4c0a2c4 kalzium-19.04.1.tar.xz" diff --git a/user/kanagram/APKBUILD b/user/kanagram/APKBUILD index 8795bad4b..69d12b5ae 100644 --- a/user/kanagram/APKBUILD +++ b/user/kanagram/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kanagram -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Letter order (anagram) game" url="https://www.kde.org/applications/education/kanagram/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4b4593cd68836c4fcb14b1d0f1d7ff226daf56305ab9523bb0f3fd3f246f56df97e3cdaf83795ed18acafa8e3ca5688d787928cdd6e6726ddadd3f75693bb301 kanagram-19.04.0.tar.xz" +sha512sums="53d1352fb1436fc8cd341b39425b4ae7d64a2378197972e303877104b220447873d89a3ec4facd1b2199a741cb3cfab34fcf920f43ed40c3d4dd28de722c272e kanagram-19.04.1.tar.xz" diff --git a/user/kapman/APKBUILD b/user/kapman/APKBUILD index c2172bfe9..997bc3873 100644 --- a/user/kapman/APKBUILD +++ b/user/kapman/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kapman -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Pac-Man clone" url="https://www.kde.org/applications/games/kapman/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0d4219f868eae03e082d7fef9a84fa59951b52bbc1cbfdf4cdcbc1716e448e56723669fb2415319d8f07cf3cfb0429f144960b99e5268e010772cd0af230af32 kapman-19.04.0.tar.xz" +sha512sums="7df13b6ec898e2f6f3c2be19b71531fb2efea406fbc58ac032a51b382e6e8b685d0b0af27f4d9ee4ae3d123be4f5bbef0e7b9e937ca6aeb3f2a365dec9bf47ce kapman-19.04.1.tar.xz" diff --git a/user/kate/APKBUILD b/user/kate/APKBUILD index f141e07ec..3ac9abcd6 100644 --- a/user/kate/APKBUILD +++ b/user/kate/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kate -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Advanced text editor with autocomplete, syntax highlighting, and more" url="https://kate-editor.org/" @@ -92,4 +92,4 @@ kwrite_lang() { done } -sha512sums="4dc3cd8ee18ba994f7000b647644d7735659de52de66b3adc65d5f2283056961a7d4d3228d66f4de52b80e4c012a243ed5c95fe00066e6ad5eb8a4569f2d22d9 kate-19.04.0.tar.xz" +sha512sums="fa17365049496acdeccd70acfef1554af87b038a63c4e1dc38c6c3aaeb3ec127eed59a212fcf5488989a9e9f8cff3c71ccf00fd4081214cf51288ea2c2916077 kate-19.04.1.tar.xz" diff --git a/user/katomic/APKBUILD b/user/katomic/APKBUILD index de64024dc..15297a989 100644 --- a/user/katomic/APKBUILD +++ b/user/katomic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=katomic -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Fun, educational game involving molecular geometry" url="https://games.kde.org/game.php?game=katomic" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="cc71f51db90edccd1876d1ba7f5c64ede5a68b602fcf315f90535746161fb00175149933a47b6471fd2dc0fb37091577bb86d548c4cf22cf8e07e9916f96f384 katomic-19.04.0.tar.xz" +sha512sums="75714f55202dcfe66717318bcbd4698b658cda12209ec1bb0bd397f755d7be742a0e276dc8c1e3b5eea0a42a38a44f193c45b059653ebe06fbad563e15136a7f katomic-19.04.1.tar.xz" diff --git a/user/kblackbox/APKBUILD b/user/kblackbox/APKBUILD index 76ecbaed5..dbfae7876 100644 --- a/user/kblackbox/APKBUILD +++ b/user/kblackbox/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kblackbox -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Hide-and-seek logic game" url="https://www.kde.org/applications/games/kblackbox/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4433b75658496dc661916a472ec9d4da02d59927e12f5fffa78bd22af8b60d51d127ffdc39cc2ee77998112562df1f99856e321097885c55befed9c09bc0ffd7 kblackbox-19.04.0.tar.xz" +sha512sums="a77cbbef0658b4b84f6d13326f9960f68e543872668f8e416add62516edf5a957f7a7dd4a39e7ab09ff4b6e4ade1ccab8935dc7132cbb5d486e8dd336ffbd945 kblackbox-19.04.1.tar.xz" diff --git a/user/kblocks/APKBUILD b/user/kblocks/APKBUILD index 7b4624c91..85bd23021 100644 --- a/user/kblocks/APKBUILD +++ b/user/kblocks/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kblocks -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Falling blocks game" url="https://www.kde.org/applications/games/kblocks/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="727104bdf7624f58ea18fe24915f4bda8dd6497349dbcefd7beb3ef83a923b02e477bfff5a4c2615e67e53df5c0300a83f731d72e8eb7458376ab7755a4806a4 kblocks-19.04.0.tar.xz" +sha512sums="6913105aaeec4e797cf8a7102beb6aac0a16c4c0100f48cbf0d9cabb2eedf75597f54b1ce4956454b1810109e89cc5d439768110f8f865b89d6a37bf5f0df5b0 kblocks-19.04.1.tar.xz" diff --git a/user/kbounce/APKBUILD b/user/kbounce/APKBUILD index d0391ac3e..7450c89c9 100644 --- a/user/kbounce/APKBUILD +++ b/user/kbounce/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kbounce -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Puzzle/arcade game to build walls" url="https://games.kde.org/game.php?game=kbounce" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8763fda324fa8a464273b1281490599db952c3a413dba9a47564e0aa43f241b4770d705d60af0c1dee42e88d30b2ae608eaa4800242d09ed70648e0202502782 kbounce-19.04.0.tar.xz" +sha512sums="5277dce1ef25e68a3347cc7cf9ec83d645626002b1472ad4b6c3e1c68459c8b115351ec116a163525e192d32da01d599b906b38b940ff62811e7ab2832537ecc kbounce-19.04.1.tar.xz" diff --git a/user/kbreakout/APKBUILD b/user/kbreakout/APKBUILD index a53f997ed..9f0b91fba 100644 --- a/user/kbreakout/APKBUILD +++ b/user/kbreakout/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kbreakout -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Break-Out like game with a ball and paddle" url="https://games.kde.org/game.php?game=kbreakout" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a737eeb426f4a042ae2fde1f59824a966037f53021887eb25ea9727e1cace31cd0c8ae649c42a1d10f060bbcd30c0f71cf49960e7ff09284c34de854c96e34e8 kbreakout-19.04.0.tar.xz" +sha512sums="0b43b45408d2a4f41c0a00e2fc199c3f126e0a60392a7b48fe5b354ac6d531b9de1248b9b46698bb1bd746983d45f2b1c8196f0eeb72dd003ac4e8cfc28b5cc5 kbreakout-19.04.1.tar.xz" diff --git a/user/kbruch/APKBUILD b/user/kbruch/APKBUILD index 0515b1969..a1ab4ac03 100644 --- a/user/kbruch/APKBUILD +++ b/user/kbruch/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kbruch -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Practice calculating percentages and fractions" url="https://www.kde.org/applications/education/kbruch/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="cd7e3cf6ff9f3a3bf88370cb0b562cc212c255259129f94ff5a1b7fac3df18a7fa0831914430a42772b4f51cd2d022fb91df5278939a33e752daa63e7b5de7cd kbruch-19.04.0.tar.xz" +sha512sums="12067ebc85acfcb4ebc14af7f0d5aefc3a37e751b65795c0c2bd50f45766858a0be218a356a6659a79f6050d34c9a702af529e09c79ecf92fb676245d65e5d60 kbruch-19.04.1.tar.xz" diff --git a/user/kcachegrind/APKBUILD b/user/kcachegrind/APKBUILD index cc72cdf0f..806d73ece 100644 --- a/user/kcachegrind/APKBUILD +++ b/user/kcachegrind/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kcachegrind -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Profile data visualisation tool and call graph viewer" url="https://kcachegrind.github.io/html/Home.html" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ed0f1115f8d3cd4a8acc9c87a0d78e1d4ec2f3bb6701a8a00a759549f8a3d59912e1e4a0fa1c943a04957d5bc7ff6f4bc1dae492aece2e1027d56ec248c28643 kcachegrind-19.04.0.tar.xz" +sha512sums="eca2205de1d719e36ce150ba7ffd87142df060f24932488c843e7f62e1bb9674bb0ea181763910a82cb39b7268556a5dfa04ea42f2cbd344483fe5086f455885 kcachegrind-19.04.1.tar.xz" diff --git a/user/kcalc/APKBUILD b/user/kcalc/APKBUILD index 6166baa25..959db857e 100644 --- a/user/kcalc/APKBUILD +++ b/user/kcalc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kcalc -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Calculator with many mathematical, scientific, and logic functions" url="https://utils.kde.org/projects/kcalc/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ff33b7d7055ed957fa3092fdb3f85069eb10c5594a6e952d96bd7a3eb9480d4e4a1234c1ef8b0a0e3ab2bed4e56f4970954d60ccd30b1ddbea6904f1ab65132c kcalc-19.04.0.tar.xz" +sha512sums="8c1868a571ea7fb77a5249d9154c32968974345ec1c8eadb233e5cf436110299baeda39d580ff12c958061188c96a49e899407c35008b476cd0395427566fe1c kcalc-19.04.1.tar.xz" diff --git a/user/kcharselect/APKBUILD b/user/kcharselect/APKBUILD index bb475c212..fac8e4c48 100644 --- a/user/kcharselect/APKBUILD +++ b/user/kcharselect/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kcharselect -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Tool to select special characters from all installed fonts" url="https://utils.kde.org/projects/kcharselect/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="44f22ee2a0f9a1b0fb5b277fda467ec05612ca51b874ab233cde46e6acd6c3bcef3f3e48f0e648e7687c23ce6975d43b160d7274d86c176ab1a018ad05d21d90 kcharselect-19.04.0.tar.xz" +sha512sums="9891af9994e1aa1778e1bcde117249c0a82d42b08a6135a1d55151473e20ee886856c0cd8b824eab59bfa9f233178d15d6ca2a850c144af518c9e2f8a23a9dd9 kcharselect-19.04.1.tar.xz" diff --git a/user/kcolorchooser/APKBUILD b/user/kcolorchooser/APKBUILD index 703731ea1..339fde904 100644 --- a/user/kcolorchooser/APKBUILD +++ b/user/kcolorchooser/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kcolorchooser -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple application to choose a colour from the screen" url="https://www.kde.org/applications/graphics/kcolorchooser/" @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e78923102c7d1b737de03108ffd74324cd5e653cd760c11b9f34bb41daccb2867f4bd64d8a2cc80363ddd359a79d2c5e93991fa943d8fb651b6a40c0c991b82d kcolorchooser-19.04.0.tar.xz" +sha512sums="fe7d4408e1a40e71bd1c16646835f20be9ba21b96574a5b4e1dcbdf348f20ba9862db08fa2b08dd749956758057cc0b232b170d6a42c9db93a81a32d05bba2cb kcolorchooser-19.04.1.tar.xz" diff --git a/user/kde-education/APKBUILD b/user/kde-education/APKBUILD index c0b27cc8c..40793406e 100644 --- a/user/kde-education/APKBUILD +++ b/user/kde-education/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-education -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Educational software from the KDE Software Collection" url="https://www.kde.org/applications/education/" diff --git a/user/kde-games/APKBUILD b/user/kde-games/APKBUILD index af1dbc524..df6d7f2ac 100644 --- a/user/kde-games/APKBUILD +++ b/user/kde-games/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-games -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="The KDE games collection" url="https://www.kde.org/applications/games/" diff --git a/user/kde-graphics/APKBUILD b/user/kde-graphics/APKBUILD index ce02896ba..c697be041 100644 --- a/user/kde-graphics/APKBUILD +++ b/user/kde-graphics/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-graphics -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Graphics software from the KDE Software Collection" url="https://www.kde.org/applications/graphics/" diff --git a/user/kde-multimedia/APKBUILD b/user/kde-multimedia/APKBUILD index b0243b827..8b12cd235 100644 --- a/user/kde-multimedia/APKBUILD +++ b/user/kde-multimedia/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-multimedia -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Multimedia software from the KDE Software Collection" url="https://www.kde.org/applications/multimedia/" diff --git a/user/kde-system/APKBUILD b/user/kde-system/APKBUILD index 0cdea4ab0..974bb3456 100644 --- a/user/kde-system/APKBUILD +++ b/user/kde-system/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-system -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="System utiltiies from the KDE Software Collection" url="https://www.kde.org/applications/system/" diff --git a/user/kde-utilities/APKBUILD b/user/kde-utilities/APKBUILD index 4664b2b9c..20afd6ae9 100644 --- a/user/kde-utilities/APKBUILD +++ b/user/kde-utilities/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-utilities -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Desktop utiltiies from the KDE Software Collection" url="https://www.kde.org/applications/utilities/" diff --git a/user/kdegraphics-thumbnailers/APKBUILD b/user/kdegraphics-thumbnailers/APKBUILD index 492eb3313..f075a90f6 100644 --- a/user/kdegraphics-thumbnailers/APKBUILD +++ b/user/kdegraphics-thumbnailers/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdegraphics-thumbnailers -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE thumbnailing sofware" url="https://www.KDE.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a41e9bab2ced645855aefcba5a8c9b73b9405941ca5059edcf830c96eca2cd9eb167ce4c6f9cf53e378e6b784d6bcbe6a7065d6f1b3deebcc4e660c9452aa4e5 kdegraphics-thumbnailers-19.04.0.tar.xz" +sha512sums="14471feb579f63a29e5241c56cbe6f10fbd880669544db0356ed2c2ce7d9342ddf79c584ee8cd03debafa03f5c3afe79c7b7d977df36f8fea9a9276a3b818cc0 kdegraphics-thumbnailers-19.04.1.tar.xz" diff --git a/user/kdenlive/APKBUILD b/user/kdenlive/APKBUILD index 25c92d9ad..48f03b4c1 100644 --- a/user/kdenlive/APKBUILD +++ b/user/kdenlive/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdenlive -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Libre video editor" url="https://kdenlive.org/" @@ -48,4 +48,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4b3d203fcbcc83130f68f27d960b2d0b77b312edbb8654fa2df4d44d66ac0273389463f153012e72da09988559168e86b5b0a9a13ad0857969a561c76e5ac5e0 kdenlive-19.04.0.tar.xz" +sha512sums="f2f488928c3f3279021fbe2762f48e8cf52e8f30fe47d5ef50cfceac28fe7b8535d27be18679cde37f6dac281ec2cd1a2cf0d371b79088413b2195d9b32ed70d kdenlive-19.04.1.tar.xz" diff --git a/user/kdf/APKBUILD b/user/kdf/APKBUILD index 93c075bb6..f9c4ae905 100644 --- a/user/kdf/APKBUILD +++ b/user/kdf/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdf -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="View disk usage information" url="https://utils.kde.org/projects/kdf/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fbb72fa7d4ed54975e823b86ff9167bd43fc2211b558199a606debe8a53ac6c486ad9b68c3a46e75c7ea0efcd6045af58a456376e9d34ad20b189a536e8584a8 kdf-19.04.0.tar.xz" +sha512sums="e95d0cff0b09630fc4e892613115157231b0355ecc0762cd9b7e97c491144f17a71008b229144321acae5cc9af4f5bd3eebd20f01cfe4bd088096262eadc8326 kdf-19.04.1.tar.xz" diff --git a/user/kdiamond/APKBUILD b/user/kdiamond/APKBUILD index e5e79f1c4..cba44dcc0 100644 --- a/user/kdiamond/APKBUILD +++ b/user/kdiamond/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdiamond -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Three-in-a-row game" url="https://games.kde.org/game.php?game=kdiamond" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2e49c9776c2f44cea9c91926efe4f2e0c77c8fcc0c34ff93cd9fdc99f48d9b38b198fe8f8d705b1bd0a0d936b7391387b1f1ed324b9f7d823d35bff4d5412619 kdiamond-19.04.0.tar.xz" +sha512sums="9fa48d2c67218469870301607166cce0f4dcbef6193703de705e6b324626d09d43ddf037c6676eb682b66fdd12254f9d87d1bb39b90975f4375723e249862955 kdiamond-19.04.1.tar.xz" diff --git a/user/kfind/APKBUILD b/user/kfind/APKBUILD index 9431d96e7..c1e0e971d 100644 --- a/user/kfind/APKBUILD +++ b/user/kfind/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kfind -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Standalone search utility for KDE" url="https://www.kde.org/applications/utilities/kfind/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="12d3c5cb09f883cf0f5c17e315380a7359dc3aabe1018ab66b24bb06a1199c9864404585d336f0dde3b5dd00f467c5f7571b61dc6350dcadc9b9dfbf0da4f6d7 kfind-19.04.0.tar.xz" +sha512sums="2705fa4e64e547b5482399b5433ebc619036c3cd77dc86a78365580e89cc2a77334d81674d9790d92df3446724d680cedd03bf1e303525c4a3c51b46dc897496 kfind-19.04.1.tar.xz" diff --git a/user/kfloppy/APKBUILD b/user/kfloppy/APKBUILD index 9142d0441..3ab0ce591 100644 --- a/user/kfloppy/APKBUILD +++ b/user/kfloppy/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kfloppy -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Utility for formatting floppy diskettes" url="https://utils.kde.org/projects/kfloppy/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="70ce945aa3bc7fa34b326a2167aa80195b5e3ecb3d5b488ddcfe29a3cf59290dedcbf3b2e74b368ef67a416bdfc7a5ba680f390683352b3f8e4b7c6f90cfceb5 kfloppy-19.04.0.tar.xz" +sha512sums="74dc83786c4e6190fa80b4d4f87568ed5bbcbcb5731bf13fe2cc91605fabcfaf24cf1061006b7d6efaa2a621332e69071426ad0486c6cc8bfa9543c0c84c2da5 kfloppy-19.04.1.tar.xz" diff --git a/user/kfourinline/APKBUILD b/user/kfourinline/APKBUILD index 7dea7948c..5edac7fff 100644 --- a/user/kfourinline/APKBUILD +++ b/user/kfourinline/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kfourinline -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Two player board game based on Connect Four" url="https://games.kde.org/game.php?game=kfourinline" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="79f519af67b7f76e20ad1feeb65acbd32c7f3ae6035b073489a88ce882a0e6d73233ad23ef2b5da1e961efb94505f01025107f1f6aea3879db91abe7878a0212 kfourinline-19.04.0.tar.xz" +sha512sums="83d8893cea2a8eeb9202e04b14dfb0c83c75738346c86c3d01381740b8c59ee4063ebc08b9250cb2c4c486ca9d2bb9a71c29f671dffbb91ac5db21b2fa429329 kfourinline-19.04.1.tar.xz" diff --git a/user/kgeography/APKBUILD b/user/kgeography/APKBUILD index 04753d405..b06b2bb3c 100644 --- a/user/kgeography/APKBUILD +++ b/user/kgeography/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kgeography -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Geography learning tool and trainer" url="https://www.kde.org/applications/education/kgeography/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e94f674b761123bbdec8ba4412dcdd0bec6b59c0ced54eddc4eb45dacd23e5f47d5b38d0fd88ea1aad2d13c9bf35347b38025034b769773d7b4970639a81466e kgeography-19.04.0.tar.xz" +sha512sums="c20a195bfbc4b1942ae8ee1c4491601000b319dd3380d44f4dac09fb2e4e5e90f465b2cd2fc78fcaaea94f3997be5bfb7d7a8f1490b746a405d9e1db7cc290fe kgeography-19.04.1.tar.xz" diff --git a/user/kget/APKBUILD b/user/kget/APKBUILD index c7dcd8aa8..ac7b2690f 100644 --- a/user/kget/APKBUILD +++ b/user/kget/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kget -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Versatile download manager" url="https://www.kde.org/applications/internet/kget/" @@ -43,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="80f0f9ff280b9523883b9602965769268256174e10d6a4a956dab32b6a68d8b34931c34e3f65ecb0571f06b45302f8b56667d307095b5df884496f862d75dbb3 kget-19.04.0.tar.xz" +sha512sums="3d68276adc130ee2d67d23ebb99669824f2ed6f2bf415f056a057dadcd1a010c2d74b096fb25894ffdef07bca6051b5c17988c57e0f337d3460d952d96d86071 kget-19.04.1.tar.xz" diff --git a/user/kgoldrunner/APKBUILD b/user/kgoldrunner/APKBUILD index 10f6eef3d..89746638f 100644 --- a/user/kgoldrunner/APKBUILD +++ b/user/kgoldrunner/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kgoldrunner -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Puzzle game with a gold hunt, dodging enemies, and digging around" url="https://games.kde.org/game.php?game=kgoldrunner" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="13e8d0e1c4617be4ffcdbf2e4b26b2cdef07cb1394feab707f7cba873ab1b83a7fd8bacd96d0fd624fa1305bae56f8fb028f2e9e40a4b02b34f1997bd3e99a52 kgoldrunner-19.04.0.tar.xz" +sha512sums="fdfdec27c9325811ae459f6de9125a7830c9a4bea7aacda655908cb01dbdd444df84f8ef2f8f2e394b55b356950c3a8a343c51f0340fc112683d39ce6e1fe515 kgoldrunner-19.04.1.tar.xz" diff --git a/user/kgpg/APKBUILD b/user/kgpg/APKBUILD index a3548febb..92b4e6e37 100644 --- a/user/kgpg/APKBUILD +++ b/user/kgpg/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kgpg -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple interface for GnuPG, a powerful encryption utility" url="https://utils.kde.org/projects/kgpg/" @@ -43,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="480fcdd77f6b2f22184848a093b711eaf9c3e1414c3740118312aa763a226441ad4bab3c1280f785e6108e548bfd39228713f36ef3b0e6a49dfc9a3dd9d00921 kgpg-19.04.0.tar.xz" +sha512sums="ff0d3dcb32d6b81fedfa2ecaef6c9df738ba8b584552649f2b5fe1fe88ad3ab04be173b7dbaa388c5997a53e6665c9622f9c91aec298f71b207538a9f43cb3ff kgpg-19.04.1.tar.xz" diff --git a/user/khangman/APKBUILD b/user/khangman/APKBUILD index 8932af8b3..4c2563e5e 100644 --- a/user/khangman/APKBUILD +++ b/user/khangman/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=khangman -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Hangman word game" url="https://www.kde.org/applications/education/khangman/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="25fe701765143acb98448988f31f8de6c2ec23eee1e101423c79f4c01e47852d8a3601fad3e4e4cca8d6995fbf9d952c9feeed4f85115157382f21f1fb25b2d4 khangman-19.04.0.tar.xz" +sha512sums="fd61cc6cd6249c1fb007ffd72d9305d5d4d5f5b4c4fa27b25550f67ee804289724e5edcb8fd6f40db347e1ac0f34c0f90ae9572c3e7d826dfa48228cd57de60e khangman-19.04.1.tar.xz" diff --git a/user/khelpcenter/APKBUILD b/user/khelpcenter/APKBUILD index 62f910832..6815ae3fa 100644 --- a/user/khelpcenter/APKBUILD +++ b/user/khelpcenter/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=khelpcenter -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Graphical documentation viewer" url="https://www.kde.org/applications/system/khelpcenter/" @@ -14,7 +14,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev karchive-dev kconfig-dev xapian-core-dev libxml2-dev" subpackages="$pkgname-doc $pkgname-lang" install_if="plasma-desktop docs" -source="https://download.kde.org/stable/applications/$pkgver/src/khelpcenter-$pkgver.tar.xz" +source="https://download.kde.org/stable/applications/$pkgver/src/khelpcenter-$pkgver.tar.xz + es-doc-fix.patch + " build() { cd "$builddir" @@ -42,4 +44,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="75947d5e2e13fd8d9a1f3b1dd6bf0c63e0e695de7a09be07bfff1f40c6a3a475eccde2e3ee53b7b29bcf01cd2b8f409fc6294f65a617f1b0cafad999c2636984 khelpcenter-19.04.0.tar.xz" +sha512sums="c42206554beff891c51c8dbe73baf722e1e571e1166916dad36c37573c09a5696c06b711748dd863782c43d507c2f6103d1aea122e5ef33fd59972c0d4e8503b khelpcenter-19.04.1.tar.xz +4d7e286b7130547d7f26e11a0e5a40d20530e08cf657ff24d31cbc7b110628f564e513e5922a5cffc82d0830731ab03b07820884542292b3c03c7519617a20a3 es-doc-fix.patch" diff --git a/user/khelpcenter/es-doc-fix.patch b/user/khelpcenter/es-doc-fix.patch new file mode 100644 index 000000000..c9f7ed11f --- /dev/null +++ b/user/khelpcenter/es-doc-fix.patch @@ -0,0 +1,31 @@ +--- khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook.old 2019-05-07 00:10:08.000000000 +0000 ++++ khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook 2019-05-13 06:10:14.989405563 +0000 +@@ -136,7 +136,7 @@ + >Instalación</title> + + <para +->&khelpcenter; forma parte de las &applications;. Se puede encontrar en el <ulink url="https://download.kde.org/" ++>&khelpcenter; forma parte de las applications. Se puede encontrar en el <ulink url="https://download.kde.org/" + >sitio de descarga</ulink + > del proyecto &kde; o en el paquete &khelpcenter; de su sistema operativo. </para> + +@@ -347,7 +347,7 @@ + ></term> + <listitem> + <para +->Los «Aspectos básicos» le presentan una introducción de las numerosas características de &plasma-workspaces; y de las &applications; y describe muchas tareas comunes que puede realizar en todas las &applications;. </para> ++>Los «Aspectos básicos» le presentan una introducción de las numerosas características de Plasma Workspaces y de las applications y describe muchas tareas comunes que puede realizar en todas las applications. </para> + </listitem> + </varlistentry> + +--- khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook.old 2019-05-07 00:10:08.000000000 +0000 ++++ khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook 2019-05-13 06:13:20.309243557 +0000 +@@ -114,7 +114,7 @@ + > </term> + <listitem> + <para +->Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y &applications;.</para> ++>Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y applications.</para> + </listitem> + </varlistentry> + </variablelist> diff --git a/user/kig/APKBUILD b/user/kig/APKBUILD index 0b38d05be..47c614a49 100644 --- a/user/kig/APKBUILD +++ b/user/kig/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kig -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Interactive geometry learning and exploration tool" url=" https://www.kde.org/applications/education/kig/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8b4ce8ad095ac7a0bac603adb77bf9fdd7312027579889d20228d4df751d8cd982a04b41b8ede75509e3e731601e2bbdc8d9416461cf70b122b9f926431c35c9 kig-19.04.0.tar.xz" +sha512sums="13961e15098f4ef285fc00e53b9e48475bb24c5c04ce44447aaba2fffde177d8ef113f76bf23d1bb0e0ecc7fc433891c864492c2449eddc8da4375f3d10719ed kig-19.04.1.tar.xz" diff --git a/user/kigo/APKBUILD b/user/kigo/APKBUILD index 80d183091..f15271b3c 100644 --- a/user/kigo/APKBUILD +++ b/user/kigo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kigo -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Go or Igo game for KDE" url="https://www.kde.org/applications/games/kigo/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="725312eac361a1d15ad0f4ae68d63d526bf33700858dab72229c55c4ab6e79d4b2efae7a2271c2db0b21a8bc8a7099307592e72b232099ca3ecaa104a4b3eb4a kigo-19.04.0.tar.xz" +sha512sums="a3f6eb361798f5d74ed939e4ca8426d89718bce93290b46d5c7d4d754829f1ff36a9771f610d9c4166613c35847599f8da1c32b30e0988ca4619659e75716d82 kigo-19.04.1.tar.xz" diff --git a/user/killbots/APKBUILD b/user/killbots/APKBUILD index 93b0349c3..8f94ec20c 100644 --- a/user/killbots/APKBUILD +++ b/user/killbots/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=killbots -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple game of evading killer robots" url="https://www.kde.org/applications/games/killbots/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="84d28d41e910b8bad8742db74983622c2caaa59579a09ef85000f71f35b2a69cf47e0e28b1c362681d38caee4f33b41f32678706fba0e286e3182d8c54e12e62 killbots-19.04.0.tar.xz" +sha512sums="307c0da4026f6c689959e5e603794401d389a21882656b438197c58c44849a2ba91617e23edc4a8ad76fca0905b0df9bc54649aae22abff50b14b5936184bb21 killbots-19.04.1.tar.xz" diff --git a/user/kio-extras/APKBUILD b/user/kio-extras/APKBUILD index 737947149..766c3d8ed 100644 --- a/user/kio-extras/APKBUILD +++ b/user/kio-extras/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kio-extras -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KIO plugins for various data tasks" url="https://www.kde.org/" @@ -44,4 +44,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7323620620910f05c1b05c52058b021175541849bb503929ad389ecf358d01c72531a92822f41f2b95bf752d7624d2f30a87e2b4557f55e1107ff71ca89d9885 kio-extras-19.04.0.tar.xz" +sha512sums="a95247aa3174e6f9d153282c19519e13e9209793010d9b48109206a8d7a4db80086518ccbf0b442fc37715c1b4d10888e4a812082b5de998b4390d62aab472c3 kio-extras-19.04.1.tar.xz" diff --git a/user/kiriki/APKBUILD b/user/kiriki/APKBUILD index 2f2e893f6..fbd93527e 100644 --- a/user/kiriki/APKBUILD +++ b/user/kiriki/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kiriki -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Yahtzee-like dice game for one or more players" url="https://games.kde.org/game.php?game=kiriki" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a4b9068d605c41ccd1ecb3c2fe8dde85ae5f6df31279b88ba74b8b27df1e83117fcded97ea9a35287caeab7076195191109409d7f1bbe1f26bc19b292ec3a4af kiriki-19.04.0.tar.xz" +sha512sums="f561539cdc87a28cba80b99ec40734556dadb872fa5862311a41ad6749691bfa5806842dddd71af47ba9f5050c32359a173408c0225d55d6e0f10b96f26d8741 kiriki-19.04.1.tar.xz" diff --git a/user/kiten/APKBUILD b/user/kiten/APKBUILD index 6698e3fd8..7a6973567 100644 --- a/user/kiten/APKBUILD +++ b/user/kiten/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kiten -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Japanese reference and study tool" url="https://www.kde.org/applications/education/kiten/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ea68b0de0a47ff598f61c4a109a4839c66daf87e72506d505926fb237f442a0a0646abfcee9161b073889afc0084710326e0b2643541959147369ca758c2a079 kiten-19.04.0.tar.xz" +sha512sums="3ce4f1d40ac7eaaa93364d8a809e7aa117c0d8be2507005e50f0fefdcbc5f57c10769a619508b1f3fbcee9710623fe7576307dff67c8d53ad67d0855e74e6e5e kiten-19.04.1.tar.xz" diff --git a/user/kjumpingcube/APKBUILD b/user/kjumpingcube/APKBUILD index 109e5fbc4..70c54ee87 100644 --- a/user/kjumpingcube/APKBUILD +++ b/user/kjumpingcube/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kjumpingcube -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Dice-driven tactical game" url="https://games.kde.org/game.php?game=kjumpingcube" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="559cef9c6645621431201b48367cc7cef262a62c325ca1db733781caf21b320bb36ee5483e4d0194dcbc960ae157a3641be3eb19628d2cd9471b642601494010 kjumpingcube-19.04.0.tar.xz" +sha512sums="22168b89cfc2a099365df0ab791e5c39a4cfff09ef3a1a074a480d3e60f25139a76d99d3a684380f637fbe59401a8ff476204a72d221c283cd593d47719dc0f0 kjumpingcube-19.04.1.tar.xz" diff --git a/user/kleopatra/APKBUILD b/user/kleopatra/APKBUILD index b8a46881b..60ff7de3e 100644 --- a/user/kleopatra/APKBUILD +++ b/user/kleopatra/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kleopatra -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Certificate manager and cryptography GUI" url="https://www.kde.org/applications/utilities/kleopatra/" @@ -42,5 +42,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c0751d81740b6c590dc1a7e370f99fa09d616b2b9282a862242b2b5235690a4bc36044d08125fbe789ac5470f1aca1525c87752ec40e76c229d37b0eea9cf428 kleopatra-19.04.0.tar.xz -27f03d36e0fdf8f05f59bd3269abc9c60f7f368821a2d6545dd369b046fac4bcb5f9c59a2f50a9d6b3f58d97e767d3596517ed7ed2d72847b68276d60723eb4f qt5.9.patch" +sha512sums="8f8c289ede3e13397f4e5ee06d96d1e5a99737c5e30089297fb8294ee73c0934937bc78d24c89681f21ea6e7cf166cb8a8d314e0631d2f2d2188ce247abd28ea kleopatra-19.04.1.tar.xz +52cdace52d00932c8372f3abf03d24ba1d4d5650327aaf41871714d13cd92c9297a98e35901c80ca3495f3014450a7513948ccb83be032c1c8e81042e67431f2 qt5.9.patch" diff --git a/user/kleopatra/qt5.9.patch b/user/kleopatra/qt5.9.patch index afda4936c..22d54f3b3 100644 --- a/user/kleopatra/qt5.9.patch +++ b/user/kleopatra/qt5.9.patch @@ -67,8 +67,8 @@ cgit v1.1 # Standalone build. Find / include everything necessary. -set(KF5_MIN_VERSION "5.56.0") +set(KF5_MIN_VERSION "5.54.0") - set(KMIME_VERSION "5.11.0") - set(LIBKLEO_VERSION "5.11.0") + set(KMIME_VERSION "5.11.1") + set(LIBKLEO_VERSION "5.11.1") -set(QT_REQUIRED_VERSION "5.10.0") +set(QT_REQUIRED_VERSION "5.9.0") set(GPGME_REQUIRED_VERSION "1.8.0") diff --git a/user/klettres/APKBUILD b/user/klettres/APKBUILD index bedd33d30..a8baf4512 100644 --- a/user/klettres/APKBUILD +++ b/user/klettres/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=klettres -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Learn alphabets for multiple languages" url="https://www.kde.org/applications/education/klettres/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6e9f3e5a60ffe2e5e0939e83c3b58aba2b99ca89c01e73f59c8c19c82a740e663c1761bac635e1492ed0ed5e29a3d8423531fa678e8a0fa04e2df4849629ea71 klettres-19.04.0.tar.xz" +sha512sums="0a5f22b11586e171fddca45f6bcea5091882c9fdb0ba60dced530a0227682bbc149b852a04d7e6152b5cf27e00444fed73fb5ebf9f6b20f4e2c651924fcf0852 klettres-19.04.1.tar.xz" diff --git a/user/klickety/APKBUILD b/user/klickety/APKBUILD index 0c6dbd5c9..1c3ad8c2b 100644 --- a/user/klickety/APKBUILD +++ b/user/klickety/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=klickety -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Fun, simple colour matching game" url="https://www.kde.org/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a8fa007ec3a02e3a4157e8d96a0334489a7321c49769c3d85b7b45ccfd1c9cb39fc42b547b1fc8512cae0fce936a90ee622ed453edd81d31ba36ade1908bdee8 klickety-19.04.0.tar.xz" +sha512sums="90ed290bfd575260d0bcabe0767458bd93bb5d998244d5c388de4d0402e37e54d68d93b98e7bf987a883113b6e147cc8b42789d4b77a4e1929ddd82f9217ddcc klickety-19.04.1.tar.xz" diff --git a/user/klines/APKBUILD b/user/klines/APKBUILD index 08fd79e73..7934486a9 100644 --- a/user/klines/APKBUILD +++ b/user/klines/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=klines -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple yet addictive single-player game" url="https://games.kde.org/game.php?game=klines" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="689c28049f11ae14a9a3703cb266bfdf3f19e62d1f32be54e8edf582a30d793b73dbd8cb51da3bdaa27e4902c552cbaa9df2fd6124e025ab39f1ab8a86fec24b klines-19.04.0.tar.xz" +sha512sums="05be2e5349969e833204c8603b92ce97f963c20b241587fda2b897a887408fec0b67cefc7b3a18b4a49adcd6b960ae38b6ae2c6a74c2139da6bfecc8d8008a62 klines-19.04.1.tar.xz" diff --git a/user/kmag/APKBUILD b/user/kmag/APKBUILD index 299f366d2..60b38f7c9 100644 --- a/user/kmag/APKBUILD +++ b/user/kmag/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmag -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Screen magnification utility" url="https://www.kde.org/applications/utilities/kmag/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="07c13bf724945d9c5fb68a8f78ea88b6aecd64d217bb46708b1352378aefc9d76ddc4f51c5e3e66c0000a4b7c867ef5d3620ad4a063f9bcc6172d474c7f6a0da kmag-19.04.0.tar.xz" +sha512sums="85963a1546764c76b10851c3f329475bc6246e04698193109cb99667ca51534c2990cd609432b5b333af87ee0f6812c25c930b526bf6f4b3788fa88f8c48d21e kmag-19.04.1.tar.xz" diff --git a/user/kmahjongg/APKBUILD b/user/kmahjongg/APKBUILD index 598ac8e47..82ee75dbd 100644 --- a/user/kmahjongg/APKBUILD +++ b/user/kmahjongg/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmahjongg -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Mah Jongg desktop game" url="https://games.kde.org/game.php?game=kmahjongg" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ace4e0a279605fae0f22dcf1bdeadfca5d507910afb44b5df482d79b19680f0928fdc56bf87e0b6914f080fddddee930296475b08fc45adde957d080ca78698b kmahjongg-19.04.0.tar.xz" +sha512sums="21efa9ab4ea1dd5480eade7bc9712e7c91abe065fc5ba5912f98e642a9e82f6581ce3ce95b0d6cf1dbc6d488adff2113f6188a65288ec5c13043b4616e1349a6 kmahjongg-19.04.1.tar.xz" diff --git a/user/kmime/APKBUILD b/user/kmime/APKBUILD index d637d87b3..529ed5a7e 100644 --- a/user/kmime/APKBUILD +++ b/user/kmime/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmime -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE support library for MIME" url="https://www.kde.org/" @@ -43,5 +43,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6bbc75d77d777edc084c8e1a81e198ed0a3959f1d4d332e442f298ced5a1d4d03613b6c397e9e0a96d81b0693b3e8dbfd0f011c54db0f053c207f16a16926c4e kmime-19.04.0.tar.xz +sha512sums="c70e8f176a879269e16095246a3dea52a2d437a6ab1a68e1785b96bd4c175095b41de8557900000839090a4881d8e51bf431c8aae35fb5008f7c76cec37254a3 kmime-19.04.1.tar.xz b5f04ab4f7ed60bde1eeb50141c5b51a4f285d7b125d834559419d56039c1d540a8d44f508801ae9ac2c6d91c3841d4e64c3856e2c5bfa33eb64175dc9b5c608 egregious-versions.patch" diff --git a/user/kmines/APKBUILD b/user/kmines/APKBUILD index 01b636dde..99f512bd0 100644 --- a/user/kmines/APKBUILD +++ b/user/kmines/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmines -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Classic Minesweeper game" url="https://games.kde.org/game.php?game=kmines" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e528ae607e709866ed6671ebf7766f187ce0fb1aea42d9b9544070993248a87a3cc78e6add1234ac23fc4aad83cb7ff591fe486eb2e0d577520dc9d367e7d0a7 kmines-19.04.0.tar.xz" +sha512sums="74d21df3f2ce2ac883b6e61a0f8c85c85b6cbd38ce3634581d0db2abf106f64693cc27013f0120946947c17d93790de2eaa319c361426e895168a29eaaf108fc kmines-19.04.1.tar.xz" diff --git a/user/kmix/APKBUILD b/user/kmix/APKBUILD index b2796db44..b8f161cb7 100644 --- a/user/kmix/APKBUILD +++ b/user/kmix/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmix -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE sound mixer" url="https://www.kde.org/applications/multimedia/kmix/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d2437c946de2f90abfd4f16f20ed1956358e38384d32d021272d7ff92dc47bd80a742cdca4a9ff60cfa1d155a551183eaf13dbb4568dc1691462d53e7c65415c kmix-19.04.0.tar.xz" +sha512sums="fc979608fbd4f95717b19ff09c2b7e2d55e6a29570934fbc6b56a9b9a9e70f3cb2719fdbd6230bed16de28085304ba3b6d035f62fc28c3b0275edd095e0199a1 kmix-19.04.1.tar.xz" diff --git a/user/kmousetool/APKBUILD b/user/kmousetool/APKBUILD index cc2339b09..28fbe17b0 100644 --- a/user/kmousetool/APKBUILD +++ b/user/kmousetool/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmousetool -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Tool to assist with clicking the mouse button" url="https://userbase.kde.org/KMouseTool" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="798c5504a64287738e9b39a55abb350b3136a0d02619d4ccea1a5a44b91a50e4a05b4999e800c58d6e6be6f0fda8ac22f0ac13c49908a75817dc0b4431804aa3 kmousetool-19.04.0.tar.xz" +sha512sums="9c618755da01a2596a16bf62569f202c699a296a394a75adcfd246e2655809d8c56ee1302ddf92066fea77d962a2ffc76c0d5b3d28f5e59f1217d68cfa482f9d kmousetool-19.04.1.tar.xz" diff --git a/user/kmplot/APKBUILD b/user/kmplot/APKBUILD index 2b9cf1228..cbd2dd4aa 100644 --- a/user/kmplot/APKBUILD +++ b/user/kmplot/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmplot -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Mathematical function plotter" url="https://www.kde.org/applications/education/kmplot/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="25511a256eb68f00580ba015cdcde30c024965b2f86980e4faad9b273d9084baa77184c400980923cfe613467058466e4cfe3c3aab086a5cfbc8b4845b4cfa81 kmplot-19.04.0.tar.xz" +sha512sums="95a817918eb9386f8eec91c3bab0604ac38a394e905282f0f50a1254b889be2d559f4902ba3f56ea10246d31c2c99a37a4e8b7cb9a8707c363dfa16749c1af1c kmplot-19.04.1.tar.xz" diff --git a/user/knavalbattle/APKBUILD b/user/knavalbattle/APKBUILD index 48ad1c93b..f182df0b2 100644 --- a/user/knavalbattle/APKBUILD +++ b/user/knavalbattle/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=knavalbattle -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Ship sinking game from KDE" url="https://www.kde.org/applications/games/knavalbattle/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1aeb990aee87535143217742e7b29821f6f79b1916bdfcad9e6a7cfe68be0f6ee936699c29cf8ac826edd168fe3c9e52b48617e07f8fd82568fb36203be1ea63 knavalbattle-19.04.0.tar.xz" +sha512sums="a7d7749bbfefd7b3a32e4cffb1d7040d2f9b023d36696a82a4cb1b3686a212ae3317894918e00afbf85d43de05c46c3ffdfa8e02c11fad6980933b7f578a63d0 knavalbattle-19.04.1.tar.xz" diff --git a/user/knetwalk/APKBUILD b/user/knetwalk/APKBUILD index b1003d32d..b318a2c7e 100644 --- a/user/knetwalk/APKBUILD +++ b/user/knetwalk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=knetwalk -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Build up a computer network by placing the wires correctly" url="https://www.kde.org/applications/games/knetwalk/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="729e7c41c1c9abbc8217c777b5660634831b3ec778e897f0ba90dd11450c18f6dda4fc4290756d46f826c7d94f6987adbe6b0ba65cea8419d8c8dfabf70883df knetwalk-19.04.0.tar.xz" +sha512sums="006c76b9996ff74d9fdaace9e72426619198e74823f07f1433f1aaf1a91669b3ad9040709f97a51f2b65503fe6fc886ac705e60a3a9d4e9e9b8ae837025d6246 knetwalk-19.04.1.tar.xz" diff --git a/user/kolf/APKBUILD b/user/kolf/APKBUILD index 5386291a8..28b73c18e 100644 --- a/user/kolf/APKBUILD +++ b/user/kolf/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kolf -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="2D miniature golf game from KDE" url="https://www.kde.org/applications/games/kolf/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d1a521a026b396228178ef69a76fb754d6ec8eca33af65445d25e7539e10f3ccc017887b4adb89734739438e21571a3135c2891013e0e2b1e01ab76816874409 kolf-19.04.0.tar.xz" +sha512sums="f8f1360ccc4d9623b8ac325333682125414150daf007376010b82e0dc35347fbb2a745fb45449a241f51b7426f386dd2deb9342f1663534685df134300a10ad5 kolf-19.04.1.tar.xz" diff --git a/user/kollision/APKBUILD b/user/kollision/APKBUILD index 8471c8684..7e3bddbd5 100644 --- a/user/kollision/APKBUILD +++ b/user/kollision/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kollision -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple ball dodging game" url="https://games.kde.org/game.php?game=kollision" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="95ef13a9d128a9b23bd6f48d60a794957e33e360c194d67f9874aeeb290df291130911fa148f2eb445de9fd8510f6a4755ad2072e825465389e7c11238b7f921 kollision-19.04.0.tar.xz" +sha512sums="9af5989dec26aebfb0785ef81ab61e033fcee458c591bb2e73fd6d53acf387e79934422a6aab8e002ae6ffe452c228453fdb127509330986be6ae14e8a66d62c kollision-19.04.1.tar.xz" diff --git a/user/kolourpaint/APKBUILD b/user/kolourpaint/APKBUILD index e54cb11b4..3beedfa4a 100644 --- a/user/kolourpaint/APKBUILD +++ b/user/kolourpaint/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kolourpaint -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple painting program for KDE" url="http://kolourpaint.org/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e0bc3084c1f39196c10344e4a941e55783fde14a4832aa65e59e32d09e33d96cfe9904e6c24adb75d3297eaedf387ec8f77c6edcdd93de4664c26be33e514931 kolourpaint-19.04.0.tar.xz" +sha512sums="2154a250683744cd566b3835b68d5f4d16c6b2b7ac747d1bd8fd1de41ebee64c5c972a799d06e1b88768d789393d7f7509428584b29d78923e2275a92de56b9f kolourpaint-19.04.1.tar.xz" diff --git a/user/konquest/APKBUILD b/user/konquest/APKBUILD index cfd9c780f..5027353ad 100644 --- a/user/konquest/APKBUILD +++ b/user/konquest/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=konquest -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Galactic strategy game" url="https://games.kde.org/game.php?game=konquest" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d6634679188e1960278fc82aa94206ea12a644d1f907b69459ab116a745149e9298c561c69b156a0d9ee655770a2b91a3f84f365526580fbeead43d83cc4e0c7 konquest-19.04.0.tar.xz" +sha512sums="3656894ecad9ed015b2abe2eaa4c859e2af6c67dde5503a06043c66c0efcb0677564d82168e8692bfa523d6a92fb40eb72a02af94d82863d0673353d20d3d144 konquest-19.04.1.tar.xz" diff --git a/user/konsole/APKBUILD b/user/konsole/APKBUILD index bf4cc3c05..4262edda8 100644 --- a/user/konsole/APKBUILD +++ b/user/konsole/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=konsole -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Terminal emulator for Qt/KDE" url="https://konsole.kde.org/" @@ -44,4 +44,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="15ebe4031f362663343ede3ccffc13172ea9f6a5ed34deb9c6ddb81524c10c872ef14ed5941e3ed3b7e340dc19f92e2ec579291ef40eede97ec5ef85b21d4d0e konsole-19.04.0.tar.xz" +sha512sums="db1452dd7c9254a13d2585f70f8b9cb1d481ab01207437dc1597fe0187e20bea5692ae09f0b48e5958c1fe987f39b53791299e068539ad31536787b82673dba1 konsole-19.04.1.tar.xz" diff --git a/user/kpat/APKBUILD b/user/kpat/APKBUILD index 5c5e3b9c5..6b177b3b5 100644 --- a/user/kpat/APKBUILD +++ b/user/kpat/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kpat -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Collection of card games for KDE" url="https://games.kde.org/game.php?game=kpat" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="63b59448d209dbf06f6d62bd261f57e63f9f46875a5e81b42715d9abc4c27309f115e9eb7877f147e8af571e7660a99d929da1e90f29dd83034daf8012ce6318 kpat-19.04.0.tar.xz" +sha512sums="2362920a4ddec7ddccb3de58bd1d3e4f424e844bc7c6aa4c16465b64d94967f0adfe903e2845cb61c5afbad5fd52c5f755f529c9934b4a201c3beab6516b6de6 kpat-19.04.1.tar.xz" diff --git a/user/kpimtextedit/APKBUILD b/user/kpimtextedit/APKBUILD index ca7ae9c47..da85d2b76 100644 --- a/user/kpimtextedit/APKBUILD +++ b/user/kpimtextedit/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kpimtextedit -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Text editor for Personal Information Managers (PIMs)" url="https://pim.kde.org/" @@ -46,5 +46,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="dabddde9d7ee98927c10234ca9e6540c55417eabf930c66afaa8c88d5ab289bbadb20e2c0cf6334aa199a780bc6e54d1afa0ac981606c0b5316f992c06b67cb2 kpimtextedit-19.04.0.tar.xz +sha512sums="2eec73ef6a4fb546aa7ce6481c16f6a20d5b49d65ee9e3beab1d35169bab0e2b84bacdb7f00f38b691b86e906ad31bd1ed6a165075bb431c1f9fd9eb5023bc5e kpimtextedit-19.04.1.tar.xz 13f90299735e145142f969ffb6462b71c1cd85d5503c3902af924388042396526ff8b943229462e0ff7e5030393e5312dd67b8dfc66efec81f4f05ac15f86091 qt5.9.patch" diff --git a/user/krdc/APKBUILD b/user/krdc/APKBUILD index 63fa2077b..d770827cf 100644 --- a/user/krdc/APKBUILD +++ b/user/krdc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=krdc -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="View and control remote desktops (RDP and VNC)" url="https://www.kde.org/applications/internet/krdc/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2f612c15d187ef3e872aecff47096c977d5b4a62884840fd83b3eb54d60f50c96d5ab7c7d77375220a28c24bf5f36757a49f2c090430bd3f4e5e26d281660bbe krdc-19.04.0.tar.xz" +sha512sums="60e9541a9e8377da5248471160733a86ae1c6f49c7649470ec313475ef483314fb59e8967b2d30dbde2012d437a98a9db11b172e2052a58b65075920daf75b13 krdc-19.04.1.tar.xz" diff --git a/user/kreversi/APKBUILD b/user/kreversi/APKBUILD index 80ce3b2e5..a34522600 100644 --- a/user/kreversi/APKBUILD +++ b/user/kreversi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kreversi -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Reversi game" url="https://games.kde.org/game.php?game=kreversi" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="97708bcaa24e08ee1ec8f7b014c1ab9a472e10e73e0b55a83c0f34df04cdd9ca3ad2533d2e343afc90507096adcc295cf01d5ff481dea05de0d7bab12e56a08d kreversi-19.04.0.tar.xz" +sha512sums="1b42a1e96e06de6571687b5e76c800adda3d68f6ce8792b2d09bca7ae962d924e500ac4b436ebdb261bb9b62f37039acf6cc0f9451bb704d15b21b1bd5859fb3 kreversi-19.04.1.tar.xz" diff --git a/user/krfb/APKBUILD b/user/krfb/APKBUILD index 1c49601d0..6723365c3 100644 --- a/user/krfb/APKBUILD +++ b/user/krfb/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=krfb -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Share your screen with others for remote watching or assistance" url="https://www.kde.org/applications/system/krfb/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="328e557e353e9db0081e84ca179bfbedae697d5d28922dc8ae18b812105fb3ef048dd7a6d0e55c0ba46344ae9e16795564e7203ab08947ea85297b7935d062f4 krfb-19.04.0.tar.xz" +sha512sums="8e070299753b785e9c4cf36e4ba1ba80502825aae7f605f531316ca5ddc05a5c36f4027d09e77ae0930efdbf61b720eb8ebe2d56e805486ebb7b06ce80b72c85 krfb-19.04.1.tar.xz" diff --git a/user/kruler/APKBUILD b/user/kruler/APKBUILD index cc0cab917..6ce44f38c 100644 --- a/user/kruler/APKBUILD +++ b/user/kruler/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kruler -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Screen ruler" url="https://www.kde.org/applications/graphics/kruler/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c1917ef45236df739a5b12cbcf593973e4fe87aa86a20207a9d0e47c3aaa11186521fbd9492195e7653321abc025fcb59948cb4d9c5bb9e858a7c5e70dd38c50 kruler-19.04.0.tar.xz" +sha512sums="6ddbea90b6f75c6c5d3308b1e69d8ff3d28bba72cb4e35d0165c7b25926035febeffd671204abfdab6063bc810fa92d15bbddad82c46046a283819c44e43ed52 kruler-19.04.1.tar.xz" diff --git a/user/kshisen/APKBUILD b/user/kshisen/APKBUILD index 7580172fc..30988940e 100644 --- a/user/kshisen/APKBUILD +++ b/user/kshisen/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kshisen -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Mixture of Solitaire and Mah Jongg" url="https://games.kde.org/game.php?game=kshisen" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="35494b4ba69b3f2958212f321c77fd3fea9c8cac1e3e740ab70711489b2d65fbe3f2d08b1893a5286a3647678721eda8f2d333613fd6ad58815d5bd340f16f16 kshisen-19.04.0.tar.xz" +sha512sums="7789cdcc61dd2c0690a80e5154efe3ff432321185e60d598e982acd9a92cc36926447ed295c1560c56bb207c0387a7b203f2fb3f75b62798a45ea898a5fd54fb kshisen-19.04.1.tar.xz" diff --git a/user/ksirk/APKBUILD b/user/ksirk/APKBUILD index 55ee782b9..b88c01cb7 100644 --- a/user/ksirk/APKBUILD +++ b/user/ksirk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ksirk -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Strategy game from KDE" url="https://www.kde.org/applications/games/ksirk/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="84624e20f53b1de3b8aaf84a8df54a4c83a04618d2df3ab6b34cb8953962958ae7a8c9f9c54a7d99188220c5167bbc7ad699629f9576ecdba5872cc5b7663b61 ksirk-19.04.0.tar.xz" +sha512sums="4407c942202deac31a46dd0dd4797630829f4e334db6d3fb5bf1baa3a1616e2f67a492550c3cd77a9632a9a9b687eb7bdbcd90f2002acd73258ebdacd288035b ksirk-19.04.1.tar.xz" diff --git a/user/ksnakeduel/APKBUILD b/user/ksnakeduel/APKBUILD index 94751c1fb..dd99fe9a3 100644 --- a/user/ksnakeduel/APKBUILD +++ b/user/ksnakeduel/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ksnakeduel -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Tron-like game" url="https://www.kde.org/applications/games/ksnakeduel/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5b24913b0255e7d1c0c09d00acb523d2ae5c91b1396fed555f111548c71669477f8778386782f951c4ec6d6f01f0ec113b8f13e32e633791fb95bdf46777f089 ksnakeduel-19.04.0.tar.xz" +sha512sums="b4439eef6b90d6d998a4790fddb79ea01604a69d63c5a54f71d7a5295a6d487c6515864881cdd9aa8223151ceee80372677831aa3373d8f662e49dfde8623373 ksnakeduel-19.04.1.tar.xz" diff --git a/user/kspaceduel/APKBUILD b/user/kspaceduel/APKBUILD index 84204a6f2..1ddf579fa 100644 --- a/user/kspaceduel/APKBUILD +++ b/user/kspaceduel/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kspaceduel -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Space arcade game from KDE" url="https://www.kde.org/applications/games/kspaceduel/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5574dbeabf17abbb0e1f232a6f6e7f9f16106f88b8bc79af8b0ba4a323625d1fa70460faa0f2efe0046df76b6ffceac1d723a492a72cfbebde051dde1a7a8187 kspaceduel-19.04.0.tar.xz" +sha512sums="d5b5ccc168b6272d35ee8781a249a4aea5ca211e97f2b8cd2c71f2652caa9ebf41c9bd3c8bbbc716d0bb6b4d3f4c87cc2c609a2624ccc1cfc703f3e5315987d9 kspaceduel-19.04.1.tar.xz" diff --git a/user/ksquares/APKBUILD b/user/ksquares/APKBUILD index cb9d4ac0e..e6b4feade 100644 --- a/user/ksquares/APKBUILD +++ b/user/ksquares/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ksquares -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Fun and exciting game of Dots and Boxes" url="https://games.kde.org/game.php?game=ksquares" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="20b93e06b64062a3efe5985fbebd637a4f06ba1319ea0cc91c61a217966529fd74dfb47e7f2e441c888e872bfd8fecc809cd7838175fd0967db44adca5fa78ce ksquares-19.04.0.tar.xz" +sha512sums="0a799744caf34bca1aa4174b8160e0703db59aba4b50fee3b9e5938e22e171e94d28f1fed798f83387e1b9c35241417560e25cca4514708a4f9fae0a02bfbdd1 ksquares-19.04.1.tar.xz" diff --git a/user/ksudoku/APKBUILD b/user/ksudoku/APKBUILD index 52cb1c2f3..65074b490 100644 --- a/user/ksudoku/APKBUILD +++ b/user/ksudoku/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ksudoku -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Desktop Sudoku (symbol placement / logic) game" url="https://games.kde.org/game.php?game=ksudoku" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e07db466b1955efd897fea530796582ccf0ec9d42b637cbeb9da16951b1c0c861f0b23d7717b8d61da433affbf6bb9bc6904922cd94f3b852bf46e0212b459aa ksudoku-19.04.0.tar.xz" +sha512sums="bf53460e9ff82c9e36be1c454588c6b0347365b2d62fbf3aa908883361c80e7da67ad23105ff3443f2bb0dec695aa787c7a15a20c4c9abec564f1f7a7be7f48b ksudoku-19.04.1.tar.xz" diff --git a/user/ksystemlog/APKBUILD b/user/ksystemlog/APKBUILD index 293943d95..11fe36915 100644 --- a/user/ksystemlog/APKBUILD +++ b/user/ksystemlog/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ksystemlog -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Friendly, powerful system log viewer tool" url="https://www.kde.org/applications/system/ksystemlog/" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7989b15d3cc0b10a170954e382f64fe6acffea7d6adcabd5728c284b502ce5f0c77d78f0df647ce9497c953897d479dc7a1c03f955535b012d08af0d425cd16b ksystemlog-19.04.0.tar.xz" +sha512sums="6a30d655ca18f8249979e266fc6377ef69cf40b9c155e41cb4102e542ea1beabb5a647a23a37430bf010ff3b657887b58ed559f41f248fea76f47cea5146f295 ksystemlog-19.04.1.tar.xz" diff --git a/user/kteatime/APKBUILD b/user/kteatime/APKBUILD index 28c99e648..3f78cc184 100644 --- a/user/kteatime/APKBUILD +++ b/user/kteatime/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kteatime -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Steep responsibly" url="https://www.kde.org/applications/games/kteatime/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8aa9a1df61a383339d19a33d77c4cbd0475d81cf8f991258212784b6c11b9e7b3858c699831c81ce922753dd7e79053c1305252892a80f3c396049b246e8edd6 kteatime-19.04.0.tar.xz" +sha512sums="3afb59cf7fb5ba1273a49a69f4e587e0356055e992fec9115028769c9369cec77a9cf3648974c50e2d2c98ac587ec172f7fe03cfb423484ce0b28c226d4bda3b kteatime-19.04.1.tar.xz" diff --git a/user/ktimer/APKBUILD b/user/ktimer/APKBUILD index fce931054..3282df44f 100644 --- a/user/ktimer/APKBUILD +++ b/user/ktimer/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ktimer -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Tool to execute programs after some time" url="https://www.kde.org/applications/utilities/ktimer/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3e6221f99d4d1dfcbf23835160ce6a4a22b3f8f9981e2ac94df338ca3f3c6eccfee69f53c4f022f4f728ff110e43b0863ad3751bb06304fb7b2f07a83d9a56c5 ktimer-19.04.0.tar.xz" +sha512sums="a0d7fe8c12e827dfb7de201aa7dddfb594a18daed0f8a9fdf3eafa24db789a8a734df479e8fb22d160f089645e0bc34eb87d5d181d53863cae823f2de081d101 ktimer-19.04.1.tar.xz" diff --git a/user/ktouch/APKBUILD b/user/ktouch/APKBUILD index fa96b4eda..9810a7570 100644 --- a/user/ktouch/APKBUILD +++ b/user/ktouch/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ktouch -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Touch typing tutor" url="https://www.kde.org/applications/education/ktouch/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c2fd7a42efd5556edb26bec59158929998513be8c68d84c1f5db8ba91a6cc5b52aa639f5200ac159aa60714cf39a44386c33e5b113e331b1c86eed4dcde74319 ktouch-19.04.0.tar.xz" +sha512sums="82af8a4ff49643acc888bdaad5e1c8c3a7555dcb05e86f42216cc1350a28fa647714ad62f83ba244618ae2cc5b707847d9c36ca4e770fac8f5cb8cdcbf58c90b ktouch-19.04.1.tar.xz" diff --git a/user/ktuberling/APKBUILD b/user/ktuberling/APKBUILD index 40557e308..0ff92497a 100644 --- a/user/ktuberling/APKBUILD +++ b/user/ktuberling/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ktuberling -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Simple constructor game" url="https://games.kde.org/game.php?game=ktuberling" @@ -43,5 +43,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="69665dcda82f6ace6d46679529669db57fbafb41ef22a96c746813925622603f4cba2930cb951e80f99f731e966b29e274602c119df468c96f5590722a862947 ktuberling-19.04.0.tar.xz +sha512sums="c1f8183ccf7a8bf142e6989565b5bb59503078762f39e4879a7fbdc0fd21fa3913b42a2822d1bfcc5e450b3462f470203c21362193805bd88346f9cb43ed2925 ktuberling-19.04.1.tar.xz a8c723302d141ff74a10cc38245524d59a51d476159c2ac46a1694747ddcb078abc42cea80cf5a5d3910c96c0c90fb7dbf82786496f03b4438a23a736a784e76 frameworks.patch" diff --git a/user/kturtle/APKBUILD b/user/kturtle/APKBUILD index d6cec1873..3bba51e81 100644 --- a/user/kturtle/APKBUILD +++ b/user/kturtle/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kturtle -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Educational programming environment" url="https://www.kde.org/applications/education/kturtle/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b2679f60185e4a37eb332d66bb632eaf054f34bde958beeaed245bea90790ba318d945f260516c1162ac5cbf303e00f3ef20c662803bc9ffef7cdfb501217aee kturtle-19.04.0.tar.xz" +sha512sums="d6abd252aad1f8ffa462a493881b5aec8c4463e38a2a372404e7237070b1c1a4598366600247e7d61ab31f8bd042b9ebcbd07059b6e1af6595ac86762db48eff kturtle-19.04.1.tar.xz" diff --git a/user/kubrick/APKBUILD b/user/kubrick/APKBUILD index f4d9a2517..08bf1c032 100644 --- a/user/kubrick/APKBUILD +++ b/user/kubrick/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kubrick -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="3D cube puzzle solving game" url="https://www.kde.org/applications/games/kubrick/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c921a830fc63055a8318bf0eabdd6ebd4ec98310dee3cbd0cad2b16a83827b7a30ce905a6d9a725f77d68b5cecc02a09b6396996854cb36bf14a61dc32e62a9d kubrick-19.04.0.tar.xz" +sha512sums="b72ba8207ffa9e0362743bf9e4404fe9afa9d7e66531a66d79df5a805755a494bf028f5c86a00c0e8bb6e89a5f96f2a1f34cedf800b2c5318dacdfa9bf60a492 kubrick-19.04.1.tar.xz" diff --git a/user/kwalletmanager/APKBUILD b/user/kwalletmanager/APKBUILD index ef9600ca3..52f041e98 100644 --- a/user/kwalletmanager/APKBUILD +++ b/user/kwalletmanager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kwalletmanager -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Manage KDE wallets" url="https://www.kde.org/applications/system/kwalletmanager/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="61d2d4a8ffa9647ab2636f417450b549384be4bc4ffa2d70eedce9a2eada3bd2647c2fd8a4ea57666a9c314f304a0cfda0dbbe7440a05aaff03b0199d9c3b87e kwalletmanager-19.04.0.tar.xz" +sha512sums="95a1e01184f654c57002ad5d3bcdc3bd463377f3de7f0524282eab5ddf156ab8c4ae99afa0950df6cb2e280e34eac605810b491068f55076ced4d042cfab9cba kwalletmanager-19.04.1.tar.xz" diff --git a/user/kwave/APKBUILD b/user/kwave/APKBUILD index 5f1a1e865..ff17c9dfc 100644 --- a/user/kwave/APKBUILD +++ b/user/kwave/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kwave -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Sound editor built for KDE" url="http://kwave.sourceforge.net/" @@ -16,6 +16,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtmultimedia-dev id3lib-dev libmad-dev opus-dev libvorbis-dev fftw-dev librsvg-dev" subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/applications/$pkgver/src/kwave-$pkgver.tar.xz + es-doc-fix.patch remove-msgcat.patch " @@ -46,5 +47,6 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e77b1505eafcf86c017e77e5fa6b35bb4f254defb1b4c94abff2cb54a42e7aea730c84997118cf717855047a07dc6073f52837e31688ddf0016b3bf7033bda0c kwave-19.04.0.tar.xz +sha512sums="42fef840ac66ee439d594727dd23e0a0cf4342d8f20990da3d1d83d758841821d7cac2bf99f23e135f7e7eea5d02d877cd19b307a1a47b23f258ea5e06c050fd kwave-19.04.1.tar.xz +63afd083727fd28436c2a8071429ba95fe4342c11669a4e27afc30b8a088b981f284fcff13861d5ef01a6f97152b25eec1fbeb303c9bdd76707e44ff5978dab8 es-doc-fix.patch 43474f73281a7e3e97e2aa9e8c5b7aac50c8153c4ec09345a9ff43eb3c90a17c1dd9fbd2c630967ff87a5b21139f4efd0ecc44f36052549cc2036fd1db1dfac4 remove-msgcat.patch" diff --git a/user/kwave/es-doc-fix.patch b/user/kwave/es-doc-fix.patch new file mode 100644 index 000000000..601a7f56e --- /dev/null +++ b/user/kwave/es-doc-fix.patch @@ -0,0 +1,101 @@ +--- kwave-19.04.1/po/es/docs/kwave/index.docbook.old 2019-05-07 00:18:01.000000000 +0000 ++++ kwave-19.04.1/po/es/docs/kwave/index.docbook 2019-05-12 04:22:05.268821135 +0000 +@@ -1651,7 +1651,7 @@ + ><menuchoice + > <shortcut + ><keycombo +->&Space;</keycombo ++><keycap>Space</keycap></keycombo + ></shortcut + > <guimenu + >Reproducción</guimenu +@@ -1665,7 +1665,7 @@ + ><menuchoice + > <shortcut + ><keycombo +->&Space;</keycombo ++><keycap>Space</keycap></keycombo + ></shortcut + > <guimenu + >Reproducir</guimenu +@@ -1839,7 +1839,7 @@ + >entrada de menú / atajo de teclado:<menuchoice + > <shortcut + ><keycombo +->&Ctrl; &Space;</keycombo ++>&Ctrl; <keycap>Space</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -1981,7 +1981,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&Ctrl;&Home;</keycombo ++>&Ctrl;<keycap>Home</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2000,7 +2000,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&Ctrl;&End;</keycombo ++>&Ctrl;<keycap>End</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2019,7 +2019,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&PgUp;</keycombo ++><keycap>PgUp</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2051,7 +2051,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&PgDn;</keycombo ++><keycap>PgDn</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2083,7 +2083,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&Right;</keycombo ++><keycap>→</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2115,7 +2115,7 @@ + >entrada de menú / atajo de teclado: <menuchoice + > <shortcut + ><keycombo +->&Left;</keycombo ++><keycap>←</keycap></keycombo + ></shortcut + > <guimenu + >Vista</guimenu +@@ -2372,7 +2372,7 @@ + >expandir la selección al principio de la señal (primera muestra): <menuchoice + > <shortcut + ><keycombo +->&Shift;&Home;</keycombo ++>&Shift;<keycap>Home</keycap></keycombo + ></shortcut + > <guimenu + >Editar</guimenu +@@ -2388,7 +2388,7 @@ + >expandir la selección al final de la señal (última muestra): <menuchoice + > <shortcut + ><keycombo +->&Shift;&End;</keycombo ++>&Shift;<keycap>End</keycap></keycombo + ></shortcut + > <guimenu + >Editar</guimenu diff --git a/user/kwordquiz/APKBUILD b/user/kwordquiz/APKBUILD index 130a17337..521e42c96 100644 --- a/user/kwordquiz/APKBUILD +++ b/user/kwordquiz/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kwordquiz -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Flash card trainer for KDE" url="https://www.kde.org/applications/education/kwordquiz/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e23f59dcbc3c8625070a48c217bacb44bd1c79a58c97549972410aa394e064c18b60d3b46d71347f9194a94df0982226b1a305d18f2fdc19e0c20470144683e9 kwordquiz-19.04.0.tar.xz" +sha512sums="f8858da7239562cb431cffe07ba003d0fdb469ce6fa4a4fc2cdafbc843e85baff40587c1140009121d94410b5895d5e15cc8a81178285934a4e17c487cd20496 kwordquiz-19.04.1.tar.xz" diff --git a/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch b/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch deleted file mode 100644 index c2a572857..000000000 --- a/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9d0c3158bc73292ca755477f60cbf5b5fd622fde Mon Sep 17 00:00:00 2001 -From: Damien Douxchamps <ddsf@douxchamps.net> -Date: Thu, 12 Jan 2017 16:47:27 +0900 -Subject: [PATCH] Fix bad variable type uint -> int - -Type was change to uint in recent commit but it should have been INT. - -Signed-off-by: Damien Douxchamps <ddsf@douxchamps.net> ---- - libdc1394/AUTHORS | 1 + - libdc1394/dc1394/bayer.c | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libdc1394/dc1394/bayer.c b/libdc1394/dc1394/bayer.c -index 10a4c1b..cbdc417 100644 ---- a/dc1394/bayer.c -+++ b/dc1394/bayer.c -@@ -24,6 +24,7 @@ - #include <limits.h> - #include <math.h> - #include <stdlib.h> -+#include <stdint.h> - #include <string.h> - #include "conversions.h" - -@@ -775,7 +776,7 @@ dc1394_bayer_Downsample(const uint8_t *restrict bayer, uint8_t *restrict rgb, in - { - uint8_t *outR, *outG, *outB; - register int i, j; -- uint tmp; -+ int tmp; - int st=sx*sy; - int p; - int sx2=sx<<1; --- -2.11.0 - diff --git a/user/libdc1394/APKBUILD b/user/libdc1394/APKBUILD index 8bed91739..d36d55a47 100644 --- a/user/libdc1394/APKBUILD +++ b/user/libdc1394/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=libdc1394 -pkgver=2.2.5 -pkgrel=4 +pkgver=2.2.6 +pkgrel=0 pkgdesc="Programming interface to control FireWire / IIDC cameras" url="https://damien.douxchamps.net/ieee1394/libdc1394/" arch="all" @@ -12,9 +12,7 @@ depends="" depends_dev="libusb-dev libraw1394-dev" makedepends="$depends_dev linux-headers" subpackages="$pkgname-dev $pkgname-doc" -source="https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/$pkgver/libdc1394-$pkgver.tar.gz - 0001-Fix-bad-variable-type-uint-int.patch - " +source="https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/$pkgver/libdc1394-$pkgver.tar.gz" build() { cd "$builddir" @@ -34,5 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4a02560b7b2db7199b91c35786cb9d5af51398795fc1b7f0cb577d3563b27c0d03d407fa472d9756a2f87b658350a55d29c16fef401a74f835ba86e25214d13c libdc1394-2.2.5.tar.gz -ab19b1aecec17b1caa6b225f626b6adcf80818cb59f693df69e9f0f2b4014846be22aa93473a62da8c7ae937ea8265f90499a9561d48e6bfe931e1e00cb16c60 0001-Fix-bad-variable-type-uint-int.patch" +sha512sums="2d60ed1054da67d8518e870193b60c1d79778858f48cc6487e252de00cc57a08548515d41914a37d0227d29e158d68892c290f83930ffd95f4a483dce5aa3d25 libdc1394-2.2.6.tar.gz" diff --git a/user/libebml/APKBUILD b/user/libebml/APKBUILD index 5ed4be827..03b2e73d7 100644 --- a/user/libebml/APKBUILD +++ b/user/libebml/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=libebml -pkgver=1.3.7 +pkgver=1.3.9 pkgrel=0 pkgdesc="Library to parse Extensible Binary Meta-Language files" url="https://www.matroska.org/" @@ -29,4 +29,4 @@ package() { make install DESTDIR="$pkgdir" } -sha512sums="ad574a73a1d2c5fbd4581991ff790ef22cfcaf5645295b06dce36235b43d552bbec3b400d3c80550c8020ed3720226fad05348c6034c444da1106439c7fd9fc1 libebml-1.3.7.tar.xz" +sha512sums="a388fa8ff7acf9a0fb33faf9c00fc07f53794d86a4f894e04e2a690a24e781a7f380a0896e607e801a6f1f0b215407ee09a801e96d4b3e15f39ca71ec3a6d64e libebml-1.3.9.tar.xz" diff --git a/user/libexecinfo/APKBUILD b/user/libexecinfo/APKBUILD index 3f1040343..2c357a177 100644 --- a/user/libexecinfo/APKBUILD +++ b/user/libexecinfo/APKBUILD @@ -10,7 +10,7 @@ license="BSD-2-Clause" depends="" makedepends="" subpackages="$pkgname-dev" -source="http://distcache.freebsd.org/local-distfiles/itetcu/$pkgname-$pkgver.tar.bz2 +source="https://distcache.freebsd.org/local-distfiles/itetcu/$pkgname-$pkgver.tar.bz2 10-execinfo.patch 20-define-gnu-source.patch 30-linux-makefile.patch diff --git a/user/libfm-extra/APKBUILD b/user/libfm-extra/APKBUILD index 18a9ddb73..775b4d322 100644 --- a/user/libfm-extra/APKBUILD +++ b/user/libfm-extra/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libfm-extra -pkgver=1.3.0.2 +pkgver=1.3.1 pkgrel=0 pkgdesc="Library for generating menu caches" url="https://wiki.lxde.org/en/PCManFM" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="179cc0350509cb1a8a60b89f8145169857926c7cc3dadb9f61078d4dba79709b248b3d05862e78c11747f1fc4e45825ad6f4916d423ae5e346e5274d34197445 libfm-1.3.0.2.tar.xz" +sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz" diff --git a/user/libfm/APKBUILD b/user/libfm/APKBUILD index fc1021a8e..ad75ec5d9 100644 --- a/user/libfm/APKBUILD +++ b/user/libfm/APKBUILD @@ -2,19 +2,21 @@ # Maintainer: pkgname=libfm pkgver=1.3.1 -pkgrel=0 +pkgrel=1 pkgdesc="Library for file management" url="https://wiki.lxde.org/en/PCManFM" arch="all" license="GPL-2.0+" makedepends="dbus-glib-dev glib-dev gtk+2.0-dev intltool libexif-dev - menu-cache-dev udisks2-dev" + libfm-extra-dev menu-cache-dev udisks2-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -replaces="libfm-extra" -source="https://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.xz" +source="https://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.xz + without-extra.patch + " build() { cd "$builddir" + mv data/libfm.conf data/libfm.conf.sample ./configure \ --prefix=/usr \ --sysconfdir=/etc \ @@ -33,9 +35,5 @@ package() { make DESTDIR="$pkgdir" install } -dev() { - default_dev - replaces="libfm-extra-dev" -} - -sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz" +sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz +776559307e796309a0a68173292d4ce91c3a241a0e8310a04a96856949677f2f7f8527ae463e4438d635ebe93676dda923a2deed5b76aba007b00093e3a5a109 without-extra.patch" diff --git a/user/libfm/without-extra.patch b/user/libfm/without-extra.patch new file mode 100644 index 000000000..c6e86d5e7 --- /dev/null +++ b/user/libfm/without-extra.patch @@ -0,0 +1,75 @@ +--- libfm-1.3.1/Makefile.in.old 2018-12-17 19:18:43.000000000 +0000 ++++ libfm-1.3.1/Makefile.in 2019-06-04 01:33:11.797284687 +0000 +@@ -461,7 +461,7 @@ + docs/reference/libfm/version.xml.in + + pkgconfigdir = $(libdir)/pkgconfig +-pkgconfig_DATA = libfm-extra.pc $(am__append_5) ++pkgconfig_DATA = $(am__append_5) + @EXTRALIB_ONLY_FALSE@SUBDIRS = $(DIST_SUBDIRS) $(am__append_3) + @EXTRALIB_ONLY_TRUE@SUBDIRS = src $(am__append_3) + DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc +--- libfm-1.3.1/data/Makefile.in.old 2018-12-17 19:18:43.000000000 +0000 ++++ libfm-1.3.1/data/Makefile.in 2019-06-04 01:38:26.663631036 +0000 +@@ -406,7 +406,7 @@ + mime_DATA = libfm.xml + libfmconfdir = $(sysconfdir)/xdg/libfm + libfmconf_DATA = \ +- libfm.conf \ ++ libfm.conf.sample \ + $(NULL) + + desktop_in_files = \ +--- libfm-1.3.1/src/Makefile.in.old 2018-12-17 19:18:44.000000000 +0000 ++++ libfm-1.3.1/src/Makefile.in 2019-06-04 01:35:34.592026293 +0000 +@@ -909,14 +909,14 @@ + @EXTRALIB_ONLY_FALSE@ gtk/fm-thumbnail.h \ + @EXTRALIB_ONLY_FALSE@ $(NULL) + +-LIBFM_EXTRA_INCLUDES = \ +- fm-extra.h \ +- fm-version.h \ +- extra/fm-xml-file.h \ +- $(NULL) ++@EXTRALIB_ONLY_TRUE@LIBFM_EXTRA_INCLUDES = \ ++@EXTRALIB_ONLY_TRUE@ fm-extra.h \ ++@EXTRALIB_ONLY_TRUE@ fm-version.h \ ++@EXTRALIB_ONLY_TRUE@ extra/fm-xml-file.h \ ++@EXTRALIB_ONLY_TRUE@ $(NULL) + + EXTRA_LTLIBRARIES = libfm-gtk.la libfm-gtk3.la +-@EXTRALIB_ONLY_FALSE@lib_LTLIBRARIES = libfm-extra.la libfm.la @LIBFM_GTK_LTLIBRARIES@ ++@EXTRALIB_ONLY_FALSE@lib_LTLIBRARIES = libfm.la @LIBFM_GTK_LTLIBRARIES@ + @EXTRALIB_ONLY_TRUE@lib_LTLIBRARIES = libfm-extra.la + libfm_la_SOURCES = \ + $(libfm_SOURCES) \ +@@ -1059,7 +1059,7 @@ + @ENABLE_DEMO_TRUE@ $(GTK_LIBS) \ + @ENABLE_DEMO_TRUE@ $(INTLLIBS) \ + @ENABLE_DEMO_TRUE@ libfm.la \ +-@ENABLE_DEMO_TRUE@ libfm-extra.la \ ++@ENABLE_DEMO_TRUE@ -lfm-extra \ + @ENABLE_DEMO_TRUE@ @LIBFM_GTK_LTLIBRARIES@ \ + @ENABLE_DEMO_TRUE@ $(NULL) + +--- libfm-1.3.1/src/modules/Makefile.in.old 2018-12-17 19:18:44.000000000 +0000 ++++ libfm-1.3.1/src/modules/Makefile.in 2019-06-04 01:37:50.457501640 +0000 +@@ -180,8 +180,7 @@ + $(gtk_menu_trash_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ + @ENABLE_GTK_TRUE@am_gtk_menu_trash_la_rpath = -rpath $(pkglibdir) +-vfs_menu_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +- $(top_builddir)/src/libfm-extra.la ++vfs_menu_la_DEPENDENCIES = $(am__DEPENDENCIES_1) + vfs_menu_la_SOURCES = vfs-menu.c + vfs_menu_la_OBJECTS = vfs_menu_la-vfs-menu.lo + vfs_menu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ +@@ -459,7 +458,7 @@ + + # module-specific parameters + vfs_menu_la_CFLAGS = $(MENU_CACHE_CFLAGS) -I$(top_srcdir)/src/extra +-vfs_menu_la_LIBADD = $(MENU_CACHE_LIBS) $(top_builddir)/src/libfm-extra.la ++vfs_menu_la_LIBADD = $(MENU_CACHE_LIBS) -lfm-extra + gtk_fileprop_x_desktop_la_CFLAGS = $(GTK_CFLAGS) -I$(top_srcdir)/src/gtk + gtk_fileprop_x_desktop_la_LIBADD = $(GTK_LIBS) + gtk_fileprop_x_shortcut_la_CFLAGS = $(GTK_CFLAGS) -I$(top_srcdir)/src/gtk diff --git a/user/libgphoto2/APKBUILD b/user/libgphoto2/APKBUILD index 7bd75969d..59cd04e35 100644 --- a/user/libgphoto2/APKBUILD +++ b/user/libgphoto2/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=libgphoto2 -pkgver=2.5.22 +pkgver=2.5.23 pkgrel=0 pkgdesc="Digital camera library" url="http://www.gphoto.org" @@ -46,4 +46,4 @@ package() { "$pkgdir/lib/udev/rules.d/54-gphoto.rules" } -sha512sums="8f02c460324c115810f56a9408ecba7aabb801947249c1ee79f0f0a1db1d785d34992508232bad7af112aed2dfc6b213365cee694dd0e7d5edf4072c63fa01cb libgphoto2-2.5.22.tar.bz2" +sha512sums="f5f8f33e934989e6f832952c6c7c2c9e37c436652a08191e8ccced293447a090cb596fff80b9b0ad52c99c0ffc08a1207ca7ef2b630dc52f4c6d7f86e4cbc95a libgphoto2-2.5.23.tar.bz2" diff --git a/user/libgsf/APKBUILD b/user/libgsf/APKBUILD index 086da1e6c..b0916d3da 100644 --- a/user/libgsf/APKBUILD +++ b/user/libgsf/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=libgsf -pkgver=1.14.45 +pkgver=1.14.46 pkgrel=0 pkgdesc="Library for manipulating structured files" url="https://www.gnome.org/" @@ -45,4 +45,4 @@ package() { rm -f "$pkgdir"/usr/share/man/man1/gsf-office-thumbnailer.1 } -sha512sums="2e993150b6fec336a14fd85d5c631e4a3b43187039dab0cba3b8badf62873f39814392db92bb737b92aa9a6d8b4ba41f1fb248c1fe07b88cddd28ded5e4d9ebd libgsf-1.14.45.tar.xz" +sha512sums="130331f63d48455cc2ce60756e2ac703f8a7f5fa8f1243d9d9321fb87e01bf1d616d085d100a3e5d1cf34fb851ffb77bc642aff6c674ace167b9aa117f4fb1b0 libgsf-1.14.46.tar.xz" diff --git a/user/libical/APKBUILD b/user/libical/APKBUILD index 7a27c56d4..4d03d3c27 100644 --- a/user/libical/APKBUILD +++ b/user/libical/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=libical -pkgver=3.0.4 -pkgrel=2 +pkgver=3.0.5 +pkgrel=0 pkgdesc="Reference implementation of the iCalendar format" url="https://libical.github.io/libical/" arch="all" @@ -18,7 +18,8 @@ build() { cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ - -DSHARED_ONLY=true + -DSHARED_ONLY=true \ + -DENABLE_GTK_DOC=OFF make } @@ -32,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="491a1dd0c33bb823a79165eb6e4f86ef048a44642adfe44f8e69c83598b458ddf8e4365b11afc37d0b21bc1367e0a99096fc7887aae29e7ff4e3bd1cdee64dd9 libical-3.0.4.tar.gz" +sha512sums="9bf24b535864f66ea0b8d52d902d15fbfd20efbc480b5188ecd1b3d4aafdba063219763f99a8c30413964f7a024c7a902bade6bc40224bc59a438e672f65d656 libical-3.0.5.tar.gz" diff --git a/user/libkdcraw/APKBUILD b/user/libkdcraw/APKBUILD index 8d8799687..647587860 100644 --- a/user/libkdcraw/APKBUILD +++ b/user/libkdcraw/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkdcraw -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="RAW image file format support for KDE" url="https://www.KDE.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3361d987e1cec7cdb0c2bde2b356ff39f359e2ec79a37a2ed5ee7a43cb5acf01be04c3e121b121cdc45832d421abfc7ac39157fa8372d5f4dbf899c981b219a7 libkdcraw-19.04.0.tar.xz" +sha512sums="835419e536d4d226e57c850cda49762e2fa6033ca3ba759b8d6048eb8a5354c89d56e29721fd7e24866b307993243ea8eb14621c7945ce61f650bec0fc845a00 libkdcraw-19.04.1.tar.xz" diff --git a/user/libkdegames/APKBUILD b/user/libkdegames/APKBUILD index f3baf39f9..5ca21ecaf 100644 --- a/user/libkdegames/APKBUILD +++ b/user/libkdegames/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkdegames -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Library for common routines shared between KDE games" url="https://www.kde.org/applications/games/" @@ -58,4 +58,4 @@ carddecks() { mv "$pkgdir"/usr/share/carddecks "$subpkgdir"/usr/share/ } -sha512sums="6c28d3f00902102680072d99a2f4b5bc8fd216d0463530036bd3fcd6e83102341509acc37594d6b833b5a50b5d66f110c5c7b741711817c1aa7ffdc0919bdf46 libkdegames-19.04.0.tar.xz" +sha512sums="273eff7f23afd7a3937153a6e79ae5fb0fa0f02b650120b67bc958e840803b5014cc1e530a1874fd3816acd13c58d40311c90b8d4b94d7c464468d1e83fae1fa libkdegames-19.04.1.tar.xz" diff --git a/user/libkeduvocdocument/APKBUILD b/user/libkeduvocdocument/APKBUILD index 2fe09274b..888592a12 100644 --- a/user/libkeduvocdocument/APKBUILD +++ b/user/libkeduvocdocument/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkeduvocdocument -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Library for manipulating KVTML files" url="https://www.kde.org/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0e05faa01f98bf96b8ae3e69ba402ef127d7559c5fa0cb98d12ae859b0e5a3334af58fecce78f2da3a8d4f191871b62bd5db23a934b0564330d8f3bc27795475 libkeduvocdocument-19.04.0.tar.xz" +sha512sums="e56d79694bbb1d6a20977232152b4416983b2899429ec3124161bbefa361d7e5551e0e341a361771fe6cc7c69da4084853ecde560762c53fcea574f31f512b3f libkeduvocdocument-19.04.1.tar.xz" diff --git a/user/libkexiv2/APKBUILD b/user/libkexiv2/APKBUILD index da699412c..5f92ac3b9 100644 --- a/user/libkexiv2/APKBUILD +++ b/user/libkexiv2/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkexiv2 -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE integration with Exiv2 EXIF data library" url="https://www.KDE.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="70eeaa1d117b5d6fd93df894662e751913dc002b2ceacde9b854183d98c85766e111360c721efc0a225939f30eacdbd45dafd71e61349f947155fbe6c7b48dd1 libkexiv2-19.04.0.tar.xz" +sha512sums="c3738afe3d72bd499d92d1846245d65adcf7fd1074ac1ca5a64dda5bcaef20202c5a8e2372d69a0e493e2097a38bb9099ea6a1e1f5ae3adec03e3dc54fa732d0 libkexiv2-19.04.1.tar.xz" diff --git a/user/libkipi/APKBUILD b/user/libkipi/APKBUILD index ed380db9b..641510f7e 100644 --- a/user/libkipi/APKBUILD +++ b/user/libkipi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkipi -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE Image Plugin Interface library" url="https://www.digikam.org/" @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8628306cbe885dfa04ec7374d56fc08df21c95df2ef1d14bf257ab36433b6e57696bd9109413b129d5520193e801f29bede7a82ac8a33a03f3130625c96a6e4a libkipi-19.04.0.tar.xz" +sha512sums="61fce9229bbc586529e328f70c99768584c2ae4f0a508c52370fd8741aecb582901c7eba7000eb2d0fd30119fb7fd58f7f7f3803c19f56d95d9da835b3aa7593 libkipi-19.04.1.tar.xz" diff --git a/user/libkleo/APKBUILD b/user/libkleo/APKBUILD index 48ec55e10..155b4d458 100644 --- a/user/libkleo/APKBUILD +++ b/user/libkleo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkleo -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE encryption library" url="https://www.kde.org/" @@ -43,5 +43,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5b96c7427afc36ccb46532de57adc5678e52f917f6caeabfaa34a736f0b5cdb1cafa9b69a7988df1cd6da33021bf8ab3fa85cdd76eb2ce491a409f0ab9e12ae3 libkleo-19.04.0.tar.xz -b9d8baa5212effbcc377c947c51cda1c0ce51a2eee2dae02d430a87cd88f21b1bc4ac19d689a39350fd04ffd057aaee138347d4c4561e9835253ccc5387c5565 egregious-versions.patch" +sha512sums="790d9723e0177491de36f102f1f77e01e955c9c13a2c8bef50365ab9cfaa810ac69c4291c8c27dae9e5b7f8e589cb7f83b031ad1f88c6039a4f51ff5104380a0 libkleo-19.04.1.tar.xz +d7b661a243c533123af0e97bcebdabb9f2d9fd67c7ae10ae91484de68ebca2b2aa7c745a9d2d33955631b22487c21491671b42cafb803f7d0cc4af731317319d egregious-versions.patch" diff --git a/user/libkleo/egregious-versions.patch b/user/libkleo/egregious-versions.patch index 440c7bf4f..d32f12d03 100644 --- a/user/libkleo/egregious-versions.patch +++ b/user/libkleo/egregious-versions.patch @@ -17,6 +17,6 @@ libKleo uses no new APIs. set(LIBKLEO_LIB_VERSION ${PIM_VERSION}) -set(QT_REQUIRED_VERSION "5.10.0") +set(QT_REQUIRED_VERSION "5.9.0") - set(KDEPIMTEXTEDIT_VERSION "5.11.0") + set(KDEPIMTEXTEDIT_VERSION "5.11.1") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets) diff --git a/user/libkmahjongg/APKBUILD b/user/libkmahjongg/APKBUILD index 872a277a1..dc618ce16 100644 --- a/user/libkmahjongg/APKBUILD +++ b/user/libkmahjongg/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libkmahjongg -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Library with Mah Jongg logic" url="https://www.kde.org/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="99a5a6a8de7c069687ba2371a1d0375603bc78c90c9947c3a2503c31f34c1edd781567cac3b23e8b1081eb4189bbc1fafe9a4136933998136dd06b4993e40991 libkmahjongg-19.04.0.tar.xz" +sha512sums="fd0b4525d7994594240a438b52ad94914a58d5406503024fa7a9b1ac69cb1eba13ac9e1730583ce94a55ed73ea2091e8d7198efc5f057255d958db15dc742b41 libkmahjongg-19.04.1.tar.xz" diff --git a/user/libksane/APKBUILD b/user/libksane/APKBUILD index 22983f2df..233c52a2c 100644 --- a/user/libksane/APKBUILD +++ b/user/libksane/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libksane -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="KDE scanning library" url="https://www.kde.org" @@ -42,5 +42,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="29be4c8bd7568e116ae84b3eb9911740c9cbf7508e3c0e150f552a5f5f4cc07791c6f9a0373f00cfbe5e0421cc45936445adf9cd277c6ad1b22cf067e6058a2e libksane-19.04.0.tar.xz +sha512sums="ee7b102a313b844a027461bb16cf7c283916b2df07a8bd76e29488f34cc6215f7dde6834a172a626dd3be941759cfffab4dd961338d0b78a5358109ae1234b7b libksane-19.04.1.tar.xz 60e0e8b073499e932d626a65c5cc23f58d2701921da547733d2736b58c6d412c8d6e782884916390ff16e02183a53ad283712f0bcf2cdcf5a0eb0d7029bb1ba8 frameworks.patch" diff --git a/user/libmatroska/APKBUILD b/user/libmatroska/APKBUILD index 85e521369..6a8ea1f9d 100644 --- a/user/libmatroska/APKBUILD +++ b/user/libmatroska/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=libmatroska -pkgver=1.5.0 +pkgver=1.5.2 pkgrel=0 pkgdesc="Library to parse Matroska files" url="https://www.matroska.org/" @@ -29,4 +29,4 @@ package() { make install DESTDIR="$pkgdir" } -sha512sums="eb59b5afd9d510c2d6c7408b0053a261cee6669a9f5bbb1a939d98d96ac6c9b8f340691e95310268f59c954a1d9f72322fd0ec7b442a74c56cd2e2c22eb3a754 libmatroska-1.5.0.tar.xz" +sha512sums="122b71b91ae89e2a7cc89db17655a006248d58f18d913b4f9ffc885aef7e39681a3a16eed43cd8ecd949c570a939007797c79829f5ee87d08562aee3f0224ba2 libmatroska-1.5.2.tar.xz" diff --git a/user/libmbim/APKBUILD b/user/libmbim/APKBUILD new file mode 100644 index 000000000..8c7142fe8 --- /dev/null +++ b/user/libmbim/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=libmbim +pkgver=1.18.2 +pkgrel=0 +pkgdesc="Library for interfacing with WWAN modems" +url="https://www.freedesktop.org/wiki/Software/libmbim/" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+" +depends="" +makedepends="glib-dev libgudev-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://www.freedesktop.org/software/libmbim/libmbim-$pkgver.tar.xz" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-more-warnings + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="2da289f60d2fb9678f969b591f8addc724bef8c2780011e62567a9ade2ebc71bc4dd76e54f93335aa475e65c733e3628d9f2f96f81f8797ec809042c046eb828 libmbim-1.18.2.tar.xz" diff --git a/user/libpng/APKBUILD b/user/libpng/APKBUILD index e3504e859..ec109c15a 100644 --- a/user/libpng/APKBUILD +++ b/user/libpng/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=libpng -pkgver=1.6.36 +pkgver=1.6.37 pkgrel=0 pkgdesc="Portable Network Graphics library" url="http://www.libpng.org/" @@ -55,6 +55,6 @@ utils() { mv "$pkgdir"/usr/bin "$subpkgdir"/usr } -sha512sums="8b9c54c5555d6a736eaf298cbbae1e08199001202bacabc6212d75fa619e2ecf06bcf36db0321bfdb90a3dc5cde361c8d951002701637a557c34eae80f5d0936 libpng-1.6.36.tar.gz -8fa213204768b058459ffd5eae6b3661c3f185d3baf1913da4337e7b7855e567f2525e7f67411c32fa8cb177a5f93d538c3d0ce17a94d4aa71bd9cffabe8b311 libpng-1.6.36-apng.patch.gz +sha512sums="2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338 libpng-1.6.37.tar.gz +226adcb3a8c60f2267fe2976ab531329ae43c2603dab4d0cf8f16217d64069936b879f3d6516b75d259c47d6f5c5b1f24f887602206c8e46abde0fb7f5c7946b libpng-1.6.37-apng.patch.gz e3fae918f14bc34e7c126892f69527c6e1b4d72593835ece839d9a28cff55a886b2030f877cf9e29b2c97abf2e47bbb5ba54584828edd2a841c2556f330b9c7e libpng-fix-arm-neon.patch" diff --git a/user/libqmi/APKBUILD b/user/libqmi/APKBUILD new file mode 100644 index 000000000..f747cdd65 --- /dev/null +++ b/user/libqmi/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=libqmi +pkgver=1.22.4 +pkgrel=0 +pkgdesc="Library for interfacing with Qualcomm modems" +url="https://www.freedesktop.org/wiki/Software/libqmi/" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="glib-dev libgudev-dev python3" +subpackages="$pkgname-dev $pkgname-doc" +source="https://www.freedesktop.org/software/libqmi/libqmi-$pkgver.tar.xz" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-more-warnings + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="eaa17cb7a19c73db0e1c50c714dab73ad5f97d85de86b74135085ecf31d048b80f2476509139832327925eeca97bee24e18bab33d87e814fe9b7f190ee823a34 libqmi-1.22.4.tar.xz" diff --git a/user/libshout/APKBUILD b/user/libshout/APKBUILD index 5e0f491b5..f3b9e2796 100644 --- a/user/libshout/APKBUILD +++ b/user/libshout/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Maintainer: pkgname=libshout -pkgver=2.4.1 -pkgrel=2 +pkgver=2.4.2 +pkgrel=0 pkgdesc="Library for accessing a Icecast server" url="http://www.icecast.org/" arch="all" @@ -29,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4d4b958947e020de3330d49d39d59220fc89315f25f653a7456b9aa24ca9566fca30bb3d65e6348e79958656096b6b864ea8885157d24e55c8d84d6604670219 libshout-2.4.1.tar.gz" +sha512sums="ae4b042009887de22d105eb8238f4362f6ff51bd645fd51b5a87c4b5e3f5fdc99e9f99f85c24ae2e9d23eab92b854a7e733bf9f8cc61a8362ce984f02a014e93 libshout-2.4.2.tar.gz" diff --git a/user/libsoup/APKBUILD b/user/libsoup/APKBUILD index ddcf75515..65c1d4edc 100644 --- a/user/libsoup/APKBUILD +++ b/user/libsoup/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=libsoup -pkgver=2.66.1 +pkgver=2.66.2 pkgrel=0 pkgdesc="GObject-based HTTP library" url="https://wiki.gnome.org/Projects/libsoup" @@ -29,4 +29,4 @@ package() { DESTDIR="$pkgdir" ninja install } -sha512sums="bb9c15cae965606d5f7c009fab9223445235982269d23ff20e89249b10d3423797427e7cff39c31a3f5db99b0c2d7a01eb911edb61309603cdeb8f2467fe6039 libsoup-2.66.1.tar.xz" +sha512sums="1df443470239f23d22301e37e36f3d34963352ee0122f317cd15b19d90115831091bddcee27bc6f0d4994adcf4e5bd9c0395de2bd7f39ae305ba0edea7789092 libsoup-2.66.2.tar.xz" diff --git a/user/libwacom/APKBUILD b/user/libwacom/APKBUILD index 52326df1f..56464b2a0 100644 --- a/user/libwacom/APKBUILD +++ b/user/libwacom/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libwacom pkgver=0.33 -pkgrel=0 +pkgrel=1 pkgdesc="Tablet description library" url="http://linuxwacom.sourceforge.net/" arch="all" @@ -11,7 +11,9 @@ depends="" makedepends="libgudev-dev" checkdepends="bash findutils" subpackages="$pkgname-dev $pkgname-doc" -source="https://github.com/linuxwacom/libwacom/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2" +source="https://github.com/linuxwacom/libwacom/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2 + fix-database.patch + " build() { ./configure \ @@ -20,9 +22,6 @@ build() { --prefix=/usr \ --disable-static make - # conflicts with TS-6610 tablet - rm "$builddir"/data/huion-h420.tablet - rm "$builddir"/data/layouts/huion-h420.svg } check() { @@ -36,4 +35,5 @@ package() { > "$pkgdir"/usr/lib/udev/rules.d/65-libwacom.rules } -sha512sums="de4d9cf3b5f4d87a159ba8ee617bafce9d13b67dc23d9dc67efd57317b0df2079dd0de328bc800de47f14ee49ea82bb842e34297cef23ba336c1ddca3afa826d libwacom-0.33.tar.bz2" +sha512sums="de4d9cf3b5f4d87a159ba8ee617bafce9d13b67dc23d9dc67efd57317b0df2079dd0de328bc800de47f14ee49ea82bb842e34297cef23ba336c1ddca3afa826d libwacom-0.33.tar.bz2 +d1ac1176aa4a95991330e23fb84868d65a1b2e81d68173c990f885af1ce591de7aca16e21db8128e4f1975bca22b8014a6fa2ca8c0458dce464568239d75263c fix-database.patch" diff --git a/user/libwacom/fix-database.patch b/user/libwacom/fix-database.patch new file mode 100644 index 000000000..d367ca997 --- /dev/null +++ b/user/libwacom/fix-database.patch @@ -0,0 +1,15 @@ +https://github.com/linuxwacom/libwacom/issues/85 + +Awful, cheesy hack. + +--- libwacom-0.33/libwacom/libwacom-database.c.old 2019-04-12 03:10:21.000000000 +0000 ++++ libwacom-0.33/libwacom/libwacom-database.c 2019-06-01 06:24:56.290159726 +0000 +@@ -152,7 +152,7 @@ + + memset(namestr, 0, sizeof(namestr)); + +- rc = sscanf(str, "%63[^:]:%x:%x:%63c", busstr, vendor_id, product_id, namestr); ++ rc = sscanf(str, "%63[^:]:%x:%x:%63[^\b]", busstr, vendor_id, product_id, namestr); + if (rc == 4) { + *name = g_strdup(namestr); + } else if (rc == 3) { diff --git a/user/lskat/APKBUILD b/user/lskat/APKBUILD index 5ef16ae2f..19d904a95 100644 --- a/user/lskat/APKBUILD +++ b/user/lskat/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=lskat -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Lieutenant Skat is an interactive two-player card game" url="https://games.kde.org/game.php?game=lskat" @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8c8a4e991fa696643bbb6c4427128b3ca465f479025b18bd8bcc3d34111d8f0bde3c0c155ebe4f39b3af75b134c17b644186d4b599d7a3e66b04af656caa2019 lskat-19.04.0.tar.xz" +sha512sums="3b50fee9690d58f09c81a12982d6c9dc49130a00a3471236257111ac9ea62047ea5eae5d5331da36a2ed0a15dc6a78d21fd07c4ed5f9764cb3c3aacebf3c933f lskat-19.04.1.tar.xz" diff --git a/user/luarocks/APKBUILD b/user/luarocks/APKBUILD index f890e8403..7bc21d7e0 100644 --- a/user/luarocks/APKBUILD +++ b/user/luarocks/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=luarocks -pkgver=3.1.0 +pkgver=3.1.2 pkgrel=0 pkgdesc="Package manager for Lua software" url="https://luarocks.org/" @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fd8b63671641b0872d91af6e3f129a3b1264c23ba71b51d523ff4382ffb005799a341c4ffc6483818ed56a9d6945115018078eea7c9228ed8cb5df69207ee846 luarocks-3.1.0.tar.gz" +sha512sums="78ef1d72302c88fa9989aaf4dba8d7043a2929b709631be2003d3419df828e9168b207365c56bbbf0b52bf81d15fc96b92a7c7abb5dd11dde3630d23886ff51c luarocks-3.1.2.tar.gz" diff --git a/user/marble/APKBUILD b/user/marble/APKBUILD index efddac983..fb4a1f02e 100644 --- a/user/marble/APKBUILD +++ b/user/marble/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=marble -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Free, open-source map and virtual globe" url="https://marble.kde.org/" @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="82004878225848df197f41ea022e2c1c971a1480b7a6ae05088488ba28495e4e4e7f11c6fd14ccb7ebbbe68ba8ae1daf1d16f57e8f9e7ca22f3d3feb9290adbe marble-19.04.0.tar.xz" +sha512sums="f1a0bbd99b17053e4a3d4555ff38ab74b9f6425e38383a55d529772cb9cf78981af0b560ded3e36731ded686165b6b8e09cf7d8e98c6e5f3c04a9a89294cee36 marble-19.04.1.tar.xz" diff --git a/user/mate-calc/APKBUILD b/user/mate-calc/APKBUILD index f55f691fc..a8f505202 100644 --- a/user/mate-calc/APKBUILD +++ b/user/mate-calc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=mate-calc -pkgver=1.22.0 +pkgver=1.22.1 pkgrel=0 pkgdesc="Calculator utility for the MATE desktop environment" url="https://mate-desktop.org" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a0d72a17dc9e7e97ef36cb2f089db126b1f91790d6a34ae829ef9cea87e82b025ba106f08e8c677352e72423a6670a3bf8751eecc67444cd8cea8dc8f3cf6728 mate-calc-1.22.0.tar.xz" +sha512sums="8e8efa1c17f6b6330471d877bc4d9c8486c64fb22ac3e3caf13a47f8be030664f1ca635a2323a78c5345a838fda307c3b4913caa748a67cc45fe43b9c8070e9a mate-calc-1.22.1.tar.xz" diff --git a/user/minuet/APKBUILD b/user/minuet/APKBUILD index d961d6995..ef7180b64 100644 --- a/user/minuet/APKBUILD +++ b/user/minuet/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=minuet -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Music education software" url="https://minuet.kde.org/" @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="11f6b2806ade05b288a6a637fa6ad3bafacdcd61e70d8653c87170440b645c50e366e2892b8a72516cdfe378d9bb9fddf4789f77a9e6664ab47cbe12a6df3a2f minuet-19.04.0.tar.xz" +sha512sums="0db8274cc30d04c790a0261abdb32b9e759018a7725d25b0e50eab5b06117d3c2ab9a6e0f8ea1fbad22ccbe6fbeb366e557431b31e255919278591adcf48ace8 minuet-19.04.1.tar.xz" diff --git a/user/modemmanager/01-org.freedesktop.ModemManager.rules b/user/modemmanager/01-org.freedesktop.ModemManager.rules new file mode 100644 index 000000000..c57f4c55c --- /dev/null +++ b/user/modemmanager/01-org.freedesktop.ModemManager.rules @@ -0,0 +1,8 @@ +// Let users in either 'plugdev' or 'dialout' control ModemManager +polkit.addRule(function(action, subject) { + if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) && + (subject.isInGroup("plugdev") || subject.isInGroup("dialout")) && subject.active) { + return "yes"; + } +}); + diff --git a/user/modemmanager/APKBUILD b/user/modemmanager/APKBUILD new file mode 100644 index 000000000..a6ad0524d --- /dev/null +++ b/user/modemmanager/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=modemmanager +pkgver=1.10.0 +pkgrel=0 +pkgdesc="Software to control mobile broadband modems" +url="https://www.freedesktop.org/wiki/Software/ModemManager/" +arch="all" +license="GPL-2.0+ AND LGPL-2.1+" +depends="" +checkdepends="dbus-x11" +makedepends="glib-dev gobject-introspection-dev libgudev-dev libmbim-dev + libqmi-dev polkit-dev vala-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://www.freedesktop.org/software/ModemManager/ModemManager-$pkgver.tar.xz + no-translit.patch + + 01-org.freedesktop.ModemManager.rules + " +builddir="$srcdir/ModemManager-$pkgver" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-more-warnings \ + --enable-introspection \ + --enable-vala + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + install -D -m644 -t "$pkgdir"/usr/share/polkit-1/rules.d/ \ + "$srcdir"/01-org.freedesktop.ModemManager.rules +} + +sha512sums="676b11892b284c2da587895e71903f80ec96978c66eafae5e2d90e5c0f1dae18e50efc68b704c7907f01f208d585f5a8140316cf83e093df3f782c80949c33bc ModemManager-1.10.0.tar.xz +78e1c2ef604fb8b204618b9ecdc741ed7087fcc46ee563dbaaf6c9c0185165be58abfc3bf8ba89129fce7570c172cd1ac1e191e6d1200e3029c14a585ff40b83 no-translit.patch +31ded548acc8ccfcca5cd54384819b73ad9ac83556b754fa03a1a9c08aed7f913c7f066000abef0e52310721ef8c00ca8f48f1f762faaa5792420f62b5201881 01-org.freedesktop.ModemManager.rules" diff --git a/user/modemmanager/no-translit.patch b/user/modemmanager/no-translit.patch new file mode 100644 index 000000000..8f6d4b5f7 --- /dev/null +++ b/user/modemmanager/no-translit.patch @@ -0,0 +1,92 @@ +--- ModemManager-1.10.0/src/mm-broadband-modem.c.old 2019-01-15 14:57:35.000000000 +0000 ++++ ModemManager-1.10.0/src/mm-broadband-modem.c 2019-05-10 05:17:07.329881242 +0000 +@@ -7014,7 +7014,7 @@ + /* The raw SMS data can only be GSM, UCS2, or unknown (8-bit), so we + * need to convert to UCS2 here. + */ +- ucs2_text = g_convert (text, -1, "UCS-2BE//TRANSLIT", "UTF-8", NULL, &ucs2_len, NULL); ++ ucs2_text = g_convert (text, -1, "UCS-2BE", "UTF-8", NULL, &ucs2_len, NULL); + g_assert (ucs2_text); + raw = g_byte_array_sized_new (ucs2_len); + g_byte_array_append (raw, (const guint8 *) ucs2_text, ucs2_len); +--- ModemManager-1.10.0/src/mm-charsets.c.old 2019-05-10 05:09:21.350652258 +0000 ++++ ModemManager-1.10.0/src/mm-charsets.c 2019-05-10 05:16:41.752668021 +0000 +@@ -35,15 +35,15 @@ + } CharsetEntry; + + static CharsetEntry charset_map[] = { +- { "UTF-8", "UTF8", "UTF-8", "UTF-8//TRANSLIT", MM_MODEM_CHARSET_UTF8 }, +- { "UCS2", NULL, "UCS-2BE", "UCS-2BE//TRANSLIT", MM_MODEM_CHARSET_UCS2 }, +- { "IRA", "ASCII", "ASCII", "ASCII//TRANSLIT", MM_MODEM_CHARSET_IRA }, +- { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM }, +- { "8859-1", NULL, "ISO8859-1", "ISO8859-1//TRANSLIT", MM_MODEM_CHARSET_8859_1 }, +- { "PCCP437", "CP437", "CP437", "CP437//TRANSLIT", MM_MODEM_CHARSET_PCCP437 }, +- { "PCDN", "CP850", "CP850", "CP850//TRANSLIT", MM_MODEM_CHARSET_PCDN }, +- { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX }, +- { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN } ++ { "UTF-8", "UTF8", "UTF-8", "UTF-8", MM_MODEM_CHARSET_UTF8 }, ++ { "UCS2", NULL, "UCS-2BE", "UCS-2BE", MM_MODEM_CHARSET_UCS2 }, ++ { "IRA", "ASCII", "ASCII", "ASCII", MM_MODEM_CHARSET_IRA }, ++ { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM }, ++ { "8859-1", NULL, "ISO8859-1", "ISO8859-1", MM_MODEM_CHARSET_8859_1 }, ++ { "PCCP437", "CP437", "CP437", "CP437", MM_MODEM_CHARSET_PCCP437 }, ++ { "PCDN", "CP850", "CP850", "CP850", MM_MODEM_CHARSET_PCDN }, ++ { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX }, ++ { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN } + }; + + const char * +@@ -163,7 +163,7 @@ + g_return_val_if_fail (iconv_from != NULL, FALSE); + + converted = g_convert ((const gchar *)array->data, array->len, +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -195,7 +195,7 @@ + return unconverted; + + converted = g_convert (unconverted, unconverted_len, +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -226,7 +226,7 @@ + return g_strdup (src); + + converted = g_convert (src, strlen (src), +- iconv_to, "UTF-8//TRANSLIT", ++ iconv_to, "UTF-8", + NULL, &converted_len, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -747,7 +747,7 @@ + + iconv_from = charset_iconv_from (charset); + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!utf8 || error) { + g_clear_error (&error); +@@ -790,7 +790,7 @@ + * that is UTF-8, if any. + */ + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT", ++ "UTF-8", "UTF-8", + &bread, &bwritten, NULL); + + /* Valid conversion, or we didn't get enough valid UTF-8 */ +@@ -804,7 +804,7 @@ + */ + str[bread] = '\0'; + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT", ++ "UTF-8", "UTF-8", + NULL, NULL, NULL); + g_free (str); + break; diff --git a/user/networkmanager/01-org.freedesktop.NetworkManager.rules b/user/networkmanager/01-org.freedesktop.NetworkManager.rules new file mode 100644 index 000000000..d00b26853 --- /dev/null +++ b/user/networkmanager/01-org.freedesktop.NetworkManager.rules @@ -0,0 +1,7 @@ +// Let users in plugdev group modify NetworkManager +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && + subject.isInGroup("plugdev") && subject.active) { + return "yes"; + } +}); diff --git a/user/networkmanager/10-openrc-status b/user/networkmanager/10-openrc-status new file mode 100644 index 000000000..06b22bd77 --- /dev/null +++ b/user/networkmanager/10-openrc-status @@ -0,0 +1,35 @@ +#!/bin/sh +# Copyright (c) 2012 Alexandre Rostovtsev +# Released under the 2-clause BSD license. + +# Ensures that the NetworkManager OpenRC service is marked as started and +# providing net only when it has a successful connection. + +if [ ! -e "/run/openrc/softlevel" ]; then + # OpenRC is not running + exit 0 +fi + +# Ensure rc-service is in PATH +PATH="${PATH}:/sbin:/usr/sbin" + +# Exit if the NetworkManager OpenRC service is not running +rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0 + +# Call rc-service in background mode so that the start/stop functions update +# NetworkManager service status to started or inactive instead of actually +# starting or stopping the daemon +export IN_BACKGROUND=YES + +case "$2" in + up) nm-online -t 0 -x && + ! rc-service NetworkManager status 2>&1 | grep -q started && + exec rc-service NetworkManager start ;; + down) nm-online -t 0 -x || + rc-service NetworkManager status 2>&1 | grep -q stopped || + exec rc-service NetworkManager stop ;; + pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped || + exec rc-service NetworkManager stop ;; +esac +exit 0 +# vim: set ts=4: diff --git a/user/networkmanager/APKBUILD b/user/networkmanager/APKBUILD new file mode 100644 index 000000000..daf79c413 --- /dev/null +++ b/user/networkmanager/APKBUILD @@ -0,0 +1,100 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=networkmanager +pkgver=1.18.1 +pkgrel=0 +pkgdesc="Network management daemon" +url="https://wiki.gnome.org/Projects/NetworkManager" +arch="all" +options="!check" # Requires dbus-python and running DBus server. +license="GPL-2.0+ AND LGPL-2.1+" +depends="dhcpcd iputils ppp wpa_supplicant-dbus" +makedepends="bluez-dev consolekit2-dev curl-dev dbus-dev dbus-glib-dev + eudev-dev glib-dev gobject-introspection-dev intltool libedit-dev + libndp-dev libxslt modemmanager-dev ncurses-dev newt-dev nss-dev + perl polkit-dev ppp-dev py3-pygobject util-linux-dev vala-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc" +source="https://download.gnome.org/sources/NetworkManager/1.18/NetworkManager-$pkgver.tar.xz + editline.patch + errno.patch + musl.patch + tests.patch + + 01-org.freedesktop.NetworkManager.rules + 10-openrc-status + nm.confd + nm.initd + " +builddir="$srcdir/NetworkManager-$pkgver" + +build() { + # pppd plugin dir is a huge hack. + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-json-validation \ + --disable-more-warnings \ + --disable-ovs \ + --disable-qt \ + --disable-static \ + --enable-bluez5-dun \ + --enable-concheck \ + --enable-polkit=yes \ + --enable-ppp \ + --enable-vala \ + --with-crypto=nss \ + --with-dbus-sys-dir=/etc/dbus-1/system.d \ + --with-dhcpcd \ + --with-ebpf=yes \ + --with-iptables=/sbin/iptables \ + --with-libnm-glib \ + --with-nmcli=yes \ + --with-nmtui \ + --with-pppd-plugin-dir=/usr/lib/pppd/$(ls -1 /usr/lib/pppd | head) \ + --with-session-tracking=consolekit \ + --with-suspend-resume=consolekit \ + --without-dhclient \ + --without-libaudit \ + --without-libpsl \ + --without-netconfig \ + --without-systemd-journal + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + + install -D -m755 "$srcdir"/nm.initd "$pkgdir"/etc/init.d/NetworkManager + install -D -m644 "$srcdir"/nm.confd "$pkgdir"/etc/conf.d/NetworkManager + install -D -m600 -t "$pkgdir"/usr/share/polkit-1/rules.d/ \ + "$srcdir"/01-org.freedesktop.NetworkManager.rules + install -D -m755 -t "$pkgdir"/etc/NetworkManager/dispatcher.d/ \ + "$srcdir"/10-openrc-status + install -d "$pkgdir"/etc/NetworkManager/system-connections + touch "$pkgdir"/etc/NetworkManager/system-connections/.keepdir +} + +openrc() { + default_openrc + mkdir -p "$subpkgdir"/etc/NetworkManager/dispatcher.d + mv "$pkgdir"/etc/NetworkManager/dispatcher.d/10-openrc-status \ + "$subpkgdir"/etc/NetworkManager/dispatcher.d/ +} + +sha512sums="24ffd5b5802692ce392a5ce65623679014d4e476cddedf76222829118f3ab4c92e180c1814db80438f66e2ab7a4e93eb1bac1e0b77575ff7620b0bf0e27d2992 NetworkManager-1.18.1.tar.xz +559dc42d3017508bfc35ea91da3d0169d601cd6b1764210fd8a27733e9c6671ec2d2d4d6a88af6749df450ea0c16dbc5269258cf2a0b608b9223688a40ca3ec0 editline.patch +0006d9c538a72673746b6aede8c61e0b7a23b055f8276fa2dde6e70f8c00d60854cf49678c996764f83b40cf06c5c2cd24c8c382d900aaf97fc840342e29500f errno.patch +2d77b08d737653999631b8d51b884d12a2f6ba62ef99f0115e0fe2513fcdabec44ea67083684a6762dbc0423d9b41706d6223e4751bbabb70e8ef0691af57256 musl.patch +2c987c464c31e6ad5a34abd8401bb625e9438e656a55adca21e07ca6ee974d39b6d7e942805b17a72ef38154612e2475fd7951f185b775945c8bd740226668af tests.patch +22dfa5b071891ba16b9a8b90a1964d56e370cb640d78191934ae802e568f92c299b9d4d965f7081fb36a8c09378bfb0b33193b2332cbdc28c6799b152128c214 01-org.freedesktop.NetworkManager.rules +26f962cea0b6a75549d16c19a71e3559239b08b001927882702f5d9355a2cc95f7b13c581439f758a950d9a5bfb73b86ba61a5ffb22c9abe19f5b05fe5f5834a 10-openrc-status +f8c9331834cbc66ab0e4e6f4a120fde6a08a435d680a1e1087718fdbb2b9843a313e7ec30b7008822999dafd98e152aa7d2a96f87320ba9c91c3adb63e0b7c9a nm.confd +a8356480592ec5e818b390b83cb258248d64850748e9e485bed68befabf067219d02fda137ee63684e0cd2c0e4f5fca30f94f8db71f811149183ff4715159658 nm.initd" diff --git a/user/networkmanager/editline.patch b/user/networkmanager/editline.patch new file mode 100644 index 000000000..e97461d3a --- /dev/null +++ b/user/networkmanager/editline.patch @@ -0,0 +1,128 @@ +--- NetworkManager-1.18.1/clients/cli/agent.c.old 2019-04-18 09:19:11.000000000 +0000 ++++ NetworkManager-1.18.1/clients/cli/agent.c 2019-05-10 06:15:55.614930112 +0000 +@@ -25,8 +25,7 @@ + + #include <stdio.h> + #include <stdlib.h> +-#include <readline/readline.h> +-#include <readline/history.h> ++#include <editline/readline.h> + + #include "common.h" + #include "utils.h" +--- NetworkManager-1.18.1/clients/cli/common.c.old 2019-04-20 19:01:59.000000000 +0000 ++++ NetworkManager-1.18.1/clients/cli/common.c 2019-05-10 07:07:34.506620687 +0000 +@@ -26,8 +26,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <sys/ioctl.h> +-#include <readline/readline.h> +-#include <readline/history.h> ++#include <editline/readline.h> + + #include "nm-vpn-helpers.h" + #include "nm-client-utils.h" +@@ -984,7 +983,7 @@ + * nmc_readline_echo: + * + * The same as nmc_readline() except it can disable echoing of input characters if @echo_on is %FALSE. +- * nmc_readline(TRUE, ...) == nmc_readline(...) ++ * nmc_readline_echo(TRUE, ...) == nmc_readline(...) + */ + char * + nmc_readline_echo (const NmcConfig *nmc_config, +@@ -995,8 +994,7 @@ + va_list args; + gs_free char *prompt = NULL; + char *str; +- HISTORY_STATE *saved_history; +- HISTORY_STATE passwd_history = { 0, }; ++ int whence, curpos; + + va_start (args, prompt_fmt); + prompt = g_strdup_vprintf (prompt_fmt, args); +@@ -1006,8 +1004,7 @@ + + /* Hide the actual password */ + if (!echo_on) { +- saved_history = history_get_history_state (); +- history_set_history_state (&passwd_history); ++ whence = where_history (); + rl_redisplay_function = nmc_secret_redisplay; + } + +@@ -1016,7 +1013,10 @@ + /* Restore the non-hiding behavior */ + if (!echo_on) { + rl_redisplay_function = rl_redisplay; +- history_set_history_state (saved_history); ++ curpos = where_history (); ++ for (; curpos > whence; curpos--) { ++ remove_history (curpos); ++ } + } + + return str; +--- NetworkManager-1.18.1/clients/cli/connections.c.old 2019-04-20 19:01:59.000000000 +0000 ++++ NetworkManager-1.18.1/clients/cli/connections.c 2019-05-10 07:05:43.058781503 +0000 +@@ -26,8 +26,7 @@ + #include <unistd.h> + #include <signal.h> + #include <netinet/ether.h> +-#include <readline/readline.h> +-#include <readline/history.h> ++#include <editline/readline.h> + #include <fcntl.h> + + #include "nm-client-utils.h" +@@ -6007,9 +6006,6 @@ + return nmc_rl_gen_func_basic (text, state, avals); + } + +-/* from readline */ +-extern int rl_complete_with_tilde_expansion; +- + /* + * Attempt to complete on the contents of TEXT. START and END show the + * region of TEXT that contains the word to complete. We can use the +@@ -6036,9 +6032,6 @@ + /* Disable default filename completion */ + rl_attempted_completion_over = 1; + +- /* Enable tilde expansion when filenames are completed */ +- rl_complete_with_tilde_expansion = 1; +- + /* Filter out possible ANSI color escape sequences */ + prompt_tmp = nmc_filter_out_colors ((const char *) rl_prompt); + +@@ -9142,7 +9135,6 @@ + generator_func = _meta_abstract_generator; + } else if (g_strcmp0 (rl_prompt, PROMPT_IMPORT_FILE) == 0) { + rl_attempted_completion_over = 0; +- rl_complete_with_tilde_expansion = 1; + } else if (g_strcmp0 (rl_prompt, PROMPT_VPN_CONNECTION) == 0) { + generator_func = gen_vpn_ids; + } +--- NetworkManager-1.18.1/clients/cli/devices.c.old 2019-04-20 19:01:59.000000000 +0000 ++++ NetworkManager-1.18.1/clients/cli/devices.c 2019-05-10 06:16:21.432108032 +0000 +@@ -23,7 +23,7 @@ + + #include <stdio.h> + #include <stdlib.h> +-#include <readline/readline.h> ++#include <editline/readline.h> + + #include "nm-secret-agent-simple.h" + #include "nm-client-utils.h" +--- NetworkManager-1.18.1/clients/cli/nmcli.c.old 2019-04-20 19:01:59.000000000 +0000 ++++ NetworkManager-1.18.1/clients/cli/nmcli.c 2019-05-10 06:16:29.211257692 +0000 +@@ -30,8 +30,7 @@ + #include <unistd.h> + #include <locale.h> + #include <glib-unix.h> +-#include <readline/readline.h> +-#include <readline/history.h> ++#include <editline/readline.h> + + #include "nm-client-utils.h" + diff --git a/user/networkmanager/errno.patch b/user/networkmanager/errno.patch new file mode 100644 index 000000000..825cc97a7 --- /dev/null +++ b/user/networkmanager/errno.patch @@ -0,0 +1,21 @@ +--- NetworkManager-1.18.1/shared/nm-glib-aux/nm-errno.c.old 2019-04-19 09:31:51.000000000 +0000 ++++ NetworkManager-1.18.1/shared/nm-glib-aux/nm-errno.c 2019-05-10 06:01:00.812741059 +0000 +@@ -121,7 +121,6 @@ + nm_assert (buf); + nm_assert (buf_size > 0); + +-#if (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE + /* XSI-compliant */ + { + int errno_saved = errno; +@@ -132,10 +131,6 @@ + } + buf2 = buf; + } +-#else +- /* GNU-specific */ +- buf2 = strerror_r (errsv, buf, buf_size); +-#endif + + /* like g_strerror(), ensure that the error message is UTF-8. */ + if ( !g_get_charset (NULL) diff --git a/user/networkmanager/musl.patch b/user/networkmanager/musl.patch new file mode 100644 index 000000000..2e4370969 --- /dev/null +++ b/user/networkmanager/musl.patch @@ -0,0 +1,223 @@ +Misc header fixes for compatibility with musl libc. + +diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h +index c3b9448..e80a938 100644 +--- a/shared/systemd/src/basic/stdio-util.h ++++ b/shared/systemd/src/basic/stdio-util.h +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + ++#if defined(__GLIBC__) + #include <printf.h> ++#endif + #include <stdarg.h> + #include <stdio.h> + #include <sys/types.h> +diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h +index e029f86..935f136 100644 +--- a/shared/systemd/src/basic/sort-util.h ++++ b/shared/systemd/src/basic/sort-util.h +@@ -5,6 +5,13 @@ + + #include "macro.h" + ++#ifndef __COMPAR_FN_T ++# define __COMPAR_FN_T ++typedef int (*__compar_fn_t) (const void *, const void *); ++typedef __compar_fn_t comparison_fn_t; ++typedef int (*__compar_d_fn_t) (const void *, const void *, void *); ++#endif ++ + void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, + __compar_d_fn_t compar, void *arg); + +diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h +index 25e6ab8..7967e8a 100644 +--- a/shared/systemd/src/basic/util.h ++++ b/shared/systemd/src/basic/util.h +@@ -46,6 +46,12 @@ static inline unsigned u64log2(uint64_t n) { + #endif + } + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++typedef int (*__compar_d_fn_t) (const void *, const void *, void *); ++#endif ++ + static inline unsigned u32ctz(uint32_t n) { + #if __SIZEOF_INT__ == 4 + return n != 0 ? __builtin_ctz(n) : 32; +diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h +index 2b5baba..976850c 100644 +--- a/libnm-core/nm-utils.h ++++ b/libnm-core/nm-utils.h +@@ -30,7 +30,11 @@ + #include <netinet/in.h> + + /* For ETH_ALEN and INFINIBAND_ALEN */ ++#if defined(__GLIBC__) + #include <linux/if_ether.h> ++#else ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + #include <linux/if_infiniband.h> + + #include "nm-core-enum-types.h" +diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h +index d2246a8..4cb0807 100644 +--- a/shared/systemd/src/basic/socket-util.h ++++ b/shared/systemd/src/basic/socket-util.h +@@ -12,6 +12,11 @@ + #include <sys/socket.h> + #include <sys/types.h> + #include <sys/un.h> ++#if !defined(__GLIBC__) ++/* SIOCGSTAMPNS from linux/asm-generic.h ++ * for src/systemd/src/libsystemd-network/sd-lldp.c */ ++#include <linux/sockios.h> ++#endif + + #include "macro.h" + #include "missing_socket.h" +diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h +index 36148b5..d282eb2 100644 +--- a/src/platform/wifi/nm-wifi-utils.h ++++ b/src/platform/wifi/nm-wifi-utils.h +@@ -22,7 +22,11 @@ + #ifndef __WIFI_UTILS_H__ + #define __WIFI_UTILS_H__ + ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#else /* musl libc */ ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + + #include "nm-dbus-interface.h" + #include "nm-setting-wireless.h" +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index 7514fa7..f041382 100644 +--- a/src/devices/nm-device.c ++++ b/src/devices/nm-device.c +@@ -32,7 +32,11 @@ + #include <arpa/inet.h> + #include <fcntl.h> + #include <linux/if_addr.h> ++#if defined(__GLIBC__) + #include <linux/if_arp.h> ++#else ++#include <linux/if.h> ++#endif + #include <linux/rtnetlink.h> + #include <linux/pkt_sched.h> + +diff --git a/src/nm-manager.c b/src/nm-manager.c +index 0bf6a75..e392507 100644 +--- a/src/nm-manager.c ++++ b/src/nm-manager.c +@@ -26,6 +26,7 @@ + #include <stdlib.h> + #include <fcntl.h> + #include <unistd.h> ++#include <asm/types.h> + + #include "nm-utils/nm-c-list.h" + +--- NetworkManager-1.18.1/shared/systemd/src/basic/fs-util.h.old 2019-04-18 09:19:11.000000000 +0000 ++++ NetworkManager-1.18.1/shared/systemd/src/basic/fs-util.h 2019-05-10 06:02:21.493921788 +0000 +@@ -7,6 +7,7 @@ + #include <stdbool.h> + #include <stdint.h> + #include <sys/inotify.h> ++#include <sys/stat.h> + #include <sys/types.h> + #include <unistd.h> + +diff --git a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h +index 8c07c53..d043afc 100644 +--- a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h ++++ b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h +@@ -65,7 +65,7 @@ + # ifdef HAVE___SECURE_GETENV + # define secure_getenv __secure_getenv + # else +-# error neither secure_getenv nor __secure_getenv is available ++# define secure_getenv getenv + # endif + #endif + +--- NetworkManager-1.18.1/src/platform/nm-linux-platform.c.old 2019-04-19 09:31:51.000000000 +0000 ++++ NetworkManager-1.18.1/src/platform/nm-linux-platform.c 2019-05-10 07:21:32.665163629 +0000 +@@ -20,6 +20,7 @@ + #include "nm-default.h" + + #include "nm-linux-platform.h" ++#include "wpan/nm-wpan-utils.h" + + #include <arpa/inet.h> + #include <dlfcn.h> +@@ -28,7 +29,11 @@ + #include <libudev.h> + #include <linux/fib_rules.h> + #include <linux/ip.h> ++#ifdef __GLIBC__ + #include <linux/if_arp.h> ++#else ++#include <linux/if.h> ++#endif + #include <linux/if_bridge.h> + #include <linux/if_link.h> + #include <linux/if_tun.h> +@@ -57,7 +62,6 @@ + #include "nm-platform-private.h" + #include "wifi/nm-wifi-utils.h" + #include "wifi/nm-wifi-utils-wext.h" +-#include "wpan/nm-wpan-utils.h" + #include "nm-glib-aux/nm-io-utils.h" + #include "nm-udev-aux/nm-udev-utils.h" + +diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c +index b0afb5c..f72e346 100644 +--- a/shared/systemd/src/basic/process-util.c ++++ b/shared/systemd/src/basic/process-util.c +@@ -21,6 +21,9 @@ + #include <sys/wait.h> + #include <syslog.h> + #include <unistd.h> ++#ifndef __GLIBC__ ++#include <pthread.h> ++#endif + #if 0 /* NM_IGNORED */ + #if HAVE_VALGRIND_VALGRIND_H + #include <valgrind/valgrind.h> +@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) { + cached_pid = CACHED_PID_UNSET; + } + ++#ifdef __GLIBC__ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ + extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle); + extern void* __dso_handle _weak_; ++#endif + + pid_t getpid_cached(void) { + static bool installed = false; +@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) { + * only half-documented (glibc doesn't document it but LSB does — though only superficially) + * we'll check for errors only in the most generic fashion possible. */ + +- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { ++ #ifdef __GLIBC__ ++ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { ++ #else ++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { ++ #endif ++ + /* OOM? Let's try again later */ + cached_pid = CACHED_PID_UNSET; + return new_pid; + diff --git a/user/networkmanager/nm.confd b/user/networkmanager/nm.confd new file mode 100644 index 000000000..4a9922965 --- /dev/null +++ b/user/networkmanager/nm.confd @@ -0,0 +1,4 @@ +# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT +# seconds after starting, the service will be marked as inactive, and it will +# continue to wait for a connection in background mode. +INACTIVE_TIMEOUT=1 diff --git a/user/networkmanager/nm.initd b/user/networkmanager/nm.initd new file mode 100644 index 000000000..3209644c5 --- /dev/null +++ b/user/networkmanager/nm.initd @@ -0,0 +1,58 @@ +#!/sbin/openrc-run +# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org> +# Copyright 2013-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="NetworkManager daemon. The service is marked as started only \ +when a network connection is established." + +depend() { + need dbus + use consolekit + provide net +} + +start() { + # If we are re-called by a dispatcher event, we want to mark the service + # as started without starting the daemon again + yesno "${IN_BACKGROUND}" && return 0 + + [ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1" + + ebegin "Starting NetworkManager" + start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \ + --exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid + local _retval=$? + eend "${_retval}" + if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then + einfo "Marking NetworkManager as inactive. It will automatically be marked" + einfo "as started after a network connection has been established." + mark_service_inactive + fi + return "${_retval}" +} + +stop() { + # If we are re-called by a dispatcher event, we want to mark the service + # as inactive without stopping the daemon + if yesno "${IN_BACKGROUND}"; then + mark_service_inactive "${SVCNAME}" + return 0 + fi + + ebegin "Stopping NetworkManager" + local pidfile=/run/NetworkManager/NetworkManager.pid + if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then + # Try stopping the pid file used by <0.9.7 + pidfile=/var/run/NetworkManager.pid + start-stop-daemon --stop --quiet --pidfile "${pidfile}" + ret=$? + [ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}" + eend ${ret} + else + start-stop-daemon --stop --quiet --pidfile "${pidfile}" + eend $? + fi +} + +# vim: set ft=gentoo-init-d ts=4 : diff --git a/user/networkmanager/tests.patch b/user/networkmanager/tests.patch new file mode 100644 index 000000000..8fb5cda60 --- /dev/null +++ b/user/networkmanager/tests.patch @@ -0,0 +1,18 @@ +--- NetworkManager-1.18.1/src/devices/tests/test-lldp.c.old 2019-04-18 09:19:11.000000000 +0000 ++++ NetworkManager-1.18.1/src/devices/tests/test-lldp.c 2019-05-10 07:23:58.979198831 +0000 +@@ -21,7 +21,6 @@ + #include "nm-default.h" + + #include <fcntl.h> +-#include <linux/if_tun.h> + #include <sys/ioctl.h> + #include <sys/stat.h> + #include <sys/types.h> +@@ -32,6 +31,7 @@ + #include "platform/tests/test-common.h" + + #include "nm-test-utils-core.h" ++#include <linux/if_tun.h> + + /*****************************************************************************/ + diff --git a/user/newt/APKBUILD b/user/newt/APKBUILD new file mode 100644 index 000000000..c05167f63 --- /dev/null +++ b/user/newt/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=newt +pkgver=0.52.20 +pkgrel=0 +pkgdesc="Terminal user interface library" +url="https://pagure.io/newt/" +arch="all" +options="!check" # No test suite. +license="LGPL-2.0-only" +depends="" +makedepends="popt-dev slang-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pagure.io/newt/archive/r${pkgver//./-}/newt-r${pkgver//./-}.tar.gz" +builddir="$srcdir/newt-r${pkgver//./-}" + +prepare() { + default_prepare + ./autogen.sh +} + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="d8d66cef16595d289e4d8cc75589c684e855158f0eda3530d8be9f980f663c4f175ac47925cf9ba6980e9e5fdb0a83f7bcacf38fef0db31a1a48a62bd07bdec6 newt-r0-52-20.tar.gz" diff --git a/user/notmuch/APKBUILD b/user/notmuch/APKBUILD index 4e8153630..c97dce2cc 100644 --- a/user/notmuch/APKBUILD +++ b/user/notmuch/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=notmuch -pkgver=0.28.3 +pkgver=0.28.4 pkgrel=0 pkgdesc="Thread-based email index, search and tagging" url="https://notmuchmail.org/" @@ -92,5 +92,5 @@ zshcomp() { mv "$pkgdir/usr/share/zsh" "$subpkgdir/usr/share" } -sha512sums="dd3931b78cc27540e962f1fca5f4ebb1c04b2637a5761cda023f307fd9be4b5ddc2af26010330868c55200fa96b60b2a11b3b22d4c20d2a4a2d3787421ed85cf notmuch-0.28.3.tar.gz +sha512sums="77d7ad81e1f7dc93ae6392346da434f6dc74c21d19be728c2a6ca283c429f36e7081387d223af58eb5f63f5d2a8ad8367f0103f0bb9d052890c07fe419abbee7 notmuch-0.28.4.tar.gz b2991ee5edf927f04d904d99888dbce17a98e9d4d7d809bc2248f45d214025f4a1632b19e4fbca2b08e99721ec8a7eea82384c5c718206884801c7bfa5a8c540 0.28.2-disable-rpath.patch" diff --git a/user/okular/0001-Ensure-compatibility-with-Qt.patch b/user/okular/0001-Ensure-compatibility-with-Qt.patch deleted file mode 100644 index dfd2daa75..000000000 --- a/user/okular/0001-Ensure-compatibility-with-Qt.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 00f76c2df98c44722b05f7c350cf6b3241c2128f Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Thu, 18 Apr 2019 18:17:32 -0500 -Subject: [PATCH] Ensure compatibility with Qt <5.10 - -Qt::AA_CompressTabletEvents was added in Qt 5.10. Use preprocessor check -to avoid build failures on 5.9 LTS or 5.8 (the minimum version). ---- - shell/main.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/shell/main.cpp b/shell/main.cpp -index 17b58c610..dbdebf1a4 100644 ---- a/shell/main.cpp -+++ b/shell/main.cpp -@@ -19,6 +19,7 @@ - #include <QTextStream> - #include <kwindowsystem.h> - #include <QApplication> -+#include <QtGlobal> - #include <KAboutData> - #include <KCrash> - #include <KMessageBox> -@@ -31,7 +32,9 @@ - int main(int argc, char** argv) - { - QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); -+#if QT_VERSION >= 0x051000 - QCoreApplication::setAttribute(Qt::AA_CompressTabletEvents); -+#endif - - QApplication app(argc, argv); - KLocalizedString::setApplicationDomain("okular"); --- -2.21.0 - diff --git a/user/okular/APKBUILD b/user/okular/APKBUILD index 7a8fa0fa6..a4d7cacc3 100644 --- a/user/okular/APKBUILD +++ b/user/okular/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=okular -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Universal document reader developed by KDE" url="https://okular.kde.org/" @@ -17,7 +17,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev libspectre-dev ebook-tools-dev" subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/applications/$pkgver/src/okular-$pkgver.tar.xz - 0001-Ensure-compatibility-with-Qt.patch + es-doc-fix.patch " build() { @@ -47,5 +47,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8a28f0cafb9b4ae8f5b3720958ccf511b9c40bbbe9b725fac11e103b1ebbb4a8a7cf84917cbe355bae7bd279584902e14907eafed2c5145b3c83d80d0a5ae25f okular-19.04.0.tar.xz -cdaae2b04abaa4663e6a9f1e95dc3659c756ad1f159dc85bad52b6d55b37aef9aa7e52e773687f6295b248f6df0518e59d9da45d5819354f9eea407037a6959c 0001-Ensure-compatibility-with-Qt.patch" +sha512sums="01be68692d106a4cc830361e9653f477e6ed204905950cf4db366b20c2665abc7914d6fca0504fc5ea2064f2f1e28dc8662deef3a73a52b32f3cdfafffed3007 okular-19.04.1.tar.xz +d82dd9de666a28ef605d8a81e74851f265be4ccaeaa39a1cdee9eb1db830fcd0d581d01d6e89a1d36b8ea5c9c8113f1016090dc0e9f17070d388166d9e967458 es-doc-fix.patch" diff --git a/user/okular/es-doc-fix.patch b/user/okular/es-doc-fix.patch new file mode 100644 index 000000000..05967d736 --- /dev/null +++ b/user/okular/es-doc-fix.patch @@ -0,0 +1,11 @@ +--- okular-19.04.1/po/es/docs/okular/index.docbook.old 2019-05-07 00:14:57.000000000 +0000 ++++ okular-19.04.1/po/es/docs/okular/index.docbook 2019-05-12 03:14:04.511177243 +0000 +@@ -1090,7 +1090,7 @@ + <para + >Para eliminar una anotación, pulse sobre ella con el &RMB; y seleccione <guimenuitem + >Borrar</guimenuitem +-> o seleccione una anotación usando el &LMB; y pulse la tecla ∇. </para> ++> o seleccione una anotación usando el &LMB; y pulse la tecla Delete. </para> + <para + >Al borrar una anotación, su ventana se cerrará si estuviera abierta. </para> + <note> diff --git a/user/p11-kit/APKBUILD b/user/p11-kit/APKBUILD index ee6c68cb9..fff4a60c6 100644 --- a/user/p11-kit/APKBUILD +++ b/user/p11-kit/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Fabian Affolter <fabian@affolter-engineering.ch> # Maintainer: pkgname=p11-kit -pkgver=0.23.15 +pkgver=0.23.16.1 pkgrel=0 pkgdesc="Library for loading and sharing PKCS#11 modules" url="https://p11-glue.github.io/p11-glue/p11-kit.html" @@ -46,4 +46,4 @@ trust() { "$subpkgdir"/usr/lib/pkcs11/ } -sha512sums="d703eec12626b79551ce337521f7ea7b1a0b64c211d7a93d831dd28ec1de77c7b58358c1588bf82d70f047c01ad9433fa8a286d1a25ae3f6b0ee6016b8c42950 p11-kit-0.23.15.tar.gz" +sha512sums="7d0bbd793b43dba081054b4d022a8dbd1d477a3bd6aced72a641087023cf020f1d898899a08e737880e6c810f924814c62497c5ecb19f8322cde42667426a9a7 p11-kit-0.23.16.1.tar.gz" diff --git a/user/palapeli/APKBUILD b/user/palapeli/APKBUILD index fd7b7388f..8038b6717 100644 --- a/user/palapeli/APKBUILD +++ b/user/palapeli/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=palapeli -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Jigsaw puzzle game by KDE" url="https://www.kde.org/applications/games/palapeli/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="af4427ae453a7dcc9163d785dc04b926393f25dfc95ade924ffe5be95be45ee7c8eb0b58ebe4795c7c66241e633999f4bd887f7553f35881f9c5d5b178b23b87 palapeli-19.04.0.tar.xz" +sha512sums="a560646ce1577b3ea24cefdd2ffc7053c407469ed1d76e0c4af9c74f45222daebf56d8e409cf8f832da73baaa6402dccacd06cf72c71cfc34e9b25c542b4a8a0 palapeli-19.04.1.tar.xz" diff --git a/user/ppp/02_all_make-vars.patch b/user/ppp/02_all_make-vars.patch new file mode 100644 index 000000000..7937d666e --- /dev/null +++ b/user/ppp/02_all_make-vars.patch @@ -0,0 +1,185 @@ +--- ppp-2.4.5/chat/Makefile.linux ++++ ppp-2.4.5/chat/Makefile.linux +@@ -10,7 +10,6 @@ + CDEF4= -DFNDELAY=O_NDELAY # Old name value + CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4) + +-COPTS= -O2 -g -pipe + CFLAGS= $(COPTS) $(CDEFS) + + INSTALL= install +@@ -18,7 +17,7 @@ + all: chat + + chat: chat.o +- $(CC) -o chat chat.o ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ + + chat.o: chat.c + $(CC) -c $(CFLAGS) -o chat.o chat.c +--- ppp-2.4.5/pppd/Makefile.linux ++++ ppp-2.4.5/pppd/Makefile.linux +@@ -32,7 +32,7 @@ + + # CC = gcc + # +-COPTS = -O2 -pipe -Wall -g ++COPTS+= -Wall + LIBS = + + # Uncomment the next 2 lines to include support for Microsoft's +--- ppp-2.4.5/pppd/plugins/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/Makefile.linux +@@ -1,7 +1,11 @@ + #CC = gcc +-COPTS = -O2 -g + CFLAGS = $(COPTS) -I.. -I../../include -fPIC +-LDFLAGS = -shared ++LDFLAGS_PROG := $(LDFLAGS) ++export LDFLAGS LDFLAGS_PROG ++LDFLAGS += -shared ++# need the following option, otherwise linking plugins might fail with undef errors (Gentoo bug 210837) ++LDFLAGS += -Wl,--allow-shlib-undefined ++LIBS = + INSTALL = install + + DESTDIR = $(INSTROOT)@DESTDIR@ +@@ -23,7 +27,7 @@ + for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done + + %.so: %.c +- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS) + + VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h) + +--- ppp-2.4.5/pppd/plugins/pppoatm/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/pppoatm/Makefile.linux +@@ -1,7 +1,5 @@ + #CC = gcc +-COPTS = -O2 -g + CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC +-LDFLAGS = -shared + INSTALL = install + + #*********************************************************************** +@@ -33,7 +31,7 @@ + all: $(PLUGIN) + + $(PLUGIN): $(PLUGIN_OBJS) +- $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS) ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS) + + install: all + $(INSTALL) -d -m 755 $(LIBDIR) +--- ppp-2.4.5/pppd/plugins/pppol2tp/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/pppol2tp/Makefile.linux +@@ -1,7 +1,5 @@ + #CC = gcc +-COPTS = -O2 -g + CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC +-LDFLAGS = -shared + INSTALL = install + + #*********************************************************************** +@@ -16,7 +14,7 @@ + all: $(PLUGINS) + + %.so: %.o +- $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS) ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS) + + install: all + $(INSTALL) -d -m 755 $(LIBDIR) +--- ppp-2.4.5/pppd/plugins/radius/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/radius/Makefile.linux +@@ -12,7 +12,7 @@ + INSTALL = install + + PLUGIN=radius.so radattr.so radrealms.so +-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON ++CFLAGS=$(COPTS) -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON + + # Uncomment the next line to include support for Microsoft's + # MS-CHAP authentication protocol. +@@ -43,13 +43,13 @@ + $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR) + + radius.so: radius.o libradiusclient.a +- $(CC) -o radius.so -shared radius.o libradiusclient.a ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ + + radattr.so: radattr.o +- $(CC) -o radattr.so -shared radattr.o ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ + + radrealms.so: radrealms.o +- $(CC) -o radrealms.so -shared radrealms.o ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ + + CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \ + clientid.o sendserver.o lock.o util.o md5.o +--- ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux +@@ -25,12 +25,11 @@ + # Version is set ONLY IN THE MAKEFILE! Don't delete this! + RP_VERSION=3.8p + +-COPTS=-O2 -g + CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"' + all: rp-pppoe.so pppoe-discovery + + pppoe-discovery: pppoe-discovery.o debug.o +- $(CC) -o pppoe-discovery pppoe-discovery.o debug.o ++ $(CC) $(LDFLAGS_PROG) $(CFLAGS) -o pppoe-discovery pppoe-discovery.o debug.o + + pppoe-discovery.o: pppoe-discovery.c + $(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c +@@ -39,7 +38,7 @@ + $(CC) $(CFLAGS) -c -o debug.o debug.c + + rp-pppoe.so: plugin.o discovery.o if.o common.o +- $(CC) -o rp-pppoe.so -shared plugin.o discovery.o if.o common.o ++ $(CC) $(LDFLAGS) $(CFLAGS) -o rp-pppoe.so plugin.o discovery.o if.o common.o + + install: all + $(INSTALL) -d -m 755 $(LIBDIR) +--- ppp-2.4.5/pppdump/Makefile.linux ++++ ppp-2.4.5/pppdump/Makefile.linux +@@ -2,7 +2,7 @@ + BINDIR = $(DESTDIR)/sbin + MANDIR = $(DESTDIR)/share/man/man8 + +-CFLAGS= -O -I../include/net ++CFLAGS=$(COPTS) -I../include/net + OBJS = pppdump.o bsd-comp.o deflate.o zlib.o + + INSTALL= install +@@ -10,7 +10,7 @@ + all: pppdump + + pppdump: $(OBJS) +- $(CC) -o pppdump $(OBJS) ++ $(CC) $(LDFLAGS) -o pppdump $(OBJS) + + clean: + rm -f pppdump $(OBJS) *~ +--- ppp-2.4.5/pppstats/Makefile.linux ++++ ppp-2.4.5/pppstats/Makefile.linux +@@ -10,7 +10,6 @@ + PPPSTATOBJS = pppstats.o + + #CC = gcc +-COPTS = -O + COMPILE_FLAGS = -I../include + LIBS = + +@@ -26,7 +25,7 @@ + $(INSTALL) -c -m 444 pppstats.8 $(MANDIR) + + pppstats: $(PPPSTATSRCS) +- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS) + + clean: + rm -f pppstats *~ #* core diff --git a/user/ppp/03_all_use_internal_logwtmp.patch b/user/ppp/03_all_use_internal_logwtmp.patch new file mode 100644 index 000000000..d9ecddf25 --- /dev/null +++ b/user/ppp/03_all_use_internal_logwtmp.patch @@ -0,0 +1,22 @@ +Use internal implementation of logwtmp function to prevent +utilities from sys-apps/coreutils to not detect authorized users + +Patch by: Sergey Popov <pinkbyte@gentoo.org> + +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -2196,7 +2197,6 @@ + return ok; + } + +-#ifndef HAVE_LOGWTMP + /******************************************************************** + * + * Update the wtmp file with the appropriate user name and tty device. +@@ -2270,7 +2270,7 @@ + } + #endif + } +-#endif /* HAVE_LOGWTMP */ ++ + diff --git a/user/ppp/04_all_mpls.patch b/user/ppp/04_all_mpls.patch new file mode 100644 index 000000000..54b79f7bd --- /dev/null +++ b/user/ppp/04_all_mpls.patch @@ -0,0 +1,427 @@ +--- ppp-2.4.5/pppd/main.c ++++ ppp-2.4.5/pppd/main.c +@@ -96,6 +96,9 @@ + #include "fsm.h" + #include "lcp.h" + #include "ipcp.h" ++ ++#include "mplscp.h" ++ + #ifdef INET6 + #include "ipv6cp.h" + #endif +@@ -283,6 +286,7 @@ + &cbcp_protent, + #endif + &ipcp_protent, ++ &mplscp_protent, + #ifdef INET6 + &ipv6cp_protent, + #endif +--- ppp-2.4.5/pppd/Makefile.linux ++++ ppp-2.4.5/pppd/Makefile.linux +@@ -13,16 +13,16 @@ + + PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap-new.c md5.c ccp.c \ + ecp.c ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c \ +- demand.c utils.c tty.c eap.c chap-md5.c session.c ++ demand.c utils.c tty.c eap.c chap-md5.c session.c mplscp.c + + HEADERS = ccp.h session.h chap-new.h ecp.h fsm.h ipcp.h \ + ipxcp.h lcp.h magic.h md5.h patchlevel.h pathnames.h pppd.h \ +- upap.h eap.h ++ upap.h eap.h mplscp.h + + MANPAGES = pppd.8 + PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o \ + ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o \ +- eap.o chap-md5.o session.o ++ eap.o chap-md5.o session.o mplscp.o + + # + # include dependencies if present +--- ppp-2.4.5/pppd/mplscp.c ++++ ppp-2.4.5/pppd/mplscp.c +@@ -0,0 +1,371 @@ ++ ++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */ ++ ++#include <stdio.h> ++#include <string.h> ++#include <netdb.h> ++#include <sys/param.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <netinet/in.h> ++#include <arpa/inet.h> ++ ++#include "pppd.h" ++#include "fsm.h" ++#include "mplscp.h" ++ ++ ++/* local vars */ ++/* static int mplscp_is_up; */ /* have called np_up() */ ++ ++/* ++ * Callbacks for fsm code. (CI = Configuration Information) ++ */ ++static void mplscp_resetci __P((fsm *)); /* Reset our CI */ ++static int mplscp_cilen __P((fsm *)); /* Return length of our CI */ ++static void mplscp_addci __P((fsm *, u_char *, int *)); /* Add our CI */ ++static int mplscp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */ ++static int mplscp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */ ++static int mplscp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */ ++static int mplscp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */ ++static void mplscp_up __P((fsm *)); /* We're UP */ ++static void mplscp_down __P((fsm *)); /* We're DOWN */ ++static void mplscp_finished __P((fsm *)); /* Don't need lower layer */ ++ ++fsm mplscp_fsm[NUM_PPP]; /* MPLSCP fsm structure */ ++ ++static fsm_callbacks mplscp_callbacks = { /* MPLSCP callback routines */ ++ mplscp_resetci, /* Reset our Configuration Information */ ++ mplscp_cilen, /* Length of our Configuration Information */ ++ mplscp_addci, /* Add our Configuration Information */ ++ mplscp_ackci, /* ACK our Configuration Information */ ++ mplscp_nakci, /* NAK our Configuration Information */ ++ mplscp_rejci, /* Reject our Configuration Information */ ++ mplscp_reqci, /* Request peer's Configuration Information */ ++ mplscp_up, /* Called when fsm reaches OPENED state */ ++ mplscp_down, /* Called when fsm leaves OPENED state */ ++ NULL, /* Called when we want the lower layer up */ ++ mplscp_finished, /* Called when we want the lower layer down */ ++ NULL, /* Called when Protocol-Reject received */ ++ NULL, /* Retransmission is necessary */ ++ NULL, /* Called to handle protocol-specific codes */ ++ "MPLSCP" /* String name of protocol */ ++}; ++ ++static option_t mplscp_option_list[] = { ++ { "mpls", o_bool, &mplscp_protent.enabled_flag, ++ "Enable MPLSCP (and MPLS)", 1 }, ++ { NULL } }; ++ ++/* ++ * Protocol entry points from main code. ++ */ ++ ++static void mplscp_init __P((int)); ++static void mplscp_open __P((int)); ++static void mplscp_close __P((int, char *)); ++static void mplscp_lowerup __P((int)); ++static void mplscp_lowerdown __P((int)); ++static void mplscp_input __P((int, u_char *, int)); ++static void mplscp_protrej __P((int)); ++static int mplscp_printpkt __P((u_char *, int, ++ void (*) __P((void *, char *, ...)), void *)); ++ ++struct protent mplscp_protent = { ++ PPP_MPLSCP, ++ mplscp_init, ++ mplscp_input, ++ mplscp_protrej, ++ mplscp_lowerup, ++ mplscp_lowerdown, ++ mplscp_open, ++ mplscp_close, ++ mplscp_printpkt, ++ NULL, ++ 0, /* MPLS not enabled by default */ ++ "MPLSCP", ++ "MPLS", ++ mplscp_option_list, ++ NULL, ++ NULL, ++ NULL ++}; ++ ++/* ++ * mplscp_init - Initialize MPLSCP. ++ */ ++static void ++mplscp_init(int unit) { ++ ++ fsm *f = &mplscp_fsm[unit]; ++ ++ f->unit = unit; ++ f->protocol = PPP_MPLSCP; ++ f->callbacks = &mplscp_callbacks; ++ fsm_init(&mplscp_fsm[unit]); ++ ++} ++ ++/* ++ * mplscp_open - MPLSCP is allowed to come up. ++ */ ++static void ++mplscp_open(int unit) { ++ ++ fsm_open(&mplscp_fsm[unit]); ++ ++} ++ ++/* ++ * mplscp_close - Take MPLSCP down. ++ */ ++static void ++mplscp_close(int unit, char *reason) { ++ ++ fsm_close(&mplscp_fsm[unit], reason); ++ ++} ++ ++/* ++ * mplscp_lowerup - The lower layer is up. ++ */ ++static void ++mplscp_lowerup(int unit) { ++ ++ fsm_lowerup(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_lowerdown - The lower layer is down. ++ */ ++static void ++mplscp_lowerdown(int unit) { ++ ++ fsm_lowerdown(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_input - Input MPLSCP packet. ++ */ ++static void ++mplscp_input(int unit, u_char *p, int len) { ++ ++ fsm_input(&mplscp_fsm[unit], p, len); ++} ++ ++/* ++ * mplscp_protrej - A Protocol-Reject was received for MPLSCP. ++ * Pretend the lower layer went down, so we shut up. ++ */ ++static void ++mplscp_protrej(int unit) { ++ ++ fsm_lowerdown(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_resetci - Reset our CI. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static void ++mplscp_resetci(fsm *f) { ++ ++ return; ++} ++ ++/* ++ * mplscp_cilen - Return length of our CI. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static int ++mplscp_cilen(fsm *f) { ++ ++ return 0; ++} ++ ++/* ++ * mplscp_addci - Add our desired CIs to a packet. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static void ++mplscp_addci(fsm *f, u_char *ucp, int *lenp) { ++ ++} ++ ++/* ++ * ipcp_ackci - Ack our CIs. ++ * Called by fsm_rconfack, Receive Configure ACK. ++ * ++ * Returns: ++ * 0 - Ack was bad. ++ * 1 - Ack was good. ++ */ ++static int ++mplscp_ackci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++ ++} ++ ++/* ++ * mplscp_nakci - Peer has sent a NAK for some of our CIs. ++ * This should not modify any state if the Nak is bad ++ * or if MPLSCP is in the OPENED state. ++ * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject. ++ * ++ * Returns: ++ * 0 - Nak was bad. ++ * 1 - Nak was good. ++ */ ++static int ++mplscp_nakci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++} ++ ++/* ++ * MPLSVP_rejci - Reject some of our CIs. ++ * Callback from fsm_rconfnakrej. ++ */ ++static int ++mplscp_rejci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++ ++} ++ ++/* ++ * mplscp_reqci - Check the peer's requested CIs and send appropriate response. ++ * Callback from fsm_rconfreq, Receive Configure Request ++ * ++ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified ++ * appropriately. If reject_if_disagree is non-zero, doesn't return ++ * CONFNAK; returns CONFREJ if it can't return CONFACK. ++ */ ++static int ++mplscp_reqci(fsm *f, u_char *inp, int *len, int reject_if_disagree) { ++ ++ ++ int rc = CONFACK; /* Final packet return code */ ++ ++ PUTCHAR(CONFACK,inp); ++ ++ return rc; ++ ++} ++ ++static void ++mplscp_up(fsm *f) { ++ ++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_PASS); ++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_PASS);*/ ++ ++ np_up(f->unit, PPP_MPLS_UC); ++ /* np_up(f->unit, PPP_MPLS_MC);*/ ++ /* ipcp_is_up = 1;*/ ++ ++ ++#if 1 ++ printf("MPLSCP is OPENED\n"); ++#endif ++ ++} ++ ++static void ++mplscp_down(fsm *f) { ++ ++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_DROP); ++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_DROP);*/ ++ ++ sifdown(f->unit); ++ ++#if 1 ++ printf("MPLSCP is CLOSED\n"); ++#endif ++ ++ ++} ++ ++static void ++mplscp_finished(fsm *f) { ++ ++ np_finished(f->unit, PPP_MPLS_UC); ++ /* np_finished(f->unit, PPP_MPLS_MC);*/ ++ ++} ++ ++/* ++ * mpls_printpkt - print the contents of an MPLSCP packet. ++ */ ++static char *mplscp_codenames[] = { ++ "ConfReq", "ConfAck", "ConfNak", "ConfRej", ++ "TermReq", "TermAck", "CodeRej" ++}; ++ ++static int ++mplscp_printpkt(u_char *p, int plen, ++ void (*printer) __P((void *, char *, ...)), ++ void *arg) { ++ ++ int code, id, len, olen; ++ u_char *pstart, *optend; ++ ++ if (plen < HEADERLEN) ++ return 0; ++ pstart = p; ++ GETCHAR(code, p); ++ GETCHAR(id, p); ++ GETSHORT(len, p); ++ if (len < HEADERLEN || len > plen) ++ return 0; ++ ++ if (code >= 1 && code <= sizeof(mplscp_codenames) / sizeof(char *)) ++ printer(arg, " %s", mplscp_codenames[code-1]); ++ else ++ printer(arg, " code=0x%x", code); ++ printer(arg, " id=0x%x", id); ++ len -= HEADERLEN; ++ switch (code) { ++ case CONFREQ: ++ case CONFACK: ++ case CONFNAK: ++ case CONFREJ: ++ /* print option list */ ++ while (len >= 2) { ++ GETCHAR(code, p); ++ GETCHAR(olen, p); ++ p -= 2; ++ if (olen < 2 || olen > len) { ++ break; ++ } ++ printer(arg, " <"); ++ len -= olen; ++ optend = p + olen; ++ while (p < optend) { ++ GETCHAR(code, p); ++ printer(arg, " %.2x", code); ++ } ++ printer(arg, ">"); ++ } ++ break; ++ ++ case TERMACK: ++ case TERMREQ: ++ if (len > 0 && *p >= ' ' && *p < 0x7f) { ++ printer(arg, " "); ++ print_string((char *)p, len, printer, arg); ++ p += len; ++ len = 0; ++ } ++ break; ++ } ++ ++ /* print the rest of the bytes in the packet */ ++ for (; len > 0; --len) { ++ GETCHAR(code, p); ++ printer(arg, " %.2x", code); ++ } ++ ++ return p - pstart; ++ ++} +--- ppp-2.4.5/pppd/mplscp.h ++++ ppp-2.4.5/pppd/mplscp.h +@@ -0,0 +1,8 @@ ++ ++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */ ++ ++#define PPP_MPLSCP 0x8281 ++#define PPP_MPLS_UC 0x0281 ++#define PPP_MPLS_MC 0x0283 ++ ++extern struct protent mplscp_protent; diff --git a/user/ppp/06_all_killaddr-smarter.patch b/user/ppp/06_all_killaddr-smarter.patch new file mode 100644 index 000000000..d86534843 --- /dev/null +++ b/user/ppp/06_all_killaddr-smarter.patch @@ -0,0 +1,131 @@ +--- ppp-2.4.5/pppd/options.c ++++ ppp-2.4.5/pppd/options.c +@@ -100,6 +100,9 @@ + char user[MAXNAMELEN]; /* Username for PAP */ + char passwd[MAXSECRETLEN]; /* Password for PAP */ + bool persist = 0; /* Reopen link after it goes down */ ++bool killoldaddr = 0; /* If our IP is reassigned on ++ reconnect, kill active TCP ++ connections using the old IP. */ + char our_name[MAXNAMELEN]; /* Our name for authentication purposes */ + bool demand = 0; /* do dial-on-demand */ + char *ipparam = NULL; /* Extra parameter for ip up/down scripts */ +@@ -231,6 +234,11 @@ + { "demand", o_bool, &demand, + "Dial on demand", OPT_INITONLY | 1, &persist }, + ++ { "killoldaddr", o_bool, &killoldaddr, ++ "Kill connections from an old source address", 1}, ++ { "nokilloldaddr", o_bool,&killoldaddr, ++ "Don't kill connections from an old source address" }, ++ + { "--version", o_special_noarg, (void *)showversion, + "Show version number" }, + { "--help", o_special_noarg, (void *)showhelp, +--- ppp-2.4.5/pppd/pppd.h ++++ ppp-2.4.5/pppd/pppd.h +@@ -298,6 +298,9 @@ + extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */ + extern bool explicit_remote;/* remote_name specified with remotename opt */ + extern bool demand; /* Do dial-on-demand */ ++extern bool killoldaddr; /* If our IP is reassigned on ++ reconnect, kill active TCP ++ connections using the old IP. */ + extern char *ipparam; /* Extra parameter for ip up/down scripts */ + extern bool cryptpap; /* Others' PAP passwords are encrypted */ + extern int idle_time_limit;/* Shut down link if idle for this long */ +--- ppp-2.4.5/pppd/sys-linux.c ++++ ppp-2.4.5/pppd/sys-linux.c +@@ -165,6 +165,10 @@ + + #endif /* INET6 */ + ++#ifndef SIOCKILLADDR ++#define SIOCKILLADDR 0x8939 ++#endif ++ + /* We can get an EIO error on an ioctl if the modem has hung up */ + #define ok_error(num) ((num)==EIO) + +@@ -209,6 +213,7 @@ + static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */ + static char proxy_arp_dev[16]; /* Device for proxy arp entry */ + static u_int32_t our_old_addr; /* for detecting address changes */ ++static u_int32_t our_current_addr; + static int dynaddr_set; /* 1 if ip_dynaddr set */ + static int looped; /* 1 if using loop */ + static int link_mtu; /* mtu for the link (not bundle) */ +@@ -537,6 +542,27 @@ + return -1; + } + ++static void do_killaddr(u_int32_t oldaddr) ++{ ++ struct ifreq ifr; ++ ++ memset(&ifr,0,sizeof ifr); ++ ++ SET_SA_FAMILY (ifr.ifr_addr, AF_INET); ++ SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET); ++ SET_SA_FAMILY (ifr.ifr_netmask, AF_INET); ++ ++ SIN_ADDR(ifr.ifr_addr) = oldaddr; ++ ++ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); ++ ++ if(ioctl(sock_fd,SIOCKILLADDR,&ifr) < 0) { ++ if (!ok_error (errno)) ++ error("ioctl(SIOCKILLADDR): %m(%d)", errno); ++ return; ++ } ++} ++ + /******************************************************************** + * + * tty_disestablish_ppp - Restore the serial port to normal operation. +@@ -2385,21 +2411,29 @@ + } + } + +- /* set ip_dynaddr in demand mode if address changes */ +- if (demand && tune_kernel && !dynaddr_set +- && our_old_addr && our_old_addr != our_adr) { ++ if(persist && our_old_addr && our_old_addr != our_adr) { ++ ++ if(killoldaddr) ++ do_killaddr(our_old_addr); ++ ++ ++ /* set ip_dynaddr in persist mode if address changes */ ++ if (tune_kernel && !dynaddr_set) { + /* set ip_dynaddr if possible */ + char *path; + int fd; + + path = path_to_procfs("/sys/net/ipv4/ip_dynaddr"); + if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) { +- if (write(fd, "1", 1) != 1) +- error("Couldn't enable dynamic IP addressing: %m"); +- close(fd); ++ if (write(fd, "1", 1) != 1) ++ error("Couldn't enable dynamic IP addressing: %m"); ++ close(fd); + } + dynaddr_set = 1; /* only 1 attempt */ ++ } + } ++ ++ our_current_addr = our_adr; + our_old_addr = 0; + + return 1; +@@ -2455,7 +2489,8 @@ + } + + our_old_addr = our_adr; +- ++ our_current_addr = 0; ++ + return 1; + } + diff --git a/user/ppp/08_all_wait-children.patch b/user/ppp/08_all_wait-children.patch new file mode 100644 index 000000000..708cf04d6 --- /dev/null +++ b/user/ppp/08_all_wait-children.patch @@ -0,0 +1,76 @@ +--- ppp-2.4.5/pppd/main.c ++++ ppp-2.4.5/pppd/main.c +@@ -249,6 +249,7 @@ + static void forget_child __P((int pid, int status)); + static int reap_kids __P((void)); + static void childwait_end __P((void *)); ++static void wait_children __P((void)); + + #ifdef USE_TDB + static void update_db_entry __P((void)); +@@ -580,25 +581,11 @@ + if (!persist) + break; + } ++ ++ wait_children(); + } + +- /* Wait for scripts to finish */ +- reap_kids(); +- if (n_children > 0) { +- if (child_wait > 0) +- TIMEOUT(childwait_end, NULL, child_wait); +- if (debug) { +- struct subprocess *chp; +- dbglog("Waiting for %d child processes...", n_children); +- for (chp = children; chp != NULL; chp = chp->next) +- dbglog(" script %s, pid %d", chp->prog, chp->pid); +- } +- while (n_children > 0 && !childwait_done) { +- handle_events(); +- if (kill_link && !childwait_done) +- childwait_end(NULL); +- } +- } ++ wait_children(); + + die(status); + return 0; +@@ -1794,6 +1781,36 @@ + } + + /* ++ * wait_children - wait for scripts to finish. ++ * if child_wait is 0, wait indefinitely. ++ * else, kill'em all at the end of timeout ++ */ ++static void ++wait_children() ++{ ++ /* Wait for scripts to finish */ ++ reap_kids(); ++ if (n_children > 0) { ++ childwait_done = 0; ++ if (child_wait > 0) ++ TIMEOUT(childwait_end, NULL, child_wait); ++ if (debug) { ++ struct subprocess *chp; ++ dbglog("Waiting for %d child processes...", n_children); ++ for (chp = children; chp != NULL; chp = chp->next) ++ dbglog(" script %s, pid %d", chp->prog, chp->pid); ++ } ++ while (n_children > 0 && !childwait_done) { ++ handle_events(); ++ if (asked_to_quit && !childwait_done) ++ childwait_end(NULL); ++ } ++ if (child_wait > 0) ++ UNTIMEOUT(childwait_end, NULL); ++ } ++} ++ ++/* + * childwait_end - we got fed up waiting for the child processes to + * exit, send them all a SIGTERM. + */ diff --git a/user/ppp/10_all_defaultgateway.patch b/user/ppp/10_all_defaultgateway.patch new file mode 100644 index 000000000..1b7ae6396 --- /dev/null +++ b/user/ppp/10_all_defaultgateway.patch @@ -0,0 +1,90 @@ +This patch reverses revision 1.114 of the pppd/sys-linux.c file. +The default gateway is needed by the openswan's %defaultroute. + +--- ppp-2.4.7/pppd/sys-linux.c ++++ ppp-2.4.7/pppd/sys-linux.c +@@ -206,7 +206,7 @@ + + static int if_is_up; /* Interface has been marked up */ + static int if6_is_up; /* Interface has been marked up for IPv6, to help differentiate */ +-static int have_default_route; /* Gateway for default route added */ ++static u_int32_t default_route_gateway; /* Gateway for default route added */ + static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */ + static char proxy_arp_dev[16]; /* Device for proxy arp entry */ + static u_int32_t our_old_addr; /* for detecting address changes */ +@@ -346,8 +346,8 @@ + /* + * Delete any routes through the device. + */ +- if (have_default_route) +- cifdefaultroute(0, 0, 0); ++ if (default_route_gateway != 0) ++ cifdefaultroute(0, 0, default_route_gateway); + + if (has_proxy_arp) + cifproxyarp(0, proxy_arp_addr); +@@ -1621,17 +1621,17 @@ + struct rtentry rt; + + if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) { +- if (rt.rt_flags & RTF_GATEWAY) +- error("not replacing existing default route via %I", +- SIN_ADDR(rt.rt_gateway)); +- else +- error("not replacing existing default route through %s", +- rt.rt_dev); ++ u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway); ++ ++ if (old_gateway != gateway) ++ error("not replacing existing default route to %s [%I]", ++ rt.rt_dev, old_gateway); + return 0; + } + +- memset (&rt, 0, sizeof (rt)); +- SET_SA_FAMILY (rt.rt_dst, AF_INET); ++ memset (&rt, '\0', sizeof (rt)); ++ SET_SA_FAMILY (rt.rt_dst, AF_INET); ++ SET_SA_FAMILY (rt.rt_gateway, AF_INET); + + rt.rt_dev = ifname; + +@@ -1640,14 +1640,16 @@ + SIN_ADDR(rt.rt_genmask) = 0L; + } + +- rt.rt_flags = RTF_UP; ++ SIN_ADDR(rt.rt_gateway) = gateway; ++ ++ rt.rt_flags = RTF_UP | RTF_GATEWAY; + if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) { + if ( ! ok_error ( errno )) + error("default route ioctl(SIOCADDRT): %m"); + return 0; + } + +- have_default_route = 1; ++ default_route_gateway = gateway; + return 1; + } + +@@ -1660,7 +1662,7 @@ + { + struct rtentry rt; + +- have_default_route = 0; ++ default_route_gateway = 0; + + memset (&rt, '\0', sizeof (rt)); + SET_SA_FAMILY (rt.rt_dst, AF_INET); +@@ -1673,7 +1675,9 @@ + SIN_ADDR(rt.rt_genmask) = 0L; + } + +- rt.rt_flags = RTF_UP; ++ SIN_ADDR(rt.rt_gateway) = gateway; ++ ++ rt.rt_flags = RTF_UP | RTF_GATEWAY; + if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) { + if (still_ppp()) { + if ( ! ok_error ( errno )) diff --git a/user/ppp/12_all_linkpidfile.patch b/user/ppp/12_all_linkpidfile.patch new file mode 100644 index 000000000..9c5769c8f --- /dev/null +++ b/user/ppp/12_all_linkpidfile.patch @@ -0,0 +1,93 @@ +--- ppp-2.4.5/pppd/auth.c ++++ ppp-2.4.5/pppd/auth.c +@@ -637,7 +637,7 @@ + * we delete its pid file. + */ + if (!doing_multilink && !demand) +- remove_pidfiles(); ++ remove_pidfile(pidfilename); + + /* + * If we may want to bring the link up again, transfer +--- ppp-2.4.5/pppd/main.c ++++ ppp-2.4.5/pppd/main.c +@@ -134,7 +134,7 @@ + + char *progname; /* Name of this program */ + char hostname[MAXNAMELEN]; /* Our hostname */ +-static char pidfilename[MAXPATHLEN]; /* name of pid file */ ++char pidfilename[MAXPATHLEN]; /* name of pid file */ + static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */ + char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */ + uid_t uid; /* Our real user-id */ +@@ -245,6 +245,7 @@ + static void toggle_debug __P((int)); + static void open_ccp __P((int)); + static void bad_signal __P((int)); ++static void remove_pidfilenames __P((void)); + static void holdoff_end __P((void *)); + static void forget_child __P((int pid, int status)); + static int reap_kids __P((void)); +@@ -835,16 +836,24 @@ + } + + /* +- * remove_pidfile - remove our pid files ++ * remove_pidfile - remove one of the 2 pidfiles (pidfilename or linkpidfile) + */ +-void remove_pidfiles() ++void ++remove_pidfile(filename) ++ char* filename; + { +- if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT) +- warn("unable to delete pid file %s: %m", pidfilename); +- pidfilename[0] = 0; +- if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT) +- warn("unable to delete pid file %s: %m", linkpidfile); +- linkpidfile[0] = 0; ++ if (filename[0] != 0 && unlink(filename) < 0 && errno != ENOENT) ++ warn("unable to delete pid file %s: %m", filename); ++ filename[0] = 0; ++} ++ ++/* ++ * remove_pidfiles - remove our pid files ++ */ ++static void remove_pidfiles() ++{ ++ remove_pidfile(pidfilename); ++ remove_pidfile(linkpidfile); + } + + /* +--- ppp-2.4.5/pppd/multilink.c ++++ ppp-2.4.5/pppd/multilink.c +@@ -267,7 +267,7 @@ + notice("Connection terminated."); + print_link_stats(); + if (!demand) { +- remove_pidfiles(); ++ remove_pidfile(pidfilename); + script_unsetenv("IFNAME"); + } + +--- ppp-2.4.5/pppd/pppd.h ++++ ppp-2.4.5/pppd/pppd.h +@@ -214,6 +214,7 @@ + extern int ifunit; /* Interface unit number */ + extern char ifname[]; /* Interface name */ + extern char hostname[]; /* Our hostname */ ++extern char pidfilename[]; /* name of pid file */ + extern u_char outpacket_buf[]; /* Buffer for outgoing packets */ + extern int devfd; /* fd of underlying device */ + extern int fd_ppp; /* fd for talking PPP */ +@@ -497,7 +498,7 @@ + int ppp_send_config __P((int, int, u_int32_t, int, int)); + int ppp_recv_config __P((int, int, u_int32_t, int, int)); + const char *protocol_name __P((int)); +-void remove_pidfiles __P((void)); ++void remove_pidfile __P((char *)); + void lock_db __P((void)); + void unlock_db __P((void)); + diff --git a/user/ppp/16_all_auth-fail.patch b/user/ppp/16_all_auth-fail.patch new file mode 100644 index 000000000..8ae238035 --- /dev/null +++ b/user/ppp/16_all_auth-fail.patch @@ -0,0 +1,138 @@ +--- ppp-2.4.5/pppd/auth.c ++++ ppp-2.4.5/pppd/auth.c +@@ -259,7 +259,7 @@ + struct wordlist **, struct wordlist **, + char *, int)); + static void free_wordlist __P((struct wordlist *)); +-static void auth_script __P((char *)); ++static void auth_script __P((char *, int)); + static void auth_script_done __P((void *)); + static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *)); + static int some_ip_ok __P((struct wordlist *)); +@@ -690,7 +690,7 @@ + if (auth_script_state == s_up && auth_script_pid == 0) { + update_link_stats(unit); + auth_script_state = s_down; +- auth_script(_PATH_AUTHDOWN); ++ auth_script(_PATH_AUTHDOWN, 0); + } + } + if (!doing_multilink) { +@@ -822,7 +822,7 @@ + auth_state = s_up; + if (auth_script_state == s_down && auth_script_pid == 0) { + auth_script_state = s_up; +- auth_script(_PATH_AUTHUP); ++ auth_script(_PATH_AUTHUP, 0); + } + } + +@@ -923,6 +923,7 @@ + * Authentication failure: take the link down + */ + status = EXIT_PEER_AUTH_FAILED; ++ auth_script(_PATH_AUTHFAIL, 1); + lcp_close(unit, "Authentication failed"); + } + +@@ -1001,6 +1002,7 @@ + * authentication secrets. + */ + status = EXIT_AUTH_TOPEER_FAILED; ++ auth_script(_PATH_AUTHFAIL, 1); + lcp_close(unit, "Failed to authenticate ourselves to peer"); + } + +@@ -1233,6 +1235,8 @@ + if (user[0] == 0 && !explicit_user) + strlcpy(user, our_name, sizeof(user)); + ++ script_setenv("LOCALNAME", user, 0); ++ + /* + * If we have a default route, require the peer to authenticate + * unless the noauth option was given or the real user is root. +@@ -2314,13 +2318,13 @@ + case s_up: + if (auth_state == s_down) { + auth_script_state = s_down; +- auth_script(_PATH_AUTHDOWN); ++ auth_script(_PATH_AUTHDOWN, 0); + } + break; + case s_down: + if (auth_state == s_up) { + auth_script_state = s_up; +- auth_script(_PATH_AUTHUP); ++ auth_script(_PATH_AUTHUP, 0); + } + break; + } +@@ -2331,8 +2335,9 @@ + * interface-name peer-name real-user tty speed + */ + static void +-auth_script(script) ++auth_script(script, wait) + char *script; ++ int wait; + { + char strspeed[32]; + struct passwd *pw; +@@ -2356,5 +2361,8 @@ + argv[5] = strspeed; + argv[6] = NULL; + +- auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0); ++ if (wait) ++ run_program(script, argv, 0, NULL, NULL, 1); ++ else ++ auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0); + } +--- ppp-2.4.5/pppd/pathnames.h ++++ ppp-2.4.5/pppd/pathnames.h +@@ -27,6 +27,7 @@ + #define _PATH_IPPREUP _ROOT_PATH "/etc/ppp/ip-pre-up" + #define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up" + #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down" ++#define _PATH_AUTHFAIL _ROOT_PATH "/etc/ppp/auth-fail" + #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." + #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" + #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" +--- ppp-2.4.5/pppd/pppd.8 ++++ ppp-2.4.5/pppd/pppd.8 +@@ -1553,8 +1553,8 @@ + Pppd invokes scripts at various stages in its processing which can be + used to perform site-specific ancillary processing. These scripts are + usually shell scripts, but could be executable code files instead. +-Pppd does not wait for the scripts to finish (except for the ip-pre-up +-script). The scripts are ++Pppd does not wait for the scripts to finish (except for the ip-pre-up, ++and auth-fail scripts). The scripts are + executed as root (with the real and effective user-id set to 0), so + that they can do things such as update routing tables or run + privileged daemons. Be careful that the contents of these scripts do +@@ -1582,6 +1582,11 @@ + The authenticated name of the peer. This is only set if the peer + authenticates itself. + .TP ++.B LOCALNAME ++The username passed to the user option of the pppd daemon. This is ++handy to identify which account was used for authentication purposes ++when multiple accounts are available. ++.TP + .B SPEED + The baud rate of the tty device. + .TP +@@ -1634,6 +1639,11 @@ + /etc/ppp/auth\-up was previously executed. It is executed in the same + manner with the same parameters as /etc/ppp/auth\-up. + .TP ++.B /etc/ppp/auth\-fail ++A program or script which is executed should authentication fail. pppd ++waits for this script to finish. It is executed in the same manner, with ++the same parameters as /etc/ppp/auth\-up. ++.TP + .B /etc/ppp/ip\-pre\-up + A program or script which is executed just before the ppp network + interface is brought up. It is executed with the same parameters as diff --git a/user/ppp/18_all_defaultmetric.patch b/user/ppp/18_all_defaultmetric.patch new file mode 100644 index 000000000..fba787005 --- /dev/null +++ b/user/ppp/18_all_defaultmetric.patch @@ -0,0 +1,104 @@ +--- ppp-2.4.5/pppd/options.c ++++ ppp-2.4.5/pppd/options.c +@@ -94,6 +94,7 @@ + int kdebugflag = 0; /* Tell kernel to print debug messages */ + int default_device = 1; /* Using /dev/tty or equivalent */ + char devnam[MAXPATHLEN]; /* Device name */ ++int defaultmetric = 0; /* Metric of the default route */ + bool nodetach = 0; /* Don't detach from controlling tty */ + bool updetach = 0; /* Detach once link is up */ + int maxconnect = 0; /* Maximum connect time */ +@@ -289,6 +290,10 @@ + "Number of seconds to wait for child processes at exit", + OPT_PRIO }, + ++ { "defaultmetric", o_int, &defaultmetric, ++ "The metric of the default route", ++ OPT_LIMITS, 0, 32766 }, ++ + #ifdef HAVE_MULTILINK + { "multilink", o_bool, &multilink, + "Enable multilink operation", OPT_PRIO | 1 }, +--- ppp-2.4.5/pppd/pppd.8 ++++ ppp-2.4.5/pppd/pppd.8 +@@ -121,6 +121,9 @@ + This entry is removed when the PPP connection is broken. This option + is privileged if the \fInodefaultroute\fR option has been specified. + .TP ++.B defaultmetric \fIn ++The metric of the default route configured by pppd; default is 0. ++.TP + .B disconnect \fIscript + Execute the command specified by \fIscript\fR, by passing it to a + shell, after +--- ppp-2.4.5/pppd/pppd.h ++++ ppp-2.4.5/pppd/pppd.h +@@ -276,6 +276,7 @@ + extern int kdebugflag; /* Tell kernel to print debug messages */ + extern int default_device; /* Using /dev/tty or equivalent */ + extern char devnam[MAXPATHLEN]; /* Device name */ ++extern int defaultmetric; /* Metric of the default route */ + extern int crtscts; /* Use hardware flow control */ + extern bool modem; /* Use modem control lines */ + extern int inspeed; /* Input/Output speed requested */ +--- ppp-2.4.5/pppd/sys-linux.c ++++ ppp-2.4.5/pppd/sys-linux.c +@@ -1465,7 +1465,7 @@ + FILE *route_fd = (FILE *) 0; + static char route_buffer[512]; + static int route_dev_col, route_dest_col, route_gw_col; +-static int route_flags_col, route_mask_col; ++static int route_flags_col, route_mask_col, route_metric_col; + static int route_num_cols; + + static int open_route_table (void); +@@ -1508,6 +1508,7 @@ + route_dest_col = 1; + route_gw_col = 2; + route_flags_col = 3; ++ route_metric_col = 6; + route_mask_col = 7; + route_num_cols = 8; + +@@ -1527,6 +1528,8 @@ + route_gw_col = col; + else if (strcasecmp(q, "flags") == 0) + route_flags_col = col; ++ else if (strcasecmp(q, "metric") == 0) ++ route_metric_col = col; + else if (strcasecmp(q, "mask") == 0) + route_mask_col = col; + else +@@ -1569,6 +1572,7 @@ + + rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16); + rt->rt_dev = cols[route_dev_col]; ++ rt->rt_metric = (short) strtoul(cols[route_metric_col], NULL, 16); + + return 1; + } +@@ -1591,6 +1595,8 @@ + + if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0) + continue; ++ if (rt->rt_metric != defaultmetric) /* consider only routes with the same metric */ ++ continue; + if (SIN_ADDR(rt->rt_dst) == 0L) { + result = 1; + break; +@@ -1661,6 +1667,7 @@ + SIN_ADDR(rt.rt_gateway) = gateway; + + rt.rt_flags = RTF_UP | RTF_GATEWAY; ++ rt.rt_metric = defaultmetric + 1; /* +1 for binary compatibility */ + if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) { + if ( ! ok_error ( errno )) + error("default route ioctl(SIOCADDRT): %m"); +@@ -1696,6 +1703,7 @@ + SIN_ADDR(rt.rt_gateway) = gateway; + + rt.rt_flags = RTF_UP | RTF_GATEWAY; ++ rt.rt_metric = defaultmetric + 1; /* +1 for binary compatibility */ + if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) { + if (still_ppp()) { + if ( ! ok_error ( errno )) diff --git a/user/ppp/19_all_radius_pid_overflow.patch b/user/ppp/19_all_radius_pid_overflow.patch new file mode 100644 index 000000000..b5078bdb9 --- /dev/null +++ b/user/ppp/19_all_radius_pid_overflow.patch @@ -0,0 +1,14 @@ +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782450 +https://bugs.gentoo.org/546554 + +--- ppp-2.4.7/pppd/plugins/radius/util.c ++++ ppp-2.4.7/pppd/plugins/radius/util.c +@@ -77,7 +77,7 @@ + static unsigned short int cnt = 0; + sprintf (buf, "%08lX%04X%02hX", + (unsigned long int) time (NULL), +- (unsigned int) getpid (), ++ (unsigned int) getpid () % 65535, + cnt & 0xFF); + cnt++; + return buf; diff --git a/user/ppp/20_all_dev-ppp.patch b/user/ppp/20_all_dev-ppp.patch new file mode 100644 index 000000000..eff3e37f0 --- /dev/null +++ b/user/ppp/20_all_dev-ppp.patch @@ -0,0 +1,20 @@ +--- ppp-2.4.6/pppd/sys-linux.c ++++ ppp-2.4.6/pppd/sys-linux.c +@@ -2031,6 +2031,17 @@ + kernel_version = KVERSION(osmaj, osmin, ospatch); + + fd = open("/dev/ppp", O_RDWR); ++ if (fd < 0) { ++ /* try making it and see if that helps. */ ++ if (errno == ENOENT && mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, ++ makedev(108, 0)) >= 0) { ++ fd = open("/dev/ppp", O_RDWR); ++ if (fd >= 0) ++ info("Created /dev/ppp device node"); ++ else ++ unlink("/dev/ppp"); /* didn't work, undo the mknod */ ++ } ++ } + if (fd >= 0) { + new_style_driver = 1; + diff --git a/user/ppp/21_all_custom_iface_names.patch b/user/ppp/21_all_custom_iface_names.patch new file mode 100644 index 000000000..5d3f7b94b --- /dev/null +++ b/user/ppp/21_all_custom_iface_names.patch @@ -0,0 +1,144 @@ +pppd: Support arbitrary interface names + +This patch implements a new string option "ifname" which allows to specify +fully custom PPP interface names on Linux. It does so by renaming the +allocated pppX device immediately after it has been created to the requested +interface name. + +Originally written by Suse. Used by openwrt, debian, ubuntu. + +Reference: + +https://dev.openwrt.org/browser/trunk/package/network/services/ppp/patches/320-custom_iface_names.patch + +diff -purN ppp-2.4.7.orig/pppd/main.c ppp-2.4.7/pppd/main.c +--- ppp-2.4.7.orig/pppd/main.c 2016-08-25 15:52:52.032202044 +0200 ++++ ppp-2.4.7/pppd/main.c 2016-08-25 16:22:25.740299940 +0200 +@@ -729,8 +729,11 @@ void + set_ifunit(iskey) + int iskey; + { +- info("Using interface %s%d", PPP_DRV_NAME, ifunit); +- slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit); ++ if (use_ifname[0] == 0) ++ slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit); ++ else ++ slprintf(ifname, sizeof(ifname), "%s", use_ifname); ++ info("Using interface %s", ifname); + script_setenv("IFNAME", ifname, iskey); + if (iskey) { + create_pidfile(getpid()); /* write pid to file */ +diff -purN ppp-2.4.7.orig/pppd/options.c ppp-2.4.7/pppd/options.c +--- ppp-2.4.7.orig/pppd/options.c 2016-08-25 15:52:52.191194523 +0200 ++++ ppp-2.4.7/pppd/options.c 2016-08-25 16:04:23.335501924 +0200 +@@ -115,6 +115,7 @@ int log_to_fd = 1; /* send log messages + bool log_default = 1; /* log_to_fd is default (stdout) */ + int maxfail = 10; /* max # of unsuccessful connection attempts */ + char linkname[MAXPATHLEN]; /* logical name for link */ ++char use_ifname[IFNAMSIZ]; /* physical name for PPP link */ + bool tune_kernel; /* may alter kernel settings */ + int connect_delay = 1000; /* wait this many ms after connect script */ + int req_unit = -1; /* requested interface unit */ +@@ -274,6 +275,9 @@ option_t general_options[] = { + { "linkname", o_string, linkname, + "Set logical name for link", + OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXPATHLEN }, ++ { "ifname", o_string, use_ifname, ++ "Set physical name for PPP interface", ++ OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, IFNAMSIZ }, + + { "maxfail", o_int, &maxfail, + "Maximum number of unsuccessful connection attempts to allow", +diff -purN ppp-2.4.7.orig/pppd/pppd.h ppp-2.4.7/pppd/pppd.h +--- ppp-2.4.7.orig/pppd/pppd.h 2016-08-25 15:52:52.829164346 +0200 ++++ ppp-2.4.7/pppd/pppd.h 2016-08-25 16:07:12.024522417 +0200 +@@ -71,6 +71,10 @@ + #include "eui64.h" + #endif + ++#ifndef IFNAMSIZ ++#define IFNAMSIZ 16 ++#endif ++ + /* + * Limits. + */ +@@ -319,6 +323,7 @@ extern char *record_file; /* File to rec + extern bool sync_serial; /* Device is synchronous serial device */ + extern int maxfail; /* Max # of unsuccessful connection attempts */ + extern char linkname[MAXPATHLEN]; /* logical name for link */ ++extern char use_ifname[IFNAMSIZ]; /* physical name for PPP interface */ + extern bool tune_kernel; /* May alter kernel settings as necessary */ + extern int connect_delay; /* Time to delay after connect script */ + extern int max_data_rate; /* max bytes/sec through charshunt */ +diff -purN ppp-2.4.7.orig/pppd/sys-linux.c ppp-2.4.7/pppd/sys-linux.c +--- ppp-2.4.7.orig/pppd/sys-linux.c 2016-08-25 15:52:52.268190881 +0200 ++++ ppp-2.4.7/pppd/sys-linux.c 2016-08-25 16:12:13.905242396 +0200 +@@ -172,6 +172,10 @@ struct in6_ifreq { + /* We can get an EIO error on an ioctl if the modem has hung up */ + #define ok_error(num) ((num)==EIO) + ++#if !defined(PPP_DRV_NAME) ++#define PPP_DRV_NAME "ppp" ++#endif /* !defined(PPP_DRV_NAME) */ ++ + static int tty_disc = N_TTY; /* The TTY discipline */ + static int ppp_disc = N_PPP; /* The PPP discpline */ + static int initfdflags = -1; /* Initial file descriptor flags for fd */ +@@ -644,7 +648,8 @@ void generic_disestablish_ppp(int dev_fd + */ + static int make_ppp_unit() + { +- int x, flags; ++ struct ifreq ifr; ++ int x, flags, s; + + if (ppp_dev_fd >= 0) { + dbglog("in make_ppp_unit, already had /dev/ppp open?"); +@@ -667,6 +672,30 @@ static int make_ppp_unit() + } + if (x < 0) + error("Couldn't create new ppp unit: %m"); ++ ++ if (use_ifname[0] != 0) { ++ s = socket(PF_INET, SOCK_DGRAM, 0); ++ if (s < 0) ++ s = socket(PF_PACKET, SOCK_DGRAM, 0); ++ if (s < 0) ++ s = socket(PF_INET6, SOCK_DGRAM, 0); ++ if (s < 0) ++ s = socket(PF_UNIX, SOCK_DGRAM, 0); ++ if (s >= 0) { ++ slprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s%d", PPP_DRV_NAME, ifunit); ++ slprintf(ifr.ifr_newname, sizeof(ifr.ifr_newname), "%s", use_ifname); ++ x = ioctl(s, SIOCSIFNAME, &ifr); ++ close(s); ++ } else { ++ x = s; ++ } ++ if (x < 0) { ++ error("Couldn't rename %s to %s", ifr.ifr_name, ifr.ifr_newname); ++ close(ppp_dev_fd); ++ ppp_dev_fd = -1; ++ } ++ } ++ + return x; + } + +diff -purN ppp-2.4.7.orig/pppstats/pppstats.c ppp-2.4.7/pppstats/pppstats.c +--- ppp-2.4.7.orig/pppstats/pppstats.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7/pppstats/pppstats.c 2016-08-25 16:13:52.623572634 +0200 +@@ -506,10 +506,12 @@ main(argc, argv) + if (argc > 0) + interface = argv[0]; + ++#if 0 + if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) { + fprintf(stderr, "%s: invalid interface '%s' specified\n", + progname, interface); + } ++#endif + + #ifndef STREAMS + { diff --git a/user/ppp/24_all_passwordfd-read-early.patch b/user/ppp/24_all_passwordfd-read-early.patch new file mode 100644 index 000000000..f549540dc --- /dev/null +++ b/user/ppp/24_all_passwordfd-read-early.patch @@ -0,0 +1,84 @@ +--- ppp-2.4.5/pppd/plugins/passwordfd.c ++++ ppp-2.4.5/pppd/plugins/passwordfd.c +@@ -16,11 +16,11 @@ + + char pppd_version[] = VERSION; + +-static int passwdfd = -1; + static char save_passwd[MAXSECRETLEN]; + ++static int readpassword __P((char **)); + static option_t options[] = { +- { "passwordfd", o_int, &passwdfd, ++ { "passwordfd", o_special, (void *)readpassword, + "Receive password on this file descriptor" }, + { NULL } + }; +@@ -30,43 +30,39 @@ + return 1; + } + +-static int pwfd_passwd (char *user, char *passwd) ++static int readpassword(char **argv) + { +- int readgood, red; +- +- if (passwdfd == -1) +- return -1; +- +- if (passwd == NULL) +- return 1; +- +- if (passwdfd == -2) { +- strcpy (passwd, save_passwd); +- return 1; ++ char *arg = *argv; ++ int passwdfd = -1; ++ int chunk, len; ++ ++ if (sscanf(arg, "%d", &passwdfd) != 1 || passwdfd < 0) ++ { ++ error ("\"%s\" is not a valid file descriptor number", arg); ++ return 0; + } + +- readgood = 0; ++ len = 0; + do { +- red = read (passwdfd, passwd + readgood, MAXSECRETLEN - 1 - readgood); +- if (red == 0) +- break; +- if (red < 0) { +- error ("Can't read secret from fd\n"); +- readgood = -1; ++ chunk = read (passwdfd, save_passwd + len, MAXSECRETLEN - 1 - len); ++ if (chunk == 0) + break; ++ if (chunk < 0) { ++ error ("Can't read secret from fd %d", passwdfd); ++ return 0; + } +- readgood += red; +- } while (readgood < MAXSECRETLEN - 1); +- ++ len += chunk; ++ } while (len < MAXSECRETLEN - 1); ++ save_passwd[len] = 0; + close (passwdfd); + +- if (readgood < 0) +- return 0; +- +- passwd[readgood] = 0; +- strcpy (save_passwd, passwd); +- passwdfd = -2; ++ return 1; ++} + ++static int pwfd_passwd (char *user, char *passwd) ++{ ++ if (passwd != NULL) ++ strcpy (passwd, save_passwd); + return 1; + } + diff --git a/user/ppp/26_all_pppd-usepeerwins.patch b/user/ppp/26_all_pppd-usepeerwins.patch new file mode 100644 index 000000000..d66fbe0b1 --- /dev/null +++ b/user/ppp/26_all_pppd-usepeerwins.patch @@ -0,0 +1,256 @@ +--- ppp-2.4.6/pppd/ipcp.c ++++ ppp-2.4.6/pppd/ipcp.c +@@ -91,6 +91,7 @@ + static int default_route_set[NUM_PPP]; /* Have set up a default route */ + static int proxy_arp_set[NUM_PPP]; /* Have created proxy arp entry */ + static bool usepeerdns; /* Ask peer for DNS addrs */ ++static bool usepeerwins; /* Ask peer for WINS addrs */ + static int ipcp_is_up; /* have called np_up() */ + static int ipcp_is_open; /* haven't called np_finished() */ + static bool ask_for_local; /* request our address from peer */ +@@ -210,6 +211,9 @@ + { "usepeerdns", o_bool, &usepeerdns, + "Ask peer for DNS address(es)", 1 }, + ++ { "usepeerwins", o_bool, &usepeerwins, ++ "Ask peer for WINS address(es)", 1 }, ++ + { "netmask", o_special, (void *)setnetmask, + "set netmask", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, netmask_str }, + +@@ -703,6 +707,8 @@ + wo->accept_remote = 1; + wo->req_dns1 = usepeerdns; /* Request DNS addresses from the peer */ + wo->req_dns2 = usepeerdns; ++ wo->req_wins1 = usepeerwins; /* Request WINS addresses from the peer */ ++ wo->req_wins2 = usepeerwins; + *go = *wo; + if (!ask_for_local) + go->ouraddr = 0; +@@ -755,8 +761,8 @@ + LENCIADDR(go->neg_addr) + + LENCIDNS(go->req_dns1) + + LENCIDNS(go->req_dns2) + +- LENCIWINS(go->winsaddr[0]) + +- LENCIWINS(go->winsaddr[1])) ; ++ LENCIWINS(go->req_wins1) + ++ LENCIWINS(go->req_wins2)) ; + } + + +@@ -830,8 +836,8 @@ + neg = 0; \ + } + +-#define ADDCIWINS(opt, addr) \ +- if (addr) { \ ++#define ADDCIWINS(opt, neg, addr) \ ++ if (neg) { \ + if (len >= CILEN_ADDR) { \ + u_int32_t l; \ + PUTCHAR(opt, ucp); \ +@@ -840,7 +846,7 @@ + PUTLONG(l, ucp); \ + len -= CILEN_ADDR; \ + } else \ +- addr = 0; \ ++ neg = 0; \ + } + + ADDCIADDRS(CI_ADDRS, !go->neg_addr && go->old_addrs, go->ouraddr, +@@ -855,9 +861,9 @@ + + ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]); + +- ADDCIWINS(CI_MS_WINS1, go->winsaddr[0]); ++ ADDCIWINS(CI_MS_WINS1, go->req_wins1, go->winsaddr[0]); + +- ADDCIWINS(CI_MS_WINS2, go->winsaddr[1]); ++ ADDCIWINS(CI_MS_WINS2, go->req_wins2, go->winsaddr[1]); + + *lenp -= len; + } +@@ -962,8 +968,8 @@ + goto bad; \ + } + +-#define ACKCIWINS(opt, addr) \ +- if (addr) { \ ++#define ACKCIWINS(opt, neg, addr) \ ++ if (neg) { \ + u_int32_t l; \ + if ((len -= CILEN_ADDR) < 0) \ + goto bad; \ +@@ -989,9 +995,9 @@ + + ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]); + +- ACKCIWINS(CI_MS_WINS1, go->winsaddr[0]); ++ ACKCIWINS(CI_MS_WINS1, go->req_wins1, go->winsaddr[0]); + +- ACKCIWINS(CI_MS_WINS2, go->winsaddr[1]); ++ ACKCIWINS(CI_MS_WINS2, go->req_wins2, go->winsaddr[1]); + + /* + * If there are any remaining CIs, then this packet is bad. +@@ -1026,7 +1032,7 @@ + u_char cimaxslotindex, cicflag; + u_char citype, cilen, *next; + u_short cishort; +- u_int32_t ciaddr1, ciaddr2, l, cidnsaddr; ++ u_int32_t ciaddr1, ciaddr2, l, cidnsaddr, ciwinsaddr; + ipcp_options no; /* options we've seen Naks for */ + ipcp_options try; /* options to request next time */ + +@@ -1091,6 +1097,19 @@ + code \ + } + ++#define NAKCIWINS(opt, neg, code) \ ++ if (go->neg && \ ++ ((cilen = p[1]) == CILEN_ADDR) && \ ++ len >= cilen && \ ++ p[0] == opt) { \ ++ len -= cilen; \ ++ INCPTR(2, p); \ ++ GETLONG(l, p); \ ++ ciwinsaddr = htonl(l); \ ++ no.neg = 1; \ ++ code \ ++ } ++ + /* + * Accept the peer's idea of {our,his} address, if different + * from our idea, only if the accept_{local,remote} flag is set. +@@ -1167,6 +1186,22 @@ + } + ); + ++ NAKCIWINS(CI_MS_WINS1, req_wins1, ++ if (treat_as_reject) { ++ try.req_wins1 = 0; ++ } else { ++ try.winsaddr[0] = ciwinsaddr; ++ } ++ ); ++ ++ NAKCIWINS(CI_MS_WINS2, req_wins2, ++ if (treat_as_reject) { ++ try.req_wins2 = 0; ++ } else { ++ try.winsaddr[1] = ciwinsaddr; ++ } ++ ); ++ + /* + * There may be remaining CIs, if the peer is requesting negotiation + * on an option that we didn't include in our request packet. +@@ -1259,7 +1294,6 @@ + return 0; + } + +- + /* + * ipcp_rejci - Reject some of our CIs. + * Callback from fsm_rconfnakrej. +@@ -1357,8 +1391,8 @@ + try.neg = 0; \ + } + +-#define REJCIWINS(opt, addr) \ +- if (addr && \ ++#define REJCIWINS(opt, neg, addr) \ ++ if (go->neg && \ + ((cilen = p[1]) == CILEN_ADDR) && \ + len >= cilen && \ + p[0] == opt) { \ +@@ -1370,7 +1404,7 @@ + /* Check rejected value. */ \ + if (cilong != addr) \ + goto bad; \ +- try.winsaddr[opt == CI_MS_WINS2] = 0; \ ++ try.neg = 0; \ + } + + REJCIADDRS(CI_ADDRS, !go->neg_addr && go->old_addrs, +@@ -1385,9 +1419,9 @@ + + REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]); + +- REJCIWINS(CI_MS_WINS1, go->winsaddr[0]); ++ REJCIWINS(CI_MS_WINS1, req_wins1, go->winsaddr[0]); + +- REJCIWINS(CI_MS_WINS2, go->winsaddr[1]); ++ REJCIWINS(CI_MS_WINS2, req_wins2, go->winsaddr[1]); + + /* + * If there are any remaining CIs, then this packet is bad. +@@ -1581,7 +1615,7 @@ + /* Microsoft primary or secondary WINS request */ + d = citype == CI_MS_WINS2; + +- /* If we do not have a DNS address then we cannot send it */ ++ /* If we do not have a WINS address then we cannot send it */ + if (ao->winsaddr[d] == 0 || + cilen != CILEN_ADDR) { /* Check CI length */ + orc = CONFREJ; /* Reject CI */ +@@ -1830,6 +1864,13 @@ + create_resolv(go->dnsaddr[0], go->dnsaddr[1]); + } + ++ if (go->winsaddr[0]) ++ script_setenv("WINS1", ip_ntoa(go->winsaddr[0]), 0); ++ if (go->winsaddr[1]) ++ script_setenv("WINS2", ip_ntoa(go->winsaddr[1]), 0); ++ if (usepeerwins && (go->winsaddr[0] || go->winsaddr[1])) ++ script_setenv("USEPEERWINS", "1", 0); ++ + /* + * Check that the peer is allowed to use the IP address it wants. + */ +--- ppp-2.4.6/pppd/ipcp.h ++++ ppp-2.4.6/pppd/ipcp.h +@@ -77,6 +77,8 @@ + bool accept_remote; /* accept peer's value for hisaddr */ + bool req_dns1; /* Ask peer to send primary DNS address? */ + bool req_dns2; /* Ask peer to send secondary DNS address? */ ++ bool req_wins1; /* Ask peer to send primary WINS address? */ ++ bool req_wins2; /* Ask peer to send secondary WINS address? */ + int vj_protocol; /* protocol value to use in VJ option */ + int maxslotindex; /* values for RFC1332 VJ compression neg. */ + bool cflag; +--- ppp-2.4.6/pppd/pppd.8 ++++ ppp-2.4.6/pppd/pppd.8 +@@ -1102,6 +1102,16 @@ + /etc/ppp/resolv.conf file containing one or two nameserver lines with + the address(es) supplied by the peer. + .TP ++.B usepeerwins ++Ask the peer for up to 2 WINS server addresses. The addresses supplied ++by the peer (if any) are passed to the /etc/ppp/ip\-up script in the ++environment variables WINS1 and WINS2, and the environment variable ++USEPEERWINS will be set to 1. ++.LP ++Please note that some modems (like the Huawei E220) requires this option in ++order to avoid a race condition that results in the incorrect DNS servers ++being assigned. ++.TP + .B user \fIname + Sets the name used for authenticating the local system to the peer to + \fIname\fR. +@@ -1650,6 +1660,15 @@ + If the peer supplies DNS server addresses, this variable is set to the + second DNS server address supplied (whether or not the usepeerdns + option was given). ++.TP ++.B WINS1 ++If the peer supplies WINS server addresses, this variable is set to the ++first WINS server address supplied. ++.TP ++.B WINS2 ++If the peer supplies WINS server addresses, this variable is set to the ++second WINS server address supplied. ++.P + .P + Pppd invokes the following scripts, if they exist. It is not an error + if they don't exist. diff --git a/user/ppp/28_all_connect-errors.patch b/user/ppp/28_all_connect-errors.patch new file mode 100644 index 000000000..b87acef5d --- /dev/null +++ b/user/ppp/28_all_connect-errors.patch @@ -0,0 +1,11 @@ +--- ppp-2.4.5/pppd/pathnames.h ++++ ppp-2.4.5/pppd/pathnames.h +@@ -29,7 +29,7 @@ + #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down" + #define _PATH_AUTHFAIL _ROOT_PATH "/etc/ppp/auth-fail" + #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." +-#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" ++#define _PATH_CONNERRS _ROOT_PATH "/var/log/ppp-connect-errors" + #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" + #define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf" + diff --git a/user/ppp/30_all_Makefile.patch b/user/ppp/30_all_Makefile.patch new file mode 100644 index 000000000..165fc7b22 --- /dev/null +++ b/user/ppp/30_all_Makefile.patch @@ -0,0 +1,37 @@ +Ensure that the build process aborts if there is an error in one of +the plugin subdirectories. + +2010-09-01 Martin von Gagern + +References: +http://bugs.gentoo.org/334727 + +Index: ppp-2.4.5/pppd/plugins/Makefile.linux +=================================================================== +--- ppp-2.4.5/pppd/plugins/Makefile.linux ++++ ppp-2.4.5/pppd/plugins/Makefile.linux +@@ -20,7 +20,7 @@ include .depend + endif + + all: $(PLUGINS) +- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done ++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit $?; done + + %.so: %.c + $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ +@@ -30,12 +30,12 @@ VERSION = $(shell awk -F '"' '/VERSION/ + install: $(PLUGINS) + $(INSTALL) -d $(LIBDIR) + $(INSTALL) $? $(LIBDIR) +- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d install; done ++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d install || exit $?; done + + clean: + rm -f *.o *.so *.a +- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean; done ++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean || exit $?; done + + depend: + $(CPP) -M $(CFLAGS) *.c >.depend +- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend; done ++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend || exit $?; done diff --git a/user/ppp/32_all_pado-timeout.patch b/user/ppp/32_all_pado-timeout.patch new file mode 100644 index 000000000..72f1adbb1 --- /dev/null +++ b/user/ppp/32_all_pado-timeout.patch @@ -0,0 +1,254 @@ +--- ppp-2.4.6/pppd/plugins/rp-pppoe/discovery.c ++++ ppp-2.4.6/pppd/plugins/rp-pppoe/discovery.c +@@ -39,6 +39,7 @@ + #endif + + #include <signal.h> ++#include <time.h> + + /* Calculate time remaining until *exp, return 0 if now >= *exp */ + static int time_left(struct timeval *diff, struct timeval *exp) +@@ -251,6 +252,80 @@ + } + + /*********************************************************************** ++*%FUNCTION: recvPacketForMe ++*%ARGUMENTS: ++* packet -- output parameter ++* len -- output parameter length ++* conn -- connection ++* start -- operation startup timestamp ++* timeout -- how long to wait (in seconds) ++*%RETURNS: ++* -1: error ++* 0: timed out ++* 1: packet received ++*%DESCRIPTION: ++* receive and filter junk packets ++***********************************************************************/ ++ ++static int ++recvPacketForMe(PPPoEPacket *packet, int *len, PPPoEConnection *conn, time_t start, int timeout) ++{ ++ fd_set readable; ++ int r; ++ struct timeval tv; ++ time_t now; ++ int time_remain; ++ ++ do { ++ time(&now); ++ time_remain = timeout - (int)difftime(now, start); ++ if (time_remain <= 0) return 0; /* Timed out */ ++ ++ if (BPF_BUFFER_IS_EMPTY) { ++ tv.tv_sec = time_remain; ++ tv.tv_usec = 0; ++ ++ FD_ZERO(&readable); ++ FD_SET(conn->discoverySocket, &readable); ++ ++ r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv); ++ if (r < 0) ++ { ++ if (errno == EINTR) ++ { ++ continue; /* interrupted, so retry */ ++ }else ++ { ++ error("pppoe: recvPacketForMe: select: %m"); ++ return -1; ++ } ++ } ++ ++ if (r == 0) return 0; /* Timed out */ ++ } ++ ++ /* Get the packet */ ++ receivePacket(conn->discoverySocket, packet, len); ++ ++ /* Check length */ ++ if (ntohs(packet->length) + HDR_SIZE > *len) { ++ error("Bogus PPPoE length field (%u)", ++ (unsigned int) ntohs(packet->length)); ++ continue; ++ } ++ ++#ifdef USE_BPF ++ /* If it's not a Discovery packet, loop again */ ++ if (etherType(&packet) != Eth_PPPOE_Discovery) continue; ++#endif ++ /* If it's not for us, loop again */ ++ }while ( ! packetIsForMe(conn, packet)); ++ ++ return 1; ++} ++ ++ ++/*********************************************************************** + *%FUNCTION: sendPADI + *%ARGUMENTS: + * conn -- PPPoEConnection structure +@@ -344,13 +419,12 @@ + void + waitForPADO(PPPoEConnection *conn, int timeout) + { +- fd_set readable; + int r; +- struct timeval tv; + struct timeval expire_at; + + PPPoEPacket packet; + int len; ++ time_t start; + + struct PacketCriteria pc; + pc.conn = conn; +@@ -367,43 +441,10 @@ + } + expire_at.tv_sec += timeout; + ++ time(&start); + do { +- if (BPF_BUFFER_IS_EMPTY) { +- if (!time_left(&tv, &expire_at)) +- return; /* Timed out */ +- +- FD_ZERO(&readable); +- FD_SET(conn->discoverySocket, &readable); +- +- while(1) { +- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv); +- if (r >= 0 || errno != EINTR) break; +- } +- if (r < 0) { +- error("select (waitForPADO): %m"); +- return; +- } +- if (r == 0) +- return; /* Timed out */ +- } +- +- /* Get the packet */ +- receivePacket(conn->discoverySocket, &packet, &len); +- +- /* Check length */ +- if (ntohs(packet.length) + HDR_SIZE > len) { +- error("Bogus PPPoE length field (%u)", +- (unsigned int) ntohs(packet.length)); +- continue; +- } +- +-#ifdef USE_BPF +- /* If it's not a Discovery packet, loop again */ +- if (etherType(&packet) != Eth_PPPOE_Discovery) continue; +-#endif +- +- /* If it's not for us, loop again */ +- if (!packetIsForMe(conn, &packet)) continue; ++ r = recvPacketForMe(&packet, &len, conn, start, timeout); ++ if (r<=0) return; /* Timed out or error */ + + if (packet.code == CODE_PADO) { + if (NOT_UNICAST(packet.ethHdr.h_source)) { +@@ -537,13 +578,12 @@ + static void + waitForPADS(PPPoEConnection *conn, int timeout) + { +- fd_set readable; + int r; +- struct timeval tv; + struct timeval expire_at; + + PPPoEPacket packet; + int len; ++ time_t start; + + if (gettimeofday(&expire_at, NULL) < 0) { + error("gettimeofday (waitForPADS): %m"); +@@ -551,48 +591,15 @@ + } + expire_at.tv_sec += timeout; + ++ time(&start); + conn->error = 0; + do { +- if (BPF_BUFFER_IS_EMPTY) { +- if (!time_left(&tv, &expire_at)) +- return; /* Timed out */ +- +- FD_ZERO(&readable); +- FD_SET(conn->discoverySocket, &readable); +- +- while(1) { +- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv); +- if (r >= 0 || errno != EINTR) break; +- } +- if (r < 0) { +- error("select (waitForPADS): %m"); +- return; +- } +- if (r == 0) +- return; /* Timed out */ +- } +- +- /* Get the packet */ +- receivePacket(conn->discoverySocket, &packet, &len); +- +- /* Check length */ +- if (ntohs(packet.length) + HDR_SIZE > len) { +- error("Bogus PPPoE length field (%u)", +- (unsigned int) ntohs(packet.length)); +- continue; +- } +- +-#ifdef USE_BPF +- /* If it's not a Discovery packet, loop again */ +- if (etherType(&packet) != Eth_PPPOE_Discovery) continue; +-#endif ++ r = recvPacketForMe(&packet, &len, conn, start, timeout); ++ if (r<=0) return; /* Timed out or error */ + + /* If it's not from the AC, it's not for me */ + if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) continue; + +- /* If it's not for us, loop again */ +- if (!packetIsForMe(conn, &packet)) continue; +- + /* Is it PADS? */ + if (packet.code == CODE_PADS) { + /* Parse for goodies */ +--- ppp-2.4.6/pppd/plugins/rp-pppoe/pppoe-discovery.c ++++ ppp-2.4.6/pppd/plugins/rp-pppoe/pppoe-discovery.c +@@ -14,6 +14,7 @@ + #include <unistd.h> + #include <errno.h> + #include <string.h> ++#include <time.h> + + #include "pppoe.h" + +@@ -513,6 +514,8 @@ + struct timeval tv; + PPPoEPacket packet; + int len; ++ time_t start, now; ++ int time_remain; + + struct PacketCriteria pc; + pc.conn = conn; +@@ -522,9 +525,13 @@ + pc.seenServiceName = 0; + conn->error = 0; + ++ time(&start); + do { ++ time(&now); ++ time_remain = timeout - (int)difftime(now, start); ++ if (time_remain <= 0) return; /* Timed out */ + if (BPF_BUFFER_IS_EMPTY) { +- tv.tv_sec = timeout; ++ tv.tv_sec = time_remain; + tv.tv_usec = 0; + + FD_ZERO(&readable); diff --git a/user/ppp/34_all_lcp-echo-adaptive.patch b/user/ppp/34_all_lcp-echo-adaptive.patch new file mode 100644 index 000000000..6faf19a27 --- /dev/null +++ b/user/ppp/34_all_lcp-echo-adaptive.patch @@ -0,0 +1,56 @@ +--- ppp-2.4.5/pppd/lcp.c ++++ ppp-2.4.5/pppd/lcp.c +@@ -73,6 +73,7 @@ + */ + int lcp_echo_interval = 0; /* Interval between LCP echo-requests */ + int lcp_echo_fails = 0; /* Tolerance to unanswered echo-requests */ ++bool lcp_echo_adaptive = 0; /* request echo only if the link was idle */ + bool lax_recv = 0; /* accept control chars in asyncmap */ + bool noendpoint = 0; /* don't send/accept endpoint discriminator */ + +@@ -151,6 +152,8 @@ + OPT_PRIO }, + { "lcp-echo-interval", o_int, &lcp_echo_interval, + "Set time in seconds between LCP echo requests", OPT_PRIO }, ++ { "lcp-echo-adaptive", o_bool, &lcp_echo_adaptive, ++ "Suppress LCP echo requests if traffic was received", 1 }, + { "lcp-restart", o_int, &lcp_fsm[0].timeouttime, + "Set time in seconds between LCP retransmissions", OPT_PRIO }, + { "lcp-max-terminate", o_int, &lcp_fsm[0].maxtermtransmits, +@@ -2322,6 +2325,22 @@ + } + + /* ++ * If adaptive echos have been enabled, only send the echo request if ++ * no traffic was received since the last one. ++ */ ++ if (lcp_echo_adaptive) { ++ static unsigned int last_pkts_in = 0; ++ ++ update_link_stats(f->unit); ++ link_stats_valid = 0; ++ ++ if (link_stats.pkts_in != last_pkts_in) { ++ last_pkts_in = link_stats.pkts_in; ++ return; ++ } ++ } ++ ++ /* + * Make and send the echo request frame. + */ + if (f->state == OPENED) { +--- ppp-2.4.5/pppd/pppd.8 ++++ ppp-2.4.5/pppd/pppd.8 +@@ -549,6 +549,11 @@ + dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to + 1) in demand mode if the local address changes. + .TP ++.B lcp\-echo\-adaptive ++If this option is used with the \fIlcp\-echo\-failure\fR option then ++pppd will send LCP echo\-request frames only if no traffic was received ++from the peer since the last echo\-request was sent. ++.TP + .B lcp\-echo\-failure \fIn + If this option is given, pppd will presume the peer to be dead + if \fIn\fR LCP echo\-requests are sent without receiving a valid LCP diff --git a/user/ppp/50_all_linux-headers.patch b/user/ppp/50_all_linux-headers.patch new file mode 100644 index 000000000..cd2adbead --- /dev/null +++ b/user/ppp/50_all_linux-headers.patch @@ -0,0 +1,28 @@ +the linux headers have started adding shims to not define types or structs +when C lib headers are active, but in order to work, the C lib headers have +to be included before the linux headers. + +move the netinet/in.h include up above the linux/ includes. + +Mike Frysinger <vapier@gentoo.org> + +--- a/pppd/plugins/rp-pppoe/pppoe.h ++++ b/pppd/plugins/rp-pppoe/pppoe.h +@@ -47,6 +47,8 @@ + #include <sys/socket.h> + #endif + ++#include <netinet/in.h> ++ + /* Ugly header files on some Linux boxes... */ + #if defined(HAVE_LINUX_IF_H) + #include <linux/if.h> +@@ -84,8 +86,6 @@ typedef unsigned long UINT32_t; + #include <linux/if_ether.h> + #endif + +-#include <netinet/in.h> +- + #ifdef HAVE_NETINET_IF_ETHER_H + #include <sys/types.h> + diff --git a/user/ppp/51_all_glibc-2.28.patch b/user/ppp/51_all_glibc-2.28.patch new file mode 100644 index 000000000..cbb5857a7 --- /dev/null +++ b/user/ppp/51_all_glibc-2.28.patch @@ -0,0 +1,110 @@ +From 3c7b86229f7bd2600d74db14b1fe5b3896be3875 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com> +Date: Fri, 6 Apr 2018 14:27:18 +0200 +Subject: [PATCH] pppd: Use openssl for the DES instead of the libcrypt / glibc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It seems the latest glibc (in Fedora glibc-2.27.9000-12.fc29) dropped +libcrypt. The libxcrypt standalone package can be used instead, but +it dropped the old setkey/encrypt API which ppp uses for DES. There +is support for using openssl in pppcrypt.c, but it contains typos +preventing it from compiling and seems to be written for an ancient +openssl version. + +This updates the code to use current openssl. + +[paulus@ozlabs.org - wrote the commit description, fixed comment in + Makefile.linux.] + +Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com> +Signed-off-by: Paul Mackerras <paulus@ozlabs.org> +--- + pppd/Makefile.linux | 7 ++++--- + pppd/pppcrypt.c | 18 +++++++++--------- + 2 files changed, 13 insertions(+), 12 deletions(-) + +diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux +index 36d2b036..8d5ce99d 100644 +--- a/pppd/Makefile.linux ++++ b/pppd/Makefile.linux +@@ -35,10 +35,10 @@ endif + COPTS = -O2 -pipe -Wall -g + LIBS = + +-# Uncomment the next 2 lines to include support for Microsoft's ++# Uncomment the next line to include support for Microsoft's + # MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux. + CHAPMS=y +-USE_CRYPT=y ++#USE_CRYPT=y + # Don't use MSLANMAN unless you really know what you're doing. + #MSLANMAN=y + # Uncomment the next line to include support for MPPE. CHAPMS (above) must +@@ -137,7 +137,8 @@ endif + + ifdef NEEDDES + ifndef USE_CRYPT +-LIBS += -ldes $(LIBS) ++CFLAGS += -I/usr/include/openssl ++LIBS += -lcrypto + else + CFLAGS += -DUSE_CRYPT=1 + endif +diff --git a/pppd/pppcrypt.c b/pppd/pppcrypt.c +index 8b85b132..6b35375e 100644 +--- a/pppd/pppcrypt.c ++++ b/pppd/pppcrypt.c +@@ -64,7 +64,7 @@ u_char *des_key; /* OUT 64 bit DES key with parity bits added */ + des_key[7] = Get7Bits(key, 49); + + #ifndef USE_CRYPT +- des_set_odd_parity((des_cblock *)des_key); ++ DES_set_odd_parity((DES_cblock *)des_key); + #endif + } + +@@ -158,25 +158,25 @@ u_char *clear; /* OUT 8 octets */ + } + + #else /* USE_CRYPT */ +-static des_key_schedule key_schedule; ++static DES_key_schedule key_schedule; + + bool + DesSetkey(key) + u_char *key; + { +- des_cblock des_key; ++ DES_cblock des_key; + MakeKey(key, des_key); +- des_set_key(&des_key, key_schedule); ++ DES_set_key(&des_key, &key_schedule); + return (1); + } + + bool +-DesEncrypt(clear, key, cipher) ++DesEncrypt(clear, cipher) + u_char *clear; /* IN 8 octets */ + u_char *cipher; /* OUT 8 octets */ + { +- des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, +- key_schedule, 1); ++ DES_ecb_encrypt((DES_cblock *)clear, (DES_cblock *)cipher, ++ &key_schedule, 1); + return (1); + } + +@@ -185,8 +185,8 @@ DesDecrypt(cipher, clear) + u_char *cipher; /* IN 8 octets */ + u_char *clear; /* OUT 8 octets */ + { +- des_ecb_encrypt((des_cblock *)cipher, (des_cblock *)clear, +- key_schedule, 0); ++ DES_ecb_encrypt((DES_cblock *)cipher, (DES_cblock *)clear, ++ &key_schedule, 0); + return (1); + } + diff --git a/user/ppp/80_all_eaptls-mppe-1.101a.patch b/user/ppp/80_all_eaptls-mppe-1.101a.patch new file mode 100644 index 000000000..f22b63a86 --- /dev/null +++ b/user/ppp/80_all_eaptls-mppe-1.101a.patch @@ -0,0 +1,3233 @@ +diff -Naur ppp-2.4.7/README.eap-tls ppp-2.4.7-eaptls-mppe-1.101b/README.eap-tls +--- ppp-2.4.7/README.eap-tls 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/README.eap-tls 2018-06-02 01:42:04.021165440 +0200 +@@ -0,0 +1,286 @@ ++EAP-TLS authentication support for PPP ++====================================== ++ ++1. Intro ++ ++ The Extensible Authentication Protocol (EAP; RFC 3748) is a ++ security protocol that can be used with PPP. It provides a means ++ to plug in multiple optional authentication methods. ++ ++ Transport Level Security (TLS; RFC 2246) provides for mutual ++ authentication, integrity-protected ciphersuite negotiation and ++ key exchange between two endpoints. It also provides for optional ++ MPPE encryption. ++ ++ EAP-TLS (RFC 2716) incapsulates the TLS messages in EAP packets, ++ allowing TLS mutual authentication to be used as a generic EAP ++ mechanism. It also provides optional encryption using the MPPE ++ protocol. ++ ++ This patch provide EAP-TLS support to pppd. ++ This authentication method can be used in both client or server ++ mode. ++ ++2. Building ++ ++ To build pppd with EAP-TLS support, OpenSSL (http://www.openssl.org) ++ is required. Any version from 0.9.7 should work. ++ ++ Configure, compile, and install as usual. ++ ++3. Configuration ++ ++ On the client side there are two ways to configure EAP-TLS: ++ ++ 1. supply the appropriate 'ca', 'cert' and 'key' command-line parameters ++ ++ 2. edit the /etc/ppp/eaptls-client file. ++ Insert a line for each system with which you use EAP-TLS. ++ The line is composed of this fields separated by tab: ++ ++ - Client name ++ The name used by the client for authentication, can be * ++ - Server name ++ The name of the server, can be * ++ - Client certificate file ++ The file containing the certificate chain for the ++ client in PEM format ++ - Server certificate file ++ If you want to specify the certificate that the ++ server is allowed to use, put the certificate file name. ++ Else put a dash '-'. ++ - CA certificate file ++ The file containing the trusted CA certificates in PEM ++ format. ++ - Client private key file ++ The file containing the client private key in PEM format. ++ ++ ++ On the server side edit the /etc/ppp/eaptls-server file. ++ Insert a line for each system with which you use EAP-TLS. ++ The line is composed of this fields separated by tab: ++ ++ - Client name ++ The name used by the client for authentication, can be * ++ - Server name ++ The name of the server, can be * ++ - Client certificate file ++ If you want to specify the certificate that the ++ client is allowed to use, put the certificate file name. ++ Else put a dash '-'. ++ - Server certificate file ++ The file containing the certificate chain for the ++ server in PEM format ++ - CA certificate file ++ The file containing the trusted CA certificates in PEM format. ++ - Client private key file ++ The file containing the server private key in PEM format. ++ - addresses ++ A list of IP addresses the client is allowed to use. ++ ++ ++ OpenSSL engine support is included starting with v0.95 of this patch. ++ Currently the only engine tested is the 'pkcs11' engine (hardware token ++ support). To use the 'pksc11' engine: ++ - Use a special private key fileiname in the /etc/ppp/eaptls-client file: ++ <engine>:<identifier> ++ e.g. ++ pkcs11:123456 ++ ++ - The certificate can also be loaded from the 'pkcs11' engine using ++ a special client certificate filename in the /etc/ppp/eaptls-client file: ++ <engine>:<identifier> ++ e.g. ++ pkcs11:123456 ++ ++ - Create an /etc/ppp/openssl.cnf file to load the right OpenSSL engine prior ++ to starting 'pppd'. A sample openssl.cnf file is ++ ++ openssl_conf = openssl_def ++ ++ [ openssl_def ] ++ engines = engine_section ++ ++ [ engine_section ] ++ pkcs11 = pkcs11_section ++ ++ [ pkcs11_section ] ++ engine_id = pkcs11 ++ dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so ++ MODULE_PATH = /usr/lib64/libeTPkcs11.so ++ init = 0 ++ ++ - There are two ways to specify a password/PIN for the PKCS11 engine: ++ - inside the openssl.cnf file using ++ PIN = your-secret-pin ++ Note The keyword 'PIN' is case sensitive! ++ - Using the 'password' in the ppp options file. ++ From v0.97 of the eap-tls patch the password can also be supplied ++ using the appropriate 'eaptls_passwd_hook' (see plugins/passprompt.c ++ for an example). ++ ++ ++4. Options ++ ++ These pppd options are available: ++ ++ ca <ca-file> ++ Use the CA public certificate found in <ca-file> in PEM format ++ cert <cert-file> ++ Use the client public certificate found in <cert-file> in PEM format ++ or in engine:engine_id format ++ key <key-file> ++ Use the client private key found in <key-file> in PEM format ++ or in engine:engine_id format ++ crl <crl-file> ++ Use the Certificate Revocation List (CRL) file <crl-file> in PEM format. ++ crl-dir <dir> ++ Use CRL files from directory <dir>. It contains CRL files in PEM ++ format and each file contains a CRL. The files are looked up ++ by the issuer name hash value. Use the c_rehash utility ++ to create necessary links. ++ need-peer-eap ++ If the peer doesn't ask us to authenticate or doesn't use eap ++ to authenticate us, disconnect. ++ ++ Note: ++ password-encrypted certificates can be used as of v0.94 of this ++ patch. The password for the eap-tls.key file is specified using ++ the regular ++ password .... ++ statement in the ppp options file, or by using the appropriate ++ plugin which supplies a 'eaptls_passwd_hook' routine. ++ ++5. Connecting ++ ++ If you're setting up a pppd server, edit the EAP-TLS configuration file ++ as written above and then run pppd with the 'auth' option to authenticate ++ the client. The EAP-TLS method will be used if the other eap methods can't ++ be used (no secrets). ++ ++ If you're setting up a client, edit the configuration file and then run ++ pppd with 'remotename' option to specify the server name. Add the ++ 'need-peer-eap' option if you want to be sure the peer ask you to ++ authenticate (and to use eap) and to disconnect if it doesn't. ++ ++6. Example ++ ++ The following example can be used to connect a Linux client with the 'pptp' ++ package to a Linux server running the 'pptpd' (PoPToP) package. The server ++ was configured with a certificate with name (CN) 'pptp-server', the client ++ was configured with a certificate with name (CN) 'pptp-client', both ++ signed by the same Certificate Authority (CA). ++ ++ Server side: ++ - /etc/pptpd.conf file: ++ option /etc/ppp/options-pptpd-eaptls ++ localip 172.16.1.1 ++ remoteip 172.16.1.10-20 ++ - /etc/ppp/options-pptpd-eaptls file: ++ name pptp-server ++ lock ++ mtu 1500 ++ mru 1450 ++ auth ++ lcp-echo-failure 3 ++ lcp-echo-interval 5 ++ nodeflate ++ nobsdcomp ++ nopredictor1 ++ nopcomp ++ noaccomp ++ ++ require-eap ++ require-mppe-128 ++ ++ crl /home/janjust/ppp/keys/crl.pem ++ ++ debug ++ logfile /tmp/pppd.log ++ ++ - /etc/ppp/eaptls-server file: ++ * pptp-server - /etc/ppp/pptp-server.crt /etc/ppp/ca.crt /etc/ppp/pptp-server.key * ++ ++ - On the server, run ++ pptdp --conf /etc/pptpd.conf ++ ++ Client side: ++ - Run ++ pppd noauth require-eap require-mppe-128 \ ++ ipcp-accept-local ipcp-accept-remote noipdefault \ ++ cert /etc/ppp/keys/pptp-client.crt \ ++ key /etc/ppp/keys/pptp-client.key \ ++ ca /etc/ppp/keys/ca.crt \ ++ name pptp-client remotename pptp-server \ ++ debug logfile /tmp/pppd.log ++ pty "pptp pptp-server.example.com --nolaunchpppd" ++ ++ Check /var/log/messages and the files /tmp/pppd.log on both sides for debugging info. ++ ++7. Notes ++ ++ This is experimental code. ++ Send suggestions and comments to Jan Just Keijser <janjust@nikhef.nl> ++ ++8. Changelog of ppp-<>-eaptls-mppe-* patches ++ ++v0.7 (22-Nov-2005) ++ - First version of the patch to include MPPE support ++ - ppp-2.4.3 only ++v0.9 (25-Jul-2006) ++ - Bug fixes ++ - First version for ppp-2.4.4 ++v0.91 (03-Sep-2006) ++ - Added missing #include for md5.h ++ - Last version for ppp-2.4.3 ++v0.92 (22-Apr-2008) ++ - Fix for openssl 0.9.8 issue with md5 function overload. ++v0.93 (14-Aug-2008) ++ - Make sure 'noauth' option can be used to bypass server certificate verification. ++v0.94 (15-Oct-2008) ++ - Added support for password-protected private keys by (ab)using the 'password' field. ++v0.95 (23-Dec-2009) ++ - First version with OpenSSL engine support. ++v0.96 (27-Jan-2010) ++ - Added fully functional support for OpenSSL engines (PKCS#11) ++ - First version for ppp-2.4.5 ++v0.97 (20-Apr-2010) ++ - Some bug fixes for v0.96 ++ - Added support for entering the password via a plugin. The sample plugin ++ .../pppd/plugins/passprompt.c has been extended with EAP-TLS support. ++ The "old" methods using the password option or the /etc/ppp/openssl.cnf file still work. ++ - Added support for specifying the client CA, certificate and private key on the command-line ++ or via the ppp config file. ++v0.98 (20-Apr-2010) ++ - Fix initialisation bug when using ca/cert/key command-line options. ++ - Last version for ppp-2.4.4 ++v0.99 (05-Oct-2010) ++ - Fix coredump when using multilink option. ++v0.991 (08-Aug-2011) ++ - Fix compilation issue with openssl 1.0. ++v0.992 (01-Dec-2011) ++ - Fix compilation issue with eaptls_check_hook and passwordfd plugin. ++v0.993 (24-Apr-2012) ++ - Fix compilation issue when EAP_TLS=n in pppd/Makefile. ++v0.994 (11-Jun-2012) ++ - Fix compilation issue on Ubuntu 11.10. ++v0.995 (27-May-2014) ++ - Add support for a CRL file using the command-line option 'crl' ++ (prior only 'crl-dir' was supported). ++ - Fix segfault when pkcs11 enginename was not specified correctly. ++ - Fix segfault when client was misconfigured. ++ - Disable SSL Session Ticket support as Windows 8 does not support this. ++v0.996 (28-May-2014) ++ - Fix minor bug where SessionTicket message was printed as 'Unknown SSL3 code 4' ++ - Add EAP-TLS-specific options to pppd.8 manual page. ++ - Updated README.eap-tls file with new options and provide an example. ++v0.997 (19-Jun-2014) ++ - Change SSL_OP_NO_TICKETS to SSL_OP_NO_TICKET ++ - Fix bug in initialisation code with fragmented packets. ++v0.998 (13-Mar-2015) ++ - Added fix for https://bugzilla.redhat.com/show_bug.cgi?id=1023620 ++v0.999 (11-May-2017) ++ - Added support for OpenSSL 1.1: the code will now compile against OpenSSL 1.0.x or 1.1.x. ++v1.101 (1-Jun-2018) ++ - Fix vulnerabilities CVE-2018-11574. ++ +diff -Naur ppp-2.4.7/etc.ppp/eaptls-client ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-client +--- ppp-2.4.7/etc.ppp/eaptls-client 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-client 2018-06-02 01:42:04.021165440 +0200 +@@ -0,0 +1,10 @@ ++# Parameters for authentication using EAP-TLS (client) ++ ++# client name (can be *) ++# server name (can be *) ++# client certificate file (required) ++# server certificate file (optional, if unused put '-') ++# CA certificate file (required) ++# client private key file (required) ++ ++#client server /root/cert/client.crt - /root/cert/ca.crt /root/cert/client.key +diff -Naur ppp-2.4.7/etc.ppp/eaptls-server ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-server +--- ppp-2.4.7/etc.ppp/eaptls-server 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-server 2018-06-02 01:42:04.021165440 +0200 +@@ -0,0 +1,11 @@ ++# Parameters for authentication using EAP-TLS (server) ++ ++# client name (can be *) ++# server name (can be *) ++# client certificate file (optional, if unused put '-') ++# server certificate file (required) ++# CA certificate file (required) ++# server private key file (required) ++# allowed addresses (required, can be *) ++ ++#client server - /root/cert/server.crt /root/cert/ca.crt /root/cert/server.key 192.168.1.0/24 +diff -Naur ppp-2.4.7/etc.ppp/openssl.cnf ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/openssl.cnf +--- ppp-2.4.7/etc.ppp/openssl.cnf 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/openssl.cnf 2018-06-02 01:42:04.021165440 +0200 +@@ -0,0 +1,14 @@ ++openssl_conf = openssl_def ++ ++[ openssl_def ] ++engines = engine_section ++ ++[ engine_section ] ++pkcs11 = pkcs11_section ++ ++[ pkcs11_section ] ++engine_id = pkcs11 ++dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so ++MODULE_PATH = /usr/lib64/libeTPkcs11.so ++init = 0 ++ +diff -Naur ppp-2.4.7/linux/Makefile.top ppp-2.4.7-eaptls-mppe-1.101b/linux/Makefile.top +--- ppp-2.4.7/linux/Makefile.top 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/linux/Makefile.top 2018-06-02 01:42:04.021165440 +0200 +@@ -26,7 +26,7 @@ + cd pppdump; $(MAKE) $(MFLAGS) install + + install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \ +- $(ETCDIR)/chap-secrets ++ $(ETCDIR)/chap-secrets $(ETCDIR)/eaptls-server $(ETCDIR)/eaptls-client + + install-devel: + cd pppd; $(MAKE) $(MFLAGS) install-devel +@@ -37,6 +37,10 @@ + $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@ + $(ETCDIR)/chap-secrets: + $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@ ++$(ETCDIR)/eaptls-server: ++ $(INSTALL) -c -m 600 etc.ppp/eaptls-server $@ ++$(ETCDIR)/eaptls-client: ++ $(INSTALL) -c -m 600 etc.ppp/eaptls-client $@ + + $(BINDIR): + $(INSTALL) -d -m 755 $@ +diff -Naur ppp-2.4.7/pppd/Makefile.linux ppp-2.4.7-eaptls-mppe-1.101b/pppd/Makefile.linux +--- ppp-2.4.7/pppd/Makefile.linux 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/Makefile.linux 2018-06-02 01:42:04.021165440 +0200 +@@ -76,6 +76,9 @@ + # Use libutil + USE_LIBUTIL=y + ++# Enable EAP-TLS authentication (requires libssl and libcrypto) ++USE_EAPTLS=y ++ + MAXOCTETS=y + + INCLUDE_DIRS= -I../include +@@ -115,6 +118,15 @@ + PPPDOBJS += sha1.o + endif + ++# EAP-TLS ++ifdef USE_EAPTLS ++CFLAGS += -DUSE_EAPTLS=1 -I/usr/kerberos/include ++LIBS += -lssl -lcrypto ++PPPDSRC += eap-tls.c ++HEADERS += eap-tls.h ++PPPDOBJS += eap-tls.o ++endif ++ + ifdef HAS_SHADOW + CFLAGS += -DHAS_SHADOW + #LIBS += -lshadow $(LIBS) +diff -Naur ppp-2.4.7/pppd/auth.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/auth.c +--- ppp-2.4.7/pppd/auth.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/auth.c 2018-06-02 01:42:04.022165436 +0200 +@@ -109,6 +109,9 @@ + #include "upap.h" + #include "chap-new.h" + #include "eap.h" ++#ifdef USE_EAPTLS ++#include "eap-tls.h" ++#endif + #ifdef CBCP_SUPPORT + #include "cbcp.h" + #endif +@@ -183,6 +186,11 @@ + /* Hook for a plugin to get the CHAP password for authenticating us */ + int (*chap_passwd_hook) __P((char *user, char *passwd)) = NULL; + ++#ifdef USE_EAPTLS ++/* Hook for a plugin to get the EAP-TLS password for authenticating us */ ++int (*eaptls_passwd_hook) __P((char *user, char *passwd)) = NULL; ++#endif ++ + /* Hook for a plugin to say whether it is OK if the peer + refuses to authenticate. */ + int (*null_auth_hook) __P((struct wordlist **paddrs, +@@ -238,6 +246,14 @@ + bool explicit_user = 0; /* Set if "user" option supplied */ + bool explicit_passwd = 0; /* Set if "password" option supplied */ + char remote_name[MAXNAMELEN]; /* Peer's name for authentication */ ++#ifdef USE_EAPTLS ++char *cacert_file = NULL; /* CA certificate file (pem format) */ ++char *cert_file = NULL; /* client certificate file (pem format) */ ++char *privkey_file = NULL; /* client private key file (pem format) */ ++char *crl_dir = NULL; /* directory containing CRL files */ ++char *crl_file = NULL; /* Certificate Revocation List (CRL) file (pem format) */ ++bool need_peer_eap = 0; /* Require peer to authenticate us */ ++#endif + + static char *uafname; /* name of most recent +ua file */ + +@@ -254,6 +270,19 @@ + static int have_chap_secret __P((char *, char *, int, int *)); + static int have_srp_secret __P((char *client, char *server, int need_ip, + int *lacks_ipp)); ++ ++#ifdef USE_EAPTLS ++static int have_eaptls_secret_server ++__P((char *client, char *server, int need_ip, int *lacks_ipp)); ++static int have_eaptls_secret_client __P((char *client, char *server)); ++static int scan_authfile_eaptls __P((FILE * f, char *client, char *server, ++ char *cli_cert, char *serv_cert, ++ char *ca_cert, char *pk, ++ struct wordlist ** addrs, ++ struct wordlist ** opts, ++ char *filename, int flags)); ++#endif ++ + static int ip_addr_check __P((u_int32_t, struct permitted_ip *)); + static int scan_authfile __P((FILE *, char *, char *, char *, + struct wordlist **, struct wordlist **, +@@ -401,6 +430,15 @@ + "Set telephone number(s) which are allowed to connect", + OPT_PRIV | OPT_A2LIST }, + ++#ifdef USE_EAPTLS ++ { "ca", o_string, &cacert_file, "EAP-TLS CA certificate in PEM format" }, ++ { "cert", o_string, &cert_file, "EAP-TLS client certificate in PEM format" }, ++ { "key", o_string, &privkey_file, "EAP-TLS client private key in PEM format" }, ++ { "crl-dir", o_string, &crl_dir, "Use CRLs in directory" }, ++ { "crl", o_string, &crl_file, "Use specific CRL file" }, ++ { "need-peer-eap", o_bool, &need_peer_eap, ++ "Require the peer to authenticate us", 1 }, ++#endif /* USE_EAPTLS */ + { NULL } + }; + +@@ -730,6 +768,9 @@ + lcp_options *wo = &lcp_wantoptions[unit]; + lcp_options *go = &lcp_gotoptions[unit]; + lcp_options *ho = &lcp_hisoptions[unit]; ++#ifdef USE_EAPTLS ++ lcp_options *ao = &lcp_allowoptions[unit]; ++#endif + int i; + struct protent *protp; + +@@ -764,6 +805,22 @@ + } + } + ++#ifdef USE_EAPTLS ++ if (need_peer_eap && !ao->neg_eap) { ++ warn("eap required to authenticate us but no suitable secrets"); ++ lcp_close(unit, "couldn't negotiate eap"); ++ status = EXIT_AUTH_TOPEER_FAILED; ++ return; ++ } ++ ++ if (need_peer_eap && !ho->neg_eap) { ++ warn("peer doesn't want to authenticate us with eap"); ++ lcp_close(unit, "couldn't negotiate eap"); ++ status = EXIT_PEER_AUTH_FAILED; ++ return; ++ } ++#endif ++ + new_phase(PHASE_AUTHENTICATE); + auth = 0; + if (go->neg_eap) { +@@ -1277,6 +1334,15 @@ + our_name, 1, &lacks_ip); + } + ++#ifdef USE_EAPTLS ++ if (!can_auth && wo->neg_eap) { ++ can_auth = ++ have_eaptls_secret_server((explicit_remote ? remote_name : ++ NULL), our_name, 1, &lacks_ip); ++ ++ } ++#endif ++ + if (auth_required && !can_auth && noauth_addrs == NULL) { + if (default_auth) { + option_error( +@@ -1331,7 +1397,11 @@ + passwd[0] != 0 || + (hadchap == 1 || (hadchap == -1 && have_chap_secret(user, + (explicit_remote? remote_name: NULL), 0, NULL))) || +- have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL)); ++ have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL) ++#ifdef USE_EAPTLS ++ || have_eaptls_secret_client(user, (explicit_remote? remote_name: NULL)) ++#endif ++ ); + + hadchap = -1; + if (go->neg_upap && !uselogin && !have_pap_secret(NULL)) +@@ -1346,8 +1416,14 @@ + !have_chap_secret((explicit_remote? remote_name: NULL), our_name, + 1, NULL))) && + !have_srp_secret((explicit_remote? remote_name: NULL), our_name, 1, +- NULL)) ++ NULL) ++#ifdef USE_EAPTLS ++ && !have_eaptls_secret_server((explicit_remote? remote_name: NULL), ++ our_name, 1, NULL) ++#endif ++ ) + go->neg_eap = 0; ++ + } + + +@@ -1707,6 +1783,7 @@ + } + + ++ + /* + * get_secret - open the CHAP secret file and return the secret + * for authenticating the given client on the given server. +@@ -2359,3 +2436,335 @@ + + auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0); + } ++ ++ ++#ifdef USE_EAPTLS ++static int ++have_eaptls_secret_server(client, server, need_ip, lacks_ipp) ++ char *client; ++ char *server; ++ int need_ip; ++ int *lacks_ipp; ++{ ++ FILE *f; ++ int ret; ++ char *filename; ++ struct wordlist *addrs; ++ char servcertfile[MAXWORDLEN]; ++ char clicertfile[MAXWORDLEN]; ++ char cacertfile[MAXWORDLEN]; ++ char pkfile[MAXWORDLEN]; ++ ++ filename = _PATH_EAPTLSSERVFILE; ++ f = fopen(filename, "r"); ++ if (f == NULL) ++ return 0; ++ ++ if (client != NULL && client[0] == 0) ++ client = NULL; ++ else if (server != NULL && server[0] == 0) ++ server = NULL; ++ ++ ret = ++ scan_authfile_eaptls(f, client, server, clicertfile, servcertfile, ++ cacertfile, pkfile, &addrs, NULL, filename, ++ 0); ++ ++ fclose(f); ++ ++/* ++ if (ret >= 0 && !eaptls_init_ssl(1, cacertfile, servcertfile, ++ clicertfile, pkfile)) ++ ret = -1; ++*/ ++ ++ if (ret >= 0 && need_ip && !some_ip_ok(addrs)) { ++ if (lacks_ipp != 0) ++ *lacks_ipp = 1; ++ ret = -1; ++ } ++ if (addrs != 0) ++ free_wordlist(addrs); ++ ++ return ret >= 0; ++} ++ ++ ++static int ++have_eaptls_secret_client(client, server) ++ char *client; ++ char *server; ++{ ++ FILE *f; ++ int ret; ++ char *filename; ++ struct wordlist *addrs = NULL; ++ char servcertfile[MAXWORDLEN]; ++ char clicertfile[MAXWORDLEN]; ++ char cacertfile[MAXWORDLEN]; ++ char pkfile[MAXWORDLEN]; ++ ++ if (client != NULL && client[0] == 0) ++ client = NULL; ++ else if (server != NULL && server[0] == 0) ++ server = NULL; ++ ++ if (cacert_file && cert_file && privkey_file) ++ return 1; ++ ++ filename = _PATH_EAPTLSCLIFILE; ++ f = fopen(filename, "r"); ++ if (f == NULL) ++ return 0; ++ ++ ret = ++ scan_authfile_eaptls(f, client, server, clicertfile, servcertfile, ++ cacertfile, pkfile, &addrs, NULL, filename, ++ 0); ++ fclose(f); ++ ++/* ++ if (ret >= 0 && !eaptls_init_ssl(0, cacertfile, clicertfile, ++ servcertfile, pkfile)) ++ ret = -1; ++*/ ++ ++ if (addrs != 0) ++ free_wordlist(addrs); ++ ++ return ret >= 0; ++} ++ ++ ++static int ++scan_authfile_eaptls(f, client, server, cli_cert, serv_cert, ca_cert, pk, ++ addrs, opts, filename, flags) ++ FILE *f; ++ char *client; ++ char *server; ++ char *cli_cert; ++ char *serv_cert; ++ char *ca_cert; ++ char *pk; ++ struct wordlist **addrs; ++ struct wordlist **opts; ++ char *filename; ++ int flags; ++{ ++ int newline; ++ int got_flag, best_flag; ++ struct wordlist *ap, *addr_list, *alist, **app; ++ char word[MAXWORDLEN]; ++ ++ if (addrs != NULL) ++ *addrs = NULL; ++ if (opts != NULL) ++ *opts = NULL; ++ addr_list = NULL; ++ if (!getword(f, word, &newline, filename)) ++ return -1; /* file is empty??? */ ++ newline = 1; ++ best_flag = -1; ++ for (;;) { ++ /* ++ * Skip until we find a word at the start of a line. ++ */ ++ while (!newline && getword(f, word, &newline, filename)); ++ if (!newline) ++ break; /* got to end of file */ ++ ++ /* ++ * Got a client - check if it's a match or a wildcard. ++ */ ++ got_flag = 0; ++ if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) { ++ newline = 0; ++ continue; ++ } ++ if (!ISWILD(word)) ++ got_flag = NONWILD_CLIENT; ++ ++ /* ++ * Now get a server and check if it matches. ++ */ ++ if (!getword(f, word, &newline, filename)) ++ break; ++ if (newline) ++ continue; ++ if (!ISWILD(word)) { ++ if (server != NULL && strcmp(word, server) != 0) ++ continue; ++ got_flag |= NONWILD_SERVER; ++ } ++ ++ /* ++ * Got some sort of a match - see if it's better than what ++ * we have already. ++ */ ++ if (got_flag <= best_flag) ++ continue; ++ ++ /* ++ * Get the cli_cert ++ */ ++ if (!getword(f, word, &newline, filename)) ++ break; ++ if (newline) ++ continue; ++ if (strcmp(word, "-") != 0) { ++ strlcpy(cli_cert, word, MAXWORDLEN); ++ } else ++ cli_cert[0] = 0; ++ ++ /* ++ * Get serv_cert ++ */ ++ if (!getword(f, word, &newline, filename)) ++ break; ++ if (newline) ++ continue; ++ if (strcmp(word, "-") != 0) { ++ strlcpy(serv_cert, word, MAXWORDLEN); ++ } else ++ serv_cert[0] = 0; ++ ++ /* ++ * Get ca_cert ++ */ ++ if (!getword(f, word, &newline, filename)) ++ break; ++ if (newline) ++ continue; ++ strlcpy(ca_cert, word, MAXWORDLEN); ++ ++ /* ++ * Get pk ++ */ ++ if (!getword(f, word, &newline, filename)) ++ break; ++ if (newline) ++ continue; ++ strlcpy(pk, word, MAXWORDLEN); ++ ++ ++ /* ++ * Now read address authorization info and make a wordlist. ++ */ ++ app = &alist; ++ for (;;) { ++ if (!getword(f, word, &newline, filename) || newline) ++ break; ++ ap = (struct wordlist *) ++ malloc(sizeof(struct wordlist) + strlen(word) + 1); ++ if (ap == NULL) ++ novm("authorized addresses"); ++ ap->word = (char *) (ap + 1); ++ strcpy(ap->word, word); ++ *app = ap; ++ app = &ap->next; ++ } ++ *app = NULL; ++ /* ++ * This is the best so far; remember it. ++ */ ++ best_flag = got_flag; ++ if (addr_list) ++ free_wordlist(addr_list); ++ addr_list = alist; ++ ++ if (!newline) ++ break; ++ } ++ ++ /* scan for a -- word indicating the start of options */ ++ for (app = &addr_list; (ap = *app) != NULL; app = &ap->next) ++ if (strcmp(ap->word, "--") == 0) ++ break; ++ /* ap = start of options */ ++ if (ap != NULL) { ++ ap = ap->next; /* first option */ ++ free(*app); /* free the "--" word */ ++ *app = NULL; /* terminate addr list */ ++ } ++ if (opts != NULL) ++ *opts = ap; ++ else if (ap != NULL) ++ free_wordlist(ap); ++ if (addrs != NULL) ++ *addrs = addr_list; ++ else if (addr_list != NULL) ++ free_wordlist(addr_list); ++ ++ return best_flag; ++} ++ ++ ++int ++get_eaptls_secret(unit, client, server, clicertfile, servcertfile, ++ cacertfile, pkfile, am_server) ++ int unit; ++ char *client; ++ char *server; ++ char *clicertfile; ++ char *servcertfile; ++ char *cacertfile; ++ char *pkfile; ++ int am_server; ++{ ++ FILE *fp; ++ int ret; ++ char *filename = NULL; ++ struct wordlist *addrs = NULL; ++ struct wordlist *opts = NULL; ++ ++ /* in client mode the ca+cert+privkey can also be specified as options */ ++ if (!am_server && cacert_file && cert_file && privkey_file ) ++ { ++ strlcpy( clicertfile, cert_file, MAXWORDLEN ); ++ strlcpy( cacertfile, cacert_file, MAXWORDLEN ); ++ strlcpy( pkfile, privkey_file, MAXWORDLEN ); ++ servcertfile[0] = '\0'; ++ } ++ else ++ { ++ filename = (am_server ? _PATH_EAPTLSSERVFILE : _PATH_EAPTLSCLIFILE); ++ addrs = NULL; ++ ++ fp = fopen(filename, "r"); ++ if (fp == NULL) ++ { ++ error("Can't open eap-tls secret file %s: %m", filename); ++ return 0; ++ } ++ ++ check_access(fp, filename); ++ ++ ret = scan_authfile_eaptls(fp, client, server, clicertfile, servcertfile, ++ cacertfile, pkfile, &addrs, &opts, filename, 0); ++ ++ fclose(fp); ++ ++ if (ret < 0) return 0; ++ } ++ ++ if (eaptls_passwd_hook) ++ { ++ dbglog( "Calling eaptls password hook" ); ++ if ( (*eaptls_passwd_hook)(pkfile, passwd) < 0) ++ { ++ error("Unable to obtain EAP-TLS password for %s (%s) from plugin", ++ client, pkfile); ++ return 0; ++ } ++ } ++ if (am_server) ++ set_allowed_addrs(unit, addrs, opts); ++ else if (opts != NULL) ++ free_wordlist(opts); ++ if (addrs != NULL) ++ free_wordlist(addrs); ++ ++ return 1; ++} ++#endif ++ +diff -Naur ppp-2.4.7/pppd/ccp.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/ccp.c +--- ppp-2.4.7/pppd/ccp.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/ccp.c 2018-06-02 01:42:04.022165436 +0200 +@@ -540,6 +540,9 @@ + if (go->mppe) { + ccp_options *ao = &ccp_allowoptions[f->unit]; + int auth_mschap_bits = auth_done[f->unit]; ++#ifdef USE_EAPTLS ++ int auth_eap_bits = auth_done[f->unit]; ++#endif + int numbits; + + /* +@@ -567,8 +570,23 @@ + lcp_close(f->unit, "MPPE required but not available"); + return; + } ++ ++#ifdef USE_EAPTLS ++ /* ++ * MPPE is also possible in combination with EAP-TLS. ++ * It is not possible to detect if we're doing EAP or EAP-TLS ++ * at this stage, hence we accept all forms of EAP. If TLS is ++ * not used then the MPPE keys will not be derived anyway. ++ */ ++ /* Leave only the eap auth bits set */ ++ auth_eap_bits &= (EAP_WITHPEER | EAP_PEER ); ++ ++ if ((numbits == 0) && (auth_eap_bits == 0)) { ++ error("MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed."); ++#else + if (!numbits) { +- error("MPPE required, but MS-CHAP[v2] auth not performed."); ++ error("MPPE required, but MS-CHAP[v2] auth not performed."); ++#endif + lcp_close(f->unit, "MPPE required but not available"); + return; + } +diff -Naur ppp-2.4.7/pppd/chap-md5.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/chap-md5.c +--- ppp-2.4.7/pppd/chap-md5.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/chap-md5.c 2018-06-02 01:42:04.022165436 +0200 +@@ -36,7 +36,11 @@ + #include "chap-new.h" + #include "chap-md5.h" + #include "magic.h" ++#ifdef USE_EAPTLS ++#include "eap-tls.h" ++#else + #include "md5.h" ++#endif /* USE_EAPTLS */ + + #define MD5_HASH_SIZE 16 + #define MD5_MIN_CHALLENGE 16 +diff -Naur ppp-2.4.7/pppd/eap-tls.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.c +--- ppp-2.4.7/pppd/eap-tls.c 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.c 2018-06-02 01:42:16.790124406 +0200 +@@ -0,0 +1,1313 @@ ++/* ++ * eap-tls.c - EAP-TLS implementation for PPP ++ * ++ * Copyright (c) Beniamino Galvani 2005 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. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ */ ++ ++#include <string.h> ++#include <unistd.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <fcntl.h> ++ ++#include <openssl/conf.h> ++#include <openssl/engine.h> ++#include <openssl/hmac.h> ++#include <openssl/err.h> ++#include <openssl/x509v3.h> ++ ++#include "pppd.h" ++#include "eap.h" ++#include "eap-tls.h" ++#include "fsm.h" ++#include "lcp.h" ++#include "pathnames.h" ++ ++/* The openssl configuration file and engines can be loaded only once */ ++static CONF *ssl_config = NULL; ++static ENGINE *cert_engine = NULL; ++static ENGINE *pkey_engine = NULL; ++ ++#ifdef MPPE ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++/* ++ * https://wiki.openssl.org/index.php/1.1_API_Changes ++ * tries to provide some guidance but ultimately falls short. ++ */ ++ ++ ++static void HMAC_CTX_free(HMAC_CTX *ctx) ++{ ++ if (ctx != NULL) { ++ HMAC_CTX_cleanup(ctx); ++ OPENSSL_free(ctx); ++ } ++} ++ ++static HMAC_CTX *HMAC_CTX_new(void) ++{ ++ HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx)); ++ if (ctx != NULL) ++ HMAC_CTX_init(ctx); ++ return ctx; ++} ++ ++/* ++ * These were basically jacked directly from the OpenSSL tree ++ * without adjustments. ++ */ ++ ++static size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, ++ size_t outlen) ++{ ++ if (outlen == 0) ++ return sizeof(ssl->s3->client_random); ++ if (outlen > sizeof(ssl->s3->client_random)) ++ outlen = sizeof(ssl->s3->client_random); ++ memcpy(out, ssl->s3->client_random, outlen); ++ return outlen; ++} ++ ++static size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, ++ size_t outlen) ++{ ++ if (outlen == 0) ++ return sizeof(ssl->s3->server_random); ++ if (outlen > sizeof(ssl->s3->server_random)) ++ outlen = sizeof(ssl->s3->server_random); ++ memcpy(out, ssl->s3->server_random, outlen); ++ return outlen; ++} ++ ++static size_t SSL_SESSION_get_master_key(const SSL_SESSION *session, ++ unsigned char *out, size_t outlen) ++{ ++ if (outlen == 0) ++ return session->master_key_length; ++ if (outlen > session->master_key_length) ++ outlen = session->master_key_length; ++ memcpy(out, session->master_key, outlen); ++ return outlen; ++} ++ ++/* Avoid a deprecated warning in OpenSSL 1.1 whilst still allowing to build against 1.0.x */ ++#define TLS_method TLSv1_method ++ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ ++ ++/* ++ * TLS PRF from RFC 2246 ++ */ ++static void P_hash(const EVP_MD *evp_md, ++ const unsigned char *secret, unsigned int secret_len, ++ const unsigned char *seed, unsigned int seed_len, ++ unsigned char *out, unsigned int out_len) ++{ ++ HMAC_CTX *ctx_a, *ctx_out; ++ unsigned char a[HMAC_MAX_MD_CBLOCK]; ++ unsigned int size; ++ ++ ctx_a = HMAC_CTX_new(); ++ ctx_out = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx_a, secret, secret_len, evp_md, NULL); ++ HMAC_Init_ex(ctx_out, secret, secret_len, evp_md, NULL); ++ ++ size = HMAC_size(ctx_out); ++ ++ /* Calculate A(1) */ ++ HMAC_Update(ctx_a, seed, seed_len); ++ HMAC_Final(ctx_a, a, NULL); ++ ++ while (1) { ++ /* Calculate next part of output */ ++ HMAC_Update(ctx_out, a, size); ++ HMAC_Update(ctx_out, seed, seed_len); ++ ++ /* Check if last part */ ++ if (out_len < size) { ++ HMAC_Final(ctx_out, a, NULL); ++ memcpy(out, a, out_len); ++ break; ++ } ++ ++ /* Place digest in output buffer */ ++ HMAC_Final(ctx_out, out, NULL); ++ HMAC_Init_ex(ctx_out, NULL, 0, NULL, NULL); ++ out += size; ++ out_len -= size; ++ ++ /* Calculate next A(i) */ ++ HMAC_Init_ex(ctx_a, NULL, 0, NULL, NULL); ++ HMAC_Update(ctx_a, a, size); ++ HMAC_Final(ctx_a, a, NULL); ++ } ++ ++ HMAC_CTX_free(ctx_a); ++ HMAC_CTX_free(ctx_out); ++ memset(a, 0, sizeof(a)); ++} ++ ++static void PRF(const unsigned char *secret, unsigned int secret_len, ++ const unsigned char *seed, unsigned int seed_len, ++ unsigned char *out, unsigned char *buf, unsigned int out_len) ++{ ++ unsigned int i; ++ unsigned int len = (secret_len + 1) / 2; ++ const unsigned char *s1 = secret; ++ const unsigned char *s2 = secret + (secret_len - len); ++ ++ P_hash(EVP_md5(), s1, len, seed, seed_len, out, out_len); ++ P_hash(EVP_sha1(), s2, len, seed, seed_len, buf, out_len); ++ ++ for (i=0; i < out_len; i++) { ++ out[i] ^= buf[i]; ++ } ++} ++ ++#define EAPTLS_MPPE_KEY_LEN 32 ++ ++/* ++ * Generate keys according to RFC 2716 and add to reply ++ */ ++void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label, ++ int client) ++{ ++ unsigned char out[4*EAPTLS_MPPE_KEY_LEN], buf[4*EAPTLS_MPPE_KEY_LEN]; ++ unsigned char seed[64 + 2*SSL3_RANDOM_SIZE]; ++ unsigned char *p = seed; ++ SSL *s = ets->ssl; ++ size_t prf_size; ++ unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; ++ size_t master_key_length; ++ ++ prf_size = strlen(prf_label); ++ ++ memcpy(p, prf_label, prf_size); ++ p += prf_size; ++ ++ prf_size += SSL_get_client_random(s, p, SSL3_RANDOM_SIZE); ++ p += SSL3_RANDOM_SIZE; ++ ++ prf_size += SSL_get_server_random(s, p, SSL3_RANDOM_SIZE); ++ ++ master_key_length = SSL_SESSION_get_master_key(SSL_get_session(s), master_key, ++ sizeof(master_key)); ++ PRF(master_key, master_key_length, seed, prf_size, out, buf, sizeof(out)); ++ ++ /* ++ * We now have the master send and receive keys. ++ * From these, generate the session send and receive keys. ++ * (see RFC3079 / draft-ietf-pppext-mppe-keys-03.txt for details) ++ */ ++ if (client) ++ { ++ p = out; ++ BCOPY( p, mppe_send_key, sizeof(mppe_send_key) ); ++ p += EAPTLS_MPPE_KEY_LEN; ++ BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) ); ++ } ++ else ++ { ++ p = out; ++ BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) ); ++ p += EAPTLS_MPPE_KEY_LEN; ++ BCOPY( p, mppe_send_key, sizeof(mppe_send_key) ); ++ } ++ ++ mppe_keys_set = 1; ++} ++ ++#endif ++ ++void log_ssl_errors( void ) ++{ ++ unsigned long ssl_err = ERR_get_error(); ++ ++ if (ssl_err != 0) ++ dbglog("EAP-TLS SSL error stack:"); ++ while (ssl_err != 0) { ++ dbglog( ERR_error_string( ssl_err, NULL ) ); ++ ssl_err = ERR_get_error(); ++ } ++} ++ ++ ++int password_callback (char *buf, int size, int rwflag, void *u) ++{ ++ if (buf) ++ { ++ strncpy (buf, passwd, size); ++ return strlen (buf); ++ } ++ return 0; ++} ++ ++ ++CONF *eaptls_ssl_load_config( void ) ++{ ++ CONF *config; ++ int ret_code; ++ long error_line = 33; ++ ++ config = NCONF_new( NULL ); ++ dbglog( "Loading OpenSSL config file" ); ++ ret_code = NCONF_load( config, _PATH_OPENSSLCONFFILE, &error_line ); ++ if (ret_code == 0) ++ { ++ warn( "EAP-TLS: Error in OpenSSL config file %s at line %d", _PATH_OPENSSLCONFFILE, error_line ); ++ NCONF_free( config ); ++ config = NULL; ++ ERR_clear_error(); ++ } ++ ++ dbglog( "Loading OpenSSL built-ins" ); ++ ENGINE_load_builtin_engines(); ++ OPENSSL_load_builtin_modules(); ++ ++ dbglog( "Loading OpenSSL configured modules" ); ++ if (CONF_modules_load( config, NULL, 0 ) <= 0 ) ++ { ++ warn( "EAP-TLS: Error loading OpenSSL modules" ); ++ log_ssl_errors(); ++ config = NULL; ++ } ++ ++ return config; ++} ++ ++ENGINE *eaptls_ssl_load_engine( char *engine_name ) ++{ ++ ENGINE *e = NULL; ++ ++ dbglog( "Enabling OpenSSL auto engines" ); ++ ENGINE_register_all_complete(); ++ ++ dbglog( "Loading OpenSSL '%s' engine support", engine_name ); ++ e = ENGINE_by_id( engine_name ); ++ if (!e) ++ { ++ dbglog( "EAP-TLS: Cannot load '%s' engine support, trying 'dynamic'", engine_name ); ++ e = ENGINE_by_id( "dynamic" ); ++ if (e) ++ { ++ if (!ENGINE_ctrl_cmd_string(e, "SO_PATH", engine_name, 0) ++ || !ENGINE_ctrl_cmd_string(e, "LOAD", NULL, 0)) ++ { ++ warn( "EAP-TLS: Error loading dynamic engine '%s'", engine_name ); ++ log_ssl_errors(); ++ ENGINE_free(e); ++ e = NULL; ++ } ++ } ++ else ++ { ++ warn( "EAP-TLS: Cannot load dynamic engine support" ); ++ } ++ } ++ ++ if (e) ++ { ++ dbglog( "Initialising engine" ); ++ if(!ENGINE_set_default(e, ENGINE_METHOD_ALL)) ++ { ++ warn( "EAP-TLS: Cannot use that engine" ); ++ log_ssl_errors(); ++ ENGINE_free(e); ++ e = NULL; ++ } ++ } ++ ++ return e; ++} ++ ++/* ++ * Initialize the SSL stacks and tests if certificates, key and crl ++ * for client or server use can be loaded. ++ */ ++SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile, ++ char *certfile, char *peer_certfile, char *privkeyfile) ++{ ++ char *cert_engine_name = NULL; ++ char *cert_identifier = NULL; ++ char *pkey_engine_name = NULL; ++ char *pkey_identifier = NULL; ++ SSL_CTX *ctx; ++ X509_STORE *certstore; ++ X509_LOOKUP *lookup; ++ X509 *tmp; ++ ++ /* ++ * Without these can't continue ++ */ ++ if (!cacertfile[0]) ++ { ++ error("EAP-TLS: CA certificate missing"); ++ return NULL; ++ } ++ ++ if (!certfile[0]) ++ { ++ error("EAP-TLS: User certificate missing"); ++ return NULL; ++ } ++ ++ if (!privkeyfile[0]) ++ { ++ error("EAP-TLS: User private key missing"); ++ return NULL; ++ } ++ ++ SSL_library_init(); ++ SSL_load_error_strings(); ++ ++ ctx = SSL_CTX_new(TLS_method()); ++ ++ if (!ctx) { ++ error("EAP-TLS: Cannot initialize SSL CTX context"); ++ goto fail; ++ } ++ ++ /* if the certificate filename is of the form engine:id. e.g. ++ pkcs11:12345 ++ then we try to load and use this engine. ++ If the certificate filename starts with a / or . then we ++ ALWAYS assume it is a file and not an engine/pkcs11 identifier ++ */ ++ if ( index( certfile, '/' ) == NULL && index( certfile, '.') == NULL ) ++ { ++ cert_identifier = index( certfile, ':' ); ++ ++ if (cert_identifier) ++ { ++ cert_engine_name = certfile; ++ *cert_identifier = '\0'; ++ cert_identifier++; ++ ++ dbglog( "Found certificate engine '%s'", cert_engine_name ); ++ dbglog( "Found certificate identifier '%s'", cert_identifier ); ++ } ++ } ++ ++ /* if the privatekey filename is of the form engine:id. e.g. ++ pkcs11:12345 ++ then we try to load and use this engine. ++ If the privatekey filename starts with a / or . then we ++ ALWAYS assume it is a file and not an engine/pkcs11 identifier ++ */ ++ if ( index( privkeyfile, '/' ) == NULL && index( privkeyfile, '.') == NULL ) ++ { ++ pkey_identifier = index( privkeyfile, ':' ); ++ ++ if (pkey_identifier) ++ { ++ pkey_engine_name = privkeyfile; ++ *pkey_identifier = '\0'; ++ pkey_identifier++; ++ ++ dbglog( "Found privatekey engine '%s'", pkey_engine_name ); ++ dbglog( "Found privatekey identifier '%s'", pkey_identifier ); ++ } ++ } ++ ++ if (cert_identifier && pkey_identifier) ++ { ++ if (strlen( cert_identifier ) == 0) ++ { ++ if (strlen( pkey_identifier ) == 0) ++ error( "EAP-TLS: both the certificate and privatekey identifiers are missing!" ); ++ else ++ { ++ dbglog( "Substituting privatekey identifier for certificate identifier" ); ++ cert_identifier = pkey_identifier; ++ } ++ } ++ else ++ { ++ if (strlen( pkey_identifier ) == 0) ++ { ++ dbglog( "Substituting certificate identifier for privatekey identifier" ); ++ pkey_identifier = cert_identifier; ++ } ++ } ++ ++ } ++ ++ /* load the openssl config file only once */ ++ if (!ssl_config) ++ { ++ if (cert_engine_name || pkey_engine_name) ++ ssl_config = eaptls_ssl_load_config(); ++ ++ if (ssl_config && cert_engine_name) ++ cert_engine = eaptls_ssl_load_engine( cert_engine_name ); ++ ++ if (ssl_config && pkey_engine_name) ++ { ++ /* don't load the same engine twice */ ++ if ( cert_engine && strcmp( cert_engine_name, pkey_engine_name) == 0 ) ++ pkey_engine = cert_engine; ++ else ++ pkey_engine = eaptls_ssl_load_engine( pkey_engine_name ); ++ } ++ } ++ ++ SSL_CTX_set_default_passwd_cb (ctx, password_callback); ++ ++ if (!SSL_CTX_load_verify_locations(ctx, cacertfile, NULL)) ++ { ++ error("EAP-TLS: Cannot load or verify CA file %s", cacertfile); ++ goto fail; ++ } ++ ++ if (init_server) ++ SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(cacertfile)); ++ ++ if (cert_engine) ++ { ++ struct ++ { ++ const char *s_slot_cert_id; ++ X509 *cert; ++ } cert_info; ++ ++ cert_info.s_slot_cert_id = cert_identifier; ++ cert_info.cert = NULL; ++ ++ if (!ENGINE_ctrl_cmd( cert_engine, "LOAD_CERT_CTRL", 0, &cert_info, NULL, 0 ) ) ++ { ++ error( "EAP-TLS: Error loading certificate with id '%s' from engine", cert_identifier ); ++ goto fail; ++ } ++ ++ if (cert_info.cert) ++ { ++ dbglog( "Got the certificate, adding it to SSL context" ); ++ dbglog( "subject = %s", X509_NAME_oneline( X509_get_subject_name( cert_info.cert ), NULL, 0 ) ); ++ if (SSL_CTX_use_certificate(ctx, cert_info.cert) <= 0) ++ { ++ error("EAP-TLS: Cannot use PKCS11 certificate %s", cert_identifier); ++ goto fail; ++ } ++ } ++ else ++ { ++ warn("EAP-TLS: Cannot load PKCS11 key %s", cert_identifier); ++ log_ssl_errors(); ++ } ++ } ++ else ++ { ++ if (!SSL_CTX_use_certificate_file(ctx, certfile, SSL_FILETYPE_PEM)) ++ { ++ error( "EAP-TLS: Cannot use public certificate %s", certfile ); ++ goto fail; ++ } ++ } ++ ++ if (pkey_engine) ++ { ++ EVP_PKEY *pkey = NULL; ++ PW_CB_DATA cb_data; ++ ++ cb_data.password = passwd; ++ cb_data.prompt_info = pkey_identifier; ++ ++ dbglog( "Loading private key '%s' from engine", pkey_identifier ); ++ pkey = ENGINE_load_private_key(pkey_engine, pkey_identifier, NULL, &cb_data); ++ if (pkey) ++ { ++ dbglog( "Got the private key, adding it to SSL context" ); ++ if (SSL_CTX_use_PrivateKey(ctx, pkey) <= 0) ++ { ++ error("EAP-TLS: Cannot use PKCS11 key %s", pkey_identifier); ++ goto fail; ++ } ++ } ++ else ++ { ++ warn("EAP-TLS: Cannot load PKCS11 key %s", pkey_identifier); ++ log_ssl_errors(); ++ } ++ } ++ else ++ { ++ if (!SSL_CTX_use_PrivateKey_file(ctx, privkeyfile, SSL_FILETYPE_PEM)) ++ { ++ error("EAP-TLS: Cannot use private key %s", privkeyfile); ++ goto fail; ++ } ++ } ++ ++ if (SSL_CTX_check_private_key(ctx) != 1) { ++ error("EAP-TLS: Private key %s fails security check", privkeyfile); ++ goto fail; ++ } ++ ++ /* Explicitly set the NO_TICKETS flag to support Win7/Win8 clients */ ++ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 ++#ifdef SSL_OP_NO_TICKET ++ | SSL_OP_NO_TICKET ++#endif ++); ++ SSL_CTX_set_verify_depth(ctx, 5); ++ SSL_CTX_set_verify(ctx, ++ SSL_VERIFY_PEER | ++ SSL_VERIFY_FAIL_IF_NO_PEER_CERT, ++ &ssl_verify_callback); ++ ++ if (crl_dir) { ++ if (!(certstore = SSL_CTX_get_cert_store(ctx))) { ++ error("EAP-TLS: Failed to get certificate store"); ++ goto fail; ++ } ++ ++ if (!(lookup = ++ X509_STORE_add_lookup(certstore, X509_LOOKUP_hash_dir()))) { ++ error("EAP-TLS: Store lookup for CRL failed"); ++ ++ goto fail; ++ } ++ ++ X509_LOOKUP_add_dir(lookup, crl_dir, X509_FILETYPE_PEM); ++ X509_STORE_set_flags(certstore, X509_V_FLAG_CRL_CHECK); ++ } ++ ++ if (crl_file) { ++ FILE *fp = NULL; ++ X509_CRL *crl = NULL; ++ ++ fp = fopen(crl_file, "r"); ++ if (!fp) { ++ error("EAP-TLS: Cannot open CRL file '%s'", crl_file); ++ goto fail; ++ } ++ ++ crl = PEM_read_X509_CRL(fp, NULL, NULL, NULL); ++ if (!crl) { ++ error("EAP-TLS: Cannot read CRL file '%s'", crl_file); ++ goto fail; ++ } ++ ++ if (!(certstore = SSL_CTX_get_cert_store(ctx))) { ++ error("EAP-TLS: Failed to get certificate store"); ++ goto fail; ++ } ++ if (!X509_STORE_add_crl(certstore, crl)) { ++ error("EAP-TLS: Cannot add CRL to certificate store"); ++ goto fail; ++ } ++ X509_STORE_set_flags(certstore, X509_V_FLAG_CRL_CHECK); ++ ++ } ++ ++ /* ++ * If a peer certificate file was specified, it must be valid, else fail ++ */ ++ if (peer_certfile[0]) { ++ if (!(tmp = get_X509_from_file(peer_certfile))) { ++ error("EAP-TLS: Error loading client certificate from file %s", ++ peer_certfile); ++ goto fail; ++ } ++ X509_free(tmp); ++ } ++ ++ return ctx; ++ ++fail: ++ log_ssl_errors(); ++ SSL_CTX_free(ctx); ++ return NULL; ++} ++ ++/* ++ * Determine the maximum packet size by looking at the LCP handshake ++ */ ++ ++int eaptls_get_mtu(int unit) ++{ ++ int mtu, mru; ++ ++ lcp_options *wo = &lcp_wantoptions[unit]; ++ lcp_options *go = &lcp_gotoptions[unit]; ++ lcp_options *ho = &lcp_hisoptions[unit]; ++ lcp_options *ao = &lcp_allowoptions[unit]; ++ ++ mtu = ho->neg_mru? ho->mru: PPP_MRU; ++ mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU; ++ mtu = MIN(MIN(mtu, mru), ao->mru)- PPP_HDRLEN - 10; ++ ++ dbglog("MTU = %d", mtu); ++ return mtu; ++} ++ ++ ++/* ++ * Init the ssl handshake (server mode) ++ */ ++int eaptls_init_ssl_server(eap_state * esp) ++{ ++ struct eaptls_session *ets; ++ char servcertfile[MAXWORDLEN]; ++ char clicertfile[MAXWORDLEN]; ++ char cacertfile[MAXWORDLEN]; ++ char pkfile[MAXWORDLEN]; ++ /* ++ * Allocate new eaptls session ++ */ ++ esp->es_server.ea_session = malloc(sizeof(struct eaptls_session)); ++ if (!esp->es_server.ea_session) ++ fatal("Allocation error"); ++ ets = esp->es_server.ea_session; ++ ++ if (!esp->es_server.ea_peer) { ++ error("EAP-TLS: Error: client name not set (BUG)"); ++ return 0; ++ } ++ ++ strncpy(ets->peer, esp->es_server.ea_peer, MAXWORDLEN); ++ ++ dbglog( "getting eaptls secret" ); ++ if (!get_eaptls_secret(esp->es_unit, esp->es_server.ea_peer, ++ esp->es_server.ea_name, clicertfile, ++ servcertfile, cacertfile, pkfile, 1)) { ++ error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"", ++ esp->es_server.ea_peer, esp->es_server.ea_name ); ++ return 0; ++ } ++ ++ ets->mtu = eaptls_get_mtu(esp->es_unit); ++ ++ ets->ctx = eaptls_init_ssl(1, cacertfile, servcertfile, clicertfile, pkfile); ++ if (!ets->ctx) ++ goto fail; ++ ++ if (!(ets->ssl = SSL_new(ets->ctx))) ++ goto fail; ++ ++ /* ++ * Set auto-retry to avoid timeouts on BIO_read ++ */ ++ SSL_set_mode(ets->ssl, SSL_MODE_AUTO_RETRY); ++ ++ /* ++ * Initialize the BIOs we use to read/write to ssl engine ++ */ ++ ets->into_ssl = BIO_new(BIO_s_mem()); ++ ets->from_ssl = BIO_new(BIO_s_mem()); ++ SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl); ++ ++ SSL_set_msg_callback(ets->ssl, ssl_msg_callback); ++ SSL_set_msg_callback_arg(ets->ssl, ets); ++ ++ /* ++ * Attach the session struct to the connection, so we can later ++ * retrieve it when doing certificate verification ++ */ ++ SSL_set_ex_data(ets->ssl, 0, ets); ++ ++ SSL_set_accept_state(ets->ssl); ++ ++ ets->data = NULL; ++ ets->datalen = 0; ++ ets->alert_sent = 0; ++ ets->alert_recv = 0; ++ ++ /* ++ * If we specified the client certificate file, store it in ets->peercertfile, ++ * so we can check it later in ssl_verify_callback() ++ */ ++ if (clicertfile[0]) ++ strncpy(&ets->peercertfile[0], clicertfile, MAXWORDLEN); ++ else ++ ets->peercertfile[0] = 0; ++ ++ return 1; ++ ++fail: ++ SSL_CTX_free(ets->ctx); ++ return 0; ++} ++ ++/* ++ * Init the ssl handshake (client mode) ++ */ ++int eaptls_init_ssl_client(eap_state * esp) ++{ ++ struct eaptls_session *ets; ++ char servcertfile[MAXWORDLEN]; ++ char clicertfile[MAXWORDLEN]; ++ char cacertfile[MAXWORDLEN]; ++ char pkfile[MAXWORDLEN]; ++ ++ /* ++ * Allocate new eaptls session ++ */ ++ esp->es_client.ea_session = malloc(sizeof(struct eaptls_session)); ++ if (!esp->es_client.ea_session) ++ fatal("Allocation error"); ++ ets = esp->es_client.ea_session; ++ ++ /* ++ * If available, copy server name in ets; it will be used in cert ++ * verify ++ */ ++ if (esp->es_client.ea_peer) ++ strncpy(ets->peer, esp->es_client.ea_peer, MAXWORDLEN); ++ else ++ ets->peer[0] = 0; ++ ++ ets->mtu = eaptls_get_mtu(esp->es_unit); ++ ++ dbglog( "calling get_eaptls_secret" ); ++ if (!get_eaptls_secret(esp->es_unit, esp->es_client.ea_name, ++ ets->peer, clicertfile, ++ servcertfile, cacertfile, pkfile, 0)) { ++ error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"", ++ esp->es_client.ea_name, ets->peer ); ++ return 0; ++ } ++ ++ dbglog( "calling eaptls_init_ssl" ); ++ ets->ctx = eaptls_init_ssl(0, cacertfile, clicertfile, servcertfile, pkfile); ++ if (!ets->ctx) ++ goto fail; ++ ++ ets->ssl = SSL_new(ets->ctx); ++ ++ if (!ets->ssl) ++ goto fail; ++ ++ /* ++ * Initialize the BIOs we use to read/write to ssl engine ++ */ ++ dbglog( "Initializing SSL BIOs" ); ++ ets->into_ssl = BIO_new(BIO_s_mem()); ++ ets->from_ssl = BIO_new(BIO_s_mem()); ++ SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl); ++ ++ SSL_set_msg_callback(ets->ssl, ssl_msg_callback); ++ SSL_set_msg_callback_arg(ets->ssl, ets); ++ ++ /* ++ * Attach the session struct to the connection, so we can later ++ * retrieve it when doing certificate verification ++ */ ++ SSL_set_ex_data(ets->ssl, 0, ets); ++ ++ SSL_set_connect_state(ets->ssl); ++ ++ ets->data = NULL; ++ ets->datalen = 0; ++ ets->alert_sent = 0; ++ ets->alert_recv = 0; ++ ++ /* ++ * If we specified the server certificate file, store it in ++ * ets->peercertfile, so we can check it later in ++ * ssl_verify_callback() ++ */ ++ if (servcertfile[0]) ++ strncpy(ets->peercertfile, servcertfile, MAXWORDLEN); ++ else ++ ets->peercertfile[0] = 0; ++ ++ return 1; ++ ++fail: ++ dbglog( "eaptls_init_ssl_client: fail" ); ++ SSL_CTX_free(ets->ctx); ++ return 0; ++ ++} ++ ++void eaptls_free_session(struct eaptls_session *ets) ++{ ++ if (ets->ssl) ++ SSL_free(ets->ssl); ++ ++ if (ets->ctx) ++ SSL_CTX_free(ets->ctx); ++ ++ free(ets); ++} ++ ++/* ++ * Handle a received packet, reassembling fragmented messages and ++ * passing them to the ssl engine ++ */ ++int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len) ++{ ++ u_char flags; ++ u_int tlslen = 0; ++ u_char dummy[65536]; ++ ++ if (len < 1) { ++ warn("EAP-TLS: received no or invalid data"); ++ return 1; ++ } ++ ++ GETCHAR(flags, inp); ++ len--; ++ ++ if (flags & EAP_TLS_FLAGS_LI && len >= 4) { ++ /* ++ * LenghtIncluded flag set -> this is the first packet of a message ++ */ ++ ++ /* ++ * the first 4 octets are the length of the EAP-TLS message ++ */ ++ GETLONG(tlslen, inp); ++ len -= 4; ++ ++ if (!ets->data) { ++ ++ if (tlslen > EAP_TLS_MAX_LEN) { ++ error("EAP-TLS: TLS message length > %d, truncated", EAP_TLS_MAX_LEN); ++ tlslen = EAP_TLS_MAX_LEN; ++ } ++ ++ /* ++ * Allocate memory for the whole message ++ */ ++ ets->data = malloc(tlslen); ++ if (!ets->data) ++ fatal("EAP-TLS: allocation error\n"); ++ ++ ets->datalen = 0; ++ ets->tlslen = tlslen; ++ } ++ else ++ warn("EAP-TLS: non-first LI packet? that's odd..."); ++ } ++ else if (!ets->data) { ++ /* ++ * A non fragmented message without LI flag ++ */ ++ ++ ets->data = malloc(len); ++ if (!ets->data) ++ fatal("EAP-TLS: allocation error\n"); ++ ++ ets->datalen = 0; ++ ets->tlslen = len; ++ } ++ ++ if (flags & EAP_TLS_FLAGS_MF) ++ ets->frag = 1; ++ else ++ ets->frag = 0; ++ ++ if (len < 0) { ++ warn("EAP-TLS: received malformed data"); ++ return 1; ++ } ++ ++ if (len + ets->datalen > ets->tlslen) { ++ warn("EAP-TLS: received data > TLS message length"); ++ return 1; ++ } ++ ++ BCOPY(inp, ets->data + ets->datalen, len); ++ ets->datalen += len; ++ ++ if (!ets->frag) { ++ ++ /* ++ * If we have the whole message, pass it to ssl ++ */ ++ ++ if (ets->datalen != ets->tlslen) { ++ warn("EAP-TLS: received data != TLS message length"); ++ return 1; ++ } ++ ++ if (BIO_write(ets->into_ssl, ets->data, ets->datalen) == -1) ++ log_ssl_errors(); ++ ++ SSL_read(ets->ssl, dummy, 65536); ++ ++ free(ets->data); ++ ets->data = NULL; ++ ets->datalen = 0; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Return an eap-tls packet in outp. ++ * A TLS message read from the ssl engine is buffered in ets->data. ++ * At each call we control if there is buffered data and send a ++ * packet of mtu bytes. ++ */ ++int eaptls_send(struct eaptls_session *ets, u_char ** outp) ++{ ++ bool first = 0; ++ int size; ++ u_char fromtls[65536]; ++ int res; ++ u_char *start; ++ ++ start = *outp; ++ ++ if (!ets->data) { ++ ++ if(!ets->alert_sent) ++ SSL_read(ets->ssl, fromtls, 65536); ++ ++ /* ++ * Read from ssl ++ */ ++ if ((res = BIO_read(ets->from_ssl, fromtls, 65536)) == -1) ++ fatal("No data from BIO_read"); ++ ++ ets->datalen = res; ++ ++ ets->data = malloc(ets->datalen); ++ BCOPY(fromtls, ets->data, ets->datalen); ++ ++ ets->offset = 0; ++ first = 1; ++ ++ } ++ ++ size = ets->datalen - ets->offset; ++ ++ if (size > ets->mtu) { ++ size = ets->mtu; ++ ets->frag = 1; ++ } else ++ ets->frag = 0; ++ ++ PUTCHAR(EAPT_TLS, *outp); ++ ++ /* ++ * Set right flags and length if necessary ++ */ ++ if (ets->frag && first) { ++ PUTCHAR(EAP_TLS_FLAGS_LI | EAP_TLS_FLAGS_MF, *outp); ++ PUTLONG(ets->datalen, *outp); ++ } else if (ets->frag) { ++ PUTCHAR(EAP_TLS_FLAGS_MF, *outp); ++ } else ++ PUTCHAR(0, *outp); ++ ++ /* ++ * Copy the data in outp ++ */ ++ BCOPY(ets->data + ets->offset, *outp, size); ++ INCPTR(size, *outp); ++ ++ /* ++ * Copy the packet in retransmission buffer ++ */ ++ BCOPY(start, &ets->rtx[0], *outp - start); ++ ets->rtx_len = *outp - start; ++ ++ ets->offset += size; ++ ++ if (ets->offset >= ets->datalen) { ++ ++ /* ++ * The whole message has been sent ++ */ ++ ++ free(ets->data); ++ ets->data = NULL; ++ ets->datalen = 0; ++ ets->offset = 0; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Get the sent packet from the retransmission buffer ++ */ ++void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp) ++{ ++ BCOPY(ets->rtx, *outp, ets->rtx_len); ++ INCPTR(ets->rtx_len, *outp); ++} ++ ++/* ++ * Verify a certificate. ++ * Most of the work (signatures and issuer attributes checking) ++ * is done by ssl; we check the CN in the peer certificate ++ * against the peer name. ++ */ ++int ssl_verify_callback(int preverify_ok, X509_STORE_CTX * ctx) ++{ ++ char subject[256]; ++ char cn_str[256]; ++ X509 *peer_cert; ++ int err, depth; ++ int ok = preverify_ok; ++ SSL *ssl; ++ struct eaptls_session *ets; ++ ++ peer_cert = X509_STORE_CTX_get_current_cert(ctx); ++ err = X509_STORE_CTX_get_error(ctx); ++ depth = X509_STORE_CTX_get_error_depth(ctx); ++ ++ dbglog("certificate verify depth: %d", depth); ++ ++ if (auth_required && !ok) { ++ X509_NAME_oneline(X509_get_subject_name(peer_cert), ++ subject, 256); ++ ++ X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert), ++ NID_commonName, cn_str, 256); ++ ++ dbglog("Certificate verification error:\n depth: %d CN: %s" ++ "\n err: %d (%s)\n", depth, cn_str, err, ++ X509_verify_cert_error_string(err)); ++ ++ return 0; ++ } ++ ++ ssl = X509_STORE_CTX_get_ex_data(ctx, ++ SSL_get_ex_data_X509_STORE_CTX_idx()); ++ ++ ets = (struct eaptls_session *)SSL_get_ex_data(ssl, 0); ++ ++ if (ets == NULL) { ++ error("Error: SSL_get_ex_data returned NULL"); ++ return 0; ++ } ++ ++ log_ssl_errors(); ++ ++ if (!depth) { /* This is the peer certificate */ ++ ++ X509_NAME_oneline(X509_get_subject_name(peer_cert), ++ subject, 256); ++ ++ X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert), ++ NID_commonName, cn_str, 256); ++ ++ /* ++ * If acting as client and the name of the server wasn't specified ++ * explicitely, we can't verify the server authenticity ++ */ ++ if (!ets->peer[0]) { ++ warn("Peer name not specified: no check"); ++ return 1; ++ } ++ ++ /* ++ * Check the CN ++ */ ++ if (strcmp(cn_str, ets->peer)) { ++ error ++ ("Certificate verification error: CN (%s) != peer_name (%s)", ++ cn_str, ets->peer); ++ return 0; ++ } ++ ++ warn("Certificate CN: %s , peer name %s", cn_str, ets->peer); ++ ++ /* ++ * If a peer certificate file was specified, here we check it ++ */ ++ if (ets->peercertfile[0]) { ++ if (ssl_cmp_certs(&ets->peercertfile[0], peer_cert) ++ != 0) { ++ error ++ ("Peer certificate doesn't match stored certificate"); ++ return 0; ++ } ++ } ++ } ++ ++ return 1; ++} ++ ++/* ++ * Compare a certificate with the one stored in a file ++ */ ++int ssl_cmp_certs(char *filename, X509 * a) ++{ ++ X509 *b; ++ int ret; ++ ++ if (!(b = get_X509_from_file(filename))) ++ return 1; ++ ++ ret = X509_cmp(a, b); ++ X509_free(b); ++ ++ return ret; ++ ++} ++ ++X509 *get_X509_from_file(char *filename) ++{ ++ FILE *fp; ++ X509 *ret; ++ ++ if (!(fp = fopen(filename, "r"))) ++ return NULL; ++ ++ ret = PEM_read_X509(fp, NULL, NULL, NULL); ++ ++ fclose(fp); ++ ++ return ret; ++} ++ ++/* ++ * Every sent & received message this callback function is invoked, ++ * so we know when alert messages have arrived or are sent and ++ * we can print debug information about TLS handshake. ++ */ ++void ++ssl_msg_callback(int write_p, int version, int content_type, ++ const void *buf, size_t len, SSL * ssl, void *arg) ++{ ++ char string[256]; ++ struct eaptls_session *ets = (struct eaptls_session *)arg; ++ unsigned char code; ++ const unsigned char*msg = buf; ++ int hvers = msg[1] << 8 | msg[2]; ++ ++ if(write_p) ++ strcpy(string, " -> "); ++ else ++ strcpy(string, " <- "); ++ ++ switch(content_type) { ++ ++ case SSL3_RT_HEADER: ++ strcat(string, "SSL/TLS Header: "); ++ switch(hvers) { ++ case SSL3_VERSION: ++ strcat(string, "SSL 3.0"); ++ break; ++ case TLS1_VERSION: ++ strcat(string, "TLS 1.0"); ++ break; ++ case TLS1_1_VERSION: ++ strcat(string, "TLS 1.1"); ++ break; ++ case TLS1_2_VERSION: ++ strcat(string, "TLS 1.2"); ++ break; ++ case DTLS1_VERSION: ++ strcat(string, "DTLS 1.0"); ++ break; ++ case DTLS1_2_VERSION: ++ strcat(string, "DTLS 1.2"); ++ break; ++ default: ++ strcat(string, "Unknown version"); ++ } ++ break; ++ ++ case SSL3_RT_ALERT: ++ strcat(string, "Alert: "); ++ code = msg[1]; ++ ++ if (write_p) { ++ ets->alert_sent = 1; ++ ets->alert_sent_desc = code; ++ } else { ++ ets->alert_recv = 1; ++ ets->alert_recv_desc = code; ++ } ++ ++ strcat(string, SSL_alert_desc_string_long(code)); ++ break; ++ ++ case SSL3_RT_CHANGE_CIPHER_SPEC: ++ strcat(string, "ChangeCipherSpec"); ++ break; ++ ++ case SSL3_RT_HANDSHAKE: ++ ++ strcat(string, "Handshake: "); ++ code = msg[0]; ++ ++ switch(code) { ++ case SSL3_MT_HELLO_REQUEST: ++ strcat(string,"Hello Request"); ++ break; ++ case SSL3_MT_CLIENT_HELLO: ++ strcat(string,"Client Hello"); ++ break; ++ case SSL3_MT_SERVER_HELLO: ++ strcat(string,"Server Hello"); ++ break; ++#ifdef SSL3_MT_NEWSESSION_TICKET ++ case SSL3_MT_NEWSESSION_TICKET: ++ strcat(string,"New Session Ticket"); ++ break; ++#endif ++ case SSL3_MT_CERTIFICATE: ++ strcat(string,"Certificate"); ++ break; ++ case SSL3_MT_SERVER_KEY_EXCHANGE: ++ strcat(string,"Server Key Exchange"); ++ break; ++ case SSL3_MT_CERTIFICATE_REQUEST: ++ strcat(string,"Certificate Request"); ++ break; ++ case SSL3_MT_SERVER_DONE: ++ strcat(string,"Server Hello Done"); ++ break; ++ case SSL3_MT_CERTIFICATE_VERIFY: ++ strcat(string,"Certificate Verify"); ++ break; ++ case SSL3_MT_CLIENT_KEY_EXCHANGE: ++ strcat(string,"Client Key Exchange"); ++ break; ++ case SSL3_MT_FINISHED: ++ strcat(string,"Finished"); ++ break; ++ ++ default: ++ sprintf( string, "Handshake: Unknown SSL3 code received: %d", code ); ++ } ++ break; ++ ++ default: ++ sprintf( string, "SSL message contains unknown content type: %d", content_type ); ++ ++ } ++ ++ /* Alert messages must always be displayed */ ++ if(content_type == SSL3_RT_ALERT) ++ error("%s", string); ++ else ++ dbglog("%s", string); ++} ++ +diff -Naur ppp-2.4.7/pppd/eap-tls.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.h +--- ppp-2.4.7/pppd/eap-tls.h 1970-01-01 01:00:00.000000000 +0100 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.h 2018-06-02 01:42:04.023165433 +0200 +@@ -0,0 +1,107 @@ ++/* ++ * eap-tls.h ++ * ++ * Copyright (c) Beniamino Galvani 2005 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. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ */ ++ ++#ifndef __EAP_TLS_H__ ++#define __EAP_TLS_H__ ++ ++#include "eap.h" ++ ++#include <openssl/ssl.h> ++#include <openssl/bio.h> ++#include <openssl/md5.h> ++ ++#define EAP_TLS_FLAGS_LI 128 /* length included flag */ ++#define EAP_TLS_FLAGS_MF 64 /* more fragments flag */ ++#define EAP_TLS_FLAGS_START 32 /* start flag */ ++ ++#define EAP_TLS_MAX_LEN 65536 /* max eap tls packet size */ ++ ++struct eaptls_session ++{ ++ u_char *data; /* buffered data */ ++ int datalen; /* buffered data len */ ++ int offset; /* from where to send */ ++ int tlslen; /* total length of tls data */ ++ bool frag; /* packet is fragmented */ ++ SSL_CTX *ctx; ++ SSL *ssl; /* ssl connection */ ++ BIO *from_ssl; ++ BIO *into_ssl; ++ char peer[MAXWORDLEN]; /* peer name */ ++ char peercertfile[MAXWORDLEN]; ++ bool alert_sent; ++ u_char alert_sent_desc; ++ bool alert_recv; ++ u_char alert_recv_desc; ++ char rtx[65536]; /* retransmission buffer */ ++ int rtx_len; ++ int mtu; /* unit mtu */ ++}; ++ ++typedef struct pw_cb_data ++{ ++ const void *password; ++ const char *prompt_info; ++} PW_CB_DATA; ++ ++ ++int ssl_verify_callback(int, X509_STORE_CTX *); ++void ssl_msg_callback(int write_p, int version, int ct, const void *buf, ++ size_t len, SSL * ssl, void *arg); ++ ++X509 *get_X509_from_file(char *filename); ++int ssl_cmp_certs(char *filename, X509 * a); ++ ++SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile, ++ char *certfile, char *peer_certfile, char *privkeyfile); ++int eaptls_init_ssl_server(eap_state * esp); ++int eaptls_init_ssl_client(eap_state * esp); ++void eaptls_free_session(struct eaptls_session *ets); ++ ++int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len); ++int eaptls_send(struct eaptls_session *ets, u_char ** outp); ++void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp); ++ ++int get_eaptls_secret(int unit, char *client, char *server, ++ char *clicertfile, char *servcertfile, char *cacertfile, ++ char *pkfile, int am_server); ++ ++#ifdef MPPE ++#include "mppe.h" /* MPPE_MAX_KEY_LEN */ ++extern u_char mppe_send_key[MPPE_MAX_KEY_LEN]; ++extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN]; ++extern int mppe_keys_set; ++ ++void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label, int client); ++ ++#endif ++ ++#endif +diff -Naur ppp-2.4.7/pppd/eap.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.c +--- ppp-2.4.7/pppd/eap.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.c 2018-06-02 01:42:04.023165433 +0200 +@@ -43,6 +43,11 @@ + * Based on draft-ietf-pppext-eap-srp-03.txt. + */ + ++/* ++ * Modification by Beniamino Galvani, Mar 2005 ++ * Implemented EAP-TLS authentication ++ */ ++ + #define RCSID "$Id: eap.c,v 1.4 2004/11/09 22:39:25 paulus Exp $" + + /* +@@ -62,8 +67,12 @@ + + #include "pppd.h" + #include "pathnames.h" +-#include "md5.h" + #include "eap.h" ++#ifdef USE_EAPTLS ++#include "eap-tls.h" ++#else ++#include "md5.h" ++#endif /* USE_EAPTLS */ + + #ifdef USE_SRP + #include <t_pwd.h> +@@ -209,6 +218,9 @@ + esp->es_server.ea_id = (u_char)(drand48() * 0x100); + esp->es_client.ea_timeout = EAP_DEFREQTIME; + esp->es_client.ea_maxrequests = EAP_DEFALLOWREQ; ++#ifdef USE_EAPTLS ++ esp->es_client.ea_using_eaptls = 0; ++#endif /* USE_EAPTLS */ + } + + /* +@@ -436,8 +448,16 @@ + u_char vals[2]; + struct b64state bs; + #endif /* USE_SRP */ ++#ifdef USE_EAPTLS ++ struct eaptls_session *ets; ++ int secret_len; ++ char secret[MAXWORDLEN]; ++#endif /* USE_EAPTLS */ + + esp->es_server.ea_timeout = esp->es_savedtime; ++#ifdef USE_EAPTLS ++ esp->es_server.ea_prev_state = esp->es_server.ea_state; ++#endif /* USE_EAPTLS */ + switch (esp->es_server.ea_state) { + case eapBadAuth: + return; +@@ -562,9 +582,79 @@ + break; + } + #endif /* USE_SRP */ ++#ifdef USE_EAPTLS ++ if (!get_secret(esp->es_unit, esp->es_server.ea_peer, ++ esp->es_server.ea_name, secret, &secret_len, 1)) { ++ ++ esp->es_server.ea_state = eapTlsStart; ++ break; ++ } ++#endif /* USE_EAPTLS */ ++ + esp->es_server.ea_state = eapMD5Chall; + break; + ++#ifdef USE_EAPTLS ++ case eapTlsStart: ++ /* Initialize ssl session */ ++ if(!eaptls_init_ssl_server(esp)) { ++ esp->es_server.ea_state = eapBadAuth; ++ break; ++ } ++ ++ esp->es_server.ea_state = eapTlsRecv; ++ break; ++ ++ case eapTlsRecv: ++ ets = (struct eaptls_session *) esp->es_server.ea_session; ++ ++ if(ets->alert_sent) { ++ esp->es_server.ea_state = eapTlsSendAlert; ++ break; ++ } ++ ++ if (status) { ++ esp->es_server.ea_state = eapBadAuth; ++ break; ++ } ++ ets = (struct eaptls_session *) esp->es_server.ea_session; ++ ++ if(ets->frag) ++ esp->es_server.ea_state = eapTlsSendAck; ++ else ++ esp->es_server.ea_state = eapTlsSend; ++ break; ++ ++ case eapTlsSend: ++ ets = (struct eaptls_session *) esp->es_server.ea_session; ++ ++ if(ets->frag) ++ esp->es_server.ea_state = eapTlsRecvAck; ++ else ++ if(SSL_is_init_finished(ets->ssl)) ++ esp->es_server.ea_state = eapTlsRecvClient; ++ else ++ esp->es_server.ea_state = eapTlsRecv; ++ break; ++ ++ case eapTlsSendAck: ++ esp->es_server.ea_state = eapTlsRecv; ++ break; ++ ++ case eapTlsRecvAck: ++ if (status) { ++ esp->es_server.ea_state = eapBadAuth; ++ break; ++ } ++ ++ esp->es_server.ea_state = eapTlsSend; ++ break; ++ ++ case eapTlsSendAlert: ++ esp->es_server.ea_state = eapTlsRecvAlertAck; ++ break; ++#endif /* USE_EAPTLS */ ++ + case eapSRP1: + #ifdef USE_SRP + ts = (struct t_server *)esp->es_server.ea_session; +@@ -718,6 +808,30 @@ + INCPTR(esp->es_server.ea_namelen, outp); + break; + ++#ifdef USE_EAPTLS ++ case eapTlsStart: ++ PUTCHAR(EAPT_TLS, outp); ++ PUTCHAR(EAP_TLS_FLAGS_START, outp); ++ eap_figure_next_state(esp, 0); ++ break; ++ ++ case eapTlsSend: ++ eaptls_send(esp->es_server.ea_session, &outp); ++ eap_figure_next_state(esp, 0); ++ break; ++ ++ case eapTlsSendAck: ++ PUTCHAR(EAPT_TLS, outp); ++ PUTCHAR(0, outp); ++ eap_figure_next_state(esp, 0); ++ break; ++ ++ case eapTlsSendAlert: ++ eaptls_send(esp->es_server.ea_session, &outp); ++ eap_figure_next_state(esp, 0); ++ break; ++#endif /* USE_EAPTLS */ ++ + #ifdef USE_SRP + case eapSRP1: + PUTCHAR(EAPT_SRP, outp); +@@ -904,11 +1018,57 @@ + eap_server_timeout(arg) + void *arg; + { ++#ifdef USE_EAPTLS ++ u_char *outp; ++ u_char *lenloc; ++ int outlen; ++#endif /* USE_EAPTLS */ ++ + eap_state *esp = (eap_state *) arg; + + if (!eap_server_active(esp)) + return; + ++#ifdef USE_EAPTLS ++ switch(esp->es_server.ea_prev_state) { ++ ++ /* ++ * In eap-tls the state changes after a request, so we return to ++ * previous state ... ++ */ ++ case(eapTlsStart): ++ case(eapTlsSendAck): ++ esp->es_server.ea_state = esp->es_server.ea_prev_state; ++ break; ++ ++ /* ++ * ... or resend the stored data ++ */ ++ case(eapTlsSend): ++ case(eapTlsSendAlert): ++ outp = outpacket_buf; ++ MAKEHEADER(outp, PPP_EAP); ++ PUTCHAR(EAP_REQUEST, outp); ++ PUTCHAR(esp->es_server.ea_id, outp); ++ lenloc = outp; ++ INCPTR(2, outp); ++ ++ eaptls_retransmit(esp->es_server.ea_session, &outp); ++ ++ outlen = (outp - outpacket_buf) - PPP_HDRLEN; ++ PUTSHORT(outlen, lenloc); ++ output(esp->es_unit, outpacket_buf, outlen + PPP_HDRLEN); ++ esp->es_server.ea_requests++; ++ ++ if (esp->es_server.ea_timeout > 0) ++ TIMEOUT(eap_server_timeout, esp, esp->es_server.ea_timeout); ++ ++ return; ++ default: ++ break; ++ } ++#endif /* USE_EAPTLS */ ++ + /* EAP ID number must not change on timeout. */ + eap_send_request(esp); + } +@@ -1166,6 +1326,81 @@ + } + #endif /* USE_SRP */ + ++#ifdef USE_EAPTLS ++/* ++ * Send an EAP-TLS response message with tls data ++ */ ++static void ++eap_tls_response(esp, id) ++eap_state *esp; ++u_char id; ++{ ++ u_char *outp; ++ int outlen; ++ u_char *lenloc; ++ ++ outp = outpacket_buf; ++ ++ MAKEHEADER(outp, PPP_EAP); ++ ++ PUTCHAR(EAP_RESPONSE, outp); ++ PUTCHAR(id, outp); ++ ++ lenloc = outp; ++ INCPTR(2, outp); ++ ++ /* ++ If the id in the request is unchanged, we must retransmit ++ the old data ++ */ ++ if(id == esp->es_client.ea_id) ++ eaptls_retransmit(esp->es_client.ea_session, &outp); ++ else ++ eaptls_send(esp->es_client.ea_session, &outp); ++ ++ outlen = (outp - outpacket_buf) - PPP_HDRLEN; ++ PUTSHORT(outlen, lenloc); ++ ++ output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen); ++ ++ esp->es_client.ea_id = id; ++ ++} ++ ++/* ++ * Send an EAP-TLS ack ++ */ ++static void ++eap_tls_sendack(esp, id) ++eap_state *esp; ++u_char id; ++{ ++ u_char *outp; ++ int outlen; ++ u_char *lenloc; ++ ++ outp = outpacket_buf; ++ ++ MAKEHEADER(outp, PPP_EAP); ++ ++ PUTCHAR(EAP_RESPONSE, outp); ++ PUTCHAR(id, outp); ++ esp->es_client.ea_id = id; ++ ++ lenloc = outp; ++ INCPTR(2, outp); ++ ++ PUTCHAR(EAPT_TLS, outp); ++ PUTCHAR(0, outp); ++ ++ outlen = (outp - outpacket_buf) - PPP_HDRLEN; ++ PUTSHORT(outlen, lenloc); ++ ++ output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen); ++ ++} ++#endif /* USE_EAPTLS */ ++ + static void + eap_send_nak(esp, id, type) + eap_state *esp; +@@ -1320,6 +1555,11 @@ + char rhostname[256]; + MD5_CTX mdContext; + u_char hash[MD5_SIGNATURE_SIZE]; ++#ifdef USE_EAPTLS ++ u_char flags; ++ struct eaptls_session *ets = esp->es_client.ea_session; ++#endif /* USE_EAPTLS */ ++ + #ifdef USE_SRP + struct t_client *tc; + struct t_num sval, gval, Nval, *Ap, Bval; +@@ -1456,6 +1696,100 @@ + esp->es_client.ea_namelen); + break; + ++#ifdef USE_EAPTLS ++ case EAPT_TLS: ++ ++ switch(esp->es_client.ea_state) { ++ ++ case eapListen: ++ ++ if (len < 1) { ++ error("EAP: received EAP-TLS Listen packet with no data"); ++ /* Bogus request; wait for something real. */ ++ return; ++ } ++ GETCHAR(flags, inp); ++ if(flags & EAP_TLS_FLAGS_START){ ++ ++ esp->es_client.ea_using_eaptls = 1; ++ ++ if (explicit_remote){ ++ esp->es_client.ea_peer = strdup(remote_name); ++ esp->es_client.ea_peerlen = strlen(remote_name); ++ } else ++ esp->es_client.ea_peer = NULL; ++ ++ /* Init ssl session */ ++ if(!eaptls_init_ssl_client(esp)) { ++ dbglog("cannot init ssl"); ++ eap_send_nak(esp, id, EAPT_TLS); ++ esp->es_client.ea_using_eaptls = 0; ++ break; ++ } ++ ++ ets = esp->es_client.ea_session; ++ eap_tls_response(esp, id); ++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck : ++ eapTlsRecv); ++ break; ++ } ++ ++ /* The server has sent a bad start packet. */ ++ eap_send_nak(esp, id, EAPT_TLS); ++ break; ++ ++ case eapTlsRecvAck: ++ eap_tls_response(esp, id); ++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck : ++ eapTlsRecv); ++ break; ++ ++ case eapTlsRecv: ++ if (len < 1) { ++ error("EAP: discarding EAP-TLS Receive packet with no data"); ++ /* Bogus request; wait for something real. */ ++ return; ++ } ++ eaptls_receive(ets, inp, len); ++ ++ if(ets->frag) { ++ eap_tls_sendack(esp, id); ++ esp->es_client.ea_state = eapTlsRecv; ++ break; ++ } ++ ++ if(ets->alert_recv) { ++ eap_tls_sendack(esp, id); ++ esp->es_client.ea_state = eapTlsRecvFailure; ++ break; ++ } ++ ++ /* Check if TLS handshake is finished */ ++ if(SSL_is_init_finished(ets->ssl)){ ++#ifdef MPPE ++ eaptls_gen_mppe_keys( ets, "client EAP encryption", 1 ); ++#endif ++ eaptls_free_session(ets); ++ eap_tls_sendack(esp, id); ++ esp->es_client.ea_state = eapTlsRecvSuccess; ++ break; ++ } ++ ++ eap_tls_response(esp,id); ++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck : ++ eapTlsRecv); ++ ++ break; ++ ++ default: ++ eap_send_nak(esp, id, EAPT_TLS); ++ esp->es_client.ea_using_eaptls = 0; ++ break; ++ } ++ ++ break; ++#endif /* USE_EAPTLS */ ++ + #ifdef USE_SRP + case EAPT_SRP: + if (len < 1) { +@@ -1737,6 +2071,11 @@ + u_char dig[SHA_DIGESTSIZE]; + #endif /* USE_SRP */ + ++#ifdef USE_EAPTLS ++ struct eaptls_session *ets; ++ u_char flags; ++#endif /* USE_EAPTLS */ ++ + if (esp->es_server.ea_id != id) { + dbglog("EAP: discarding Response %d; expected ID %d", id, + esp->es_server.ea_id); +@@ -1776,6 +2115,64 @@ + eap_figure_next_state(esp, 0); + break; + ++#ifdef USE_EAPTLS ++ case EAPT_TLS: ++ switch(esp->es_server.ea_state) { ++ ++ case eapTlsRecv: ++ ++ ets = (struct eaptls_session *) esp->es_server.ea_session; ++ eap_figure_next_state(esp, ++ eaptls_receive(esp->es_server.ea_session, inp, len)); ++ ++ if(ets->alert_recv) { ++ eap_send_failure(esp); ++ break; ++ } ++ break; ++ ++ case eapTlsRecvAck: ++ if(len > 1) { ++ dbglog("EAP-TLS ACK with extra data"); ++ } ++ eap_figure_next_state(esp, 0); ++ break; ++ ++ case eapTlsRecvClient: ++ /* Receive authentication response from client */ ++ ++ if (len > 0) { ++ GETCHAR(flags, inp); ++ ++ if(len == 1 && !flags) { /* Ack = ok */ ++#ifdef MPPE ++ eaptls_gen_mppe_keys( esp->es_server.ea_session, "client EAP encryption", 0 ); ++#endif ++ eap_send_success(esp); ++ } ++ else { /* failure */ ++ warn("Server authentication failed"); ++ eap_send_failure(esp); ++ } ++ } ++ else ++ warn("Bogus EAP-TLS packet received from client"); ++ ++ eaptls_free_session(esp->es_server.ea_session); ++ ++ break; ++ ++ case eapTlsRecvAlertAck: ++ eap_send_failure(esp); ++ break; ++ ++ default: ++ eap_figure_next_state(esp, 1); ++ break; ++ } ++ break; ++#endif /* USE_EAPTLS */ ++ + case EAPT_NOTIFICATION: + dbglog("EAP unexpected Notification; response discarded"); + break; +@@ -1807,6 +2204,13 @@ + esp->es_server.ea_state = eapMD5Chall; + break; + ++#ifdef USE_EAPTLS ++ /* Send EAP-TLS start packet */ ++ case EAPT_TLS: ++ esp->es_server.ea_state = eapTlsStart; ++ break; ++#endif /* USE_EAPTLS */ ++ + default: + dbglog("EAP: peer requesting unknown Type %d", vallen); + switch (esp->es_server.ea_state) { +@@ -2018,13 +2422,27 @@ + int id; + int len; + { +- if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp)) { ++ if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp) ++#ifdef USE_EAPTLS ++ && esp->es_client.ea_state != eapTlsRecvSuccess ++#endif /* USE_EAPTLS */ ++ ) { + dbglog("EAP unexpected success message in state %s (%d)", + eap_state_name(esp->es_client.ea_state), + esp->es_client.ea_state); + return; + } + ++#ifdef USE_EAPTLS ++ if(esp->es_client.ea_using_eaptls && esp->es_client.ea_state != ++ eapTlsRecvSuccess) { ++ dbglog("EAP-TLS unexpected success message in state %s (%d)", ++ eap_state_name(esp->es_client.ea_state), ++ esp->es_client.ea_state); ++ return; ++ } ++#endif /* USE_EAPTLS */ ++ + if (esp->es_client.ea_timeout > 0) { + UNTIMEOUT(eap_client_timeout, (void *)esp); + } +@@ -2150,6 +2568,9 @@ + int code, id, len, rtype, vallen; + u_char *pstart; + u_int32_t uval; ++#ifdef USE_EAPTLS ++ u_char flags; ++#endif /* USE_EAPTLS */ + + if (inlen < EAP_HEADERLEN) + return (0); +@@ -2214,6 +2635,24 @@ + } + break; + ++#ifdef USE_EAPTLS ++ case EAPT_TLS: ++ if (len < 1) ++ break; ++ GETCHAR(flags, inp); ++ len--; ++ ++ if(flags == 0 && len == 0){ ++ printer(arg, " Ack"); ++ break; ++ } ++ ++ printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -"); ++ printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-"); ++ printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- "); ++ break; ++#endif /* USE_EAPTLS */ ++ + case EAPT_SRP: + if (len < 3) + goto truncated; +@@ -2325,6 +2764,25 @@ + } + break; + ++#ifdef USE_EAPTLS ++ case EAPT_TLS: ++ if (len < 1) ++ break; ++ GETCHAR(flags, inp); ++ len--; ++ ++ if(flags == 0 && len == 0){ ++ printer(arg, " Ack"); ++ break; ++ } ++ ++ printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -"); ++ printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-"); ++ printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- "); ++ ++ break; ++#endif /* USE_EAPTLS */ ++ + case EAPT_NAK: + if (len <= 0) { + printer(arg, " <missing hint>"); +@@ -2426,3 +2884,4 @@ + + return (inp - pstart); + } ++ +diff -Naur ppp-2.4.7/pppd/eap.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.h +--- ppp-2.4.7/pppd/eap.h 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.h 2018-06-02 01:42:04.023165433 +0200 +@@ -84,6 +84,16 @@ + eapClosed, /* Authentication not in use */ + eapListen, /* Client ready (and timer running) */ + eapIdentify, /* EAP Identify sent */ ++ eapTlsStart, /* Send EAP-TLS start packet */ ++ eapTlsRecv, /* Receive EAP-TLS tls data */ ++ eapTlsSendAck, /* Send EAP-TLS ack */ ++ eapTlsSend, /* Send EAP-TLS tls data */ ++ eapTlsRecvAck, /* Receive EAP-TLS ack */ ++ eapTlsRecvClient, /* Receive EAP-TLS auth response from client*/ ++ eapTlsSendAlert, /* Send EAP-TLS tls alert (server)*/ ++ eapTlsRecvAlertAck, /* Receive EAP-TLS ack after sending alert */ ++ eapTlsRecvSuccess, /* Receive EAP success */ ++ eapTlsRecvFailure, /* Receive EAP failure */ + eapSRP1, /* Sent EAP SRP-SHA1 Subtype 1 */ + eapSRP2, /* Sent EAP SRP-SHA1 Subtype 2 */ + eapSRP3, /* Sent EAP SRP-SHA1 Subtype 3 */ +@@ -95,9 +105,18 @@ + + #define EAP_STATES \ + "Initial", "Pending", "Closed", "Listen", "Identify", \ ++ "TlsStart", "TlsRecv", "TlsSendAck", "TlsSend", "TlsRecvAck", "TlsRecvClient",\ ++ "TlsSendAlert", "TlsRecvAlertAck" , "TlsRecvSuccess", "TlsRecvFailure", \ + "SRP1", "SRP2", "SRP3", "MD5Chall", "Open", "SRP4", "BadAuth" + +-#define eap_client_active(esp) ((esp)->es_client.ea_state == eapListen) ++#ifdef USE_EAPTLS ++#define eap_client_active(esp) ((esp)->es_client.ea_state != eapInitial &&\ ++ (esp)->es_client.ea_state != eapPending &&\ ++ (esp)->es_client.ea_state != eapClosed) ++#else ++#define eap_client_active(esp) ((esp)->es_client.ea_state == eapListen) ++#endif /* USE_EAPTLS */ ++ + #define eap_server_active(esp) \ + ((esp)->es_server.ea_state >= eapIdentify && \ + (esp)->es_server.ea_state <= eapMD5Chall) +@@ -112,11 +131,17 @@ + u_short ea_namelen; /* Length of our name */ + u_short ea_peerlen; /* Length of peer's name */ + enum eap_state_code ea_state; ++#ifdef USE_EAPTLS ++ enum eap_state_code ea_prev_state; ++#endif + u_char ea_id; /* Current id */ + u_char ea_requests; /* Number of Requests sent/received */ + u_char ea_responses; /* Number of Responses */ + u_char ea_type; /* One of EAPT_* */ + u_int32_t ea_keyflags; /* SRP shared key usage flags */ ++#ifdef USE_EAPTLS ++ bool ea_using_eaptls; ++#endif + }; + + /* +@@ -139,7 +164,12 @@ + * Timeouts. + */ + #define EAP_DEFTIMEOUT 3 /* Timeout (seconds) for rexmit */ ++#ifdef USE_EAPTLS ++#define EAP_DEFTRANSMITS 30 /* max # times to transmit */ ++ /* certificates can be long ... */ ++#else + #define EAP_DEFTRANSMITS 10 /* max # times to transmit */ ++#endif /* USE_EAPTLS */ + #define EAP_DEFREQTIME 20 /* Time to wait for peer request */ + #define EAP_DEFALLOWREQ 20 /* max # times to accept requests */ + +diff -Naur ppp-2.4.7/pppd/md5.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.c +--- ppp-2.4.7/pppd/md5.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.c 2018-06-02 01:42:04.023165433 +0200 +@@ -33,6 +33,8 @@ + *********************************************************************** + */ + ++#ifndef USE_EAPTLS ++ + #include <string.h> + #include "md5.h" + +@@ -305,3 +307,5 @@ + ** End of md5.c ** + ******************************** (cut) ******************************** + */ ++#endif /* USE_EAPTLS */ ++ +diff -Naur ppp-2.4.7/pppd/md5.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.h +--- ppp-2.4.7/pppd/md5.h 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.h 2018-06-02 01:42:04.024165430 +0200 +@@ -36,6 +36,7 @@ + ** documentation and/or software. ** + *********************************************************************** + */ ++#ifndef USE_EAPTLS + + #ifndef __MD5_INCLUDE__ + +@@ -63,3 +64,5 @@ + + #define __MD5_INCLUDE__ + #endif /* __MD5_INCLUDE__ */ ++ ++#endif /* USE_EAPTLS */ +diff -Naur ppp-2.4.7/pppd/pathnames.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/pathnames.h +--- ppp-2.4.7/pppd/pathnames.h 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pathnames.h 2018-06-02 01:42:04.024165430 +0200 +@@ -21,6 +21,13 @@ + #define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets" + #define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets" + #define _PATH_SRPFILE _ROOT_PATH "/etc/ppp/srp-secrets" ++ ++#ifdef USE_EAPTLS ++#define _PATH_EAPTLSCLIFILE _ROOT_PATH "/etc/ppp/eaptls-client" ++#define _PATH_EAPTLSSERVFILE _ROOT_PATH "/etc/ppp/eaptls-server" ++#define _PATH_OPENSSLCONFFILE _ROOT_PATH "/etc/ppp/openssl.cnf" ++#endif /* USE_EAPTLS */ ++ + #define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options" + #define _PATH_IPUP _ROOT_PATH "/etc/ppp/ip-up" + #define _PATH_IPDOWN _ROOT_PATH "/etc/ppp/ip-down" +diff -Naur ppp-2.4.7/pppd/plugins/Makefile.linux ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/Makefile.linux +--- ppp-2.4.7/pppd/plugins/Makefile.linux 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/Makefile.linux 2018-06-02 01:42:04.024165430 +0200 +@@ -4,6 +4,9 @@ + LDFLAGS = -shared + INSTALL = install + ++# EAP-TLS ++CFLAGS += -DUSE_EAPTLS=1 ++ + DESTDIR = $(INSTROOT)@DESTDIR@ + BINDIR = $(DESTDIR)/sbin + MANDIR = $(DESTDIR)/share/man/man8 +diff -Naur ppp-2.4.7/pppd/plugins/passprompt.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passprompt.c +--- ppp-2.4.7/pppd/plugins/passprompt.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passprompt.c 2018-06-02 01:42:04.024165430 +0200 +@@ -107,4 +107,7 @@ + { + add_options(options); + pap_passwd_hook = promptpass; ++#ifdef USE_EAPTLS ++ eaptls_passwd_hook = promptpass; ++#endif + } +diff -Naur ppp-2.4.7/pppd/plugins/passwordfd.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passwordfd.c +--- ppp-2.4.7/pppd/plugins/passwordfd.c 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passwordfd.c 2018-06-02 01:42:04.024165430 +0200 +@@ -79,4 +79,8 @@ + + chap_check_hook = pwfd_check; + chap_passwd_hook = pwfd_passwd; ++ ++#ifdef USE_EAPTLS ++ eaptls_passwd_hook = pwfd_passwd; ++#endif + } +diff -Naur ppp-2.4.7/pppd/pppd.8 ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.8 +--- ppp-2.4.7/pppd/pppd.8 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.8 2018-06-02 01:42:04.025165427 +0200 +@@ -248,6 +248,12 @@ + compression in the corresponding direction. Use \fInobsdcomp\fR or + \fIbsdcomp 0\fR to disable BSD-Compress compression entirely. + .TP ++.B ca \fIca-file ++(EAP-TLS) Use the file \fIca-file\fR as the X.509 Certificate Authority ++(CA) file (in PEM format), needed for setting up an EAP-TLS connection. ++This option is used on the client-side in conjunction with the \fBcert\fR ++and \fBkey\fR options. ++.TP + .B cdtrcts + Use a non-standard hardware flow control (i.e. DTR/CTS) to control + the flow of data on the serial port. If neither the \fIcrtscts\fR, +@@ -259,6 +265,12 @@ + bi-directional flow control. The sacrifice is that this flow + control mode does not permit using DTR as a modem control line. + .TP ++.B cert \fIcertfile ++(EAP-TLS) Use the file \fIcertfile\fR as the X.509 certificate (in PEM ++format), needed for setting up an EAP-TLS connection. This option is ++used on the client-side in conjunction with the \fBca\fR and ++\fBkey\fR options. ++.TP + .B chap\-interval \fIn + If this option is given, pppd will rechallenge the peer every \fIn\fR + seconds. +@@ -287,6 +299,18 @@ + 1000 (1 second). This wait period only applies if the \fBconnect\fR + or \fBpty\fR option is used. + .TP ++.B crl \fIfilename ++(EAP-TLS) Use the file \fIfilename\fR as the Certificate Revocation List ++to check for the validity of the peer's certificate. This option is not ++mandatory for setting up an EAP-TLS connection. Also see the \fBcrl-dir\fR ++option. ++.TP ++.B crl-dir \fIdirectory ++(EAP-TLS) Use the directory \fIdirectory\fR to scan for CRL files in ++has format ($hash.r0) to check for the validity of the peer's certificate. ++This option is not mandatory for setting up an EAP-TLS connection. ++Also see the \fBcrl\fR option. ++.TP + .B debug + Enables connection debugging facilities. + If this option is given, pppd will log the contents of all +@@ -551,6 +575,12 @@ + the kernel are logged by syslog(1) to a file as directed in the + /etc/syslog.conf configuration file. + .TP ++.B key \fIkeyfile ++(EAP-TLS) Use the file \fIkeyfile\fR as the private key file (in PEM ++format), needed for setting up an EAP-TLS connection. This option is ++used on the client-side in conjunction with the \fBca\fR and ++\fBcert\fR options. ++.TP + .B ktune + Enables pppd to alter kernel settings as appropriate. Under Linux, + pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward +@@ -709,6 +739,9 @@ + Disable Address/Control compression in both directions (send and + receive). + .TP ++.B need-peer-eap ++(EAP-TLS) Require the peer to verify our authentication credentials. ++.TP + .B noauth + Do not require the peer to authenticate itself. This option is + privileged. +diff -Naur ppp-2.4.7/pppd/pppd.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.h +--- ppp-2.4.7/pppd/pppd.h 2014-08-09 14:31:39.000000000 +0200 ++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.h 2018-06-02 01:42:04.025165427 +0200 +@@ -325,6 +325,11 @@ + extern bool dryrun; /* check everything, print options, exit */ + extern int child_wait; /* # seconds to wait for children at end */ + ++#ifdef USE_EAPTLS ++extern char *crl_dir; ++extern char *crl_file; ++#endif /* USE_EAPTLS */ ++ + #ifdef MAXOCTETS + extern unsigned int maxoctets; /* Maximum octetes per session (in bytes) */ + extern int maxoctets_dir; /* Direction : +@@ -741,6 +746,10 @@ + extern int (*chap_passwd_hook) __P((char *user, char *passwd)); + extern void (*multilink_join_hook) __P((void)); + ++#ifdef USE_EAPTLS ++extern int (*eaptls_passwd_hook) __P((char *user, char *passwd)); ++#endif ++ + /* Let a plugin snoop sent and received packets. Useful for L2TP */ + extern void (*snoop_recv_hook) __P((unsigned char *p, int len)); + extern void (*snoop_send_hook) __P((unsigned char *p, int len)); + + + diff --git a/user/ppp/85_all_dhcp-make-vars.patch b/user/ppp/85_all_dhcp-make-vars.patch new file mode 100644 index 000000000..68af3aaf3 --- /dev/null +++ b/user/ppp/85_all_dhcp-make-vars.patch @@ -0,0 +1,19 @@ +--- ppp-2.4.3/pppd/plugins/dhcp/Makefile.linux ++++ ppp-2.4.3/pppd/plugins/dhcp/Makefile.linux +@@ -1,6 +1,6 @@ + + PLUGIN=dhcpc.so +-CFLAGS=-I../.. -I../../../include -O2 ++CFLAGS=$(COPTS) -I../.. -I../../../include -fPIC + + all: $(PLUGIN) + +@@ -9,7 +9,7 @@ + $(INSTALL) -s -c -m 755 dhcpc.so $(LIBDIR) + + dhcpc.so: dhcpc.o clientpacket.o packet.o socket.o options.o +- gcc -o dhcpc.so -shared dhcpc.o clientpacket.o packet.o socket.o options.o ++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ + + + clean: diff --git a/user/ppp/86_all_dhcp-sys_error_to_strerror.patch b/user/ppp/86_all_dhcp-sys_error_to_strerror.patch new file mode 100644 index 000000000..e0d0937b2 --- /dev/null +++ b/user/ppp/86_all_dhcp-sys_error_to_strerror.patch @@ -0,0 +1,128 @@ +--- ppp-2.4.2/pppd/plugins/dhcp/dhcpc.c ++++ ppp-2.4.2/pppd/plugins/dhcp/dhcpc.c +@@ -144,7 +144,7 @@ + fd = raw_socket(client_config.ifindex); + + if (listen_mode != LISTEN_NONE && fd < 0) { +- fatal("DHCPC: couldn't listen on socket, %s", sys_errlist[errno]); ++ fatal("DHCPC: couldn't listen on socket, %s", strerror(errno)); + } + + } +@@ -208,7 +208,7 @@ + len = get_packet(&packet, fd); + + if (len == -1 && errno != EINTR) { +- dbglog("DHCPC: error on read, %s, reopening socket", sys_errlist[errno]); ++ dbglog("DHCPC: error on read, %s, reopening socket", strerror(errno)); + change_mode(LISTEN_KERNEL); + } + if (len < 0) continue; +@@ -380,7 +380,7 @@ + else len = get_raw_packet(&packet, fd); + + if (len == -1 && errno != EINTR) { +- dbglog("DHCPC: error on read, %s, reopening socket", sys_errlist[errno]); ++ dbglog("DHCPC: error on read, %s, reopening socket", strerror(errno)); + change_mode(listen_mode); /* just close and reopen */ + } + if (len < 0) continue; +@@ -445,7 +445,7 @@ + + } else { + /* An error occured */ +- dbglog("DHCPC: error on select, %s, reopening socket", sys_errlist[errno]); ++ dbglog("DHCPC: error on select, %s, reopening socket", strerror(errno)); + change_mode(listen_mode); /* just close and reopen */ + } + +--- ppp-2.4.2/pppd/plugins/dhcp/packet.c ++++ ppp-2.4.2/pppd/plugins/dhcp/packet.c +@@ -125,7 +125,7 @@ + return kernel_packet(payload,payload->giaddr,CLIENT_PORT,dest_ip,dest_port); + + if ((fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))) < 0) { +- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno)); + return -1; + } + +@@ -138,7 +138,7 @@ + dest.sll_halen = 6; + memcpy(dest.sll_addr, dest_arp, 6); + if (bind(fd, (struct sockaddr *)&dest, sizeof(struct sockaddr_ll)) < 0) { +- DEBUG(LOG_ERR, "bind call failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "bind call failed: %s", strerror(errno)); + close(fd); + return -1; + } +@@ -161,7 +161,7 @@ + + result = sendto(fd, &packet, sizeof(struct udp_dhcp_packet), 0, (struct sockaddr *) &dest, sizeof(dest)); + if (result <= 0) { +- DEBUG(LOG_ERR, "write on socket failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "write on socket failed: %s", strerror(errno)); + } + close(fd); + return result; +--- ppp-2.4.2/pppd/plugins/dhcp/socket.c ++++ ppp-2.4.2/pppd/plugins/dhcp/socket.c +@@ -60,7 +60,7 @@ + *addr = sin->sin_addr.s_addr; + DEBUG(LOG_INFO, "%s (our ip) = %s", ifr.ifr_name, inet_ntoa(sin->sin_addr)); + } else { +- LOG(LOG_ERR, "SIOCGIFADDR failed!: %s", sys_errlist[errno]); ++ LOG(LOG_ERR, "SIOCGIFADDR failed!: %s", strerror(errno)); + return -1; + } + } +@@ -69,7 +69,7 @@ + DEBUG(LOG_INFO, "adapter index %d", ifr.ifr_ifindex); + *ifindex = ifr.ifr_ifindex; + } else { +- LOG(LOG_ERR, "SIOCGIFINDEX failed!: %s", sys_errlist[errno]); ++ LOG(LOG_ERR, "SIOCGIFINDEX failed!: %s", strerror(errno)); + return -1; + } + if (ioctl(fd, SIOCGIFHWADDR, &ifr) == 0) { +@@ -77,11 +77,11 @@ + DEBUG(LOG_INFO, "adapter hardware address %02x:%02x:%02x:%02x:%02x:%02x", + arp[0], arp[1], arp[2], arp[3], arp[4], arp[5]); + } else { +- LOG(LOG_ERR, "SIOCGIFHWADDR failed!: %s", sys_errlist[errno]); ++ LOG(LOG_ERR, "SIOCGIFHWADDR failed!: %s", strerror(errno)); + return -1; + } + } else { +- LOG(LOG_ERR, "socket failed!: %s", sys_errlist[errno]); ++ LOG(LOG_ERR, "socket failed!: %s", strerror(errno)); + return -1; + } + close(fd); +@@ -98,7 +98,7 @@ + + DEBUG(LOG_INFO, "Opening listen socket on 0x%08x:%d %s\n", ip, port, inf ? inf : "*"); + if ((fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { +- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno)); + return -1; + } + +@@ -144,7 +144,7 @@ + + DEBUG(LOG_INFO, "Opening raw socket on ifindex %d\n", ifindex); + if ((fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))) < 0) { +- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno)); + return -1; + } + +@@ -152,7 +152,7 @@ + sock.sll_protocol = htons(ETH_P_IP); + sock.sll_ifindex = ifindex; + if (bind(fd, (struct sockaddr *) &sock, sizeof(sock)) < 0) { +- DEBUG(LOG_ERR, "bind call failed: %s", sys_errlist[errno]); ++ DEBUG(LOG_ERR, "bind call failed: %s", strerror(errno)); + close(fd); + return -1; + } diff --git a/user/ppp/APKBUILD b/user/ppp/APKBUILD new file mode 100644 index 000000000..bcd4c85cf --- /dev/null +++ b/user/ppp/APKBUILD @@ -0,0 +1,125 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=ppp +pkgver=2.4.7 +pkgrel=0 +pkgdesc="Point-to-Point Protocol (PPP) implementation for serial networking" +url="https://ppp.samba.org/" +arch="all" +options="!check" # No test suite. +license="BSD-4-Clause AND GPL-2.0-only AND GPL-2.0+ AND zlib AND LGPL-2.0+" +depends="" +makedepends="bsd-compat-headers linux-pam-dev libpcap-dev openssl-dev utmps-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc" +source="https://download.samba.org/pub/ppp/ppp-$pkgver.tar.gz + http://distfiles.gentoo.org/distfiles/ppp-dhcpc.tgz + 02_all_make-vars.patch + 03_all_use_internal_logwtmp.patch + 04_all_mpls.patch + 06_all_killaddr-smarter.patch + 08_all_wait-children.patch + 10_all_defaultgateway.patch + 12_all_linkpidfile.patch + 16_all_auth-fail.patch + 18_all_defaultmetric.patch + 19_all_radius_pid_overflow.patch + 20_all_dev-ppp.patch + 21_all_custom_iface_names.patch + 24_all_passwordfd-read-early.patch + 26_all_pppd-usepeerwins.patch + 28_all_connect-errors.patch + 30_all_Makefile.patch + 32_all_pado-timeout.patch + 34_all_lcp-echo-adaptive.patch + 50_all_linux-headers.patch + 51_all_glibc-2.28.patch + 80_all_eaptls-mppe-1.101a.patch + 85_all_dhcp-make-vars.patch + 86_all_dhcp-sys_error_to_strerror.patch + adelie.patch + dhcp.patch + install-path.patch + musl-fix-headers.patch + utmpx.patch + + ppp.mod + ppp.pamd + pppd.initd + " + +prepare() { + mv "$srcdir"/dhcp "$builddir"/pppd/plugins + default_prepare +} + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make COPTS="$CFLAGS -D_GNU_SOURCE" \ + LIBS="-lutmps -lskarnet -lcrypto -lssl -lpam -lpcap" + make -C contrib/pppgetpass pppgetpass.vt +} + +package() { + make INSTROOT="$pkgdir" install + + install -Dm 0644 -t "$pkgdir"/usr/include/net/ include/net/ppp_defs.h + + install -d "$pkgdir"/etc/ppp/peers + install -m 0600 etc.ppp/pap-secrets \ + "$pkgdir"/etc/ppp/pap-secrets.example + install -m 0600 etc.ppp/chap-secrets \ + "$pkgdir"/etc/ppp/chap-secrets.example + install -m 0644 etc.ppp/options "$pkgdir"/etc/ppp/options + + install -Dm 0644 "$srcdir"/ppp.pamd "$pkgdir"/etc/pam.d/ppp + install -Dm 0755 -t "$pkgdir"/usr/bin/ scripts/p{on,off,log} + install -Dm 0644 -t "$pkgdir"/usr/share/man/man1/ scripts/pon.1 + + install -Dm 0755 contrib/pppgetpass/pppgetpass.vt \ + "$pkgdir"/usr/sbin/pppgetpass + install -Dm 0644 -t "$pkgdir"/usr/share/man/man8/ \ + contrib/pppgetpass/pppgetpass.8 + + install -Dm 0644 "$srcdir"/ppp.mod "$pkgdir"/etc/modprobe.d/ppp.conf + install -Dm 0755 "$srcdir"/pppd.initd "$pkgdir"/etc/init.d/pppd +} + +sha512sums="e34ce24020af6a73e7a26c83c4f73a9c83fa455b7b363794dba27bf01f70368be06bff779777843949bd77f4bc9385d6ad455ea48bf8fff4e0d73cc8fef16ae2 ppp-2.4.7.tar.gz +aeaf791b14f5a09c0e2079072a157e65132cbff46e608bc0724e6a5827a01da934f5006e2774eb7105f83e607a52cb4987238f4385cf6f5cc86cbe305a556738 ppp-dhcpc.tgz +8444d7edfe902a83f6cce96d29b9b7fb45ac68bdbe44494797d2a98470b80017489d36feb50cf945cbe72486bac69f45b23790e15cfbd33e07913a857ee80ab7 02_all_make-vars.patch +4c4a5cc6fd8ce3203c41ff07fc0ce5f0468985c779fe05030898d36c404d2086ce7a49336ac58e6502fc2fd14c4de9006028fe19c500d2cac890a16a55c723e8 03_all_use_internal_logwtmp.patch +1d63795949da00a19712aef39a54f338183b6917b246083e04a0b9ee43d346af5adeeb9357cb165587722790fa19b13375d55008646a4e9e2acdf8724bf3c7cc 04_all_mpls.patch +b49086401c1b395ee6caba0418272b2d1b2ab9dcf6f1fc7e7f1280e94fcf17c8fdb884a19f4ef911bd7849a9cceb4cc07fc75438726340cd8c17265d4c2bd4d8 06_all_killaddr-smarter.patch +807707ee9795ef4300b92bacdeba6b9e7332b6ce5a355de3ce77ddcc6dafce069f024131fd3ef282e38be3499e4230ad50fdda2b96e00891f5df1696234b775b 08_all_wait-children.patch +c084237458ceb8704541f6e8424855788dbc2883559c4bf1ff35060e277c2b2ddfadcdb6dedc0bf42a5e83e98cfe7241fae8f6dc59d1ed963ed50356c9fd83ed 10_all_defaultgateway.patch +122b9e3dbc3a9accacb31c653b3c0d368e8cdf3d954a6c93d04ac26ca8f3cb5bfcf8a01881d1cf08e855a1d2d0bd86e7fadba22bb5ada1a86f78e6b9820e6687 12_all_linkpidfile.patch +3a23ef3619b2840eb3f1f7e14bd4765526b09acdfa8ab4d659ad8525a6f96d0cfb7c9fef042cde99ba1de8cf5caa74faa32e2a988453b4b17a70d5cc9a4bcf41 16_all_auth-fail.patch +24b2cf579844bb9e1c0360227a5d35c3510471c0de6f16031d5e192d0ae7b1913aba93c2d99ea5fd3724deb6754f9831c1adb30671a31617268c77c65fc8beaf 18_all_defaultmetric.patch +9fdb3346ef13b250f91f1af55c0efa0f836a60abe9e62fceed30df4e431a3bccdd33b083c2662c45e2091085438ba2221cdc4ae51fc1b05a666d77f74d461214 19_all_radius_pid_overflow.patch +82c80701095a2d9707afbf5fc29bdf2fc3f92252b7de5de1d639f8607096a9d34ce90ffd0a2f770512b590a27dec56f2b03e5e9f4c9e56e1f362a2387d9fb568 20_all_dev-ppp.patch +314e0939b546af5229db34888284a06e07d7b4c94190bf95d4382d3ff39935f18ecc6172f62309e4f63a00fdfceca73d908da8d82c95fd0b926b1832968ee3cc 21_all_custom_iface_names.patch +2508cf1285a086c917ba5deffc96c1c29a511f1c1a0ef94c811b2bf139aed0218f34d7c1f1004890e105c47dffc5834a049dbe7686611d0fc8b8607ccdc86105 24_all_passwordfd-read-early.patch +3eb55fb681e7fecf4e09b53683f509d2db3779599dd60fb89f88cd644c92d779f4720114546ba458262e8239581061e4a450143338c4725ada18b7ca314e12b0 26_all_pppd-usepeerwins.patch +2e0bd81124bcd7c1234089f11e0b607b19047d279dc436ced3a4b8d793bcee4fcececd948b6a0755a02f68542c5c5e30b6f8541f90b998c09da8d50362827520 28_all_connect-errors.patch +e495a489ee98258a3a4549127faca2c41feff27dff296065c2e41bfc696ced2ad1062ea0aa5bf3cc2425c85b4494ebbcbaaabacd8a3ea8ce8fab28acea028336 30_all_Makefile.patch +77c0585b46f4fc090a67198d800d67dab2ce75eadcf2153c6e800e274b53ced6b512fd6eb4767c632f765bacd6c332f8d2a68233abb3781d6c62321d6bbb6052 32_all_pado-timeout.patch +0bd928f45708f10835250fd6a6162f6e148dca172c810511c1f4b1fe56602c4869e7f622e95a3f4a41e5502ddefd0cf6054cd57211bc83426d5da5b5f10dac26 34_all_lcp-echo-adaptive.patch +cda8e347eef7f26589cf1a12243f4d77de34d5736e3cb04fda9063adc0d931ef7ec7dbb2f142f1dfabc6d3ee04a252d2dd67d2c99ad9c01f2bd343bec88abe97 50_all_linux-headers.patch +fc012971a062456fa4e253f5b4a5e2ce56ae1852293d0245ecfd165ba162fa76ec2c28e1035dd89de3e9d43941d528e2d95a40552eb8037a5ba084c1717c20d1 51_all_glibc-2.28.patch +977b247e87557c4c57a871470c40670457e285ca59357dabab854ab16cc5578526ddf880410aa2efc7078e16d32d7afea4b69928af14ac4449523f6a591284f1 80_all_eaptls-mppe-1.101a.patch +2d294bfe455648949cedb47a12a07913f0395aadbe2566c1e90d70fc37baa8635a667ab45195a697567f8d52de88771c499adffee82cde2e9e318ed858b6007b 85_all_dhcp-make-vars.patch +44d5528c057d0abf2b45ba04943a52b6b94209434a06aa565f8a74acdd660efd86fe13280d540383168eaedad9f627673410bb8468860b64adb3145030e12889 86_all_dhcp-sys_error_to_strerror.patch +2ba9ba8856e569c204a0e058a3e7a4a74f331118cb33bbca445a87b54bb0e4f0da2a968df5f394633911603359284831a80a4d9c793d795eef8477d00bab63f1 adelie.patch +6d38f9779945bce2277f2d52d66dd79d2696f02c44186e1750d236f2d77d692746a8e8c164d925d5bb32dbfd02a723cabb59304f05954e0b5f7adada208ee220 dhcp.patch +fb4ae2c2ba4ecdd1c85f6e5f730fd9659cf1fbc7a8a004b09042adafee7e4af6238df8deb3dbd3dc9c69407d9ebc4c82e1792a43b4aaf8ac18ebe18268b50597 install-path.patch +2f071ea9db15e4abf1bed6cce8130dc81b710a31bfef5fa8f9370c353f845dbc47674b1551b8e040478e5156add6f98d480530206125e8bb308f0f4288d1eec6 musl-fix-headers.patch +723ff3dd0aee13f9878559aa433b314af6043523a2bafd5957258809a645942f7d34b5bd659869a1528cf7b1a462ad7cc2dbf18e7986220f5f685f2c1ea1d36b utmpx.patch +58bf5d6d286a08bd6dd595b39ee425efedd5745dddf33a9c90505891546eb46f4cf1306d83911bef61bc4611816aa0f6aef5d3e0f14c2f4ddd0a588780570041 ppp.mod +e30a397392d467ac3c78f6533f3adff5de7d38f0372d8d6f7b186db4ec69ddf12463d467d8a86eb5867effeb7dd6bd16942a98fb3a3ab59ff754a123e16d0938 ppp.pamd +bd6f43588b037367ffdb57f5e331492dcaa5969003e219c2dc8b90e6be1aa407282ff6114b91d1379ebeff766983fa0622456520cc0ac592b4f0b1496acf21bf pppd.initd" diff --git a/user/ppp/adelie.patch b/user/ppp/adelie.patch new file mode 100644 index 000000000..06bb6edf9 --- /dev/null +++ b/user/ppp/adelie.patch @@ -0,0 +1,88 @@ +--- ppp-2.4.7/pppd/Makefile.linux.old 2019-05-09 20:32:30.959257140 +0000 ++++ ppp-2.4.7/pppd/Makefile.linux 2019-05-09 20:34:48.964184093 +0000 +@@ -32,7 +32,7 @@ + + # CC = gcc + # +-COPTS+= -Wall ++COPTS+= -Wall -D_GNU_SOURCE + LIBS = + + # Uncomment the next line to include support for Microsoft's +@@ -61,14 +61,14 @@ + USE_TDB=y + + HAS_SHADOW=y +-#USE_PAM=y ++USE_PAM=y + HAVE_INET6=y + + # Enable plugins + PLUGIN=y + + # Enable Microsoft proprietary Callback Control Protocol +-#CBCP=y ++CBCP=y + + # Enable EAP SRP-SHA1 authentication (requires libsrp) + #USE_SRP=y +@@ -102,8 +102,8 @@ + + # EAP SRP-SHA1 + ifdef USE_SRP +-CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include +-LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto ++CFLAGS += -DUSE_SRP -DOPENSSL ++LIBS += -lsrp `$(PKG_CONFIG) --libs libcrypto` + TARGETS += srp-entry + EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry + MANPAGES += srp-entry.8 +--- ppp-2.4.7/pppd/plugins/radius/pathnames.h.old 2014-08-09 12:31:39.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/radius/pathnames.h 2019-05-09 20:35:39.258690873 +0000 +@@ -22,7 +22,7 @@ + + /* normally defined in the Makefile */ + #ifndef _PATH_ETC_RADIUSCLIENT_CONF +-#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient.conf" ++#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient/radiusclient.conf" + #endif + + #endif /* PATHNAMES_H */ +--- ppp-2.4.7/pppd/plugins/radius/etc/radiusclient.conf.old 2014-08-09 12:31:39.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/radius/etc/radiusclient.conf 2019-05-09 20:37:29.676630906 +0000 +@@ -22,7 +22,7 @@ + + # name of the issue file. it's only display when no username is passed + # on the radlogin command line (default /etc/radiusclient/issue) +-issue /usr/local/etc/radiusclient/issue ++issue /etc/radiusclient/issue + + # RADIUS settings + +@@ -43,22 +43,22 @@ + + # file holding shared secrets used for the communication + # between the RADIUS client and server +-servers /usr/local/etc/radiusclient/servers ++servers /etc/radiusclient/servers + + # dictionary of allowed attributes and values + # just like in the normal RADIUS distributions +-dictionary /usr/local/etc/radiusclient/dictionary ++dictionary /etc/radiusclient/dictionary + + # program to call for a RADIUS authenticated login + # (default /usr/sbin/login.radius) +-login_radius /usr/local/sbin/login.radius ++login_radius /usr/sbin/login.radius + + # file which holds sequence number for communication with the + # RADIUS server + seqfile /var/run/radius.seq + + # file which specifies mapping between ttyname and NAS-Port attribute +-mapfile /usr/local/etc/radiusclient/port-id-map ++mapfile /etc/radiusclient/port-id-map + + # default authentication realm to append to all usernames if no + # realm was explicitly specified by the user diff --git a/user/ppp/dhcp.patch b/user/ppp/dhcp.patch new file mode 100644 index 000000000..611882326 --- /dev/null +++ b/user/ppp/dhcp.patch @@ -0,0 +1,324 @@ +--- ppp-2.4.7/pppd/plugins/Makefile.linux.old 2019-05-09 23:06:56.499058276 +0000 ++++ ppp-2.4.7/pppd/plugins/Makefile.linux 2019-05-09 23:11:21.040252628 +0000 +@@ -16,7 +16,7 @@ + MANDIR = $(DESTDIR)/share/man/man8 + LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) + +-SUBDIRS := rp-pppoe pppoatm pppol2tp ++SUBDIRS := dhcp rp-pppoe pppoatm pppol2tp + # Uncomment the next line to include the radius authentication plugin + SUBDIRS += radius + PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so +--- ppp-2.4.7/pppd/plugins/dhcp/README.old 2002-09-30 11:33:49.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/README 2019-05-09 23:11:37.408470308 +0000 +@@ -37,7 +37,7 @@ + + This option specified the local IP address of the system running + this proxy, as should be identified to the DHCP server in the +- 'giaddr' field of DHCP requests. Normal server behavor should ++ 'giaddr' field of DHCP requests. Normal server behaviour should + be to send DHCP responses to this address. The default is the + primary address bound to the dhcp interface. + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c 2002-08-31 12:19:20.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c 2019-05-09 23:42:33.566347764 +0000 +@@ -179,8 +179,8 @@ + { + int bytes; + struct udp_dhcp_packet packet; +- u_int32_t source, dest; +- u_int16_t check; ++ uint32_t source, dest; ++ uint16_t check; + + memset(&packet, 0, sizeof(struct udp_dhcp_packet)); + bytes = read(fd, &packet, sizeof(struct udp_dhcp_packet)); +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c 2019-05-09 23:42:33.566347764 +0000 +@@ -56,11 +56,11 @@ + #include "socket.h" + #include "debug.h" + +-static void (*dhcp_old_ip_choose_hook)(u_int32_t *addrp); ++static void (*dhcp_old_ip_choose_hook)(uint32_t *addrp); + + static int dhcp_state; +-static u_int32_t requested_ip; /* = 0 */ +-u_int32_t assigned_ip; /* value supplied to remote ppp */ ++static uint32_t requested_ip; /* = 0 */ ++uint32_t assigned_ip; /* value supplied to remote ppp */ + static unsigned long server_addr; + unsigned long lease, renew_timeout; + unsigned long xid = 0; +@@ -118,7 +118,7 @@ + void dhcp_release(void *ptr, int arg); + void dhcp_renew(void *dummy); + void dhcp_request_new(); +-void dhcp_ip_choose(u_int32_t *addrp); ++void dhcp_ip_choose(uint32_t *addrp); + void dhcp_read_options(void); + + +@@ -453,8 +453,8 @@ + return; + } + +-void dhcp_ip_choose(u_int32_t *addrp) { +- u_int32_t entryvalue; ++void dhcp_ip_choose(uint32_t *addrp) { ++ uint32_t entryvalue; + + dbglog("DHCPC: ip_choose_hook entered with peer name %s",peer_authname); + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h 2002-08-31 11:54:23.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h 2019-05-09 23:42:33.566347764 +0000 +@@ -24,9 +24,9 @@ + unsigned char *hostname; /* Optional hostname to use */ + int ifindex; /* Index number of the interface to use */ + unsigned char arp[6]; /* Our arp address */ +- u_int32_t giaddr; /* Fill in this value on all packets we generate */ +- u_int32_t siaddr; /* If defined, only talk to this server (never broadcast) */ +- u_int32_t subnet_selection; /* If non zero, send and require SS option */ ++ uint32_t giaddr; /* Fill in this value on all packets we generate */ ++ uint32_t siaddr; /* If defined, only talk to this server (never broadcast) */ ++ uint32_t subnet_selection; /* If non zero, send and require SS option */ + }; + + extern struct client_config_t client_config; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h 2002-08-31 11:52:31.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h 2019-05-09 23:42:33.566347764 +0000 +@@ -101,9 +101,9 @@ + }; + + struct server_config_t { +- u_int32_t server; /* Our IP, in network order */ +- u_int32_t start; /* Start address of leases, network order */ +- u_int32_t end; /* End of leases, network order */ ++ uint32_t server; /* Our IP, in network order */ ++ uint32_t start; /* Start address of leases, network order */ ++ uint32_t end; /* End of leases, network order */ + struct option_set *options; /* List of DHCP options loaded from the config file */ + char *interface; /* The name of the interface to use */ + int ifindex; /* Index number of the interface to use */ +@@ -122,7 +122,7 @@ + char *lease_file; + char *pidfile; + char *notify_file; /* What to run whenever leases are written */ +- u_int32_t siaddr; /* next server bootp option */ ++ uint32_t siaddr; /* next server bootp option */ + char *sname; /* bootp server name */ + char *boot_file; /* bootp boot file option */ + }; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/leases.h ppp-2.4.7/pppd/plugins/dhcp/leases.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/leases.h 2002-08-23 13:17:14.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/leases.h 2019-05-09 23:42:33.566347764 +0000 +@@ -4,20 +4,20 @@ + + + struct dhcpOfferedAddr { +- u_int8_t chaddr[16]; +- u_int32_t yiaddr; /* network order */ +- u_int32_t expires; /* host order */ ++ uint8_t chaddr[16]; ++ uint32_t yiaddr; /* network order */ ++ uint32_t expires; /* host order */ + }; + + +-void clear_lease(u_int8_t *chaddr, u_int32_t yiaddr); +-struct dhcpOfferedAddr *add_lease(u_int8_t *chaddr, u_int32_t yiaddr, unsigned long lease); ++void clear_lease(uint8_t *chaddr, uint32_t yiaddr); ++struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease); + int lease_expired(struct dhcpOfferedAddr *lease); + struct dhcpOfferedAddr *oldest_expired_lease(void); +-struct dhcpOfferedAddr *find_lease_by_chaddr(u_int8_t *chaddr); +-struct dhcpOfferedAddr *find_lease_by_yiaddr(u_int32_t yiaddr); +-u_int32_t find_address(int check_expired); +-int check_ip(u_int32_t addr); ++struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr); ++struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr); ++uint32_t find_address(int check_expired); ++int check_ip(uint32_t addr); + + + #endif +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.c ppp-2.4.7/pppd/plugins/dhcp/options.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/options.c 2002-08-31 11:52:37.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/options.c 2019-05-09 23:42:33.566347764 +0000 +@@ -148,17 +148,17 @@ + + + /* add a one to four byte option to a packet */ +-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data) ++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data) + { + char length = 0; + int i; + unsigned char option[2 + 4]; + unsigned char *u8; +- u_int16_t *u16; +- u_int32_t *u32; +- u_int32_t aligned; ++ uint16_t *u16; ++ uint32_t *u32; ++ uint32_t aligned; + u8 = (unsigned char *) &aligned; +- u16 = (u_int16_t *) &aligned; ++ u16 = (uint16_t *) &aligned; + u32 = &aligned; + + for (i = 0; options[i].code; i++) +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.h ppp-2.4.7/pppd/plugins/dhcp/options.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/options.h 2002-08-23 13:06:28.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/options.h 2019-05-09 23:42:33.566347764 +0000 +@@ -33,7 +33,7 @@ + unsigned char *get_option(struct dhcpMessage *packet, int code); + int end_option(unsigned char *optionptr); + int add_option_string(unsigned char *optionptr, unsigned char *string); +-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data); ++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data); + struct option_set *find_option(struct option_set *opt_list, char code); + void attach_option(struct option_set **opt_list, struct dhcp_option *option, char *buffer, int length); + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.c ppp-2.4.7/pppd/plugins/dhcp/packet.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/packet.c 2019-05-09 23:42:33.566347764 +0000 +@@ -83,13 +83,13 @@ + } + + +-u_int16_t checksum(void *addr, int count) ++uint16_t checksum(void *addr, int count) + { + /* Compute Internet Checksum for "count" bytes + * beginning at location "addr". + */ + register int32_t sum = 0; +- u_int16_t *source = (u_int16_t *) addr; ++ uint16_t *source = (uint16_t *) addr; + + while( count > 1 ) { + /* This is the inner loop */ +@@ -110,8 +110,8 @@ + + + /* Constuct a ip/udp header for a packet, and specify the source and dest hardware address */ +-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex) ++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex) + { + int fd; + int result; +@@ -169,8 +169,8 @@ + + + /* Let the kernel do all the work for packet generation */ +-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port) ++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port) + { + int n = 1; + int fd, result; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.h ppp-2.4.7/pppd/plugins/dhcp/packet.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.h 2002-08-23 13:04:56.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/packet.h 2019-05-09 23:42:33.566347764 +0000 +@@ -5,22 +5,22 @@ + #include <netinet/ip.h> + + struct dhcpMessage { +- u_int8_t op; +- u_int8_t htype; +- u_int8_t hlen; +- u_int8_t hops; +- u_int32_t xid; +- u_int16_t secs; +- u_int16_t flags; +- u_int32_t ciaddr; +- u_int32_t yiaddr; +- u_int32_t siaddr; +- u_int32_t giaddr; +- u_int8_t chaddr[16]; +- u_int8_t sname[64]; +- u_int8_t file[128]; +- u_int32_t cookie; +- u_int8_t options[308]; /* 312 - cookie */ ++ uint8_t op; ++ uint8_t htype; ++ uint8_t hlen; ++ uint8_t hops; ++ uint32_t xid; ++ uint16_t secs; ++ uint16_t flags; ++ uint32_t ciaddr; ++ uint32_t yiaddr; ++ uint32_t siaddr; ++ uint32_t giaddr; ++ uint8_t chaddr[16]; ++ uint8_t sname[64]; ++ uint8_t file[128]; ++ uint32_t cookie; ++ uint8_t options[308]; /* 312 - cookie */ + }; + + struct udp_dhcp_packet { +@@ -31,11 +31,11 @@ + + void init_header(struct dhcpMessage *packet, char type); + int get_packet(struct dhcpMessage *packet, int fd); +-u_int16_t checksum(void *addr, int count); +-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex); +-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port); ++uint16_t checksum(void *addr, int count); ++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex); ++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port); + + + #endif +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.c ppp-2.4.7/pppd/plugins/dhcp/socket.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/socket.c 2019-05-09 23:42:33.566347764 +0000 +@@ -43,7 +43,7 @@ + + #include "debug.h" + +-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp) ++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp) + { + int fd; + struct ifreq ifr; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.h ppp-2.4.7/pppd/plugins/dhcp/socket.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.h 2002-08-23 13:06:28.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/socket.h 2019-05-09 23:42:33.566347764 +0000 +@@ -2,7 +2,7 @@ + #ifndef _SOCKET_H + #define _SOCKET_H + +-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp); ++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp); + int listen_socket(unsigned int ip, int port, char *inf); + int raw_socket(int ifindex); + +--- ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux.old 2019-05-09 23:54:56.595427092 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux 2019-05-09 23:56:53.012746364 +0000 +@@ -1,6 +1,11 @@ + + PLUGIN=dhcpc.so + CFLAGS=$(COPTS) -I../.. -I../../../include -fPIC ++INSTALL = install ++DESTDIR = $(INSTROOT)/usr ++LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) ++ ++VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) + + all: $(PLUGIN) + diff --git a/user/ppp/install-path.patch b/user/ppp/install-path.patch new file mode 100644 index 000000000..845729fd5 --- /dev/null +++ b/user/ppp/install-path.patch @@ -0,0 +1,11 @@ +--- ppp-2.4.7/pppd/plugins/pppol2tp/Makefile.linux.old 2019-05-09 22:28:24.640793389 +0000 ++++ ppp-2.4.7/pppd/plugins/pppol2tp/Makefile.linux 2019-05-09 23:02:56.955142166 +0000 +@@ -4,7 +4,7 @@ + + #*********************************************************************** + +-DESTDIR = @DESTDIR@ ++DESTDIR = $(INSTROOT)@DESTDIR@ + LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) + + VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) diff --git a/user/ppp/musl-fix-headers.patch b/user/ppp/musl-fix-headers.patch new file mode 100644 index 000000000..d24f62896 --- /dev/null +++ b/user/ppp/musl-fix-headers.patch @@ -0,0 +1,137 @@ +diff --git a/include/net/ppp_defs.h b/include/net/ppp_defs.h +index b06eda5..dafa36c 100644 +--- a/include/net/ppp_defs.h ++++ b/include/net/ppp_defs.h +@@ -38,6 +38,8 @@ + #ifndef _PPP_DEFS_H_ + #define _PPP_DEFS_H_ + ++#include <sys/time.h> ++ + /* + * The basic PPP frame. + */ +diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux +index a74c914..7acd2cf 100644 +--- a/pppd/Makefile.linux ++++ b/pppd/Makefile.linux +@@ -126,7 +126,7 @@ LIBS += -lcrypt + endif + + ifdef USE_LIBUTIL +-CFLAGS += -DHAVE_LOGWTMP=1 ++#CFLAGS += -DHAVE_LOGWTMP=1 + LIBS += -lutil + endif + +diff --git a/pppd/magic.h b/pppd/magic.h +index c81213b..305aece 100644 +--- a/pppd/magic.h ++++ b/pppd/magic.h +@@ -42,6 +42,8 @@ + * $Id: magic.h,v 1.5 2003/06/11 23:56:26 paulus Exp $ + */ + ++#include <sys/cdefs.h> ++ + void magic_init __P((void)); /* Initialize the magic number generator */ + u_int32_t magic __P((void)); /* Returns the next magic number */ + +diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c +index 91e9a57..9c0fac3 100644 +--- a/pppd/plugins/rp-pppoe/if.c ++++ b/pppd/plugins/rp-pppoe/if.c +@@ -30,10 +30,6 @@ static char const RCSID[] = + #include <linux/if_packet.h> + #endif + +-#ifdef HAVE_NET_ETHERNET_H +-#include <net/ethernet.h> +-#endif +- + #ifdef HAVE_ASM_TYPES_H + #include <asm/types.h> + #endif +diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c +index a8c2bb4..ca34d79 100644 +--- a/pppd/plugins/rp-pppoe/plugin.c ++++ b/pppd/plugins/rp-pppoe/plugin.c +@@ -46,7 +46,6 @@ static char const RCSID[] = + #include <unistd.h> + #include <fcntl.h> + #include <signal.h> +-#include <net/ethernet.h> + #include <net/if_arp.h> + #include <linux/ppp_defs.h> + #include <linux/if_pppox.h> +diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c +index 3d3bf4e..b5f82d3 100644 +--- a/pppd/plugins/rp-pppoe/pppoe-discovery.c ++++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c +@@ -27,10 +27,6 @@ + #include <linux/if_packet.h> + #endif + +-#ifdef HAVE_NET_ETHERNET_H +-#include <net/ethernet.h> +-#endif +- + #ifdef HAVE_ASM_TYPES_H + #include <asm/types.h> + #endif +@@ -55,6 +51,8 @@ void die(int status) + exit(status); + } + ++#define error(x...) fprintf(stderr, x) ++ + /* Initialize frame types to RFC 2516 values. Some broken peers apparently + use different frame types... sigh... */ + +diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h +index 9ab2eee..4d68147 100644 +--- a/pppd/plugins/rp-pppoe/pppoe.h ++++ b/pppd/plugins/rp-pppoe/pppoe.h +@@ -86,18 +86,6 @@ typedef unsigned long UINT32_t; + + #include <netinet/in.h> + +-#ifdef HAVE_NETINET_IF_ETHER_H +-#include <sys/types.h> +- +-#ifdef HAVE_SYS_SOCKET_H +-#include <sys/socket.h> +-#endif +-#ifndef HAVE_SYS_DLPI_H +-#include <netinet/if_ether.h> +-#endif +-#endif +- +- + + /* Ethernet frame types according to RFC 2516 */ + #define ETH_PPPOE_DISCOVERY 0x8863 +diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c +index 6d71530..86d224e 100644 +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -102,19 +102,11 @@ + #define MAX_ADDR_LEN 7 + #endif + +-#if __GLIBC__ >= 2 + #include <asm/types.h> /* glibc 2 conflicts with linux/types.h */ + #include <net/if.h> + #include <net/if_arp.h> + #include <net/route.h> + #include <netinet/if_ether.h> +-#else +-#include <linux/types.h> +-#include <linux/if.h> +-#include <linux/if_arp.h> +-#include <linux/route.h> +-#include <linux/if_ether.h> +-#endif + #include <netinet/in.h> + #include <arpa/inet.h> + diff --git a/user/ppp/ppp.mod b/user/ppp/ppp.mod new file mode 100644 index 000000000..e936041c6 --- /dev/null +++ b/user/ppp/ppp.mod @@ -0,0 +1,10 @@ +alias char-major-108 ppp_generic +alias /dev/ppp ppp_generic +alias tty-ldisc-3 ppp_async +alias tty-ldisc-13 n_hdlc +alias tty-ldisc-14 ppp_synctty +alias ppp-compress-18 ppp_mppe +alias ppp-compress-21 bsd_comp +alias ppp-compress-24 ppp_deflate +alias ppp-compress-26 ppp_deflate +alias net-pf-24 pppoe diff --git a/user/ppp/ppp.pamd b/user/ppp/ppp.pamd new file mode 100644 index 000000000..ac86d9512 --- /dev/null +++ b/user/ppp/ppp.pamd @@ -0,0 +1,7 @@ +# Welcome to Adélie Linux. + +# This file ensures PPP uses the system-wide PAM configuration. + +auth include base-auth +account include base-account +session include base-session-noninteractive diff --git a/user/ppp/pppd.initd b/user/ppp/pppd.initd new file mode 100644 index 000000000..30bd641da --- /dev/null +++ b/user/ppp/pppd.initd @@ -0,0 +1,13 @@ +#!/sbin/openrc-run + +name="pppd" +command="/usr/sbin/${SVCNAME}" +command_args="nodetach ${PPPD_OPTS}" +pidfile="/var/run/$SVCNAME.pid" +command_background=true + +start_pre() { + checkpath --directory /var/run/ppp + modprobe pptp +} + diff --git a/user/ppp/utmpx.patch b/user/ppp/utmpx.patch new file mode 100644 index 000000000..2914bc4be --- /dev/null +++ b/user/ppp/utmpx.patch @@ -0,0 +1,142 @@ +--- ppp-2.4.7/pppd/utils.c.old 2014-08-09 12:31:39.000000000 +0000 ++++ ppp-2.4.7/pppd/utils.c 2019-05-09 22:13:47.546342436 +0000 +@@ -41,7 +41,7 @@ + #include <syslog.h> + #include <netdb.h> + #include <time.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <pwd.h> + #include <sys/param.h> + #include <sys/types.h> +--- ppp-2.4.7/pppd/auth.c.old 2019-05-09 22:07:26.737835517 +0000 ++++ ppp-2.4.7/pppd/auth.c 2019-05-09 22:14:11.833696617 +0000 +@@ -81,7 +81,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/socket.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <fcntl.h> + #if defined(_PATH_LASTLOG) && defined(__linux__) + #include <lastlog.h> +--- ppp-2.4.7/pppd/sys-linux.c.old 2019-05-09 22:07:26.747834427 +0000 ++++ ppp-2.4.7/pppd/sys-linux.c 2019-05-09 22:15:20.616203578 +0000 +@@ -85,7 +85,7 @@ + #include <string.h> + #include <time.h> + #include <memory.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <mntent.h> + #include <signal.h> + #include <fcntl.h> +@@ -2230,75 +2230,6 @@ + * Update the wtmp file with the appropriate user name and tty device. + */ + +-void logwtmp (const char *line, const char *name, const char *host) +-{ +- struct utmp ut, *utp; +- pid_t mypid = getpid(); +-#if __GLIBC__ < 2 +- int wtmp; +-#endif +- +-/* +- * Update the signon database for users. +- * Christoph Lameter: Copied from poeigl-1.36 Jan 3, 1996 +- */ +- utmpname(_PATH_UTMP); +- setutent(); +- while ((utp = getutent()) && (utp->ut_pid != mypid)) +- /* nothing */; +- +- if (utp) +- memcpy(&ut, utp, sizeof(ut)); +- else +- /* some gettys/telnetds don't initialize utmp... */ +- memset(&ut, 0, sizeof(ut)); +- +- if (ut.ut_id[0] == 0) +- strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id)); +- +- strncpy(ut.ut_user, name, sizeof(ut.ut_user)); +- strncpy(ut.ut_line, line, sizeof(ut.ut_line)); +- +- time(&ut.ut_time); +- +- ut.ut_type = USER_PROCESS; +- ut.ut_pid = mypid; +- +- /* Insert the host name if one is supplied */ +- if (*host) +- strncpy (ut.ut_host, host, sizeof(ut.ut_host)); +- +- /* Insert the IP address of the remote system if IP is enabled */ +- if (ipcp_protent.enabled_flag && ipcp_hisoptions[0].neg_addr) +- memcpy(&ut.ut_addr, (char *) &ipcp_hisoptions[0].hisaddr, +- sizeof(ut.ut_addr)); +- +- /* CL: Makes sure that the logout works */ +- if (*host == 0 && *name==0) +- ut.ut_host[0]=0; +- +- pututline(&ut); +- endutent(); +-/* +- * Update the wtmp file. +- */ +-#if __GLIBC__ >= 2 +- updwtmp(_PATH_WTMP, &ut); +-#else +- wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY); +- if (wtmp >= 0) { +- flock(wtmp, LOCK_EX); +- +- if (write (wtmp, (char *)&ut, sizeof(ut)) != sizeof(ut)) +- warn("error writing %s: %m", _PATH_WTMP); +- +- flock(wtmp, LOCK_UN); +- +- close (wtmp); +- } +-#endif +-} +- + + /******************************************************************** + * +--- ppp-2.4.7/pppd/tty.c.old 2014-08-09 12:31:39.000000000 +0000 ++++ ppp-2.4.7/pppd/tty.c 2019-05-09 22:15:34.854652468 +0000 +@@ -81,7 +81,7 @@ + #include <fcntl.h> + #include <syslog.h> + #include <netdb.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <pwd.h> + #include <setjmp.h> + #include <sys/param.h> +--- ppp-2.4.7/pppd/session.c.old 2014-08-09 12:31:39.000000000 +0000 ++++ ppp-2.4.7/pppd/session.c 2019-05-09 22:15:52.692709222 +0000 +@@ -77,7 +77,7 @@ + #include <shadow.h> + #endif + #include <time.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <fcntl.h> + #include <unistd.h> + #include "pppd.h" +--- ppp-2.4.7/pppd/main.c.old 2019-05-09 22:07:26.717837696 +0000 ++++ ppp-2.4.7/pppd/main.c 2019-05-09 22:16:06.881163559 +0000 +@@ -78,7 +78,7 @@ + #include <fcntl.h> + #include <syslog.h> + #include <netdb.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <pwd.h> + #include <setjmp.h> + #include <sys/param.h> diff --git a/user/protobuf/APKBUILD b/user/protobuf/APKBUILD index ea147080d..af46fd009 100644 --- a/user/protobuf/APKBUILD +++ b/user/protobuf/APKBUILD @@ -9,6 +9,7 @@ pkgrel=0 pkgdesc="Library for extensible, efficient structure packing" url="https://github.com/google/protobuf" arch="all" +options="!check" # Broken everywhere. license="BSD-3-Clause" depends_dev="zlib-dev" makedepends="$depends_dev autoconf automake libtool ruby ruby-dev ruby-rake diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD index d036e757c..24c486a07 100644 --- a/user/py3-pygobject/APKBUILD +++ b/user/py3-pygobject/APKBUILD @@ -4,13 +4,13 @@ pkgname=py3-pygobject pkgver=3.32.1 pkgrel=0 pkgdesc="Python bindings for GObject libraries" -url="https://pygobject.readthedocs.io/" +url="https://wiki.gnome.org/Projects/PyGObject" arch="all" license="LGPL-2.1+ AND LGPL-2.1-only" depends="py3-pycairo" makedepends="python3-dev gobject-introspection-dev py3-pycairo-dev" subpackages="$pkgname-dev" -source="https://gitlab.gnome.org/GNOME/pygobject/-/archive/$pkgver/pygobject-$pkgver.tar.bz2" +source="https://ftp.gnome.org/pub/GNOME/sources/pygobject/3.32/pygobject-$pkgver.tar.xz" builddir="$srcdir/pygobject-$pkgver" build() { @@ -28,4 +28,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="64204fa9fb0438fbf2698afc610c4797c56b338b40610bc6f612572a911a78fd636e2f5b4b07a17a29deccc8c0eed90ffa30cbae4af868e2cd79980aed4a2836 pygobject-3.32.1.tar.bz2" +sha512sums="5b325d0caf4f34f783fc2c664a795809f048eb1639d2f2e375fc147c852d6e29a8ab119438cac76786fb20220c72d5859cc06d6f70c29f976f6a5914e0169915 pygobject-3.32.1.tar.xz" diff --git a/user/qpdf/APKBUILD b/user/qpdf/APKBUILD index 663813fcc..df20bbe25 100644 --- a/user/qpdf/APKBUILD +++ b/user/qpdf/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=qpdf -pkgver=8.4.0 +pkgver=8.4.2 pkgrel=0 pkgdesc="Command-line tools and library for transforming PDF files" url="http://qpdf.sourceforge.net" @@ -57,4 +57,4 @@ fix_qdf() { mv "$pkgdir"/usr/bin/fix-qdf "$subpkgdir"/usr/bin/ } -sha512sums="13225c6285311e8fe89970971b082b9613e70d474ee71dd5572f1ae268234d366c2c9c7bf427c4758a746a1a27ecc0127d31044ab501dbc08885c8aa0a514028 qpdf-8.4.0.tar.gz" +sha512sums="9cde046fb5e42dc331933294155583fb20408704a0cab3075cc3e97bd4643e3178e4162b8de7434aa2304097e7734f985fdc8e7b05cc028c37193dce91797f7a qpdf-8.4.2.tar.gz" diff --git a/user/qt5ct/APKBUILD b/user/qt5ct/APKBUILD index e32542954..98328624a 100644 --- a/user/qt5ct/APKBUILD +++ b/user/qt5ct/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=qt5ct -pkgver=0.38 +pkgver=0.39 pkgrel=0 pkgdesc="GUI utility for configuring Qt5" url="https://sourceforge.net/projects/qt5ct/" @@ -23,4 +23,4 @@ package() { make INSTALL_ROOT="$pkgdir" install } -sha512sums="0c33beca5103f6c01fceabffea50df5798f055b1e530fc084b294917d8bfa6ea78db72385e8941fe92164c682a069b166c69595e2e06bc62be0595a3718a7323 qt5ct-0.38.tar.bz2" +sha512sums="ea7a4f34bae5aac622bcf9171982a16a982c8318d8c218c97e452e9fa7f4ea39018d269b2c62467830642961f873d9464c5a93a88529562340f13582436bdf65 qt5ct-0.39.tar.bz2" diff --git a/user/quassel/APKBUILD b/user/quassel/APKBUILD index 695fd4e4b..f9f583de7 100644 --- a/user/quassel/APKBUILD +++ b/user/quassel/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=quassel pkgver=0.13.1 -pkgrel=0 +pkgrel=1 pkgdesc="Modern, cross-platform IRC client" url="https://quassel-irc.org/" arch="all" @@ -14,7 +14,9 @@ makedepends="qt5-qtbase-dev qt5-qtmultimedia-dev libdbusmenu-qt-dev sonnet-dev kwidgetsaddons-dev qca-dev qt5-qttools-dev zlib-dev libexecinfo-dev" langdir="/usr/share/quassel/translations" subpackages="$pkgname-core $pkgname-client $pkgname-lang" -source="https://quassel-irc.org/pub/quassel-$pkgver.tar.bz2" +source="https://quassel-irc.org/pub/quassel-$pkgver.tar.bz2 + unterminated-mIRC-codes.patch + " # secfixes: # 0.12.5-r0: @@ -74,4 +76,5 @@ core() { mv "$pkgdir"/usr/bin/quasselcore "$subpkgdir"/usr/bin/ } -sha512sums="4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c quassel-0.13.1.tar.bz2" +sha512sums="4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c quassel-0.13.1.tar.bz2 +7f5ffa64d0620061ac2b6eab2e163d5862d43b16e3d7572415b5819f9ee19a5482791c3cee20c3b99722f05ffed3f1f3ba6c82e7f78b6bea9170037675dd3b4a unterminated-mIRC-codes.patch" diff --git a/user/quassel/unterminated-mIRC-codes.patch b/user/quassel/unterminated-mIRC-codes.patch new file mode 100644 index 000000000..8cedeb461 --- /dev/null +++ b/user/quassel/unterminated-mIRC-codes.patch @@ -0,0 +1,40 @@ +From 391cdf6c2595060ff3b2adb54f5b2fc8ebd7cc04 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Mon, 3 Jun 2019 00:16:30 -0500 +Subject: [PATCH] multilineedit: handle unterminated mIRC codes + +Currently, if an unterminated mIRC code is pasted into Quassel, trying to +go through input line history will cause a deadlock. This breaks the loop +at the cost of possibly mangling the formatting of the line somewhat. +This is seen as more acceptable than locking up, and the line is invalid +anyway. + +Reproducer: + +```sh +printf '\00303,08HONK' | xclip -selection clipboard +``` + +Paste into Quassel, send, press Up arrow key. +--- + src/uisupport/multilineedit.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/uisupport/multilineedit.cpp b/src/uisupport/multilineedit.cpp +index 133a2433..b13834c5 100644 +--- a/src/uisupport/multilineedit.cpp ++++ b/src/uisupport/multilineedit.cpp +@@ -645,6 +645,10 @@ QString MultiLineEdit::convertMircCodesToHtml(const QString &text) + } + + posRight = text.indexOf(mircCode.cap(), posRight + 1); ++ if (posRight == -1) { ++ words << text.mid(posLeft); ++ break; // unclosed color code; can't process ++ } + words << text.mid(posLeft, posRight + 1 - posLeft); + posLeft = posRight + 1; + } +-- +2.21.0 + diff --git a/user/rocs/APKBUILD b/user/rocs/APKBUILD index d58282500..6370cb46c 100644 --- a/user/rocs/APKBUILD +++ b/user/rocs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=rocs -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Graph theory IDE" url="https://www.kde.org/applications/education/rocs/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="681a51b25be2e8e31e66bf7ea8252ac1d5c12a3ec4d99ba2231dee39a362a6cb94a05c3421ba561d10d9efd100e217d6b20d2f6a3c56dcfdd73472945f7997d9 rocs-19.04.0.tar.xz" +sha512sums="ec4ca3fe066113099a7cd241fc421ce773e17c5f732717d327a1ff08f892a3b438fefc34b18fb87d065342193bff229c51bd5543e86e59f5ac4a257c5b47f909 rocs-19.04.1.tar.xz" diff --git a/user/rrdtool/APKBUILD b/user/rrdtool/APKBUILD index f61223adc..bec89b8ca 100644 --- a/user/rrdtool/APKBUILD +++ b/user/rrdtool/APKBUILD @@ -1,19 +1,20 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: pkgname=rrdtool -pkgver=1.7.1 +pkgver=1.7.2 pkgrel=0 pkgdesc="Data logging and graphing application" url="https://oss.oetiker.ch/rrdtool/" arch="all" -options="!check" # Tests fail because of CET time zone begin date changing. license="GPL-2.0+" depends="font-sony-misc" +checkdepends="bc" makedepends="cairo-dev freetype-dev groff libart-lgpl-dev libpng-dev libxml2-dev pango-dev perl-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang perl-rrd:perl_rrd $pkgname-cached $pkgname-cgi $pkgname-utils librrd:libs" source="https://oss.oetiker.ch/$pkgname/pub/$pkgname-$pkgver.tar.gz + disable-rpn2.patch rrdcached.initd " @@ -33,7 +34,7 @@ build() { check() { cd "$builddir" - make check + LANG=C.UTF-8 LC_ALL=C.UTF-8 TZ=UTC make check } package() { @@ -86,5 +87,6 @@ utils() { "$subpkgdir"/usr/bin } -sha512sums="ee5c9ff234493442ccd9bfc7031700483011de3e05c01e026509b699cb0d7d3e286e2046357c5fff5807f3e709043c8f218b48b43f8b126a23e228a3927d7b14 rrdtool-1.7.1.tar.gz +sha512sums="453230efc68aeb4a12842d20a9d246ba478a79c2f6bfd9693a91837c1c1136abe8af177be64fe29aa40bf84ccfce7f2f15296aefe095e89b8b62aef5a7623e29 rrdtool-1.7.2.tar.gz +47fbfa1ee974d607c15d7a49b1007ccfb6dcd2764f82236f8741b96fe1c3cdec8535f570116a2b24767e09c018177bd5ace4f2ceb39342b2baf3baec01a35dc1 disable-rpn2.patch c0c27b2c2dfa8e7ec1cb1160d2bda8d7996bbea67f4ce7779da029f583c35e5e415cf46e2a1e5cb8ed2e63d2c58a68fd7471ee6bd820db4c0f4eeeb5c252f8a3 rrdcached.initd" diff --git a/user/rrdtool/disable-rpn2.patch b/user/rrdtool/disable-rpn2.patch new file mode 100644 index 000000000..1baed862c --- /dev/null +++ b/user/rrdtool/disable-rpn2.patch @@ -0,0 +1,35 @@ +https://github.com/oetiker/rrdtool-1.x/issues/1012 +--- rrdtool-1.7.2/tests/Makefile.in.old 2019-05-27 18:46:42.000000000 +0000 ++++ rrdtool-1.7.2/tests/Makefile.in 2019-06-04 06:27:36.143871636 +0000 +@@ -537,7 +537,7 @@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + TESTS = modify1 modify2 modify3 modify4 modify5 \ +- tune1 tune2 graph1 rpn1 rpn2 \ ++ tune1 tune2 graph1 rpn1 \ + rrdcreate \ + dump-restore \ + create-with-source-1 create-with-source-2 create-with-source-3 \ +@@ -555,7 +555,7 @@ + rrdcreate \ + tune1-testa-mod1.dump tune1-testa-mod2.dump tune1-testorg.dump \ + tune2-testa-mod1.dump tune2-testorg.dump \ +- valgrind-supressions dcounter1 dcounter1.output graph1.output vformatter1 rpn1.output rpn2.output \ ++ valgrind-supressions dcounter1 dcounter1.output graph1.output vformatter1 rpn1.output \ + xport1.json.output xport1.xml.output \ + pdp-calc1 pdp-calc1-1-avg-60.output pdp-calc1-1-avg-300.output pdp-calc1-1-max-300.output + +@@ -820,13 +820,6 @@ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ +- "$$tst" $(AM_TESTS_FD_REDIRECT) +-rpn2.log: rpn2 +- @p='rpn2'; \ +- b='rpn2'; \ +- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ +- --log-file $$b.log --trs-file $$b.trs \ +- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) + rrdcreate.log: rrdcreate + @p='rrdcreate'; \ diff --git a/user/rrdtool/no-posix-fallocate.patch b/user/rrdtool/no-posix-fallocate.patch deleted file mode 100644 index c34c5a187..000000000 --- a/user/rrdtool/no-posix-fallocate.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- rrdtool-1.4.8.orig/configure.ac -+++ rrdtool-1.4.8/configure.ac -@@ -280,9 +280,6 @@ - #include <fcntl.h>]) - AC_CHECK_FUNCS(posix_fadvise) - --dnl can we use posix_fallocate --AC_CHECK_FUNCS(posix_fallocate) -- - CONFIGURE_PART(Libintl Processing) - - AM_GNU_GETTEXT_VERSION(0.17) diff --git a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch index bb20cb7b6..f6a0ddb6b 100644 --- a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch +++ b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch @@ -1,33 +1,23 @@ -From 6861c8305fc6449fdc019405d501e5740d44b818 Mon Sep 17 00:00:00 2001 +From 600b7bb76d82d2ec180051318d811ad50fd68900 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Wed, 10 Jan 2018 13:36:41 -0600 -Subject: [PATCH 01/14] Don't pass CFLAGS to the C++ compiler +Subject: [PATCH 01/13] Don't pass CFLAGS to the C++ compiler --- - src/bootstrap/builder.rs | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) + src/bootstrap/builder.rs | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index 9c58f5b179..bbb275c572 100644 +index 522466314d..86f059a202 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -1037,7 +1037,7 @@ impl<'a> Builder<'a> { - let cflags = self.cflags(target, GitRepo::Rustc).join(" "); - cargo - .env(format!("CFLAGS_{}", target), cflags.clone()) -- .env("CFLAGS", cflags.clone()); -+ .env("CFLAGS", cflags); - - if let Some(ar) = self.ar(target) { - let ranlib = format!("{} s", ar.display()); -@@ -1052,9 +1052,7 @@ impl<'a> Builder<'a> { +@@ -1098,8 +1098,7 @@ impl<'a> Builder<'a> { + if let Ok(cxx) = self.cxx(target) { let cxx = ccacheify(&cxx); cargo - .env(format!("CXX_{}", target), &cxx) -- .env("CXX", &cxx) -- .env(format!("CXXFLAGS_{}", target), cflags.clone()) -- .env("CXXFLAGS", cflags); -+ .env("CXX", &cxx); +- .env(format!("CXX_{}", target), &cxx) +- .env(format!("CXXFLAGS_{}", target), cflags); ++ .env(format!("CXX_{}", target), &cxx); } } diff --git a/user/rust/0002-Fix-LLVM-build.patch b/user/rust/0002-Fix-LLVM-build.patch index 7d12e84d3..8b035a02d 100644 --- a/user/rust/0002-Fix-LLVM-build.patch +++ b/user/rust/0002-Fix-LLVM-build.patch @@ -1,17 +1,17 @@ -From d44d2ca85013e85b2b72940609131d1229647461 Mon Sep 17 00:00:00 2001 +From 1359f28a3d69943ff8bcd28d0dcca4c68200ff6a Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 00:04:29 -0500 -Subject: [PATCH 02/14] Fix LLVM build +Subject: [PATCH 02/13] Fix LLVM build --- src/bootstrap/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index 7491385af7..74c04bac6b 100644 +index fb60b470a3..71ca61d97e 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -772,7 +772,8 @@ impl Build { +@@ -783,7 +783,8 @@ impl Build { // cc-rs because the build scripts will determine that for themselves. let mut base = self.cc[&target].args().iter() .map(|s| s.to_string_lossy().into_owned()) diff --git a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch index c1cb5e930..1d51af2d9 100644 --- a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +++ b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch @@ -1,18 +1,18 @@ -From 520ceedb4a6384da5c207aa434a29d68fc8e238a Mon Sep 17 00:00:00 2001 +From d4b81fe2c052ddd6776da36b035dbe2c2564689b Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sat, 2 Dec 2017 17:25:44 -0600 -Subject: [PATCH 03/14] Allow rustdoc to work when cross-compiling on musl +Subject: [PATCH 03/13] Allow rustdoc to work when cross-compiling on musl musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH. --- - src/bootstrap/bin/rustdoc.rs | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) + src/bootstrap/bin/rustdoc.rs | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs -index dec74e60c7..af76331db0 100644 +index 1c9f6e1ab2..7e90be8d8c 100644 --- a/src/bootstrap/bin/rustdoc.rs +++ b/src/bootstrap/bin/rustdoc.rs -@@ -24,9 +24,6 @@ fn main() { +@@ -23,9 +23,6 @@ fn main() { Err(_) => 0, }; @@ -22,15 +22,24 @@ index dec74e60c7..af76331db0 100644 //FIXME(misdreavus): once stdsimd uses cfg(rustdoc) instead of cfg(dox), remove the `--cfg dox` //arguments here let mut cmd = Command::new(rustdoc); -@@ -38,7 +35,7 @@ fn main() { +@@ -37,7 +34,7 @@ fn main() { .arg("--sysroot") - .arg(sysroot) + .arg(&sysroot) .env(bootstrap::util::dylib_path_var(), - env::join_paths(&dylib_path).unwrap()); + PathBuf::from(libdir.clone())); // Force all crates compiled by this compiler to (a) be unstable and (b) // allow the `rustc_private` feature to link to other unstable crates +@@ -86,7 +83,7 @@ fn main() { + eprintln!( + "rustdoc command: {:?}={:?} {:?}", + bootstrap::util::dylib_path_var(), +- env::join_paths(&dylib_path).unwrap(), ++ PathBuf::from(libdir.clone()), + cmd, + ); + eprintln!("sysroot: {:?}", sysroot); -- 2.21.0 diff --git a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch index 6ec5eb76f..a1ee6c661 100644 --- a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch +++ b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch @@ -1,42 +1,48 @@ -From 46e6ead56b2899d9041fe73c1530b7f02df2ca40 Mon Sep 17 00:00:00 2001 +From 7f7ea1cba86a15510de2410529c8460fc5b7018b Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 00:05:18 -0500 -Subject: [PATCH 04/14] Require static native libraries when linking static +Subject: [PATCH 04/13] Require static native libraries when linking static executables -gcc/ld will create a dynamically-linked executable without warning, even -when passed `-static`, when asked to link to a `.so`. Avoid this -confusing and unintended behavior by always using the static version of -libraries when trying to link static executables. +On ELF targets like Linux, gcc/ld will create a dynamically-linked +executable without warning, even when passed `-static`, when asked to +link to a `.so`. Avoid this confusing and unintended behavior by always +using the static version of libraries when trying to link static +executables. Fixes #54243 --- - src/librustc_codegen_llvm/back/link.rs | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) + src/librustc_codegen_llvm/back/link.rs | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs -index fc744201a3..bae8b6ed75 100644 +index 19419a72b9..9d26dd0b35 100644 --- a/src/librustc_codegen_llvm/back/link.rs +++ b/src/librustc_codegen_llvm/back/link.rs -@@ -1413,8 +1413,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, +@@ -1408,9 +1408,7 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, } } -// Link in all of our upstream crates' native dependencies. Remember that -// all of these upstream native dependencies are all non-static -+// Link in all of our upstream crates' native dependencies. Remember that when -+// linking libraries, these upstream native dependencies are all non-static - // dependencies. We've got two cases then: +-// dependencies. We've got two cases then: ++// Link in all of our upstream crates' native dependencies. We have two cases: // // 1. The upstream crate is an rlib. In this case we *must* link in the -@@ -1458,7 +1458,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, + // native dependency because the rlib is just an archive. +@@ -1453,7 +1451,19 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, continue } match lib.kind { - NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()), + NativeLibraryKind::NativeUnknown => { -+ // When creating executables, match library linkage to that of the executable. -+ if crate_type == config::CrateType::Executable && sess.crt_static() { ++ // On some targets, like Linux, linking a static executable inhibits using ++ // dylibs at all. Force native libraries to be static, even if for example ++ // an upstream rlib was originally linked against a native shared library. ++ if crate_type == config::CrateType::Executable ++ && sess.crt_static() ++ && !sess.target.target.options.crt_static_allows_dylibs ++ { + cmd.link_staticlib(&name.as_str()) + } else { + cmd.link_dylib(&name.as_str()) diff --git a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch index 6053de26b..4d70e7084 100644 --- a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch @@ -1,13 +1,13 @@ -From 5d98731bae319172c5fbfd8235f62bb00acb3a7d Mon Sep 17 00:00:00 2001 +From 121e89f649b1cfe3c18dc622279dc5a79873fcdb Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 22:11:14 -0500 -Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets +Subject: [PATCH 05/13] Remove -nostdlib and musl_root from musl targets --- config.toml.example | 6 ---- - src/bootstrap/bin/rustc.rs | 12 -------- + src/bootstrap/bin/rustc.rs | 10 ------- src/bootstrap/cc_detect.rs | 27 ++---------------- - src/bootstrap/compile.rs | 21 -------------- + src/bootstrap/compile.rs | 21 +------------- src/bootstrap/config.rs | 7 ----- src/bootstrap/configure.py | 22 --------------- src/bootstrap/lib.rs | 8 ------ @@ -15,14 +15,15 @@ Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 -- src/ci/docker/dist-various-1/Dockerfile | 7 ----- src/ci/docker/dist-x86_64-musl/Dockerfile | 1 - + src/ci/docker/test-various/Dockerfile | 1 - src/librustc_target/spec/linux_musl_base.rs | 16 ----------- - 12 files changed, 3 insertions(+), 154 deletions(-) + 13 files changed, 4 insertions(+), 152 deletions(-) diff --git a/config.toml.example b/config.toml.example -index 23943d34b7..5eace54c6b 100644 +index 8b2153cd2e..b8145ce8d5 100644 --- a/config.toml.example +++ b/config.toml.example -@@ -461,12 +461,6 @@ +@@ -474,12 +474,6 @@ # only use static libraries. If unset, the target's default linkage is used. #crt-static = false @@ -32,27 +33,19 @@ index 23943d34b7..5eace54c6b 100644 -# linked binaries -#musl-root = "..." - - # Used in testing for configuring where the QEMU images are located, you - # probably don't want to use this. - #qemu-rootfs = "..." + # The root location of the `wasm32-unknown-wasi` sysroot. + #wasi-root = "..." + diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs -index a0c75cd9e9..f8daab9bd1 100644 +index a76584093f..8a534ab8e2 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs -@@ -20,7 +20,6 @@ - extern crate bootstrap; - - use std::env; --use std::ffi::OsString; - use std::io; - use std::path::PathBuf; - use std::process::Command; -@@ -116,17 +115,6 @@ fn main() { +@@ -122,16 +122,6 @@ fn main() { cmd.arg("-Cprefer-dynamic"); } -- // Help the libc crate compile by assisting it in finding the MUSL -- // native libraries. +- // Help the libc crate compile by assisting it in finding various +- // sysroot native libraries. - if let Some(s) = env::var_os("MUSL_ROOT") { - if target.contains("musl") { - let mut root = OsString::from("native="); @@ -61,15 +54,14 @@ index a0c75cd9e9..f8daab9bd1 100644 - cmd.arg("-L").arg(&root); - } - } -- - // Override linker if necessary. - if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") { - cmd.arg(format!("-Clinker={}", target_linker)); + if let Some(s) = env::var_os("WASI_ROOT") { + let mut root = OsString::from("native="); + root.push(&s); diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs -index 37844759c7..fa553c0b06 100644 +index dfc243b705..848d1d4b2b 100644 --- a/src/bootstrap/cc_detect.rs +++ b/src/bootstrap/cc_detect.rs -@@ -85,7 +85,7 @@ pub fn find(build: &mut Build) { +@@ -84,7 +84,7 @@ pub fn find(build: &mut Build) { if let Some(cc) = config.and_then(|c| c.cc.as_ref()) { cfg.compiler(cc); } else { @@ -78,7 +70,7 @@ index 37844759c7..fa553c0b06 100644 } let compiler = cfg.get_compiler(); -@@ -114,7 +114,7 @@ pub fn find(build: &mut Build) { +@@ -113,7 +113,7 @@ pub fn find(build: &mut Build) { if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) { cfg.compiler(cxx); } else { @@ -87,7 +79,7 @@ index 37844759c7..fa553c0b06 100644 } let compiler = cfg.get_compiler(); build.verbose(&format!("CXX_{} = {:?}", host, compiler.path())); -@@ -125,8 +125,7 @@ pub fn find(build: &mut Build) { +@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) { fn set_compiler(cfg: &mut cc::Build, compiler: Language, target: Interned<String>, @@ -97,7 +89,7 @@ index 37844759c7..fa553c0b06 100644 match &*target { // When compiling for android we may have the NDK configured in the // config.toml in which case we look there. Otherwise the default -@@ -166,26 +165,6 @@ fn set_compiler(cfg: &mut cc::Build, +@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build, } } @@ -125,11 +117,11 @@ index 37844759c7..fa553c0b06 100644 } } diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index b581271663..21421b2e38 100644 +index 66443d472d..bbaa32a91c 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs -@@ -114,21 +114,6 @@ impl Step for Std { - fn copy_third_party_objects(builder: &Builder, compiler: &Compiler, target: Interned<String>) { +@@ -114,20 +114,7 @@ impl Step for Std { + fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned<String>) { let libdir = builder.sysroot_libdir(*compiler, target); - // Copies the crt(1,i,n).o startup objects @@ -145,29 +137,29 @@ index b581271663..21421b2e38 100644 - &libdir.join(obj), - ); - } -- } -- - // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx. - // - // This target needs to be linked to Fortanix's port of llvm's libunwind. -@@ -182,12 +167,6 @@ pub fn std_cargo(builder: &Builder, - cargo.arg("--features").arg(features) +- } else if target.ends_with("-wasi") { ++ if target.ends_with("-wasi") { + for &obj in &["crt1.o"] { + builder.copy( + &builder.wasi_root(target).unwrap().join("lib/wasm32-wasi").join(obj), +@@ -190,12 +177,6 @@ pub fn std_cargo(builder: &Builder<'_>, .arg("--manifest-path") .arg(builder.src.join("src/libstd/Cargo.toml")); -- + - if target.contains("musl") { - if let Some(p) = builder.musl_root(target) { - cargo.env("MUSL_ROOT", p); - } - } - } - } - +- + if target.ends_with("-wasi") { + if let Some(p) = builder.wasi_root(target) { + cargo.env("WASI_ROOT", p); diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index 9421817ae6..cd70c1a1e4 100644 +index 0c31c41ced..b8c690fc41 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs -@@ -128,8 +128,6 @@ pub struct Config { +@@ -133,8 +133,6 @@ pub struct Config { pub print_step_timings: bool, pub missing_tools: bool, @@ -176,15 +168,15 @@ index 9421817ae6..cd70c1a1e4 100644 pub prefix: Option<PathBuf>, pub sysconfdir: Option<PathBuf>, pub datadir: Option<PathBuf>, -@@ -164,7 +162,6 @@ pub struct Target { +@@ -169,7 +167,6 @@ pub struct Target { pub linker: Option<PathBuf>, pub ndk: Option<PathBuf>, pub crt_static: Option<bool>, - pub musl_root: Option<PathBuf>, + pub wasi_root: Option<PathBuf>, pub qemu_rootfs: Option<PathBuf>, pub no_std: bool, - } -@@ -296,7 +293,6 @@ struct Rust { +@@ -306,7 +303,6 @@ struct Rust { backtrace: Option<bool>, default_linker: Option<String>, channel: Option<String>, @@ -192,35 +184,35 @@ index 9421817ae6..cd70c1a1e4 100644 rpath: Option<bool>, optimize_tests: Option<bool>, debuginfo_tests: Option<bool>, -@@ -335,7 +331,6 @@ struct TomlTarget { +@@ -346,7 +342,6 @@ struct TomlTarget { linker: Option<String>, android_ndk: Option<String>, crt_static: Option<bool>, - musl_root: Option<String>, + wasi_root: Option<String>, qemu_rootfs: Option<String>, } - -@@ -549,7 +544,6 @@ impl Config { +@@ -566,7 +561,6 @@ impl Config { set(&mut config.llvm_tools_enabled, rust.llvm_tools); - config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false); + config.rustc_parallel = rust.parallel_compiler.unwrap_or(false); config.rustc_default_linker = rust.default_linker.clone(); - config.musl_root = rust.musl_root.clone().map(PathBuf::from); config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from); set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings)); set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); -@@ -592,7 +586,6 @@ impl Config { +@@ -609,7 +603,6 @@ impl Config { target.ranlib = cfg.ranlib.clone().map(PathBuf::from); target.linker = cfg.linker.clone().map(PathBuf::from); target.crt_static = cfg.crt_static.clone(); - target.musl_root = cfg.musl_root.clone().map(PathBuf::from); + target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from); - config.target_config.insert(INTERNER.intern_string(triple.clone()), target); diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py -index b0c3c97024..5128897bf7 100755 +index ade8afee7c..f9ccf7aed5 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py -@@ -105,28 +105,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", +@@ -111,28 +111,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", "aarch64-linux-android NDK standalone path") v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk", "x86_64-linux-android NDK standalone path") @@ -250,10 +242,10 @@ index b0c3c97024..5128897bf7 100755 "rootfs in qemu testing, you probably don't want to use this") v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs", diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index 74c04bac6b..aa91600ea7 100644 +index 71ca61d97e..3b53029a79 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -849,14 +849,6 @@ impl Build { +@@ -861,14 +861,6 @@ impl Build { } } @@ -265,14 +257,14 @@ index 74c04bac6b..aa91600ea7 100644 - .map(|p| &**p) - } - - /// Returns true if this is a no-std `target`, if defined - fn no_std(&self, target: Interned<String>) -> Option<bool> { + /// Returns the sysroot for the wasi target, if defined + fn wasi_root(&self, target: Interned<String>) -> Option<&Path> { self.config.target_config.get(&target) diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index fe547a6b15..a452c874c4 100644 +index b9f456e910..792c975333 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs -@@ -169,34 +169,6 @@ pub fn check(build: &mut Build) { +@@ -171,34 +171,6 @@ pub fn check(build: &mut Build) { } } @@ -321,10 +313,10 @@ index ba2d32a929..412c37fdd1 100644 --disable-docs diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile -index ab2dd5a399..a9569fe6d4 100644 +index a722a41839..44e6728de7 100644 --- a/src/ci/docker/dist-various-1/Dockerfile +++ b/src/ci/docker/dist-various-1/Dockerfile -@@ -128,13 +128,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ +@@ -132,13 +132,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ ENV RUST_CONFIGURE_ARGS \ @@ -339,22 +331,34 @@ index ab2dd5a399..a9569fe6d4 100644 --disable-docs diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile -index 06f8a2fbba..f5dd379528 100644 +index 21a9023a45..db7c9729d0 100644 --- a/src/ci/docker/dist-x86_64-musl/Dockerfile +++ b/src/ci/docker/dist-x86_64-musl/Dockerfile -@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/ +@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh ENV RUST_CONFIGURE_ARGS \ -- --musl-root-x86_64=/musl-x86_64 \ +- --musl-root-x86_64=/usr/local/x86_64-linux-musl \ --enable-extended \ --disable-docs +diff --git a/src/ci/docker/test-various/Dockerfile b/src/ci/docker/test-various/Dockerfile +index 611a24a69b..99c2b866b1 100644 +--- a/src/ci/docker/test-various/Dockerfile ++++ b/src/ci/docker/test-various/Dockerfile +@@ -31,7 +31,6 @@ COPY scripts/sccache.sh /scripts/ + RUN sh /scripts/sccache.sh + + ENV RUST_CONFIGURE_ARGS \ +- --musl-root-x86_64=/usr/local/x86_64-linux-musl \ + --set build.nodejs=/node-v9.2.0-linux-x64/bin/node \ + --set rust.lld + diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs -index 1bc90d1a73..e26a5240a6 100644 +index e294e63982..58ae91a96a 100644 --- a/src/librustc_target/spec/linux_musl_base.rs +++ b/src/librustc_target/spec/linux_musl_base.rs -@@ -3,28 +3,12 @@ use spec::{LinkerFlavor, TargetOptions}; +@@ -3,28 +3,12 @@ use crate::spec::{LinkerFlavor, TargetOptions}; pub fn opts() -> TargetOptions { let mut base = super::linux_base::opts(); diff --git a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch index f7f7ccd3e..38065f96c 100644 --- a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +++ b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch @@ -1,14 +1,14 @@ -From eb2340bd8c8d9e79eb4bb231ccb31cd4e4bba907 Mon Sep 17 00:00:00 2001 +From e74e7ab193b0d59302eac1edbab423f2e83e986d Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sat, 9 Sep 2017 00:14:16 -0500 -Subject: [PATCH 06/14] Prefer libgcc_eh over libunwind for musl +Subject: [PATCH 06/13] Prefer libgcc_eh over libunwind for musl --- src/libunwind/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs -index 7ed7837268..2f38a43845 100644 +index 0ccffea317..935175dd8d 100644 --- a/src/libunwind/lib.rs +++ b/src/libunwind/lib.rs @@ -26,6 +26,6 @@ cfg_if! { diff --git a/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch index 6435eeef0..b8fa40308 100644 --- a/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +++ b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch @@ -1,25 +1,25 @@ -From e60db771c8ffe7b82a97ca516737cbf40b372e54 Mon Sep 17 00:00:00 2001 +From cd7484e89d44ad980a526eb993c5cbc2b7f0878a Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sun, 16 Sep 2018 16:40:04 +0000 -Subject: [PATCH 07/14] runtest: Fix proc-macro tests on musl hosts +Subject: [PATCH 07/13] runtest: Fix proc-macro tests on musl hosts --- src/tools/compiletest/src/runtest.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs -index 400c205d44..be5c50b070 100644 +index 2021dd513a..765353620b 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs -@@ -1566,7 +1566,6 @@ impl<'test> TestCx<'test> { +@@ -1605,7 +1605,6 @@ impl<'test> TestCx<'test> { None } else if self.config.target.contains("cloudabi") || self.config.target.contains("emscripten") - || (self.config.target.contains("musl") && !aux_props.force_host) || self.config.target.contains("wasm32") + || self.config.target.contains("nvptx") { - // We primarily compile all auxiliary libraries as dynamic libraries -@@ -1574,10 +1573,8 @@ impl<'test> TestCx<'test> { +@@ -1614,10 +1613,8 @@ impl<'test> TestCx<'test> { // for the test suite (otherwise including libstd statically in all // executables takes up quite a bit of space). // diff --git a/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch b/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch deleted file mode 100644 index dddaf75bf..000000000 --- a/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 8dbda1b85a15b04300f73eb30c1e2da196750cfb Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Fri, 22 Mar 2019 17:08:06 -0500 -Subject: [PATCH 08/14] test/enum-debug*: Correct minimum LLVM version - ---- - src/test/codegen/enum-debug-clike.rs | 2 +- - src/test/codegen/enum-debug-niche-2.rs | 2 +- - src/test/codegen/enum-debug-niche.rs | 2 +- - src/test/codegen/enum-debug-tagged.rs | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs -index 98f07505f7..11e2fae596 100644 ---- a/src/test/codegen/enum-debug-clike.rs -+++ b/src/test/codegen/enum-debug-clike.rs -@@ -4,7 +4,7 @@ - - // ignore-tidy-linelength - // ignore-windows --// min-system-llvm-version 7.0 -+// min-system-llvm-version 8.0 - - // compile-flags: -g -C no-prepopulate-passes - -diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs -index 369fa1fcfd..aa6cbf66b4 100644 ---- a/src/test/codegen/enum-debug-niche-2.rs -+++ b/src/test/codegen/enum-debug-niche-2.rs -@@ -4,7 +4,7 @@ - - // ignore-tidy-linelength - // ignore-windows --// min-system-llvm-version 7.0 -+// min-system-llvm-version 8.0 - - // compile-flags: -g -C no-prepopulate-passes - -diff --git a/src/test/codegen/enum-debug-niche.rs b/src/test/codegen/enum-debug-niche.rs -index 1273a785ba..93eebde7b8 100644 ---- a/src/test/codegen/enum-debug-niche.rs -+++ b/src/test/codegen/enum-debug-niche.rs -@@ -4,7 +4,7 @@ - - // ignore-tidy-linelength - // ignore-windows --// min-system-llvm-version 7.0 -+// min-system-llvm-version 8.0 - - // compile-flags: -g -C no-prepopulate-passes - -diff --git a/src/test/codegen/enum-debug-tagged.rs b/src/test/codegen/enum-debug-tagged.rs -index 5c37e40c27..84976ce97a 100644 ---- a/src/test/codegen/enum-debug-tagged.rs -+++ b/src/test/codegen/enum-debug-tagged.rs -@@ -4,7 +4,7 @@ - - // ignore-tidy-linelength - // ignore-windows --// min-system-llvm-version 7.0 -+// min-system-llvm-version 8.0 - - // compile-flags: -g -C no-prepopulate-passes - --- -2.21.0 - diff --git a/user/rust/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch index da9d25537..0fefe38cc 100644 --- a/user/rust/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch +++ b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch @@ -1,19 +1,19 @@ -From b7fdd2b4b192e1ac7e59fe009e7b7bba8943c8dc Mon Sep 17 00:00:00 2001 +From 6ad7add8f7dee0f6dac64add5d64098667a5168d Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sat, 6 Oct 2018 04:01:48 +0000 -Subject: [PATCH 09/14] test/use-extern-for-plugins: Don't assume multilib +Subject: [PATCH 08/13] test/use-extern-for-plugins: Don't assume multilib --- src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile -index cc7bc176f4..36553f1e44 100644 +index 3976da3113..567a8d3157 100644 --- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile +++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile -@@ -4,12 +4,7 @@ SKIP_OS := 'FreeBSD OpenBSD Bitrig SunOS' - - ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS))) +@@ -5,12 +5,7 @@ + # ignore-bitrig + # ignore-sunos -HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //') -ifeq ($(findstring i686,$(HOST)),i686) diff --git a/user/rust/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch index ff49416e0..3c0bc7c5e 100644 --- a/user/rust/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +++ b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch @@ -1,7 +1,7 @@ -From 4ca0a1760317d3029bfcb0e6253252b926ef92ce Mon Sep 17 00:00:00 2001 +From fb4844f8b8a546873b909490b66bde24772e4cc7 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 01:32:20 +0000 -Subject: [PATCH 10/14] test/sysroot-crates-are-unstable: Fix test when rpath +Subject: [PATCH 09/13] test/sysroot-crates-are-unstable: Fix test when rpath is disabled Without this environment var, the test can't run rustc to find diff --git a/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 000000000..f1349b906 --- /dev/null +++ b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,104 @@ +From 44e9b61563be6a169575358107774109f910cb9d Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 10/13] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +simd-intrinsic-generic-select.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- + src/test/codegen/sparc-struct-abi.rs | 1 + + src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++ + src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++ + src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++ + src/test/run-pass/env-funky-keys.rs | 1 + + src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs | 2 ++ + src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++ + 7 files changed, 12 insertions(+) + +diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs +index 78e5b14a21..6f93e93286 100644 +--- a/src/test/codegen/sparc-struct-abi.rs ++++ b/src/test/codegen/sparc-struct-abi.rs +@@ -4,6 +4,7 @@ + + // only-sparc64 + // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib ++// ignore-test + #![feature(no_core, lang_items)] + #![no_core] + +diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile +index f124ca2ab6..363b18f098 100644 +--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile ++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile +@@ -1,3 +1,5 @@ ++# ignore-aarch64 ++ + -include ../tools.mk + + all: +diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +index 5876fbc94b..5f167ece1a 100644 +--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile ++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +@@ -1,3 +1,5 @@ ++# ignore-test ++ + -include ../tools.mk + + all: +diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +index 9e77070685..6d92ec5cec 100644 +--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile ++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +@@ -1,3 +1,5 @@ ++# ignore-test ++ + -include ../tools.mk + + all: +diff --git a/src/test/run-pass/env-funky-keys.rs b/src/test/run-pass/env-funky-keys.rs +index 79f32bd6c2..fc171687c9 100644 +--- a/src/test/run-pass/env-funky-keys.rs ++++ b/src/test/run-pass/env-funky-keys.rs +@@ -1,5 +1,6 @@ + // Ignore this test on Android, because it segfaults there. + ++// ignore-test + // ignore-android + // ignore-windows + // ignore-cloudabi no execve +diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs +index b28f742a92..3ee4ccce73 100644 +--- a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs ++++ b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs +@@ -2,6 +2,8 @@ + #![allow(non_camel_case_types)] + + // ignore-emscripten ++// ignore-powerpc ++// ignore-powerpc64 + + // Test that the simd_bitmask intrinsic produces correct results. + +diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs +index f79b140494..39080c8c90 100644 +--- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs ++++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs +@@ -2,6 +2,8 @@ + #![allow(non_camel_case_types)] + + // ignore-emscripten ++// ignore-powerpc ++// ignore-powerpc64 + + // Test that the simd_select intrinsics produces correct results. + +-- +2.21.0 + diff --git a/user/rust/0011-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0011-Ignore-broken-and-non-applicable-tests.patch deleted file mode 100644 index ebf711f77..000000000 --- a/user/rust/0011-Ignore-broken-and-non-applicable-tests.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 63a413a24f98461476aac7ac7ead69c948874e7d Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:38:48 +0000 -Subject: [PATCH 11/14] Ignore broken and non-applicable tests - -long-linker-command-lines: takes >10 minutes to run (but still passes) -sparc-struct-abi: no sparc target -sysroot-crates-are-unstable: can't run rustc without rpath ---- - src/test/codegen/sparc-struct-abi.rs | 1 + - src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 1 - - src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 +- - src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++ - 4 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs -index 78e5b14a21..6f93e93286 100644 ---- a/src/test/codegen/sparc-struct-abi.rs -+++ b/src/test/codegen/sparc-struct-abi.rs -@@ -4,6 +4,7 @@ - - // only-sparc64 - // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib -+// ignore-test - #![feature(no_core, lang_items)] - #![no_core] - -diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -index 5876fbc94b..e9f5c33b77 100644 ---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -@@ -2,4 +2,3 @@ - - all: - $(RUSTC) foo.rs -g -O -- RUSTC="$(RUSTC_ORIGINAL)" $(call RUN,foo) -diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -index 9e77070685..7784230b46 100644 ---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -@@ -1,4 +1,4 @@ - -include ../tools.mk - - all: -- env '$(HOST_RPATH_ENV)' python2.7 test.py -+ true -diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs -index f79b140494..39080c8c90 100644 ---- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs -+++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs -@@ -2,6 +2,8 @@ - #![allow(non_camel_case_types)] - - // ignore-emscripten -+// ignore-powerpc -+// ignore-powerpc64 - - // Test that the simd_select intrinsics produces correct results. - --- -2.21.0 - diff --git a/user/rust/0012-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch index 8d37b335c..e46aeac77 100644 --- a/user/rust/0012-Link-stage-2-tools-dynamically-to-libstd.patch +++ b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch @@ -1,14 +1,14 @@ -From 51b5ec642911295036d4ff19d4d6799037da3efc Mon Sep 17 00:00:00 2001 +From 91549d8c4f37fd0756d2b95fffcb7055acb663d1 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 24 Sep 2018 23:42:23 +0000 -Subject: [PATCH 12/14] Link stage 2 tools dynamically to libstd +Subject: [PATCH 11/13] Link stage 2 tools dynamically to libstd --- src/bootstrap/tool.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs -index 9f6db73e6f..69cc2219c1 100644 +index 23775a91e4..d79fede548 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -208,7 +208,9 @@ pub fn prepare_tool_cargo( diff --git a/user/rust/0013-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch index a401dc5ab..449abc0cf 100644 --- a/user/rust/0013-Move-debugger-scripts-to-usr-share-rust.patch +++ b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch @@ -1,7 +1,7 @@ -From 17bb016bf9eefb42e1205b5f8d7b944147337f24 Mon Sep 17 00:00:00 2001 +From 6ebe128c3440ee224fed5e0a2b8897df21ed55f2 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 02:09:10 +0000 -Subject: [PATCH 13/14] Move debugger scripts to /usr/share/rust +Subject: [PATCH 12/13] Move debugger scripts to /usr/share/rust --- src/bootstrap/dist.rs | 2 +- @@ -10,11 +10,11 @@ Subject: [PATCH 13/14] Move debugger scripts to /usr/share/rust 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index 0c6e213110..1858fade71 100644 +index 61a7705bd6..920e0ad1f1 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -583,7 +583,7 @@ impl Step for DebuggerScripts { - fn run(self, builder: &Builder) { +@@ -597,7 +597,7 @@ impl Step for DebuggerScripts { + fn run(self, builder: &Builder<'_>) { let host = self.host; let sysroot = self.sysroot; - let dst = sysroot.join("lib/rustlib/etc"); diff --git a/user/rust/0014-Add-foxkit-target-specs.patch b/user/rust/0013-Add-foxkit-target-specs.patch index ecbfe26b5..c0e8cd4a2 100644 --- a/user/rust/0014-Add-foxkit-target-specs.patch +++ b/user/rust/0013-Add-foxkit-target-specs.patch @@ -1,17 +1,17 @@ -From 2ca1aeb3cb3e0d52917cec2a96101aba5c6e40ce Mon Sep 17 00:00:00 2001 +From fcf56fefa4b75f24430f69477d8cca8ee758fa41 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 02:29:06 +0000 -Subject: [PATCH 14/14] Add foxkit target specs +Subject: [PATCH 13/13] Add foxkit target specs --- - .../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++ - .../spec/armv7_foxkit_linux_musleabihf.rs | 21 +++++++++++++++++ - .../spec/i586_foxkit_linux_musl.rs | 23 +++++++++++++++++++ - src/librustc_target/spec/mod.rs | 7 ++++++ - .../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++ - .../spec/powerpc_foxkit_linux_musl.rs | 23 +++++++++++++++++++ - .../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++ - 7 files changed, 137 insertions(+) + .../spec/aarch64_foxkit_linux_musl.rs | 11 +++++++++++ + .../spec/armv7_foxkit_linux_musleabihf.rs | 11 +++++++++++ + src/librustc_target/spec/i586_foxkit_linux_musl.rs | 13 +++++++++++++ + src/librustc_target/spec/mod.rs | 7 +++++++ + .../spec/powerpc64_foxkit_linux_musl.rs | 11 +++++++++++ + .../spec/powerpc_foxkit_linux_musl.rs | 13 +++++++++++++ + .../spec/x86_64_foxkit_linux_musl.rs | 11 +++++++++++ + 7 files changed, 77 insertions(+) create mode 100644 src/librustc_target/spec/aarch64_foxkit_linux_musl.rs create mode 100644 src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs create mode 100644 src/librustc_target/spec/i586_foxkit_linux_musl.rs @@ -21,21 +21,11 @@ Subject: [PATCH 14/14] Add foxkit target specs diff --git a/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs new file mode 100644 -index 0000000000..18ad2c2f31 +index 0000000000..9ba8bc1deb --- /dev/null +++ b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs -@@ -0,0 +1,21 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; +@@ -0,0 +1,11 @@ ++use crate::spec::TargetResult; + +pub fn target() -> TargetResult { + let mut base = super::aarch64_unknown_linux_musl::target()?; @@ -48,21 +38,11 @@ index 0000000000..18ad2c2f31 +} diff --git a/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs new file mode 100644 -index 0000000000..facfd5d363 +index 0000000000..5a88f77896 --- /dev/null +++ b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs -@@ -0,0 +1,21 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; +@@ -0,0 +1,11 @@ ++use crate::spec::TargetResult; + +pub fn target() -> TargetResult { + let mut base = super::armv7_unknown_linux_musleabihf::target()?; @@ -75,21 +55,11 @@ index 0000000000..facfd5d363 +} diff --git a/src/librustc_target/spec/i586_foxkit_linux_musl.rs b/src/librustc_target/spec/i586_foxkit_linux_musl.rs new file mode 100644 -index 0000000000..e0284d96e6 +index 0000000000..f0c4ffbf58 --- /dev/null +++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs -@@ -0,0 +1,23 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, TargetResult}; +@@ -0,0 +1,13 @@ ++use crate::spec::{LinkerFlavor, TargetResult}; + +pub fn target() -> TargetResult { + let mut base = super::i586_unknown_linux_musl::target()?; @@ -103,10 +73,10 @@ index 0000000000..e0284d96e6 + Ok(base) +} diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs -index f42b0a1c3c..f83be3e4e3 100644 +index 46fefd78f4..7cdcb319c6 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs -@@ -278,6 +278,13 @@ macro_rules! supported_targets { +@@ -329,6 +329,13 @@ macro_rules! supported_targets { } supported_targets! { @@ -122,21 +92,11 @@ index f42b0a1c3c..f83be3e4e3 100644 ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), diff --git a/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs new file mode 100644 -index 0000000000..b7202ee0fc +index 0000000000..b105aa247e --- /dev/null +++ b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs -@@ -0,0 +1,21 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; +@@ -0,0 +1,11 @@ ++use crate::spec::TargetResult; + +pub fn target() -> TargetResult { + let mut base = super::powerpc64_unknown_linux_musl::target()?; @@ -149,21 +109,11 @@ index 0000000000..b7202ee0fc +} diff --git a/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs new file mode 100644 -index 0000000000..34246a7e28 +index 0000000000..a425f472aa --- /dev/null +++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs -@@ -0,0 +1,23 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, TargetResult}; +@@ -0,0 +1,13 @@ ++use crate::spec::{LinkerFlavor, TargetResult}; + +pub fn target() -> TargetResult { + let mut base = super::powerpc_unknown_linux_musl::target()?; @@ -178,21 +128,11 @@ index 0000000000..34246a7e28 +} diff --git a/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs new file mode 100644 -index 0000000000..801dd8d6f4 +index 0000000000..40adbd77b3 --- /dev/null +++ b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs -@@ -0,0 +1,21 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; +@@ -0,0 +1,11 @@ ++use crate::spec::TargetResult; + +pub fn target() -> TargetResult { + let mut base = super::x86_64_unknown_linux_musl::target()?; diff --git a/user/rust/0030-libc-linkage.patch b/user/rust/0030-libc-linkage.patch index 754074355..2454acdb3 100644 --- a/user/rust/0030-libc-linkage.patch +++ b/user/rust/0030-libc-linkage.patch @@ -1,23 +1,33 @@ ---- a/vendor/libc/src/unix/mod.rs -+++ b/vendor/libc/src/unix/mod.rs -@@ -287,11 +287,7 @@ cfg_if! { +--- rustc-1.35.0-src/vendor/libc/src/lib.rs ++++ rustc-1.35.0-src/vendor/libc/src/lib.rs +@@ -26,6 +26,7 @@ + #![deny(missing_copy_implementations, safe_packed_borrows)] + #![no_std] + #![cfg_attr(feature = "rustc-dep-of-std", no_core)] ++#![cfg_attr(feature = "rustc-dep-of-std", feature(static_nobundle))] + + #[macro_use] + mod macros; +--- rustc-1.35.0-src/vendor/libc/src/unix/mod.rs ++++ rustc-1.35.0-src/vendor/libc/src/unix/mod.rs +@@ -307,11 +307,11 @@ cfg_if! { // cargo build, don't pull in anything extra as the libstd dep // already pulls in all libs. } else if #[cfg(target_env = "musl")] { -- #[cfg_attr(feature = "rustc-dep-of-std", ++ #[link(name = "c")] ++ extern {} + #[cfg_attr(feature = "rustc-dep-of-std", - link(name = "c", kind = "static", -- cfg(target_feature = "crt-static")))] ++ link(name = "gcc", kind = "static-nobundle", + cfg(target_feature = "crt-static")))] - #[cfg_attr(feature = "rustc-dep-of-std", - link(name = "c", cfg(not(target_feature = "crt-static"))))] -+ #[link(name = "c")] extern {} } else if #[cfg(target_os = "emscripten")] { #[link(name = "c")] -diff --git rustc-1.33.0-src/vendor/libc/.cargo-checksum.json.orig rustc-1.33.0-src/vendor/libc/.cargo-checksum.json -index b580eeb..4f3a87d 100644 ---- rustc-1.33.0-src/vendor/libc/.cargo-checksum.json.orig -+++ rustc-1.33.0-src/vendor/libc/.cargo-checksum.json +--- rustc-1.35.0-src/vendor/libc/.cargo-checksum.json ++++ rustc-1.35.0-src/vendor/libc/.cargo-checksum.json @@ -1 +1 @@ --{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.rs":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"c5f3c6d74ac8e8ef83374b6115bab7c6e57297336a7635aa4c47462649b00dfb","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"} +-{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"b0d525e3da42b1fde74356f3856e9054254eaefb260c2da8a253b025754c8770","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"f9a63de7c9566cdaa970daeb3828887f7b2d8bf090da86be1a15c32288ae3da3","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"} \ No newline at end of file -+{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.rs":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"3231196aa748186ad21063bb43c69b95c0d90ba32c5547c72f7c6ed343a100b7","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"} ++{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"7e80726ac2e4fe5d1354950e93055120b5e3babc339f0315bf34bc7eb8f4c937","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"ca64d5483b17632ac0b1366edaa715f64b1aed696a7e038a7e49b726a22f871f","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"} diff --git a/user/rust/0031-typenum-pmmx.patch b/user/rust/0031-typenum-pmmx.patch new file mode 100644 index 000000000..6b3c5df57 --- /dev/null +++ b/user/rust/0031-typenum-pmmx.patch @@ -0,0 +1,33 @@ +From 0d5196feadafa77c727f517d747ffcf3fd0e8ba9 Mon Sep 17 00:00:00 2001 +From: Michael Hudson-Doyle <michael.hudson@canonical.com> +Date: Wed, 13 Mar 2019 15:55:30 +1300 +Subject: [PATCH] round result of (highest as f64).log(2.0) + +Even though (1024f64).log(2.0) has an exact, representable, value, with +rustc 1.32 on i386 it comes out as +9.999999999999999985 with +optimization enabled. And the rustc doesn't like having two defintions +for U1024 etc. + +--- + build/main.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git rustc-1.35.0-src/vendor/typenum/build/main.rs rustc-1.35.0-src/vendor/typenum/build/main.rs +index 16b0ffe2f..b7939f993 100644 +--- rustc-1.35.0-src/vendor/typenum/build/main.rs ++++ rustc-1.35.0-src/vendor/typenum/build/main.rs +@@ -81,7 +81,7 @@ pub fn no_std() {} + fn main() { + let highest: u64 = 1024; + +- let first2: u32 = (highest as f64).log(2.0) as u32 + 1; ++ let first2: u32 = (highest as f64).log(2.0).round() as u32 + 1; + let first10: u32 = (highest as f64).log(10.0) as u32 + 1; + let uints = (0..(highest + 1)) + .chain((first2..64).map(|i| 2u64.pow(i))) +--- rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json ++++ rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"44d33ee79a76a90a769096547ba4c7a5d3822afffeed025dfbcc5bb755227d52","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"} +\ No newline at end of file ++{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"38a90c85068bb6bba1d21e9d5976e693b9b868ed0c16b26986332d2ca1c01047","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"} diff --git a/user/rust/0040-rls-atomics.patch b/user/rust/0040-rls-atomics.patch index 4dd813faa..d9aedb9af 100644 --- a/user/rust/0040-rls-atomics.patch +++ b/user/rust/0040-rls-atomics.patch @@ -1,17 +1,15 @@ -diff --git a/src/tools/rls/src/cmd.rs b/src/tools/rls/src/cmd.rs -index 64035aa..d9129d8 100644 ---- a/src/tools/rls/src/cmd.rs -+++ b/src/tools/rls/src/cmd.rs -@@ -17,7 +17,7 @@ use crate::config::Config; +--- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs ++++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs +@@ -7,7 +7,7 @@ use crate::config::Config; use crate::server::{self, LsService, Notification, Request, RequestId}; use rls_analysis::{AnalysisHost, Target}; use rls_vfs::Vfs; -use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::atomic::{AtomicU32, Ordering}; - use languageserver_types::{ + use lsp_types::{ ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem, -@@ -424,8 +424,8 @@ fn url(file_name: &str) -> Url { +@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url { } fn next_id() -> RequestId { @@ -22,11 +20,9 @@ index 64035aa..d9129d8 100644 } // Custom reader and output for the RLS server. -diff --git a/src/tools/rls/src/server/io.rs b/src/tools/rls/src/server/io.rs -index 7b93d4a..f3c5361 100644 ---- a/src/tools/rls/src/server/io.rs -+++ b/src/tools/rls/src/server/io.rs -@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest}; +--- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs ++++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs +@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest}; use std::fmt; use std::io::{self, BufRead, Write}; @@ -35,7 +31,7 @@ index 7b93d4a..f3c5361 100644 use std::sync::Arc; use jsonrpc_core::{self as jsonrpc, response, version, Id}; -@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone + 'static { +@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static { /// An output that sends notifications and responses on `stdout`. #[derive(Clone)] pub(super) struct StdioOutput { @@ -44,15 +40,14 @@ index 7b93d4a..f3c5361 100644 } impl StdioOutput { - /// Construct a new `stdout` output. - crate fn new() -> StdioOutput { - StdioOutput { -- next_id: Arc::new(AtomicU64::new(1)), -+ next_id: Arc::new(AtomicU32::new(1).into()), - } + /// Constructs a new `stdout` output. + pub(crate) fn new() -> StdioOutput { +- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) } ++ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) } } } -@@ -215,7 +215,7 @@ impl Output for StdioOutput { + +@@ -194,7 +194,7 @@ impl Output for StdioOutput { } fn provide_id(&self) -> RequestId { diff --git a/user/rust/0050-LLVM-8.0-compatibility.patch b/user/rust/0050-LLVM-8.0-compatibility.patch deleted file mode 100644 index a8bffb2b9..000000000 --- a/user/rust/0050-LLVM-8.0-compatibility.patch +++ /dev/null @@ -1,310 +0,0 @@ -From 78ff5598497c95a696ca669f88a93d127aa24c8d Mon Sep 17 00:00:00 2001 -From: Josh Stone <jistone@redhat.com> -Date: Wed, 16 Jan 2019 09:59:03 -0800 -Subject: [PATCH 08/15] LLVM 8.0 compatibility - -Backported from commit df0466d upstream. ---- - src/librustc_codegen_llvm/debuginfo/mod.rs | 15 ++-- - src/librustc_codegen_llvm/llvm/ffi.rs | 22 +++-- - src/rustllvm/PassWrapper.cpp | 7 +- - src/rustllvm/RustWrapper.cpp | 93 ++++++++++++++++++++-- - src/test/codegen/enum-debug-clike.rs | 5 +- - 5 files changed, 123 insertions(+), 19 deletions(-) - -diff --git a/src/librustc_codegen_llvm/debuginfo/mod.rs b/src/librustc_codegen_llvm/debuginfo/mod.rs -index 2eab626ae8..7aca63caa4 100644 ---- a/src/librustc_codegen_llvm/debuginfo/mod.rs -+++ b/src/librustc_codegen_llvm/debuginfo/mod.rs -@@ -12,7 +12,7 @@ use self::source_loc::InternalDebugLocation::{self, UnknownLocation}; - - use llvm; - use llvm::debuginfo::{DIFile, DIType, DIScope, DIBuilder, DISubprogram, DIArray, DIFlags, -- DILexicalBlock}; -+ DISPFlags, DILexicalBlock}; - use rustc::hir::CodegenFnAttrFlags; - use rustc::hir::def_id::{DefId, CrateNum}; - use rustc::ty::subst::{Substs, UnpackedKind}; -@@ -283,7 +283,6 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> { - let linkage_name = mangled_name_of_instance(self, instance); - - let scope_line = span_start(self, span).line; -- let is_local_to_unit = is_node_local_to_unit(self, def_id); - - let function_name = CString::new(name).unwrap(); - let linkage_name = SmallCStr::new(&linkage_name.as_str()); -@@ -301,6 +300,14 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> { - flags |= DIFlags::FlagNoReturn; - } - -+ let mut spflags = DISPFlags::SPFlagDefinition; -+ if is_node_local_to_unit(self, def_id) { -+ spflags |= DISPFlags::SPFlagLocalToUnit; -+ } -+ if self.sess().opts.optimize != config::OptLevel::No { -+ spflags |= DISPFlags::SPFlagOptimized; -+ } -+ - let fn_metadata = unsafe { - llvm::LLVMRustDIBuilderCreateFunction( - DIB(self), -@@ -310,11 +317,9 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> { - file_metadata, - loc.line as c_uint, - function_type_metadata, -- is_local_to_unit, -- true, - scope_line as c_uint, - flags, -- self.sess().opts.optimize != config::OptLevel::No, -+ spflags, - llfn, - template_parameters, - None) -diff --git a/src/librustc_codegen_llvm/llvm/ffi.rs b/src/librustc_codegen_llvm/llvm/ffi.rs -index 11e34f600c..853c1ff004 100644 ---- a/src/librustc_codegen_llvm/llvm/ffi.rs -+++ b/src/librustc_codegen_llvm/llvm/ffi.rs -@@ -2,7 +2,7 @@ use super::debuginfo::{ - DIBuilder, DIDescriptor, DIFile, DILexicalBlock, DISubprogram, DIType, - DIBasicType, DIDerivedType, DICompositeType, DIScope, DIVariable, - DIGlobalVariableExpression, DIArray, DISubrange, DITemplateTypeParameter, DIEnumerator, -- DINameSpace, DIFlags, -+ DINameSpace, DIFlags, DISPFlags, - }; - - use libc::{c_uint, c_int, size_t, c_char}; -@@ -591,6 +591,20 @@ pub mod debuginfo { - const FlagMainSubprogram = (1 << 21); - } - } -+ -+ // These values **must** match with LLVMRustDISPFlags!! -+ bitflags! { -+ #[repr(C)] -+ #[derive(Default)] -+ pub struct DISPFlags: ::libc::uint32_t { -+ const SPFlagZero = 0; -+ const SPFlagVirtual = 1; -+ const SPFlagPureVirtual = 2; -+ const SPFlagLocalToUnit = (1 << 2); -+ const SPFlagDefinition = (1 << 3); -+ const SPFlagOptimized = (1 << 4); -+ } -+ } - } - - extern { pub type ModuleBuffer; } -@@ -1387,11 +1401,9 @@ extern "C" { - File: &'a DIFile, - LineNo: c_uint, - Ty: &'a DIType, -- isLocalToUnit: bool, -- isDefinition: bool, - ScopeLine: c_uint, - Flags: DIFlags, -- isOptimized: bool, -+ SPFlags: DISPFlags, - Fn: &'a Value, - TParam: &'a DIArray, - Decl: Option<&'a DIDescriptor>) -@@ -1529,7 +1541,7 @@ extern "C" { - AlignInBits: u32, - Elements: &'a DIArray, - ClassType: &'a DIType, -- IsFixed: bool) -+ IsScoped: bool) - -> &'a DIType; - - pub fn LLVMRustDIBuilderCreateUnionType(Builder: &DIBuilder<'a>, -diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp -index df7a81643b..18d277be21 100644 ---- a/src/rustllvm/PassWrapper.cpp -+++ b/src/rustllvm/PassWrapper.cpp -@@ -789,7 +789,7 @@ struct LLVMRustThinLTOData { - StringMap<GVSummaryMapTy> ModuleToDefinedGVSummaries; - - #if LLVM_VERSION_GE(7, 0) -- LLVMRustThinLTOData() : Index(/* isPerformingAnalysis = */ false) {} -+ LLVMRustThinLTOData() : Index(/* HaveGVs = */ false) {} - #endif - }; - -@@ -865,7 +865,12 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, - auto deadIsPrevailing = [&](GlobalValue::GUID G) { - return PrevailingType::Unknown; - }; -+#if LLVM_VERSION_GE(8, 0) -+ computeDeadSymbolsWithConstProp(Ret->Index, Ret->GUIDPreservedSymbols, -+ deadIsPrevailing, /* ImportEnabled = */ true); -+#else - computeDeadSymbols(Ret->Index, Ret->GUIDPreservedSymbols, deadIsPrevailing); -+#endif - #else - computeDeadSymbols(Ret->Index, Ret->GUIDPreservedSymbols); - #endif -diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp -index 9d3e6f93b0..7905e9f0f2 100644 ---- a/src/rustllvm/RustWrapper.cpp -+++ b/src/rustllvm/RustWrapper.cpp -@@ -294,7 +294,7 @@ extern "C" void LLVMRustSetHasUnsafeAlgebra(LLVMValueRef V) { - extern "C" LLVMValueRef - LLVMRustBuildAtomicLoad(LLVMBuilderRef B, LLVMValueRef Source, const char *Name, - LLVMAtomicOrdering Order) { -- LoadInst *LI = new LoadInst(unwrap(Source), 0); -+ LoadInst *LI = new LoadInst(unwrap(Source)); - LI->setAtomic(fromRust(Order)); - return wrap(unwrap(B)->Insert(LI, Name)); - } -@@ -511,6 +511,71 @@ static DINode::DIFlags fromRust(LLVMRustDIFlags Flags) { - return Result; - } - -+// These values **must** match debuginfo::DISPFlags! They also *happen* -+// to match LLVM, but that isn't required as we do giant sets of -+// matching below. The value shouldn't be directly passed to LLVM. -+enum class LLVMRustDISPFlags : uint32_t { -+ SPFlagZero = 0, -+ SPFlagVirtual = 1, -+ SPFlagPureVirtual = 2, -+ SPFlagLocalToUnit = (1 << 2), -+ SPFlagDefinition = (1 << 3), -+ SPFlagOptimized = (1 << 4), -+ // Do not add values that are not supported by the minimum LLVM -+ // version we support! see llvm/include/llvm/IR/DebugInfoFlags.def -+ // (In LLVM < 8, createFunction supported these as separate bool arguments.) -+}; -+ -+inline LLVMRustDISPFlags operator&(LLVMRustDISPFlags A, LLVMRustDISPFlags B) { -+ return static_cast<LLVMRustDISPFlags>(static_cast<uint32_t>(A) & -+ static_cast<uint32_t>(B)); -+} -+ -+inline LLVMRustDISPFlags operator|(LLVMRustDISPFlags A, LLVMRustDISPFlags B) { -+ return static_cast<LLVMRustDISPFlags>(static_cast<uint32_t>(A) | -+ static_cast<uint32_t>(B)); -+} -+ -+inline LLVMRustDISPFlags &operator|=(LLVMRustDISPFlags &A, LLVMRustDISPFlags B) { -+ return A = A | B; -+} -+ -+inline bool isSet(LLVMRustDISPFlags F) { return F != LLVMRustDISPFlags::SPFlagZero; } -+ -+inline LLVMRustDISPFlags virtuality(LLVMRustDISPFlags F) { -+ return static_cast<LLVMRustDISPFlags>(static_cast<uint32_t>(F) & 0x3); -+} -+ -+#if LLVM_VERSION_GE(8, 0) -+static DISubprogram::DISPFlags fromRust(LLVMRustDISPFlags SPFlags) { -+ DISubprogram::DISPFlags Result = DISubprogram::DISPFlags::SPFlagZero; -+ -+ switch (virtuality(SPFlags)) { -+ case LLVMRustDISPFlags::SPFlagVirtual: -+ Result |= DISubprogram::DISPFlags::SPFlagVirtual; -+ break; -+ case LLVMRustDISPFlags::SPFlagPureVirtual: -+ Result |= DISubprogram::DISPFlags::SPFlagPureVirtual; -+ break; -+ default: -+ // The rest are handled below -+ break; -+ } -+ -+ if (isSet(SPFlags & LLVMRustDISPFlags::SPFlagLocalToUnit)) { -+ Result |= DISubprogram::DISPFlags::SPFlagLocalToUnit; -+ } -+ if (isSet(SPFlags & LLVMRustDISPFlags::SPFlagDefinition)) { -+ Result |= DISubprogram::DISPFlags::SPFlagDefinition; -+ } -+ if (isSet(SPFlags & LLVMRustDISPFlags::SPFlagOptimized)) { -+ Result |= DISubprogram::DISPFlags::SPFlagOptimized; -+ } -+ -+ return Result; -+} -+#endif -+ - extern "C" uint32_t LLVMRustDebugMetadataVersion() { - return DEBUG_METADATA_VERSION; - } -@@ -575,16 +640,26 @@ LLVMRustDIBuilderCreateSubroutineType(LLVMRustDIBuilderRef Builder, - extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction( - LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, - const char *LinkageName, LLVMMetadataRef File, unsigned LineNo, -- LLVMMetadataRef Ty, bool IsLocalToUnit, bool IsDefinition, -- unsigned ScopeLine, LLVMRustDIFlags Flags, bool IsOptimized, -- LLVMValueRef Fn, LLVMMetadataRef TParam, LLVMMetadataRef Decl) { -+ LLVMMetadataRef Ty, unsigned ScopeLine, LLVMRustDIFlags Flags, -+ LLVMRustDISPFlags SPFlags, LLVMValueRef Fn, LLVMMetadataRef TParam, -+ LLVMMetadataRef Decl) { - DITemplateParameterArray TParams = - DITemplateParameterArray(unwrap<MDTuple>(TParam)); -+#if LLVM_VERSION_GE(8, 0) -+ DISubprogram *Sub = Builder->createFunction( -+ unwrapDI<DIScope>(Scope), Name, LinkageName, unwrapDI<DIFile>(File), -+ LineNo, unwrapDI<DISubroutineType>(Ty), ScopeLine, fromRust(Flags), -+ fromRust(SPFlags), TParams, unwrapDIPtr<DISubprogram>(Decl)); -+#else -+ bool IsLocalToUnit = isSet(SPFlags & LLVMRustDISPFlags::SPFlagLocalToUnit); -+ bool IsDefinition = isSet(SPFlags & LLVMRustDISPFlags::SPFlagDefinition); -+ bool IsOptimized = isSet(SPFlags & LLVMRustDISPFlags::SPFlagOptimized); - DISubprogram *Sub = Builder->createFunction( - unwrapDI<DIScope>(Scope), Name, LinkageName, unwrapDI<DIFile>(File), - LineNo, unwrapDI<DISubroutineType>(Ty), IsLocalToUnit, IsDefinition, - ScopeLine, fromRust(Flags), IsOptimized, TParams, - unwrapDIPtr<DISubprogram>(Decl)); -+#endif - unwrap<Function>(Fn)->setSubprogram(Sub); - return wrap(Sub); - } -@@ -773,14 +848,14 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateEnumerationType( - LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, - LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, - uint32_t AlignInBits, LLVMMetadataRef Elements, -- LLVMMetadataRef ClassTy, bool IsFixed) { -+ LLVMMetadataRef ClassTy, bool IsScoped) { - #if LLVM_VERSION_GE(7, 0) - return wrap(Builder->createEnumerationType( - unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), LineNumber, - SizeInBits, AlignInBits, DINodeArray(unwrapDI<MDTuple>(Elements)), -- unwrapDI<DIType>(ClassTy), "", IsFixed)); -+ unwrapDI<DIType>(ClassTy), "", IsScoped)); - #else -- // Ignore IsFixed on older LLVM. -+ // Ignore IsScoped on older LLVM. - return wrap(Builder->createEnumerationType( - unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), LineNumber, - SizeInBits, AlignInBits, DINodeArray(unwrapDI<MDTuple>(Elements)), -@@ -920,7 +995,11 @@ extern "C" void LLVMRustUnpackOptimizationDiagnostic( - if (loc.isValid()) { - *Line = loc.getLine(); - *Column = loc.getColumn(); -+#if LLVM_VERSION_GE(8, 0) -+ FilenameOS << loc.getAbsolutePath(); -+#else - FilenameOS << loc.getFilename(); -+#endif - } - - RawRustStringOstream MessageOS(MessageOut); -diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs -index 98f07505f7..62cfef5a84 100644 ---- a/src/test/codegen/enum-debug-clike.rs -+++ b/src/test/codegen/enum-debug-clike.rs -@@ -8,8 +8,11 @@ - - // compile-flags: -g -C no-prepopulate-passes - -+// DIFlagFixedEnum was deprecated in 8.0, renamed to DIFlagEnumClass. -+// We match either for compatibility. -+ - // CHECK-LABEL: @main --// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_enumeration_type,{{.*}}name: "E",{{.*}}flags: DIFlagFixedEnum,{{.*}} -+// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_enumeration_type,{{.*}}name: "E",{{.*}}flags: {{(DIFlagEnumClass|DIFlagFixedEnum)}},{{.*}} - // CHECK: {{.*}}DIEnumerator{{.*}}name: "A",{{.*}}value: {{[0-9].*}} - // CHECK: {{.*}}DIEnumerator{{.*}}name: "B",{{.*}}value: {{[0-9].*}} - // CHECK: {{.*}}DIEnumerator{{.*}}name: "C",{{.*}}value: {{[0-9].*}} --- -2.19.2 - diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD index e855f770f..393f2ce98 100644 --- a/user/rust/APKBUILD +++ b/user/rust/APKBUILD @@ -3,9 +3,9 @@ # Contributor: Jeizsm <jeizsm@gmail.com> # Maintainer: Samuel Holland <samuel@sholland.org> pkgname=rust -pkgver=1.33.0 -_bootcargover=0.33.0 -_bootver=1.32.0 +pkgver=1.35.0 +_bootcargover=0.35.0 +_bootver=1.34.2 _llvmver=8 pkgrel=0 pkgdesc="The Rust Programming Language" @@ -51,16 +51,15 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch - 0008-test-enum-debug-Correct-minimum-LLVM-version.patch - 0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch - 0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch - 0011-Ignore-broken-and-non-applicable-tests.patch - 0012-Link-stage-2-tools-dynamically-to-libstd.patch - 0013-Move-debugger-scripts-to-usr-share-rust.patch - 0014-Add-foxkit-target-specs.patch + 0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch + 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch + 0010-Ignore-broken-and-non-applicable-tests.patch + 0011-Link-stage-2-tools-dynamically-to-libstd.patch + 0012-Move-debugger-scripts-to-usr-share-rust.patch + 0013-Add-foxkit-target-specs.patch 0030-libc-linkage.patch + 0031-typenum-pmmx.patch 0040-rls-atomics.patch - 0050-LLVM-8.0-compatibility.patch " builddir="$srcdir/rustc-$pkgver-src" _rlibdir="/usr/lib/rustlib/$CTARGET/lib" @@ -139,8 +138,6 @@ check() { src/test/pretty \ src/test/run-fail \ src/test/run-fail/pretty \ - src/test/run-fail-fulldeps \ - src/test/run-fail-fulldeps/pretty \ src/test/run-make \ src/test/run-make-fulldeps \ src/test/run-pass \ @@ -189,6 +186,7 @@ gdb() { install_if="$pkgname=$pkgver-r$pkgrel gdb" _mv "$pkgdir"/usr/bin/rust-gdb "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/bin/rust-gdbgui "$subpkgdir"/usr/bin _mv "$pkgdir"/usr/share/rust/gdb_*.py "$subpkgdir"/usr/share/rust || true } @@ -290,24 +288,23 @@ _mv() { mkdir -p "$dest" mv "$@" } -sha512sums="3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147 rustc-1.33.0-src.tar.xz -24caa7730dd41f61b97bb909d499f928cebab948e814b786e7d3836e92188ef27da48147532e063b3cec424e41a4374581274f21dc79bb95cf310f92c8609579 cargo-0.33.0-powerpc64-foxkit-linux-musl.tar.xz -c6d237d6daaae1e8a342691917bdc76fa6a59f5bd99a1df38baebf6d5c1ddc6f8460ac6e1db8168120accb9c5f90f652ea013b4d865c486c72e90244be753ebd rust-std-1.32.0-powerpc64-foxkit-linux-musl.tar.xz -8ff3bca961e146593f17e1581d20eaeae99768a4fac65258cf5ef80ef69b427a4980fd345b69b831028ca3e882d52d2ebd42a2eccab2c812da09e2bc28960ffe rustc-1.32.0-powerpc64-foxkit-linux-musl.tar.xz -a5e03a091b224b9cd3cd6d8a0b1ac70389f374c95ff09f55b01e739b3a98a8551d2208b2750137ebaacbb8628d1bb54a96aaeb938c961e4eb33a071594bce1dc 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch -bf387aad3d117e30621bd1914c3a713a710db0639413d57802c3a9bba49bf422dedf5e03b4a3073ec1efbd571cbcd10b6a0b3f98f2b019555581db5599b84f44 0002-Fix-LLVM-build.patch -b931204afaf3ac4c73f41c29586b0cebdb06867bf401717a473c2367ebf25be1a42827f7ccccea50c15006c744cb73fc7ea9627816d0a2b53421546a4e478436 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch -da362880f89a2df8223ed255d44803e9d7d8115666946fe3a4fe4a78030cd8ee40d6aabc1ceaab110e62e9a67af7631729348f71f2d514458ef0a60e6decff3b 0004-Require-static-native-libraries-when-linking-static-.patch -1bdc441cb068697c7f6984e16bdde28bdd17b7a2517c33b666851d55f1d987a76e4d7f034b7221538c663c0a33603d8ac1f60ffb167a4a5d01677a7b214ab21d 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch -03580acc8391a7b32fb2a7880c6a924838803e8ce4771e465f24b7a09263b9b0ca7ae4fd84770c262cf25734d49ab0f838d57104b181224b901e26f25dc9d2e9 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch -8e06768d0723aca0dd292942381255061b83505da89bc45c8c8c280dcaf3184e1b05b3744559fc3ed576f9a726bd593d892a71e8fd81bfebee62bb86d62f5531 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch -52138d4cc238ee44eafabfe281e3378298d510c9ffd9f123a5934f33b7e68b6fa262605c044bfce5943b18983d0145bdf33b9c168e030fee892247ef7ce4ec19 0008-test-enum-debug-Correct-minimum-LLVM-version.patch -34be92c7ce327f488b7a933e7232890615b3d07c08a09028d712c01aa53f89025b47aaaccdc5c2e1d52948eb967b40ea2c576b29b0102feadc7153d6d9984f79 0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch -47b025edccb7e2d7c42353c3a8665714a3b5661a7d832a9bd71bf9bff75ffe7c6e90a9d55b765dadec54ce29c2539fa894801487718ac1053bd4528b413a487d 0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch -c32c5d807ec23f5e88f47f83220a117ff3f048cec4731e50d0cae082c971ea03993a6e4f95225046a0b06b406608ee97fb85671ad8f86e5da4970bba210388d6 0011-Ignore-broken-and-non-applicable-tests.patch -6b089c21b3b756d5d8b3198f4a914d8a2f90216ce25d491f7caeb0a637d0f729e9e5184dfa3e07b50570df5791576d1aa4bf2a1f33183c67bc2ba6ba36c0752e 0012-Link-stage-2-tools-dynamically-to-libstd.patch -d9568a3e21b60831b193c4a9554756d0be77d0c63d06d6c3ff1c7fd35822aaa3b2e2cf8acd29fe07eb698ebf48673245e052a6ddfa4d39bb687eea8c4c236e50 0013-Move-debugger-scripts-to-usr-share-rust.patch -f1269241ccddf4594752b97e6856dad98ca987d2491b1bd95f6123352eec52f3acb3f17dae1c2a42be55e25db4a7e0d6bb1fb2b468cc139ad14559e0753a4c87 0014-Add-foxkit-target-specs.patch -7197503a3bf1cdd6cb5ff3350add2682cc64f7d33f7a4b270c53321401e439de5c24ddb2f7c5a76bb3488c8b766237f674fedaa9202c480f53595d7837214f0f 0030-libc-linkage.patch -41ab9d6f361ee2fba267c9836c1a382dc86101d1bfb59cd942be8e8fc526ad65d845c9395cba7f760808d345d107f32e75af9057d67c450b8fbdd8a73636fb2e 0040-rls-atomics.patch -ba39acb52fb65eb203ad08735b5d1c9150e49f9d0abd5e87a849d40c22e5847043521154cbb529fb3cc39005b309cafda5422fbd5a3598dac519db4456f6c571 0050-LLVM-8.0-compatibility.patch" +sha512sums="477c10b780bd54776be7ecbda0ab970416253e4a87c3e701825a7d07bcbcd91601b8e61129c5d04d4259e89c2e81e87cdbdee853375a8de5c9cf8372be2c9129 rustc-1.35.0-src.tar.xz +042b4c8a45cc803a202517dd376a2eb2daca50e1da43e96c32b07270afbdce4daa7091c3f11479f908e92d1031c1503a27ac37c007c1fa24743a82abcf765a29 cargo-0.35.0-powerpc-foxkit-linux-musl.tar.xz +a25de7843a512b79d214066cb2f01c4e414ae17c053314c103261e3ac805700dcb2ebc6aa28801cb74dcb6211cc57181d3c266d2b8988e2d8835df4b409929bb rust-std-1.34.2-powerpc-foxkit-linux-musl.tar.xz +9988037ebe219a30faf5740e479c34b464feabd37c192a2a37330f04d67dfed8f8a26439cdf8de4e255fa4fb17959bee7e78d5f6de040522131fdc70ccce8af1 rustc-1.34.2-powerpc-foxkit-linux-musl.tar.xz +dbc74b875e9fab4fdcb815dea4ef855a59361215c291ea11013587340f9e3cabece4b6cc94a0e118e862b47f9ee27447e385c2c524bcb8847a3d775ae2f76fb3 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch +456c247b50936a2594024b5cec493e8ddbc3159196ce2cc8ae5134f1c3ac2f0928ae3ffe4f3f4154fcc2bf596846b6b3b39005ad76d51076796a9d3988f1df62 0002-Fix-LLVM-build.patch +d20a03a06315c114c61eedfd1b536169d64bd428beb352a4d04abb0358f0b1a75a1c1108e2429c80f715536bd67ef16597f47bd61e75f0e1ddd9681b43197763 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +a6a413a0e2435697fb66b6a11e4d9da8365b2c2d51d10eccbcac32fba09579199dc8bcd13fff1fd74212d1724292db5607827b2c546d2c06122e6f1fb70d8c16 0004-Require-static-native-libraries-when-linking-static-.patch +2bf5696f493c8b11da77f27348498338ca0f094f69f357077d5507b1f96b6066fa86b711c5c30737d82f217a7eb1afc8a4ce9d25f0491830a800a034607e0c6a 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +fedd9f54ae8d0780091dadac2364595abfc7ef13ac21a3489b91de5ad29efa477179f42ef59cb9a2e0264e15f88164f72843fc176180cd72e54052f3b305703c 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +19e17358f738c982bb7a393e0b12173de8b79f905a677fdc5c183d54219b58a1618607e993cfe12d3eb69a2cb25a0b7b52313eb8e60a91ec9d37bb5b0c140b43 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +0c943ddb3fbacfa47adfa43e8ec41137d0e9c719e59af3ff1e3e1a2a6576c8eeed2b1db77f3f6f252eea273f9f1320c573ecde22e56800dbffac3e2ef18862f3 0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch +22429c5dbbfda30cc2f08ed5591124fc8346d63d6ef200607be3d051e2524fdaf8a32264bef4e99f9186b22c05c805bf82e7c6d6d814a602dcefd9d4d8d708fd 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +ec851207a03d4b3bf2711e2db677170f520217f19de9f4f9817e62b5f9d10573eb468ced5e13c540bb5cda8c7006b259a0a0241cfa70e1f6f08386e656c86b79 0010-Ignore-broken-and-non-applicable-tests.patch +2a459b55386a4e3419b22efe1c5b5b37d75e2d1a11db4670ee5217ad5404df055eb6510378c74f5ff5662e940155c58d094f41b5738021f608c807f94a498e94 0011-Link-stage-2-tools-dynamically-to-libstd.patch +9e698d01cdb535beb364827d2a0bc87b543db65973c88a7fa64e8e19c671d1cf4cc4c8756018bff261a7581df102c8180599c434b347463a63c5ab2f575ad4c2 0012-Move-debugger-scripts-to-usr-share-rust.patch +a403a032180ee7d3c0d034d97b8de175426d8dd3368ebfcab5ad9c7202f9a0ca0197a72adc1eff13f422ecaed9c0a7e4cd22daf85061159ddaa12c335fd00914 0013-Add-foxkit-target-specs.patch +6c3aaa27adbe361cb354c9a7139b9da949f4acba81af6107e5972fa5c32fa47a972b5ad4567b9b54f4383650dbb3a3c590dfe6f23a5af16d7ff4ad3fb334e997 0030-libc-linkage.patch +0cb12e9165d198c1e04b258454dbaf5459e192ad24d64c9fa132ebe0f1bcd5da3550eae8dfdaa792fa809b505af62964ecf0219dc4373420ee8ad3e111539a09 0031-typenum-pmmx.patch +ab35bacf45ef5e46be110a8d27867fd4d5deb23cd5cbe8dc7f1da2177469945f9254f2a7915ee4fc430468a4421623429f0a01eb9eba14e047384efe3d3ec152 0040-rls-atomics.patch" diff --git a/user/sane/APKBUILD b/user/sane/APKBUILD index 1a5e2fc16..941402502 100644 --- a/user/sane/APKBUILD +++ b/user/sane/APKBUILD @@ -4,7 +4,7 @@ pkgname=sane _pkgname=sane-backends pkgver=1.0.27 -pkgrel=4 +pkgrel=5 pkgdesc="Scanner access library" url="http://www.sane-project.org/" arch="all" @@ -35,7 +35,8 @@ for _backend in $_backends; do subpackages="$subpackages $pkgname-backend-$_backend:_backend" done subpackages="$pkgname-doc $pkgname-dev $subpackages $pkgname-utils saned - $pkgname-udev::noarch $_pkgname::noarch" + saned-openrc:openrc:noarch $pkgname-udev::noarch $_pkgname::noarch + $pkgname-lang" source="http://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz saned.initd include.patch @@ -81,6 +82,12 @@ saned() { mkdir -p "$subpkgdir"/etc/sane.d "$subpkgdir"/usr mv "$pkgdir"/etc/sane.d/saned.conf "$subpkgdir"/etc/sane.d mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ +} + +openrc() { + pkgdesc="Network scanner server (OpenRC runscripts)" + depends="saned" + install_if="saned=$pkgver-r$pkgrel openrc" install -Dm755 "$srcdir"/saned.initd "$subpkgdir"/etc/init.d/saned } @@ -101,7 +108,7 @@ udev() { backends() { local _backend; pkgdesc="$pkgdesc (metapackage)" - depends="$pkgname-utils $pkgname-saned" + depends="$pkgname-utils saned" for _backend in $_backends; do [ "$_backend" = "test" ] && continue depends="$depends $pkgname-backend-$_backend" diff --git a/user/sddm/APKBUILD b/user/sddm/APKBUILD index 94f03db23..6496110b7 100644 --- a/user/sddm/APKBUILD +++ b/user/sddm/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sddm pkgver=0.18.1 -pkgrel=0 +pkgrel=1 pkgdesc="Simple Desktop Display Manager" url="https://github.com/sddm/sddm/" arch="all" @@ -11,7 +11,7 @@ depends="consolekit2" makedepends="cmake extra-cmake-modules qt5-qtbase-dev libxcb-dev upower-dev consolekit2-dev linux-pam-dev qt5-qtdeclarative-dev qt5-qttools-dev utmps-dev" -subpackages="$pkgname-lang $pkgname-xdm::noarch" +subpackages="$pkgname-lang $pkgname-openrc" install="sddm.post-install" langdir="/usr/share/sddm/translations" pkgusers="sddm" @@ -19,8 +19,9 @@ pkggroups="sddm" source="https://github.com/sddm/sddm/releases/download/v$pkgver/sddm-$pkgver.tar.xz ck2-support.patch pam-path-fix.patch + sddm.initd utmpx.patch - xdm.confd" + " build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -46,16 +47,16 @@ check() { package() { make DESTDIR="$pkgdir" install + install -D -m755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm } -xdm() { - pkgdesc="Package to use SDDM as the system X display manager" - depends="sddm=$pkgver-r$pkgrel" - install -D -m644 "$srcdir"/xdm.confd "$subpkgdir"/etc/conf.d/xdm +openrc() { + default_openrc + depends="sddm xorg-server" } sha512sums="ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60 sddm-0.18.1.tar.xz 075e3baf24606cdea620737dbc00f7cf5c487ab6d88e37b23a581afcfbcf872c379753c89c80ad5c90c28fa27d3e5c5df64d4fd30764fdbfc0586e0f26666fe1 ck2-support.patch f0b4eb7ef0581701157f9decc637629156f36f6711b9a4bae517f94d7a1df614c81bbd891c918f07ac50e2a3d1519c43ccb9eefd80282c95dd79eca0e8d90904 pam-path-fix.patch -c42d8b3edbc0ae7e3d5ea7bb0080c5c50e0569f0ea947e1ba17bc794c8c0d67a214e62aad7eba0a51791c44b29a3017692bbe738250c63cb2219891bb1313422 utmpx.patch -5a03b3211e9d84ee762523631859a26b869aee2189f6845dc780c7a1e60a6658e2240e9ef9be05858708d2552ae77b594509dabe49794538f88d2ad6578d1fdf xdm.confd" +10cac48b821ff7ad39ece4cbc45a8e814d00251b0f8d02f9e42888ad97f465438320f078663be98c5b39630a0bbb26f4f0d76b44574c87a76b4871872add8b9f sddm.initd +c42d8b3edbc0ae7e3d5ea7bb0080c5c50e0569f0ea947e1ba17bc794c8c0d67a214e62aad7eba0a51791c44b29a3017692bbe738250c63cb2219891bb1313422 utmpx.patch" diff --git a/user/sddm/sddm.initd b/user/sddm/sddm.initd new file mode 100644 index 000000000..cf5c1af79 --- /dev/null +++ b/user/sddm/sddm.initd @@ -0,0 +1,17 @@ +#!/sbin/openrc-run + +depends() { + needs localmount + after bootmisc consolefont modules netmount keymaps + + use consolekit dbus +} + +description="Simple Desktop Display Manager" +command="/usr/bin/sddm" +command_args="${sddm_opts}" +start_stop_daemon_args="-m --background" +pidfile="/var/run/sddm.pid" + +# uses the openrc templates for start()/stop() + diff --git a/user/sddm/xdm.confd b/user/sddm/xdm.confd deleted file mode 100644 index 9a6cd65da..000000000 --- a/user/sddm/xdm.confd +++ /dev/null @@ -1 +0,0 @@ -DISPLAYMANAGER="sddm" diff --git a/user/slang/APKBUILD b/user/slang/APKBUILD new file mode 100644 index 000000000..12929ac2b --- /dev/null +++ b/user/slang/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=slang +pkgver=2.3.2 +pkgrel=0 +pkgdesc="Library for display and input management" +url="http://www.jedsoft.org/slang/" +arch="all" +license="GPL-2.0+ AND NTP" +depends="" +makedepends="pcre-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://www.jedsoft.org/releases/slang/slang-$pkgver.tar.bz2" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make -j1 +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" -j1 install +} + +sha512sums="35cdfe8af66dac62ee89cca60fa87ddbd02cae63b30d5c0e3786e77b1893c45697ace4ac7e82d9832b8a9ac342560bc35997674846c5022341481013e76f74b5 slang-2.3.2.tar.bz2" diff --git a/user/spectacle/APKBUILD b/user/spectacle/APKBUILD index e00412349..738ca85f0 100644 --- a/user/spectacle/APKBUILD +++ b/user/spectacle/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=spectacle -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Application for capturing desktop screenshots" url="https://www.kde.org/applications/graphics/spectacle/" @@ -44,5 +44,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c855fcd3cef0846fc11c8f64a2d975dbc8a93a118eb16e17cbfa5ee322ea22104a22652db3547fc53d02061371516fa0caf87557fee4975ac6c08de12db6e1cd spectacle-19.04.0.tar.xz +sha512sums="33beadaa47b0f870727a0a70eea074435c98aca8858c791b5a34bbf82b91a1f0c4eb200a98f659feca6c80802af6190235d9ce2a302cf9ea0c1fd5dc60ea86ea spectacle-19.04.1.tar.xz 781e1611026a45232fa117b90a1520bed380e512ae2e0690785a960f897342284ce0c553d8fb22caf10fd34c3823ee7dacb770815c871808345c1bb05126b74f qt5.9.patch" diff --git a/user/step/APKBUILD b/user/step/APKBUILD index 56728187e..64bf6c909 100644 --- a/user/step/APKBUILD +++ b/user/step/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=step -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Interactive physics simulation" url="https://www.kde.org/applications/education/step/" @@ -42,4 +42,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a4793beaa2d334cc8a03993e575b71d15381af27b2dd284a73ef49f37d1fa1537314402cfd394d11b2256b37224244cc0c361b969bf95b109ee9344e66bd1bab step-19.04.0.tar.xz" +sha512sums="d3744c0c5cee20cae0b3f51ce68fcea5ae74091f55a02acea5009f1f70902f5666fbb67f20db1b17d1bbaeee6d6d8cdeea4c2d5a79239c3297febb3b7bc3fd7d step-19.04.1.tar.xz" diff --git a/user/thunar-volman/APKBUILD b/user/thunar-volman/APKBUILD index 38c088160..b2f0fa449 100644 --- a/user/thunar-volman/APKBUILD +++ b/user/thunar-volman/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=thunar-volman -pkgver=0.9.1 +pkgver=0.9.2 pkgrel=0 pkgdesc="Volume manager for Thunar" url="https://xfce.org" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="73d9884dc667e4f8554d2b06f7116bbe25fa4e113300f0cd32bc2229c22001cc709333d5ac5618f7d5c8a35e58fb7a61e48ecafa634c7e239e9af329dc4149bc thunar-volman-0.9.1.tar.bz2" +sha512sums="808f3dfdf105911275b0c96705604bd1575cd9c5bddaaae96583949c995a3bc84a71ce154c05ed3ce395d4b4d78e4d67770f79b3226fd4a35c509f5e612de72f thunar-volman-0.9.2.tar.bz2" diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD index 2cc4590c0..0f92f1070 100644 --- a/user/thunar/APKBUILD +++ b/user/thunar/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=thunar -pkgver=1.8.4 +pkgver=1.8.6 pkgrel=0 pkgdesc="File manager for the XFCE desktop environment" url="https://xfce.org" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="886c0789aa19c2ab2ef34892c4afd09c857585b4796140ea3c84ccb9e1e1ca2935cf7e3a760a6ca8d8c68a5866663412500b4779878c7f48c9365c3ac7bf0eec Thunar-1.8.4.tar.bz2" +sha512sums="086dc139627d8f11341b2db91358ef1831d2b8494d34abac49355dbaf850a21c30f979294f9adf2bc8548e5f817a4e165803a3db74cd989cd3867a4e228d74db Thunar-1.8.6.tar.bz2" diff --git a/user/tigervnc/APKBUILD b/user/tigervnc/APKBUILD index 1bbfcb8dc..3acea2e2d 100644 --- a/user/tigervnc/APKBUILD +++ b/user/tigervnc/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=tigervnc pkgver=1.9.0 -pkgrel=3 +pkgrel=4 pkgdesc="High-performance, platform-neutral VNC remote desktop application" url="https://tigervnc.org/" arch="all" @@ -19,6 +19,7 @@ source="tigervnc-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v$ 0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch null-termination.patch initialise-var.patch + ensure-throw.patch " build() { @@ -47,4 +48,5 @@ sha512sums="333910f567e6b5e4a5a22d898b2d4c3f4b834cb4cc8fc13ff55d31401894c0d5122a 189a51a542b368e4db22174d09f5b656848e94577bbf93b2388f54529f1c7c2d32e5b5283551b3fb067ba21f6464f60989e22d4cd11ed3d87d5c931301555b49 endian.patch f95328f6b669e6608b9971de3db25d5eb26a733fbe32f13291c309ed57eacba6c86461a516c3b8cdc12ff7482ee0249a45189864d473d52df81df0a3541d95b9 0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch 82566734e5288e899048b918ce47f5abc3b94196e88d54fa0b0ef68c20d1fcd9d5854f36a0043d28f81dc6213c9ee8cf55fb187aeeb8add5fc31765f6a5b23bb null-termination.patch -a7fb612d7e3625b66db66ffc7e3f28f2e47f79b858ff1fd9e403576ef2b8ff7bc8cf83a6f67439de6242e4a11a0144119d040f8f9e917e17a8af512b47067360 initialise-var.patch" +a7fb612d7e3625b66db66ffc7e3f28f2e47f79b858ff1fd9e403576ef2b8ff7bc8cf83a6f67439de6242e4a11a0144119d040f8f9e917e17a8af512b47067360 initialise-var.patch +4656a617dcb2bd28b653932fa034b7d46c49a08be4ba90501a9d1ddfad2130209664abf7bf5227f0afc926a568eb83e8e5f25e73887bf2561b2077fb1dab84c9 ensure-throw.patch" diff --git a/user/tigervnc/ensure-throw.patch b/user/tigervnc/ensure-throw.patch new file mode 100644 index 000000000..da873fe21 --- /dev/null +++ b/user/tigervnc/ensure-throw.patch @@ -0,0 +1,59 @@ +From 78bdd1700c4e42b492286a2af25bea0825848f99 Mon Sep 17 00:00:00 2001 +From: Pierre Ossman <ossman@cendio.se> +Date: Tue, 26 Mar 2019 11:10:28 +0100 +Subject: [PATCH] Add missing throws for exception + +It is not enough to create an exception object, you need to throw +it as well. +--- + common/rfb/CSecurityTLS.cxx | 10 +++++----- + win/rfb_win32/Registry.cxx | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/common/rfb/CSecurityTLS.cxx b/common/rfb/CSecurityTLS.cxx +index c6d1e3103..aa1910909 100644 +--- a/common/rfb/CSecurityTLS.cxx ++++ b/common/rfb/CSecurityTLS.cxx +@@ -391,7 +391,7 @@ void CSecurityTLS::checkSession() + "authority:\n\n%s\n\nDo you want to save it and " + "continue?\n ", info.data); + if (len < 0) +- AuthFailureException("certificate decoding error"); ++ throw AuthFailureException("certificate decoding error"); + + vlog.debug("%s", info.data); + +@@ -417,16 +417,16 @@ void CSecurityTLS::checkSession() + + if (gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, NULL, &out_size) + == GNUTLS_E_SHORT_MEMORY_BUFFER) +- AuthFailureException("Out of memory"); ++ throw AuthFailureException("Out of memory"); + + // Save cert + out_buf = new char[out_size]; + if (out_buf == NULL) +- AuthFailureException("Out of memory"); ++ throw AuthFailureException("Out of memory"); + + if (gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, out_buf, &out_size) < 0) +- AuthFailureException("certificate issuer unknown, and certificate " +- "export failed"); ++ throw AuthFailureException("certificate issuer unknown, and certificate " ++ "export failed"); + + char *homeDir = NULL; + if (getvnchomedir(&homeDir) == -1) +diff --git a/win/rfb_win32/Registry.cxx b/win/rfb_win32/Registry.cxx +index 963a36a29..9cd501842 100644 +--- a/win/rfb_win32/Registry.cxx ++++ b/win/rfb_win32/Registry.cxx +@@ -254,7 +254,7 @@ TCHAR* RegKey::getRepresentation(const TCHAR* valname) const { + TCharArray result(required); + length = ExpandEnvironmentStrings(str.buf, result.buf, required); + if (required<length) +- rdr::Exception("unable to expand environment strings"); ++ throw rdr::Exception("unable to expand environment strings"); + return result.takeBuf(); + } else { + return tstrDup(_T("")); diff --git a/user/tumbler/APKBUILD b/user/tumbler/APKBUILD index fbf615688..5c400ece4 100644 --- a/user/tumbler/APKBUILD +++ b/user/tumbler/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=tumbler -pkgver=0.2.3 -pkgrel=1 +pkgver=0.2.4 +pkgrel=0 pkgdesc="Thumbnail generation service for the XFCE desktop environment" url="https://xfce.org" arch="all" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="aefe284c3baa1d8eaf79c9bdb3cfc044ee6a1f36be34efd67541e6310aa275b5235b29f68483b7b7b5a8df699a8b3db8dc75569ec2b90253756fd6285a2e3816 tumbler-0.2.3.tar.bz2" +sha512sums="cf1d9499ff293086176a0e5055181e5527d9ae39a7786d9fe15a47202e1b02218981c072229e736a7057e85bf0c6ceff34c1f55a12396b3df0b3ab9fda822d02 tumbler-0.2.4.tar.bz2" diff --git a/user/umbrello/APKBUILD b/user/umbrello/APKBUILD index 5c1608ba5..6b2e8cfb0 100644 --- a/user/umbrello/APKBUILD +++ b/user/umbrello/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=umbrello -pkgver=19.04.0 +pkgver=19.04.1 pkgrel=0 pkgdesc="Software modelling tool and code generator" url="https://umbrello.kde.org/" @@ -44,5 +44,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6a7ca159ec7860823720f46c8b3fdf1170358ca41de79219612bb7d1c5431a4b81508fbd7a38d7ea0913b2b04ea0656024f8a85d217a94c684c135f4254e52fa umbrello-19.04.0.tar.xz +sha512sums="5efac3aa2a2ac6d135562503da7923c530cf74816f1c2fc4c580bf7f8b3f4cc0a50b76f1f64d3393e131ed47c5ab3fcef44f558cb056f83d0b75b38d5d5865c8 umbrello-19.04.1.tar.xz fcbe03a49d5420bf17383e5e6d4bac4377c1abfcafacea20ac37409457471537067efe3236647fb3570abfa410a4a3870b1638bb1ef880a24e6f60e2b189a562 hax.patch" diff --git a/user/unifont/APKBUILD b/user/unifont/APKBUILD index 70182158c..67e99c144 100644 --- a/user/unifont/APKBUILD +++ b/user/unifont/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Breno Leitao <breno.leitao@gmail.com> # Maintainer: pkgname=unifont -pkgver=12.0.01 +pkgver=12.1.02 pkgrel=0 pkgdesc="GNU font package with all Unicode 11 characters" url="http://unifoundry.com/unifont.html" @@ -24,4 +24,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e44678acbf696d0529f3c2fe7fe796d3d6908a54b8eaa3f7cd5717d5bebc2698aed7f4e5cde4a954330d8bcaac6a5886839afb854d271ac3a03b460f774215c1 unifont-12.0.01.tar.gz" +sha512sums="031336c5811957f211e442c9d3a3920cc3149f80681802a0f9e2a9c905ccce8f0434bf37f6000d30ff568aa5020d4017034906be2b38ead7ebb35b7dc8d47299 unifont-12.1.02.tar.gz" diff --git a/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch index 5272406ec..5d7dbe29c 100644 --- a/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch +++ b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch @@ -1,35 +1,35 @@ -From a5224eb31a4c8a680587e74cc402e5ed92ead216 Mon Sep 17 00:00:00 2001 +From 1278e5015f6925d86274d6363c4cedf2ce47bfcb Mon Sep 17 00:00:00 2001 From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Thu, 27 Sep 2018 15:42:40 -0500 -Subject: [PATCH] Ensure ELFv2 is supported on PPC64 +Date: Tue, 14 May 2019 14:07:50 +0200 +Subject: [PATCH] [PATCH] Ensure ELFv2 is supported on PPC64 --- - coregrind/m_dispatch/dispatch-ppc64be-linux.S | 107 ++++++++++++++++-- - coregrind/m_initimg/initimg-linux.c | 5 +- + coregrind/m_dispatch/dispatch-ppc64be-linux.S | 101 ++++++++++++++++-- + coregrind/m_initimg/initimg-linux.c | 3 +- coregrind/m_libcsetjmp.c | 7 +- coregrind/m_machine.c | 3 +- - coregrind/m_main.c | 19 ++-- + coregrind/m_main.c | 21 ++-- coregrind/m_sigframe/sigframe-ppc64-linux.c | 3 +- coregrind/m_signals.c | 11 +- - coregrind/m_stacktrace.c | 12 +- + coregrind/m_stacktrace.c | 12 ++- coregrind/m_syscall.c | 9 +- coregrind/m_syswrap/syscall-ppc64be-linux.S | 19 +++- coregrind/m_syswrap/syswrap-ppc64-linux.c | 9 +- coregrind/m_trampoline.S | 4 +- - coregrind/m_translate.c | 23 ++-- + coregrind/m_translate.c | 26 ++--- coregrind/m_ume/elf.c | 8 +- - coregrind/pub_core_machine.h | 12 +- + coregrind/pub_core_machine.h | 12 ++- coregrind/vg_preloaded.c | 3 +- include/valgrind.h | 16 ++- memcheck/mc_leakcheck.c | 2 +- memcheck/mc_machine.c | 3 +- - 19 files changed, 206 insertions(+), 69 deletions(-) + 19 files changed, 205 insertions(+), 67 deletions(-) diff --git a/coregrind/m_dispatch/dispatch-ppc64be-linux.S b/coregrind/m_dispatch/dispatch-ppc64be-linux.S -index 91bd3b236..eb8026c7c 100644 +index c5592d4..292b236 100644 --- a/coregrind/m_dispatch/dispatch-ppc64be-linux.S +++ b/coregrind/m_dispatch/dispatch-ppc64be-linux.S -@@ -75,14 +75,26 @@ void VG_(disp_run_translations)( UWord* two_words, +@@ -88,14 +88,26 @@ void VG_(disp_run_translations)( UWord* two_words, .section ".text" .align 2 .globl VG_(disp_run_translations) @@ -56,7 +56,7 @@ index 91bd3b236..eb8026c7c 100644 /* r3 holds two_words */ /* r4 holds guest_state */ /* r5 holds host_addr */ -@@ -231,6 +243,11 @@ VG_(disp_run_translations): +@@ -244,6 +256,11 @@ VG_(disp_run_translations): /* Set up the guest state ptr */ mr 31,4 /* r31 (generated code gsp) = r4 */ @@ -68,7 +68,7 @@ index 91bd3b236..eb8026c7c 100644 /* and jump into the code cache. Chained translations in the code cache run, until for whatever reason, they can't -@@ -385,7 +402,9 @@ VG_(disp_run_translations): +@@ -398,7 +415,9 @@ VG_(disp_run_translations): mtlr 0 addi 1,1,624 /* stack_size */ blr @@ -79,7 +79,7 @@ index 91bd3b236..eb8026c7c 100644 /*----------------------------------------------------*/ /*--- Continuation points ---*/ -@@ -395,15 +414,25 @@ VG_(disp_run_translations): +@@ -408,14 +427,24 @@ VG_(disp_run_translations): .section ".text" .align 2 .globl VG_(disp_cp_chain_me_to_slowEP) @@ -97,17 +97,15 @@ index 91bd3b236..eb8026c7c 100644 .type .VG_(disp_cp_chain_me_to_slowEP),@function .globl .VG_(disp_cp_chain_me_to_slowEP) .VG_(disp_cp_chain_me_to_slowEP): -- /* We got called. The return address indicates +#if _CALL_ELF == 2 +0: addis 2, 12,.TOC.-0b@ha + addi 2,2,.TOC.-0b@l + .localentry VG_(disp_cp_chain_me_to_slowEP), .-VG_(disp_cp_chain_me_to_slowEP) +#endif -+ /* We got called. The return address indicates + /* We got called. The return address indicates where the patching needs to happen. Collect the return address and, exit back to C land, - handing the caller the pair (Chain_me_S, RA) */ -@@ -415,20 +444,33 @@ VG_(disp_cp_chain_me_to_slowEP): +@@ -428,20 +457,33 @@ VG_(disp_cp_chain_me_to_slowEP): */ subi 7,7,20+4+4 b .postamble @@ -143,7 +141,7 @@ index 91bd3b236..eb8026c7c 100644 where the patching needs to happen. Collect the return address and, exit back to C land, handing the caller the pair (Chain_me_S, RA) */ -@@ -440,20 +482,33 @@ VG_(disp_cp_chain_me_to_fastEP): +@@ -453,19 +495,32 @@ VG_(disp_cp_chain_me_to_fastEP): */ subi 7,7,20+4+4 b .postamble @@ -155,12 +153,11 @@ index 91bd3b236..eb8026c7c 100644 .section ".text" .align 2 .globl VG_(disp_cp_xindir) -- .section ".opd","aw" +#if _CALL_ELF == 2 + .type VG_(disp_cp_xindir),@function +VG_(disp_cp_xindir): +#else -+ .section ".opd","aw" + .section ".opd","aw" .align 3 VG_(disp_cp_xindir): .quad .VG_(disp_cp_xindir),.TOC.@tocbase,0 @@ -169,27 +166,23 @@ index 91bd3b236..eb8026c7c 100644 .type .VG_(disp_cp_xindir),@function .globl .VG_(disp_cp_xindir) .VG_(disp_cp_xindir): -- /* Where are we going? */ +#if _CALL_ELF == 2 +0: addis 2, 12,.TOC.-0b@ha + addi 2,2,.TOC.-0b@l + .localentry VG_(disp_cp_xindir), .-VG_(disp_cp_xindir) +#endif -+ /* Where are we going? */ - ld 3,OFFSET_ppc64_CIA(31) - - /* stats only */ -@@ -479,6 +534,9 @@ VG_(disp_cp_xindir): - /* Found a match. Jump to .host. */ - mtctr 7 - bctr + /* Where are we going? */ + ld 20, OFFSET_ppc64_CIA(31) + +@@ -584,44 +639,72 @@ VG_(disp_cp_xindir): + li 7,0 + b .postamble + /*NOTREACHED*/ +#if _CALL_ELF == 2 + .size VG_(disp_cp_xindir),.-VG_(disp_cp_xindir) +#endif - .fast_lookup_failed: - /* stats only */ -@@ -496,39 +554,64 @@ VG_(disp_cp_xindir): + /* ------ Assisted jump ------ */ .section ".text" .align 2 .globl VG_(disp_cp_xassisted) @@ -260,7 +253,7 @@ index 91bd3b236..eb8026c7c 100644 /* Let the linker know we don't need an executable stack */ MARK_STACK_NO_EXEC diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c -index 61cc458bc..19df79705 100644 +index 8a7f0d0..6891641 100644 --- a/coregrind/m_initimg/initimg-linux.c +++ b/coregrind/m_initimg/initimg-linux.c @@ -1117,7 +1117,8 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii ) @@ -274,7 +267,7 @@ index 61cc458bc..19df79705 100644 #endif diff --git a/coregrind/m_libcsetjmp.c b/coregrind/m_libcsetjmp.c -index c73180640..ed96f4739 100644 +index 85ffc12..51273a0 100644 --- a/coregrind/m_libcsetjmp.c +++ b/coregrind/m_libcsetjmp.c @@ -35,6 +35,7 @@ @@ -306,10 +299,10 @@ index c73180640..ed96f4739 100644 ".section \".toc\",\"aw\"" "\n" diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c -index 31b0e1b6b..eb3e6a4e1 100644 +index df842aa..de37070 100644 --- a/coregrind/m_machine.c +++ b/coregrind/m_machine.c -@@ -2035,7 +2035,8 @@ void* VG_(fnptr_to_fnentry)( void* f ) +@@ -2073,7 +2073,8 @@ void* VG_(fnptr_to_fnentry)( void* f ) || defined(VGP_ppc32_linux) || defined(VGP_ppc64le_linux) \ || defined(VGP_s390x_linux) || defined(VGP_mips32_linux) \ || defined(VGP_mips64_linux) || defined(VGP_arm64_linux) \ @@ -320,33 +313,38 @@ index 31b0e1b6b..eb3e6a4e1 100644 # elif defined(VGP_ppc64be_linux) /* ppc64-linux uses the AIX scheme, in which f is a pointer to a diff --git a/coregrind/m_main.c b/coregrind/m_main.c -index bf4a71284..102235dca 100644 +index 21df679..855c933 100644 --- a/coregrind/m_main.c +++ b/coregrind/m_main.c -@@ -2274,7 +2274,7 @@ static void final_tidyup(ThreadId tid) +@@ -2303,7 +2303,7 @@ static void final_tidyup(ThreadId tid) return; /* won't do it */ } -# if defined(VGP_ppc64be_linux) +# if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC) - Addr r2 = VG_(get_tocptr)(freeres_wrapper); + Addr r2 = VG_(get_tocptr)(VG_(current_DiEpoch)(), + freeres_wrapper); if (r2 == 0) { - VG_(message)(Vg_UserMsg, -@@ -2306,9 +2306,11 @@ static void final_tidyup(ThreadId tid) - directly. However, we need to set R2 (the toc pointer) +@@ -2336,13 +2336,15 @@ static void final_tidyup(ThreadId tid) appropriately. */ VG_(set_IP)(tid, freeres_wrapper); + -# if defined(VGP_ppc64be_linux) +# if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ + && defined(VG_PLAT_USES_PPCTOC) VG_(threads)[tid].arch.vex.guest_GPR2 = r2; + VG_TRACK(post_reg_write, Vg_CoreClientReq, tid, + offsetof(VexGuestPPC64State, guest_GPR2), + sizeof(VG_(threads)[tid].arch.vex.guest_GPR2)); -# elif defined(VGP_ppc64le_linux) +- /* setting GPR2 but not really needed, GPR12 is needed */ +# elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ + && !defined(VG_PLAT_USES_PPCTOC) - /* setting GPR2 but not really needed, GPR12 is needed */ ++ /* setting GPR2 but not really needed, GPR12 is needed */ VG_(threads)[tid].arch.vex.guest_GPR2 = freeres_wrapper; - VG_(threads)[tid].arch.vex.guest_GPR12 = freeres_wrapper; -@@ -2610,9 +2612,10 @@ asm("\n" + VG_TRACK(post_reg_write, Vg_CoreClientReq, tid, + offsetof(VexGuestPPC64State, guest_GPR2), +@@ -2657,9 +2659,10 @@ asm("\n" "\ttrap\n" ".previous\n" ); @@ -359,7 +357,7 @@ index bf4a71284..102235dca 100644 So we must have one, and that is what goes into the .opd section. */ "\t.align 2\n" "\t.global _start\n" -@@ -2656,9 +2659,9 @@ asm("\n" +@@ -2703,9 +2706,9 @@ asm("\n" "\tnop\n" "\ttrap\n" ); @@ -373,7 +371,7 @@ index bf4a71284..102235dca 100644 asm("\n" "\t.align 2\n" diff --git a/coregrind/m_sigframe/sigframe-ppc64-linux.c b/coregrind/m_sigframe/sigframe-ppc64-linux.c -index b16606c22..cc657838f 100644 +index b16606c..cc65783 100644 --- a/coregrind/m_sigframe/sigframe-ppc64-linux.c +++ b/coregrind/m_sigframe/sigframe-ppc64-linux.c @@ -263,7 +263,8 @@ void VG_(sigframe_create)( ThreadId tid, @@ -387,10 +385,10 @@ index b16606c22..cc657838f 100644 tst->arch.vex.guest_CIA = (Addr) ((ULong*)handler)[0]; #else diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c -index e572f17cc..52d939057 100644 +index 7591eb3..51fce79 100644 --- a/coregrind/m_signals.c +++ b/coregrind/m_signals.c -@@ -889,7 +889,9 @@ extern void my_sigreturn(void); +@@ -897,7 +897,9 @@ extern void my_sigreturn(void); " sc\n" \ ".previous\n" @@ -401,7 +399,7 @@ index e572f17cc..52d939057 100644 # define _MY_SIGRETURN(name) \ ".align 2\n" \ ".globl my_sigreturn\n" \ -@@ -904,9 +906,10 @@ extern void my_sigreturn(void); +@@ -912,9 +914,10 @@ extern void my_sigreturn(void); " li 0, " #name "\n" \ " sc\n" @@ -416,7 +414,7 @@ index e572f17cc..52d939057 100644 # define _MY_SIGRETURN(name) \ ".align 2\n" \ diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c -index 24f1409dd..9be4c6da9 100644 +index b3ac89f..5ff90ef 100644 --- a/coregrind/m_stacktrace.c +++ b/coregrind/m_stacktrace.c @@ -726,7 +726,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known, @@ -460,7 +458,7 @@ index 24f1409dd..9be4c6da9 100644 ppc64-linux. If LR points to our magic return stub, then we are in a wrapped or intercepted function, in diff --git a/coregrind/m_syscall.c b/coregrind/m_syscall.c -index 5948cecf5..c1cdfab27 100644 +index 5948cec..c1cdfab 100644 --- a/coregrind/m_syscall.c +++ b/coregrind/m_syscall.c @@ -470,7 +470,8 @@ asm( @@ -493,7 +491,7 @@ index 5948cecf5..c1cdfab27 100644 asm( ".align 2\n" diff --git a/coregrind/m_syswrap/syscall-ppc64be-linux.S b/coregrind/m_syswrap/syscall-ppc64be-linux.S -index 16e9cedc0..db0d8b4aa 100644 +index 16e9ced..db0d8b4 100644 --- a/coregrind/m_syswrap/syscall-ppc64be-linux.S +++ b/coregrind/m_syswrap/syscall-ppc64be-linux.S @@ -76,11 +76,24 @@ @@ -534,7 +532,7 @@ index 16e9cedc0..db0d8b4aa 100644 /* export the ranges so that VG_(fixup_guest_state_after_syscall_interrupted) can do the diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c -index 6549dd1b3..4ecbe38a6 100644 +index eada099..7186fe3 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -41,6 +41,7 @@ @@ -575,7 +573,7 @@ index 6549dd1b3..4ecbe38a6 100644 " .globl do_syscall_clone_ppc64_linux\n" " .section \".opd\",\"aw\"\n" diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S -index 0488b54bd..d00916aef 100644 +index 0488b54..d00916a 100644 --- a/coregrind/m_trampoline.S +++ b/coregrind/m_trampoline.S @@ -469,11 +469,11 @@ VG_(ppctoc_magic_redirect_return_stub): @@ -593,7 +591,7 @@ index 0488b54bd..d00916aef 100644 .align 3 VG_(ppc64_linux_REDIR_FOR_strlen): diff --git a/coregrind/m_translate.c b/coregrind/m_translate.c -index 3602a4663..bdd1d50ee 100644 +index 3602a46..6dd2845 100644 --- a/coregrind/m_translate.c +++ b/coregrind/m_translate.c @@ -1006,7 +1006,8 @@ static IRExpr* mkU32 ( UInt n ) { @@ -606,7 +604,7 @@ index 3602a4663..bdd1d50ee 100644 static IRExpr* mkU8 ( UChar n ) { return IRExpr_Const(IRConst_U8(n)); } -@@ -1234,7 +1234,8 @@ static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value ) +@@ -1234,7 +1235,8 @@ static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value ) } #endif @@ -616,7 +614,7 @@ index 3602a4663..bdd1d50ee 100644 static void gen_pop_R2_LR_then_bLR ( IRSB* bb ) { -@@ -1263,7 +1264,8 @@ static void gen_pop_R2_LR_then_bLR ( IRSB* bb ) +@@ -1263,7 +1265,8 @@ static void gen_pop_R2_LR_then_bLR ( IRSB* bb ) } #endif @@ -626,7 +624,7 @@ index 3602a4663..bdd1d50ee 100644 static Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb ) -@@ -1285,7 +1287,7 @@ Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb ) +@@ -1285,7 +1288,7 @@ Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb ) } #endif @@ -635,7 +633,7 @@ index 3602a4663..bdd1d50ee 100644 /* Generate code to push LR and R2 onto this thread's redir stack. Need to save R2 in case we redirect to a global entry point. The value of R2 is not preserved when entering the global entry point. -@@ -1366,9 +1368,7 @@ Bool mk_preamble__set_NRADDR_to_zero ( void* closureV, IRSB* bb ) +@@ -1366,9 +1369,7 @@ Bool mk_preamble__set_NRADDR_to_zero ( void* closureV, IRSB* bb ) gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( VG_(current_DiEpoch)(), closure->readdr ) ); } @@ -646,16 +644,17 @@ index 3602a4663..bdd1d50ee 100644 VgCallbackClosure* closure = (VgCallbackClosure*)closureV; Int offB_GPR12 = offsetof(VexGuestArchState, guest_GPR12); addStmtToIRSB(bb, IRStmt_Put(offB_GPR12, mkU64(closure->readdr))); -@@ -1424,7 +1424,6 @@ Bool mk_preamble__set_NRADDR_to_nraddr ( void* closureV, IRSB* bb ) +@@ -1424,8 +1425,7 @@ Bool mk_preamble__set_NRADDR_to_nraddr ( void* closureV, IRSB* bb ) ); - gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( closure->readdr ) ); + gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( VG_(current_DiEpoch)(), + closure->readdr ) ); -# endif -#if defined(VGP_ppc64le_linux) +#elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) /* This saves the r2 before leaving the function. We need to move * guest_NRADDR_GPR2 back to R2 on return. */ -@@ -1648,7 +1647,8 @@ Bool VG_(translate) ( ThreadId tid, +@@ -1648,7 +1648,8 @@ Bool VG_(translate) ( ThreadId tid, preamble_fn = mk_preamble__set_NRADDR_to_nraddr; /* LE we setup the LR */ @@ -665,7 +664,7 @@ index 3602a4663..bdd1d50ee 100644 if (nraddr == (Addr)&VG_(ppctoc_magic_redirect_return_stub)) { /* If entering the special return stub, this means a wrapped or redirected function is returning. Make this translation one -@@ -1692,13 +1692,14 @@ Bool VG_(translate) ( ThreadId tid, +@@ -1692,13 +1693,14 @@ Bool VG_(translate) ( ThreadId tid, vex_abiinfo.guest_ppc_zap_RZ_at_bl = NULL; # endif @@ -683,7 +682,7 @@ index 3602a4663..bdd1d50ee 100644 vex_abiinfo.guest_ppc_zap_RZ_at_bl = const_True; vex_abiinfo.host_ppc_calls_use_fndescrs = False; diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c -index 21eb52bcb..f1e6b4728 100644 +index 21eb52b..f1e6b47 100644 --- a/coregrind/m_ume/elf.c +++ b/coregrind/m_ume/elf.c @@ -847,8 +847,8 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info) @@ -709,7 +708,7 @@ index 21eb52bcb..f1e6b4728 100644 info->init_toc = 0; /* meaningless on this platform */ #else diff --git a/coregrind/pub_core_machine.h b/coregrind/pub_core_machine.h -index d6af843df..400148d57 100644 +index d6af843..400148d 100644 --- a/coregrind/pub_core_machine.h +++ b/coregrind/pub_core_machine.h @@ -60,12 +60,20 @@ @@ -736,7 +735,7 @@ index d6af843df..400148d57 100644 # define VG_ELF_DATA2XXX ELFDATA2LSB # define VG_ELF_MACHINE EM_ARM diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c -index ad033432a..f300fbe80 100644 +index ad03343..f300fbe 100644 --- a/coregrind/vg_preloaded.c +++ b/coregrind/vg_preloaded.c @@ -45,6 +45,7 @@ @@ -757,7 +756,7 @@ index ad033432a..f300fbe80 100644 address for the client request, but return the function descriptor from this function. diff --git a/include/valgrind.h b/include/valgrind.h -index 577c8f05e..99e058ccf 100644 +index cc8c2b8..3d30e7f 100644 --- a/include/valgrind.h +++ b/include/valgrind.h @@ -143,12 +143,20 @@ @@ -786,7 +785,7 @@ index 577c8f05e..99e058ccf 100644 # define PLAT_arm_linux 1 #elif defined(__linux__) && defined(__aarch64__) && !defined(__arm__) diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c -index 782244481..c239f5b10 100644 +index 7822444..c239f5b 100644 --- a/memcheck/mc_leakcheck.c +++ b/memcheck/mc_leakcheck.c @@ -653,7 +653,7 @@ static Bool aligned_ptr_above_page0_is_vtable_addr(Addr ptr) @@ -799,19 +798,19 @@ index 782244481..c239f5b10 100644 // more level of indirection to follow. if (seg == NULL diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c -index 5ed101fca..70c64b361 100644 +index 4ce746e..e03ab33 100644 --- a/memcheck/mc_machine.c +++ b/memcheck/mc_machine.c @@ -132,7 +132,8 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) return GOF(GPRn); by testing ox instead of o, and setting ox back 4 bytes when sz == 4. */ --#if defined(VGA_ppc64le) -+#if (defined(VGA_ppc64be) && (defined(_CALL_ELF) && _CALL_ELF == 2)) \ -+ || defined(VGA_ppc64le) +-# if defined(VGA_ppc64le) ++# if (defined(VGA_ppc64be) && (defined(_CALL_ELF) && _CALL_ELF == 2)) \ ++ || defined(VGA_ppc64le) Int ox = o; - #else + # else Int ox = sz == 8 ? o : (o - 4); -- -2.18.0 +2.21.0 diff --git a/user/valgrind/APKBUILD b/user/valgrind/APKBUILD index fc710b4b2..f676d18e8 100644 --- a/user/valgrind/APKBUILD +++ b/user/valgrind/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=valgrind -pkgver=3.13.0 -pkgrel=5 +pkgver=3.15.0 +pkgrel=0 pkgdesc="A tool to help find memory-management problems in programs" url="http://valgrind.org/" arch="all" @@ -65,8 +65,8 @@ package() { fi } -sha512sums="34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009 valgrind-3.13.0.tar.bz2 -71afb12748f69f0976a299c65572818b70cbce5d04f230a49a50f114351d8083c59a9e197cefbcb9145806797ff4d1d54488f50342b680c9a2b76e4a7f7cf305 0001-Ensure-ELFv2-is-supported-on-PPC64.patch +sha512sums="5695d1355226fb63b0c80809ed43bb077b6eed4d427792d9d7ed944c38b557a84fe3c783517b921e32f161228e10e4625bea0550faa4685872bb4454450cfa7f valgrind-3.15.0.tar.bz2 +250177c3f50940560de9ad885cf5d9d7aa060ac832ced04875e1109b9114ec34e358a5c2309c8548f657e293cf50d980306d47b2cdf5e429aeabd10ffe666104 0001-Ensure-ELFv2-is-supported-on-PPC64.patch 9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe arm.patch 57086a768f3876b26b0e507bc159a73f0955f03d5af8cc30e21103e348ca67f2e58b5555a5a97f299751c6602692ad43d8346bb68a80917d740fb4d65bba9665 realloc.patch d011b2769d35ca3206967e6dac9f3fb24a6496e5bbfdc73342382245c89375b09d6948b10ba3cf8aa0050c79c0dd13b75764aec0ec5c6ac479fa930941067747 suppressions.patch diff --git a/user/vlc/APKBUILD b/user/vlc/APKBUILD index a06e293ed..31a7b2975 100644 --- a/user/vlc/APKBUILD +++ b/user/vlc/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=vlc pkgver=3.0.6 -pkgrel=1 +pkgrel=2 pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" @@ -12,34 +12,9 @@ url="https://www.videolan.org/vlc/" arch="all" license="GPL-2.0+" options="!checkroot textrel" -subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg - $pkgname-daemon::noarch $pkgname-libs $pkgname-plugins - $pkgname-lang - - $pkgname-plugins-access:plugins_access - $pkgname-plugins-access_output:plugins_access_output - $pkgname-plugins-audio_filter:plugins_audio_filter - $pkgname-plugins-audio_mixer:plugins_audio_mixer - $pkgname-plugins-audio_output:plugins_audio_output - $pkgname-plugins-codec:plugins_codec - $pkgname-plugins-control:plugins_control - $pkgname-plugins-demux:plugins_demux - $pkgname-plugins-gui:plugins_gui - $pkgname-plugins-lua:plugins_lua - $pkgname-plugins-meta_engine:plugins_meta_engine - $pkgname-plugins-misc:plugins_misc - $pkgname-plugins-mux:plugins_mux - $pkgname-plugins-notify:plugins_notify - $pkgname-plugins-packetizer:plugins_packetizer - $pkgname-plugins-services_discovery:plugins_services_discovery - $pkgname-plugins-stream_filter:plugins_stream_filter - $pkgname-plugins-stream_out:plugins_stream_out - $pkgname-plugins-text_renderer:plugins_text_renderer - $pkgname-plugins-video_chroma:plugins_video_chroma - $pkgname-plugins-video_filter:plugins_video_filter - $pkgname-plugins-video_output:plugins_video_output - $pkgname-plugins-visualization:plugins_visualization" -depends="ttf-dejavu $pkgname-plugins" +subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-pulse + $pkgname-daemon::noarch $pkgname-libs $pkgname-lang" +depends="ttf-dejavu xdg-utils" # Generic dependencies, then X11, then multimedia libraries makedepends="autoconf automake bison eudev-dev flex libarchive-dev libgcrypt-dev libtool libxml2-dev lua5.3-dev ncurses-dev sysfsutils-dev @@ -58,6 +33,7 @@ makedepends="autoconf automake bison eudev-dev flex libarchive-dev libraw1394-dev>=2.0.1 librsvg-dev libshout-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev live-media-dev opus-dev pulseaudio-dev speex-dev speexdsp-dev taglib-dev v4l-utils-dev x264-dev x265-dev" +replaces="vlc-plugins vlc-xorg" source="https://get.videolan.org/vlc/$pkgver/vlc-$pkgver.tar.xz check-headless.patch disable-sub-autodetect-fuzzy-1-test.patch @@ -165,43 +141,23 @@ check() { make check } -plugins() { - pkgdesc="$pkgname all plugins meta package" - depends="$pkgname-plugins-access - $pkgname-plugins-access_output - $pkgname-plugins-audio_filter - $pkgname-plugins-audio_mixer - $pkgname-plugins-audio_output - $pkgname-plugins-codec - $pkgname-plugins-control - $pkgname-plugins-demux - $pkgname-plugins-gui - $pkgname-plugins-lua - $pkgname-plugins-meta_engine - $pkgname-plugins-misc - $pkgname-plugins-mux - $pkgname-plugins-notify - $pkgname-plugins-packetizer - $pkgname-plugins-services_discovery - $pkgname-plugins-stream_filter - $pkgname-plugins-stream_out - $pkgname-plugins-text_renderer - $pkgname-plugins-video_chroma - $pkgname-plugins-video_filter - $pkgname-plugins-video_output - $pkgname-plugins-visualization" - mkdir -p "$subpkgdir" -} - _mv() { local dir=${1%/*} mkdir -p "$subpkgdir"/$dir mv "$1" "$subpkgdir"/$dir/ } +pulse() { + pkgdesc="PulseAudio support for VLC" + depends="" + install_if="vlc pulseaudio" + mkdir -p "$subpkgdir"/usr/lib/vlc + mv "$pkgdir"/usr/lib/vlc/libvlc_pulse* "$subpkgdir"/usr/lib/vlc/ +} + qt() { pkgdesc="Qt frontend for VLC" - depends="vlc-xorg=$pkgver-r$pkgrel" + depends="vlc=$pkgver-r$pkgrel" cd "$pkgdir" # scan for elf files that directly or indirectly depends on # libQt* libraries @@ -216,32 +172,6 @@ qt() { "$subpkgdir"/usr/bin/ } -xorg() { - pkgdesc="Video LAN X.org support" - depends="xdg-utils vlc=$pkgver-r$pkgrel" - - # scan for elf files that directly or indirectly depends on - # libX* libraries - cd "$pkgdir" - for i in $(find . -type f ); do - if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb|libGL"; then - echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1 - fi - done - - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/svlc \ - "$subpkgdir"/usr/bin - - mkdir -p "$subpkgdir"/usr/share/vlc - mv "$pkgdir"/usr/share/applications \ - "$pkgdir"/usr/share/icons \ - "$subpkgdir"/usr/share/ - - mv "$pkgdir"/usr/share/vlc/skins2 \ - "$subpkgdir"/usr/share/vlc -} - daemon() { pkgdesc="Support for running VLC as a daemon" install="vlc-daemon.pre-install" @@ -262,39 +192,6 @@ libs() { default_libs } -_mv_plugins() { - local plugin=$1 - pkgdesc="$pkgname $plugin plugin" - depends= - mkdir -p "$subpkgdir"/usr/lib/vlc/plugins - mv "$pkgdir"/usr/lib/vlc/plugins/"$plugin" \ - "$subpkgdir"/usr/lib/vlc/plugins -} - -plugins_access() { _mv_plugins access; } -plugins_access_output() { _mv_plugins access_output; } -plugins_audio_filter() { _mv_plugins audio_filter; } -plugins_audio_mixer() { _mv_plugins audio_mixer; } -plugins_audio_output() { _mv_plugins audio_output; } -plugins_codec() { _mv_plugins codec; } -plugins_control() { _mv_plugins control; } -plugins_demux() { _mv_plugins demux; } -plugins_gui() { _mv_plugins gui; } -plugins_lua() { _mv_plugins lua; } -plugins_meta_engine() { _mv_plugins meta_engine; } -plugins_misc() { _mv_plugins misc; } -plugins_mux() { _mv_plugins mux; } -plugins_notify() { _mv_plugins notify; } -plugins_packetizer() { _mv_plugins packetizer; } -plugins_services_discovery() { _mv_plugins services_discovery; } -plugins_stream_filter() { _mv_plugins stream_filter; } -plugins_stream_out() { _mv_plugins stream_out; } -plugins_text_renderer() { _mv_plugins text_renderer; } -plugins_video_chroma() { _mv_plugins video_chroma; } -plugins_video_filter() { _mv_plugins video_filter; } -plugins_video_output() { _mv_plugins video_output; } -plugins_visualization() { _mv_plugins visualization; } - sha512sums="7c72e98f30ce5c5a94d74e097fa9960442f89240079b042a729f8a33dd7fedee2538c86c99738ccef2eb27f29055f0221d4c70316e3312c5ebba9565eaa15c52 vlc-3.0.6.tar.xz 22d80df599b8b65a5439cefbb7140af8e9530f326d54945da3769af65f37518b99ec2cc8647aafd2763324a0698280915afe043cc87e5720c4694881ed35bffa check-headless.patch e214b407235cb3afb8bec93f20c9b42957b57e6fd3960679d3d4235e77762e03e64d03c01f00ef63d589e7c85aaad02ce6abbeeccd66b1867bc92451a5b5e9b0 disable-sub-autodetect-fuzzy-1-test.patch diff --git a/user/wine/APKBUILD b/user/wine/APKBUILD index 99cf1f2dd..ea9384603 100644 --- a/user/wine/APKBUILD +++ b/user/wine/APKBUILD @@ -4,7 +4,7 @@ # Contributor: Martell Malone <martell@marinelayer.io> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=wine -pkgver=3.0.2 +pkgver=4.0.1 pkgrel=0 pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" @@ -20,7 +20,7 @@ makedepends="fontconfig-dev openldap-dev libxslt-dev libxxf86dga-dev libxcomposite-dev libxrender-dev libxinerama-dev zlib-dev cups-dev alsa-lib-dev libxml2-dev dbus-dev libxi-dev gnutls-dev tiff-dev v4l-utils-dev udisks2-dev autoconf automake - openal-soft-dev pulseaudio-dev sane-dev eudev-dev + openal-soft-dev pulseaudio-dev sane-dev eudev-dev mpg123-dev " source="http://dl.winehq.org/$pkgname/source/${pkgver%.[1-9]}/$pkgname-$pkgver.tar.xz no-pie.patch @@ -53,6 +53,7 @@ build() { --with-fontconfig \ --with-freetype \ --with-jpeg \ + --with-mpg123 \ --with-openal \ --with-opengl \ --with-png \ @@ -64,7 +65,7 @@ build() { --with-xcomposite \ --with-xinerama \ --with-xslt \ - $_win64 + $_win64 make } @@ -129,6 +130,6 @@ libs() { done } -sha512sums="dbd0f242c5eace297ad16e314b8ad139e7d430de7eb8ca52b2006d0b80db4809e28a0e785d404a65ea1acdb56e7f06ebfc9a50071db1edaa6180c8835e7c4b13 wine-3.0.2.tar.xz -d853875f7d659617bdfba364704abd75b760d12977f1f13acc73acb3c8fefec0549677fb79a4f8955e073d64078b3071d63d97262522e22b7832a66d3d820a9c no-pie.patch +sha512sums="dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc wine-4.0.1.tar.xz +a96b1e248447912ba522067b67fc920063f355f326eaf3fec760c79a1c6e46019fbdcfa8b95b9d389959a7e3d3ab794f9aaf78913ad6a73be32b5d34ca8a2267 no-pie.patch 522a94a31fc459e80ea7dd05f7aee64f6ae666ec05236d06614acde118d5c60002e0f253ae75edb5f02164f22937ca89578504b690d1a5611bd60f703c8f0c00 winhlp32-flex.patch" diff --git a/user/wine/no-pie.patch b/user/wine/no-pie.patch index 5fb5d87b6..2874e0af8 100644 --- a/user/wine/no-pie.patch +++ b/user/wine/no-pie.patch @@ -1,14 +1,11 @@ -diff --git a/loader/Makefile.in b/loader/Makefile.in -index 8190037..437d4d9 100644 ---- a/loader/Makefile.in -+++ b/loader/Makefile.in -@@ -26,7 +26,7 @@ wine64_DEPS = $(WINELOADER_DEPENDS) - wine64_LDFLAGS = $(LDEXECFLAGS) -lwine $(PTHREAD_LIBS) +--- wine-4.0.1/configure.ac ++++ wine-4.0.1/configure.ac +@@ -955,7 +955,7 @@ - wine_preloader_OBJS = preloader.o --wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -+wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie + WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic], + [WINELOADER_LDFLAGS="-Wl,--export-dynamic"]) +- WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000" ++ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie" - wine64_preloader_OBJS = preloader.o --wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -+wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie + WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib], + [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" diff --git a/user/wine/nopie.patch b/user/wine/nopie.patch deleted file mode 100644 index 54eb141be..000000000 --- a/user/wine/nopie.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/loader/Makefile.in b/loader/Makefile.in -index 8190037..b4f2902 100644 ---- a/loader/Makefile.in -+++ b/loader/Makefile.in -@@ -29,4 +29,4 @@ wine_preloader_OBJS = preloader.o - wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 - - wine64_preloader_OBJS = preloader.o --wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -+wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie diff --git a/user/wireguard-module-power8-64k/APKBUILD b/user/wireguard-module-power8-64k/APKBUILD index ed1fa1ba3..487d722c0 100644 --- a/user/wireguard-module-power8-64k/APKBUILD +++ b/user/wireguard-module-power8-64k/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="-power8-64k" _kver="4.14.88-mc13" -pkgver=0.0.20190406 +pkgver=0.0.20190601 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" +sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz" diff --git a/user/wireguard-module-power8/APKBUILD b/user/wireguard-module-power8/APKBUILD index 260d22029..da2e52d80 100644 --- a/user/wireguard-module-power8/APKBUILD +++ b/user/wireguard-module-power8/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="-power8" _kver="4.14.88-mc13" -pkgver=0.0.20190406 +pkgver=0.0.20190601 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" +sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz" diff --git a/user/wireguard-module/APKBUILD b/user/wireguard-module/APKBUILD index 4bb25ae3e..cb3bfaf98 100644 --- a/user/wireguard-module/APKBUILD +++ b/user/wireguard-module/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="" _kver="4.14.88-mc13" -pkgver=0.0.20190406 +pkgver=0.0.20190601 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" +sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz" diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD index 493da9d37..2ae8d845b 100644 --- a/user/wireguard-tools/APKBUILD +++ b/user/wireguard-tools/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=wireguard-tools _pkgreal=WireGuard -pkgver=0.0.20190406 +pkgver=0.0.20190601 pkgrel=0 pkgdesc="Userland tools for the WireGuard VPN" url="https://www.wireguard.com/" @@ -43,4 +43,4 @@ _patch() { } -sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" +sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz" diff --git a/user/wireless-regdb/APKBUILD b/user/wireless-regdb/APKBUILD index 678ec0bdd..610629eb5 100644 --- a/user/wireless-regdb/APKBUILD +++ b/user/wireless-regdb/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=wireless-regdb -pkgver=2019.03.01 +pkgver=2019.06.03 pkgrel=0 pkgdesc="Database of regulatory radio restrictions" url="https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb" @@ -19,4 +19,4 @@ package() { install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" db.txt } -sha512sums="f0b94e1f661d86f4fcd39384588e10d7353ad085563ddc40a98446b416ce0d7bd0cbe34f1d9620ac45a33f16b7bfe58419da915061942cd5f51d5a3bf9809d72 wireless-regdb-2019.03.01.tar.xz" +sha512sums="73209ca28c59d6760349ffb713f550300e80db1592bae52b6d252ac9401fa2bb2ace7e6c30cf55df7541da9cef4c8587f3790f7aa34529552468e4b63a3d8fdb wireless-regdb-2019.06.03.tar.xz" diff --git a/user/xfce4-appfinder/APKBUILD b/user/xfce4-appfinder/APKBUILD index 575436450..92a917018 100644 --- a/user/xfce4-appfinder/APKBUILD +++ b/user/xfce4-appfinder/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-appfinder -pkgver=4.13.2 +pkgver=4.13.3 pkgrel=0 pkgdesc="An application finder for the XFCE desktop environment" url="https://xfce.org" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="96ac782c785649ddf75f8659f9cf10f42c37bab647824f0c76714baca0b61904fa8ba6d23dc1574aae5fdf2538201936d26b42ea6c0f5d5f0f9d71c8ba0a51b8 xfce4-appfinder-4.13.2.tar.bz2" +sha512sums="47f69e8daf6f963b8130c0380f2201cdb2d02212cfb8b5c05fedbebb78222d3bd35db0fd422418cf3f9d1f2b90e66ee4d143bed57881f5673aefca8bc58e059a xfce4-appfinder-4.13.3.tar.bz2" diff --git a/user/xfce4-panel/APKBUILD b/user/xfce4-panel/APKBUILD index 4e70ac9d3..9594fc9a8 100644 --- a/user/xfce4-panel/APKBUILD +++ b/user/xfce4-panel/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-panel -pkgver=4.13.4 +pkgver=4.13.5 pkgrel=0 pkgdesc="Panel for the XFCE desktop environment" url="https://xfce.org" @@ -35,4 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="16a3680aa2ab7fa357ca9d477ea0e41ca159a2c626fe65454ccdca339bb501ff0979264f5a4ae4728e3c0efe24e193eb28e7b5d1e003fecad8ab36b8457203c8 xfce4-panel-4.13.4.tar.bz2" +sha512sums="3eb4034bd6eae38f8f533b8cd2cae4ec8b40cab5f0d6810639baad641b4adaf15d03254ec79cd49d04e3498d3a4752bd9e968a0383468e7337106b3665092c4e xfce4-panel-4.13.5.tar.bz2" diff --git a/user/xfce4-power-manager/APKBUILD b/user/xfce4-power-manager/APKBUILD index dc6232180..dd6dab858 100644 --- a/user/xfce4-power-manager/APKBUILD +++ b/user/xfce4-power-manager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-power-manager -pkgver=1.6.1 +pkgver=1.6.2 pkgrel=0 pkgdesc="Power management support for the XFCE desktop environment" url="https://xfce.org" @@ -12,7 +12,6 @@ makedepends="intltool gtk+3.0-dev libxfce4ui-dev libice-dev libnotify-dev subpackages="$pkgname-doc $pkgname-lang" langdir="/usr/lib/locale" source="http://archive.xfce.org/src/xfce/xfce4-power-manager/1.6/xfce4-power-manager-$pkgver.tar.bz2" -sha512sums="b81ce1b35892a6cd0b1d4fb590ccc25b906cde6f782de2fffbe78ea89e00df15e51ea1f47576c173b7512cd617f5142868fca8cf81519b6fe165a5ecc67a5478 xfce4-power-manager-1.6.1.tar.bz2" build() { cd "$builddir" @@ -36,3 +35,4 @@ package() { make DESTDIR="$pkgdir" install } +sha512sums="d1c475ad3cf194c19a2ad1decc4c80a9f504d74b64dec71887c14c576cd5a2932799cd0068f6356a15590fa67c6d0434401ad36b7a2fa6a3b62d51290cd7b68c xfce4-power-manager-1.6.2.tar.bz2" diff --git a/user/xfce4-session/APKBUILD b/user/xfce4-session/APKBUILD index 05c391a80..5b431f963 100644 --- a/user/xfce4-session/APKBUILD +++ b/user/xfce4-session/APKBUILD @@ -1,18 +1,18 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-session -pkgver=4.13.1 +pkgver=4.13.2 pkgrel=0 pkgdesc="Session management for the XFCE desktop environment" url="https://xfce.org" arch="all" license="GPL-2.0+ AND LGPL-2.0+" +depends="iceauth cmd:which xdg-user-dirs" makedepends="intltool gtk+3.0-dev libice-dev libsm-dev libxfce4util-dev - libxfce4ui-dev libwnck-dev iceauth dbus-glib-dev" + libxfce4ui-dev libwnck-dev iceauth dbus-glib-dev polkit-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" langdir="/usr/lib/locale" -source="http://archive.xfce.org/src/xfce/xfce4-session/4.13/xfce4-session-$pkgver.tar.bz2" -sha512sums="5845e3591919e23ca176199e81075a097ef9d65cbcf23b34d84afc649a307bfa8c6492e3a01855cacff9328da809725213ec1fa9d76024c0a0c25cce3c51da1b xfce4-session-4.13.1.tar.bz2" +source="https://archive.xfce.org/src/xfce/xfce4-session/4.13/xfce4-session-$pkgver.tar.bz2" build() { cd "$builddir" @@ -36,3 +36,4 @@ package() { make DESTDIR="$pkgdir" install } +sha512sums="cb1e63a3df9c4ac3efcb0cce20cb5528f9d1a46731ad4b32634ad5f4a53711f05b40d98464bfd562b4e3d42b2555827ece03e63c6a433e879fa0f0a4ccda6a57 xfce4-session-4.13.2.tar.bz2" diff --git a/user/xfce4-settings/APKBUILD b/user/xfce4-settings/APKBUILD index 4b894e6ee..7fc818d88 100644 --- a/user/xfce4-settings/APKBUILD +++ b/user/xfce4-settings/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-settings -pkgver=4.13.5 +pkgver=4.13.6 pkgrel=0 pkgdesc="GUI settings application for the XFCE desktop environment" url="https://xfce.org" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5e7b13b25767091ab0b1a5683359f33e4a86151dd9321681fc4d896fcd9cc569effaebfbab70bc734e07041e9fbb1c3015f9a177146de8a128c4a539462dba5e xfce4-settings-4.13.5.tar.bz2" +sha512sums="7fe4655a5644dec8688eebc508e23bace7af76c6b8eeb3821fa9a4ec79862cde64cf59ee2ac70a27ff378ef887ce6d109ef1b1d9e5f7e98f96fdb43604e024b6 xfce4-settings-4.13.6.tar.bz2" diff --git a/user/xfconf/APKBUILD b/user/xfconf/APKBUILD index 09144df61..74dd12c7d 100644 --- a/user/xfconf/APKBUILD +++ b/user/xfconf/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfconf -pkgver=4.13.6 +pkgver=4.13.7 pkgrel=0 pkgdesc="Configuration framework for the XFCE desktop environment" url="https://xfce.org" @@ -43,4 +43,4 @@ perl() { mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib } -sha512sums="0eaa1ad428be5bea97b891a6bf0488293064e31d4869b70389ded940a23f9d8cffd0801dd98932658a67e57d6a0da95998872202cf7756aa24caa8f9d2c5f755 xfconf-4.13.6.tar.bz2" +sha512sums="113fb22b449a318b0cca6521914eda6cfeb6b2056a1aad4d49a5e83c28661c843c9912bbf7eddb7d6cd1f172b532c73dd02259bf6fabe60a377024f9f8d5825d xfconf-4.13.7.tar.bz2" diff --git a/user/xfdesktop/APKBUILD b/user/xfdesktop/APKBUILD index 75dcffed9..920f041d3 100644 --- a/user/xfdesktop/APKBUILD +++ b/user/xfdesktop/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfdesktop -pkgver=4.13.3 +pkgver=4.13.4 pkgrel=0 pkgdesc="Desktop manager for the XFCE desktop environment" url="https://xfce.org" @@ -35,4 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5d828ad653b46ab1edc8300335321bab48e0ad2be1ae02944eff553375a6059513aeb363c73aaec1a6958dd3f1c873920287ad911cfe7b8096b447f1b8165ce3 xfdesktop-4.13.3.tar.bz2" +sha512sums="3943fc2af3ca3996a38900fea4a03004e1d3f8728a8517c988bd59744607ed8e4ba3f135d6075833af206df3c35464633f47e374c26fcbb8a20f0f1ecfdb7da6 xfdesktop-4.13.4.tar.bz2" diff --git a/user/xfwm4/APKBUILD b/user/xfwm4/APKBUILD index d560fff66..130fc60d9 100644 --- a/user/xfwm4/APKBUILD +++ b/user/xfwm4/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfwm4 -pkgver=4.13.1 -pkgrel=1 +pkgver=4.13.2 +pkgrel=0 pkgdesc="Window manager for the XFCE desktop environment" url="https://xfce.org" arch="all" @@ -11,8 +11,7 @@ makedepends="intltool gtk+3.0-dev libxfce4util-dev libxfce4ui-dev libwnck-dev gobject-introspection-dev vala-dev" subpackages="$pkgname-lang" langdir="/usr/lib/locale" -source="http://archive.xfce.org/src/xfce/xfwm4/4.13/xfwm4-$pkgver.tar.bz2 - fix-mask-length.patch" +source="http://archive.xfce.org/src/xfce/xfwm4/4.13/xfwm4-$pkgver.tar.bz2" build() { cd "$builddir" @@ -36,5 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2ac5acdefff3a89b8525719b345dfeb2dc71104b4da341afe99d7c57c049753c4cdb81a512d1f344e5fb463c7143673e83316b63888777bdcf254c4a07ca8320 xfwm4-4.13.1.tar.bz2 -88733a4d69b58b0c98f2f46694ccc8bda4e5bc1b565d952123cee466b3f89f95d72fc28c8e9c173dcc0aee606c9f4b085d891004d769b74ad0c7084d8dec00a9 fix-mask-length.patch" +sha512sums="85440a377cd7034e986b317e35c25ac6d4723bd4c1ce1e6951d8545a44f3c47340952fd0211f55cf19411539be6d86f4c34fca7b2219b0873654a6d311c95055 xfwm4-4.13.2.tar.bz2" diff --git a/user/xfwm4/fix-mask-length.patch b/user/xfwm4/fix-mask-length.patch deleted file mode 100644 index dd050c8dc..000000000 --- a/user/xfwm4/fix-mask-length.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru xfwm4-4.13.1.orig/src/device.c xfwm4-4.13.1/src/device.c ---- xfwm4-4.13.1.orig/src/device.c 2018-07-29 16:08:54.000000000 +0300 -+++ xfwm4-4.13.1/src/device.c 2018-09-12 08:49:18.130254993 +0300 -@@ -301,7 +301,7 @@ - guint i; - - xievent_mask->deviceid = XIAllMasterDevices; -- xievent_mask->mask_len = sizeof (mask); -+ xievent_mask->mask_len = len; - xievent_mask->mask = mask; - - for (i = 0; i < G_N_ELEMENTS (core_to_xi2); i++) diff --git a/user/xterm/APKBUILD b/user/xterm/APKBUILD index 3c8e5f5b4..859f3ea61 100644 --- a/user/xterm/APKBUILD +++ b/user/xterm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xterm -pkgver=344 +pkgver=346 pkgrel=0 pkgdesc="An X-based terminal emulator" url="https://invisible-island.net/xterm/" @@ -45,5 +45,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="872f69e13ad8e26de355f7611dabc7a66e2f6b00313b440b8054cc4fa0fbde936dd8d54ec09c892e8760080acaccbd8b7e72cdcbebb291dd92e01593eb14e91a xterm-344.tgz +sha512sums="ef0db8132a88b8bd980343007a61ca3c4c1b7ece23ef8e72245a17fa8305fa4dfed9cdf0613d8daf60da53fb8b03d41acd22aee04f2d51aeffb4a340268f51f7 xterm-346.tgz e29ef756243faa6f5ced3c74d6879b4fc8f9839501becae49af4f458d0f499bcda40a0eb66dada9cae8bf9789256daf3d1605ac1b5b4301654d8b5ac6eaca81d posix-ptmx.patch" |