Compare commits
118 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b07116644d | |||
| 4e4472670a | |||
| 2aafa0366f | |||
| 08b9bc2f61 | |||
| 59d4d89f39 | |||
| ef12eee254 | |||
| 309269ca91 | |||
| 261ca83121 | |||
| 64e63b6ce6 | |||
| 6e2dd4549b | |||
| 25c079de0e | |||
| c354b1edb5 | |||
| 2450968021 | |||
| dccaff8e82 | |||
| e7fc3403bb | |||
| 743fd97689 | |||
| 70ea0f8421 | |||
| 4f09ed89b3 | |||
| 79baca104d | |||
| 7d06574716 | |||
| 9e5c172f0f | |||
| 7ec02006bf | |||
| a237f9dd63 | |||
| 61c4f41a78 | |||
| d8fc62edbb | |||
| 42ab95458b | |||
| 392148e28f | |||
| 00d400f976 | |||
| c0ddd9dd07 | |||
| 8cecfc3401 | |||
| d49f42c3be | |||
| c6989413b9 | |||
| d635824608 | |||
| 97e18877a6 | |||
| 6d6bcb6b25 | |||
| 61909a06cd | |||
| affa919039 | |||
| a4d7b285cf | |||
| fe2e175b9d | |||
| 92c8a5cd3c | |||
| ab22e87402 | |||
| 2a85a2cc8a | |||
| c3a8c834fe | |||
| 948831e805 | |||
| 1200f10bda | |||
| fb8c4deb1a | |||
| b74f66c978 | |||
| 416eed9540 | |||
| 162388a74d | |||
| 9cfa7578f7 | |||
| edd8cae05e | |||
| 2f694c9e60 | |||
| e98a088291 | |||
| 7ade3c11f2 | |||
| 45cfb7dbd3 | |||
| c140a16758 | |||
| e998257b68 | |||
| e1dafc11c2 | |||
| 85fb63649e | |||
| f4579f94e8 | |||
| 0060ade136 | |||
| 9cf1cf46a8 | |||
| 1ca3a38e9b | |||
| 8f4ca74c84 | |||
| 93bea331a9 | |||
| 10a3e2ea85 | |||
| 5fe70325f5 | |||
| 7eabe71874 | |||
| 7213c2dc66 | |||
| d5fd16d2d4 | |||
| 3005bdece1 | |||
| 20d363fb9e | |||
| 565bcaa546 | |||
| 1e0db1a880 | |||
| 24e8c76e71 | |||
| cecdbb8e69 | |||
| cbbfe11d41 | |||
| 44a440bfd3 | |||
| db54bd889a | |||
| 4245816f7a | |||
| 2106720f3b | |||
| d831ad4844 | |||
| 1aeeaea2f0 | |||
| 6f5a0c5622 | |||
| acd9e32dfe | |||
| 54d2e39bca | |||
| 24b78f0de9 | |||
| 1888d61307 | |||
| e723063131 | |||
| 9361360bfd | |||
| 3e408c8436 | |||
| 078dd40b2f | |||
| 051eccdd89 | |||
| 3e04c26c54 | |||
| 7c8a1ccab3 | |||
| fcb1e07ccd | |||
| 205142b16c | |||
| d9d1f7c52c | |||
| a6ce2f6733 | |||
| 8a2d7c15bc | |||
| 70f63a8c52 | |||
| 7a38de3d8e | |||
| f470492c0f | |||
| 9090ea58b6 | |||
| 11e775ec59 | |||
| 6ed7468245 | |||
| 3d4857c173 | |||
| 01b75ec247 | |||
| 5cb7352111 | |||
| c61f61b909 | |||
| f40f75cc81 | |||
| 753337dcd9 | |||
| 5d267c45e8 | |||
| 840d0ee198 | |||
| b8f6745893 | |||
| 510f2c91d9 | |||
| 1369d30a99 | |||
| 574d32606a |
@@ -237,6 +237,7 @@ zynq_zybo_defconfig: *defconfig
|
||||
tests.boot.test_atf.TestATFAllwinner: *runtime_test
|
||||
tests.boot.test_atf.TestATFMarvell: *runtime_test
|
||||
tests.boot.test_atf.TestATFVexpress: *runtime_test
|
||||
tests.core.test_file_capabilities.TestFileCapabilities: *runtime_test
|
||||
tests.core.test_post_scripts.TestPostScripts: *runtime_test
|
||||
tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
|
||||
tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
2018.02.5, Released August 29th, 2018
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix
|
||||
genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build
|
||||
issue.
|
||||
|
||||
Updated/fixed packages: acl, apache, attr, bind,
|
||||
boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup,
|
||||
dahdi-tools, dmidecode, dropbear, eigen, erlang, ffmpeg, gawk,
|
||||
gcc, ghostscript, gnutls, ipsec-tools, libarchive, libfuse,
|
||||
libopenssl, libselinux, libsoup, lighttpd, linuxptp,
|
||||
lttng-modules, lttng-tools, lua-flu, lvm2, m4, makedevs,
|
||||
mariadb, mbedtls, mesa3d-headers, mtd, ncurses, nodejs,
|
||||
openssh, php, postgresql, python-django, qt5xmlpatterns, ruby,
|
||||
samba4, shairport-sync, stress-ng, ti-utils, uboot-tools, vim,
|
||||
waylandpp, wireless_tools, wireshark, wpa_supplicant, xorriso,
|
||||
znc
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#10781: cryptsetup luksOpen container_file container causes..
|
||||
#10986: Installing package attr when already supplied by..
|
||||
#11191: xattr and check-package issue
|
||||
|
||||
2018.02.4, Released July 21th, 2018
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -87,9 +87,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2018.02.4
|
||||
export BR2_VERSION := 2018.02.5
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1532126000
|
||||
BR2_VERSION_EPOCH = 1535550000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -1019,8 +1019,8 @@ help:
|
||||
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
|
||||
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
|
||||
@echo ' randconfig - New config with random answer to all options'
|
||||
@echo ' defconfig - New config with default answer to all options'
|
||||
@echo ' BR2_DEFCONFIG, if set, is used as input'
|
||||
@echo ' defconfig - New config with default answer to all options;'
|
||||
@echo ' BR2_DEFCONFIG, if set on the command line, is used as input'
|
||||
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
|
||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||
@echo ' allnoconfig - New config where all options are answered with no'
|
||||
|
||||
@@ -3,7 +3,7 @@ image sdcard.img {
|
||||
}
|
||||
|
||||
partition unused {
|
||||
size = 512B
|
||||
size = 512
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694
|
||||
BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
|
||||
BOOT_WRAPPER_AARCH64_LICENSE = BSD3c
|
||||
BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause
|
||||
BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt
|
||||
BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux
|
||||
BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES
|
||||
|
||||
@@ -12,7 +12,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1 arm/juno-r2"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.3"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
|
||||
|
||||
@@ -31,6 +31,7 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
# Filesystem / image
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi2/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2/post-image.sh"
|
||||
|
||||
@@ -198,11 +198,24 @@ information is (assuming the package name is +libfoo+) :
|
||||
package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is
|
||||
assumed to be the same as +LIBFOO_VERSION+. It can also be a
|
||||
revision number or a tag for packages that are fetched directly
|
||||
from their version control system. Do not use a branch name as
|
||||
version; it does not work. Examples:
|
||||
from their version control system. Examples:
|
||||
** a version for a release tarball: +LIBFOO_VERSION = 0.1.2+
|
||||
** a sha1 for a git tree: +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+
|
||||
** a tag for a git tree +LIBFOO_VERSION = v0.1.2+
|
||||
+
|
||||
.Note:
|
||||
Using a branch name as +FOO_VERSION+ is not supported, because it does
|
||||
not and can not work as people would expect it should:
|
||||
+
|
||||
1. due to local caching, Buildroot will not re-fetch the repository,
|
||||
so people who expect to be able to follow the remote repository
|
||||
would be quite surprised and disappointed;
|
||||
2. because two builds can never be perfectly simultaneous, and because
|
||||
the remote repository may get new commits on the branch anytime,
|
||||
two users, using the same Buildroot tree and building the same
|
||||
configuration, may get different source, thus rendering the build
|
||||
non reproducible, and people would be quite surprised and
|
||||
disappointed.
|
||||
|
||||
* +LIBFOO_SOURCE+ may contain the name of the tarball of the package,
|
||||
which Buildroot will use to download the tarball from
|
||||
|
||||
@@ -23,8 +23,8 @@ between distributions).
|
||||
** +make+ (version 3.81 or any later)
|
||||
** +binutils+
|
||||
** +build-essential+ (only for Debian based systems)
|
||||
** +gcc+ (version 2.95 or any later)
|
||||
** `g++` (version 2.95 or any later)
|
||||
** +gcc+ (version 4.4 or any later)
|
||||
** `g++` (version 4.4 or any later)
|
||||
** +bash+
|
||||
** +patch+
|
||||
** +gzip+
|
||||
|
||||
+2
-2
@@ -33,7 +33,7 @@ config BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
bool "Latest version (4.15)"
|
||||
|
||||
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
bool "Latest CIP SLTS version (v4.4.130-cip23)"
|
||||
bool "Latest CIP SLTS version (v4.4.138-cip25)"
|
||||
help
|
||||
CIP launched in the spring of 2016 to address the needs of
|
||||
organizations in industries such as power generation and
|
||||
@@ -121,7 +121,7 @@ endif
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "v4.4.130-cip23" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From a42519dceef0493ece45538375ae1791313f16d3 Mon Sep 17 00:00:00 2001
|
||||
From: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
Date: Mon, 30 Jul 2018 14:29:46 -0700
|
||||
Subject: [PATCH] Remove pragmas inside functions
|
||||
|
||||
GCC 4.4.7, as found in RHEL6, reports:
|
||||
libacl/acl_from_text.c:307: error: #pragma GCC diagnostic not allowed inside functions
|
||||
|
||||
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
---
|
||||
libacl/acl_from_text.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
|
||||
index 09790c9..fb6bc07 100644
|
||||
--- a/libacl/acl_from_text.c
|
||||
+++ b/libacl/acl_from_text.c
|
||||
@@ -304,11 +304,8 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
|
||||
create_entry:
|
||||
if (acl_create_entry(acl_p, &entry_d) != 0)
|
||||
return -1;
|
||||
-#pragma GCC diagnostic push
|
||||
-#pragma GCC diagnostic ignored "-Waddress"
|
||||
if (acl_copy_entry(entry_d, int2ext(&entry_obj)) != 0)
|
||||
return -1;
|
||||
-#pragma GCC diagnostic pop
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
--
|
||||
2.13.0
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
Support installation of .a file when doing static linking
|
||||
|
||||
When doing static linking (i.e ENABLE_SHARED != yes), the acl build
|
||||
logic wasn't installing any library at all, not even the .a file which
|
||||
is needed for static linking. This patch fixes that.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/include/buildmacros
|
||||
===================================================================
|
||||
--- a/include/buildmacros
|
||||
+++ b/include/buildmacros
|
||||
@@ -97,7 +97,15 @@
|
||||
|
||||
INSTALL_LTLIB_STATIC = \
|
||||
cd $(TOPDIR)/$(LIBNAME)/.libs; \
|
||||
- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR);
|
||||
+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
|
||||
+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \
|
||||
+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
|
||||
+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
||||
+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \
|
||||
+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
|
||||
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
|
||||
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
|
||||
+ fi
|
||||
|
||||
INSTALL_MAN = \
|
||||
@for d in $(MAN_PAGES); do \
|
||||
@@ -1,292 +0,0 @@
|
||||
From debbe4f7b591b3f35d0ed65c17fa81b196b2eb2d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Tue, 12 Aug 2014 08:37:25 -0400
|
||||
Subject: [PATCH] add __acl_ prefixes to internal symbols
|
||||
|
||||
When static linking libacl, people sometimes run into symbol collisions
|
||||
because their own code defines symbols like "quote". So for acl internal
|
||||
symbols, use an __acl_ prefix.
|
||||
|
||||
[Rahul Bedarkar: backported from upstream
|
||||
http://git.savannah.gnu.org/cgit/acl.git/commit/?id=a2c4d71c2e84419a49db503ed59de4d3d1dca7dd ]
|
||||
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
|
||||
---
|
||||
exports | 12 ++----------
|
||||
getfacl/getfacl.c | 4 ++--
|
||||
include/misc.h | 8 ++++----
|
||||
libacl/__acl_to_any_text.c | 4 ++--
|
||||
libacl/acl_from_text.c | 4 ++--
|
||||
libmisc/high_water_alloc.c | 2 +-
|
||||
libmisc/next_line.c | 6 +++---
|
||||
libmisc/quote.c | 4 ++--
|
||||
libmisc/unquote.c | 2 +-
|
||||
setfacl/parse.c | 10 +++++-----
|
||||
setfacl/setfacl.c | 4 ++--
|
||||
11 files changed, 26 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/exports b/exports
|
||||
index 7d8e69e..bf15d84 100644
|
||||
--- a/exports
|
||||
+++ b/exports
|
||||
@@ -59,22 +59,14 @@ ACL_1.0 {
|
||||
acl_to_any_text;
|
||||
|
||||
local:
|
||||
- # Library internal stuff
|
||||
+ # Library internal stuff
|
||||
__new_var_obj_p;
|
||||
__new_obj_p_here;
|
||||
__free_obj_p;
|
||||
__check_obj_p;
|
||||
__ext2int_and_check;
|
||||
- __acl_reorder_entry_obj_p;
|
||||
- __acl_reorder_obj_p;
|
||||
- __acl_init_obj;
|
||||
- __acl_create_entry_obj;
|
||||
- __acl_free_acl_obj;
|
||||
- __acl_to_any_text;
|
||||
+ __acl_*;
|
||||
__apply_mask_to_mode;
|
||||
-
|
||||
- quote;
|
||||
- unquote;
|
||||
};
|
||||
|
||||
ACL_1.1 {
|
||||
diff --git a/getfacl/getfacl.c b/getfacl/getfacl.c
|
||||
index f8eaf25..af9e225 100644
|
||||
--- a/getfacl/getfacl.c
|
||||
+++ b/getfacl/getfacl.c
|
||||
@@ -90,7 +90,7 @@ int opt_numeric; /* don't convert id's to symbolic names */
|
||||
|
||||
static const char *xquote(const char *str, const char *quote_chars)
|
||||
{
|
||||
- const char *q = quote(str, quote_chars);
|
||||
+ const char *q = __acl_quote(str, quote_chars);
|
||||
if (q == NULL) {
|
||||
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
|
||||
exit(1);
|
||||
@@ -718,7 +718,7 @@ int main(int argc, char *argv[])
|
||||
do {
|
||||
if (optind == argc ||
|
||||
strcmp(argv[optind], "-") == 0) {
|
||||
- while ((line = next_line(stdin)) != NULL) {
|
||||
+ while ((line = __acl_next_line(stdin)) != NULL) {
|
||||
if (*line == '\0')
|
||||
continue;
|
||||
|
||||
diff --git a/include/misc.h b/include/misc.h
|
||||
index 0c5fdcc..c25accf 100644
|
||||
--- a/include/misc.h
|
||||
+++ b/include/misc.h
|
||||
@@ -15,9 +15,9 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
-extern int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||
+extern int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||
|
||||
-extern const char *quote(const char *str, const char *quote_chars);
|
||||
-extern char *unquote(char *str);
|
||||
+extern const char *__acl_quote(const char *str, const char *quote_chars);
|
||||
+extern char *__acl_unquote(char *str);
|
||||
|
||||
-extern char *next_line(FILE *file);
|
||||
+extern char *__acl_next_line(FILE *file);
|
||||
diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c
|
||||
index a4f9c34..19f1ccc 100644
|
||||
--- a/libacl/__acl_to_any_text.c
|
||||
+++ b/libacl/__acl_to_any_text.c
|
||||
@@ -159,7 +159,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
|
||||
if (options & TEXT_NUMERIC_IDS)
|
||||
str = NULL;
|
||||
else
|
||||
- str = quote(user_name(
|
||||
+ str = __acl_quote(user_name(
|
||||
entry_obj_p->eid.qid), ":, \t\n\r");
|
||||
if (str != NULL) {
|
||||
strncpy(text_p, str, size);
|
||||
@@ -182,7 +182,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
|
||||
if (options & TEXT_NUMERIC_IDS)
|
||||
str = NULL;
|
||||
else
|
||||
- str = quote(group_name(
|
||||
+ str = __acl_quote(group_name(
|
||||
entry_obj_p->eid.qid), ":, \t\n\r");
|
||||
if (str != NULL) {
|
||||
strncpy(text_p, str, size);
|
||||
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
|
||||
index 1e05322..f6165be 100644
|
||||
--- a/libacl/acl_from_text.c
|
||||
+++ b/libacl/acl_from_text.c
|
||||
@@ -206,7 +206,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
|
||||
str = get_token(text_p);
|
||||
if (str) {
|
||||
entry_obj.etag = ACL_USER;
|
||||
- error = get_uid(unquote(str),
|
||||
+ error = get_uid(__acl_unquote(str),
|
||||
&entry_obj.eid.qid);
|
||||
free(str);
|
||||
if (error) {
|
||||
@@ -225,7 +225,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
|
||||
str = get_token(text_p);
|
||||
if (str) {
|
||||
entry_obj.etag = ACL_GROUP;
|
||||
- error = get_gid(unquote(str),
|
||||
+ error = get_gid(__acl_unquote(str),
|
||||
&entry_obj.eid.qid);
|
||||
free(str);
|
||||
if (error) {
|
||||
diff --git a/libmisc/high_water_alloc.c b/libmisc/high_water_alloc.c
|
||||
index c127dc1..951f4bb 100644
|
||||
--- a/libmisc/high_water_alloc.c
|
||||
+++ b/libmisc/high_water_alloc.c
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <stdlib.h>
|
||||
#include "misc.h"
|
||||
|
||||
-int high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
|
||||
+int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
|
||||
{
|
||||
#define CHUNK_SIZE 256
|
||||
/*
|
||||
diff --git a/libmisc/next_line.c b/libmisc/next_line.c
|
||||
index 0566d7a..126a364 100644
|
||||
--- a/libmisc/next_line.c
|
||||
+++ b/libmisc/next_line.c
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#define LINE_SIZE getpagesize()
|
||||
|
||||
-char *next_line(FILE *file)
|
||||
+char *__acl_next_line(FILE *file)
|
||||
{
|
||||
static char *line;
|
||||
static size_t line_size;
|
||||
@@ -31,7 +31,7 @@ char *next_line(FILE *file)
|
||||
int eol = 0;
|
||||
|
||||
if (!line) {
|
||||
- if (high_water_alloc((void **)&line, &line_size, LINE_SIZE))
|
||||
+ if (__acl_high_water_alloc((void **)&line, &line_size, LINE_SIZE))
|
||||
return NULL;
|
||||
}
|
||||
c = line;
|
||||
@@ -47,7 +47,7 @@ char *next_line(FILE *file)
|
||||
if (feof(file))
|
||||
break;
|
||||
if (!eol) {
|
||||
- if (high_water_alloc((void **)&line, &line_size,
|
||||
+ if (__acl_high_water_alloc((void **)&line, &line_size,
|
||||
2 * line_size))
|
||||
return NULL;
|
||||
c = strrchr(line, '\0');
|
||||
diff --git a/libmisc/quote.c b/libmisc/quote.c
|
||||
index bf8f9eb..a28800c 100644
|
||||
--- a/libmisc/quote.c
|
||||
+++ b/libmisc/quote.c
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <string.h>
|
||||
#include "misc.h"
|
||||
|
||||
-const char *quote(const char *str, const char *quote_chars)
|
||||
+const char *__acl_quote(const char *str, const char *quote_chars)
|
||||
{
|
||||
static char *quoted_str;
|
||||
static size_t quoted_str_len;
|
||||
@@ -40,7 +40,7 @@ const char *quote(const char *str, const char *quote_chars)
|
||||
if (nonpr == 0)
|
||||
return str;
|
||||
|
||||
- if (high_water_alloc((void **)"ed_str, "ed_str_len,
|
||||
+ if (__acl_high_water_alloc((void **)"ed_str, "ed_str_len,
|
||||
(s - (unsigned char *)str) + nonpr * 3 + 1))
|
||||
return NULL;
|
||||
for (s = (unsigned char *)str, q = quoted_str; *s != '\0'; s++) {
|
||||
diff --git a/libmisc/unquote.c b/libmisc/unquote.c
|
||||
index bffebf9..4f4ce7c 100644
|
||||
--- a/libmisc/unquote.c
|
||||
+++ b/libmisc/unquote.c
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <ctype.h>
|
||||
#include "misc.h"
|
||||
|
||||
-char *unquote(char *str)
|
||||
+char *__acl_unquote(char *str)
|
||||
{
|
||||
unsigned char *s, *t;
|
||||
|
||||
diff --git a/setfacl/parse.c b/setfacl/parse.c
|
||||
index e7e6add..7433459 100644
|
||||
--- a/setfacl/parse.c
|
||||
+++ b/setfacl/parse.c
|
||||
@@ -226,7 +226,7 @@ user_entry:
|
||||
str = get_token(text_p);
|
||||
if (str) {
|
||||
cmd->c_tag = ACL_USER;
|
||||
- error = get_uid(unquote(str), &cmd->c_id);
|
||||
+ error = get_uid(__acl_unquote(str), &cmd->c_id);
|
||||
free(str);
|
||||
if (error) {
|
||||
*text_p = backup;
|
||||
@@ -245,7 +245,7 @@ user_entry:
|
||||
str = get_token(text_p);
|
||||
if (str) {
|
||||
cmd->c_tag = ACL_GROUP;
|
||||
- error = get_gid(unquote(str), &cmd->c_id);
|
||||
+ error = get_gid(__acl_unquote(str), &cmd->c_id);
|
||||
free(str);
|
||||
if (error) {
|
||||
*text_p = backup;
|
||||
@@ -466,7 +466,7 @@ read_acl_comments(
|
||||
if (strncmp(cp, "file:", 5) == 0) {
|
||||
cp += 5;
|
||||
SKIP_WS(cp);
|
||||
- cp = unquote(cp);
|
||||
+ cp = __acl_unquote(cp);
|
||||
|
||||
if (path_p) {
|
||||
if (*path_p)
|
||||
@@ -483,7 +483,7 @@ read_acl_comments(
|
||||
if (uid_p) {
|
||||
if (*uid_p != ACL_UNDEFINED_ID)
|
||||
goto fail;
|
||||
- if (get_uid(unquote(cp), uid_p) != 0)
|
||||
+ if (get_uid(__acl_unquote(cp), uid_p) != 0)
|
||||
continue;
|
||||
}
|
||||
} else if (strncmp(cp, "group:", 6) == 0) {
|
||||
@@ -493,7 +493,7 @@ read_acl_comments(
|
||||
if (gid_p) {
|
||||
if (*gid_p != ACL_UNDEFINED_ID)
|
||||
goto fail;
|
||||
- if (get_gid(unquote(cp), gid_p) != 0)
|
||||
+ if (get_gid(__acl_unquote(cp), gid_p) != 0)
|
||||
continue;
|
||||
}
|
||||
} else if (strncmp(cp, "flags:", 6) == 0) {
|
||||
diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c
|
||||
index 81062a6..fb2d172 100644
|
||||
--- a/setfacl/setfacl.c
|
||||
+++ b/setfacl/setfacl.c
|
||||
@@ -92,7 +92,7 @@ int promote_warning;
|
||||
|
||||
static const char *xquote(const char *str, const char *quote_chars)
|
||||
{
|
||||
- const char *q = quote(str, quote_chars);
|
||||
+ const char *q = __acl_quote(str, quote_chars);
|
||||
if (q == NULL) {
|
||||
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
|
||||
exit(1);
|
||||
@@ -311,7 +311,7 @@ int next_file(const char *arg, seq_t seq)
|
||||
args.seq = seq;
|
||||
|
||||
if (strcmp(arg, "-") == 0) {
|
||||
- while ((line = next_line(stdin)))
|
||||
+ while ((line = __acl_next_line(stdin)))
|
||||
errors = walk_tree(line, walk_flags, 0, do_set, &args);
|
||||
if (!feof(stdin)) {
|
||||
fprintf(stderr, _("%s: Standard input: %s\n"),
|
||||
--
|
||||
2.6.2
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
From d3bd7b29b79147b4155e78a8ea06ded98b91f92a Mon Sep 17 00:00:00 2001
|
||||
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Date: Tue, 8 May 2018 15:23:57 +0200
|
||||
Subject: [PATCH] all: use install(1) to install executables
|
||||
|
||||
When the destination file already exists, the current install script
|
||||
will overwrite it with the new executable.
|
||||
|
||||
However, when the existing executable is a symlink or hardlink to
|
||||
something else, like busybox, this effectively overwrites that something
|
||||
with the new executable, and thus replaces busybox and all its applets
|
||||
with the code for either of the three commands.
|
||||
|
||||
We fix that by simply calling install(1). install(1) is sufficiently
|
||||
widespread that we don't bother checking for it, as tis is just a
|
||||
workaround while waiting for the version bump that will eventually fix
|
||||
it for good.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
---
|
||||
chacl/Makefile | 4 ++--
|
||||
getfacl/Makefile | 4 ++--
|
||||
setfacl/Makefile | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/chacl/Makefile b/chacl/Makefile
|
||||
index 33858d6..c857329 100644
|
||||
--- a/chacl/Makefile
|
||||
+++ b/chacl/Makefile
|
||||
@@ -30,6 +30,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
diff --git a/getfacl/Makefile b/getfacl/Makefile
|
||||
index 7fbafda..8ac63e0 100644
|
||||
--- a/getfacl/Makefile
|
||||
+++ b/getfacl/Makefile
|
||||
@@ -31,6 +31,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
diff --git a/setfacl/Makefile b/setfacl/Makefile
|
||||
index c44e7c0..eea2ede 100644
|
||||
--- a/setfacl/Makefile
|
||||
+++ b/setfacl/Makefile
|
||||
@@ -31,6 +31,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23 acl-2.2.52.src.tar.gz
|
||||
sha256 06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7 acl-2.2.53.tar.gz
|
||||
|
||||
+7
-43
@@ -4,54 +4,18 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ACL_VERSION = 2.2.52
|
||||
ACL_SOURCE = acl-$(ACL_VERSION).src.tar.gz
|
||||
ACL_VERSION = 2.2.53
|
||||
ACL_SITE = http://download.savannah.gnu.org/releases/acl
|
||||
ACL_INSTALL_STAGING = YES
|
||||
ACL_DEPENDENCIES = attr
|
||||
ACL_CONF_OPTS = --enable-gettext=no
|
||||
ACL_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)
|
||||
ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
|
||||
|
||||
# While the configuration system uses autoconf, the Makefiles are
|
||||
# hand-written and do not use automake. Therefore, we have to hack
|
||||
# around their deficiencies by:
|
||||
# - explicitly passing CFLAGS (LDFLAGS are passed on from configure,
|
||||
# CFLAGS are not).
|
||||
# - explicitly passing the installation prefix, not using DESTDIR.
|
||||
|
||||
ACL_MAKE_ENV = CFLAGS="$(TARGET_CFLAGS)"
|
||||
|
||||
ACL_INSTALL_STAGING_OPTS = \
|
||||
prefix=$(STAGING_DIR)/usr \
|
||||
exec_prefix=$(STAGING_DIR)/usr \
|
||||
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
|
||||
install-dev install-lib
|
||||
|
||||
ACL_INSTALL_TARGET_OPTS = \
|
||||
prefix=$(TARGET_DIR)/usr \
|
||||
exec_prefix=$(TARGET_DIR)/usr \
|
||||
install install-lib
|
||||
|
||||
# The libdir variable in libacl.la is empty, so let's fix it. This is
|
||||
# probably due to acl not using automake, and not doing fully the
|
||||
# right thing with libtool.
|
||||
define ACL_FIX_LIBTOOL_LA_LIBDIR
|
||||
$(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
|
||||
$(STAGING_DIR)/usr/lib/libacl.la
|
||||
endef
|
||||
|
||||
ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR
|
||||
|
||||
ACL_DEPENDENCIES = attr
|
||||
HOST_ACL_DEPENDENCIES = host-attr
|
||||
HOST_ACL_CONF_OPTS = --enable-gettext=no
|
||||
HOST_ACL_MAKE_ENV = CFLAGS="$(HOST_CFLAGS)"
|
||||
HOST_ACL_INSTALL_OPTS = \
|
||||
prefix=$(HOST_DIR) \
|
||||
exec_prefix=$(HOST_DIR) \
|
||||
PKG_DEVLIB_DIR=$(HOST_DIR)/lib \
|
||||
install-dev install-lib
|
||||
# For the host, libacl.la is correct, no fixup needed.
|
||||
|
||||
ACL_INSTALL_STAGING = YES
|
||||
|
||||
ACL_CONF_OPTS = --disable-nls
|
||||
HOST_ACL_CONF_OPTS = --disable-nls
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# From http://archive.apache.org/dist/httpd/httpd-2.4.33.tar.bz2.sha256
|
||||
sha256 de02511859b00d17845b9abdd1f975d5ccb5d0b280c567da5bf2ad4b70846f05 httpd-2.4.33.tar.bz2
|
||||
# From http://archive.apache.org/dist/httpd/httpd-2.4.34.tar.bz2.sha256
|
||||
sha256 fa53c95631febb08a9de41fd2864cfff815cf62d9306723ab0d4b8d7aa1638f0 httpd-2.4.34.tar.bz2
|
||||
# Locally computed
|
||||
sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
APACHE_VERSION = 2.4.33
|
||||
APACHE_VERSION = 2.4.34
|
||||
APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2
|
||||
APACHE_SITE = http://archive.apache.org/dist/httpd
|
||||
APACHE_LICENSE = Apache-2.0
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
From 3ac428794ea0f95c854166c9c0cffb0267c5e98b Mon Sep 17 00:00:00 2001
|
||||
From: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
Date: Mon, 30 Jul 2018 14:17:21 -0700
|
||||
Subject: [PATCH] Remove messages in "deprecated" gcc attributes
|
||||
|
||||
GCC versions up through 4.4.7 (which is used in RHEL 6) do not accept
|
||||
any argument for the deprecated attribute. GCC 4.5 and later say the
|
||||
"msg" argument is optional. We don't need the messages during
|
||||
Buildroot builds anyways.
|
||||
|
||||
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
---
|
||||
include/attributes.h | 20 ++++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/include/attributes.h b/include/attributes.h
|
||||
index 14beb8f..23c39c8 100644
|
||||
--- a/include/attributes.h
|
||||
+++ b/include/attributes.h
|
||||
@@ -127,10 +127,10 @@ typedef struct attr_multiop {
|
||||
*/
|
||||
EXPORT int attr_get (const char *__path, const char *__attrname,
|
||||
char *__attrvalue, int *__valuelength, int __flags)
|
||||
- __attribute__ ((deprecated ("Use getxattr or lgetxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue,
|
||||
int *__valuelength, int __flags)
|
||||
- __attribute__ ((deprecated ("Use fgetxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
|
||||
/*
|
||||
* Set the value of an attribute, creating the attribute if necessary.
|
||||
@@ -139,11 +139,11 @@ EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue,
|
||||
EXPORT int attr_set (const char *__path, const char *__attrname,
|
||||
const char *__attrvalue, const int __valuelength,
|
||||
int __flags)
|
||||
- __attribute__ ((deprecated ("Use setxattr or lsetxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
EXPORT int attr_setf (int __fd, const char *__attrname,
|
||||
const char *__attrvalue, const int __valuelength,
|
||||
int __flags)
|
||||
- __attribute__ ((deprecated ("Use fsetxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
|
||||
/*
|
||||
* Remove an attribute.
|
||||
@@ -151,9 +151,9 @@ EXPORT int attr_setf (int __fd, const char *__attrname,
|
||||
*/
|
||||
EXPORT int attr_remove (const char *__path, const char *__attrname,
|
||||
int __flags)
|
||||
- __attribute__ ((deprecated ("Use removexattr or lremovexattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
EXPORT int attr_removef (int __fd, const char *__attrname, int __flags)
|
||||
- __attribute__ ((deprecated ("Use fremovexattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
|
||||
/*
|
||||
* List the names and sizes of the values of all the attributes of an object.
|
||||
@@ -164,10 +164,10 @@ EXPORT int attr_removef (int __fd, const char *__attrname, int __flags)
|
||||
*/
|
||||
EXPORT int attr_list(const char *__path, char *__buffer, const int __buffersize,
|
||||
int __flags, attrlist_cursor_t *__cursor)
|
||||
- __attribute__ ((deprecated ("Use listxattr or llistxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize,
|
||||
int __flags, attrlist_cursor_t *__cursor)
|
||||
- __attribute__ ((deprecated ("Use flistxattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
|
||||
/*
|
||||
* Operate on multiple attributes of the same object simultaneously.
|
||||
@@ -188,10 +188,10 @@ EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize,
|
||||
*/
|
||||
EXPORT int attr_multi (const char *__path, attr_multiop_t *__oplist,
|
||||
int __count, int __flags)
|
||||
- __attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
EXPORT int attr_multif (int __fd, attr_multiop_t *__oplist,
|
||||
int __count, int __flags)
|
||||
- __attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead")));
|
||||
+ __attribute__ ((deprecated));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
--
|
||||
2.13.0
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
Support installation of .a file when doing static linking
|
||||
|
||||
When doing static linking (i.e ENABLE_SHARED != yes), the attr build
|
||||
logic wasn't installing any library at all, not even the .a file which
|
||||
is needed for static linking. This patch fixes that.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/include/buildmacros
|
||||
===================================================================
|
||||
--- a/include/buildmacros
|
||||
+++ b/include/buildmacros
|
||||
@@ -97,7 +97,15 @@
|
||||
|
||||
INSTALL_LTLIB_STATIC = \
|
||||
cd $(TOPDIR)/$(LIBNAME)/.libs; \
|
||||
- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR);
|
||||
+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
|
||||
+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \
|
||||
+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
|
||||
+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
||||
+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \
|
||||
+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
|
||||
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
|
||||
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
|
||||
+ fi
|
||||
|
||||
INSTALL_MAN = \
|
||||
@for d in $(MAN_PAGES); do \
|
||||
@@ -1,37 +0,0 @@
|
||||
From 667137acaffb8d0cc62b47821a67a52ba0637d5c Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Fri, 10 Jan 2014 13:56:37 +0000
|
||||
Subject: avoid glibc-specific DECLS defines
|
||||
|
||||
This matches what we do in all the other headers.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
diff --git a/include/xattr.h b/include/xattr.h
|
||||
index 70a84be..070d7c5 100644
|
||||
--- a/include/xattr.h
|
||||
+++ b/include/xattr.h
|
||||
@@ -30,8 +30,9 @@
|
||||
#define XATTR_CREATE 0x1 /* set value, fail if attr already exists */
|
||||
#define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */
|
||||
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
|
||||
extern int setxattr (const char *__path, const char *__name,
|
||||
const void *__value, size_t __size, int __flags) __THROW;
|
||||
@@ -58,6 +59,8 @@ extern int removexattr (const char *__path, const char *__name) __THROW;
|
||||
extern int lremovexattr (const char *__path, const char *__name) __THROW;
|
||||
extern int fremovexattr (int __filedes, const char *__name) __THROW;
|
||||
|
||||
-__END_DECLS
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#endif /* __XATTR_H__ */
|
||||
--
|
||||
cgit v0.9.0.2
|
||||
@@ -1,37 +0,0 @@
|
||||
From 92247401984dd9a80d9d0c8c030692323f980678 Mon Sep 17 00:00:00 2001
|
||||
From: Emmanuel Dreyfus <manu@netbsd.org>
|
||||
Date: Mon, 30 Jun 2014 13:06:05 +0000
|
||||
Subject: Portability fixes
|
||||
|
||||
- <features.h> is Linux specific
|
||||
- Define __THROW for non glibc based systems
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
(limited to 'include/xattr.h')
|
||||
|
||||
diff --git a/include/xattr.h b/include/xattr.h
|
||||
index 070d7c5..fd1f268 100644
|
||||
--- a/include/xattr.h
|
||||
+++ b/include/xattr.h
|
||||
@@ -20,7 +20,18 @@
|
||||
#ifndef __XATTR_H__
|
||||
#define __XATTR_H__
|
||||
|
||||
+#if defined(linux)
|
||||
#include <features.h>
|
||||
+#endif
|
||||
+
|
||||
+/* Portability non glibc c++ build systems */
|
||||
+#ifndef __THROW
|
||||
+# if defined __cplusplus
|
||||
+# define __THROW throw ()
|
||||
+# else
|
||||
+# define __THROW
|
||||
+# endif
|
||||
+#endif
|
||||
|
||||
#include <errno.h>
|
||||
#ifndef ENOATTR
|
||||
--
|
||||
cgit v0.9.0.2
|
||||
@@ -1,67 +0,0 @@
|
||||
From 4187e60ab52cac3ed36036a354977310dab68dcb Mon Sep 17 00:00:00 2001
|
||||
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Date: Tue, 8 May 2018 15:16:10 +0200
|
||||
Subject: [PATCH] all: use install(1) to install executables
|
||||
|
||||
When the destination file already exists, the current install script
|
||||
will overwrite it with the new executable.
|
||||
|
||||
However, when the existing executable is a symlink or hardlink to
|
||||
something else, like busybox, this effectively overwrites that something
|
||||
with the new executable, and thus replaces busybox and all its applets
|
||||
with the code for either of the three commands.
|
||||
|
||||
We fix that by simply calling install(1). install(1) is sufficiently
|
||||
widespread that we don't bother checking for it, as this is just a
|
||||
workaround while waiting for the version bump that will eventually fix
|
||||
it for good.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
---
|
||||
attr/Makefile | 4 ++--
|
||||
getfattr/Makefile | 4 ++--
|
||||
setfattr/Makefile | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/attr/Makefile b/attr/Makefile
|
||||
index 1c467e8..326dd7e 100644
|
||||
--- a/attr/Makefile
|
||||
+++ b/attr/Makefile
|
||||
@@ -29,6 +29,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
diff --git a/getfattr/Makefile b/getfattr/Makefile
|
||||
index 91d3df2..f913172 100644
|
||||
--- a/getfattr/Makefile
|
||||
+++ b/getfattr/Makefile
|
||||
@@ -30,6 +30,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
diff --git a/setfattr/Makefile b/setfattr/Makefile
|
||||
index d55461b..26dc5d8 100644
|
||||
--- a/setfattr/Makefile
|
||||
+++ b/setfattr/Makefile
|
||||
@@ -30,6 +30,6 @@ default: $(LTCOMMAND)
|
||||
include $(BUILDRULES)
|
||||
|
||||
install: default
|
||||
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
||||
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
||||
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
||||
+
|
||||
install-dev install-lib:
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859 attr-2.4.47.src.tar.gz
|
||||
sha256 5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7 attr-2.4.48.tar.gz
|
||||
|
||||
+4
-32
@@ -4,43 +4,15 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ATTR_VERSION = 2.4.47
|
||||
ATTR_SOURCE = attr-$(ATTR_VERSION).src.tar.gz
|
||||
ATTR_VERSION = 2.4.48
|
||||
ATTR_SITE = http://download.savannah.gnu.org/releases/attr
|
||||
ATTR_INSTALL_STAGING = YES
|
||||
ATTR_CONF_OPTS = --enable-gettext=no
|
||||
HOST_ATTR_CONF_OPTS = --enable-gettext=no
|
||||
ATTR_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)
|
||||
ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
|
||||
|
||||
# While the configuration system uses autoconf, the Makefiles are
|
||||
# hand-written and do not use automake. Therefore, we have to hack
|
||||
# around their deficiencies by passing installation paths.
|
||||
ATTR_INSTALL_STAGING_OPTS = \
|
||||
prefix=$(STAGING_DIR)/usr \
|
||||
exec_prefix=$(STAGING_DIR)/usr \
|
||||
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
|
||||
install-dev install-lib
|
||||
ATTR_INSTALL_STAGING = YES
|
||||
|
||||
ATTR_INSTALL_TARGET_OPTS = \
|
||||
prefix=$(TARGET_DIR)/usr \
|
||||
exec_prefix=$(TARGET_DIR)/usr \
|
||||
install install-lib
|
||||
|
||||
HOST_ATTR_INSTALL_OPTS = \
|
||||
prefix=$(HOST_DIR) \
|
||||
exec_prefix=$(HOST_DIR) \
|
||||
install-dev install-lib
|
||||
|
||||
# The libdir variable in libattr.la is empty, so let's fix it. This is
|
||||
# probably due to attr not using automake, and not doing fully the
|
||||
# right thing with libtool.
|
||||
define ATTR_FIX_LIBTOOL_LA_LIBDIR
|
||||
$(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
|
||||
$(STAGING_DIR)/usr/lib/libattr.la
|
||||
endef
|
||||
|
||||
ATTR_POST_INSTALL_STAGING_HOOKS += ATTR_FIX_LIBTOOL_LA_LIBDIR
|
||||
ATTR_CONF_OPTS = --disable-nls
|
||||
HOST_ATTR_CONF_OPTS = --disable-nls
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Verified from https://ftp.isc.org/isc/bind9/9.11.4/bind-9.11.4.tar.gz.asc
|
||||
# Verified from https://ftp.isc.org/isc/bind9/9.11.4-P1/bind-9.11.4-P1.tar.gz.asc
|
||||
# with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57
|
||||
sha256 595070b031f869f8939656b5a5d11b121211967f15f6afeafa895df745279617 bind-9.11.4.tar.gz
|
||||
sha256 b0e0dc3c8bf26989b1cad53f90d44a48e39404afc68f65c45bae79b446f0fe23 bind-9.11.4-P1.tar.gz
|
||||
sha256 336f3c40e37a1a13690efb4c63e20908faa4c40498cc02f3579fb67d3a1933a5 COPYRIGHT
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BIND_VERSION = 9.11.4
|
||||
BIND_VERSION = 9.11.4-P1
|
||||
BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION)
|
||||
# bind does not support parallel builds.
|
||||
BIND_MAKE = $(MAKE1)
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 088666535a045dae71bd2fcc6b3a1553023106ce Mon Sep 17 00:00:00 2001
|
||||
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Date: Wed, 22 Aug 2018 10:10:19 +0200
|
||||
Subject: [PATCH] buildsys: fix cross-compilation
|
||||
|
||||
Some identifiers for includes and libs paths may contain digit, e.g.
|
||||
X11_PACKAGE or ATSPI2_PACKAGE or GLIB2_PACKAGE...
|
||||
|
||||
Also detect those identifiers when doing cros-compilation, so that the
|
||||
_FOR_BUILD variants are really created and do not clash with the target
|
||||
variants.
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.org/results/a37/a37782b3cfc1a96cc129db8fade20a36a7b2d470/build-end.log
|
||||
http://autobuild.buildroot.org/results/97e/97edc6a47d2140968e84b409cdc960604e5896f2/build-end.log
|
||||
[...]
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
---
|
||||
Upstram status: submitted
|
||||
https://github.com/brltty/brltty/pull/142
|
||||
---
|
||||
mk4build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mk4build b/mk4build
|
||||
index db90c86a9..551283825 100755
|
||||
--- a/mk4build
|
||||
+++ b/mk4build
|
||||
@@ -112,7 +112,7 @@ fi
|
||||
|
||||
sedScript="${outputName}.${sedExtension}"
|
||||
sed -n -e '
|
||||
-s/^ *\([A-Za-z][A-Za-z_]*\) *=.*$/\1/
|
||||
+s/^ *\([A-Za-z][A-Za-z0-9_]*\) *=.*$/\1/
|
||||
t found
|
||||
d
|
||||
:found
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -5,5 +5,3 @@ config BR2_PACKAGE_BZIP2
|
||||
It typically compresses files to within 10% to 15% of the best
|
||||
available techniques, while being around twice as fast at
|
||||
compression and six times faster at decompression.
|
||||
|
||||
http://www.bzip.org
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
BZIP2_VERSION = 1.0.6
|
||||
BZIP2_SITE = http://www.bzip.org/$(BZIP2_VERSION)
|
||||
BZIP2_SITE = http://sources.buildroot.net
|
||||
BZIP2_INSTALL_STAGING = YES
|
||||
BZIP2_LICENSE = bzip2 license
|
||||
BZIP2_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 7c5bd948bb7e21fa0ee22f29e97748b2d0360319 Mon Sep 17 00:00:00 2001
|
||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Thu, 17 May 2018 14:16:58 +0200
|
||||
Subject: [PATCH] util: fall back to reading /dev/urandom when getrandom()
|
||||
blocks
|
||||
|
||||
With recent changes in the Linux kernel, the getrandom() system call may
|
||||
block for a long time after boot on machines that don't have enough
|
||||
entropy. It blocks the chronyd's initialization before it can detach
|
||||
from the terminal and may cause a chronyd service to fail to start due
|
||||
to a timeout.
|
||||
|
||||
At least for now, enable the GRND_NONBLOCK flag to make the system call
|
||||
non-blocking and let the code fall back to reading /dev/urandom (which
|
||||
never blocks) if the system call failed with EAGAIN or any other error.
|
||||
|
||||
This makes the start of chronyd non-deterministic with respect to files
|
||||
that it needs to open and possibly also makes it slightly easier to
|
||||
guess the transmit/receive timestamp in client requests until the
|
||||
urandom source is fully initialized.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
util.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util.c b/util.c
|
||||
index 4b3e455..76417d5 100644
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -1224,7 +1224,7 @@ get_random_bytes_getrandom(char *buf, unsigned int len)
|
||||
if (disabled)
|
||||
break;
|
||||
|
||||
- if (getrandom(rand_buf, sizeof (rand_buf), 0) != sizeof (rand_buf)) {
|
||||
+ if (getrandom(rand_buf, sizeof (rand_buf), GRND_NONBLOCK) != sizeof (rand_buf)) {
|
||||
disabled = 1;
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -15,7 +15,7 @@ config BR2_PACKAGE_CRDA
|
||||
query and apply the regulatory domain settings wireless
|
||||
devices may operate within for a given location.
|
||||
|
||||
http://linuxwireless.org/en/developers/Regulatory/CRDA
|
||||
https://wireless.wiki.kernel.org/en/developers/regulatory/crda
|
||||
|
||||
comment "crda needs a toolchain w/ threads, dynamic library"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 567e7f8664c621f8aeaa95d9f4ab4b590574f572 Mon Sep 17 00:00:00 2001
|
||||
From: Baruch Siach <baruch@tkos.co.il>
|
||||
Date: Wed, 15 Aug 2018 14:13:46 +0300
|
||||
Subject: [PATCH] Remove json_object typedef
|
||||
|
||||
The json-c header already defines the same typedef. While C11 allows
|
||||
typedef redefinition to the same type, older versions of gcc disallow
|
||||
that.
|
||||
|
||||
In file included from lib/luks2/luks2_internal.h:32,
|
||||
from lib/luks2/luks2_disk_metadata.c:24:
|
||||
lib/luks2/luks2.h:86: error: redefinition of typedef 'json_object'
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
lib/luks2/luks2.h | 1 -
|
||||
lib/setup.c | 1 +
|
||||
2 files changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/luks2/luks2.h b/lib/luks2/luks2.h
|
||||
index ee57b41ba974..25e36190da45 100644
|
||||
--- a/lib/luks2/luks2.h
|
||||
+++ b/lib/luks2/luks2.h
|
||||
@@ -83,7 +83,6 @@ struct luks2_hdr_disk {
|
||||
/*
|
||||
* LUKS2 header in-memory.
|
||||
*/
|
||||
-typedef struct json_object json_object;
|
||||
struct luks2_hdr {
|
||||
size_t hdr_size;
|
||||
uint64_t seqid;
|
||||
diff --git a/lib/setup.c b/lib/setup.c
|
||||
index fddbe7ef7897..856f6e80f465 100644
|
||||
--- a/lib/setup.c
|
||||
+++ b/lib/setup.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <sys/utsname.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
+#include <json-c/json.h>
|
||||
|
||||
#include "libcryptsetup.h"
|
||||
#include "luks.h"
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/sha256sums.asc
|
||||
sha256 adc623b9e3e3ab5c14145b8baf21b741e513ee5bf90d2b4d85a745c2f05da199 cryptsetup-2.0.0.tar.xz
|
||||
sha256 4d6cca04c1f5ff4a68d045d190efb2623087eda0274ded92f92a4b6911e501d4 cryptsetup-2.0.3.tar.xz
|
||||
sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING
|
||||
sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
CRYPTSETUP_VERSION_MAJOR = 2.0
|
||||
CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).0
|
||||
CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3
|
||||
CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz
|
||||
CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR)
|
||||
CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c \
|
||||
@@ -36,7 +36,8 @@ HOST_CRYPTSETUP_DEPENDENCIES = \
|
||||
host-json-c \
|
||||
host-openssl
|
||||
|
||||
HOST_CRYPTSETUP_CONF_OPTS = --with-crypto-backend=openssl
|
||||
HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \
|
||||
--disable-kernel_crypto
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -15,9 +15,5 @@ config BR2_PACKAGE_DAHDI_TOOLS
|
||||
|
||||
http://www.asterisk.org/downloads/dahdi
|
||||
|
||||
# Two comments, otherwise it may not fit in menuconfig for narrow terminals
|
||||
comment "dahdi-tools needs a toolchain w/ threads"
|
||||
comment "dahdi-tools needs a toolchain w/ threads and a Linux kernel to be built"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LINUX_KERNEL
|
||||
|
||||
comment "dahdi-tools needs a Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
config BR2_PACKAGE_DMIDECODE
|
||||
bool "dmidecode"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_aarch64 || BR2_i386 || BR2_x86_64
|
||||
help
|
||||
Dmidecode reports information about your system's hardware
|
||||
as described in your system BIOS according to the SMBIOS/DMI
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
# HG changeset patch
|
||||
# User Matt Johnston <matt@ucc.asn.au>
|
||||
# Date 1520519133 -28800
|
||||
# Node ID 0dc3103a5900971d1d06d9101e062ddbd1112436
|
||||
# Parent 0f149d63068d90705db7fb52c8dea15ff32eedd7
|
||||
Only advertise a single server ecdsa key when -R (generate as required) is
|
||||
specified. Fixes -R now that default ecdsa key size has changed.
|
||||
|
||||
Upstream-URL: https://secure.ucc.asn.au/hg/dropbear/rev/0dc3103a5900
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
diff -r 0f149d63068d -r 0dc3103a5900 svr-runopts.c
|
||||
--- a/svr-runopts.c Thu Mar 08 22:22:11 2018 +0800
|
||||
+++ b/svr-runopts.c Thu Mar 08 22:25:33 2018 +0800
|
||||
@@ -526,8 +526,10 @@
|
||||
|
||||
void load_all_hostkeys() {
|
||||
int i;
|
||||
- int disable_unset_keys = 1;
|
||||
int any_keys = 0;
|
||||
+#ifdef DROPBEAR_ECDSA
|
||||
+ int loaded_any_ecdsa = 0;
|
||||
+#endif
|
||||
|
||||
svr_opts.hostkey = new_sign_key();
|
||||
|
||||
@@ -552,14 +554,8 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if DROPBEAR_DELAY_HOSTKEY
|
||||
- if (svr_opts.delay_hostkey) {
|
||||
- disable_unset_keys = 0;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
#if DROPBEAR_RSA
|
||||
- if (disable_unset_keys && !svr_opts.hostkey->rsakey) {
|
||||
+ if (!svr_opts.delay_hostkey && !svr_opts.hostkey->rsakey) {
|
||||
disablekey(DROPBEAR_SIGNKEY_RSA);
|
||||
} else {
|
||||
any_keys = 1;
|
||||
@@ -567,39 +563,54 @@
|
||||
#endif
|
||||
|
||||
#if DROPBEAR_DSS
|
||||
- if (disable_unset_keys && !svr_opts.hostkey->dsskey) {
|
||||
+ if (!svr_opts.delay_hostkey && !svr_opts.hostkey->dsskey) {
|
||||
disablekey(DROPBEAR_SIGNKEY_DSS);
|
||||
} else {
|
||||
any_keys = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if DROPBEAR_ECDSA
|
||||
+ /* We want to advertise a single ecdsa algorithm size.
|
||||
+ - If there is a ecdsa hostkey at startup we choose that that size.
|
||||
+ - If we generate at runtime we choose the default ecdsa size.
|
||||
+ - Otherwise no ecdsa keys will be advertised */
|
||||
|
||||
-#if DROPBEAR_ECDSA
|
||||
+ /* check if any keys were loaded at startup */
|
||||
+ loaded_any_ecdsa =
|
||||
+ 0
|
||||
#if DROPBEAR_ECC_256
|
||||
- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 256)
|
||||
- && !svr_opts.hostkey->ecckey256) {
|
||||
+ || svr_opts.hostkey->ecckey256
|
||||
+#endif
|
||||
+#if DROPBEAR_ECC_384
|
||||
+ || svr_opts.hostkey->ecckey384
|
||||
+#endif
|
||||
+#if DROPBEAR_ECC_521
|
||||
+ || svr_opts.hostkey->ecckey521
|
||||
+#endif
|
||||
+ ;
|
||||
+ any_keys |= loaded_any_ecdsa;
|
||||
+
|
||||
+ /* Or an ecdsa key could be generated at runtime */
|
||||
+ any_keys |= svr_opts.delay_hostkey;
|
||||
+
|
||||
+ /* At most one ecdsa key size will be left enabled */
|
||||
+#if DROPBEAR_ECC_256
|
||||
+ if (!svr_opts.hostkey->ecckey256
|
||||
+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 256 )) {
|
||||
disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP256);
|
||||
- } else {
|
||||
- any_keys = 1;
|
||||
}
|
||||
#endif
|
||||
-
|
||||
#if DROPBEAR_ECC_384
|
||||
- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 384)
|
||||
- && !svr_opts.hostkey->ecckey384) {
|
||||
+ if (!svr_opts.hostkey->ecckey384
|
||||
+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 384 )) {
|
||||
disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP384);
|
||||
- } else {
|
||||
- any_keys = 1;
|
||||
}
|
||||
#endif
|
||||
-
|
||||
#if DROPBEAR_ECC_521
|
||||
- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 521)
|
||||
- && !svr_opts.hostkey->ecckey521) {
|
||||
+ if (!svr_opts.hostkey->ecckey521
|
||||
+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 521 )) {
|
||||
disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP521);
|
||||
- } else {
|
||||
- any_keys = 1;
|
||||
}
|
||||
#endif
|
||||
#endif /* DROPBEAR_ECDSA */
|
||||
|
||||
@@ -0,0 +1,236 @@
|
||||
From 52adbb34c32d3e2e1bcdb941e20a6f81138b8248 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Johnston <matt@ucc.asn.au>
|
||||
Date: Thu, 23 Aug 2018 23:43:12 +0800
|
||||
Subject: [PATCH] Wait to fail invalid usernames
|
||||
|
||||
[hg: https://secure.ucc.asn.au/hg/dropbear/rev/5d2d1021ca00]
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
auth.h | 6 +++---
|
||||
svr-auth.c | 19 +++++--------------
|
||||
svr-authpam.c | 26 ++++++++++++++++++++++----
|
||||
svr-authpasswd.c | 27 ++++++++++++++-------------
|
||||
svr-authpubkey.c | 11 ++++++++++-
|
||||
5 files changed, 54 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/auth.h b/auth.h
|
||||
index da498f5..98f5468 100644
|
||||
--- a/auth.h
|
||||
+++ b/auth.h
|
||||
@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void);
|
||||
void send_msg_userauth_failure(int partial, int incrfail);
|
||||
void send_msg_userauth_success(void);
|
||||
void send_msg_userauth_banner(const buffer *msg);
|
||||
-void svr_auth_password(void);
|
||||
-void svr_auth_pubkey(void);
|
||||
-void svr_auth_pam(void);
|
||||
+void svr_auth_password(int valid_user);
|
||||
+void svr_auth_pubkey(int valid_user);
|
||||
+void svr_auth_pam(int valid_user);
|
||||
|
||||
#if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT
|
||||
int svr_pubkey_allows_agentfwd(void);
|
||||
diff --git a/svr-auth.c b/svr-auth.c
|
||||
index c19c090..edde86b 100644
|
||||
--- a/svr-auth.c
|
||||
+++ b/svr-auth.c
|
||||
@@ -149,10 +149,8 @@ void recv_msg_userauth_request() {
|
||||
if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
|
||||
strncmp(methodname, AUTH_METHOD_PASSWORD,
|
||||
AUTH_METHOD_PASSWORD_LEN) == 0) {
|
||||
- if (valid_user) {
|
||||
- svr_auth_password();
|
||||
- goto out;
|
||||
- }
|
||||
+ svr_auth_password(valid_user);
|
||||
+ goto out;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -164,10 +162,8 @@ void recv_msg_userauth_request() {
|
||||
if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
|
||||
strncmp(methodname, AUTH_METHOD_PASSWORD,
|
||||
AUTH_METHOD_PASSWORD_LEN) == 0) {
|
||||
- if (valid_user) {
|
||||
- svr_auth_pam();
|
||||
- goto out;
|
||||
- }
|
||||
+ svr_auth_pam(valid_user);
|
||||
+ goto out;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -177,12 +173,7 @@ void recv_msg_userauth_request() {
|
||||
if (methodlen == AUTH_METHOD_PUBKEY_LEN &&
|
||||
strncmp(methodname, AUTH_METHOD_PUBKEY,
|
||||
AUTH_METHOD_PUBKEY_LEN) == 0) {
|
||||
- if (valid_user) {
|
||||
- svr_auth_pubkey();
|
||||
- } else {
|
||||
- /* pubkey has no failure delay */
|
||||
- send_msg_userauth_failure(0, 0);
|
||||
- }
|
||||
+ svr_auth_pubkey(valid_user);
|
||||
goto out;
|
||||
}
|
||||
#endif
|
||||
diff --git a/svr-authpam.c b/svr-authpam.c
|
||||
index 05e4f3e..d201bc9 100644
|
||||
--- a/svr-authpam.c
|
||||
+++ b/svr-authpam.c
|
||||
@@ -178,13 +178,14 @@ pamConvFunc(int num_msg,
|
||||
* Keyboard interactive would be a lot nicer, but since PAM is synchronous, it
|
||||
* gets very messy trying to send the interactive challenges, and read the
|
||||
* interactive responses, over the network. */
|
||||
-void svr_auth_pam() {
|
||||
+void svr_auth_pam(int valid_user) {
|
||||
|
||||
struct UserDataS userData = {NULL, NULL};
|
||||
struct pam_conv pamConv = {
|
||||
pamConvFunc,
|
||||
&userData /* submitted to pamvConvFunc as appdata_ptr */
|
||||
};
|
||||
+ const char* printable_user = NULL;
|
||||
|
||||
pam_handle_t* pamHandlep = NULL;
|
||||
|
||||
@@ -204,12 +205,23 @@ void svr_auth_pam() {
|
||||
|
||||
password = buf_getstring(ses.payload, &passwordlen);
|
||||
|
||||
+ /* We run the PAM conversation regardless of whether the username is valid
|
||||
+ in case the conversation function has an inherent delay.
|
||||
+ Use ses.authstate.username rather than ses.authstate.pw_name.
|
||||
+ After PAM succeeds we then check the valid_user flag too */
|
||||
+
|
||||
/* used to pass data to the PAM conversation function - don't bother with
|
||||
* strdup() etc since these are touched only by our own conversation
|
||||
* function (above) which takes care of it */
|
||||
- userData.user = ses.authstate.pw_name;
|
||||
+ userData.user = ses.authstate.username;
|
||||
userData.passwd = password;
|
||||
|
||||
+ if (ses.authstate.pw_name) {
|
||||
+ printable_user = ses.authstate.pw_name;
|
||||
+ } else {
|
||||
+ printable_user = "<invalid username>";
|
||||
+ }
|
||||
+
|
||||
/* Init pam */
|
||||
if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) {
|
||||
dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s",
|
||||
@@ -242,7 +254,7 @@ void svr_auth_pam() {
|
||||
rc, pam_strerror(pamHandlep, rc));
|
||||
dropbear_log(LOG_WARNING,
|
||||
"Bad PAM password attempt for '%s' from %s",
|
||||
- ses.authstate.pw_name,
|
||||
+ printable_user,
|
||||
svr_ses.addrstring);
|
||||
send_msg_userauth_failure(0, 1);
|
||||
goto cleanup;
|
||||
@@ -253,12 +265,18 @@ void svr_auth_pam() {
|
||||
rc, pam_strerror(pamHandlep, rc));
|
||||
dropbear_log(LOG_WARNING,
|
||||
"Bad PAM password attempt for '%s' from %s",
|
||||
- ses.authstate.pw_name,
|
||||
+ printable_user,
|
||||
svr_ses.addrstring);
|
||||
send_msg_userauth_failure(0, 1);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+ if (!valid_user) {
|
||||
+ /* PAM auth succeeded but the username isn't allowed in for another reason
|
||||
+ (checkusername() failed) */
|
||||
+ send_msg_userauth_failure(0, 1);
|
||||
+ }
|
||||
+
|
||||
/* successful authentication */
|
||||
dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s",
|
||||
ses.authstate.pw_name,
|
||||
diff --git a/svr-authpasswd.c b/svr-authpasswd.c
|
||||
index bdee2aa..69c7d8a 100644
|
||||
--- a/svr-authpasswd.c
|
||||
+++ b/svr-authpasswd.c
|
||||
@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) {
|
||||
|
||||
/* Process a password auth request, sending success or failure messages as
|
||||
* appropriate */
|
||||
-void svr_auth_password() {
|
||||
+void svr_auth_password(int valid_user) {
|
||||
|
||||
char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */
|
||||
char * testcrypt = NULL; /* crypt generated from the user's password sent */
|
||||
- char * password;
|
||||
+ char * password = NULL;
|
||||
unsigned int passwordlen;
|
||||
-
|
||||
unsigned int changepw;
|
||||
|
||||
- passwdcrypt = ses.authstate.pw_passwd;
|
||||
-
|
||||
-#ifdef DEBUG_HACKCRYPT
|
||||
- /* debugging crypt for non-root testing with shadows */
|
||||
- passwdcrypt = DEBUG_HACKCRYPT;
|
||||
-#endif
|
||||
-
|
||||
/* check if client wants to change password */
|
||||
changepw = buf_getbool(ses.payload);
|
||||
if (changepw) {
|
||||
@@ -73,12 +65,21 @@ void svr_auth_password() {
|
||||
}
|
||||
|
||||
password = buf_getstring(ses.payload, &passwordlen);
|
||||
-
|
||||
- /* the first bytes of passwdcrypt are the salt */
|
||||
- testcrypt = crypt(password, passwdcrypt);
|
||||
+ if (valid_user) {
|
||||
+ /* the first bytes of passwdcrypt are the salt */
|
||||
+ passwdcrypt = ses.authstate.pw_passwd;
|
||||
+ testcrypt = crypt(password, passwdcrypt);
|
||||
+ }
|
||||
m_burn(password, passwordlen);
|
||||
m_free(password);
|
||||
|
||||
+ /* After we have got the payload contents we can exit if the username
|
||||
+ is invalid. Invalid users have already been logged. */
|
||||
+ if (!valid_user) {
|
||||
+ send_msg_userauth_failure(0, 1);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (testcrypt == NULL) {
|
||||
/* crypt() with an invalid salt like "!!" */
|
||||
dropbear_log(LOG_WARNING, "User account '%s' is locked",
|
||||
diff --git a/svr-authpubkey.c b/svr-authpubkey.c
|
||||
index aa6087c..ff481c8 100644
|
||||
--- a/svr-authpubkey.c
|
||||
+++ b/svr-authpubkey.c
|
||||
@@ -79,7 +79,7 @@ static int checkfileperm(char * filename);
|
||||
|
||||
/* process a pubkey auth request, sending success or failure message as
|
||||
* appropriate */
|
||||
-void svr_auth_pubkey() {
|
||||
+void svr_auth_pubkey(int valid_user) {
|
||||
|
||||
unsigned char testkey; /* whether we're just checking if a key is usable */
|
||||
char* algo = NULL; /* pubkey algo */
|
||||
@@ -102,6 +102,15 @@ void svr_auth_pubkey() {
|
||||
keybloblen = buf_getint(ses.payload);
|
||||
keyblob = buf_getptr(ses.payload, keybloblen);
|
||||
|
||||
+ if (!valid_user) {
|
||||
+ /* Return failure once we have read the contents of the packet
|
||||
+ required to validate a public key.
|
||||
+ Avoids blind user enumeration though it isn't possible to prevent
|
||||
+ testing for user existence if the public key is known */
|
||||
+ send_msg_userauth_failure(0, 0);
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
/* check if the key is valid */
|
||||
if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) {
|
||||
send_msg_userauth_failure(0, 0);
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_DROPBEAR
|
||||
bool "dropbear"
|
||||
select BR2_PACKAGE_ZLIB if !BR2_PACKAGE_DROPBEAR_SMALL
|
||||
select BR2_PACKAGE_LIBTOMCRYPT if !BR2_PACKAGE_DROPBEAR_SMALL
|
||||
help
|
||||
A small SSH 2 server designed for small memory environments.
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc
|
||||
sha256 6cbc1dcb1c9709d226dff669e5604172a18cf5dbf9a201474d5618ae4465098c dropbear-2017.75.tar.bz2
|
||||
sha256 f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65 dropbear-2018.76.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DROPBEAR_VERSION = 2017.75
|
||||
DROPBEAR_VERSION = 2018.76
|
||||
DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases
|
||||
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
|
||||
DROPBEAR_LICENSE = MIT, BSD-2-Clause-like, BSD-2-Clause
|
||||
@@ -12,6 +12,11 @@ DROPBEAR_LICENSE_FILES = LICENSE
|
||||
DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp
|
||||
DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS)
|
||||
|
||||
# Disable hardening flags added by dropbear configure.ac, and let
|
||||
# Buildroot add them when the relevant options are enabled. This
|
||||
# prevents dropbear from using SSP support when not available.
|
||||
DROPBEAR_CONF_OPTS = --disable-harden
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DROPBEAR_CLIENT),y)
|
||||
# Build dbclient, and create a convenience symlink named ssh
|
||||
DROPBEAR_PROGRAMS += dbclient
|
||||
@@ -22,33 +27,34 @@ DROPBEAR_MAKE = \
|
||||
$(MAKE) MULTI=1 SCPPROGRESS=1 \
|
||||
PROGRAMS="$(DROPBEAR_PROGRAMS)"
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
DROPBEAR_MAKE += STATIC=1
|
||||
# With BR2_SHARED_STATIC_LIBS=y the generic infrastructure adds a
|
||||
# --enable-static flags causing dropbear to be built as a static
|
||||
# binary. Adding a --disable-static reverts this
|
||||
ifeq ($(BR2_SHARED_STATIC_LIBS),y)
|
||||
DROPBEAR_CONF_OPTS += --disable-static
|
||||
endif
|
||||
|
||||
define DROPBEAR_FIX_XAUTH
|
||||
$(SED) 's,^#define XAUTH_COMMAND.*/xauth,#define XAUTH_COMMAND "/usr/bin/xauth,g' $(@D)/options.h
|
||||
# Ensure that dropbear doesn't use crypt() when it's not available
|
||||
define DROPBEAR_SVR_PASSWORD_AUTH
|
||||
echo '#if !HAVE_CRYPT' >> $(@D)/localoptions.h
|
||||
echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> $(@D)/localoptions.h
|
||||
echo '#endif' >> $(@D)/localoptions.h
|
||||
endef
|
||||
|
||||
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_FIX_XAUTH
|
||||
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PASSWORD_AUTH
|
||||
|
||||
define DROPBEAR_ENABLE_REVERSE_DNS
|
||||
$(SED) 's:.*\(#define DO_HOST_LOOKUP\).*:\1:' $(@D)/options.h
|
||||
endef
|
||||
|
||||
define DROPBEAR_BUILD_SMALL
|
||||
$(SED) 's:.*\(#define NO_FAST_EXPTMOD\).*:\1:' $(@D)/options.h
|
||||
echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h
|
||||
endef
|
||||
|
||||
define DROPBEAR_BUILD_FEATURED
|
||||
$(SED) 's:^#define DROPBEAR_SMALL_CODE::' $(@D)/options.h
|
||||
$(SED) 's:.*\(#define DROPBEAR_BLOWFISH\).*:\1:' $(@D)/options.h
|
||||
$(SED) 's:.*\(#define DROPBEAR_TWOFISH128\).*:\1:' $(@D)/options.h
|
||||
$(SED) 's:.*\(#define DROPBEAR_TWOFISH256\).*:\1:' $(@D)/options.h
|
||||
echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h
|
||||
echo '#define DROPBEAR_BLOWFISH 1' >> $(@D)/localoptions.h
|
||||
echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h
|
||||
echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h
|
||||
endef
|
||||
|
||||
define DROPBEAR_DISABLE_STANDALONE
|
||||
$(SED) 's:\(#define NON_INETD_MODE\):/*\1 */:' $(@D)/options.h
|
||||
echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h
|
||||
endef
|
||||
|
||||
define DROPBEAR_INSTALL_INIT_SYSTEMD
|
||||
@@ -73,11 +79,11 @@ DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y)
|
||||
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_SMALL
|
||||
DROPBEAR_CONF_OPTS += --disable-zlib
|
||||
DROPBEAR_CONF_OPTS += --disable-zlib --enable-bundled-libtom
|
||||
else
|
||||
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED
|
||||
DROPBEAR_DEPENDENCIES += zlib
|
||||
DROPBEAR_DEPENDENCIES += zlib libtomcrypt
|
||||
DROPBEAR_CONF_OPTS += --disable-bundled-libtom
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_DROPBEAR_WTMP),y)
|
||||
|
||||
@@ -97,6 +97,11 @@ config BR2_PACKAGE_EFL_LIBSNDFILE
|
||||
config BR2_PACKAGE_EFL_PULSEAUDIO
|
||||
bool "Enable pulseaudio support (recommended)"
|
||||
default y
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
help
|
||||
The only audio output method supported by Ecore right now is
|
||||
|
||||
@@ -23,7 +23,8 @@ endif
|
||||
# Generate the .pc file at build time
|
||||
define EIGEN_BUILD_CMDS
|
||||
sed -r -e 's,^Version: .*,Version: $(EIGEN_VERSION),' \
|
||||
-e 's,^Cflags: .*,Cflags: -I$(EIGEN_DEST_DIR),' \
|
||||
-e 's,^Cflags: .*,Cflags: -I$$\{prefix\}/include/eigen3,' \
|
||||
-e 's,^prefix.*,prefix=/usr,' \
|
||||
$(@D)/eigen3.pc.in >$(@D)/eigen3.pc
|
||||
endef
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
apply-patches.sh deletes this file from the source directory.
|
||||
|
||||
--- erlang-R15B01.old/lib/tools/emacs/Makefile 2012-04-04
|
||||
+++ erlang-R15B01/lib/tools/emacs/Makefile 2012-04-04 15:55:16.978957307 +0100
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
ELC_FILES = $(EMACS_FILES:%=%.elc)
|
||||
|
||||
-TEST_FILES = test.erl.indented test.erl.orig
|
||||
+TEST_FILES = test.erl.indented
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Targets
|
||||
@@ -1,3 +1,4 @@
|
||||
# md5 from http://www.erlang.org/download/MD5, sha256 locally computed
|
||||
md5 2faed2c3519353e6bc2501ed4d8e6ae7 otp_src_20.0.tar.gz
|
||||
sha256 fe80e1e14a2772901be717694bb30ac4e9a07eee0cc7a28988724cbd21476811 otp_src_20.0.tar.gz
|
||||
md5 a683c8c0aacfe0305c4bf47b3abfde6a otp_src_20.3.tar.gz
|
||||
sha256 4e19e6c403d5255531c0b870f19511c8b8e3b080618e4f9efcb44d905935b2a1 otp_src_20.3.tar.gz
|
||||
sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt
|
||||
|
||||
Vendored
+2
-2
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
# See note below when updating Erlang
|
||||
ERLANG_VERSION = 20.0
|
||||
ERLANG_VERSION = 20.3
|
||||
ERLANG_SITE = http://www.erlang.org/download
|
||||
ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
|
||||
ERLANG_DEPENDENCIES = host-erlang
|
||||
@@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES
|
||||
|
||||
# Whenever updating Erlang, this value should be updated as well, to the
|
||||
# value of EI_VSN in the file lib/erl_interface/vsn.mk
|
||||
ERLANG_EI_VSN = 3.10
|
||||
ERLANG_EI_VSN = 3.10.1
|
||||
|
||||
# The configure checks for these functions fail incorrectly
|
||||
ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
|
||||
|
||||
@@ -35,6 +35,7 @@ config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA
|
||||
|
||||
config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
|
||||
endchoice
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated
|
||||
sha256 2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740 ffmpeg-3.4.2.tar.xz
|
||||
sha256 386f7601e865df6bddde05bb6927119b5a853f0b92e2e9834f59c125a17d3fc6 ffmpeg-3.4.4.tar.xz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2
|
||||
sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1
|
||||
sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FFMPEG_VERSION = 3.4.2
|
||||
FFMPEG_VERSION = 3.4.4
|
||||
FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
|
||||
FFMPEG_SITE = http://ffmpeg.org/releases
|
||||
FFMPEG_INSTALL_STAGING = YES
|
||||
@@ -225,6 +225,13 @@ ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy)
|
||||
FFMPEG_DEPENDENCIES += libebur128
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBDRM),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libdrm
|
||||
FFMPEG_DEPENDENCIES += libdrm
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libdrm
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBOPENH264),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libopenh264
|
||||
FFMPEG_DEPENDENCIES += libopenh264
|
||||
|
||||
@@ -39,7 +39,7 @@ endif
|
||||
HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr
|
||||
|
||||
define GAWK_CREATE_SYMLINK
|
||||
ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk
|
||||
ln -sf gawk $(TARGET_DIR)/usr/bin/awk
|
||||
endef
|
||||
|
||||
GAWK_POST_INSTALL_TARGET_HOOKS += GAWK_CREATE_SYMLINK
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 765527ad3725c5f3e82ab2b8e5031120b409983d Mon Sep 17 00:00:00 2001
|
||||
From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Fri, 15 Jun 2018 08:51:28 +0000
|
||||
Subject: [PATCH] Partial backport r256656
|
||||
|
||||
2018-06-15 Martin Liska <mliska@suse.cz>
|
||||
|
||||
Backport from mainline
|
||||
2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||||
|
||||
* lex.c (search_line_fast): Remove illegal coercion of an
|
||||
unaligned pointer value to vector pointer type and replace with
|
||||
use of __builtin_vec_vsx_ld () built-in function, which operates
|
||||
on unaligned pointer values.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
||||
---
|
||||
libcpp/lex.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index e5a0397f3099..b789686f1c49 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
|
||||
{
|
||||
vc m_nl, m_cr, m_bs, m_qm;
|
||||
|
||||
- data = *((const vc *)s);
|
||||
+ data = __builtin_vec_vsx_ld (0, s);
|
||||
s += 16;
|
||||
|
||||
m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001
|
||||
From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Fri, 29 Jun 2018 09:31:30 +0000
|
||||
Subject: [PATCH] Partial backport r256656
|
||||
|
||||
2018-06-29 Martin Liska <mliska@suse.cz>
|
||||
|
||||
Backport from mainline
|
||||
2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||||
|
||||
* lex.c (search_line_fast): Remove illegal coercion of an
|
||||
unaligned pointer value to vector pointer type and replace with
|
||||
use of __builtin_vec_vsx_ld () built-in function, which operates
|
||||
on unaligned pointer values.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
||||
---
|
||||
libcpp/lex.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index 097c78002cbb..e0fb9e822c44 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
|
||||
{
|
||||
vc m_nl, m_cr, m_bs, m_qm;
|
||||
|
||||
- data = *((const vc *)s);
|
||||
+ data = __builtin_vec_vsx_ld (0, s);
|
||||
s += 16;
|
||||
|
||||
m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -39,7 +39,7 @@ GHOSTSCRIPT_CONF_OPTS = \
|
||||
--disable-compile-inits \
|
||||
--disable-cups \
|
||||
--enable-fontconfig \
|
||||
--with-fontpath=$(GHOSTSCRIPT_FONTS_TARGET_DIR) \
|
||||
--with-fontpath=/usr/share/fonts \
|
||||
--enable-freetype \
|
||||
--disable-gtk \
|
||||
--without-jbig2dec \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.17.tar.xz.sig
|
||||
sha256 86b142afef587c118d63f72ccf307f3321dbc40357aae528202b65d913d20919 gnutls-3.5.17.tar.xz
|
||||
# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz.sig
|
||||
sha256 1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44 gnutls-3.5.19.tar.xz
|
||||
# Locally calculated
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING
|
||||
sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
GNUTLS_VERSION_MAJOR = 3.5
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).17
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).19
|
||||
GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
|
||||
GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
|
||||
GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library)
|
||||
|
||||
@@ -205,11 +205,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
|
||||
depends on BR2_USE_MMU # pulseaudio
|
||||
depends on !BR2_STATIC_LIBS # pulseaudio
|
||||
depends on BR2_USE_WCHAR # pulseaudio
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
|
||||
comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
|
||||
comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
||||
|
||||
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
|
||||
bool "souphttpsrc (http client)"
|
||||
|
||||
@@ -321,13 +321,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
|
||||
depends on BR2_USE_MMU # pulseaudio
|
||||
depends on !BR2_STATIC_LIBS # pulseaudio
|
||||
depends on BR2_USE_WCHAR # pulseaudio
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
help
|
||||
PulseAudio plugin library
|
||||
|
||||
comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
|
||||
comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
|
||||
bool "souphttpsrc (http client)"
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
Fix CVE-2016-10396
|
||||
|
||||
Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396
|
||||
Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682
|
||||
Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986
|
||||
|
||||
Downloaded from
|
||||
https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/010-CVE-2016-10396.patch
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
Index: ipsec-tools-0.8.2/src/racoon/isakmp_frag.c
|
||||
===================================================================
|
||||
--- ipsec-tools-0.8.2.orig/src/racoon/isakmp_frag.c
|
||||
+++ ipsec-tools-0.8.2/src/racoon/isakmp_frag.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */
|
||||
+/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */
|
||||
|
||||
/* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */
|
||||
|
||||
@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
|
||||
return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
|
||||
}
|
||||
|
||||
+static int
|
||||
+isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
|
||||
+{
|
||||
+ struct isakmp_frag_item *pitem = NULL;
|
||||
+ struct isakmp_frag_item *citem = iph1->frag_chain;
|
||||
+
|
||||
+ /* no frag yet, just insert at beginning of list */
|
||||
+ if (iph1->frag_chain == NULL) {
|
||||
+ iph1->frag_chain = item;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ do {
|
||||
+ /* duplicate fragment number, abort (CVE-2016-10396) */
|
||||
+ if (citem->frag_num == item->frag_num)
|
||||
+ return -1;
|
||||
+
|
||||
+ /* need to insert before current item */
|
||||
+ if (citem->frag_num > item->frag_num) {
|
||||
+ if (pitem != NULL)
|
||||
+ pitem->frag_next = item;
|
||||
+ else
|
||||
+ /* insert at the beginning of the list */
|
||||
+ iph1->frag_chain = item;
|
||||
+ item->frag_next = citem;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ pitem = citem;
|
||||
+ citem = citem->frag_next;
|
||||
+ } while (citem != NULL);
|
||||
+
|
||||
+ /* we reached the end of the list, insert */
|
||||
+ pitem->frag_next = item;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int
|
||||
isakmp_frag_extract(iph1, msg)
|
||||
struct ph1handle *iph1;
|
||||
@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
|
||||
item->frag_next = NULL;
|
||||
item->frag_packet = buf;
|
||||
|
||||
- /* Look for the last frag while inserting the new item in the chain */
|
||||
- if (item->frag_last)
|
||||
- last_frag = item->frag_num;
|
||||
+ /* Check for the last frag before inserting the new item in the chain */
|
||||
+ if (item->frag_last) {
|
||||
+ /* if we have the last fragment, indices must match */
|
||||
+ if (iph1->frag_last_index != 0 &&
|
||||
+ item->frag_last != iph1->frag_last_index) {
|
||||
+ plog(LLV_ERROR, LOCATION, NULL,
|
||||
+ "Repeated last fragment index mismatch\n");
|
||||
+ racoon_free(item);
|
||||
+ vfree(buf);
|
||||
+ return -1;
|
||||
+ }
|
||||
|
||||
- if (iph1->frag_chain == NULL) {
|
||||
- iph1->frag_chain = item;
|
||||
- } else {
|
||||
- struct isakmp_frag_item *current;
|
||||
+ last_frag = iph1->frag_last_index = item->frag_num;
|
||||
+ }
|
||||
|
||||
- current = iph1->frag_chain;
|
||||
- while (current->frag_next) {
|
||||
- if (current->frag_last)
|
||||
- last_frag = item->frag_num;
|
||||
- current = current->frag_next;
|
||||
- }
|
||||
- current->frag_next = item;
|
||||
+ /* insert fragment into chain */
|
||||
+ if (isakmp_frag_insert(iph1, item) == -1) {
|
||||
+ plog(LLV_ERROR, LOCATION, NULL,
|
||||
+ "Repeated fragment index mismatch\n");
|
||||
+ racoon_free(item);
|
||||
+ vfree(buf);
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
- /* If we saw the last frag, check if the chain is complete */
|
||||
+ /* If we saw the last frag, check if the chain is complete
|
||||
+ * we have a sorted list now, so just walk through */
|
||||
if (last_frag != 0) {
|
||||
+ item = iph1->frag_chain;
|
||||
for (i = 1; i <= last_frag; i++) {
|
||||
- item = iph1->frag_chain;
|
||||
- do {
|
||||
- if (item->frag_num == i)
|
||||
- break;
|
||||
- item = item->frag_next;
|
||||
- } while (item != NULL);
|
||||
-
|
||||
+ if (item->frag_num != i)
|
||||
+ break;
|
||||
+ item = item->frag_next;
|
||||
if (item == NULL) /* Not found */
|
||||
break;
|
||||
}
|
||||
|
||||
- if (item != NULL) /* It is complete */
|
||||
+ if (i > last_frag) /* It is complete */
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
|
||||
}
|
||||
data = buf->v;
|
||||
|
||||
+ item = iph1->frag_chain;
|
||||
for (i = 1; i <= frag_count; i++) {
|
||||
- item = iph1->frag_chain;
|
||||
- do {
|
||||
- if (item->frag_num == i)
|
||||
- break;
|
||||
- item = item->frag_next;
|
||||
- } while (item != NULL);
|
||||
-
|
||||
- if (item == NULL) {
|
||||
+ if (item->frag_num != i) {
|
||||
plog(LLV_ERROR, LOCATION, NULL,
|
||||
"Missing fragment #%d\n", i);
|
||||
vfree(buf);
|
||||
@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
|
||||
}
|
||||
memcpy(data, item->frag_packet->v, item->frag_packet->l);
|
||||
data += item->frag_packet->l;
|
||||
+ item = item->frag_next;
|
||||
}
|
||||
|
||||
out:
|
||||
Index: ipsec-tools-0.8.2/src/racoon/isakmp_inf.c
|
||||
===================================================================
|
||||
--- ipsec-tools-0.8.2.orig/src/racoon/isakmp_inf.c
|
||||
+++ ipsec-tools-0.8.2/src/racoon/isakmp_inf.c
|
||||
@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
|
||||
#endif
|
||||
#ifdef ENABLE_FRAG
|
||||
iph1->frag = 0;
|
||||
+ iph1->frag_last_index = 0;
|
||||
iph1->frag_chain = NULL;
|
||||
#endif
|
||||
|
||||
Index: ipsec-tools-0.8.2/src/racoon/isakmp.c
|
||||
===================================================================
|
||||
--- ipsec-tools-0.8.2.orig/src/racoon/isakmp.c
|
||||
+++ ipsec-tools-0.8.2/src/racoon/isakmp.c
|
||||
@@ -1071,6 +1071,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
|
||||
iph1->frag = 1;
|
||||
else
|
||||
iph1->frag = 0;
|
||||
+ iph1->frag_last_index = 0;
|
||||
iph1->frag_chain = NULL;
|
||||
#endif
|
||||
iph1->approval = NULL;
|
||||
@@ -1175,6 +1176,7 @@ isakmp_ph1begin_r(msg, remote, local, et
|
||||
#endif
|
||||
#ifdef ENABLE_FRAG
|
||||
iph1->frag = 0;
|
||||
+ iph1->frag_last_index = 0;
|
||||
iph1->frag_chain = NULL;
|
||||
#endif
|
||||
iph1->approval = NULL;
|
||||
Index: ipsec-tools-0.8.2/src/racoon/handler.h
|
||||
===================================================================
|
||||
--- ipsec-tools-0.8.2.orig/src/racoon/handler.h
|
||||
+++ ipsec-tools-0.8.2/src/racoon/handler.h
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */
|
||||
+/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */
|
||||
|
||||
/* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */
|
||||
|
||||
@@ -141,6 +141,7 @@ struct ph1handle {
|
||||
#endif
|
||||
#ifdef ENABLE_FRAG
|
||||
int frag; /* IKE phase 1 fragmentation */
|
||||
+ int frag_last_index;
|
||||
struct isakmp_frag_item *frag_chain; /* Received fragments */
|
||||
#endif
|
||||
|
||||
@@ -192,6 +192,7 @@ config BR2_PACKAGE_KODI_NONFREE
|
||||
|
||||
config BR2_PACKAGE_KODI_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
# Pulseaudio support in kodi needs glib support in Pulseaudio,
|
||||
# see FindPulseAudio.cmake. Kodi meets all dependencies of
|
||||
# libglib2, so there is no need to propagate them here.
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
From f9569c086ff29259c73790db9cbf39fe8fb9d862 Mon Sep 17 00:00:00 2001
|
||||
From: John Starks <jostarks@microsoft.com>
|
||||
Date: Wed, 25 Jul 2018 12:16:34 -0700
|
||||
Subject: [PATCH] iso9660: validate directory record length
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit f9569c086ff
|
||||
|
||||
.../archive_read_support_format_iso9660.c | 17 +++++++++++------
|
||||
1 file changed, 11 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
|
||||
index f01d37bf682e..089bb7236cd1 100644
|
||||
--- a/libarchive/archive_read_support_format_iso9660.c
|
||||
+++ b/libarchive/archive_read_support_format_iso9660.c
|
||||
@@ -409,7 +409,8 @@ static int next_entry_seek(struct archive_read *, struct iso9660 *,
|
||||
struct file_info **);
|
||||
static struct file_info *
|
||||
parse_file_info(struct archive_read *a,
|
||||
- struct file_info *parent, const unsigned char *isodirrec);
|
||||
+ struct file_info *parent, const unsigned char *isodirrec,
|
||||
+ size_t reclen);
|
||||
static int parse_rockridge(struct archive_read *a,
|
||||
struct file_info *file, const unsigned char *start,
|
||||
const unsigned char *end);
|
||||
@@ -1022,7 +1023,7 @@ read_children(struct archive_read *a, struct file_info *parent)
|
||||
if (*(p + DR_name_len_offset) == 1
|
||||
&& *(p + DR_name_offset) == '\001')
|
||||
continue;
|
||||
- child = parse_file_info(a, parent, p);
|
||||
+ child = parse_file_info(a, parent, p, b - p);
|
||||
if (child == NULL) {
|
||||
__archive_read_consume(a, skip_size);
|
||||
return (ARCHIVE_FATAL);
|
||||
@@ -1112,7 +1113,7 @@ choose_volume(struct archive_read *a, struct iso9660 *iso9660)
|
||||
*/
|
||||
seenJoliet = iso9660->seenJoliet;/* Save flag. */
|
||||
iso9660->seenJoliet = 0;
|
||||
- file = parse_file_info(a, NULL, block);
|
||||
+ file = parse_file_info(a, NULL, block, vd->size);
|
||||
if (file == NULL)
|
||||
return (ARCHIVE_FATAL);
|
||||
iso9660->seenJoliet = seenJoliet;
|
||||
@@ -1144,7 +1145,7 @@ choose_volume(struct archive_read *a, struct iso9660 *iso9660)
|
||||
return (ARCHIVE_FATAL);
|
||||
}
|
||||
iso9660->seenJoliet = 0;
|
||||
- file = parse_file_info(a, NULL, block);
|
||||
+ file = parse_file_info(a, NULL, block, vd->size);
|
||||
if (file == NULL)
|
||||
return (ARCHIVE_FATAL);
|
||||
iso9660->seenJoliet = seenJoliet;
|
||||
@@ -1749,7 +1750,7 @@ archive_read_format_iso9660_cleanup(struct archive_read *a)
|
||||
*/
|
||||
static struct file_info *
|
||||
parse_file_info(struct archive_read *a, struct file_info *parent,
|
||||
- const unsigned char *isodirrec)
|
||||
+ const unsigned char *isodirrec, size_t reclen)
|
||||
{
|
||||
struct iso9660 *iso9660;
|
||||
struct file_info *file, *filep;
|
||||
@@ -1763,7 +1764,11 @@ parse_file_info(struct archive_read *a, struct file_info *parent,
|
||||
|
||||
iso9660 = (struct iso9660 *)(a->format->data);
|
||||
|
||||
- dr_len = (size_t)isodirrec[DR_length_offset];
|
||||
+ if (reclen == 0 || reclen < (dr_len = (size_t)isodirrec[DR_length_offset])) {
|
||||
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
||||
+ "Invalid directory record length");
|
||||
+ return (NULL);
|
||||
+ }
|
||||
name_len = (size_t)isodirrec[DR_name_len_offset];
|
||||
location = archive_le32dec(isodirrec + DR_extent_offset);
|
||||
fsize = toi(isodirrec + DR_size_offset, DR_size_size);
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 5562545b5562f6d12a4ef991fae158bf4ccf92b6 Mon Sep 17 00:00:00 2001
|
||||
From: Joerg Sonnenberger <joerg@bec.de>
|
||||
Date: Sat, 9 Sep 2017 17:47:32 +0200
|
||||
Subject: [PATCH] Avoid a read off-by-one error for UTF16 names in RAR
|
||||
archives.
|
||||
|
||||
Reported-By: OSS-Fuzz issue 573
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit 5562545b5562
|
||||
|
||||
libarchive/archive_read_support_format_rar.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
|
||||
index cbb14c32dc3b..751de6979ba5 100644
|
||||
--- a/libarchive/archive_read_support_format_rar.c
|
||||
+++ b/libarchive/archive_read_support_format_rar.c
|
||||
@@ -1496,7 +1496,11 @@ read_header(struct archive_read *a, struct archive_entry *entry,
|
||||
return (ARCHIVE_FATAL);
|
||||
}
|
||||
filename[filename_size++] = '\0';
|
||||
- filename[filename_size++] = '\0';
|
||||
+ /*
|
||||
+ * Do not increment filename_size here as the computations below
|
||||
+ * add the space for the terminating NUL explicitly.
|
||||
+ */
|
||||
+ filename[filename_size] = '\0';
|
||||
|
||||
/* Decoded unicode form is UTF-16BE, so we have to update a string
|
||||
* conversion object for it. */
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 2c8c83b9731ff822fad6cc8c670ea5519c366a14 Mon Sep 17 00:00:00 2001
|
||||
From: Joerg Sonnenberger <joerg@bec.de>
|
||||
Date: Thu, 19 Jul 2018 21:14:53 +0200
|
||||
Subject: [PATCH] Reject LHA archive entries with negative size.
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit 2c8c83b9731
|
||||
|
||||
libarchive/archive_read_support_format_lha.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/libarchive/archive_read_support_format_lha.c b/libarchive/archive_read_support_format_lha.c
|
||||
index b8ef4ae10ece..95c99bb1f31e 100644
|
||||
--- a/libarchive/archive_read_support_format_lha.c
|
||||
+++ b/libarchive/archive_read_support_format_lha.c
|
||||
@@ -701,6 +701,12 @@ archive_read_format_lha_read_header(struct archive_read *a,
|
||||
* Prepare variables used to read a file content.
|
||||
*/
|
||||
lha->entry_bytes_remaining = lha->compsize;
|
||||
+ if (lha->entry_bytes_remaining < 0) {
|
||||
+ archive_set_error(&a->archive,
|
||||
+ ARCHIVE_ERRNO_FILE_FORMAT,
|
||||
+ "Invalid LHa entry size");
|
||||
+ return (ARCHIVE_FATAL);
|
||||
+ }
|
||||
lha->entry_offset = 0;
|
||||
lha->entry_crc_calculated = 0;
|
||||
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce libarchive-3.3.2.tar.gz
|
||||
sha256 ae6f35cc1979beb316e4d6431fc34c6fc59f0dd126b425c8552bb41c86e4825d COPYING
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874 fuse-2.9.7.tar.gz
|
||||
sha256 5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3 fuse-2.9.8.tar.gz
|
||||
|
||||
# Hash for license files:
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBFUSE_VERSION = 2.9.7
|
||||
LIBFUSE_VERSION = 2.9.8
|
||||
LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz
|
||||
LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION)
|
||||
LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# From https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha256
|
||||
sha256 ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d openssl-1.0.2o.tar.gz
|
||||
# From https://www.openssl.org/source/openssl-1.0.2p.tar.gz.sha256
|
||||
sha256 50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00 openssl-1.0.2p.tar.gz
|
||||
# From https://www.openssl.org/source/openssl-1.0.2p.tar.gz.sha1
|
||||
sha1 f34b5322e92415755c7d58bf5d0d5cf37666382c openssl-1.0.2p.tar.gz
|
||||
# Locally computed
|
||||
sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
|
||||
sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBOPENSSL_VERSION = 1.0.2o
|
||||
LIBOPENSSL_VERSION = 1.0.2p
|
||||
LIBOPENSSL_SITE = http://www.openssl.org/source
|
||||
LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz
|
||||
LIBOPENSSL_LICENSE = OpenSSL or SSLeay
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
From abe76789f8e7ce61b357f693eaed5b28feab5ce2 Mon Sep 17 00:00:00 2001
|
||||
From: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
Date: Mon, 13 Aug 2018 12:11:33 -0700
|
||||
Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7
|
||||
|
||||
The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat
|
||||
Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to
|
||||
use the (most conservative) __sync_synchronize() primitive provided by those
|
||||
older GCC versions.
|
||||
|
||||
(Really, no __atomic or __sync operations are needed here at all, since POSIX
|
||||
4.12 "Memory Synchronization" says pthread_mutex_lock() and
|
||||
pthread_mutex_unlock() "synchronize memory with respect to other threads"...)
|
||||
|
||||
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
---
|
||||
src/label_file.h | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/src/label_file.h b/src/label_file.h
|
||||
index 2fa85474..47859baf 100644
|
||||
--- a/src/label_file.h
|
||||
+++ b/src/label_file.h
|
||||
@@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
* init_routine does not take a parameter, it's not possible
|
||||
* to use, so we generate the same effect with atomics and a
|
||||
* mutex */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
regex_compiled =
|
||||
__atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ __sync_synchronize();
|
||||
+ regex_compiled = spec->regex_compiled;
|
||||
+#endif
|
||||
if (regex_compiled) {
|
||||
return 0; /* already done */
|
||||
}
|
||||
@@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
__pthread_mutex_lock(&spec->regex_lock);
|
||||
/* Check if another thread compiled the regex while we waited
|
||||
* on the mutex */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
regex_compiled =
|
||||
__atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ __sync_synchronize();
|
||||
+ regex_compiled = spec->regex_compiled;
|
||||
+#endif
|
||||
if (regex_compiled) {
|
||||
__pthread_mutex_unlock(&spec->regex_lock);
|
||||
return 0;
|
||||
@@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
}
|
||||
|
||||
/* Done. */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
__atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ spec->regex_compiled = true;
|
||||
+ __sync_synchronize();
|
||||
+#endif
|
||||
__pthread_mutex_unlock(&spec->regex_lock);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.13.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 3f5635028bbad44287511fcd3c99f2a2fddf01cd Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@igalia.com>
|
||||
Date: Sun, 24 Jun 2018 19:46:19 -0500
|
||||
Subject: [PATCH] cookie-jar: bail if hostname is an empty string
|
||||
|
||||
There are several other ways to fix the problem with this function, but
|
||||
skipping over all of the code is probably the simplest.
|
||||
|
||||
Fixes #3
|
||||
|
||||
|
||||
(cherry picked from commit db2b0d5809d5f8226d47312b40992cadbcde439f)
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit db2b0d5809d
|
||||
|
||||
libsoup/soup-cookie-jar.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
|
||||
index d12bc85a8e60..365da6abf9f4 100644
|
||||
--- a/libsoup/soup-cookie-jar.c
|
||||
+++ b/libsoup/soup-cookie-jar.c
|
||||
@@ -306,7 +306,7 @@ get_cookies (SoupCookieJar *jar, SoupURI *uri, gboolean for_http, gboolean copy_
|
||||
|
||||
priv = SOUP_COOKIE_JAR_GET_PRIVATE (jar);
|
||||
|
||||
- if (!uri->host)
|
||||
+ if (!uri->host || !uri->host[0])
|
||||
return NULL;
|
||||
|
||||
/* The logic here is a little weird, but the plan is that if
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -96,6 +96,9 @@ define LIGHTTPD_INSTALL_INIT_SYSTEMD
|
||||
|
||||
ln -fs ../../../../usr/lib/systemd/system/lighttpd.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lighttpd.service
|
||||
|
||||
$(INSTALL) -D -m 644 package/lighttpd/lighttpd_tmpfiles.conf \
|
||||
$(TARGET_DIR)/usr/lib/tmpfiles.d/lighttpd.conf
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
f /var/log/lighttpd-access.log 0640 www-data www-data -
|
||||
f /var/log/lighttpd-error.log 0640 www-data www-data -
|
||||
@@ -242,12 +242,12 @@ config BR2_DEFAULT_KERNEL_HEADERS
|
||||
string
|
||||
default "3.2.102" if BR2_KERNEL_HEADERS_3_2
|
||||
default "4.1.52" if BR2_KERNEL_HEADERS_4_1
|
||||
default "4.4.142" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.113" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.4.150" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.122" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.10.17" if BR2_KERNEL_HEADERS_4_10
|
||||
default "4.11.12" if BR2_KERNEL_HEADERS_4_11
|
||||
default "4.12.14" if BR2_KERNEL_HEADERS_4_12
|
||||
default "4.13.16" if BR2_KERNEL_HEADERS_4_13
|
||||
default "4.14.56" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.14.65" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.15.18" if BR2_KERNEL_HEADERS_4_15
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 947bf03ec3d9eaa0bfc0269eed86b9364e94bc1a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Sun, 5 Aug 2018 15:25:53 +0200
|
||||
Subject: [PATCH] missing.h: drop clock_nanosleep() replacement
|
||||
|
||||
Since uClibc-ng commits 68628fe7d463541bf3c33da6b214e63c0cc9feed
|
||||
("librt: declare clock_nanosleep not only for NPTL") and
|
||||
ddbb03e77ac1a48740688814b82f45c97ee81f37 ("librt: clock_nanosleep
|
||||
could be even used without threads"), clock_nanosleep() is always
|
||||
provided by uClibc, regardless of the thread implementation (none,
|
||||
linuxthreads, nptl). These commits will be part of the upcoming 1.0.31
|
||||
release of uClibc-ng.
|
||||
|
||||
Thanks to this, we can drop the replacement clock_nanosleep()
|
||||
implementation added by linuxptp. Without this, linuxptp fails to
|
||||
build with:
|
||||
|
||||
missing.h:117:19: error: static declaration of 'clock_nanosleep' follows non-static declaration
|
||||
static inline int clock_nanosleep(clockid_t clock_id, int flags,
|
||||
^~~~~~~~~~~~~~~
|
||||
In file included from clockadj.h:24:0,
|
||||
from clockadj.c:24:
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
missing.h | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/missing.h b/missing.h
|
||||
index 2f7adb9..60f89a3 100644
|
||||
--- a/missing.h
|
||||
+++ b/missing.h
|
||||
@@ -129,13 +129,6 @@ enum {
|
||||
|
||||
#define TFD_TIMER_ABSTIME (1 << 0)
|
||||
|
||||
-static inline int clock_nanosleep(clockid_t clock_id, int flags,
|
||||
- const struct timespec *request,
|
||||
- struct timespec *remain)
|
||||
-{
|
||||
- return syscall(__NR_clock_nanosleep, clock_id, flags, request, remain);
|
||||
-}
|
||||
-
|
||||
static inline int timerfd_create(int clockid, int flags)
|
||||
{
|
||||
return syscall(__NR_timerfd_create, clockid, flags);
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# From http://lttng.org/files/lttng-modules/lttng-modules-2.10.4.tar.bz2.{md5,sha1}
|
||||
md5 832452b321a4df6836549e72d05b2ce9 lttng-modules-2.10.4.tar.bz2
|
||||
sha1 1712f5d5c0ef9b028949693c5cf24c5a00b7f4ef lttng-modules-2.10.4.tar.bz2
|
||||
# From http://lttng.org/files/lttng-modules/lttng-modules-2.10.6.tar.bz2.{md5,sha1}
|
||||
md5 8110099f4615fc89a74ffe9189b56cfc lttng-modules-2.10.6.tar.bz2
|
||||
sha1 1126b29e055ebdb3fad9201edaf0ef27f88c9369 lttng-modules-2.10.6.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LTTNG_MODULES_VERSION = 2.10.4
|
||||
LTTNG_MODULES_VERSION = 2.10.6
|
||||
LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules
|
||||
LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2
|
||||
LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*)
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
From bc1d8ca01415710d40224de312c7ecf6f4223301 Mon Sep 17 00:00:00 2001
|
||||
From: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
Date: Mon, 6 Nov 2017 18:46:41 -0500
|
||||
Subject: [PATCH] Fix: detect dlmopen() and disable corresponding tests if not
|
||||
available
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
musl and uClibc-ng are known not to support dlmopen(). LTTng-UST has
|
||||
this dlmopen() detection.
|
||||
|
||||
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
[Philippe: backport from upstream commit bc1d8ca0
|
||||
edited to remove .gitignore part]
|
||||
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
---
|
||||
.gitignore | 1 +
|
||||
configure.ac | 25 ++++++++++++++++++++++
|
||||
tests/regression/ust/ust-dl/prog.c | 17 +++++++++++++--
|
||||
tests/regression/ust/ust-dl/test_ust-dl | 32 ----------------------------
|
||||
tests/regression/ust/ust-dl/test_ust-dl.in | 34 ++++++++++++++++++++++++++++++
|
||||
tests/regression/ust/ust-dl/test_ust-dl.py | 9 +++++++-
|
||||
tests/utils/test_utils.py | 3 +++
|
||||
7 files changed, 86 insertions(+), 35 deletions(-)
|
||||
delete mode 100755 tests/regression/ust/ust-dl/test_ust-dl
|
||||
create mode 100644 tests/regression/ust/ust-dl/test_ust-dl.in
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 016c56ec..b6ea39c5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -196,6 +196,30 @@ AC_CHECK_FUNCS([ \
|
||||
# add -lrt to LIBS
|
||||
AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete])
|
||||
|
||||
+# Checks for dl.
|
||||
+AC_CHECK_LIB([dl], [dlopen], [
|
||||
+ have_libdl=yes
|
||||
+ libdl_name=dl
|
||||
+], [
|
||||
+ # libdl not found, check for dlopen in libc.
|
||||
+ AC_CHECK_LIB([c], [dlopen], [
|
||||
+ have_libc_dl=yes
|
||||
+ libdl_name=c
|
||||
+ ], [
|
||||
+ AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
|
||||
+ ])
|
||||
+])
|
||||
+
|
||||
+# Check if libdl has dlmopen support.
|
||||
+AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."])
|
||||
+AC_CHECK_LIB([$libdl_name], [dlmopen], [
|
||||
+ AC_DEFINE([HAVE_DLMOPEN], [1])
|
||||
+ HAVE_DLMOPEN=1
|
||||
+], [
|
||||
+ HAVE_DLMOPEN=0
|
||||
+])
|
||||
+AC_SUBST(HAVE_DLMOPEN)
|
||||
+
|
||||
# Babeltrace viewer check
|
||||
AC_ARG_WITH([babeltrace-bin],
|
||||
AS_HELP_STRING([--with-babeltrace-bin],
|
||||
@@ -1100,6 +1124,7 @@ AC_CONFIG_FILES([
|
||||
AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging])
|
||||
# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script.
|
||||
AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw])
|
||||
+AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
diff --git a/tests/regression/ust/ust-dl/prog.c b/tests/regression/ust/ust-dl/prog.c
|
||||
index e8e4b264..669792d9 100644
|
||||
--- a/tests/regression/ust/ust-dl/prog.c
|
||||
+++ b/tests/regression/ust/ust-dl/prog.c
|
||||
@@ -13,7 +13,12 @@
|
||||
*/
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
- void *h0, *h1, *h2, *h3, *h4;
|
||||
+ void *h0, *h2, *h3, *h4;
|
||||
+
|
||||
+#ifdef HAVE_DLMOPEN
|
||||
+ void *h1;
|
||||
+#endif
|
||||
+
|
||||
char *error;
|
||||
int (*foo)(void);
|
||||
|
||||
@@ -21,10 +26,14 @@ int main(int argc, char **argv)
|
||||
if (!h0) {
|
||||
goto get_error;
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_DLMOPEN
|
||||
h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY);
|
||||
if (!h1) {
|
||||
goto get_error;
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
h2 = dlopen("libzzz.so", RTLD_LAZY);
|
||||
if (!h2) {
|
||||
goto get_error;
|
||||
@@ -38,7 +47,7 @@ int main(int argc, char **argv)
|
||||
goto get_error;
|
||||
}
|
||||
|
||||
- foo = dlsym(h1, "foo");
|
||||
+ foo = dlsym(h3, "foo");
|
||||
error = dlerror();
|
||||
if (error != NULL) {
|
||||
goto error;
|
||||
@@ -49,9 +58,13 @@ int main(int argc, char **argv)
|
||||
if (dlclose(h0)) {
|
||||
goto get_error;
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_DLMOPEN
|
||||
if (dlclose(h1)) {
|
||||
goto get_error;
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
if (dlclose(h2)) {
|
||||
goto get_error;
|
||||
}
|
||||
diff --git a/tests/regression/ust/ust-dl/test_ust-dl b/tests/regression/ust/ust-dl/test_ust-dl
|
||||
deleted file mode 100755
|
||||
index 1f2934db..00000000
|
||||
--- a/tests/regression/ust/ust-dl/test_ust-dl
|
||||
+++ /dev/null
|
||||
@@ -1,32 +0,0 @@
|
||||
-#!/bin/bash
|
||||
-#
|
||||
-# Copyright (C) - 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
-#
|
||||
-# This program is free software; you can redistribute it and/or modify it
|
||||
-# under the terms of the GNU General Public License, version 2 only, as
|
||||
-# published by the Free Software Foundation.
|
||||
-#
|
||||
-# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
-# more details.
|
||||
-#
|
||||
-# You should have received a copy of the GNU General Public License along with
|
||||
-# this program; if not, write to the Free Software Foundation, Inc., 51
|
||||
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
-
|
||||
-CURDIR=$(dirname $0)
|
||||
-TESTDIR=${CURDIR}/../../..
|
||||
-
|
||||
-source $TESTDIR/utils/utils.sh
|
||||
-
|
||||
-if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then
|
||||
- diag "No shared object generated. Skipping all tests."
|
||||
- exit 0
|
||||
-fi
|
||||
-
|
||||
-start_lttng_sessiond_notap
|
||||
-
|
||||
-python3 ${CURDIR}/test_ust-dl.py
|
||||
-
|
||||
-stop_lttng_sessiond_notap
|
||||
diff --git a/tests/regression/ust/ust-dl/test_ust-dl.in b/tests/regression/ust/ust-dl/test_ust-dl.in
|
||||
new file mode 100644
|
||||
index 00000000..61d00d21
|
||||
--- /dev/null
|
||||
+++ b/tests/regression/ust/ust-dl/test_ust-dl.in
|
||||
@@ -0,0 +1,34 @@
|
||||
+#!/bin/bash
|
||||
+#
|
||||
+# Copyright (C) - 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
+#
|
||||
+# This program is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU General Public License, version 2 only, as
|
||||
+# published by the Free Software Foundation.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
+# more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License along with
|
||||
+# this program; if not, write to the Free Software Foundation, Inc., 51
|
||||
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+
|
||||
+CURDIR=$(dirname $0)
|
||||
+TESTDIR=${CURDIR}/../../..
|
||||
+
|
||||
+source $TESTDIR/utils/utils.sh
|
||||
+
|
||||
+if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then
|
||||
+ diag "No shared object generated. Skipping all tests."
|
||||
+ exit 0
|
||||
+fi
|
||||
+
|
||||
+export LTTNG_TOOLS_HAVE_DLMOPEN=@HAVE_DLMOPEN@
|
||||
+
|
||||
+start_lttng_sessiond_notap
|
||||
+
|
||||
+python3 ${CURDIR}/test_ust-dl.py
|
||||
+
|
||||
+stop_lttng_sessiond_notap
|
||||
diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py
|
||||
index 81972a7d..72459840 100644
|
||||
--- a/tests/regression/ust/ust-dl/test_ust-dl.py
|
||||
+++ b/tests/regression/ust/ust-dl/test_ust-dl.py
|
||||
@@ -31,6 +31,9 @@ sys.path.append(test_utils_path)
|
||||
from test_utils import *
|
||||
|
||||
|
||||
+have_dlmopen = (os.environ.get('LTTNG_TOOLS_HAVE_DLMOPEN') == '1')
|
||||
+
|
||||
+
|
||||
NR_TESTS = 14
|
||||
current_test = 1
|
||||
print("1..{0}".format(NR_TESTS))
|
||||
@@ -113,7 +116,11 @@ current_test += 1
|
||||
print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace")
|
||||
current_test += 1
|
||||
|
||||
-print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace")
|
||||
+if have_dlmopen:
|
||||
+ print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace")
|
||||
+else:
|
||||
+ skip_test(current_test, 'dlmopen() is not available')
|
||||
+
|
||||
current_test += 1
|
||||
|
||||
print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace")
|
||||
diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py
|
||||
index 4b38630c..02e632a2 100644
|
||||
--- a/tests/utils/test_utils.py
|
||||
+++ b/tests/utils/test_utils.py
|
||||
@@ -62,6 +62,9 @@ def print_test_result(result, number, description):
|
||||
result_string += " {0} - {1}".format(number, description)
|
||||
print(result_string)
|
||||
|
||||
+def skip_test(number, description):
|
||||
+ print('ok {} # skip {}'.format(number, description))
|
||||
+
|
||||
def enable_ust_tracepoint_event(session_info, event_name):
|
||||
event = Event()
|
||||
event.name = event_name
|
||||
--
|
||||
2.15.0
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 40dde31f7eeb71af169b97b82d8fd1739895dfc3 Mon Sep 17 00:00:00 2001
|
||||
From: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
Date: Wed, 8 Nov 2017 15:19:24 -0500
|
||||
Subject: [PATCH] Fix: src/common/pipe.h: include <sys/types.h> for ssize_t and
|
||||
mode_t
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
[Philippe: backport from upstream commit 40dde31f]
|
||||
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
---
|
||||
src/common/pipe.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/common/pipe.h b/src/common/pipe.h
|
||||
index 2d4fc967..30f7c3f3 100644
|
||||
--- a/src/common/pipe.h
|
||||
+++ b/src/common/pipe.h
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include <pthread.h>
|
||||
#include <common/macros.h>
|
||||
+#include <sys/types.h>
|
||||
|
||||
enum lttng_pipe_state {
|
||||
LTTNG_PIPE_STATE_OPENED = 1,
|
||||
--
|
||||
2.15.0
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
From 56efeab366da412ee4196107c08174f32ed83c9a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?=
|
||||
<jeremie.galarneau@efficios.com>
|
||||
Date: Mon, 13 Nov 2017 10:31:29 -0500
|
||||
Subject: [PATCH] Fix warning: src/bin/lttng/utils.c: cast incompatible pointer
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Reported-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
[Philippe: backport from upstream commit 56efeab3]
|
||||
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
---
|
||||
src/bin/lttng/utils.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c
|
||||
index 885f498b..52a2440e 100644
|
||||
--- a/src/bin/lttng/utils.c
|
||||
+++ b/src/bin/lttng/utils.c
|
||||
@@ -387,7 +387,7 @@ int check_relayd(void)
|
||||
* A successful connect means the relayd exists thus returning 0 else a
|
||||
* negative value means it does NOT exists.
|
||||
*/
|
||||
- ret = connect(fd, &sin, sizeof(sin));
|
||||
+ ret = connect(fd, (struct sockaddr *) &sin, sizeof(sin));
|
||||
if (ret < 0) {
|
||||
/* Not found. */
|
||||
ret = 0;
|
||||
--
|
||||
2.15.0
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
# From http://lttng.org/files/lttng-tools/lttng-tools-2.10.1.tar.bz2.{md5,sha1}
|
||||
md5 fd80fa64dffd8017fb30836eb30532cc lttng-tools-2.10.1.tar.bz2
|
||||
sha1 b29554903160dc1c89b41c85493fd968de0e624f lttng-tools-2.10.1.tar.bz2
|
||||
# From https://lttng.org/files/lttng-tools/lttng-tools-2.10.5.tar.bz2.{md5,sha1}
|
||||
md5 50e07676d5eb5d6cf4ece804863a6f74 lttng-tools-2.10.5.tar.bz2
|
||||
sha1 68790d44529a3b29896c35bb2350e8a0e1226264 lttng-tools-2.10.5.tar.bz2
|
||||
# Locally computed
|
||||
sha256 a4868078ef961e83dc236c4f24fd848161bfa755344b064dece62c4c81a07411 lttng-tools-2.10.5.tar.bz2
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 gpl-2.0.txt
|
||||
sha256 051be1f11b508ef7bb839994f6b58be19a827c56bd9bddfe36d77d3d4be55abe lgpl-2.1.txt
|
||||
sha256 f07515677547da5f3ee2396bdf491affc1accd5e4765a5378b6e1e98392fd5e7 LICENSE
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LTTNG_TOOLS_VERSION = 2.10.1
|
||||
LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools
|
||||
LTTNG_TOOLS_VERSION = 2.10.5
|
||||
LTTNG_TOOLS_SITE = https://lttng.org/files/lttng-tools
|
||||
LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2
|
||||
LTTNG_TOOLS_INSTALL_STAGING = YES
|
||||
LTTNG_TOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ (include/lttng/*, src/lib/lttng-ctl/*)
|
||||
LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE
|
||||
LTTNG_TOOLS_CONF_OPTS += --disable-man-pages
|
||||
# 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch
|
||||
LTTNG_TOOLS_AUTORECONF = YES
|
||||
LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y)
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
Use system <sys/xattr.h>
|
||||
|
||||
The one from attr is no longer installed with latest version.
|
||||
|
||||
ENOATTR was in fact defined as ENODATA, so switch to using that instead.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
---
|
||||
Upstream status: merged:
|
||||
https://bitbucket.org/doub/flu/pull-requests/1
|
||||
https://bitbucket.org/doub/flu/commits/2d75cc2be79026b94188b11c6f53b219c24a5f70
|
||||
|
||||
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua 2018-05-06 09:22:28.499324049 +0200
|
||||
@@ -327,7 +327,7 @@
|
||||
name = "fs.getxattr";
|
||||
parameters = {"path", "name"};
|
||||
results = {"value"};
|
||||
- doc = [[Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]];
|
||||
+ doc = [[Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]];
|
||||
},
|
||||
{
|
||||
name = "fs.listxattr";
|
||||
@@ -338,7 +338,7 @@
|
||||
{
|
||||
name = "fs.removexattr";
|
||||
parameters = {"path", "name"};
|
||||
- doc = [[Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]];
|
||||
+ doc = [[Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]];
|
||||
},
|
||||
{
|
||||
name = "fs.opendir";
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua 2018-05-06 09:22:28.495324054 +0200
|
||||
@@ -222,8 +222,8 @@
|
||||
-- :NOTE: since the filesystem is a pure tree (not a DAG), use the path to find attribs
|
||||
|
||||
function luafs.getxattr(path, name)
|
||||
- local attrs = assert(xattrs[path], errno.ENOATTR)
|
||||
- return assert(attrs[name], errno.ENOATTR)
|
||||
+ local attrs = assert(xattrs[path], errno.ENODATA)
|
||||
+ return assert(attrs[name], errno.ENODATA)
|
||||
end
|
||||
|
||||
function luafs.setxattr(path, name, value, flags)
|
||||
@@ -236,7 +236,7 @@
|
||||
end
|
||||
|
||||
function luafs.removexattr(path, name)
|
||||
- local attrs = assert(xattrs[path], errno.ENOATTR)
|
||||
+ local attrs = assert(xattrs[path], errno.ENODATA)
|
||||
attrs[name] = nil
|
||||
if next(attrs)==nil then
|
||||
xattrs[path] = nil
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html 2018-05-06 09:22:28.499324049 +0200
|
||||
@@ -347,7 +347,7 @@
|
||||
<div class="function">
|
||||
<h3><a name="fs.getxattr"><code>value = fs.getxattr (path, name)</code></a></h3>
|
||||
|
||||
-<p>Get an extended attribute. If the attribute doesn't exist <code>ENOATTR</code> should be thrown.</p>
|
||||
+<p>Get an extended attribute. If the attribute doesn't exist <code>ENODATA</code> should be thrown.</p>
|
||||
</div>
|
||||
|
||||
<div class="function">
|
||||
@@ -359,7 +359,7 @@
|
||||
<div class="function">
|
||||
<h3><a name="fs.removexattr"><code>fs.removexattr (path, name)</code></a></h3>
|
||||
|
||||
-<p>Remove an extended attribute. If the attribute doesn't exist <code>ENOATTR</code> should be thrown.</p>
|
||||
+<p>Remove an extended attribute. If the attribute doesn't exist <code>ENODATA</code> should be thrown.</p>
|
||||
</div>
|
||||
|
||||
<div class="function">
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c lua-flu-20150331-1/doub-flu-a7daae986339/errno.c
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/errno.c 2018-05-06 09:23:06.323282527 +0200
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <lua.h>
|
||||
#include <lauxlib.h>
|
||||
#include <stdlib.h>
|
||||
-#include <attr/xattr.h>
|
||||
+#include <sys/xattr.h>
|
||||
#include "compat.h"
|
||||
|
||||
/****************************************************************************/
|
||||
@@ -103,7 +103,7 @@
|
||||
REGISTER_ERROR(EDOM)
|
||||
REGISTER_ERROR(ERANGE)
|
||||
REGISTER_ERROR(ENOSYS)
|
||||
- REGISTER_ERROR(ENOATTR)
|
||||
+ REGISTER_ERROR(ENODATA)
|
||||
#undef REGISTER_ERROR
|
||||
}
|
||||
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:22:04.123351349 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
library = 'fuse',
|
||||
},
|
||||
ATTR = {
|
||||
- header = 'attr/xattr.h',
|
||||
+ header = 'sys/xattr.h',
|
||||
},
|
||||
}
|
||||
dependencies = {
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c lua-flu-20150331-1/doub-flu-a7daae986339/flu.c
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.c 2018-05-06 09:23:06.323282527 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <fuse.h>
|
||||
-#include <attr/xattr.h>
|
||||
+#include <sys/xattr.h>
|
||||
#include <lua.h>
|
||||
#include <lauxlib.h>
|
||||
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in 2018-05-06 09:23:06.323282527 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
library = 'fuse',
|
||||
},
|
||||
ATTR = {
|
||||
- header = 'attr/xattr.h',
|
||||
+ header = 'sys/xattr.h',
|
||||
},
|
||||
}
|
||||
dependencies = {
|
||||
diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md lua-flu-20150331-1/doub-flu-a7daae986339/README.md
|
||||
--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md 2015-03-31 18:54:19.000000000 +0200
|
||||
+++ lua-flu-20150331-1/doub-flu-a7daae986339/README.md 2018-05-06 09:22:28.495324054 +0200
|
||||
@@ -345,7 +345,7 @@
|
||||
|
||||
### `value = fs.getxattr (path, name)`
|
||||
|
||||
-Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.
|
||||
+Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.
|
||||
|
||||
---
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
|
||||
### `fs.removexattr (path, name)`
|
||||
|
||||
-Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.
|
||||
+Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.
|
||||
|
||||
---
|
||||
|
||||
diff -durN lua-flu-20150331-1.orig/flu-20150331-1.rockspec lua-flu-20150331-1/flu-20150331-1.rockspec
|
||||
--- lua-flu-20150331-1.orig/flu-20150331-1.rockspec 2015-04-02 23:44:11.000000000 +0200
|
||||
+++ lua-flu-20150331-1/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
library = 'fuse',
|
||||
},
|
||||
ATTR = {
|
||||
- header = 'attr/xattr.h',
|
||||
+ header = 'sys/xattr.h',
|
||||
},
|
||||
}
|
||||
dependencies = {
|
||||
@@ -0,0 +1,277 @@
|
||||
From f563334a76e31442f7b8693d2d350e6981c51c46 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
Date: Fri, 20 Jul 2018 14:26:44 +0200
|
||||
Subject: [PATCH] configure: Introduce --enable-symvers option
|
||||
|
||||
Only few libc (e.g. glibc) libraries support full symbol version
|
||||
resolution in runtime. There are lot of standard libraries that do not
|
||||
support that, such as dietlibc, musl and uclibc. Hence there is no
|
||||
reason to generate symbol versions when compiling against them.
|
||||
|
||||
Additionally libdevmapper.so was broken when compiled against
|
||||
uclibc. Runtime linker loader caused calling dm_task_get_info_base()
|
||||
function recursively, leading to segmentation fault.
|
||||
|
||||
Introduce --enable-symvers[=STYLE] option, which allows to choose
|
||||
between gnu and disabled symbol versioning. By default gnu symbol
|
||||
versioning is used to provide backward compatibility.
|
||||
__GNUC__ check is replaced now with GNU_SYMVER, which is generated by
|
||||
configure script. Additionally ld version script is included only in
|
||||
case of gnu option, which slightly reduces output size.
|
||||
|
||||
Providing --disable-symvers to configure script when building against
|
||||
uclibc library fixes segmentation fault error described above, due to
|
||||
lack of several versions of the same symbol in libdevmapper.so
|
||||
library.
|
||||
|
||||
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
---
|
||||
configure | 32 ++++++++++++++++++++++++++++++--
|
||||
configure.in | 28 +++++++++++++++++++++++++---
|
||||
include/configure.h.in | 3 +++
|
||||
lib/misc/lib.h | 10 +++++-----
|
||||
libdm/datastruct/bitset.c | 5 +----
|
||||
libdm/ioctl/libdm-iface.c | 2 +-
|
||||
libdm/libdm-deptree.c | 2 +-
|
||||
libdm/libdm-stats.c | 2 +-
|
||||
8 files changed, 67 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index e1ae0e884..c5d11c1b6 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -985,6 +985,7 @@ enable_fsadm
|
||||
enable_blkdeactivate
|
||||
enable_dmeventd
|
||||
enable_selinux
|
||||
+enable_symvers
|
||||
enable_nls
|
||||
with_localedir
|
||||
with_confdir
|
||||
@@ -1729,6 +1730,9 @@ Optional Features:
|
||||
--disable-blkdeactivate disable blkdeactivate
|
||||
--enable-dmeventd enable the device-mapper event daemon
|
||||
--disable-selinux disable selinux support
|
||||
+ --enable-symvers[=STYLE]
|
||||
+ enables symbol versioning of the shared library
|
||||
+ [default=gnu]
|
||||
--enable-nls enable Native Language Support
|
||||
|
||||
Optional Packages:
|
||||
@@ -3169,7 +3173,6 @@ if test -z "$CFLAGS"; then :
|
||||
fi
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
|
||||
ELDFLAGS="-Wl,--export-dynamic"
|
||||
# FIXME Generate list and use --dynamic-list=.dlopen.sym
|
||||
CLDWHOLEARCHIVE="-Wl,-whole-archive"
|
||||
@@ -3190,7 +3193,6 @@ case "$host_os" in
|
||||
;;
|
||||
darwin*)
|
||||
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
|
||||
- CLDFLAGS="$CLDFLAGS"
|
||||
ELDFLAGS=
|
||||
CLDWHOLEARCHIVE="-all_load"
|
||||
CLDNOWHOLEARCHIVE=
|
||||
@@ -14609,6 +14611,32 @@ done
|
||||
LIBS=$lvm_saved_libs
|
||||
fi
|
||||
|
||||
+################################################################################
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol versioning" >&5
|
||||
+$as_echo_n "checking whether to enable symbol versioning... " >&6; }
|
||||
+# Check whether --enable-symvers was given.
|
||||
+if test "${enable_symvers+set}" = set; then :
|
||||
+ enableval=$enable_symvers;
|
||||
+ case "$enableval" in
|
||||
+ gnu|no) ;;
|
||||
+ *) as_fn_error $? "Unknown argument to enable/disable symvers" "$LINENO" 5 ;;
|
||||
+ esac
|
||||
+else
|
||||
+ enable_symvers=gnu
|
||||
+fi
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_symvers" >&5
|
||||
+$as_echo "$enable_symvers" >&6; }
|
||||
+
|
||||
+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then
|
||||
+
|
||||
+$as_echo "#define GNU_SYMVER 1" >>confdefs.h
|
||||
+
|
||||
+ case "$host_os" in
|
||||
+ linux*) CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ;;
|
||||
+ esac
|
||||
+fi
|
||||
+
|
||||
################################################################################
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalisation" >&5
|
||||
$as_echo_n "checking whether to enable internationalisation... " >&6; }
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 2e5e015c8..09c390850 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -30,12 +30,10 @@ AC_CANONICAL_TARGET([])
|
||||
AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
|
||||
ELDFLAGS="-Wl,--export-dynamic"
|
||||
# FIXME Generate list and use --dynamic-list=.dlopen.sym
|
||||
CLDWHOLEARCHIVE="-Wl,-whole-archive"
|
||||
CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
|
||||
- LDDEPS="$LDDEPS .export.sym"
|
||||
LIB_SUFFIX=so
|
||||
DEVMAPPER=yes
|
||||
BUILD_LVMETAD=no
|
||||
@@ -51,7 +49,6 @@ case "$host_os" in
|
||||
;;
|
||||
darwin*)
|
||||
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
|
||||
- CLDFLAGS="$CLDFLAGS"
|
||||
ELDFLAGS=
|
||||
CLDWHOLEARCHIVE="-all_load"
|
||||
CLDNOWHOLEARCHIVE=
|
||||
@@ -1742,6 +1739,31 @@ package as well (which may be called readline-devel or something similar).])
|
||||
LIBS=$lvm_saved_libs
|
||||
fi
|
||||
|
||||
+################################################################################
|
||||
+dnl -- Symbol versioning
|
||||
+AC_MSG_CHECKING(whether to enable symbol versioning)
|
||||
+AC_ARG_ENABLE(symvers,
|
||||
+ AC_HELP_STRING([--enable-symvers[[[=STYLE]]]],
|
||||
+ [enables symbol versioning of the shared library [default=gnu]]),
|
||||
+ [
|
||||
+ case "$enableval" in
|
||||
+ gnu|no) ;;
|
||||
+ *) AC_MSG_ERROR(Unknown argument to enable/disable symvers) ;;
|
||||
+ esac],
|
||||
+ enable_symvers=gnu)
|
||||
+AC_MSG_RESULT($enable_symvers)
|
||||
+
|
||||
+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then
|
||||
+ AC_DEFINE(GNU_SYMVER, 1,
|
||||
+ [Define to use GNU versioning in the shared library.])
|
||||
+ case "$host_os" in
|
||||
+ linux*)
|
||||
+ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
|
||||
+ LDDEPS="$LDDEPS .export.sym"
|
||||
+ ;;
|
||||
+ esac
|
||||
+fi
|
||||
+
|
||||
################################################################################
|
||||
dnl -- Internationalisation stuff
|
||||
AC_MSG_CHECKING(whether to enable internationalisation)
|
||||
diff --git a/include/configure.h.in b/include/configure.h.in
|
||||
index 51726506c..3fc181b1e 100644
|
||||
--- a/include/configure.h.in
|
||||
+++ b/include/configure.h.in
|
||||
@@ -151,6 +151,9 @@
|
||||
/* Path to fsadm binary. */
|
||||
#undef FSADM_PATH
|
||||
|
||||
+/* Define to use GNU versioning in the shared library. */
|
||||
+#undef GNU_SYMVER
|
||||
+
|
||||
/* Define to 1 if you have the `alarm' function. */
|
||||
#undef HAVE_ALARM
|
||||
|
||||
diff --git a/lib/misc/lib.h b/lib/misc/lib.h
|
||||
index 8ed06f81d..9b3ce8a03 100644
|
||||
--- a/lib/misc/lib.h
|
||||
+++ b/lib/misc/lib.h
|
||||
@@ -42,16 +42,16 @@
|
||||
* macro DM_EXPORT_SYMBOL to export the function and bind it to the
|
||||
* specified version string.
|
||||
*
|
||||
- * Since versioning is only available when compiling with GCC the entire
|
||||
- * compatibility version should be enclosed in '#if defined(__GNUC__)',
|
||||
- * for example:
|
||||
+ * Since versioning is only available when compiling with GCC
|
||||
+ * and GLIBC the entire compatibility version should be enclosed
|
||||
+ * in '#if defined(GNU_SYMVER)', for example:
|
||||
*
|
||||
* int dm_foo(int bar)
|
||||
* {
|
||||
* return bar;
|
||||
* }
|
||||
*
|
||||
- * #if defined(__GNUC__)
|
||||
+ * #if defined(GNU_SYMVER)
|
||||
* // Backward compatible dm_foo() version 1.02.104
|
||||
* int dm_foo_v1_02_104(void);
|
||||
* int dm_foo_v1_02_104(void)
|
||||
@@ -68,7 +68,7 @@
|
||||
* versions of library symbols prior to the introduction of symbol
|
||||
* versioning: it must never be used for new symbols.
|
||||
*/
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(GNU_SYMVER)
|
||||
#define DM_EXPORT_SYMBOL(func, ver) \
|
||||
__asm__(".symver " #func "_v" #ver ", " #func "@DM_" #ver )
|
||||
#define DM_EXPORT_SYMBOL_BASE(func) \
|
||||
diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c
|
||||
index b0826e1eb..2ec3f8f84 100644
|
||||
--- a/libdm/datastruct/bitset.c
|
||||
+++ b/libdm/datastruct/bitset.c
|
||||
@@ -242,7 +242,7 @@ bad:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(GNU_SYMVER)
|
||||
/*
|
||||
* Maintain backward compatibility with older versions that did not
|
||||
* accept a 'min_num_bits' argument to dm_bitset_parse_list().
|
||||
@@ -253,7 +253,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem)
|
||||
return dm_bitset_parse_list(str, mem, 0);
|
||||
}
|
||||
DM_EXPORT_SYMBOL(dm_bitset_parse_list, 1_02_129);
|
||||
-
|
||||
-#else /* if defined(__GNUC__) */
|
||||
-
|
||||
#endif
|
||||
diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c
|
||||
index c47e08467..b98afb15d 100644
|
||||
--- a/libdm/ioctl/libdm-iface.c
|
||||
+++ b/libdm/ioctl/libdm-iface.c
|
||||
@@ -2137,7 +2137,7 @@ void dm_lib_exit(void)
|
||||
_version_checked = 0;
|
||||
}
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(GNU_SYMVER)
|
||||
/*
|
||||
* Maintain binary backward compatibility.
|
||||
* Version script mechanism works with 'gcc' compatible compilers only.
|
||||
diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
|
||||
index cf4fd62e7..474871da5 100644
|
||||
--- a/libdm/libdm-deptree.c
|
||||
+++ b/libdm/libdm-deptree.c
|
||||
@@ -4110,7 +4110,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode,
|
||||
dnode->callback_data = data;
|
||||
}
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(GNU_SYMVER)
|
||||
/*
|
||||
* Backward compatible implementations.
|
||||
*
|
||||
diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
|
||||
index bc498675f..d424928c7 100644
|
||||
--- a/libdm/libdm-stats.c
|
||||
+++ b/libdm/libdm-stats.c
|
||||
@@ -5064,7 +5064,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path,
|
||||
* current dm_stats_create_region() version.
|
||||
*/
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(GNU_SYMVER)
|
||||
int dm_stats_create_region_v1_02_106(struct dm_stats *dms, uint64_t *region_id,
|
||||
uint64_t start, uint64_t len, int64_t step,
|
||||
int precise, const char *program_id,
|
||||
--
|
||||
2.18.0
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
# From ftp://sources.redhat.com/pub/lvm2/releases/sha512.sum
|
||||
sha512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e LVM2.2.02.173.tgz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING
|
||||
sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB
|
||||
|
||||
@@ -19,7 +19,8 @@ LVM2_CONF_OPTS += \
|
||||
--enable-pkgconfig \
|
||||
--enable-cmdlib \
|
||||
--enable-dmeventd \
|
||||
--disable-nls
|
||||
--disable-nls \
|
||||
--disable-symvers
|
||||
|
||||
LVM2_DEPENDENCIES += host-pkgconf
|
||||
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001
|
||||
From: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Mon, 5 Mar 2018 10:56:29 -0800
|
||||
Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Problem reported by Daniel P. Berrangé in:
|
||||
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
|
||||
* lib/fbufmode.c (fbufmode):
|
||||
* lib/fflush.c (clear_ungetc_buffer_preserving_position)
|
||||
(disable_seek_optimization, rpl_fflush):
|
||||
* lib/fpending.c (__fpending):
|
||||
* lib/fpurge.c (fpurge):
|
||||
* lib/freadable.c (freadable):
|
||||
* lib/freadahead.c (freadahead):
|
||||
* lib/freading.c (freading):
|
||||
* lib/freadptr.c (freadptr):
|
||||
* lib/freadseek.c (freadptrinc):
|
||||
* lib/fseeko.c (fseeko):
|
||||
* lib/fseterr.c (fseterr):
|
||||
* lib/fwritable.c (fwritable):
|
||||
* lib/fwriting.c (fwriting):
|
||||
Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
|
||||
* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
|
||||
Define if not already defined.
|
||||
|
||||
[yann.morin.1998@free.fr: partially backport from upstream gnulib]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
---
|
||||
lib/fflush.c | 6 +++---
|
||||
lib/fpending.c | 2 +-
|
||||
lib/fpurge.c | 2 +-
|
||||
lib/freadahead.c | 2 +-
|
||||
lib/freading.c | 2 +-
|
||||
lib/fseeko.c | 4 ++--
|
||||
lib/stdio-impl.h | 6 ++++++
|
||||
7 files changed, 15 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c
|
||||
index 983ade0ff..a6edfa105 100644
|
||||
--- a/lib/fflush.c
|
||||
+++ b/lib/fflush.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#undef fflush
|
||||
|
||||
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
|
||||
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
|
||||
static void
|
||||
@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
|
||||
|
||||
#endif
|
||||
|
||||
-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
|
||||
+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
|
||||
|
||||
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
|
||||
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
|
||||
@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
|
||||
if (stream == NULL || ! freading (stream))
|
||||
return fflush (stream);
|
||||
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
|
||||
clear_ungetc_buffer_preserving_position (stream);
|
||||
|
||||
diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c
|
||||
index c84e3a5b4..789f50e4e 100644
|
||||
--- a/lib/fpending.c
|
||||
+++ b/lib/fpending.c
|
||||
@@ -32,7 +32,7 @@ __fpending (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
return fp->_IO_write_ptr - fp->_IO_write_base;
|
||||
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
||||
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
|
||||
diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c
|
||||
index b1d417c7a..3aedcc373 100644
|
||||
--- a/lib/fpurge.c
|
||||
+++ b/lib/fpurge.c
|
||||
@@ -62,7 +62,7 @@ fpurge (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
fp->_IO_read_end = fp->_IO_read_ptr;
|
||||
fp->_IO_write_ptr = fp->_IO_write_base;
|
||||
/* Avoid memory leak when there is an active ungetc buffer. */
|
||||
diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c
|
||||
index c2ecb5b28..23ec76ee5 100644
|
||||
--- a/lib/freadahead.c
|
||||
+++ b/lib/freadahead.c
|
||||
@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *);
|
||||
size_t
|
||||
freadahead (FILE *fp)
|
||||
{
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
if (fp->_IO_write_ptr > fp->_IO_write_base)
|
||||
return 0;
|
||||
return (fp->_IO_read_end - fp->_IO_read_ptr)
|
||||
diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c
|
||||
index 73c28acdd..c24d0c88a 100644
|
||||
--- a/lib/freading.c
|
||||
+++ b/lib/freading.c
|
||||
@@ -31,7 +31,7 @@ freading (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
return ((fp->_flags & _IO_NO_WRITES) != 0
|
||||
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
|
||||
&& fp->_IO_read_base != NULL));
|
||||
diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c
|
||||
index 0101ab55f..193f4e8ce 100644
|
||||
--- a/lib/fseeko.c
|
||||
+++ b/lib/fseeko.c
|
||||
@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
|
||||
#endif
|
||||
|
||||
/* These tests are based on fpurge.c. */
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
if (fp->_IO_read_end == fp->_IO_read_ptr
|
||||
&& fp->_IO_write_ptr == fp->_IO_write_base
|
||||
&& fp->_IO_save_base == NULL)
|
||||
@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
|
||||
return -1;
|
||||
}
|
||||
|
||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
fp->_flags &= ~_IO_EOF_SEEN;
|
||||
fp->_offset = pos;
|
||||
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
||||
diff --git a/lib/stdio-impl.h b/build-aux/gnulib/lib/stdio-impl.h
|
||||
index 78d896e9f..05c5752a2 100644
|
||||
--- a/lib/stdio-impl.h
|
||||
+++ b/lib/stdio-impl.h
|
||||
@@ -18,6 +18,12 @@
|
||||
the same implementation of stdio extension API, except that some fields
|
||||
have different naming conventions, or their access requires some casts. */
|
||||
|
||||
+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
|
||||
+ problem by defining it ourselves. FIXME: Do not rely on glibc
|
||||
+ internals. */
|
||||
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
|
||||
+# define _IO_IN_BACKUP 0x100
|
||||
+#endif
|
||||
|
||||
/* BSD stdio derived implementations. */
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
From 74d9d6a293d7462dea8f83e7fc5ac792e956a0ad Mon Sep 17 00:00:00 2001
|
||||
From: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Thu, 8 Mar 2018 16:42:45 -0800
|
||||
Subject: [PATCH 2/2] fflush: be more paranoid about libio.h change
|
||||
|
||||
Suggested by Eli Zaretskii in:
|
||||
https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
|
||||
* lib/fbufmode.c (fbufmode):
|
||||
* lib/fflush.c (clear_ungetc_buffer_preserving_position)
|
||||
(disable_seek_optimization, rpl_fflush):
|
||||
* lib/fpending.c (__fpending):
|
||||
* lib/fpurge.c (fpurge):
|
||||
* lib/freadable.c (freadable):
|
||||
* lib/freadahead.c (freadahead):
|
||||
* lib/freading.c (freading):
|
||||
* lib/freadptr.c (freadptr):
|
||||
* lib/freadseek.c (freadptrinc):
|
||||
* lib/fseeko.c (fseeko):
|
||||
* lib/fseterr.c (fseterr):
|
||||
* lib/fwritable.c (fwritable):
|
||||
* lib/fwriting.c (fwriting):
|
||||
Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
|
||||
---
|
||||
lib/fflush.c | 9 ++++++---
|
||||
lib/fpending.c | 3 ++-
|
||||
lib/fpurge.c | 3 ++-
|
||||
lib/freadahead.c | 3 ++-
|
||||
lib/freading.c | 3 ++-
|
||||
lib/fseeko.c | 6 ++++--
|
||||
6 files changed, 18 insertions(+), 9 deletions(-)
|
||||
|
||||
[yann.morin.1998@free.fr: partially backport from upstream gnulib]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c
|
||||
index a6edfa105..a140b7ad9 100644
|
||||
--- a/lib/fflush.c
|
||||
+++ b/lib/fflush.c
|
||||
@@ -33,7 +33,8 @@
|
||||
#undef fflush
|
||||
|
||||
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+/* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
|
||||
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
|
||||
static void
|
||||
@@ -72,7 +73,8 @@ clear_ungetc_buffer (FILE *fp)
|
||||
|
||||
#endif
|
||||
|
||||
-#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
|
||||
+#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1)
|
||||
+/* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
|
||||
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
|
||||
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
|
||||
@@ -148,7 +150,8 @@ rpl_fflush (FILE *stream)
|
||||
if (stream == NULL || ! freading (stream))
|
||||
return fflush (stream);
|
||||
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
|
||||
clear_ungetc_buffer_preserving_position (stream);
|
||||
|
||||
diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c
|
||||
index 789f50e4e..7bc235ded 100644
|
||||
--- a/lib/fpending.c
|
||||
+++ b/lib/fpending.c
|
||||
@@ -32,7 +32,8 @@ __fpending (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
return fp->_IO_write_ptr - fp->_IO_write_base;
|
||||
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
||||
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
|
||||
diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c
|
||||
index 3aedcc373..554790b56 100644
|
||||
--- a/lib/fpurge.c
|
||||
+++ b/lib/fpurge.c
|
||||
@@ -62,7 +62,8 @@ fpurge (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
fp->_IO_read_end = fp->_IO_read_ptr;
|
||||
fp->_IO_write_ptr = fp->_IO_write_base;
|
||||
/* Avoid memory leak when there is an active ungetc buffer. */
|
||||
diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c
|
||||
index 23ec76ee5..ed3dd0ebd 100644
|
||||
--- a/lib/freadahead.c
|
||||
+++ b/lib/freadahead.c
|
||||
@@ -30,7 +30,8 @@ extern size_t __sreadahead (FILE *);
|
||||
size_t
|
||||
freadahead (FILE *fp)
|
||||
{
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
if (fp->_IO_write_ptr > fp->_IO_write_base)
|
||||
return 0;
|
||||
return (fp->_IO_read_end - fp->_IO_read_ptr)
|
||||
diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c
|
||||
index c24d0c88a..790f92ca3 100644
|
||||
--- a/lib/freading.c
|
||||
+++ b/lib/freading.c
|
||||
@@ -31,7 +31,8 @@ freading (FILE *fp)
|
||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||
fast macros. */
|
||||
-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
return ((fp->_flags & _IO_NO_WRITES) != 0
|
||||
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
|
||||
&& fp->_IO_read_base != NULL));
|
||||
diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c
|
||||
index 193f4e8ce..e5c5172e7 100644
|
||||
--- a/lib/fseeko.c
|
||||
+++ b/lib/fseeko.c
|
||||
@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence)
|
||||
#endif
|
||||
|
||||
/* These tests are based on fpurge.c. */
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
if (fp->_IO_read_end == fp->_IO_read_ptr
|
||||
&& fp->_IO_write_ptr == fp->_IO_write_base
|
||||
&& fp->_IO_save_base == NULL)
|
||||
@@ -123,7 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence)
|
||||
return -1;
|
||||
}
|
||||
|
||||
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
|
||||
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
fp->_flags &= ~_IO_EOF_SEEN;
|
||||
fp->_offset = pos;
|
||||
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -510,7 +510,7 @@ int main(int argc, char **argv)
|
||||
|
||||
linenum++;
|
||||
|
||||
if (1 == sscanf(line, "|xattr %254s", xattr)) {
|
||||
if (1 == sscanf(line, " |xattr %254s", xattr)) {
|
||||
#ifdef EXTENDED_ATTRIBUTES
|
||||
if (!full_name)
|
||||
bb_error_msg_and_die("line %d should be after a file\n", linenum);
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# From https://downloads.mariadb.org/mariadb/10.1.33/
|
||||
sha256 94312c519f2c0c25e1964c64e22aff0036fb22dfb2685638f43a6b2211395d2d mariadb-10.1.33.tar.gz
|
||||
# From https://downloads.mariadb.org/mariadb/10.1.35/
|
||||
md5 935f401314ff08a4177beb70fed6055c mariadb-10.1.35.tar.gz
|
||||
sha1 d322f0da17f4de475832dd534657eba5a936f77b mariadb-10.1.35.tar.gz
|
||||
sha256 9e91d985ed4f662126e3e5791fe91ec8a2f44ec811113c2b6fbc72fa14553c4d mariadb-10.1.35.tar.gz
|
||||
sha512 88e6049f3bbc3aa047e108f91a2c4f335758e80f25bfa2974b5f8c2e13f5758824d7835dece021b515c531e5641b9998e4de92256ad4b47b7f694da99bd471aa mariadb-10.1.35.tar.gz
|
||||
|
||||
# Hash for license files
|
||||
sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MARIADB_VERSION = 10.1.33
|
||||
MARIADB_VERSION = 10.1.35
|
||||
MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source
|
||||
MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library)
|
||||
# Tarball no longer contains LGPL license text
|
||||
@@ -104,13 +104,13 @@ define MARIADB_INSTALL_INIT_SYSTEMD
|
||||
endef
|
||||
endif
|
||||
|
||||
# We don't need mysql_config on the target as it's only useful in staging
|
||||
# We also don't need the test suite on the target
|
||||
define MARIADB_POST_INSTALL
|
||||
mkdir -p $(TARGET_DIR)/var/lib/mysql
|
||||
$(INSTALL) -D -m 644 $(TARGET_DIR)/usr/share/mysql/my-small.cnf \
|
||||
$(TARGET_DIR)/etc/mysql/my.cnf
|
||||
# We don't need this on the target as it's only useful in staging
|
||||
$(RM) $(TARGET_DIR)/usr/bin/mysql_config
|
||||
# Remove test suite
|
||||
$(RM) -r $(TARGET_DIR)/usr/share/mysql/test
|
||||
endef
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From a0ae2ba37ca479c6edddec8634b25686be965e0d Mon Sep 17 00:00:00 2001
|
||||
From: Peter Korsgaard <peter@korsgaard.com>
|
||||
Date: Mon, 27 Aug 2018 22:50:57 +0200
|
||||
Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes #1910
|
||||
|
||||
With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline
|
||||
assembly fails to build with GCC < 5 in PIC mode with the following error:
|
||||
|
||||
include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’
|
||||
|
||||
This is because older GCC versions treated the x86 ebx register (which is
|
||||
used for the GOT) as a fixed reserved register when building as PIC.
|
||||
|
||||
This is fixed by an improved register allocator in GCC 5+. From the release
|
||||
notes:
|
||||
|
||||
Register allocation improvements: Reuse of the PIC hard register, instead of
|
||||
using a fixed register, was implemented on x86/x86-64 targets. This
|
||||
improves generated PIC code performance as more hard registers can be used.
|
||||
|
||||
https://www.gnu.org/software/gcc/gcc-5/changes.html
|
||||
|
||||
As a workaround, detect this situation and disable the inline assembly,
|
||||
similar to the MULADDC_CANNOT_USE_R7 logic.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
Upstream: https://github.com/ARMmbed/mbedtls/pull/1986
|
||||
---
|
||||
include/mbedtls/bn_mul.h | 18 +++++++++++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h
|
||||
index b587317d9..74a2d29be 100644
|
||||
--- a/include/mbedtls/bn_mul.h
|
||||
+++ b/include/mbedtls/bn_mul.h
|
||||
@@ -50,13 +50,29 @@
|
||||
#if defined(__GNUC__) && \
|
||||
( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 )
|
||||
|
||||
+/*
|
||||
+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a
|
||||
+ * fixed reserved register when building as PIC, leading to errors
|
||||
+ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’
|
||||
+ *
|
||||
+ * This is fixed by an improved register allocator in GCC 5+. From the
|
||||
+ * release notes:
|
||||
+ * Register allocation improvements: Reuse of the PIC hard register,
|
||||
+ * instead of using a fixed register, was implemented on x86/x86-64
|
||||
+ * targets. This improves generated PIC code performance as more hard
|
||||
+ * registers can be used.
|
||||
+ */
|
||||
+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__)
|
||||
+#define MULADDC_CANNOT_USE_EBX
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Disable use of the i386 assembly code below if option -O0, to disable all
|
||||
* compiler optimisations, is passed, detected with __OPTIMIZE__
|
||||
* This is done as the number of registers used in the assembly code doesn't
|
||||
* work with the -O0 option.
|
||||
*/
|
||||
-#if defined(__i386__) && defined(__OPTIMIZE__)
|
||||
+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX)
|
||||
|
||||
#define MULADDC_INIT \
|
||||
asm( \
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.9.0-2.7.3-and-2.1.12-released
|
||||
sha1 8352f6713a9ee695f6f19e893c0e85941af71967 mbedtls-2.7.3-apache.tgz
|
||||
sha256 05282af7d95fedb2430c248ffe3081646800b8dae9071f8da11a07100963d765 mbedtls-2.7.3-apache.tgz
|
||||
# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.12.0-2.7.5-and-2.1.14-released
|
||||
sha1 180ca49e2bb6df3826113781b793529a81427ce3 mbedtls-2.7.5-apache.tgz
|
||||
sha256 a1302ad9094aabb9880d2755927b466a6bac8e02b68e04dee77321f3859e9b40 mbedtls-2.7.5-apache.tgz
|
||||
# Locally calculated
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
MBEDTLS_SITE = https://tls.mbed.org/code/releases
|
||||
MBEDTLS_VERSION = 2.7.3
|
||||
MBEDTLS_VERSION = 2.7.5
|
||||
MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz
|
||||
MBEDTLS_CONF_OPTS = \
|
||||
-DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \
|
||||
|
||||
@@ -34,9 +34,9 @@ ifeq ($(BR2_PACKAGE_XORG7),y)
|
||||
# contains -i.
|
||||
define MESA3D_HEADERS_BUILD_DRI_PC
|
||||
sed -e 's:@\(exec_\)\?prefix@:/usr:' \
|
||||
-e 's:@libdir@:${exec_prefix}/lib:' \
|
||||
-e 's:@includedir@:${prefix}/include:' \
|
||||
-e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \
|
||||
-e 's:@libdir@:$${exec_prefix}/lib:' \
|
||||
-e 's:@includedir@:$${prefix}/include:' \
|
||||
-e 's:@DRI_DRIVER_INSTALL_DIR@:$${libdir}/dri:' \
|
||||
-e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \
|
||||
-e 's:@DRI_PC_REQ_PRIV@::' \
|
||||
$(@D)/src/mesa/drivers/dri/dri.pc.in \
|
||||
|
||||
@@ -254,13 +254,19 @@ config BR2_PACKAGE_MPD_OSS
|
||||
|
||||
config BR2_PACKAGE_MPD_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
depends on !BR2_STATIC_LIBS # pulseaudio
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
help
|
||||
Enable pulseaudio output support.
|
||||
|
||||
comment "pulseaudio support needs a toolchain w/ dynamic library"
|
||||
depends on BR2_STATIC_LIBS
|
||||
comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
||||
|
||||
config BR2_PACKAGE_MPD_SHOUTCAST
|
||||
bool "shoutcast"
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001
|
||||
From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
||||
Date: Sat, 9 Jun 2018 16:45:22 +0200
|
||||
Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
|
||||
|
||||
This reverts commit dede98ffb706676309488d7cc660f569548d5930.
|
||||
|
||||
The original commit tried to fix a descrepancy between the implementation
|
||||
and the documentation by making the implementation comply.
|
||||
|
||||
When making the change, it was overlooked, that ubinfo and ubirename were
|
||||
written against the implementation instead of the behaviour specified by
|
||||
the documentation. So were further internal functions like
|
||||
ubi_get_vol_info1_nm which further breaks ubirmvol.
|
||||
|
||||
A report with an outline of a resulting problem can be read on
|
||||
the mailing list:
|
||||
|
||||
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
|
||||
|
||||
From the report:
|
||||
|
||||
steps to reproduce: have mtd-utils 2.0.1 or 2.0.2
|
||||
|
||||
0. make a bunch of ubi volumes in sequential order
|
||||
|
||||
ubimkvol /dev/ubi0 -s 64KiB -N test1
|
||||
ubimkvol /dev/ubi0 -s 64KiB -N test2
|
||||
ubimkvol /dev/ubi0 -s 64KiB -N test3
|
||||
ubimkvol /dev/ubi0 -s 64KiB -N test4
|
||||
..
|
||||
|
||||
1. delete the test1 volume, making a hole in the volume table
|
||||
|
||||
ubirmvol /dev/ubi0 -N test1
|
||||
|
||||
2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" )
|
||||
|
||||
|root at mr24:/# ubirmvol /dev/ubi0 -N test4
|
||||
|ubirmvol: error!: cannot find UBI volume "test4"
|
||||
| error 19 (No such device)
|
||||
|
||||
or "ubinfo -a"
|
||||
|
||||
| root at mr24:/# ubinfo -a
|
||||
| UBI version: 1
|
||||
| Count of UBI devices: 1
|
||||
| UBI control device major/minor: 10:59
|
||||
| Present UBI devices: ubi0
|
||||
|
|
||||
| ubi0
|
||||
| Volumes count: 11
|
||||
| Logical eraseblock size: 15872 bytes, 15.5 KiB
|
||||
| Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB)
|
||||
| Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB)
|
||||
| Maximum count of volumes 92
|
||||
| Count of bad physical eraseblocks: 0
|
||||
| Count of reserved physical eraseblocks: 40
|
||||
| Current maximum erase counter value: 984
|
||||
| Minimum input/output unit size: 512 bytes
|
||||
| Character device major/minor: 251:0
|
||||
| ubinfo: error!: libubi failed to probe volume 5 on ubi0
|
||||
| error 19 (No such device)
|
||||
| Present volumes: 0, 1, 2, 3, 4root at mr24:/#
|
||||
|
||||
Reported-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
||||
Signed-off-by: David Owens <david.owens@rockwellcollins.com>
|
||||
---
|
||||
lib/libubi.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/libubi.c b/lib/libubi.c
|
||||
index b50e68a..978b433 100644
|
||||
--- a/lib/libubi.c
|
||||
+++ b/lib/libubi.c
|
||||
@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id,
|
||||
info->dev_num = dev_num;
|
||||
info->vol_id = vol_id;
|
||||
|
||||
- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) {
|
||||
- if (errno == ENOENT)
|
||||
- errno = ENODEV;
|
||||
+ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor))
|
||||
return -1;
|
||||
- }
|
||||
|
||||
ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50);
|
||||
if (ret < 0)
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.1.tar.bz2.asc
|
||||
sha256 312baa0446e4e728ceb413c53533e41e547d1c13ffa0752b2f879fd289fc2f63 mtd-utils-2.0.1.tar.bz2
|
||||
# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.2.tar.bz2.asc
|
||||
sha256 fb3de61be8e932abb424e8ea3c30298f553d5f970ad158a737bb303bbf9660b8 mtd-utils-2.0.2.tar.bz2
|
||||
sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user