From 8c6cf388cda9807d08a9febd498bf55dcc748951 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 3 Dec 2018 13:04:44 -0800 Subject: Fix uClibc builds after moxie merge Broken because of the capitalization of the name. Signed-off-by: Alexey Neyman diff --git a/scripts/build/libc/moxiebox.sh b/scripts/build/libc/moxiebox.sh index 376c742..96a63ff 100644 --- a/scripts/build/libc/moxiebox.sh +++ b/scripts/build/libc/moxiebox.sh @@ -45,7 +45,7 @@ moxiebox_main() CT_DoExecLog ALL cp -v "${CT_LIB_DIR}/packages/moxiebox/"sha*.[ch] ./ CT_DoExecLog ALL "${CT_HOST}-gcc" -c sha256_wrap.c -O2 -Wall CT_DoExecLog ALL "${CT_HOST}-ar" cru libcrypto.a sha256_wrap.o - CT_Popd + CT_Popd # Moxiebox includes a VM which we're building for the # host machine. diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index ed2ea90..7b66204 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -3,21 +3,21 @@ # Licensed under the GPL v2. See COPYING in the root of this package # Build and install headers and start files -uclibc_start_files() +uClibc_start_files() { # Start files and Headers should be configured the same way as the # final libc, but built and installed differently. - uclibc_backend libc_mode=startfiles + uClibc_backend libc_mode=startfiles } # This function builds and install the full C library -uclibc_main() +uClibc_main() { - uclibc_backend libc_mode=final + uClibc_backend libc_mode=final } # Common backend for 1st and 2nd passes. -uclibc_backend() +uClibc_backend() { local libc_mode local arg @@ -33,13 +33,13 @@ uclibc_backend() esac CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}" - CT_IterateMultilibs uclibc_backend_once multilib libc_mode="${libc_mode}" + CT_IterateMultilibs uClibc_backend_once multilib libc_mode="${libc_mode}" CT_Popd CT_EndStep } # Common backend for 1st and 2nd passes, once per multilib. -uclibc_backend_once() +uClibc_backend_once() { local libc_mode local multi_dir multi_os_dir multi_root multi_flags multi_index multi_count @@ -48,16 +48,16 @@ uclibc_backend_once() local -a make_args local extra_cflags f cfg_cflags cf local hdr_install_subdir - local uclibc_name + local uClibc_name for arg in "$@"; do eval "${arg// /\\ }" done if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then - uclibc_name="uClibc-ng" + uClibc_name="uClibc-ng" elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then - uclibc_name="uClibc" + uClibc_name="uClibc" fi CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'" @@ -94,7 +94,7 @@ uclibc_backend_once() # Use the default config if the user did not provide one. if [ -z "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then - CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/contrib/uClibc-defconfigs/${uclibc_name}.config" + CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/contrib/uClibc-defconfigs/${uClibc_name}.config" fi manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}" @@ -403,7 +403,7 @@ manage_uClibc_config() CT_DoArchUClibcCflags "${dst}" "${flags}" } -uclibc_post_cc() +uClibc_post_cc() { # uClibc and GCC disagree where the dynamic linker lives. uClibc always # places it in the MULTILIB_DIR, while gcc does that for *some* variants -- cgit v0.10.2-6-g49f6 From 7185ac031a677c19756026ca29a7edc9c814ff3e Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 3 Dec 2018 14:22:24 -0800 Subject: Strace needs a patch with Linux 4.19+ Also, they moved their repository. Signed-off-by: Alexey Neyman diff --git a/packages/strace/4.23/0001-v4l2-kernel-abi-breakage.patch b/packages/strace/4.23/0001-v4l2-kernel-abi-breakage.patch new file mode 100644 index 0000000..be719e4 --- /dev/null +++ b/packages/strace/4.23/0001-v4l2-kernel-abi-breakage.patch @@ -0,0 +1,94 @@ +commit b89a69dec27cf638df0e17db80ed937c3e1abf77 +Author: Dmitry V. Levin +Date: Sat Aug 18 07:22:47 2018 +0000 + + xlat: workaround V4L2_CID_USER_IMX_BASE Linux kernel ABI breakage + + Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 + has changed the value of V4L2_CID_USER_IMX_BASE constant introduced + by commit v4.13-rc1~141^2~121 because the old value was already used + by V4L2_CID_USER_MAX217X_BASE. + + This is of course an ABI breakage that affects Linux kernels starting + with 4.13 and up to 4.18, as well as their LTS derivatives. + + Since the imx driver didn't provide any public control ID definitions, + it looks like the best way to handle this situation is to pretend that + the old value of V4L2_CID_USER_IMX_BASE didn't exist. + + * xlat/v4l2_control_id_bases.in (V4L2_CID_USER_IMX_BASE): Redefine. + + Co-Authored-by: Eugene Syromyatnikov + +diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in +index a0359be9..f3fd9255 100644 +--- a/xlat/v4l2_control_id_bases.in ++++ b/xlat/v4l2_control_id_bases.in +@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) + V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000) + V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010) + V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) +-V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++/* ++ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 ++ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced ++ * by commit v4.13-rc1~141^2~121 because the old value was already used ++ * by V4L2_CID_USER_MAX217X_BASE. ++ * This is of course an ABI breakage that affects Linux kernels starting ++ * with 4.13 and up to 4.18, as well as their LTS derivatives. ++ * Since the imx driver didn't provide any public control ID definitions, ++ * it looks like the best way to handle this situation is to pretend that ++ * the old value of V4L2_CID_USER_IMX_BASE didn't exist. ++ */ ++# undef V4L2_CID_USER_IMX_BASE ++#endif ++V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) + V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) + V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) + V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) +diff -urpN a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h +--- a/xlat/v4l2_control_id_bases.h ++++ b/xlat/v4l2_control_id_bases.h +@@ -31,12 +31,16 @@ DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else + # define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) + #endif ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# undef V4L2_CID_USER_IMX_BASE ++#endif + #if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)"); ++static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x10b0)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x10b0)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) ++# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) + #endif + #if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +@@ -146,6 +150,21 @@ const struct xlat v4l2_control_id_bases[ + XLAT(V4L2_CID_USER_MEYE_BASE), + XLAT(V4L2_CID_USER_BTTV_BASE), + XLAT(V4L2_CID_USER_TI_VPE_BASE), ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++/* ++* Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 ++* has changed the value of V4L2_CID_USER_IMX_BASE constant introduced ++* by commit v4.13-rc1~141^2~121 because the old value was already used ++* by V4L2_CID_USER_MAX217X_BASE. ++* This is of course an ABI breakage that affects Linux kernels starting ++* with 4.13 and up to 4.18, as well as their LTS derivatives. ++* Since the imx driver didn't provide any public control ID definitions, ++* it looks like the best way to handle this situation is to pretend that ++* the old value of V4L2_CID_USER_IMX_BASE didn't exist. ++*/ ++# undef V4L2_CID_USER_IMX_BASE ++#endif + XLAT(V4L2_CID_USER_IMX_BASE), + XLAT(V4L2_CID_MPEG_BASE), + XLAT(V4L2_CID_MPEG_CX2341X_BASE), diff --git a/packages/strace/4.24/0001-v4l2-kernel-abi-breakage.patch b/packages/strace/4.24/0001-v4l2-kernel-abi-breakage.patch new file mode 100644 index 0000000..be719e4 --- /dev/null +++ b/packages/strace/4.24/0001-v4l2-kernel-abi-breakage.patch @@ -0,0 +1,94 @@ +commit b89a69dec27cf638df0e17db80ed937c3e1abf77 +Author: Dmitry V. Levin +Date: Sat Aug 18 07:22:47 2018 +0000 + + xlat: workaround V4L2_CID_USER_IMX_BASE Linux kernel ABI breakage + + Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 + has changed the value of V4L2_CID_USER_IMX_BASE constant introduced + by commit v4.13-rc1~141^2~121 because the old value was already used + by V4L2_CID_USER_MAX217X_BASE. + + This is of course an ABI breakage that affects Linux kernels starting + with 4.13 and up to 4.18, as well as their LTS derivatives. + + Since the imx driver didn't provide any public control ID definitions, + it looks like the best way to handle this situation is to pretend that + the old value of V4L2_CID_USER_IMX_BASE didn't exist. + + * xlat/v4l2_control_id_bases.in (V4L2_CID_USER_IMX_BASE): Redefine. + + Co-Authored-by: Eugene Syromyatnikov + +diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in +index a0359be9..f3fd9255 100644 +--- a/xlat/v4l2_control_id_bases.in ++++ b/xlat/v4l2_control_id_bases.in +@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) + V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000) + V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010) + V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) +-V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++/* ++ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 ++ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced ++ * by commit v4.13-rc1~141^2~121 because the old value was already used ++ * by V4L2_CID_USER_MAX217X_BASE. ++ * This is of course an ABI breakage that affects Linux kernels starting ++ * with 4.13 and up to 4.18, as well as their LTS derivatives. ++ * Since the imx driver didn't provide any public control ID definitions, ++ * it looks like the best way to handle this situation is to pretend that ++ * the old value of V4L2_CID_USER_IMX_BASE didn't exist. ++ */ ++# undef V4L2_CID_USER_IMX_BASE ++#endif ++V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) + V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) + V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) + V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) +diff -urpN a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h +--- a/xlat/v4l2_control_id_bases.h ++++ b/xlat/v4l2_control_id_bases.h +@@ -31,12 +31,16 @@ DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else + # define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) + #endif ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# undef V4L2_CID_USER_IMX_BASE ++#endif + #if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)"); ++static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x10b0)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x10b0)"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) ++# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) + #endif + #if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +@@ -146,6 +150,21 @@ const struct xlat v4l2_control_id_bases[ + XLAT(V4L2_CID_USER_MEYE_BASE), + XLAT(V4L2_CID_USER_BTTV_BASE), + XLAT(V4L2_CID_USER_TI_VPE_BASE), ++#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE ++/* ++* Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 ++* has changed the value of V4L2_CID_USER_IMX_BASE constant introduced ++* by commit v4.13-rc1~141^2~121 because the old value was already used ++* by V4L2_CID_USER_MAX217X_BASE. ++* This is of course an ABI breakage that affects Linux kernels starting ++* with 4.13 and up to 4.18, as well as their LTS derivatives. ++* Since the imx driver didn't provide any public control ID definitions, ++* it looks like the best way to handle this situation is to pretend that ++* the old value of V4L2_CID_USER_IMX_BASE didn't exist. ++*/ ++# undef V4L2_CID_USER_IMX_BASE ++#endif + XLAT(V4L2_CID_USER_IMX_BASE), + XLAT(V4L2_CID_MPEG_BASE), + XLAT(V4L2_CID_MPEG_CX2341X_BASE), diff --git a/packages/strace/package.desc b/packages/strace/package.desc index 53f3033..637636d 100644 --- a/packages/strace/package.desc +++ b/packages/strace/package.desc @@ -1,4 +1,4 @@ -repository='git https://git.code.sf.net/p/strace/code' +repository='git https://github.com/strace/strace.git' bootstrap='./bootstrap' mirrors='https://strace.io/files/${CT_STRACE_VERSION}' archive_formats='.tar.xz' -- cgit v0.10.2-6-g49f6