Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [Patch v5 6/7] cargo-bootstrap: new package
From: Eric Le Bihan @ 2017-04-22 17:38 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422173840.19694-1-eric.le.bihan.dev@free.fr>

This new package fetches a binary snapshot of Cargo, suitable to
bootstrap the host variants of the Rust compiler and Cargo, the package
manager.

Note that, contrary to rust-bootstrap which fetches version N-1 of the
rustc binary, this package fetches a nightly version of the cargo
binary, as upstream does not provide binaries for stable releases.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 DEVELOPERS                                   |  1 +
 package/cargo-bootstrap/cargo-bootstrap.hash |  3 +++
 package/cargo-bootstrap/cargo-bootstrap.mk   | 14 ++++++++++++++
 3 files changed, 18 insertions(+)
 create mode 100644 package/cargo-bootstrap/cargo-bootstrap.hash
 create mode 100644 package/cargo-bootstrap/cargo-bootstrap.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index f707f2d..b323efd 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -445,6 +445,7 @@ F:	package/xxhash/
 
 N:	Eric Le Bihan <eric.le.bihan.dev@free.fr>
 F:	package/adwaita-icon-theme/
+F:	package/cargo-bootstrap/
 F:	package/darkhttpd/
 F:	package/eudev/
 F:	package/execline/
diff --git a/package/cargo-bootstrap/cargo-bootstrap.hash b/package/cargo-bootstrap/cargo-bootstrap.hash
new file mode 100644
index 0000000..b193c6f
--- /dev/null
+++ b/package/cargo-bootstrap/cargo-bootstrap.hash
@@ -0,0 +1,3 @@
+# Locally generated
+sha256 0655713cacab054e8e5a33e742081eebec8531a8c77d28a4294e6496123e8ab1  cargo-nightly-x86_64-unknown-linux-gnu.tar.gz
+sha256 f20adfdcd6fb61c1252034e998998ec349c8a6b05c0320e47a539b0f6d1c76fa  cargo-nightly-i686-unknown-linux-gnu.tar.gz
diff --git a/package/cargo-bootstrap/cargo-bootstrap.mk b/package/cargo-bootstrap/cargo-bootstrap.mk
new file mode 100644
index 0000000..8a11e6e
--- /dev/null
+++ b/package/cargo-bootstrap/cargo-bootstrap.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# cargo-bootstrap
+#
+################################################################################
+
+CARGO_BOOTSTRAP_VERSION = 6e0c18cccc8b0c06fba8a8d76486f81a792fb420
+CARGO_BOOTSTRAP_SITE = https://s3.amazonaws.com/rust-lang-ci/cargo-builds/$(CARGO_BOOTSTRAP_VERSION)
+CARGO_BOOTSTRAP_SOURCE = cargo-nightly-$(HOSTARCH)-unknown-linux-gnu.tar.gz
+CARGO_BOOTSTRAP_LICENSE = Apache-2.0 or MIT
+CARGO_BOOTSTRAP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
+CARGO_BOOTSTRAP_STRIP_COMPONENTS = 1
+
+$(eval $(host-generic-package))
-- 
2.9.3

^ permalink raw reply related

* [Buildroot] [Patch v5 7/7] rust: new package
From: Eric Le Bihan @ 2017-04-22 17:38 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422173840.19694-1-eric.le.bihan.dev@free.fr>

This new package provides rustc, the compiler for the Rust programming
language, built from source.

Currently, only the host variant is built.

The Rust compiler uses LLVM as its backend: a copy of LLVM source code
is provided and CMake is used to build it. It is possible to use a
pre-built external copy. When LLVM/clang will be available in Buildroot,
it would be possible to benefit from this feature and thus decrease
build time.

LLVM is configured to generate code for x86, ARM, PowerPC and MIPS
architectures.

The Rust compiler uses Cargo as its build system and is written in Rust.
Therefore this package depends on cargo-bootstrap and rust-bootstrap.

The internal build process is as follows:

 1. rustc-stage0, provided by rust-bootstrap, is used to build
    rustc-stage1.
 2. rust-stage1 builds the final Rust compiler (rust-stage2)
    and the standard library for the host architecture.
 3. the standard library for the target architecture is built.

The target architecture to support is given by the GNU/LLVM target
triple. Rust supports some predefined targets [1]. As the build system
expects the triple to be in the form of <arch>-unknown-<system> and
Buildroot toolchain wrapper uses <arch>-buildroot-<system>, the package
Makefile uses $(RUST_TARGET_NAME) defined in the rustc package and uses
it instead of $(GNU_TARGET_NAME).

When compiling Rust code with this compiler, the generated program only
depends on the target C library, as it is statically linked to the Rust
standard library and any other code from Rust packages (a.k.a.
"crates").

If the jemalloc package is selected, support for this memory allocator
will be enabled in the target standard library.

The menuconfig entry for rustc is also updated to expose this provider.

[1] https://forge.rust-lang.org/platform-support.html

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 DEVELOPERS                   |  1 +
 package/rust/rust.hash       |  2 ++
 package/rust/rust.mk         | 77 ++++++++++++++++++++++++++++++++++++++++++++
 package/rustc/Config.in.host | 15 +++++++++
 4 files changed, 95 insertions(+)
 create mode 100644 package/rust/rust.hash
 create mode 100644 package/rust/rust.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index b323efd..57af5ed 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -454,6 +454,7 @@ F:	package/jemalloc/
 F:	package/ninja/
 F:	package/rust-bin/
 F:	package/rust-bootstrap/
+F:	package/rust/
 F:	package/s6/
 F:	package/s6-dns/
 F:	package/s6-linux-init/
diff --git a/package/rust/rust.hash b/package/rust/rust.hash
new file mode 100644
index 0000000..3b04dfd
--- /dev/null
+++ b/package/rust/rust.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 f966b31eb1cd9bd2df817c391a338eeb5b9253ae0a19bf8a11960c560f96e8b4  rustc-1.16.0-src.tar.gz
diff --git a/package/rust/rust.mk b/package/rust/rust.mk
new file mode 100644
index 0000000..540e9ff
--- /dev/null
+++ b/package/rust/rust.mk
@@ -0,0 +1,77 @@
+################################################################################
+#
+# rust
+#
+################################################################################
+
+RUST_VERSION = 1.16.0
+RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.gz
+RUST_SITE = https://static.rust-lang.org/dist
+RUST_LICENSE = Apache-2.0 or MIT
+RUST_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
+
+HOST_RUST_PROVIDES = host-rustc
+
+HOST_RUST_DEPENDENCIES = \
+	toolchain \
+	host-rust-bootstrap \
+	host-cargo-bootstrap \
+	host-python \
+	host-cmake
+
+ifeq ($(BR2_PACKAGE_JEMALLOC),y)
+HOST_RUST_DEPENDENCIES += jemalloc
+HOST_RUST_JEMALLOC_ENABLED = true
+HOST_RUST_JEMALLOC_CONF = 'jemalloc = "$(STAGING_DIR)/usr/lib/libjemalloc_pic.a"'
+else
+HOST_RUST_JEMALLOC_ENABLED = false
+endif
+
+HOST_RUST_BUILD_OPTS = $(if $(VERBOSE),--verbose)
+
+define HOST_RUST_CONFIGURE_CMDS
+	(cd $(@D); \
+		echo '[build]' > config.toml; \
+		echo 'target = ["$(RUST_TARGET_NAME)"]' >> config.toml; \
+		echo 'cargo = "$(HOST_CARGO_BOOTSTRAP_DIR)/cargo/bin/cargo"' >> config.toml; \
+		echo 'rustc = "$(HOST_RUST_BOOTSTRAP_DIR)/rustc/bin/rustc"' >> config.toml; \
+		echo 'python = "$(HOST_DIR)/usr/bin/python2"' >> config.toml; \
+		echo 'submodules = false' >> config.toml; \
+		echo 'vendor = true' >> config.toml; \
+		echo 'compiler-docs = false' >> config.toml; \
+		echo 'docs = false' >> config.toml; \
+		echo '[install]' >> config.toml; \
+		echo 'prefix = "$(HOST_DIR)/usr"' >> config.toml; \
+		echo '[rust]' >> config.toml; \
+		echo 'use-jemalloc = $(HOST_RUST_JEMALLOC_ENABLED)' >> config.toml; \
+		echo '[target.$(RUST_TARGET_NAME)]' >> config.toml; \
+		echo 'cc = "$(TARGET_CROSS)gcc"' >> config.toml; \
+		echo 'cxx = "$(TARGET_CROSS)g++"' >> config.toml; \
+		echo $(HOST_RUST_JEMALLOC_CONF) >> config.toml; \
+	)
+endef
+
+define HOST_RUST_BUILD_CMDS
+	(cd $(@D); $(HOST_MAKE_ENV) $(HOST_RUST_MAKE_ENV) python2 x.py \
+		build $(HOST_RUST_BUILD_OPTS))
+endef
+
+define HOST_RUST_INSTALL_LIBSTD_TARGET
+	(cd $(@D)/build/tmp/dist/rust-std-$(RUST_VERSION)-dev-$(RUST_TARGET_NAME); \
+		./install.sh \
+			--prefix=$(HOST_DIR)/usr \
+			--docdir=$(HOST_DIR)/usr/share/doc/rust \
+			--libdir=$(HOST_DIR)/usr/lib \
+			--mandir=$(HOST_DIR)/usr/share/man \
+			--disable-ldconfig)
+endef
+
+define HOST_RUST_INSTALL_CMDS
+	(cd $(@D); $(HOST_MAKE_ENV) $(HOST_RUST_MAKE_ENV) python2 x.py \
+		dist $(HOST_RUST_BUILD_OPTS))
+	(cd $(@D); $(HOST_MAKE_ENV) $(HOST_RUST_MAKE_ENV) python2 x.py \
+		dist --install $(HOST_RUST_BUILD_OPTS))
+	$(HOST_RUST_INSTALL_LIBSTD_TARGET)
+endef
+
+$(eval $(host-generic-package))
diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host
index 7f2c276..30bab8f 100644
--- a/package/rustc/Config.in.host
+++ b/package/rustc/Config.in.host
@@ -26,6 +26,20 @@ choice
 	help
 	  Choose a provider for the Rust compiler.
 
+config BR2_PACKAGE_HOST_RUST
+	bool "host rust"
+	depends on BR2_HOST_GCC_AT_LEAST_4_7 # required by LLVM
+	# triggers ICE on trunc_int_for_mode, at explow.c:56
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_aarch64
+	select BR2_PACKAGE_HAS_HOST_RUSTC
+	help
+	  This package will build the compiler for the host as well as
+	  a cross-compiled version of the Rust standard library for the
+	  target.
+
+comment "host-rust needs a toolchain w/ gcc >= 5"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_aarch64
+
 config BR2_PACKAGE_HOST_RUST_BIN
 	bool "host rust (pre-built)"
 	select BR2_PACKAGE_HAS_HOST_RUSTC
@@ -40,6 +54,7 @@ config BR2_PACKAGE_HAS_HOST_RUSTC
 
 config BR2_PACKAGE_PROVIDES_HOST_RUSTC
 	string
+	default "host-rust" if BR2_PACKAGE_HOST_RUST
 	default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN
 
 endif
-- 
2.9.3

^ permalink raw reply related

* [Buildroot] [PATCH v5 06/34] package/kodi-jsonschemabuilder: new host package
From: Yann E. MORIN @ 2017-04-22 19:04 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <qsfssdx9sb.ln2@ID-313208.user.individual.net>

Bernd, All,

On 2017-04-22 19:18 +0200, Bernd Kuhls spake thusly:
> Am Sat, 22 Apr 2017 11:16:49 +0200 schrieb Yann E. MORIN:
> 
> >> new file mode 120000
> >> index 000000000..92a75949b
> >> --- /dev/null
> >> +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.hash
> >> @@ -0,0 +1 @@
> >> +/home/bernd/buildroot/br8_ffmpeg3_kodi17_github/package/kodi/kodi.hash
> >> \ No newline at end of file
> > 
> > Uh-Oh, bad symlink... :-/
> 
> I used the package mesa3d-headers as an example, its .hash file is a 
> symlink to mesa3d/mesa3d.hash. This construct was coded by you ;)

Yes, indeed, but the symlink you created is absolute. You should make it
relative.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH] xorriso: disable libcdio
From: Baruch Siach @ 2017-04-22 20:10 UTC (permalink / raw)
  To: buildroot

xorriso and libcdio define identically named symbols. This breaks static
linking.

Besides, upstream suggested that on Linux the built-in libburn adapter is much
better tested than libcdio.

Disable libcdio.

Fixes:
http://autobuild.buildroot.net/results/430/430a6b548fcc311f20ea71cecaa11fafac1d5a19/
http://autobuild.buildroot.net/results/a5d/a5d0f8bec0d39e48f6dfe4ecc07fe0ca3c6bd70a/

Cc: Steve Kenton <skenton@ou.edu>
Suggested-by: Thomas Schmitt <scdbackup@gmx.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 package/xorriso/xorriso.mk | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/package/xorriso/xorriso.mk b/package/xorriso/xorriso.mk
index b2055804302e..1f095911f80f 100644
--- a/package/xorriso/xorriso.mk
+++ b/package/xorriso/xorriso.mk
@@ -18,19 +18,14 @@ HOST_XORRISO_CONF_OPTS = \
 	--disable-libedit \
 	--disable-libacl
 
+# libcdio doesn't make sense for Linux
+# http://lists.gnu.org/archive/html/bug-xorriso/2017-04/msg00004.html
+XORRISO_CONF_OPTS = --disable-libcdio
+
 ifeq ($(BR2_PACKAGE_LIBICONV),y)
 XORRISO_DEPENDENCIES += libiconv
 endif
 
-ifeq ($(BR2_PACKAGE_LIBCDIO),y)
-XORRISO_DEPENDENCIES += host-pkgconf libcdio
-XORRISO_CONF_OPTS += \
-	--enable-pkg-check-modules \
-	--enable-libcdio
-else
-XORRISO_CONF_OPTS += --disable-libcdio
-endif
-
 ifeq ($(BR2_PACKAGE_READLINE),y)
 XORRISO_DEPENDENCIES += readline
 XORRISO_CONF_OPTS += --enable-libreadline
-- 
2.11.0

^ permalink raw reply related

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Yann E. MORIN @ 2017-04-22 20:24 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170417195433.26672-9-bernd.kuhls@t-online.de>

Bernd, All,

On 2017-04-17 21:54 +0200, Bernd Kuhls spake thusly:
> Removed unneeded patches
> - 0001-Fixup-include-path.patch (not needed after CMake switch)
> - 0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch
>   (applied upstream)
> - 0006-ffmpeg30.patch (was backported from 17.0-Krypton to 16.0-Jarvis)
> - 0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch
>   (was backported from 17.0-Krypton to 16.0-Jarvis)
> - 0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
>   (was backported from 17.0-Krypton to 16.0-Jarvis)
> - 0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
>   (cximage was removed in bump from 16.x to 17.0)
> - 0010-curl-support-version-7.5.0-and-upwards.patch
>   (applied upstream)
> - 0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
>   (applied upstream)
> - 0012-Fix_includes_in_amcodec.patch
>   (was backported from 17.0-Krypton to 16.0-Jarvis)
> 
> Rebased patches
> - 0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
> 
> Removed dependencies not needed anymore:
> - boost
>   https://github.com/xbmc/xbmc/commit/41ae93f0913f7ba72087a48370f8d66a3eac9fcc
> - giflib
>   https://github.com/xbmc/xbmc/commit/d44338baf1f6d1e6b76cd7dbab6453d76cc2ac31
> - jasper/tiff
>   https://github.com/xbmc/xbmc/commit/00724eb109a702f0098089d849f7c02ea173a4a9
> - jpeg
>   https://github.com/xbmc/xbmc/commit/7d5bdfb9a09348bde92b323ef6077b5e75edaca7
> - libdcadec
>   https://github.com/xbmc/xbmc/commit/378eb2687c1da5f97ef47c78431033b52f0d4417
> - libglew
>   https://github.com/xbmc/xbmc/commit/03ff0d5ea02963b1283fe8bc7c1bad18f2dd97b6
> - libmpeg2
>   https://github.com/xbmc/xbmc/commit/d22c829d67937e8d03fdac8f8b0bf2d1fa8fbf70
> - libogg/libvorbis
>   https://github.com/xbmc/xbmc/commit/4c609691776ab845d83153e19d191b7fd445edb9
> - libpng
>   https://github.com/xbmc/xbmc/commit/be6b50c6c3f91809a9045c199d054cbc1d637d5d
> - libsquish
>   https://github.com/xbmc/xbmc/commit/ed03f828be3615d294eb4a4cfccc5cdccec22997
> - xlib_libXmu
> - xlib_libXt
> 
> Switched to CMake, autoconf was deprecated:
> https://github.com/xbmc/xbmc/pull/10797
> 
> Added support for various archs, relax arm dependencies.

The bump in itself is already a big patch, so please split the arch
support to a separate patch.

> Bumped BR2_TOOLCHAIN_GCC_AT_LEAST to 4.8 to fix compile error with
> http://autobuild.buildroot.net/toolchains/configs/sourcery-x86.config

So is it a bug in this toolchain, or does Kodi really need gcc-4.8 now?

If the former, then you should just make an exception for that toolchain
and keep the requirement to gcc-4.7.

If the latter, then the rationale is incorrect: it is not to avoid a
build failure with a specific toolchain.

> Added hard-dependency for libegl, needed after
> https://github.com/xbmc/xbmc/commit/0ac305f7cf82e98021b6e0d70c3d4c51fc1cf18a
> 
> Updated clean-up hook and added host-xmlstarlet as dependency to
> manipulate the list of default system addons in addon-manifest.xml.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/kodi/0001-Fixup-include-path.patch         |   33 -
>  ....cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch |   42 +
>  package/kodi/0002-cmake-add-FindIconv.cmake.patch  |  171 +++

That patch to find iconv is a feature patch (add support for building
under uClibc). We avoid having feature patches. At best make it a
separate changeset.

>  ...0003-ALSA-fix-device-change-event-support.patch |   67 -
>  ...e-dependency-on-gmp-and-libintl-from-Find.patch |   34 +
>  ....cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch |   41 -
>  ...exturePacker-fix-compilation-with-gcc-4.6.patch |   53 -
>  package/kodi/0006-ffmpeg30.patch                   |  646 ---------
>  ...r-out-of-memory-errors-with-large-numbers.patch |   45 -
>  ...ding-issue-when-reading-certain-id3v1-tag.patch |   82 --
>  ...lib-cximage-6.0-fix-compilation-with-gcc6.patch | 1438 --------------------
>  ...10-curl-support-version-7.5.0-and-upwards.patch |   34 -
>  ...bmc_pvr_types.h-Fix-compilation-with-gcc6.patch |   30 -
>  package/kodi/0012-Fix_includes_in_amcodec.patch    |   38 -
>  package/kodi/Config.in                             |   63 +-
>  package/kodi/kodi.hash                             |    8 +-
>  package/kodi/kodi.mk                               |  300 ++--
>  17 files changed, 455 insertions(+), 2670 deletions(-)
>  delete mode 100644 package/kodi/0001-Fixup-include-path.patch
>  create mode 100644 package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
>  create mode 100644 package/kodi/0002-cmake-add-FindIconv.cmake.patch
>  delete mode 100644 package/kodi/0003-ALSA-fix-device-change-event-support.patch
>  create mode 100644 package/kodi/0003-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch
>  delete mode 100644 package/kodi/0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
>  delete mode 100644 package/kodi/0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch
>  delete mode 100644 package/kodi/0006-ffmpeg30.patch
>  delete mode 100644 package/kodi/0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch
>  delete mode 100644 package/kodi/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
>  delete mode 100644 package/kodi/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
>  delete mode 100644 package/kodi/0010-curl-support-version-7.5.0-and-upwards.patch
>  delete mode 100644 package/kodi/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
>  delete mode 100644 package/kodi/0012-Fix_includes_in_amcodec.patch

[--SNIP--]

> diff --git a/package/kodi/0003-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch b/package/kodi/0003-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch
> new file mode 100644
> index 000000000..9aa199e51
> --- /dev/null
> +++ b/package/kodi/0003-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch
> @@ -0,0 +1,34 @@
> +From 5cf1a4936eca0c89a79cda1cc165abf633e69f98 Mon Sep 17 00:00:00 2001
> +From: Bernd Kuhls <bernd.kuhls@t-online.de>
> +Date: Sun, 19 Feb 2017 17:59:24 +0100
> +Subject: [PATCH 1/1] CMake: Remove dependency on gmp and libintl from
> + FindPython.cmake

The commit title says what the patch is doing, but there is not commit
log that explains why. The why is even more important than the how.

[--SNIP--]
> diff --git a/package/kodi/Config.in b/package/kodi/Config.in
> index f94e2c7c2..d603bfc83 100644
> --- a/package/kodi/Config.in
> +++ b/package/kodi/Config.in
[--SNIP--]

> +	select BR2_PACKAGE_GMP

Weird that you have a patch that removes dependency on gmp, but at the
same time you add that dependency...

> @@ -233,19 +224,25 @@ config BR2_PACKAGE_KODI_LIBUSB
>  
>  config BR2_PACKAGE_KODI_LIBVA
>  	bool "va"
> +	depends on !BR2_PACKAGE_KODI_EGL_GLES
> +	depends on BR2_PACKAGE_XORG7

Is this change really related to the bump, or is it a fix? If the
latter, then it should be a separate patch.

>  config BR2_PACKAGE_KODI_LIBVDPAU
>  	bool "vdpau"
> +	depends on !BR2_PACKAGE_KODI_EGL_GLES

Ditto, is this really related to the bump?

> diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
> index ebce84dad..357776779 100644
> --- a/package/kodi/kodi.mk
> +++ b/package/kodi/kodi.mk

> +KODI_SUBDIR = project/cmake
> +
> +KODI_LIBDVDCSS_VERSION = 2f12236
> +KODI_LIBDVDNAV_VERSION = 981488f
> +KODI_LIBDVDREAD_VERSION = 17d99db
> +
> +KODI_EXTRA_DOWNLOADS = \
> +	https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \
> +	https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \
> +	https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz
> +
> +KODI_CONF_OPTS += \
> +	-DLIBDVDCSS_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
> +	-DLIBDVDNAV_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
> +	-DLIBDVDREAD_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz

So does that mean that the libs are downloaded at build time?

If so, that's unfortnate, but I prefer this situation rather than the
big patching of the previous iteration.

> +
> +ifeq ($(BR2_aarch64),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=aarch64 -DWITH_CPU=aarch64
> +else ifeq ($(BR2_arm)$(BR2_armeb),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
> +else ifeq ($(BR2_mips),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=mips -DWITH_CPU=mips
> +else ifeq ($(BR2_mips64el),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=mips64 -DWITH_CPU=mips64
> +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=powerpc64 -DWITH_CPU=powerpc64
> +else ifeq ($(BR2_i386),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=i486-linux -DWITH_CPU=$(BR2_GCC_TARGET_ARCH)
> +else ifeq ($(BR2_x86_64),y)
> +KODI_CONF_OPTS += -DWITH_ARCH=x86_64-linux -DWITH_CPU=x86_64
> +endif

So, except for i386, the ARCH and CPU are the same? We do have the
opportunity to set the actual CPU value.

For example, Kodi has at least a check of CPU against cortx-a53.

>  ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
> -KODI_CONF_OPTS += --enable-optical-drive --enable-dvdcss
> +KODI_CONF_OPTS += -DENABLE_OPTICAL=ON
>  else
> -KODI_CONF_OPTS += --disable-optical-drive --disable-dvdcss
> +KODI_CONF_OPTS += -DENABLE_OPTICAL=OFF
>  endif

Speaking of which, have you seen my other patch that restores the prompt
for supporrt of optical drives?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Bernd Kuhls @ 2017-04-22 20:36 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422202457.GJ15086@scaer>

Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:

> Speaking of which, have you seen my other patch that restores the prompt
> for supporrt of optical drives?

Hi,

yes, I ACK'ed it yesterday ;)
http://patchwork.ozlabs.org/patch/751316/

Regards, Bernd

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Bernd Kuhls @ 2017-04-22 20:40 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422202457.GJ15086@scaer>

Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:

>>  package/kodi/0002-cmake-add-FindIconv.cmake.patch  |  171 +++
> 
> That patch to find iconv is a feature patch (add support for building
> under uClibc). We avoid having feature patches. At best make it a
> separate changeset.

Hi Yann,

building Kodi 16 with uClibc is already possible, so imho it is not a 
feature patch, instead it fixes the problem mentioned in the patch 
description.

Regards, Bernd

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Yann E. MORIN @ 2017-04-22 20:41 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1grssdx9sb.ln2@ID-313208.user.individual.net>

Bernd, All,

On 2017-04-22 22:36 +0200, Bernd Kuhls spake thusly:
> Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:
> 
> > Speaking of which, have you seen my other patch that restores the prompt
> > for supporrt of optical drives?
> yes, I ACK'ed it yesterday ;)
> http://patchwork.ozlabs.org/patch/751316/

Indeed, I missed it (still in the incoming queue).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH v5 09/34] package/kodi: add patch to disable online check
From: Yann E. MORIN @ 2017-04-22 20:45 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170417195433.26672-10-bernd.kuhls@t-online.de>

Bernd, All,

On 2017-04-17 21:54 +0200, Bernd Kuhls spake thusly:
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

As I understand it, this patch disable the check that the system is
"online", for those systems that are not connected to the internet
(e.g not connected at all, or only to a LAN).

Again, I think this is a feature patch, and we usually try to avoid
feature patches.

Regards,
Yann E. MORIN.

> ---
>  package/kodi/0004-disable-online-check.patch | 65 ++++++++++++++++++++++++++++
>  1 file changed, 65 insertions(+)
>  create mode 100644 package/kodi/0004-disable-online-check.patch
> 
> diff --git a/package/kodi/0004-disable-online-check.patch b/package/kodi/0004-disable-online-check.patch
> new file mode 100644
> index 000000000..9c21064bf
> --- /dev/null
> +++ b/package/kodi/0004-disable-online-check.patch
> @@ -0,0 +1,65 @@
> +From 468f917d3c1ee6f84b1a075d327d7c7626f1e223 Mon Sep 17 00:00:00 2001
> +From: Stefan Saraev <stefan@saraev.ca>
> +Date: Sat, 18 Apr 2015 15:03:31 +0300
> +Subject: [PATCH 03/13] disable online check
> +
> +Ported from LibreELEC
> +https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-100.03-disable-online-check.patch
> +
> +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> +---
> + xbmc/GUIInfoManager.cpp              | 1 -
> + xbmc/utils/SystemInfo.cpp            | 5 +----
> + xbmc/windows/GUIWindowSystemInfo.cpp | 1 -
> + 3 files changed, 1 insertion(+), 6 deletions(-)
> +
> +diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp
> +index cb09e75..a218e1d 100644
> +--- a/xbmc/GUIInfoManager.cpp
> ++++ b/xbmc/GUIInfoManager.cpp
> +@@ -278,7 +278,6 @@ const infomap system_labels[] =  {{ "hasnetwork",       SYSTEM_ETHERNET_LINK_ACT
> +                                   { "currentwindow",    SYSTEM_CURRENT_WINDOW },
> +                                   { "currentcontrol",   SYSTEM_CURRENT_CONTROL },
> +                                   { "dvdlabel",         SYSTEM_DVD_LABEL },
> +-                                  { "internetstate",    SYSTEM_INTERNET_STATE },
> +                                   { "osversioninfo",    SYSTEM_OS_VERSION_INFO },
> +                                   { "kernelversion",    SYSTEM_OS_VERSION_INFO }, // old, not correct name
> +                                   { "uptime",           SYSTEM_UPTIME },
> +diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
> +index f423cfe..d8483d0 100644
> +--- a/xbmc/utils/SystemInfo.cpp
> ++++ b/xbmc/utils/SystemInfo.cpp
> +@@ -247,7 +247,6 @@ bool CSysInfoJob::DoWork()
> + {
> +   m_info.systemUptime      = GetSystemUpTime(false);
> +   m_info.systemTotalUptime = GetSystemUpTime(true);
> +-  m_info.internetState     = GetInternetState();
> +   m_info.videoEncoder      = GetVideoEncoder();
> +   m_info.cpuFrequency      = GetCPUFreqInfo();
> +   m_info.osVersionInfo     = CSysInfo::GetOsPrettyNameWithVersion() + " (kernel: " + CSysInfo::GetKernelName() + " " + CSysInfo::GetKernelVersionFull() + ")";
> +@@ -1023,9 +1022,7 @@ int CSysInfo::GetXbmcBitness(void)
> + 
> + bool CSysInfo::HasInternet()
> + {
> +-  if (m_info.internetState != CSysData::UNKNOWN)
> +-    return m_info.internetState == CSysData::CONNECTED;
> +-  return (m_info.internetState = CSysInfoJob::GetInternetState()) == CSysData::CONNECTED;
> ++  return m_info.internetState == CSysData::UNKNOWN;
> + }
> + 
> + std::string CSysInfo::GetHddSpaceInfo(int drive, bool shortText)
> +diff --git a/xbmc/windows/GUIWindowSystemInfo.cpp b/xbmc/windows/GUIWindowSystemInfo.cpp
> +index 6ff2391..ee73c88 100644
> +--- a/xbmc/windows/GUIWindowSystemInfo.cpp
> ++++ b/xbmc/windows/GUIWindowSystemInfo.cpp
> +@@ -125,7 +125,6 @@ void CGUIWindowSystemInfo::FrameMove()
> +     SetControlLabel(i++, "%s: %s", 13160, NETWORK_GATEWAY_ADDRESS);
> +     SetControlLabel(i++, "%s: %s", 13161, NETWORK_DNS1_ADDRESS);
> +     SetControlLabel(i++, "%s: %s", 20307, NETWORK_DNS2_ADDRESS);
> +-    SetControlLabel(i++, "%s %s", 13295, SYSTEM_INTERNET_STATE);
> +   }
> + 
> +   else if (m_section == CONTROL_BT_VIDEO)
> +-- 
> +2.5.0
> +
> -- 
> 2.11.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Bernd Kuhls @ 2017-04-22 20:50 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422202457.GJ15086@scaer>

Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:

>> +KODI_LIBDVDCSS_VERSION = 2f12236
>> +KODI_LIBDVDNAV_VERSION = 981488f
>> +KODI_LIBDVDREAD_VERSION = 17d99db
>> +
>> +KODI_EXTRA_DOWNLOADS = \
>> +	https://github.com/xbmc/libdvdcss/archive/
$(KODI_LIBDVDCSS_VERSION).tar.gz \
>> +	https://github.com/xbmc/libdvdnav/archive/
$(KODI_LIBDVDNAV_VERSION).tar.gz \
>> +	https://github.com/xbmc/libdvdread/archive/
$(KODI_LIBDVDREAD_VERSION).tar.gz
>> +
>> +KODI_CONF_OPTS += \
>> +	-DLIBDVDCSS_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
>> +	-DLIBDVDNAV_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
>> +	-DLIBDVDREAD_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
> 
> So does that mean that the libs are downloaded at build time?
> 
> If so, that's unfortnate, but I prefer this situation rather than the
> big patching of the previous iteration.

Hi Yann,

no, because I used KODI_EXTRA_DOWNLOADS the tarballs are downloaded 
before the build starts, you can verify that with "make kodi-source".

Regards, Bernd

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Yann E. MORIN @ 2017-04-22 20:54 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <dnrssdx9sb.ln2@ID-313208.user.individual.net>

Bernd, All,

On 2017-04-22 22:40 +0200, Bernd Kuhls spake thusly:
> Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:
> >>  package/kodi/0002-cmake-add-FindIconv.cmake.patch  |  171 +++
> > That patch to find iconv is a feature patch (add support for building
> > under uClibc). We avoid having feature patches. At best make it a
> > separate changeset.
> building Kodi 16 with uClibc is already possible, so imho it is not a 
> feature patch, instead it fixes the problem mentioned in the patch 
> description.

Maybe Kodi 16 does build with uClibc, but not Kodi 17; it is not
supported upstream, and your patch has not yet been accepted.

Now, that you call that a regression in Kodi, sure. But from our point
of view (Buildroot), what you provide is a feature patch.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH v5 08/34] package/kodi: bump to version 17.1-Krypton
From: Yann E. MORIN @ 2017-04-22 20:55 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <29sssdx9sb.ln2@ID-313208.user.individual.net>

Bernd, All,

On 2017-04-22 22:50 +0200, Bernd Kuhls spake thusly:
> Am Sat, 22 Apr 2017 22:24:57 +0200 schrieb Yann E. MORIN:
> 
> >> +KODI_LIBDVDCSS_VERSION = 2f12236
> >> +KODI_LIBDVDNAV_VERSION = 981488f
> >> +KODI_LIBDVDREAD_VERSION = 17d99db
> >> +
> >> +KODI_EXTRA_DOWNLOADS = \
> >> +	https://github.com/xbmc/libdvdcss/archive/
> $(KODI_LIBDVDCSS_VERSION).tar.gz \
> >> +	https://github.com/xbmc/libdvdnav/archive/
> $(KODI_LIBDVDNAV_VERSION).tar.gz \
> >> +	https://github.com/xbmc/libdvdread/archive/
> $(KODI_LIBDVDREAD_VERSION).tar.gz
> >> +
> >> +KODI_CONF_OPTS += \
> >> +	-DLIBDVDCSS_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
> >> +	-DLIBDVDNAV_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
> >> +	-DLIBDVDREAD_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
> > 
> > So does that mean that the libs are downloaded at build time?
> > 
> > If so, that's unfortnate, but I prefer this situation rather than the
> > big patching of the previous iteration.
> 
> Hi Yann,
> 
> no, because I used KODI_EXTRA_DOWNLOADS the tarballs are downloaded 
> before the build starts, you can verify that with "make kodi-source".

Oh, right, this points to local files. Good! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH] package/kodi: fix path to binary
From: Yann E. MORIN @ 2017-04-22 21:05 UTC (permalink / raw)
  To: buildroot

Since XBMC was renamed to Kodi, upstream is progressively propagating
the rename to directories and files, and in some cases kept a legacy
symlink xbmc->kodi, like /usr/lib/xbmc pointing to /usr/lib/kodi.

In 62165ae (package/kodi: Fix path to binary in service), the path nary
was changed to use the new canonical path, but the init script was eft
out. This was not seen previously, becasue of the legacy symlink.

But with the adevent of Kodi 17 (Krypton), that legacy symlink is no
more, and the init script no longer works.

Do for the init script what was done two years ago for the service file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/kodi/S50kodi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/kodi/S50kodi b/package/kodi/S50kodi
index f00c59c5d9..0afe7a6706 100755
--- a/package/kodi/S50kodi
+++ b/package/kodi/S50kodi
@@ -4,7 +4,7 @@
 #
 
 BIN=/usr/bin/br-kodi
-KODI=/usr/lib/xbmc/kodi.bin
+KODI=/usr/lib/kodi/kodi.bin
 KODI_ARGS="--standalone -fs -n"
 PIDFILE=/var/run/kodi.pid
 
-- 
2.11.0

^ permalink raw reply related

* [Buildroot] [PATCH] package/kodi: fix path to binary
From: Yann E. MORIN @ 2017-04-22 21:11 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422210539.5750-1-yann.morin.1998@free.fr>

All,

On 2017-04-22 23:05 +0200, Yann E. MORIN spake thusly:
> Since XBMC was renamed to Kodi, upstream is progressively propagating
> the rename to directories and files, and in some cases kept a legacy
> symlink xbmc->kodi, like /usr/lib/xbmc pointing to /usr/lib/kodi.
> 
> In 62165ae (package/kodi: Fix path to binary in service), the path nary

s/ nary$//

Not sure  what hapenned...

Regards,
Yann E. MORIN.

> was changed to use the new canonical path, but the init script was eft
> out. This was not seen previously, becasue of the legacy symlink.
> 
> But with the adevent of Kodi 17 (Krypton), that legacy symlink is no
> more, and the init script no longer works.
> 
> Do for the init script what was done two years ago for the service file.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/kodi/S50kodi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/kodi/S50kodi b/package/kodi/S50kodi
> index f00c59c5d9..0afe7a6706 100755
> --- a/package/kodi/S50kodi
> +++ b/package/kodi/S50kodi
> @@ -4,7 +4,7 @@
>  #
>  
>  BIN=/usr/bin/br-kodi
> -KODI=/usr/lib/xbmc/kodi.bin
> +KODI=/usr/lib/kodi/kodi.bin
>  KODI_ARGS="--standalone -fs -n"
>  PIDFILE=/var/run/kodi.pid
>  
> -- 
> 2.11.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply

* [Buildroot] [PATCH] package/kodi: fix path to binary
From: Bernd Kuhls @ 2017-04-22 21:14 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422210539.5750-1-yann.morin.1998@free.fr>

Am Sat, 22 Apr 2017 23:05:39 +0200 schrieb Yann E. MORIN:

> Since XBMC was renamed to Kodi, upstream is progressively propagating
> the rename to directories and files, and in some cases kept a legacy
> symlink xbmc->kodi, like /usr/lib/xbmc pointing to /usr/lib/kodi.
> 
> In 62165ae (package/kodi: Fix path to binary in service), the path nary
> was changed to use the new canonical path, but the init script was eft
> out. This was not seen previously, becasue of the legacy symlink.
> 
> But with the adevent of Kodi 17 (Krypton), that legacy symlink is no
> more, and the init script no longer works.
> 
> Do for the init script what was done two years ago for the service file.
> 
> Signed-off-by: "Yann E. MORIN"
> <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian
> <maxime.hadjinlian@gmail.com>
> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/kodi/S50kodi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/kodi/S50kodi b/package/kodi/S50kodi index
> f00c59c5d9..0afe7a6706 100755 --- a/package/kodi/S50kodi +++
> b/package/kodi/S50kodi @@ -4,7 +4,7 @@
>  #
>  
>  BIN=/usr/bin/br-kodi
> -KODI=/usr/lib/xbmc/kodi.bin +KODI=/usr/lib/kodi/kodi.bin
>  KODI_ARGS="--standalone -fs -n" PIDFILE=/var/run/kodi.pid

Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>

^ permalink raw reply

* [Buildroot] [PATCH] package/kodi: fix path to binary
From: Marcus Hoffmann @ 2017-04-22 21:22 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422210539.5750-1-yann.morin.1998@free.fr>

Hey Yann,

On 22.04.2017 23:05, Yann E. MORIN wrote:
> Since XBMC was renamed to Kodi, upstream is progressively propagating
> the rename to directories and files, and in some cases kept a legacy
> symlink xbmc->kodi, like /usr/lib/xbmc pointing to /usr/lib/kodi.
> 
> In 62165ae (package/kodi: Fix path to binary in service), the path nary
> was changed to use the new canonical path, but the init script was eft

Another typo here 'eft'.

> out. This was not seen previously, becasue of the legacy symlink.
> 
> But with the adevent of Kodi 17 (Krypton), that legacy symlink is no

And here 'adevent'.

> [...]


Best wishes,
Marcus

^ permalink raw reply

* [Buildroot] [PATCH v8 04/12] e2fsprogs: remove uuidgen support
From: Arnout Vandecappelle @ 2017-04-22 21:57 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422142939.059c5ea6@free-electrons.com>



On 22-04-17 14:29, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 22 Apr 2017 13:59:47 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
>> From: Carlos Santos <casantos@datacom.ind.br>
>>
>> In fact, uuidgen was never built because we pass --disable-libuuid. So
>> the option was a NOP.
>>
>> Remove the license info for libuuid.
>>
>> Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
>> [Arnout:
>>  - do not remove --disable-uuidd - even though that is implied by
>>    --disable-libuuid, it's better to be explicit about it;
>>  - remove license info of libuuid]
>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>> ---
>>  package/e2fsprogs/Config.in    | 7 +++----
>>  package/e2fsprogs/e2fsprogs.mk | 5 ++---
>>  2 files changed, 5 insertions(+), 7 deletions(-)
> 
> Applied to master, thanks. I suppose the logic for not having a
> Config.in.legacy entry is that the tool had never been installed
> anyway, so nobody could have been relying on this option to install
> uuidgen. Am I right?

 No, I just forgot :-) But indeed, the option was dysfunctional since commit
044edd063 back in 2011, so no need for legacy handling.


 Regards,
 Arnout

> 
> Best regards,
> 
> Thomas
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH 1/7] package configs: clean up indentation warnings.
From: Arnout Vandecappelle @ 2017-04-22 22:09 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <CAFSsvmrVYi1gn-U1Zk=+F2+aazno9_FSdci_KZ39P87K3OXN5Q@mail.gmail.com>



On 22-04-17 18:47, Adam Duskett wrote:
> Hello;
> 
> On Sat, Apr 22, 2017 at 9:53 AM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Hello,
>>
>> On Fri, 21 Apr 2017 11:24:46 -0400, Adam Duskett wrote:
>>> The check-package script when ran gave warnings on indentation issues
>>> on all of these Config files.  This patch cleans up all warnings
>>> related to the indentation of the Config files in the package directory.
>>>
>>> Signed-off-by: Adam Duskett <aduskett@codeblue.com>
>>> ---
>>>  package/b43-firmware/Config.in       |   8 +-
>>>  package/binutils/Config.in.host      |  12 +-
>>>  package/gcc/Config.in.host           | 156 +++++------
>>>  package/gdb/Config.in.host           |  12 +-
>>>  package/jquery-ui-themes/Config.in   |  96 +++----
>>>  package/kodi/Config.in               | 100 +++----
>>>  package/linux-headers/Config.in.host |  85 +++---
>>>  package/lua/Config.in                |  12 +-
>>>  package/uclibc/Config.in             |  28 +-
>>>  package/x11r7/Config.in              | 526 ++++++++++++++++++-----------------
>>>  10 files changed, 522 insertions(+), 513 deletions(-)
>>
>> This looks good overall, except for package/Config.in. The indentation
>> is done on purpose in this file, I believe so that "diff" puts some
>> useful text in the context, making the patches touching
>> package/Config.in easier to read.
>>
>> So please drop the change to package/Config.in.
>>
> Not sure what you mean? I don't see package/Config.in in this patch?

 He means package/x11r7/Config.in, which like package/Config.in is just a list
of menu and source lines. Like Thomas said, the indentation is useful so that a
diff shows in which menu entry something is changed (usually, a package is added).

 However, it currently doesn't work for package/x11r7/Config.in, because git
identifies the "if BR2_PACKAGE_XORG7" as the 'function' instead of the menu.
Also, for x11r7, the reasoning of seeing the menu isn't so important, since the
package name already tells the story (it starts with xlib_, xdriver_, xapp_, etc.)

 Anyway, the x11r7 bit should certainly be a separate patch.

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH v5 07/34] package/kodi-texturepacker: new host package
From: Arnout Vandecappelle @ 2017-04-22 22:19 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422092650.GH15086@scaer>



On 22-04-17 11:26, Yann E. MORIN wrote:
> Bernd, All,
> 
> On 2017-04-17 21:54 +0200, Bernd Kuhls spake thusly:
>> Needed for upcoming kodi version bump to 17.1-Krypton which will also
>> switch the kodi build system to CMake.
> And now I see why you did not introduce a host-variant of Kodi: you need
> two tools from it, and they are in different subdirs.

 ... and you don't want to build all of Kodi for the host.

 Still, I think it might be easier to treat the host version as a generic
package, and call cmake and make explicitly, once for each tool.


> I still find it a bit of disapointing that the Kodi buildsystem can not
> build its own tools... :-(

 Or indeed, patch Kodi's CMakeLists.txt so it can build its own build tools.

 Regards,
 Arnout


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH v8 06/12] e2fsprogs: let it create symlinks
From: Arnout Vandecappelle @ 2017-04-22 22:32 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422144914.60f5b97e@free-electrons.com>



On 22-04-17 14:49, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 22 Apr 2017 13:59:49 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
>> From: Carlos Santos <casantos@datacom.ind.br>
>>
>> We have post-install hooks to create the symlinks mkfs.ext2 -> mke2fs
>> etc. However, the e2fsprogs build system creates those symlinks itself.
>> So just rely on that.
>>
>> fsck.ext4dev and mkfs.ext4dev were dropped in version 1.43.4.
>>
>> Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
>> [Arnout: keep configure options more or less alphabetical]
>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> 
> This would definitely be a very very nice cleanup, but it doesn't seem
> to work. I've tried to build the following configuration:
> 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.02-756-gae15148.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_E2FSPROGS=y
> # BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set
> # BR2_PACKAGE_E2FSPROGS_CHATTR is not set
> # BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set
> # BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set
> # BR2_PACKAGE_E2FSPROGS_E2FSCK is not set

 Ah, indeed, I hadn't checked the symlinks with e2fsck disabled.

> # BR2_PACKAGE_E2FSPROGS_E2LABEL is not set
> # BR2_PACKAGE_E2FSPROGS_E2UNDO is not set
> # BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set
> # BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set
> # BR2_PACKAGE_E2FSPROGS_LSATTR is not set
> # BR2_PACKAGE_E2FSPROGS_MKE2FS is not set
> # BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set
> # BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set
> # BR2_TARGET_ROOTFS_TAR is not set
> 
> and I get numerous broken symbolic links:
> 
> thomas at skate:~/projets/buildroot (master)$ ls -l output/target/usr/sbin/
> total 116
> -rwxr-xr-x 1 thomas thomas 13976 avril 22 14:38 e4crypt
> -rwxr-xr-x 1 thomas thomas 18180 avril 22 14:38 fsck
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 fsck.ext2 -> e2fsck
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 fsck.ext3 -> e2fsck
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 fsck.ext4 -> e2fsck
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 mkfs.ext2 -> mke2fs
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 mkfs.ext3 -> mke2fs
> lrwxrwxrwx 1 thomas thomas     6 avril 22 14:38 mkfs.ext4 -> mke2fs
> -rwxr-xr-x 1 thomas thomas 80996 avril 22 14:38 tune2fs
> 
> So basically: all the symbolic links are broken. It raises a few
> questions:
> 
>  - What is the difference between the fsck option and the e2fsck option?

 fsck is the wrapper, e2fsck is the ext2/3/4-specific checker.


>  - Why is this creating the symbolic links even for programs not
>    installed (e2fsck and mke2fs in our case) ?

 Because e2fsprogs installs them and we remove them.


>  - Why is tune2fs built/installed even if it wasn't enabled in my
>    configuration?

 This I can't explain. tune2fs should be a symlink to e2label, and in addition
it should be removed by Buildroot.


>  - Why is e4crypt built/installed?

 Because it is one of the tools that can't be disabled with configure options,
and it was added to e2fsprogs after the stupid removal hacks were already in
place, and whoever did that bump didn't notice.


 So bottom line: the problem is that this patch individually doesn't work. We
either have to add some complication, or it should be squashed with patch 7.
After patch 7 e2fsck, mke2fs and e2label are always installed so no dead
symlinks anymore.

 OK to squash with patch 7?

 Regards,
 Arnout
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH v8 07/12] e2fsprogs: refactor to fix conflicts with busybox and util-linux
From: Arnout Vandecappelle @ 2017-04-22 22:34 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422150317.576c0b54@free-electrons.com>



On 22-04-17 15:03, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 22 Apr 2017 13:59:50 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
> 
>> +# If both e2fsprogs and busybox are selected, make certain e2fsprogs
>> +# wins the fight over who gets to have their utils actually installed
>> +ifeq ($(BR2_PACKAGE_BUSYBOX),y)
>> +E2FSPROGS_DEPENDENCIES += busybox
>> +endif
> 
> We recently had a ncurses/busybox discussion, in which to solve a
> circular dependency problem we removed such a dependency on Busybox. As
> part of this discussion, we started thinking about whether we should
> stop using the solution of depending on busybox to allow a package to
> override Busybox applets, and instead make sure the corresponding
> applets in Busybox are disabled when another package will install the
> full featured version of the program.
> 
> Should we generalize this idea, and apply it to e2fsprogs as well?

 Yes, but it should be a separate patch. This patch basically preserves the
existing behaviour of overriding the busybox versions. Note that the dependency
is redundant because we already depend on util-linux which depends on busybox
(for the same reason).


 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH v8 09/12] e2fsprogs: disable unneeded features for host
From: Arnout Vandecappelle @ 2017-04-22 22:34 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422150359.01e5a39b@free-electrons.com>



On 22-04-17 15:03, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 22 Apr 2017 13:59:52 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
>> From: Carlos Santos <casantos@datacom.ind.br>
>>
>> We don't need e2initrd_helper or the test I/O manager for the host, just
>> like we don't need it for the target.
>>
>> Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
>> [Arnout: don't add --disable-rpath, since we *do* need rpath for the
>>  target; otherwise we have to explicitly pass LD_LIBRARY_PATH to be
> 
> I guess you meant "we *do* need rpath for the host", right ?

 Yes, for host, obviously...

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply

* [Buildroot] [PATCH v9 0/7] e2fsprogs: refactor to fix conflicts with busybox and util-linux
From: Arnout Vandecappelle @ 2017-04-22 22:49 UTC (permalink / raw)
  To: buildroot

 This is v9 of the large patch sent previously by Carlos Santos, split
up into smaller bits for each individual change. Compared to v8, it is
split up a little less heavily: Thomas found out that it is not possible
to let the e2fsprogs build system create the symlinks while Buildroot is
still removing e2fsck and mke2fs.

 Regards,
 Arnout

---
Carlos Santos (7):
  e2fsprogs: refactor to fix conflicts with busybox and util-linux
  e2fsprogs: add help text for all config options
  e2fsprogs: disable unneeded features for host
  e2fsprogs: add explicit --enable/--disable configure options
  e2fsprogs: avoid conflict with util-linux fsck wrapper
  e2fsprogs: only add -lintl for static builds
  e2fsprogs: add empty lines to .mk file

 package/e2fsprogs/Config.in    |  74 ++++++++------------------
 package/e2fsprogs/e2fsprogs.mk | 118 +++++++++--------------------------------
 2 files changed, 46 insertions(+), 146 deletions(-)

^ permalink raw reply

* [Buildroot] [PATCH v9 1/7] e2fsprogs: refactor to fix conflicts with busybox and util-linux
From: Arnout Vandecappelle @ 2017-04-22 22:49 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422224919.3257-1-arnout@mind.be>

From: Carlos Santos <casantos@datacom.ind.br>

So far we attempted to solve the conflicts between busybox and e2fsprogs
by removing busybox programs from /bin and /sbin, leaving the e2fsprogs
ones at /usr/bin and /usr/sbin. This fails with BR2_ROOTFS_MERGED_USR=y,
leading to situations like the one described in bug 9436.

We could provide a better solution by means of a fine-grained selection
of programs, like util-linux does, but this would require big changes in
e2fsprogs. So instead of resorting to dirty tricks we switch to a more
pragmatic approach:

- Drop all configs to select/deselect utilities without corresponding
  enable/disable options to the configure script. In other words, we
  always install the basic set of utilities.

- fsck has a configure option, so use it. Note that --enable-fsck is
  only about the wrapper, not about e2fsck.

- Install e2fsprogs utilities at /bin and /sbin, overriding the ones
  eventually installed by busybox.

- Let the e2fsprogs build system create the symlinks mkfs.ext2 -> mke2fs
  etc.  fsck.ext4dev and mkfs.ext4dev were dropped in version 1.43.4.

Notice that these changes do exactly the opposite of what is requested
in bug 9436. On the other hand the policy for e2fsprogs becomes coherent
with the one for util-linux: busybox never wins.

Fixes:
  https://bugs.busybox.net/show_bug.cgi?id=9436 (no fix, in fact)

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Arnout:
 - don't add 'default y' to resize2fs;
 - don't install the host package in /bin instead of /usr/bin - we
   install everything under /usr (until /usr will be removed, soon)]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
Splitting up the change of installation paths from the removal of some
enable/disable options is slightly more involved, so I chose to keep
these two changes in a single commit. Also splitting off the symlinks
turns out to be difficult. -- Arnout

v9: squash symlinks into this patch
---
 package/e2fsprogs/Config.in    |  60 +++---------------------
 package/e2fsprogs/e2fsprogs.mk | 102 ++++++-----------------------------------
 2 files changed, 22 insertions(+), 140 deletions(-)

diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index 79b77eac4c..676327dc2f 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -7,47 +7,26 @@ menuconfig BR2_PACKAGE_E2FSPROGS
 	help
 	  The EXT2 file system utilities.
 
+	  The following programs are always built and installed:
+	  badblocks chattr debugfs dumpe2fs e2freefrag e2fsck e2image
+	  e2undo e4crypt e4defrag filefrag fsck fuse2fs logsave lsattr
+	  mke2fs mklost+found resize2fs tune2fs
+
 	  The uuid utilities (uuidd, uuidgen) are not built. Use the
 	  ones from util-linux, instead.
 
+	  Other programs can be selected individually.
+
 	  http://e2fsprogs.sourceforge.net
 
 if BR2_PACKAGE_E2FSPROGS
 
-config BR2_PACKAGE_E2FSPROGS_BADBLOCKS
-	bool "badblocks"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_CHATTR
-	bool "chattr"
-	default y
-
 config BR2_PACKAGE_E2FSPROGS_DEBUGFS
 	bool "debugfs"
 
-config BR2_PACKAGE_E2FSPROGS_DUMPE2FS
-	bool "dumpe2fs"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_E2FREEFRAG
-	bool "e2freefrag"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_E2FSCK
-	bool "e2fsck"
-	default y
-
 config BR2_PACKAGE_E2FSPROGS_E2IMAGE
 	bool "e2image"
 
-config BR2_PACKAGE_E2FSPROGS_E2LABEL
-	bool "e2label"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_E2UNDO
-	bool "e2undo"
-	default y
-
 config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
 	bool "e4defrag"
 	depends on !BR2_nios2 # fallocate not implemented
@@ -57,10 +36,6 @@ comment "e4defrag needs a glibc or musl toolchain"
 	depends on !BR2_nios2
 	depends on BR2_TOOLCHAIN_USES_UCLIBC
 
-config BR2_PACKAGE_E2FSPROGS_FILEFRAG
-	bool "filefrag"
-	default y
-
 config BR2_PACKAGE_E2FSPROGS_FSCK
 	bool "fsck"
 	default y
@@ -74,28 +49,7 @@ config BR2_PACKAGE_E2FSPROGS_FUSE2FS
 comment "fuse2fs needs a toolchain w/ threads, dynamic library"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
 
-config BR2_PACKAGE_E2FSPROGS_LOGSAVE
-	bool "logsave"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_LSATTR
-	bool "lsattr"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_MKE2FS
-	bool "mke2fs"
-	default y
-
-config BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND
-	bool "mklost+found"
-	default y
-
 config BR2_PACKAGE_E2FSPROGS_RESIZE2FS
 	bool "resize2fs"
 
-config BR2_PACKAGE_E2FSPROGS_TUNE2FS
-	bool "tune2fs"
-	default y
-	select BR2_PACKAGE_E2FSPROGS_E2LABEL
-
 endif
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 5231a97f9c..e0a7fa9354 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -17,6 +17,12 @@ E2FSPROGS_INSTALL_STAGING = YES
 E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
 HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf host-util-linux
 
+# If both e2fsprogs and busybox are selected, make certain e2fsprogs
+# wins the fight over who gets to have their utils actually installed
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+E2FSPROGS_DEPENDENCIES += busybox
+endif
+
 # e4defrag doesn't build on older systems like RHEL5.x, and we don't
 # need it on the host anyway.
 # Disable fuse2fs as well to avoid carrying over deps, and it's unused
@@ -24,21 +30,27 @@ HOST_E2FSPROGS_CONF_OPTS = \
 	--disable-defrag \
 	--disable-fuse2fs \
 	--disable-libblkid \
-	--disable-libuuid
+	--disable-libuuid \
+	--enable-symlink-install
 
+# Set the binary directories to "/bin" and "/sbin" to override programs
+# installed by busybox.
 E2FSPROGS_CONF_OPTS = \
+	--bindir=/bin \
+	--sbindir=/sbin \
 	$(if $(BR2_STATIC_LIBS),,--enable-elf-shlibs) \
 	$(if $(BR2_PACKAGE_E2FSPROGS_DEBUGFS),,--disable-debugfs) \
 	$(if $(BR2_PACKAGE_E2FSPROGS_E2IMAGE),,--disable-imager) \
 	$(if $(BR2_PACKAGE_E2FSPROGS_E4DEFRAG),,--disable-defrag) \
+	$(if $(BR2_PACKAGE_E2FSPROGS_FSCK),--enable-fsck,--disable-fsck) \
 	$(if $(BR2_PACKAGE_E2FSPROGS_RESIZE2FS),,--disable-resizer) \
 	--disable-uuidd \
 	--disable-libblkid \
 	--disable-libuuid \
-	--enable-fsck \
 	--disable-e2initrd-helper \
 	--disable-testio-debug \
-	--disable-rpath
+	--disable-rpath \
+	--enable-symlink-install
 
 ifeq ($(BR2_PACKAGE_E2FSPROGS_FUSE2FS),y)
 E2FSPROGS_CONF_OPTS += --enable-fuse2fs
@@ -83,89 +95,5 @@ define HOST_E2FSPROGS_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install install-libs
 endef
 
-# binaries to keep or remove
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += usr/sbin/badblocks
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_CHATTR) += usr/bin/chattr
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_DUMPE2FS) += usr/sbin/dumpe2fs
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FREEFRAG) += usr/sbin/e2freefrag
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FSCK) += usr/sbin/e2fsck
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2LABEL) += usr/sbin/e2label
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2UNDO) += usr/sbin/e2undo
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E4DEFRAG) += usr/sbin/e4defrag
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FILEFRAG) += usr/sbin/filefrag
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FSCK) += usr/sbin/fsck
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_LOGSAVE) += usr/sbin/logsave
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_LSATTR) += usr/bin/lsattr
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_MKE2FS) += usr/sbin/mke2fs
-E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND) += usr/sbin/mklost+found
-
-# files to remove
-E2FSPROGS_TXTTARGETS_ = \
-	usr/sbin/mkfs.ext[234] \
-	usr/sbin/mkfs.ext4dev \
-	usr/sbin/fsck.ext[234] \
-	usr/sbin/fsck.ext4dev \
-	usr/sbin/tune2fs
-
-define E2FSPROGS_TARGET_REMOVE_UNNEEDED
-	rm -f $(addprefix $(TARGET_DIR)/, $(E2FSPROGS_BINTARGETS_))
-	rm -f $(addprefix $(TARGET_DIR)/, $(E2FSPROGS_TXTTARGETS_))
-endef
-
-E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_REMOVE_UNNEEDED
-
-define E2FSPROGS_TARGET_MKE2FS_SYMLINKS
-	ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext2
-	ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext3
-	ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext4
-	ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext4dev
-endef
-
-ifeq ($(BR2_PACKAGE_E2FSPROGS_MKE2FS),y)
-E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_MKE2FS_SYMLINKS
-endif
-
-define E2FSPROGS_TARGET_E2FSCK_SYMLINKS
-	ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext2
-	ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext3
-	ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext4
-	ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext4dev
-endef
-
-ifeq ($(BR2_PACKAGE_E2FSPROGS_E2FSCK),y)
-E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_E2FSCK_SYMLINKS
-endif
-
-# If BusyBox is included, its configuration may supply its own variant
-# of ext2-related tools. Since Buildroot desires having full blown
-# variants take precedence (in this case, e2fsprogs), we want to remove
-# BusyBox's variant of e2fsprogs provided binaries. e2fsprogs targets
-# /usr/{bin,sbin} where BusyBox targets /{bin,sbin}. We will attempt to
-# remove BusyBox-generated ext2-related tools from /{bin,sbin}. We need
-# to do this in the pre-install stage to ensure we do not accidentally
-# remove e2fsprogs's binaries in usr-merged environments (ie. if they
-# are removed, they would be re-installed in this package's install
-# stage).
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-E2FSPROGS_DEPENDENCIES += busybox
-
-define E2FSPROGS_REMOVE_BUSYBOX_APPLETS
-	$(RM) -f $(TARGET_DIR)/bin/chattr
-	$(RM) -f $(TARGET_DIR)/bin/lsattr
-	$(RM) -f $(TARGET_DIR)/sbin/fsck
-	$(RM) -f $(TARGET_DIR)/sbin/tune2fs
-	$(RM) -f $(TARGET_DIR)/sbin/e2label
-endef
-E2FSPROGS_PRE_INSTALL_TARGET_HOOKS += E2FSPROGS_REMOVE_BUSYBOX_APPLETS
-endif
-
-define E2FSPROGS_TARGET_TUNE2FS_SYMLINK
-	ln -sf e2label $(TARGET_DIR)/usr/sbin/tune2fs
-endef
-
-ifeq ($(BR2_PACKAGE_E2FSPROGS_TUNE2FS),y)
-E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_TUNE2FS_SYMLINK
-endif
-
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.11.0

^ permalink raw reply related

* [Buildroot] [PATCH v9 2/7] e2fsprogs: add help text for all config options
From: Arnout Vandecappelle @ 2017-04-22 22:49 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20170422224919.3257-1-arnout@mind.be>

From: Carlos Santos <casantos@datacom.ind.br>

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/e2fsprogs/Config.in | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index 676327dc2f..23c4db5329 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -23,14 +23,20 @@ if BR2_PACKAGE_E2FSPROGS
 
 config BR2_PACKAGE_E2FSPROGS_DEBUGFS
 	bool "debugfs"
+	help
+	  ext2/ext3/ext4 file system debugger
 
 config BR2_PACKAGE_E2FSPROGS_E2IMAGE
 	bool "e2image"
+	help
+	  Save critical ext2/ext3/ext4 filesystem metadata to a file
 
 config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
 	bool "e4defrag"
 	depends on !BR2_nios2 # fallocate not implemented
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # sync_file_range not impl
+	help
+	  Online defragmenter for ext4 filesystem
 
 comment "e4defrag needs a glibc or musl toolchain"
 	depends on !BR2_nios2
@@ -39,17 +45,24 @@ comment "e4defrag needs a glibc or musl toolchain"
 config BR2_PACKAGE_E2FSPROGS_FSCK
 	bool "fsck"
 	default y
+	help
+	  Check and repair a Linux file system. This is a wrapper around
+	  the filesystem-specific fsck tools.
 
 config BR2_PACKAGE_E2FSPROGS_FUSE2FS
 	bool "fuse2fs"
 	depends on !BR2_STATIC_LIBS # libfuse
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
 	select BR2_PACKAGE_LIBFUSE
+	help
+	  FUSE file system client for ext2/ext3/ext4 file systems
 
 comment "fuse2fs needs a toolchain w/ threads, dynamic library"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
 
 config BR2_PACKAGE_E2FSPROGS_RESIZE2FS
 	bool "resize2fs"
+	help
+	  ext2/ext3/ext4 file system resizer
 
 endif
-- 
2.11.0

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox