Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/5 v2] package: bump attr and acl, fix builds of dependees
@ 2018-06-30 14:21 Yann E. MORIN
  2018-06-30 14:21 ` [Buildroot] [PATCH 1/5 v2] package/lua-flu: fix to use the system xattr header Yann E. MORIN
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Yann E. MORIN @ 2018-06-30 14:21 UTC (permalink / raw)
  To: buildroot

Hello All!

This series is an attempt at bumping the attr and acl packages to a
later version.

The crux of the changes is to get an attr package that no longer behaves
silly [0]. attr has had a complete overhaul of it buildsystem, making it
fully autotools-based, which fixes quite a few idiosyncracies of the
previous hand-rolled one.

However, this means that attr no longer installs its own copy of xattr.h,
on the assumption that it has been provided by glibc "for ages" [1] [2]
[3] [4]. This means that a few packages have to be fixed now, of which acl.

Three packages then need fixing because they still use attr/xattr.h:
stress-ng, which we bump and fix, lua-flu, which we simply fix, and
xorriso. Patches were all sent upstream [6] [7] [8].

Of all packages that depend on attr or acl:

    sys        -> checks for, and uses <sys/xattr.h>
    attr       -> checks for, and uses <attr/xattr.h>
    acl        -> checks for, and uses <acl/libacl.h> and/or -lacl
    patched    -> patch added to uses <sys/xattr.h>
    no xattr.h -> does not check for <attr/xattr.h> or <sys/xattr.h>,
                  but uses other <attr/*.h> and -lattr, thus has no
                  problem

    acl                 ACK, sys
    coreutils           ACK, sys-attr
    host-acl            ACK, sys
    host-fakeroot       ACK, sys
    host-pseudo         ACK, sys
    libarchive          ACK, attr-sys
    logrotate           ACK, acl
    lua-flu             ACK, patched, sys
    mtd                 ACK, sys
    netatalk            ACK, acl, attr-sys
    patch               ACK, no xattr.h
    rpm                 ACK, acl
    rsync               ACK, acl, attr-sys
    samba4              ACK, attr-sys [*]
    stress-ng           ACK, patched, sys
    systemd             ACK, acl
    tar                 ACK, acl, sys
    vim                 ACK, acl [**]
    xorriso             ACK, acl, patched, sys

[*] in my testing, I had a systemd-based system, and samba4 failed to
install (I'll investigate separately). But at least, it did detect and
use <sys/xattr.h> correctly, and the build succeeded. It even installed
OK, but our SAMBA4_INSTALL_INIT_SYSTEMD is borked (missing source file.)

[**] vim uses xattr to add support for SMACK. Before this series, it did
detect xattr, but failed to deteect a feature of it [5], so it always
disabled SMACK support. Now, it does not detect xattr at all, so it
doesn't enable SMACK either. So, even though we have a regression about
the detections of xattr.h, we have no regression in functionality.

Now, let's see some test-pkg configs and results:

    $ cat attr-nommu.cfg
    BR2_PACKAGE_ACL=y
    BR2_PACKAGE_ATTR=y
    BR2_PACKAGE_LIBARCHIVE=y
    BR2_PACKAGE_MTD=y
    BR2_PACKAGE_MTD_MKFSJFFS2=y
    BR2_PACKAGE_MTD_MKFSUBIFS=y
    $ ./utils/test-pkg -c attr-nommu.cfg -d $(pwd)/test-nommu
                                 br-arm-full [1/6]: OK
                      br-arm-cortex-a9-glibc [2/6]: OK
                       br-arm-cortex-m4-full [3/6]: OK
                              br-x86-64-musl [4/6]: OK
                          br-arm-full-static [5/6]: OK
                    armv5-ctng-linux-gnueabi [6/6]: OK
    6 builds, 0 skipped, 0 build failed, 0 legal-info failed

    $ cat attr-mmu.cfg
    BR2_PACKAGE_ACL=y
    BR2_PACKAGE_ATTR=y
    BR2_PACKAGE_COREUTILS=y
    BR2_PACKAGE_LIBARCHIVE=y
    BR2_PACKAGE_LOGROTATE=y
    BR2_PACKAGE_MTD=y
    BR2_PACKAGE_MTD_MKFSJFFS2=y
    BR2_PACKAGE_MTD_MKFSUBIFS=y
    BR2_PACKAGE_NETATALK=y
    BR2_PACKAGE_PATCH=y
    BR2_PACKAGE_RPM=y
    BR2_PACKAGE_RSYNC=y
    BR2_PACKAGE_SAMBA4=y
    BR2_PACKAGE_TAR=y
    BR2_PACKAGE_VIM=y
    BR2_PACKAGE_XORRISO=y
    $ ./utils/test-pkg -c attr-mmu.cfg -d $(pwd)/test-mmu
                                 br-arm-full [1/6]: OK
                      br-arm-cortex-a9-glibc [2/6]: OK
                       br-arm-cortex-m4-full [3/6]: SKIPPED
                              br-x86-64-musl [4/6]: SKIPPED
                          br-arm-full-static [5/6]: SKIPPED
                    armv5-ctng-linux-gnueabi [6/6]: OK
    6 builds, 3 skipped, 0 build failed, 0 legal-info failed

    Notes:
      - for mtd, the two utilities that use xattr are explcitly enabled;
      - for br-arm-cortex-m4-full, that's because it is a static
        build, so a lot of packages are disabled;
      - for br-x86-64-musl, samba4 is not available for musl;
      - for br-arm-full-static, again it is a static build.

    $ cat attr-mmu-glibc.cfg
    BR2_PACKAGE_ACL=y
    BR2_PACKAGE_ATTR=y
    BR2_PACKAGE_COREUTILS=y
    BR2_PACKAGE_LIBARCHIVE=y
    BR2_PACKAGE_LUA=y
    BR2_PACKAGE_LUA_FLU=y
    BR2_PACKAGE_LOGROTATE=y
    BR2_PACKAGE_MTD=y
    BR2_PACKAGE_MTD_MKFSJFFS2=y
    BR2_PACKAGE_MTD_MKFSUBIFS=y
    BR2_PACKAGE_NETATALK=y
    BR2_PACKAGE_PATCH=y
    BR2_PACKAGE_RPM=y
    BR2_PACKAGE_RSYNC=y
    BR2_PACKAGE_SAMBA4=y
    BR2_PACKAGE_STRESS_NG=y
    BR2_PACKAGE_TAR=y
    BR2_PACKAGE_VIM=y
    BR2_PACKAGE_XORRISO=y
    $ ./utils/test-pkg -c attr-mmu-glibc.cfg  -d $(pwd)/test-mmu-glibc
                                 br-arm-full [1/6]: SKIPPED
                      br-arm-cortex-a9-glibc [2/6]: OK
                       br-arm-cortex-m4-full [3/6]: SKIPPED
                              br-x86-64-musl [4/6]: SKIPPED
                          br-arm-full-static [5/6]: SKIPPED
                    armv5-ctng-linux-gnueabi [6/6]: OK
    6 builds, 4 skipped, 0 build failed, 0 legal-info failed

    Notes:
      - br-arm-full: stress-ng only for glibc;
      - br-arm-cortex-m4-full: it's a static build;
      - br-x86-64-musl: stress-ng and smaba4 not avail on musl;
      - br-arm-full-static: static build

Now, I also build-tested systemd with a custom config (not with
test-pkg).

[0] https://bugs.busybox.net/show_bug.cgi?id=10986
[1] https://git.savannah.gnu.org/cgit/attr.git/commit/?id=7921157890d07858d092f4003ca4c6bae9fd2c38)
[2] glibc: since 2.5: https://sourceware.org/git/?p=glibc.git;a=commit;h=0ecb606cb6cf65de1d9fc8a919bceb4be476c602
[3] uClibc: since 2004: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=d503d1d6c62506ba6fb51c04a9703039e71d11a9
[4] musl: since 2012 (a year after initial release): http://git.musl-libc.org/cgit/musl/commit/?id=207460d09742304941f1a010a89fc2efa46bcb29
[5] checking for XATTR_NAME_SMACKEXEC in linux/xattr.h... no
[6] lua-flu applied the patch; additional patch in preparation
[7] stress-ng applied a different patch, which is dubious, and more
    discussion on it
[8] xorriso has seen our patches before I could submit them, needs some
    work to accomodate their git trees


Regards,
Yann E. MORIN.


The following changes since commit 78af2a63625a0893259ceb2f6cfb5b6ab1431419

  package/gcc: backport arm acle bugfix 81497 (2018-06-28 23:13:50 +0200)


are available in the git repository at:

  git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to 166f3279947186301770fa28116bb6d288ee8601

  package/attr: bump version (2018-06-30 16:20:03 +0200)


----------------------------------------------------------------
Yann E. MORIN (5):
      package/lua-flu: fix to use the system xattr header
      package/stress-ng: bump version
      package/xorriso: fix to use the system xattr header
      package/acl: bump version
      package/attr: bump version

 package/acl/0001-support-static-installation.patch |  29 --
 ...2-add-__acl_-prefixes-to-internal-symbols.patch | 292 ---------------------
 ...-all-use-install-1-to-install-executables.patch |  67 -----
 package/acl/acl.hash                               |   2 +-
 package/acl/acl.mk                                 |  50 +---
 .../attr/0001-support-static-installation.patch    |  29 --
 .../0002-avoid-glibc-specific-decls-defines.patch  |  37 ---
 package/attr/0003-portability-fixes.patch          |  37 ---
 ...-all-use-install-1-to-install-executables.patch |  67 -----
 package/attr/attr.hash                             |   2 +-
 package/attr/attr.mk                               |  38 +--
 package/lua-flu/0001-use-system-xattr-h.patch      | 169 ++++++++++++
 package/stress-ng/stress-ng.hash                   |   2 +-
 package/stress-ng/stress-ng.mk                     |   3 +-
 package/xorriso/0001-use-sys-xattr.h.patch         |  33 +++
 package/xorriso/xorriso.mk                         |  13 +
 16 files changed, 232 insertions(+), 638 deletions(-)
 delete mode 100644 package/acl/0001-support-static-installation.patch
 delete mode 100644 package/acl/0002-add-__acl_-prefixes-to-internal-symbols.patch
 delete mode 100644 package/acl/0003-all-use-install-1-to-install-executables.patch
 delete mode 100644 package/attr/0001-support-static-installation.patch
 delete mode 100644 package/attr/0002-avoid-glibc-specific-decls-defines.patch
 delete mode 100644 package/attr/0003-portability-fixes.patch
 delete mode 100644 package/attr/0004-all-use-install-1-to-install-executables.patch
 create mode 100644 package/lua-flu/0001-use-system-xattr-h.patch
 create mode 100644 package/xorriso/0001-use-sys-xattr.h.patch

-- 
.-----------------.--------------------.------------------.--------------------.
|  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	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-08-27  7:49 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-30 14:21 [Buildroot] [PATCH 0/5 v2] package: bump attr and acl, fix builds of dependees Yann E. MORIN
2018-06-30 14:21 ` [Buildroot] [PATCH 1/5 v2] package/lua-flu: fix to use the system xattr header Yann E. MORIN
2018-06-30 16:41   ` Thomas Petazzoni
2018-08-23 20:35   ` Peter Korsgaard
2018-08-24  3:46     ` Baruch Siach
2018-08-27  7:49       ` Peter Korsgaard
2018-06-30 14:21 ` [Buildroot] [PATCH 2/5 v2] package/stress-ng: bump version Yann E. MORIN
2018-06-30 16:41   ` Thomas Petazzoni
2018-08-23 20:39   ` Peter Korsgaard
2018-06-30 14:21 ` [Buildroot] [PATCH 3/5 v2] package/xorriso: fix to use the system xattr header Yann E. MORIN
2018-06-30 19:16   ` Thomas Petazzoni
2018-06-30 19:20     ` Yann E. MORIN
2018-06-30 20:05   ` Thomas Petazzoni
2018-08-23 20:40     ` Peter Korsgaard
2018-06-30 14:21 ` [Buildroot] [PATCH 4/5 v2] package/acl: bump version Yann E. MORIN
2018-07-10 21:32   ` Arnout Vandecappelle
2018-08-23 20:32   ` Peter Korsgaard
2018-06-30 14:21 ` [Buildroot] [PATCH 5/5 v2] package/attr: " Yann E. MORIN
2018-07-10 21:33   ` Arnout Vandecappelle
2018-08-23 20:41   ` Peter Korsgaard

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