All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Introduce packagegroup-core-base-utils
@ 2019-03-01 22:26 Tom Rini
  2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-01 22:26 UTC (permalink / raw)
  To: openembedded-core

Hey all,

Over on the Yocto list[1] the topic of how to build an image without
busybox once again came up.  As part of that discussion I said I'd been
thinking about a packagegroup to make this easier to do as while
virtual/base-utils and VIRTUAL-RUNTIME_base-utils exist and work and allow
for this, the list of things we get from busybox is non-trivial.  In fact,
this exposed that in oe-core itself we have no editor aside from busybox
and are missing a number of common network utilities too.  To that end,
this series migrates vim and inetutils from meta-oe to oe-core, introduces
packagegroup-core-base-utils (and documents using it in
local.conf.sample.extended) and finally adds a testcase of building
(technically, making the dependency graph as that does what we need and is
much quicker, 5s vs 3 minute) core-image-sato with busybox disabled, so
that we can do our best to avoid introucing busybox as a hard requirement
in the future.

With respect to functionality, this is basically 1:1 with busybox.  I
didn't add more "useful" utilities (which I would argue belong in
packagegroup-core-full-cmdline which follow up to this could be enhanced to
pull in this packagegroup and add to it).  In terms of deviation:
- We do not have a trivial dhcp server, unless you use systemd.
- We may have also lost a few similar trivial servers.  One may argue that
  by default maybe busybox shouldn't be opening this stuff up.
- busybox provides "nslookup" which at this point in time is an
  anachronism. bind stopped shipping "nslookup" prior to oe-core replacing
  the old monolithic layer.  We do provide host and dig and such via
  bind-utils.

[1]: https://lists.yoctoproject.org/pipermail/yocto/2019-February/044317.html
-- 
Tom



^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH 1/4] vim: Import version 8.1.0347
  2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
@ 2019-03-01 22:26 ` Tom Rini
  2019-03-02  9:15   ` Martin Jansa
  2019-03-02 15:42   ` Joshua Watt
  2019-03-01 22:26 ` [PATCH 2/4] inetutils: Import version 1.9.4 Tom Rini
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-01 22:26 UTC (permalink / raw)
  To: openembedded-core

In order to have a stand-alone editor in oe-core, bring in vim from
meta-openembedded/meta-oe.  This imports the recipes as of git commit:
commit 7b48bd2be97408107c0dd3c74b1e28f042268457
Author: Ovidiu Panait <ovidiu.panait@windriver.com>
Date:   Fri Feb 1 10:07:20 2019 +0200

    vim: Enable GUI support for x11 DISTRO_FEATURES

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 meta/files/common-licenses/vim                     |  81 ++++++++++++++
 ...0001-src-Makefile-improve-reproducibility.patch |  46 ++++++++
 .../vim/files/disable_acl_header_check.patch       |  39 +++++++
 .../vim-add-knob-whether-elf.h-are-checked.patch   |  42 +++++++
 meta/recipes-support/vim/vim-tiny_8.1.0347.bb      |  15 +++
 meta/recipes-support/vim/vim_8.1.0347.bb           | 121 +++++++++++++++++++++
 6 files changed, 344 insertions(+)
 create mode 100644 meta/files/common-licenses/vim
 create mode 100644 meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
 create mode 100644 meta/recipes-support/vim/files/disable_acl_header_check.patch
 create mode 100644 meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
 create mode 100644 meta/recipes-support/vim/vim-tiny_8.1.0347.bb
 create mode 100644 meta/recipes-support/vim/vim_8.1.0347.bb

diff --git a/meta/files/common-licenses/vim b/meta/files/common-licenses/vim
new file mode 100644
index 000000000000..4aa818eb248e
--- /dev/null
+++ b/meta/files/common-licenses/vim
@@ -0,0 +1,81 @@
+VIM LICENSE
+
+I)  There are no restrictions on distributing unmodified copies of Vim except
+    that they must include this license text.  You can also distribute
+    unmodified parts of Vim, likewise unrestricted except that they must
+    include this license text.  You are also allowed to include executables
+    that you made from the unmodified Vim sources, plus your own usage
+    examples and Vim scripts.
+
+II) It is allowed to distribute a modified (or extended) version of Vim,
+    including executables and/or source code, when the following four
+    conditions are met:
+    1) This license text must be included unmodified.
+    2) The modified Vim must be distributed in one of the following five ways:
+       a) If you make changes to Vim yourself, you must clearly describe in
+	  the distribution how to contact you.  When the maintainer asks you
+	  (in any way) for a copy of the modified Vim you distributed, you
+	  must make your changes, including source code, available to the
+	  maintainer without fee.  The maintainer reserves the right to
+	  include your changes in the official version of Vim.  What the
+	  maintainer will do with your changes and under what license they
+	  will be distributed is negotiable.  If there has been no negotiation
+	  then this license, or a later version, also applies to your changes.
+	  The current maintainer is Bram Moolenaar <Bram@vim.org>.  If this
+	  changes it will be announced in appropriate places (most likely
+	  vim.sf.net, www.vim.org and/or comp.editors).  When it is completely
+	  impossible to contact the maintainer, the obligation to send him
+	  your changes ceases.  Once the maintainer has confirmed that he has
+	  received your changes they will not have to be sent again.
+       b) If you have received a modified Vim that was distributed as
+	  mentioned under a) you are allowed to further distribute it
+	  unmodified, as mentioned at I).  If you make additional changes the
+	  text under a) applies to those changes.
+       c) Provide all the changes, including source code, with every copy of
+	  the modified Vim you distribute.  This may be done in the form of a
+	  context diff.  You can choose what license to use for new code you
+	  add.  The changes and their license must not restrict others from
+	  making their own changes to the official version of Vim.
+       d) When you have a modified Vim which includes changes as mentioned
+	  under c), you can distribute it without the source code for the
+	  changes if the following three conditions are met:
+	  - The license that applies to the changes permits you to distribute
+	    the changes to the Vim maintainer without fee or restriction, and
+	    permits the Vim maintainer to include the changes in the official
+	    version of Vim without fee or restriction.
+	  - You keep the changes for at least three years after last
+	    distributing the corresponding modified Vim.  When the maintainer
+	    or someone who you distributed the modified Vim to asks you (in
+	    any way) for the changes within this period, you must make them
+	    available to him.
+	  - You clearly describe in the distribution how to contact you.  This
+	    contact information must remain valid for at least three years
+	    after last distributing the corresponding modified Vim, or as long
+	    as possible.
+       e) When the GNU General Public License (GPL) applies to the changes,
+	  you can distribute the modified Vim under the GNU GPL version 2 or
+	  any later version.
+    3) A message must be added, at least in the output of the ":version"
+       command and in the intro screen, such that the user of the modified Vim
+       is able to see that it was modified.  When distributing as mentioned
+       under 2)e) adding the message is only required for as far as this does
+       not conflict with the license used for the changes.
+    4) The contact information as required under 2)a) and 2)d) must not be
+       removed or changed, except that the person himself can make
+       corrections.
+
+III) If you distribute a modified version of Vim, you are encouraged to use
+     the Vim license for your changes and make them available to the
+     maintainer, including the source code.  The preferred way to do this is
+     by e-mail or by uploading the files to a server and e-mailing the URL.
+     If the number of changes is small (e.g., a modified Makefile) e-mailing a
+     context diff will do.  The e-mail address to be used is
+     <maintainer@vim.org>
+
+IV)  It is not allowed to remove this license from the distribution of the Vim
+     sources, parts of it or from a modified version.  You may use this
+     license for previous Vim releases instead of the license that they came
+     with, at your option.
+
+===
+Read more about this license at http://vimdoc.sourceforge.net/htmldoc/uganda.html#license
diff --git a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
new file mode 100644
index 000000000000..63a7b78f12f1
--- /dev/null
+++ b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
@@ -0,0 +1,46 @@
+From 133ab27cdb17ca20ef6b0304cf30621d2bcbe757 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 31 Jan 2019 21:32:26 -0800
+Subject: [PATCH] src/Makefile: improve reproducibility
+
+Clear all_cflags, all_lflags, compiled_user
+and compiled_sys to avoid introducing build
+info to improve reproducibility as below:
+
+WARNING: vim-8.1.0347-r0 do_package_qa: QA Issue: File /work/core2-64-wrs-linux/vim/8.1.0347-r0/packages-split/vim/usr/bin/vim.vim in package contained reference to tmpdir [buildpaths]
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/Makefile | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index f2fafa4dc..7148d4bd9 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk
+ 	-@echo '#include "vim.h"' >> $@
+ 	-@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@
+ 	-@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@
+-	-@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir) $(ALL_CFLAGS)";' | $(QUOTESED) >>  $@
+-	-@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS) $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >>  $@
+-	-@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@
+-	-@if test -n "$(COMPILEDBY)"; then \
+-		echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \
+-		else ((logname) 2>/dev/null || whoami) | tr -d $(NL) >> $@; fi
+-	-@echo '";' >> $@
+-	-@echo 'char_u *compiled_sys = (char_u *)"' | tr -d $(NL) >> $@
+-	-@if test -z "$(COMPILEDBY)"; then hostname | tr -d $(NL) >> $@; fi
+-	-@echo '";' >> $@
++	-@echo 'char_u *all_cflags = (char_u *)"";' | $(QUOTESED) >>  $@
++	-@echo 'char_u *all_lflags = (char_u *)"";' | $(QUOTESED) >>  $@
++	-@echo 'char_u *compiled_user = (char_u *)"";' >> $@
++	-@echo 'char_u *compiled_sys = (char_u *)"";' >> $@
+ 	-@sh $(srcdir)/pathdef.sh
+ 
+ GUI_GTK_RES_INPUTS = \
+-- 
+2.17.1
+
diff --git a/meta/recipes-support/vim/files/disable_acl_header_check.patch b/meta/recipes-support/vim/files/disable_acl_header_check.patch
new file mode 100644
index 000000000000..4720003c252a
--- /dev/null
+++ b/meta/recipes-support/vim/files/disable_acl_header_check.patch
@@ -0,0 +1,39 @@
+From 5ed25c076a1fb1889a3c50dddf29f21850b59a13 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com> 
+Date: Tue, 26 Jun 2018 17:29:09 +0800
+Subject: [PATCH] disable acl header check
+
+Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
+
+Upstream-Status: pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 107c170..0ee86ad 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3220,7 +3220,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h string.h \
+ 	sys/systeminfo.h locale.h sys/stream.h termios.h \
+ 	libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
+ 	utime.h sys/param.h libintl.h libgen.h \
+-	util/debug.h util/msg18n.h frame.h sys/acl.h \
++	util/debug.h util/msg18n.h frame.h \
+ 	sys/access.h sys/sysinfo.h wchar.h wctype.h)
+ 
+ dnl sys/ptem.h depends on sys/stream.h on Solaris
+@@ -3848,6 +3848,7 @@ AC_ARG_ENABLE(acl,
+ 	, [enable_acl="yes"])
+ if test "$enable_acl" = "yes"; then
+   AC_MSG_RESULT(no)
++  AC_CHECK_HEADERS(sys/acl.h)
+   AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
+ 	AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
+ 		  AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
+-- 
+2.7.4
+
diff --git a/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
new file mode 100644
index 000000000000..37914d4cd9c1
--- /dev/null
+++ b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
@@ -0,0 +1,42 @@
+From 38de4bccdb8a861ffdd447f12fdab19d6d852c02 Mon Sep 17 00:00:00 2001
+From: Chong Lu <Chong.Lu@windriver.com>
+Date: Tue, 26 Jun 2018 17:34:15 +0800
+Subject: [PATCH] vim: add knob whether elf.h are checked
+
+Previously, it still was checked when there was no elf library in sysroots directory.
+Add knob to decide whether elf.h are checked or not.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/configure.ac | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 0ee86ad..64736f0 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3192,11 +3192,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));],
+ 	AC_MSG_RESULT(no))
+ 
+ dnl Checks for header files.
++AC_MSG_CHECKING(whether or not to look for elf.h)
++AC_ARG_ENABLE(elf-check,
++        [  --enable-elf-check      If elfutils, check for elf.h [default=no]],
++        , enable_elf_check="no")
++AC_MSG_RESULT($enable_elf_check)
++if test "x$enable_elf_check" != "xno"; then
+ AC_CHECK_HEADER(elf.h, HAS_ELF=1)
+ dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
+ if test "$HAS_ELF" = 1; then
+   AC_CHECK_LIB(elf, main)
+ fi
++fi
+ 
+ AC_HEADER_DIRENT
+ 
+-- 
+2.7.4
+
diff --git a/meta/recipes-support/vim/vim-tiny_8.1.0347.bb b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
new file mode 100644
index 000000000000..8b1fb7b1158d
--- /dev/null
+++ b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
@@ -0,0 +1,15 @@
+require vim_${PV}.bb
+
+SUMMARY += " (with tiny features)"
+
+PROVIDES_remove = "xxd"
+ALTERNATIVE_${PN}_remove = "xxd"
+
+PACKAGECONFIG += "tiny"
+
+do_install() {
+    install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
+}
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_TARGET = "${bindir}/vim.tiny"
diff --git a/meta/recipes-support/vim/vim_8.1.0347.bb b/meta/recipes-support/vim/vim_8.1.0347.bb
new file mode 100644
index 000000000000..070583158467
--- /dev/null
+++ b/meta/recipes-support/vim/vim_8.1.0347.bb
@@ -0,0 +1,121 @@
+SUMMARY = "Vi IMproved - enhanced vi editor"
+SECTION = "console/utils"
+
+PROVIDES = "xxd"
+DEPENDS = "ncurses gettext-native"
+# vimdiff doesn't like busybox diff
+RSUGGESTS_${PN} = "diffutils"
+LICENSE = "vim"
+LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
+
+SRC_URI = "git://github.com/vim/vim.git \
+           file://disable_acl_header_check.patch;patchdir=.. \
+           file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
+           file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
+"
+SRCREV = "f1c118be93184e8e57e3e80b1b3383f464ed649e"
+
+S = "${WORKDIR}/git/src"
+
+VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
+
+inherit autotools-brokensep update-alternatives
+
+CLEANBROKEN = "1"
+
+# vim configure.in contains functions which got 'dropped' by autotools.bbclass
+do_configure () {
+    rm -f auto/*
+    touch auto/config.mk
+    aclocal
+    autoconf
+    oe_runconf
+    touch auto/configure
+    touch auto/config.mk auto/config.h
+}
+
+#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += " \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
+"
+
+PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+,"
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
+PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
+PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
+PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
+
+EXTRA_OECONF = " \
+    --disable-gpm \
+    --disable-gtktest \
+    --disable-xim \
+    --disable-netbeans \
+    --with-tlib=ncurses \
+    ac_cv_small_wchar_t=no \
+    vim_cv_getcwd_broken=no \
+    vim_cv_memmove_handles_overlap=yes \
+    vim_cv_stat_ignores_slash=no \
+    vim_cv_terminfo=yes \
+    vim_cv_tgetent=non-zero \
+    vim_cv_toupper_broken=no \
+    vim_cv_tty_group=world \
+    STRIP=/bin/true \
+"
+
+do_install() {
+    autotools_do_install
+
+    # Work around file-rdeps picking up csh, awk, perl or python as a dep
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
+
+    # Install example vimrc from runtime files
+    install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
+
+    # we use --with-features=big as default
+    mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
+}
+
+PARALLEL_MAKEINST = ""
+
+PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
+FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
+FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
+FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
+FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
+FILES_${PN}-data = "${datadir}/${BPN}"
+FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
+FILES_${PN}-common = " \
+    ${datadir}/${BPN}/${VIMDIR}/*.vim \
+    ${datadir}/${BPN}/${VIMDIR}/autoload \
+    ${datadir}/${BPN}/${VIMDIR}/colors \
+    ${datadir}/${BPN}/${VIMDIR}/compiler \
+    ${datadir}/${BPN}/${VIMDIR}/ftplugin \
+    ${datadir}/${BPN}/${VIMDIR}/indent \
+    ${datadir}/${BPN}/${VIMDIR}/keymap \
+    ${datadir}/${BPN}/${VIMDIR}/lang \
+    ${datadir}/${BPN}/${VIMDIR}/macros \
+    ${datadir}/${BPN}/${VIMDIR}/plugin \
+    ${datadir}/${BPN}/${VIMDIR}/print \
+    ${datadir}/${BPN}/${VIMDIR}/spell \
+    ${datadir}/icons \
+"
+
+RDEPENDS_${BPN} = "ncurses-terminfo-base"
+# Recommend that runtime data is installed along with vim
+RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
+
+ALTERNATIVE_${PN} = "vi vim xxd"
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
+ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
+ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
+ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
+ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
+
+BBCLASSEXTEND = "native"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
  2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
@ 2019-03-01 22:26 ` Tom Rini
  2019-03-02 17:00   ` Richard Purdie
  2019-03-04  9:47   ` André Draszik
  2019-03-01 22:26 ` [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup Tom Rini
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-01 22:26 UTC (permalink / raw)
  To: openembedded-core

In order to have more robust stand-alone network tools in oe-core, bring
in vim from meta-openembedded/meta-networking.  This imports the recipes
as of git commit:
commit 408204073e6bdcd8ac586e05d5b75213417673f2
Author: Martin Jansa <martin.jansa@gmail.com>
Date:   Thu Aug 16 20:39:15 2018 +0000

    inetutils: fix build with glibc-2.28

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 .../0001-rcp-fix-to-work-with-large-files.patch    |  31 ++++
 .../inetutils/inetutils/fix-disable-ipv6.patch     |  83 +++++++++
 ...tf-parse-pull-in-features.h-for-__GLIBC__.patch |  29 +++
 .../inetutils/inetutils-1.8-0003-wchar.patch       |  14 ++
 .../inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch |  26 +++
 ...ls-only-check-pam_appl.h-when-pam-enabled.patch |  40 ++++
 .../inetutils/inetutils/rexec.xinetd.inetutils     |  20 ++
 .../inetutils/inetutils/rlogin.xinetd.inetutils    |  23 +++
 .../inetutils/inetutils/rsh.xinetd.inetutils       |  21 +++
 .../inetutils/inetutils/telnet.xinetd.inetutils    |  13 ++
 .../inetutils/inetutils/tftpd.xinetd.inetutils     |  19 ++
 .../inetutils/inetutils/version.patch              |  17 ++
 .../inetutils/inetutils_1.9.4.bb                   | 206 +++++++++++++++++++++
 13 files changed, 542 insertions(+)
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils/version.patch
 create mode 100644 meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb

diff --git a/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch b/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
new file mode 100644
index 000000000000..d4764f586736
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Pending
+
+Subject: rcp: fix to work with large files
+
+When we copy file by rcp command, if the file > 2GB, it will fail.
+The cause is that it used incorrect data type on file size in sink() of rcp.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/rcp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/rcp.c b/src/rcp.c
+index 21f55b6..bafa35f 100644
+--- a/src/rcp.c
++++ b/src/rcp.c
+@@ -876,9 +876,9 @@ sink (int argc, char *argv[])
+   enum
+   { YES, NO, DISPLAYED } wrerr;
+   BUF *bp;
+-  off_t i, j;
++  off_t i, j, size;
+   int amt, count, exists, first, mask, mode, ofd, omode;
+-  int setimes, size, targisdir, wrerrno;
++  int setimes, targisdir, wrerrno;
+   char ch, *cp, *np, *targ, *vect[1], buf[BUFSIZ];
+   const char *why;
+ 
+-- 
+1.9.1
+
diff --git a/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch b/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
new file mode 100644
index 000000000000..24c134fcac8d
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
@@ -0,0 +1,83 @@
+Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ ping/ping_common.h | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/ping/ping_common.h b/ping/ping_common.h
+index 1dfd1b5..3bfbd12 100644
+--- a/ping/ping_common.h
++++ b/ping/ping_common.h
+@@ -17,10 +17,14 @@
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see `http://www.gnu.org/licenses/'. */
+ 
++#include <config.h>
++
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
++#ifdef HAVE_IPV6
+ #include <netinet/icmp6.h>
++#endif
+ #include <icmp.h>
+ #include <error.h>
+ #include <progname.h>
+@@ -62,7 +66,12 @@ struct ping_stat
+    want to follow the traditional behaviour of ping.  */
+ #define DEFAULT_PING_COUNT 0
+ 
++#ifdef HAVE_IPV6
+ #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
++#else
++#define PING_HEADER_LEN (ICMP_MINLEN)
++#endif
++
+ #define PING_TIMING(s)  ((s) >= sizeof (struct timeval))
+ #define PING_DATALEN    (64 - PING_HEADER_LEN)  /* default data length */
+ 
+@@ -74,13 +83,20 @@ struct ping_stat
+   (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
+ } while (0)
+ 
++#ifdef HAVE_IPV6
+ /* FIXME: Adjust IPv6 case for options and their consumption.  */
+ #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
+ 				   (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
+ 
++#else
++#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
++#endif
++
++#ifdef HAVE_IPV6
+ typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
+ 			  struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
+ 			  int datalen);
++#endif
+ 
+ typedef int (*ping_efp) (int code,
+ 			 void *closure,
+@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
+ 			 struct ip * ip, icmphdr_t * icmp, int datalen);
+ 
+ union event {
++#ifdef HAVE_IPV6
+   ping_efp6 handler6;
++#endif
+   ping_efp handler;
+ };
+ 
+ union ping_address {
+   struct sockaddr_in ping_sockaddr;
++#ifdef HAVE_IPV6
+   struct sockaddr_in6 ping_sockaddr6;
++#endif
+ };
+ 
+ typedef struct ping_data PING;
+-- 
+2.8.3
+
diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
new file mode 100644
index 000000000000..3da4e9f55a78
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
@@ -0,0 +1,29 @@
+From 552a7d64ad4a7188a9b7cd89933ae7caf7ebfe90 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier at gentoo.org>
+Date: Thu, 18 Nov 2010 16:59:14 -0500
+Subject: [PATCH gnulib] printf-parse: pull in features.h for __GLIBC__
+
+Upstream-Status: Pending
+
+Signed-off-by: Mike Frysinger <vapier at gentoo.org>
+---
+ lib/printf-parse.h |    3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/lib/printf-parse.h b/lib/printf-parse.h
+index 67a4a2a..3bd6152 100644
+--- a/lib/printf-parse.h
++++ b/lib/printf-parse.h
+@@ -25,6 +25,9 @@
+ 
+ #include "printf-args.h"
+ 
++#ifdef HAVE_FEATURES_H
++# include <features.h>	/* for __GLIBC__ */
++#endif
+ 
+ /* Flags */
+ #define FLAG_GROUP       1      /* ' flag */
+-- 
+1.7.3.2
+
diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
new file mode 100644
index 000000000000..b13bb9229ff0
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Pending
+
+--- inetutils-1.8/lib/wchar.in.h
++++ inetutils-1.8/lib/wchar.in.h
+@@ -70,6 +70,9 @@
+ /* The include_next requires a split double-inclusion guard.  */
+ #if @HAVE_WCHAR_H@
+ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@
++#else
++# include <stddef.h>
++# define MB_CUR_MAX 1
+ #endif
+ 
+ #undef _GL_ALREADY_INCLUDING_WCHAR_H
diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
new file mode 100644
index 000000000000..2592989a90a3
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
@@ -0,0 +1,26 @@
+inetutils: define PATH_PROCNET_DEV if not already defined
+
+this prevents the following compilation error :
+system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in this function)
+
+this patch comes from :
+ http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/
+
+Upstream-Status: Inappropriate [not author]
+
+Signed-of-by: Eric Bénard <eric@eukrea.com>
+---
+diff -Naur inetutils-1.9.orig/ifconfig/system/linux.c inetutils-1.9/ifconfig/system/linux.c
+--- inetutils-1.9.orig/ifconfig/system/linux.c	2012-01-04 16:31:36.000000000 -0500
++++ inetutils-1.9/ifconfig/system/linux.c	2012-01-04 16:40:53.000000000 -0500
+@@ -49,6 +49,10 @@
+ #include "../ifconfig.h"
+ \f
+ 
++#ifndef PATH_PROCNET_DEV
++  #define PATH_PROCNET_DEV "/proc/net/dev"
++#endif
++
+ /* ARPHRD stuff.  */
+ 
+ static void
diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
new file mode 100644
index 000000000000..ff3abd86aad3
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
@@ -0,0 +1,40 @@
+Only check security/pam_appl.h which is provided by package libpam when pam is
+enabled.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/configure.ac b/configure.ac
+index b35e672..e78a751 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -195,6 +195,19 @@ fi
+ 
+ # See if we have libpam.a.  Investigate PAM versus Linux-PAM.
+ if test "$with_pam" = yes ; then
++  AC_CHECK_HEADERS([security/pam_appl.h], [], [], [
++#include <sys/types.h>
++#ifdef HAVE_NETINET_IN_SYSTM_H
++# include <netinet/in_systm.h>
++#endif
++#include <netinet/in.h>
++#ifdef HAVE_NETINET_IP_H
++# include <netinet/ip.h>
++#endif
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++])
+   AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
+   AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
+   if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
+@@ -587,7 +600,7 @@ AC_HEADER_DIRENT
+ AC_CHECK_HEADERS([arpa/nameser.h errno.h fcntl.h features.h \
+ 		  glob.h memory.h netinet/ether.h netinet/in_systm.h \
+ 		  netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
+-		  security/pam_appl.h shadow.h \
++		  shadow.h \
+ 		  stdarg.h stdlib.h string.h stropts.h sys/tty.h \
+ 		  sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
+ 		  sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
diff --git a/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils b/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
new file mode 100644
index 000000000000..30e81ef4502b
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
@@ -0,0 +1,20 @@
+# default: off
+# description:
+# Rexecd is the server for the rexec program. The server provides remote 
+# execution facilities with authentication based on user names and 
+# passwords.
+#
+service exec
+{
+	socket_type	= stream
+	protocol	= tcp
+	flags		= NAMEINARGS
+	wait		= no
+	user		= root
+	group		= root
+	log_on_success	+= USERID
+	log_on_failure	+= USERID
+	server		= @SBINDIR@/tcpd
+	server_args	= @SBINDIR@/in.rexecd
+	disable		= yes
+}
diff --git a/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils b/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
new file mode 100644
index 000000000000..21b55da9a9fd
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
@@ -0,0 +1,23 @@
+# default: off
+# description:
+# Rlogind is a server for the rlogin program. The server provides remote 
+# execution with authentication based on privileged port numbers from trusted
+# host
+#
+service login
+{
+	socket_type	= stream
+	protocol	= tcp
+	flags		= NAMEINARGS
+	wait		= no
+	user		= root
+	group		= root
+	log_on_success	+= USERID
+	log_on_failure	+= USERID
+	server		= @SBINDIR@/tcpd
+	server_args	= @SBINDIR@/in.rlogind -a
+	disable		= yes
+}
+							
+							
+							
diff --git a/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils b/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
new file mode 100644
index 000000000000..2b894a74bd41
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
@@ -0,0 +1,21 @@
+# default: off
+# description:
+# The rshd server is a server for the rcmd(3) routine and, 
+# consequently, for the rsh(1) program. The server provides 
+# remote execution facilities with authentication based on 
+# privileged port numbers from trusted hosts.
+#
+service shell
+{
+	socket_type	= stream
+	protocol	= tcp
+	flags		= NAMEINARGS
+	wait		= no
+	user		= root
+	group		= root
+	log_on_success	+= USERID
+	log_on_failure	+= USERID
+	server		= @SBINDIR@/tcpd
+	server_args	= @SBINDIR@/in.rshd -aL
+	disable		= yes
+}
diff --git a/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils b/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
new file mode 100644
index 000000000000..2d9a0408c0db
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
@@ -0,0 +1,13 @@
+# default: on
+# description: The telnet server serves telnet sessions; it uses \
+#       unencrypted username/password pairs for authentication.
+service telnet
+{
+	disable		= no
+	flags		= REUSE
+	socket_type	= stream
+	wait		= no
+	user		= root
+	server		= @SBINDIR@/in.telnetd
+	log_on_failure	+= USERID
+}
diff --git a/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils b/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
new file mode 100644
index 000000000000..67b44c43e852
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
@@ -0,0 +1,19 @@
+# default: off
+# description:
+# Tftpd is a server which supports the Internet Trivial File Transfer
+# Pro-tocol (RFC 783). The TFTP server operates at the port indicated
+# in the tftp service description; see services(5).
+#
+service tftp
+{
+        disable         = yes
+        socket_type     = dgram
+        protocol        = udp
+        flags           = IPv6
+        wait            = yes
+        user            = root
+        group           = root
+        server          = @SBINDIR@/in.tftpd
+        server_args     = /tftpboot
+}
+
diff --git a/meta/recipes-connectivity/inetutils/inetutils/version.patch b/meta/recipes-connectivity/inetutils/inetutils/version.patch
new file mode 100644
index 000000000000..532a0e5c0896
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils/version.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Pending
+
+remove m4_esyscmd function
+
+Signed-off-by: Chunrong Guo <b40290@freescale.com>
+--- inetutils-1.9.1/configure.ac	2012-01-06 22:05:05.000000000 +0800
++++ inetutils-1.9.1/configure.ac	2012-11-12 14:01:11.732957019 +0800
+@@ -20,8 +20,7 @@
+ 
+ AC_PREREQ(2.59)
+ 
+-AC_INIT([GNU inetutils],
+- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']),
++AC_INIT([GNU inetutils],[1.9.4],
+  [bug-inetutils@gnu.org])
+ 
+ AC_CONFIG_SRCDIR([src/inetd.c])
diff --git a/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
new file mode 100644
index 000000000000..a27dbae2e688
--- /dev/null
+++ b/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -0,0 +1,206 @@
+DESCRIPTION = "The GNU inetutils are a collection of common \
+networking utilities and servers including ftp, ftpd, rcp, \
+rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \
+talkd, telnet, telnetd, tftp, tftpd, and uucpd."
+HOMEPAGE = "http://www.gnu.org/software/inetutils"
+SECTION = "net"
+DEPENDS = "ncurses netbase readline virtual/crypt"
+
+LICENSE = "GPLv3"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
+
+SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
+           file://version.patch \
+           file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
+           file://inetutils-1.8-0003-wchar.patch \
+           file://rexec.xinetd.inetutils  \
+           file://rlogin.xinetd.inetutils \
+           file://rsh.xinetd.inetutils \
+           file://telnet.xinetd.inetutils \
+           file://tftpd.xinetd.inetutils \
+           file://inetutils-1.9-PATH_PROCNET_DEV.patch \
+           file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
+           file://0001-rcp-fix-to-work-with-large-files.patch \
+"
+
+SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52"
+SRC_URI[sha256sum] = "be8f75eff936b8e41b112462db51adf689715658a1b09e0d6b05d11ec92cc616"
+
+inherit autotools gettext update-alternatives texinfo
+
+acpaths = "-I ./m4"
+
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
+
+PACKAGECONFIG ??= "ftp uucpd \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
+                  "
+PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
+PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6 gl_cv_socket_ipv6=no,"
+PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
+
+EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
+        inetutils_cv_path_login=${base_bindir}/login \
+        --with-libreadline-prefix=${STAGING_LIBDIR} \
+        --enable-rpath=no \
+"
+
+EXTRA_OECONF_append_libc-musl = " --disable-rsh --disable-rcp --disable-rlogin "
+
+do_configure_prepend () {
+    export HELP2MAN='true'
+    cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
+    rm -f ${S}/glob/configure*
+}
+
+do_install_append () {
+    install -m 0755 -d ${D}${base_sbindir}
+    install -m 0755 -d ${D}${sbindir}
+    install -m 0755 -d ${D}${sysconfdir}/xinetd.d
+    if [ "${base_bindir}" != "${bindir}" ] ; then
+         install -m 0755 -d ${D}${base_bindir}
+         mv ${D}${bindir}/ping* ${D}${base_bindir}/
+         mv ${D}${bindir}/hostname ${D}${base_bindir}/
+    fi
+    mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/
+    mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/
+    mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
+    mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
+    mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
+    if [ -e ${D}${libexecdir}/rlogind ]; then
+        mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
+    fi
+    if [ -e ${D}${libexecdir}/rshd ]; then
+        mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
+    fi
+    if [ -e ${D}${libexecdir}/talkd ]; then
+        mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
+    fi
+    mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
+    mv ${D}${libexecdir}/* ${D}${bindir}/
+    cp ${WORKDIR}/rexec.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rexec
+    cp ${WORKDIR}/rlogin.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rlogin
+    cp ${WORKDIR}/rsh.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rsh
+    cp ${WORKDIR}/telnet.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/telnet
+    cp ${WORKDIR}/tftpd.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/tftpd
+
+    sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
+    if [ -e ${D}${libdir}/charset.alias ]; then
+        rm -rf ${D}${libdir}/charset.alias
+    fi
+    rm -rf ${D}${libexecdir}/
+    # remove usr/lib if empty
+    rmdir ${D}${libdir} || true
+}
+
+PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \
+${PN}-tftp ${PN}-logger ${PN}-traceroute ${PN}-syslogd \
+${PN}-ftp ${PN}-ftpd ${PN}-tftpd ${PN}-telnet ${PN}-telnetd ${PN}-inetd \
+${PN}-rsh ${PN}-rshd"
+
+# The packages tftpd, telnetd and rshd conflict with the ones
+# provided by netkit, so add the corresponding -dbg packages
+# for them to avoid the confliction between the dbg package
+# of inetutils and netkit.
+PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
+NOAUTOPACKAGEDEBUG = "1"
+
+ALTERNATIVE_PRIORITY = "79"
+ALTERNATIVE_${PN} = "talk whois"
+ALTERNATIVE_LINK_NAME[talkd]  = "${sbindir}/in.talkd"
+ALTERNATIVE_LINK_NAME[uucpd]  = "${sbindir}/in.uucpd"
+
+ALTERNATIVE_PRIORITY_${PN}-logger = "60"
+ALTERNATIVE_${PN}-logger = "logger"
+ALTERNATIVE_${PN}-syslogd = "syslogd"
+ALTERNATIVE_LINK_NAME[syslogd]  = "${base_sbindir}/syslogd"
+
+ALTERNATIVE_${PN}-ftp = "ftp"
+ALTERNATIVE_${PN}-ftpd = "ftpd"
+ALTERNATIVE_${PN}-tftp = "tftp"
+ALTERNATIVE_${PN}-tftpd = "tftpd"
+ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd"
+ALTERNATIVE_TARGET[tftpd]  = "${sbindir}/in.tftpd"
+
+ALTERNATIVE_${PN}-telnet = "telnet"
+ALTERNATIVE_${PN}-telnetd = "telnetd"
+ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
+ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
+
+ALTERNATIVE_${PN}-rsh = "rcp rexec rlogin rsh"
+ALTERNATIVE_${PN}-rshd = "rshd rexecd rlogind"
+ALTERNATIVE_LINK_NAME[rshd] = "${sbindir}/rshd"
+ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
+ALTERNATIVE_LINK_NAME[rexecd] = "${sbindir}/rexecd"
+ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd"
+ALTERNATIVE_LINK_NAME[rlogind] = "${sbindir}/rlogind"
+ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
+
+ALTERNATIVE_${PN}-inetd= "inetd"
+ALTERNATIVE_${PN}-traceroute = "traceroute"
+
+ALTERNATIVE_${PN}-hostname = "hostname"
+ALTERNATIVE_LINK_NAME[hostname]  = "${base_bindir}/hostname"
+
+ALTERNATIVE_${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8"
+ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
+ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
+ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
+ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
+
+ALTERNATIVE_${PN}-ifconfig = "ifconfig"
+ALTERNATIVE_LINK_NAME[ifconfig]  = "${base_sbindir}/ifconfig"
+
+ALTERNATIVE_${PN}-ping = "ping"
+ALTERNATIVE_LINK_NAME[ping]   = "${base_bindir}/ping"
+
+ALTERNATIVE_${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
+ALTERNATIVE_LINK_NAME[ping6]  = "${base_bindir}/ping6"
+
+
+FILES_${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
+FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
+FILES_${PN}-hostname = "${base_bindir}/hostname.${BPN}"
+FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
+FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}"
+FILES_${PN}-logger = "${bindir}/logger.${BPN}"
+
+FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
+RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
+
+FILES_${PN}-ftp = "${bindir}/ftp.${BPN}"
+
+FILES_${PN}-tftp = "${bindir}/tftp.${BPN}"
+FILES_${PN}-telnet = "${bindir}/telnet.${BPN}"
+FILES_${PN}-rsh = "${bindir}/rsh.${BPN} ${bindir}/rlogin.${BPN} ${bindir}/rexec.${BPN} ${bindir}/rcp.${BPN}"
+
+FILES_${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \
+                    ${sysconfdir}/xinetd.d/rsh ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec"
+FILES_${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
+RDEPENDS_${PN}-rshd += "xinetd tcp-wrappers"
+RCONFLICTS_${PN}-rshd += "netkit-rshd"
+RPROVIDES_${PN}-rshd = "rshd"
+
+FILES_${PN}-ftpd = "${bindir}/ftpd.${BPN}"
+FILES_${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
+RDEPENDS_${PN}-ftpd += "xinetd"
+
+FILES_${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
+FILES_${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
+RCONFLICTS_${PN}-tftpd += "netkit-tftpd"
+RDEPENDS_${PN}-tftpd += "xinetd"
+
+FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
+FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
+RCONFLICTS_${PN}-telnetd += "netkit-telnetd"
+RPROVIDES_${PN}-telnetd = "telnetd"
+RDEPENDS_${PN}-telnetd += "xinetd"
+
+FILES_${PN}-inetd = "${bindir}/inetd.${BPN}"
+
+RDEPENDS_${PN} = "xinetd"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup
  2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
  2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
  2019-03-01 22:26 ` [PATCH 2/4] inetutils: Import version 1.9.4 Tom Rini
@ 2019-03-01 22:26 ` Tom Rini
  2019-03-02 14:41   ` Tom Rini
  2019-03-04 16:44   ` Mark Hatle
  2019-03-01 22:26 ` [PATCH 4/4] imagefeatures: Add test to blacklist building busybox Tom Rini
  2019-03-02  7:11 ` [PATCH 0/4] Introduce packagegroup-core-base-utils Adrian Bunk
  4 siblings, 2 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-01 22:26 UTC (permalink / raw)
  To: openembedded-core

This packagegroup is intended to provide all of the functionality found
in other VIRTUAL-RUNTIME_base-utils providers through full packages
rather than an all-on-one package.  Document how to make use of this
in local.conf.sample.extended.  Introduce VIRTUAL-RUNTIME-vim and
default this to vim-tiny to allow for a differently features vim to be
used instead.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 meta/conf/local.conf.sample.extended               |  8 ++++
 .../packagegroups/packagegroup-core-base-utils.bb  | 49 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb

diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 8062e4c5721b..d00221893ad9 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -384,3 +384,11 @@
 #VIRTUAL-RUNTIME_login_manager = "shadow-base"
 #VIRTUAL-RUNTIME_init_manager = "systemd"
 #VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
+
+#
+# Use a full set of packages instead of busybox for base utils
+#
+#PREFERRED_PROVIDER_base-utils = "packagegroup-core-base-utils"
+#VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
+#VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
+#VIRTUAL-RUNTIME_base-utils-syslog = "syslog"
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
new file mode 100644
index 000000000000..061dade0bc03
--- /dev/null
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2019 Konsulko Group
+#
+
+SUMMARY = "Full-featured set of base utils"
+DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
+
+inherit packagegroup
+
+VIRTUAL-RUNTIME_vim ?= "vim-tiny"
+
+RDEPENDS_${PN} = "\
+    base-passwd \
+    bash \
+    bind-utils \
+    bzip2 \
+    coreutils \
+    cpio \
+    dhcp-client \
+    diffutils \
+    e2fsprogs \
+    ed \
+    file \
+    findutils \
+    gawk \
+    grep \
+    gzip \
+    inetutils \
+    iproute2 \
+    kmod \
+    less \
+    lzip \
+    ncurses-tools \
+    net-tools \
+    parted \
+    patch \
+    procps \
+    psmisc \
+    sed \
+    shadow-base \
+    tar \
+    time \
+    unzip \
+    util-linux \
+    ${VIRTUAL-RUNTIME_vim} \
+    wget \
+    which \
+    xz \
+    "
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 4/4] imagefeatures: Add test to blacklist building busybox
  2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
                   ` (2 preceding siblings ...)
  2019-03-01 22:26 ` [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup Tom Rini
@ 2019-03-01 22:26 ` Tom Rini
  2019-03-02  7:11 ` [PATCH 0/4] Introduce packagegroup-core-base-utils Adrian Bunk
  4 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-01 22:26 UTC (permalink / raw)
  To: openembedded-core

Now that we have a packagegroup that can be used to replace the overall
functionality of busybox as base-utils, add a test that we can continue
to build a fairly complex image without busybox being available.  This
also doubles as documentation-by-test of how to do this.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 meta/lib/oeqa/selftest/cases/imagefeatures.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 8c95432e00b3..aed63e5476a7 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -236,3 +236,29 @@ USERADD_GID_TABLES += "files/static-group"
 """
         self.write_config(config)
         bitbake("core-image-base")
+
+    def test_no_busybox_base_utils(self):
+        config = """
+# Enable x11
+DISTRO_FEATURES_append += "x11"
+
+# Switch to systemd
+DISTRO_FEATURES += "systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+VIRTUAL-RUNTIME_initscripts = ""
+VIRTUAL-RUNTIME_syslog = ""
+VIRTUAL-RUNTIME_login_manager = "shadow-base"
+DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+
+# Replace busybox
+PREFERRED_PROVIDER_virtual/base-utils = "packagegroup-core-base-utils"
+VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
+VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
+VIRTUAL-RUNTIME_base-utils-syslog = ""
+
+# Blacklist busybox
+PNBLACKLIST[busybox] = "Don't build this"
+"""
+        self.write_config(config)
+
+        bitbake("--graphviz core-image-sato")
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/4] Introduce packagegroup-core-base-utils
  2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
                   ` (3 preceding siblings ...)
  2019-03-01 22:26 ` [PATCH 4/4] imagefeatures: Add test to blacklist building busybox Tom Rini
@ 2019-03-02  7:11 ` Adrian Bunk
  2019-03-02 12:36   ` Tom Rini
  4 siblings, 1 reply; 20+ messages in thread
From: Adrian Bunk @ 2019-03-02  7:11 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-core

On Fri, Mar 01, 2019 at 05:26:48PM -0500, Tom Rini wrote:
>...
> - busybox provides "nslookup" which at this point in time is an
>   anachronism. bind stopped shipping "nslookup" prior to oe-core replacing
>   the old monolithic layer.  We do provide host and dig and such via
>   bind-utils.
>...

I'd say this is a bug in bind-utils.

nslookup was was at some point deprecated by bind upstream,
but it was undeprecated 15 years ago.

> Tom

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] vim: Import version 8.1.0347
  2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
@ 2019-03-02  9:15   ` Martin Jansa
  2019-03-02 12:36     ` Tom Rini
  2019-03-02 15:42   ` Joshua Watt
  1 sibling, 1 reply; 20+ messages in thread
From: Martin Jansa @ 2019-03-02  9:15 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 788 bytes --]

On Fri, Mar 01, 2019 at 05:26:49PM -0500, Tom Rini wrote:
> In order to have a stand-alone editor in oe-core, bring in vim from
> meta-openembedded/meta-oe.  This imports the recipes as of git commit:
> commit 7b48bd2be97408107c0dd3c74b1e28f042268457
> Author: Ovidiu Panait <ovidiu.panait@windriver.com>
> Date:   Fri Feb 1 10:07:20 2019 +0200
> 
>     vim: Enable GUI support for x11 DISTRO_FEATURES

This isn't the latest vim commit in meta-oe, you're missing:

commit c4db3971ab88dc8c012256e987f73ccd4459b400 (HEAD -> jansa/master, contrib/jansa/master)
Author: Martin Jansa <Martin.Jansa@gmail.com>
Date:   Fri Feb 8 22:57:02 2019 +0000

    vim: use empty PACKAGECONFIG for vim-native

it's currently in master-next, but it should be imported as well.

Regards,

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/4] Introduce packagegroup-core-base-utils
  2019-03-02  7:11 ` [PATCH 0/4] Introduce packagegroup-core-base-utils Adrian Bunk
@ 2019-03-02 12:36   ` Tom Rini
  0 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-02 12:36 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 755 bytes --]

On Sat, Mar 02, 2019 at 09:11:40AM +0200, Adrian Bunk wrote:
> On Fri, Mar 01, 2019 at 05:26:48PM -0500, Tom Rini wrote:
> >...
> > - busybox provides "nslookup" which at this point in time is an
> >   anachronism. bind stopped shipping "nslookup" prior to oe-core replacing
> >   the old monolithic layer.  We do provide host and dig and such via
> >   bind-utils.
> >...
> 
> I'd say this is a bug in bind-utils.
> 
> nslookup was was at some point deprecated by bind upstream,
> but it was undeprecated 15 years ago.

Interesting, OK.  It looks like Fedora puts this into bind-utils (which
is a lot of tools) and Ubuntu/Debian into dnsutils (which is nslookup,
nsupdate and dig).  I'll put it into our bind-utils.  Thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] vim: Import version 8.1.0347
  2019-03-02  9:15   ` Martin Jansa
@ 2019-03-02 12:36     ` Tom Rini
  2019-03-02 12:57       ` Tom Rini
  0 siblings, 1 reply; 20+ messages in thread
From: Tom Rini @ 2019-03-02 12:36 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On Sat, Mar 02, 2019 at 10:15:48AM +0100, Martin Jansa wrote:
> On Fri, Mar 01, 2019 at 05:26:49PM -0500, Tom Rini wrote:
> > In order to have a stand-alone editor in oe-core, bring in vim from
> > meta-openembedded/meta-oe.  This imports the recipes as of git commit:
> > commit 7b48bd2be97408107c0dd3c74b1e28f042268457
> > Author: Ovidiu Panait <ovidiu.panait@windriver.com>
> > Date:   Fri Feb 1 10:07:20 2019 +0200
> > 
> >     vim: Enable GUI support for x11 DISTRO_FEATURES
> 
> This isn't the latest vim commit in meta-oe, you're missing:
> 
> commit c4db3971ab88dc8c012256e987f73ccd4459b400 (HEAD -> jansa/master, contrib/jansa/master)
> Author: Martin Jansa <Martin.Jansa@gmail.com>
> Date:   Fri Feb 8 22:57:02 2019 +0000
> 
>     vim: use empty PACKAGECONFIG for vim-native
> 
> it's currently in master-next, but it should be imported as well.

OK, yes, I only grabbed current master.  Yes, I can re-spin to include
this version.

-- 
Tom


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] vim: Import version 8.1.0347
  2019-03-02 12:36     ` Tom Rini
@ 2019-03-02 12:57       ` Tom Rini
  0 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-02 12:57 UTC (permalink / raw)
  To: Martin Jansa, Mark Hatle; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1471 bytes --]

On Sat, Mar 02, 2019 at 07:36:34AM -0500, Tom Rini wrote:
> On Sat, Mar 02, 2019 at 10:15:48AM +0100, Martin Jansa wrote:
> > On Fri, Mar 01, 2019 at 05:26:49PM -0500, Tom Rini wrote:
> > > In order to have a stand-alone editor in oe-core, bring in vim from
> > > meta-openembedded/meta-oe.  This imports the recipes as of git commit:
> > > commit 7b48bd2be97408107c0dd3c74b1e28f042268457
> > > Author: Ovidiu Panait <ovidiu.panait@windriver.com>
> > > Date:   Fri Feb 1 10:07:20 2019 +0200
> > > 
> > >     vim: Enable GUI support for x11 DISTRO_FEATURES
> > 
> > This isn't the latest vim commit in meta-oe, you're missing:
> > 
> > commit c4db3971ab88dc8c012256e987f73ccd4459b400 (HEAD -> jansa/master, contrib/jansa/master)
> > Author: Martin Jansa <Martin.Jansa@gmail.com>
> > Date:   Fri Feb 8 22:57:02 2019 +0000
> > 
> >     vim: use empty PACKAGECONFIG for vim-native
> > 
> > it's currently in master-next, but it should be imported as well.
> 
> OK, yes, I only grabbed current master.  Yes, I can re-spin to include
> this version.

I see that in master-next, this is current:
commit 41f3f8165bde3eb4f8bcf6dddbaca0d3b760c70b
Author: Mark Hatle <mark.hatle@windriver.com>
Date:   Thu Feb 28 09:39:19 2019 +0800

    vim: remove xfce vim bbappend

    Changing the behavior of a recipe by including a layer is not allowed
    by the yocto-check-layer script.

And have grabbed the vim recipe side of this as well.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup
  2019-03-01 22:26 ` [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup Tom Rini
@ 2019-03-02 14:41   ` Tom Rini
  2019-03-04 16:44   ` Mark Hatle
  1 sibling, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-02 14:41 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 755 bytes --]

On Fri, Mar 01, 2019 at 05:26:51PM -0500, Tom Rini wrote:

> This packagegroup is intended to provide all of the functionality found
> in other VIRTUAL-RUNTIME_base-utils providers through full packages
> rather than an all-on-one package.  Document how to make use of this
> in local.conf.sample.extended.  Introduce VIRTUAL-RUNTIME-vim and
> default this to vim-tiny to allow for a differently features vim to be
> used instead.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>
[snip]
> +    inetutils \

One thing I forgot to double check until now is that inetutils does not
work as a metapackage and pull in everything else.  When I post v2 I'm
going to add in a few more sub-packages to match what is/isn't in
busybox.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] vim: Import version 8.1.0347
  2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
  2019-03-02  9:15   ` Martin Jansa
@ 2019-03-02 15:42   ` Joshua Watt
  1 sibling, 0 replies; 20+ messages in thread
From: Joshua Watt @ 2019-03-02 15:42 UTC (permalink / raw)
  To: Tom Rini; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 19296 bytes --]

On Fri, Mar 1, 2019, 4:27 PM Tom Rini <trini@konsulko.com> wrote:

> In order to have a stand-alone editor in oe-core, bring in vim from
> meta-openembedded/meta-oe.  This imports the recipes as of git commit:
> commit 7b48bd2be97408107c0dd3c74b1e28f042268457
> Author: Ovidiu Panait <ovidiu.panait@windriver.com>
> Date:   Fri Feb 1 10:07:20 2019 +0200
>
>     vim: Enable GUI support for x11 DISTRO_FEATURES
>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  meta/files/common-licenses/vim                     |  81 ++++++++++++++
>  ...0001-src-Makefile-improve-reproducibility.patch |  46 ++++++++
>  .../vim/files/disable_acl_header_check.patch       |  39 +++++++
>  .../vim-add-knob-whether-elf.h-are-checked.patch   |  42 +++++++
>  meta/recipes-support/vim/vim-tiny_8.1.0347.bb      |  15 +++
>  meta/recipes-support/vim/vim_8.1.0347.bb           | 121
> +++++++++++++++++++++
>  6 files changed, 344 insertions(+)
>  create mode 100644 meta/files/common-licenses/vim
>  create mode 100644
> meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
>  create mode 100644
> meta/recipes-support/vim/files/disable_acl_header_check.patch
>  create mode 100644
> meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
>  create mode 100644 meta/recipes-support/vim/vim-tiny_8.1.0347.bb
>  create mode 100644 meta/recipes-support/vim/vim_8.1.0347.bb



Someone should be added as the maintainer of these recipes?


>
> diff --git a/meta/files/common-licenses/vim
> b/meta/files/common-licenses/vim
> new file mode 100644
> index 000000000000..4aa818eb248e
> --- /dev/null
> +++ b/meta/files/common-licenses/vim
> @@ -0,0 +1,81 @@
> +VIM LICENSE
> +
> +I)  There are no restrictions on distributing unmodified copies of Vim
> except
> +    that they must include this license text.  You can also distribute
> +    unmodified parts of Vim, likewise unrestricted except that they must
> +    include this license text.  You are also allowed to include
> executables
> +    that you made from the unmodified Vim sources, plus your own usage
> +    examples and Vim scripts.
> +
> +II) It is allowed to distribute a modified (or extended) version of Vim,
> +    including executables and/or source code, when the following four
> +    conditions are met:
> +    1) This license text must be included unmodified.
> +    2) The modified Vim must be distributed in one of the following five
> ways:
> +       a) If you make changes to Vim yourself, you must clearly describe
> in
> +         the distribution how to contact you.  When the maintainer asks
> you
> +         (in any way) for a copy of the modified Vim you distributed, you
> +         must make your changes, including source code, available to the
> +         maintainer without fee.  The maintainer reserves the right to
> +         include your changes in the official version of Vim.  What the
> +         maintainer will do with your changes and under what license they
> +         will be distributed is negotiable.  If there has been no
> negotiation
> +         then this license, or a later version, also applies to your
> changes.
> +         The current maintainer is Bram Moolenaar <Bram@vim.org>.  If
> this
> +         changes it will be announced in appropriate places (most likely
> +         vim.sf.net, www.vim.org and/or comp.editors).  When it is
> completely
> +         impossible to contact the maintainer, the obligation to send him
> +         your changes ceases.  Once the maintainer has confirmed that he
> has
> +         received your changes they will not have to be sent again.
> +       b) If you have received a modified Vim that was distributed as
> +         mentioned under a) you are allowed to further distribute it
> +         unmodified, as mentioned at I).  If you make additional changes
> the
> +         text under a) applies to those changes.
> +       c) Provide all the changes, including source code, with every copy
> of
> +         the modified Vim you distribute.  This may be done in the form
> of a
> +         context diff.  You can choose what license to use for new code
> you
> +         add.  The changes and their license must not restrict others from
> +         making their own changes to the official version of Vim.
> +       d) When you have a modified Vim which includes changes as mentioned
> +         under c), you can distribute it without the source code for the
> +         changes if the following three conditions are met:
> +         - The license that applies to the changes permits you to
> distribute
> +           the changes to the Vim maintainer without fee or restriction,
> and
> +           permits the Vim maintainer to include the changes in the
> official
> +           version of Vim without fee or restriction.
> +         - You keep the changes for at least three years after last
> +           distributing the corresponding modified Vim.  When the
> maintainer
> +           or someone who you distributed the modified Vim to asks you (in
> +           any way) for the changes within this period, you must make them
> +           available to him.
> +         - You clearly describe in the distribution how to contact you.
> This
> +           contact information must remain valid for at least three years
> +           after last distributing the corresponding modified Vim, or as
> long
> +           as possible.
> +       e) When the GNU General Public License (GPL) applies to the
> changes,
> +         you can distribute the modified Vim under the GNU GPL version 2
> or
> +         any later version.
> +    3) A message must be added, at least in the output of the ":version"
> +       command and in the intro screen, such that the user of the
> modified Vim
> +       is able to see that it was modified.  When distributing as
> mentioned
> +       under 2)e) adding the message is only required for as far as this
> does
> +       not conflict with the license used for the changes.
> +    4) The contact information as required under 2)a) and 2)d) must not be
> +       removed or changed, except that the person himself can make
> +       corrections.
> +
> +III) If you distribute a modified version of Vim, you are encouraged to
> use
> +     the Vim license for your changes and make them available to the
> +     maintainer, including the source code.  The preferred way to do this
> is
> +     by e-mail or by uploading the files to a server and e-mailing the
> URL.
> +     If the number of changes is small (e.g., a modified Makefile)
> e-mailing a
> +     context diff will do.  The e-mail address to be used is
> +     <maintainer@vim.org>
> +
> +IV)  It is not allowed to remove this license from the distribution of
> the Vim
> +     sources, parts of it or from a modified version.  You may use this
> +     license for previous Vim releases instead of the license that they
> came
> +     with, at your option.
> +
> +===
> +Read more about this license at
> http://vimdoc.sourceforge.net/htmldoc/uganda.html#license
> diff --git
> a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
> b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
> new file mode 100644
> index 000000000000..63a7b78f12f1
> --- /dev/null
> +++
> b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
> @@ -0,0 +1,46 @@
> +From 133ab27cdb17ca20ef6b0304cf30621d2bcbe757 Mon Sep 17 00:00:00 2001
> +From: Mingli Yu <mingli.yu@windriver.com>
> +Date: Thu, 31 Jan 2019 21:32:26 -0800
> +Subject: [PATCH] src/Makefile: improve reproducibility
> +
> +Clear all_cflags, all_lflags, compiled_user
> +and compiled_sys to avoid introducing build
> +info to improve reproducibility as below:
> +
> +WARNING: vim-8.1.0347-r0 do_package_qa: QA Issue: File
> /work/core2-64-wrs-linux/vim/8.1.0347-r0/packages-split/vim/usr/bin/vim.vim
> in package contained reference to tmpdir [buildpaths]
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> +---
> + src/Makefile | 14 ++++----------
> + 1 file changed, 4 insertions(+), 10 deletions(-)
> +
> +diff --git a/src/Makefile b/src/Makefile
> +index f2fafa4dc..7148d4bd9 100644
> +--- a/src/Makefile
> ++++ b/src/Makefile
> +@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk
> +       -@echo '#include "vim.h"' >> $@
> +       -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' |
> $(QUOTESED) >> $@
> +       -@echo 'char_u *default_vimruntime_dir = (char_u
> *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@
> +-      -@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir)
> $(ALL_CFLAGS)";' | $(QUOTESED) >>  $@
> +-      -@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS)
> $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >>  $@
> +-      -@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@
> +-      -@if test -n "$(COMPILEDBY)"; then \
> +-              echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \
> +-              else ((logname) 2>/dev/null || whoami) | tr -d $(NL) >>
> $@; fi
> +-      -@echo '";' >> $@
> +-      -@echo 'char_u *compiled_sys = (char_u *)"' | tr -d $(NL) >> $@
> +-      -@if test -z "$(COMPILEDBY)"; then hostname | tr -d $(NL) >> $@; fi
> +-      -@echo '";' >> $@
> ++      -@echo 'char_u *all_cflags = (char_u *)"";' | $(QUOTESED) >>  $@
> ++      -@echo 'char_u *all_lflags = (char_u *)"";' | $(QUOTESED) >>  $@
> ++      -@echo 'char_u *compiled_user = (char_u *)"";' >> $@
> ++      -@echo 'char_u *compiled_sys = (char_u *)"";' >> $@
> +       -@sh $(srcdir)/pathdef.sh
> +
> + GUI_GTK_RES_INPUTS = \
> +--
> +2.17.1
> +
> diff --git a/meta/recipes-support/vim/files/disable_acl_header_check.patch
> b/meta/recipes-support/vim/files/disable_acl_header_check.patch
> new file mode 100644
> index 000000000000..4720003c252a
> --- /dev/null
> +++ b/meta/recipes-support/vim/files/disable_acl_header_check.patch
> @@ -0,0 +1,39 @@
> +From 5ed25c076a1fb1889a3c50dddf29f21850b59a13 Mon Sep 17 00:00:00 2001
> +From: Wenzong Fan <wenzong.fan@windriver.com>
> +Date: Tue, 26 Jun 2018 17:29:09 +0800
> +Subject: [PATCH] disable acl header check
> +
> +Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
> +
> +Upstream-Status: pending
> +
> +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + src/configure.ac | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/configure.ac b/src/configure.ac
> +index 107c170..0ee86ad 100644
> +--- a/src/configure.ac
> ++++ b/src/configure.ac
> +@@ -3220,7 +3220,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h string.h \
> +       sys/systeminfo.h locale.h sys/stream.h termios.h \
> +       libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
> +       utime.h sys/param.h libintl.h libgen.h \
> +-      util/debug.h util/msg18n.h frame.h sys/acl.h \
> ++      util/debug.h util/msg18n.h frame.h \
> +       sys/access.h sys/sysinfo.h wchar.h wctype.h)
> +
> + dnl sys/ptem.h depends on sys/stream.h on Solaris
> +@@ -3848,6 +3848,7 @@ AC_ARG_ENABLE(acl,
> +       , [enable_acl="yes"])
> + if test "$enable_acl" = "yes"; then
> +   AC_MSG_RESULT(no)
> ++  AC_CHECK_HEADERS(sys/acl.h)
> +   AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
> +       AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
> +                 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS
> -lattr",,)],,),)
> +--
> +2.7.4
> +
> diff --git
> a/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
> b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
> new file mode 100644
> index 000000000000..37914d4cd9c1
> --- /dev/null
> +++
> b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
> @@ -0,0 +1,42 @@
> +From 38de4bccdb8a861ffdd447f12fdab19d6d852c02 Mon Sep 17 00:00:00 2001
> +From: Chong Lu <Chong.Lu@windriver.com>
> +Date: Tue, 26 Jun 2018 17:34:15 +0800
> +Subject: [PATCH] vim: add knob whether elf.h are checked
> +
> +Previously, it still was checked when there was no elf library in
> sysroots directory.
> +Add knob to decide whether elf.h are checked or not.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + src/configure.ac | 7 +++++++
> + 1 file changed, 7 insertions(+)
> +
> +diff --git a/src/configure.ac b/src/configure.ac
> +index 0ee86ad..64736f0 100644
> +--- a/src/configure.ac
> ++++ b/src/configure.ac
> +@@ -3192,11 +3192,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x
> __attribute__((unused));],
> +       AC_MSG_RESULT(no))
> +
> + dnl Checks for header files.
> ++AC_MSG_CHECKING(whether or not to look for elf.h)
> ++AC_ARG_ENABLE(elf-check,
> ++        [  --enable-elf-check      If elfutils, check for elf.h
> [default=no]],
> ++        , enable_elf_check="no")
> ++AC_MSG_RESULT($enable_elf_check)
> ++if test "x$enable_elf_check" != "xno"; then
> + AC_CHECK_HEADER(elf.h, HAS_ELF=1)
> + dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
> + if test "$HAS_ELF" = 1; then
> +   AC_CHECK_LIB(elf, main)
> + fi
> ++fi
> +
> + AC_HEADER_DIRENT
> +
> +--
> +2.7.4
> +
> diff --git a/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
> b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
> new file mode 100644
> index 000000000000..8b1fb7b1158d
> --- /dev/null
> +++ b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
> @@ -0,0 +1,15 @@
> +require vim_${PV}.bb
> +
> +SUMMARY += " (with tiny features)"
> +
> +PROVIDES_remove = "xxd"
> +ALTERNATIVE_${PN}_remove = "xxd"
> +
> +PACKAGECONFIG += "tiny"
> +
> +do_install() {
> +    install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
> +}
> +
> +ALTERNATIVE_PRIORITY = "90"
> +ALTERNATIVE_TARGET = "${bindir}/vim.tiny"
> diff --git a/meta/recipes-support/vim/vim_8.1.0347.bb
> b/meta/recipes-support/vim/vim_8.1.0347.bb
> new file mode 100644
> index 000000000000..070583158467
> --- /dev/null
> +++ b/meta/recipes-support/vim/vim_8.1.0347.bb
> @@ -0,0 +1,121 @@
> +SUMMARY = "Vi IMproved - enhanced vi editor"
> +SECTION = "console/utils"
> +
> +PROVIDES = "xxd"
> +DEPENDS = "ncurses gettext-native"
> +# vimdiff doesn't like busybox diff
> +RSUGGESTS_${PN} = "diffutils"
> +LICENSE = "vim"
> +LIC_FILES_CHKSUM =
> "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
> +
> +SRC_URI = "git://github.com/vim/vim.git \
> +           file://disable_acl_header_check.patch;patchdir=.. \
> +
>  file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
> +
>  file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
> +"
> +SRCREV = "f1c118be93184e8e57e3e80b1b3383f464ed649e"
> +
> +S = "${WORKDIR}/git/src"
> +
> +VIMDIR =
> "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
> +
> +inherit autotools-brokensep update-alternatives
> +
> +CLEANBROKEN = "1"
> +
> +# vim configure.in contains functions which got 'dropped' by
> autotools.bbclass
> +do_configure () {
> +    rm -f auto/*
> +    touch auto/config.mk
> +    aclocal
> +    autoconf
> +    oe_runconf
> +    touch auto/configure
> +    touch auto/config.mk auto/config.h
> +}
> +
> +#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
> +PACKAGECONFIG ??= ""
> +PACKAGECONFIG += " \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
> +    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
> +"
> +
> +PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+,"
> +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
> +PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
> +PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
> +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
> +PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
> +
> +EXTRA_OECONF = " \
> +    --disable-gpm \
> +    --disable-gtktest \
> +    --disable-xim \
> +    --disable-netbeans \
> +    --with-tlib=ncurses \
> +    ac_cv_small_wchar_t=no \
> +    vim_cv_getcwd_broken=no \
> +    vim_cv_memmove_handles_overlap=yes \
> +    vim_cv_stat_ignores_slash=no \
> +    vim_cv_terminfo=yes \
> +    vim_cv_tgetent=non-zero \
> +    vim_cv_toupper_broken=no \
> +    vim_cv_tty_group=world \
> +    STRIP=/bin/true \
> +"
> +
> +do_install() {
> +    autotools_do_install
> +
> +    # Work around file-rdeps picking up csh, awk, perl or python as a dep
> +    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
> +    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
> +    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
> +    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
> +
> +    # Install example vimrc from runtime files
> +    install -m 0644 ../runtime/vimrc_example.vim
> ${D}/${datadir}/${BPN}/vimrc
> +
> +    # we use --with-features=big as default
> +    mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
> +}
> +
> +PARALLEL_MAKEINST = ""
> +
> +PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc
> ${PN}-tools"
> +FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
> +FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
> +FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor
> ${bindir}/${BPN}tutor"
> +FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
> +FILES_${PN}-data = "${datadir}/${BPN}"
> +FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
> +FILES_${PN}-common = " \
> +    ${datadir}/${BPN}/${VIMDIR}/*.vim \
> +    ${datadir}/${BPN}/${VIMDIR}/autoload \
> +    ${datadir}/${BPN}/${VIMDIR}/colors \
> +    ${datadir}/${BPN}/${VIMDIR}/compiler \
> +    ${datadir}/${BPN}/${VIMDIR}/ftplugin \
> +    ${datadir}/${BPN}/${VIMDIR}/indent \
> +    ${datadir}/${BPN}/${VIMDIR}/keymap \
> +    ${datadir}/${BPN}/${VIMDIR}/lang \
> +    ${datadir}/${BPN}/${VIMDIR}/macros \
> +    ${datadir}/${BPN}/${VIMDIR}/plugin \
> +    ${datadir}/${BPN}/${VIMDIR}/print \
> +    ${datadir}/${BPN}/${VIMDIR}/spell \
> +    ${datadir}/icons \
> +"
> +
> +RDEPENDS_${BPN} = "ncurses-terminfo-base"
> +# Recommend that runtime data is installed along with vim
> +RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc
> ${PN}-common"
> +
> +ALTERNATIVE_${PN} = "vi vim xxd"
> +ALTERNATIVE_PRIORITY = "100"
> +ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
> +ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
> +ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
> +ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
> +ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
> +
> +BBCLASSEXTEND = "native"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 25606 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-01 22:26 ` [PATCH 2/4] inetutils: Import version 1.9.4 Tom Rini
@ 2019-03-02 17:00   ` Richard Purdie
  2019-03-02 17:46     ` Tom Rini
  2019-03-04  9:47   ` André Draszik
  1 sibling, 1 reply; 20+ messages in thread
From: Richard Purdie @ 2019-03-02 17:00 UTC (permalink / raw)
  To: Tom Rini, openembedded-core

On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> In order to have more robust stand-alone network tools in oe-core,
> bring
> in vim from meta-openembedded/meta-networking.  This imports the
> recipes
> as of git commit:
> commit 408204073e6bdcd8ac586e05d5b75213417673f2
> Author: Martin Jansa <martin.jansa@gmail.com>
> Date:   Thu Aug 16 20:39:15 2018 +0000
> 
>     inetutils: fix build with glibc-2.28
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

vim and inetutils will need entries in maintainers.inc else we'll see
selftest failures.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-02 17:00   ` Richard Purdie
@ 2019-03-02 17:46     ` Tom Rini
  2019-03-02 19:25       ` Richard Purdie
  0 siblings, 1 reply; 20+ messages in thread
From: Tom Rini @ 2019-03-02 17:46 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 815 bytes --]

On Sat, Mar 02, 2019 at 05:00:18PM +0000, Richard Purdie wrote:
> On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> > In order to have more robust stand-alone network tools in oe-core,
> > bring
> > in vim from meta-openembedded/meta-networking.  This imports the
> > recipes
> > as of git commit:
> > commit 408204073e6bdcd8ac586e05d5b75213417673f2
> > Author: Martin Jansa <martin.jansa@gmail.com>
> > Date:   Thu Aug 16 20:39:15 2018 +0000
> > 
> >     inetutils: fix build with glibc-2.28
> > 
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> 
> vim and inetutils will need entries in maintainers.inc else we'll see
> selftest failures.

Ah, OK.  Does that generally involve more than ack'ing the automatic
upgrades (that one gets CC'd on I assume) and answering questions?

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-02 17:46     ` Tom Rini
@ 2019-03-02 19:25       ` Richard Purdie
  2019-03-02 19:28         ` Tom Rini
  0 siblings, 1 reply; 20+ messages in thread
From: Richard Purdie @ 2019-03-02 19:25 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-core

On Sat, 2019-03-02 at 12:46 -0500, Tom Rini wrote:
> On Sat, Mar 02, 2019 at 05:00:18PM +0000, Richard Purdie wrote:
> > On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> > > In order to have more robust stand-alone network tools in oe-
> > > core,
> > > bring
> > > in vim from meta-openembedded/meta-networking.  This imports the
> > > recipes
> > > as of git commit:
> > > commit 408204073e6bdcd8ac586e05d5b75213417673f2
> > > Author: Martin Jansa <martin.jansa@gmail.com>
> > > Date:   Thu Aug 16 20:39:15 2018 +0000
> > > 
> > >     inetutils: fix build with glibc-2.28
> > > 
> > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > 
> > vim and inetutils will need entries in maintainers.inc else we'll
> > see
> > selftest failures.
> 
> Ah, OK.  Does that generally involve more than ack'ing the automatic
> upgrades (that one gets CC'd on I assume) and answering questions?

That and helping out with upgrades when new versions appear even if the
AUH can't handle it.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-02 19:25       ` Richard Purdie
@ 2019-03-02 19:28         ` Tom Rini
  0 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-02 19:28 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

On Sat, Mar 02, 2019 at 07:25:29PM +0000, Richard Purdie wrote:
> On Sat, 2019-03-02 at 12:46 -0500, Tom Rini wrote:
> > On Sat, Mar 02, 2019 at 05:00:18PM +0000, Richard Purdie wrote:
> > > On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> > > > In order to have more robust stand-alone network tools in oe-
> > > > core,
> > > > bring
> > > > in vim from meta-openembedded/meta-networking.  This imports the
> > > > recipes
> > > > as of git commit:
> > > > commit 408204073e6bdcd8ac586e05d5b75213417673f2
> > > > Author: Martin Jansa <martin.jansa@gmail.com>
> > > > Date:   Thu Aug 16 20:39:15 2018 +0000
> > > > 
> > > >     inetutils: fix build with glibc-2.28
> > > > 
> > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > 
> > > vim and inetutils will need entries in maintainers.inc else we'll
> > > see
> > > selftest failures.
> > 
> > Ah, OK.  Does that generally involve more than ack'ing the automatic
> > upgrades (that one gets CC'd on I assume) and answering questions?
> 
> That and helping out with upgrades when new versions appear even if the
> AUH can't handle it.

Yeah, I can handle that much still :)  I'll drop myself in for v2.  I'll
wait until Monday to give anyone else a chance to chime in on anything
else I might have missed.  Thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-01 22:26 ` [PATCH 2/4] inetutils: Import version 1.9.4 Tom Rini
  2019-03-02 17:00   ` Richard Purdie
@ 2019-03-04  9:47   ` André Draszik
  2019-03-04 16:40     ` Tom Rini
  1 sibling, 1 reply; 20+ messages in thread
From: André Draszik @ 2019-03-04  9:47 UTC (permalink / raw)
  To: openembedded-core

On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> In order to have more robust stand-alone network tools in oe-core, bring
> in vim from meta-openembedded/meta-networking.  This imports the recipes
     ^^^

vim for networking? :-)

Cheers,
Andre'

> as of git commit:
> commit 408204073e6bdcd8ac586e05d5b75213417673f2
> Author: Martin Jansa <martin.jansa@gmail.com>
> Date:   Thu Aug 16 20:39:15 2018 +0000
> 
>     inetutils: fix build with glibc-2.28
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  .../0001-rcp-fix-to-work-with-large-files.patch    |  31 ++++
>  .../inetutils/inetutils/fix-disable-ipv6.patch     |  83 +++++++++
>  ...tf-parse-pull-in-features.h-for-__GLIBC__.patch |  29 +++
>  .../inetutils/inetutils-1.8-0003-wchar.patch       |  14 ++
>  .../inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch |  26 +++
>  ...ls-only-check-pam_appl.h-when-pam-enabled.patch |  40 ++++
>  .../inetutils/inetutils/rexec.xinetd.inetutils     |  20 ++
>  .../inetutils/inetutils/rlogin.xinetd.inetutils    |  23 +++
>  .../inetutils/inetutils/rsh.xinetd.inetutils       |  21 +++
>  .../inetutils/inetutils/telnet.xinetd.inetutils    |  13 ++
>  .../inetutils/inetutils/tftpd.xinetd.inetutils     |  19 ++
>  .../inetutils/inetutils/version.patch              |  17 ++
>  .../inetutils/inetutils_1.9.4.bb                   | 206
> +++++++++++++++++++++
>  13 files changed, 542 insertions(+)
>  create mode 100644 meta/recipes-connectivity/inetutils/inetutils/0001-
> rcp-fix-to-work-with-large-files.patch
>  create mode 100644 meta/recipes-connectivity/inetutils/inetutils/fix-
> disable-ipv6.patch
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-
> features.h-for-__GLIBC__.patch
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-
> enabled.patch
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/rexec.xinetd.inetutils
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/rsh.xinetd.inetutils
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/telnet.xinetd.inetutils
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
>  create mode 100644 meta/recipes-
> connectivity/inetutils/inetutils/version.patch
>  create mode 100644 meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
> 
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-
> to-work-with-large-files.patch b/meta/recipes-
> connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-
> files.patch
> new file mode 100644
> index 000000000000..d4764f586736
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-
> with-large-files.patch
> @@ -0,0 +1,31 @@
> +Upstream-Status: Pending
> +
> +Subject: rcp: fix to work with large files
> +
> +When we copy file by rcp command, if the file > 2GB, it will fail.
> +The cause is that it used incorrect data type on file size in sink() of
> rcp.
> +
> +Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +---
> + src/rcp.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/rcp.c b/src/rcp.c
> +index 21f55b6..bafa35f 100644
> +--- a/src/rcp.c
> ++++ b/src/rcp.c
> +@@ -876,9 +876,9 @@ sink (int argc, char *argv[])
> +   enum
> +   { YES, NO, DISPLAYED } wrerr;
> +   BUF *bp;
> +-  off_t i, j;
> ++  off_t i, j, size;
> +   int amt, count, exists, first, mask, mode, ofd, omode;
> +-  int setimes, size, targisdir, wrerrno;
> ++  int setimes, targisdir, wrerrno;
> +   char ch, *cp, *np, *targ, *vect[1], buf[BUFSIZ];
> +   const char *why;
> + 
> +-- 
> +1.9.1
> +
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/fix-disable-
> ipv6.patch b/meta/recipes-connectivity/inetutils/inetutils/fix-disable-
> ipv6.patch
> new file mode 100644
> index 000000000000..24c134fcac8d
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
> @@ -0,0 +1,83 @@
> +Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> +---
> + ping/ping_common.h | 20 ++++++++++++++++++++
> + 1 file changed, 20 insertions(+)
> +
> +diff --git a/ping/ping_common.h b/ping/ping_common.h
> +index 1dfd1b5..3bfbd12 100644
> +--- a/ping/ping_common.h
> ++++ b/ping/ping_common.h
> +@@ -17,10 +17,14 @@
> +   You should have received a copy of the GNU General Public License
> +   along with this program.  If not, see `http://www.gnu.org/licenses/'.
> */
> + 
> ++#include <config.h>
> ++
> + #include <netinet/in_systm.h>
> + #include <netinet/in.h>
> + #include <netinet/ip.h>
> ++#ifdef HAVE_IPV6
> + #include <netinet/icmp6.h>
> ++#endif
> + #include <icmp.h>
> + #include <error.h>
> + #include <progname.h>
> +@@ -62,7 +66,12 @@ struct ping_stat
> +    want to follow the traditional behaviour of ping.  */
> + #define DEFAULT_PING_COUNT 0
> + 
> ++#ifdef HAVE_IPV6
> + #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) :
> ICMP_MINLEN)
> ++#else
> ++#define PING_HEADER_LEN (ICMP_MINLEN)
> ++#endif
> ++
> + #define PING_TIMING(s)  ((s) >= sizeof (struct timeval))
> + #define PING_DATALEN    (64 - PING_HEADER_LEN)  /* default data length
> */
> + 
> +@@ -74,13 +83,20 @@ struct ping_stat
> +   (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
> + } while (0)
> + 
> ++#ifdef HAVE_IPV6
> + /* FIXME: Adjust IPv6 case for options and their consumption.  */
> + #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct
> icmp6_hdr)) : \
> + 				   (MAXIPLEN + (p)->ping_datalen +
> ICMP_TSLEN))
> + 
> ++#else
> ++#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
> ++#endif
> ++
> ++#ifdef HAVE_IPV6
> + typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 *
> dest,
> + 			  struct sockaddr_in6 * from, struct icmp6_hdr *
> icmp,
> + 			  int datalen);
> ++#endif
> + 
> + typedef int (*ping_efp) (int code,
> + 			 void *closure,
> +@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
> + 			 struct ip * ip, icmphdr_t * icmp, int datalen);
> + 
> + union event {
> ++#ifdef HAVE_IPV6
> +   ping_efp6 handler6;
> ++#endif
> +   ping_efp handler;
> + };
> + 
> + union ping_address {
> +   struct sockaddr_in ping_sockaddr;
> ++#ifdef HAVE_IPV6
> +   struct sockaddr_in6 ping_sockaddr6;
> ++#endif
> + };
> + 
> + typedef struct ping_data PING;
> +-- 
> +2.8.3
> +
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-
> 0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-
> features.h-for-__GLIBC__.patch
> new file mode 100644
> index 000000000000..3da4e9f55a78
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-
> printf-parse-pull-in-features.h-for-__GLIBC__.patch
> @@ -0,0 +1,29 @@
> +From 552a7d64ad4a7188a9b7cd89933ae7caf7ebfe90 Mon Sep 17 00:00:00 2001
> +From: Mike Frysinger <vapier at gentoo.org>
> +Date: Thu, 18 Nov 2010 16:59:14 -0500
> +Subject: [PATCH gnulib] printf-parse: pull in features.h for __GLIBC__
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Mike Frysinger <vapier at gentoo.org>
> +---
> + lib/printf-parse.h |    3 +++
> + 1 files changed, 3 insertions(+), 0 deletions(-)
> +
> +diff --git a/lib/printf-parse.h b/lib/printf-parse.h
> +index 67a4a2a..3bd6152 100644
> +--- a/lib/printf-parse.h
> ++++ b/lib/printf-parse.h
> +@@ -25,6 +25,9 @@
> + 
> + #include "printf-args.h"
> + 
> ++#ifdef HAVE_FEATURES_H
> ++# include <features.h>	/* for __GLIBC__ */
> ++#endif
> + 
> + /* Flags */
> + #define FLAG_GROUP       1      /* ' flag */
> +-- 
> +1.7.3.2
> +
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-
> 0003-wchar.patch b/meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
> new file mode 100644
> index 000000000000..b13bb9229ff0
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-
> wchar.patch
> @@ -0,0 +1,14 @@
> +Upstream-Status: Pending
> +
> +--- inetutils-1.8/lib/wchar.in.h
> ++++ inetutils-1.8/lib/wchar.in.h
> +@@ -70,6 +70,9 @@
> + /* The include_next requires a split double-inclusion guard.  */
> + #if @HAVE_WCHAR_H@
> + # @INCLUDE_NEXT@ @NEXT_WCHAR_H@
> ++#else
> ++# include <stddef.h>
> ++# define MB_CUR_MAX 1
> + #endif
> + 
> + #undef _GL_ALREADY_INCLUDING_WCHAR_H
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-
> PATH_PROCNET_DEV.patch b/meta/recipes-
> connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
> new file mode 100644
> index 000000000000..2592989a90a3
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-
> PATH_PROCNET_DEV.patch
> @@ -0,0 +1,26 @@
> +inetutils: define PATH_PROCNET_DEV if not already defined
> +
> +this prevents the following compilation error :
> +system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in
> this function)
> +
> +this patch comes from :
> + http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/
> +
> +Upstream-Status: Inappropriate [not author]
> +
> +Signed-of-by: Eric Bénard <eric@eukrea.com>
> +---
> +diff -Naur inetutils-1.9.orig/ifconfig/system/linux.c inetutils-
> 1.9/ifconfig/system/linux.c
> +--- inetutils-1.9.orig/ifconfig/system/linux.c	2012-01-04
> 16:31:36.000000000 -0500
> ++++ inetutils-1.9/ifconfig/system/linux.c	2012-01-04
> 16:40:53.000000000 -0500
> +@@ -49,6 +49,10 @@
> + #include "../ifconfig.h"
> + 
> + 
> ++#ifndef PATH_PROCNET_DEV
> ++  #define PATH_PROCNET_DEV "/proc/net/dev"
> ++#endif
> ++
> + /* ARPHRD stuff.  */
> + 
> + static void
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-
> check-pam_appl.h-when-pam-enabled.patch b/meta/recipes-
> connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-
> enabled.patch
> new file mode 100644
> index 000000000000..ff3abd86aad3
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-
> pam_appl.h-when-pam-enabled.patch
> @@ -0,0 +1,40 @@
> +Only check security/pam_appl.h which is provided by package libpam when
> pam is
> +enabled.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Kai Kang <kai.kang@windriver.com>
> +---
> +diff --git a/configure.ac b/configure.ac
> +index b35e672..e78a751 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -195,6 +195,19 @@ fi
> + 
> + # See if we have libpam.a.  Investigate PAM versus Linux-PAM.
> + if test "$with_pam" = yes ; then
> ++  AC_CHECK_HEADERS([security/pam_appl.h], [], [], [
> ++#include <sys/types.h>
> ++#ifdef HAVE_NETINET_IN_SYSTM_H
> ++# include <netinet/in_systm.h>
> ++#endif
> ++#include <netinet/in.h>
> ++#ifdef HAVE_NETINET_IP_H
> ++# include <netinet/ip.h>
> ++#endif
> ++#ifdef HAVE_SYS_PARAM_H
> ++# include <sys/param.h>
> ++#endif
> ++])
> +   AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
> +   AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
> +   if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
> +@@ -587,7 +600,7 @@ AC_HEADER_DIRENT
> + AC_CHECK_HEADERS([arpa/nameser.h errno.h fcntl.h features.h \
> + 		  glob.h memory.h netinet/ether.h netinet/in_systm.h \
> + 		  netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
> +-		  security/pam_appl.h shadow.h \
> ++		  shadow.h \
> + 		  stdarg.h stdlib.h string.h stropts.h sys/tty.h \
> + 		  sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
> + 		  sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
> diff --git a/meta/recipes-
> connectivity/inetutils/inetutils/rexec.xinetd.inetutils b/meta/recipes-
> connectivity/inetutils/inetutils/rexec.xinetd.inetutils
> new file mode 100644
> index 000000000000..30e81ef4502b
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
> @@ -0,0 +1,20 @@
> +# default: off
> +# description:
> +# Rexecd is the server for the rexec program. The server provides remote 
> +# execution facilities with authentication based on user names and 
> +# passwords.
> +#
> +service exec
> +{
> +	socket_type	= stream
> +	protocol	= tcp
> +	flags		= NAMEINARGS
> +	wait		= no
> +	user		= root
> +	group		= root
> +	log_on_success	+= USERID
> +	log_on_failure	+= USERID
> +	server		= @SBINDIR@/tcpd
> +	server_args	= @SBINDIR@/in.rexecd
> +	disable		= yes
> +}
> diff --git a/meta/recipes-
> connectivity/inetutils/inetutils/rlogin.xinetd.inetutils b/meta/recipes-
> connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
> new file mode 100644
> index 000000000000..21b55da9a9fd
> --- /dev/null
> +++ b/meta/recipes-
> connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
> @@ -0,0 +1,23 @@
> +# default: off
> +# description:
> +# Rlogind is a server for the rlogin program. The server provides remote 
> +# execution with authentication based on privileged port numbers from
> trusted
> +# host
> +#
> +service login
> +{
> +	socket_type	= stream
> +	protocol	= tcp
> +	flags		= NAMEINARGS
> +	wait		= no
> +	user		= root
> +	group		= root
> +	log_on_success	+= USERID
> +	log_on_failure	+= USERID
> +	server		= @SBINDIR@/tcpd
> +	server_args	= @SBINDIR@/in.rlogind -a
> +	disable		= yes
> +}
> +							
> +							
> +							
> diff --git a/meta/recipes-
> connectivity/inetutils/inetutils/rsh.xinetd.inetutils b/meta/recipes-
> connectivity/inetutils/inetutils/rsh.xinetd.inetutils
> new file mode 100644
> index 000000000000..2b894a74bd41
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
> @@ -0,0 +1,21 @@
> +# default: off
> +# description:
> +# The rshd server is a server for the rcmd(3) routine and, 
> +# consequently, for the rsh(1) program. The server provides 
> +# remote execution facilities with authentication based on 
> +# privileged port numbers from trusted hosts.
> +#
> +service shell
> +{
> +	socket_type	= stream
> +	protocol	= tcp
> +	flags		= NAMEINARGS
> +	wait		= no
> +	user		= root
> +	group		= root
> +	log_on_success	+= USERID
> +	log_on_failure	+= USERID
> +	server		= @SBINDIR@/tcpd
> +	server_args	= @SBINDIR@/in.rshd -aL
> +	disable		= yes
> +}
> diff --git a/meta/recipes-
> connectivity/inetutils/inetutils/telnet.xinetd.inetutils b/meta/recipes-
> connectivity/inetutils/inetutils/telnet.xinetd.inetutils
> new file mode 100644
> index 000000000000..2d9a0408c0db
> --- /dev/null
> +++ b/meta/recipes-
> connectivity/inetutils/inetutils/telnet.xinetd.inetutils
> @@ -0,0 +1,13 @@
> +# default: on
> +# description: The telnet server serves telnet sessions; it uses \
> +#       unencrypted username/password pairs for authentication.
> +service telnet
> +{
> +	disable		= no
> +	flags		= REUSE
> +	socket_type	= stream
> +	wait		= no
> +	user		= root
> +	server		= @SBINDIR@/in.telnetd
> +	log_on_failure	+= USERID
> +}
> diff --git a/meta/recipes-
> connectivity/inetutils/inetutils/tftpd.xinetd.inetutils b/meta/recipes-
> connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
> new file mode 100644
> index 000000000000..67b44c43e852
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
> @@ -0,0 +1,19 @@
> +# default: off
> +# description:
> +# Tftpd is a server which supports the Internet Trivial File Transfer
> +# Pro-tocol (RFC 783). The TFTP server operates at the port indicated
> +# in the tftp service description; see services(5).
> +#
> +service tftp
> +{
> +        disable         = yes
> +        socket_type     = dgram
> +        protocol        = udp
> +        flags           = IPv6
> +        wait            = yes
> +        user            = root
> +        group           = root
> +        server          = @SBINDIR@/in.tftpd
> +        server_args     = /tftpboot
> +}
> +
> diff --git a/meta/recipes-connectivity/inetutils/inetutils/version.patch
> b/meta/recipes-connectivity/inetutils/inetutils/version.patch
> new file mode 100644
> index 000000000000..532a0e5c0896
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils/version.patch
> @@ -0,0 +1,17 @@
> +Upstream-Status: Pending
> +
> +remove m4_esyscmd function
> +
> +Signed-off-by: Chunrong Guo <b40290@freescale.com>
> +--- inetutils-1.9.1/configure.ac	2012-01-06 22:05:05.000000000 +0800
> ++++ inetutils-1.9.1/configure.ac	2012-11-12 14:01:11.732957019 +0800
> +@@ -20,8 +20,7 @@
> + 
> + AC_PREREQ(2.59)
> + 
> +-AC_INIT([GNU inetutils],
> +- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-
> /v/;s/_/./g']),
> ++AC_INIT([GNU inetutils],[1.9.4],
> +  [bug-inetutils@gnu.org])
> + 
> + AC_CONFIG_SRCDIR([src/inetd.c])
> diff --git a/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
> b/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
> new file mode 100644
> index 000000000000..a27dbae2e688
> --- /dev/null
> +++ b/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
> @@ -0,0 +1,206 @@
> +DESCRIPTION = "The GNU inetutils are a collection of common \
> +networking utilities and servers including ftp, ftpd, rcp, \
> +rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \
> +talkd, telnet, telnetd, tftp, tftpd, and uucpd."
> +HOMEPAGE = "http://www.gnu.org/software/inetutils"
> +SECTION = "net"
> +DEPENDS = "ncurses netbase readline virtual/crypt"
> +
> +LICENSE = "GPLv3"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
> +
> +SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
> +           file://version.patch \
> +           file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-
> __GLIBC__.patch \
> +           file://inetutils-1.8-0003-wchar.patch \
> +           file://rexec.xinetd.inetutils  \
> +           file://rlogin.xinetd.inetutils \
> +           file://rsh.xinetd.inetutils \
> +           file://telnet.xinetd.inetutils \
> +           file://tftpd.xinetd.inetutils \
> +           file://inetutils-1.9-PATH_PROCNET_DEV.patch \
> +           file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch
> \
> +           file://0001-rcp-fix-to-work-with-large-files.patch \
> +"
> +
> +SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52"
> +SRC_URI[sha256sum] =
> "be8f75eff936b8e41b112462db51adf689715658a1b09e0d6b05d11ec92cc616"
> +
> +inherit autotools gettext update-alternatives texinfo
> +
> +acpaths = "-I ./m4"
> +
> +SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', '
> file://fix-disable-ipv6.patch', d)}"
> +
> +PACKAGECONFIG ??= "ftp uucpd \
> +                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6
> ping6', '', d)} \
> +                  "
> +PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
> +PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
> +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
> +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6
> gl_cv_socket_ipv6=no,"
> +PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
> +
> +EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
> +        inetutils_cv_path_login=${base_bindir}/login \
> +        --with-libreadline-prefix=${STAGING_LIBDIR} \
> +        --enable-rpath=no \
> +"
> +
> +EXTRA_OECONF_append_libc-musl = " --disable-rsh --disable-rcp --disable-
> rlogin "
> +
> +do_configure_prepend () {
> +    export HELP2MAN='true'
> +    cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-
> aux/config.rpath
> +    rm -f ${S}/glob/configure*
> +}
> +
> +do_install_append () {
> +    install -m 0755 -d ${D}${base_sbindir}
> +    install -m 0755 -d ${D}${sbindir}
> +    install -m 0755 -d ${D}${sysconfdir}/xinetd.d
> +    if [ "${base_bindir}" != "${bindir}" ] ; then
> +         install -m 0755 -d ${D}${base_bindir}
> +         mv ${D}${bindir}/ping* ${D}${base_bindir}/
> +         mv ${D}${bindir}/hostname ${D}${base_bindir}/
> +    fi
> +    mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/
> +    mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/
> +    mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
> +    mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
> +    mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
> +    if [ -e ${D}${libexecdir}/rlogind ]; then
> +        mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
> +    fi
> +    if [ -e ${D}${libexecdir}/rshd ]; then
> +        mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
> +    fi
> +    if [ -e ${D}${libexecdir}/talkd ]; then
> +        mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
> +    fi
> +    mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
> +    mv ${D}${libexecdir}/* ${D}${bindir}/
> +    cp
> ${WORKDIR}/rexec.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rexec
> +    cp
> ${WORKDIR}/rlogin.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rlogin
> +    cp ${WORKDIR}/rsh.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/rsh
> +    cp
> ${WORKDIR}/telnet.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/telnet
> +    cp
> ${WORKDIR}/tftpd.xinetd.inetutils  ${D}/${sysconfdir}/xinetd.d/tftpd
> +
> +    sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
> +    if [ -e ${D}${libdir}/charset.alias ]; then
> +        rm -rf ${D}${libdir}/charset.alias
> +    fi
> +    rm -rf ${D}${libexecdir}/
> +    # remove usr/lib if empty
> +    rmdir ${D}${libdir} || true
> +}
> +
> +PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \
> +${PN}-tftp ${PN}-logger ${PN}-traceroute ${PN}-syslogd \
> +${PN}-ftp ${PN}-ftpd ${PN}-tftpd ${PN}-telnet ${PN}-telnetd ${PN}-inetd \
> +${PN}-rsh ${PN}-rshd"
> +
> +# The packages tftpd, telnetd and rshd conflict with the ones
> +# provided by netkit, so add the corresponding -dbg packages
> +# for them to avoid the confliction between the dbg package
> +# of inetutils and netkit.
> +PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
> +NOAUTOPACKAGEDEBUG = "1"
> +
> +ALTERNATIVE_PRIORITY = "79"
> +ALTERNATIVE_${PN} = "talk whois"
> +ALTERNATIVE_LINK_NAME[talkd]  = "${sbindir}/in.talkd"
> +ALTERNATIVE_LINK_NAME[uucpd]  = "${sbindir}/in.uucpd"
> +
> +ALTERNATIVE_PRIORITY_${PN}-logger = "60"
> +ALTERNATIVE_${PN}-logger = "logger"
> +ALTERNATIVE_${PN}-syslogd = "syslogd"
> +ALTERNATIVE_LINK_NAME[syslogd]  = "${base_sbindir}/syslogd"
> +
> +ALTERNATIVE_${PN}-ftp = "ftp"
> +ALTERNATIVE_${PN}-ftpd = "ftpd"
> +ALTERNATIVE_${PN}-tftp = "tftp"
> +ALTERNATIVE_${PN}-tftpd = "tftpd"
> +ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd"
> +ALTERNATIVE_TARGET[tftpd]  = "${sbindir}/in.tftpd"
> +
> +ALTERNATIVE_${PN}-telnet = "telnet"
> +ALTERNATIVE_${PN}-telnetd = "telnetd"
> +ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
> +ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
> +
> +ALTERNATIVE_${PN}-rsh = "rcp rexec rlogin rsh"
> +ALTERNATIVE_${PN}-rshd = "rshd rexecd rlogind"
> +ALTERNATIVE_LINK_NAME[rshd] = "${sbindir}/rshd"
> +ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
> +ALTERNATIVE_LINK_NAME[rexecd] = "${sbindir}/rexecd"
> +ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd"
> +ALTERNATIVE_LINK_NAME[rlogind] = "${sbindir}/rlogind"
> +ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
> +
> +ALTERNATIVE_${PN}-inetd= "inetd"
> +ALTERNATIVE_${PN}-traceroute = "traceroute"
> +
> +ALTERNATIVE_${PN}-hostname = "hostname"
> +ALTERNATIVE_LINK_NAME[hostname]  = "${base_bindir}/hostname"
> +
> +ALTERNATIVE_${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8"
> +ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
> +ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
> +ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
> +ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
> +
> +ALTERNATIVE_${PN}-ifconfig = "ifconfig"
> +ALTERNATIVE_LINK_NAME[ifconfig]  = "${base_sbindir}/ifconfig"
> +
> +ALTERNATIVE_${PN}-ping = "ping"
> +ALTERNATIVE_LINK_NAME[ping]   = "${base_bindir}/ping"
> +
> +ALTERNATIVE_${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6',
> d)}"
> +ALTERNATIVE_LINK_NAME[ping6]  = "${base_bindir}/ping6"
> +
> +
> +FILES_${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug
> ${bindir}/.debug ${sbindir}/.debug"
> +FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
> +FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
> +FILES_${PN}-hostname = "${base_bindir}/hostname.${BPN}"
> +FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
> +FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}"
> +FILES_${PN}-logger = "${bindir}/logger.${BPN}"
> +
> +FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
> +RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
> +
> +FILES_${PN}-ftp = "${bindir}/ftp.${BPN}"
> +
> +FILES_${PN}-tftp = "${bindir}/tftp.${BPN}"
> +FILES_${PN}-telnet = "${bindir}/telnet.${BPN}"
> +FILES_${PN}-rsh = "${bindir}/rsh.${BPN} ${bindir}/rlogin.${BPN}
> ${bindir}/rexec.${BPN} ${bindir}/rcp.${BPN}"
> +
> +FILES_${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind
> ${sbindir}/in.rexecd \
> +                    ${sysconfdir}/xinetd.d/rsh
> ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec"
> +FILES_${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd
> ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
> +RDEPENDS_${PN}-rshd += "xinetd tcp-wrappers"
> +RCONFLICTS_${PN}-rshd += "netkit-rshd"
> +RPROVIDES_${PN}-rshd = "rshd"
> +
> +FILES_${PN}-ftpd = "${bindir}/ftpd.${BPN}"
> +FILES_${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
> +RDEPENDS_${PN}-ftpd += "xinetd"
> +
> +FILES_${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
> +FILES_${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
> +RCONFLICTS_${PN}-tftpd += "netkit-tftpd"
> +RDEPENDS_${PN}-tftpd += "xinetd"
> +
> +FILES_${PN}-telnetd = "${sbindir}/in.telnetd
> ${sysconfdir}/xinetd.d/telnet"
> +FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
> +RCONFLICTS_${PN}-telnetd += "netkit-telnetd"
> +RPROVIDES_${PN}-telnetd = "telnetd"
> +RDEPENDS_${PN}-telnetd += "xinetd"
> +
> +FILES_${PN}-inetd = "${bindir}/inetd.${BPN}"
> +
> +RDEPENDS_${PN} = "xinetd"
> -- 
> 2.7.4
> 



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] inetutils: Import version 1.9.4
  2019-03-04  9:47   ` André Draszik
@ 2019-03-04 16:40     ` Tom Rini
  0 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-04 16:40 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 370 bytes --]

On Mon, Mar 04, 2019 at 09:47:57AM +0000, André Draszik wrote:
> On Fri, 2019-03-01 at 17:26 -0500, Tom Rini wrote:
> > In order to have more robust stand-alone network tools in oe-core, bring
> > in vim from meta-openembedded/meta-networking.  This imports the recipes
>      ^^^
> 
> vim for networking? :-)

Noted, fixed for next round.  Thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup
  2019-03-01 22:26 ` [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup Tom Rini
  2019-03-02 14:41   ` Tom Rini
@ 2019-03-04 16:44   ` Mark Hatle
  2019-03-04 18:02     ` Tom Rini
  1 sibling, 1 reply; 20+ messages in thread
From: Mark Hatle @ 2019-03-04 16:44 UTC (permalink / raw)
  To: Tom Rini, openembedded-core

On 3/1/19 4:26 PM, Tom Rini wrote:
> This packagegroup is intended to provide all of the functionality found
> in other VIRTUAL-RUNTIME_base-utils providers through full packages
> rather than an all-on-one package.  Document how to make use of this
> in local.conf.sample.extended.  Introduce VIRTUAL-RUNTIME-vim and
> default this to vim-tiny to allow for a differently features vim to be
> used instead.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  meta/conf/local.conf.sample.extended               |  8 ++++
>  .../packagegroups/packagegroup-core-base-utils.bb  | 49 ++++++++++++++++++++++
>  2 files changed, 57 insertions(+)
>  create mode 100644 meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> 
> diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
> index 8062e4c5721b..d00221893ad9 100644
> --- a/meta/conf/local.conf.sample.extended
> +++ b/meta/conf/local.conf.sample.extended
> @@ -384,3 +384,11 @@
>  #VIRTUAL-RUNTIME_login_manager = "shadow-base"
>  #VIRTUAL-RUNTIME_init_manager = "systemd"
>  #VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
> +
> +#
> +# Use a full set of packages instead of busybox for base utils
> +#
> +#PREFERRED_PROVIDER_base-utils = "packagegroup-core-base-utils"
> +#VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
> +#VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
> +#VIRTUAL-RUNTIME_base-utils-syslog = "syslog"
> diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> new file mode 100644
> index 000000000000..061dade0bc03
> --- /dev/null
> +++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> @@ -0,0 +1,49 @@
> +#
> +# Copyright (C) 2019 Konsulko Group
> +#
> +
> +SUMMARY = "Full-featured set of base utils"
> +DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
> +
> +inherit packagegroup
> +
> +VIRTUAL-RUNTIME_vim ?= "vim-tiny"
> +
> +RDEPENDS_${PN} = "\
> +    base-passwd \
> +    bash \
> +    bind-utils \
> +    bzip2 \
> +    coreutils \
> +    cpio \
> +    dhcp-client \
> +    diffutils \
> +    e2fsprogs \
> +    ed \
> +    file \
> +    findutils \
> +    gawk \
> +    grep \
> +    gzip \
> +    inetutils \
> +    iproute2 \
> +    kmod \
> +    less \
> +    lzip \
> +    ncurses-tools \
> +    net-tools \
> +    parted \
> +    patch \
> +    procps \
> +    psmisc \
> +    sed \
> +    shadow-base \
> +    tar \
> +    time \
> +    unzip \
> +    util-linux \
> +    ${VIRTUAL-RUNTIME_vim} \
> +    wget \
> +    which \
> +    xz \
> +    "
> 

Sorry missed this earlier.  On note, we have a similar recipe in our local layer.

I figured you may want to look at it to determine if anything might be missing.

https://github.com/WindRiver-OpenSourceLabs/wrlinux/blob/master-wr/recipes-base/packagegroups/packagegroup-busybox-replacement.bb

The parts I see missing (when comparing them) are:

bc
debianutils-run-parts
dhcp-server (likely not needed)
dpkg-start-stop
ifupdown
kbd

In some configurations we also add "fbset, netcat, and usleep" as well... but I
think the reasonable approach is to match the default busybox configuration to
whatever is in this list.

--Mark


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup
  2019-03-04 16:44   ` Mark Hatle
@ 2019-03-04 18:02     ` Tom Rini
  0 siblings, 0 replies; 20+ messages in thread
From: Tom Rini @ 2019-03-04 18:02 UTC (permalink / raw)
  To: Mark Hatle; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 4409 bytes --]

On Mon, Mar 04, 2019 at 10:44:00AM -0600, Mark Hatle wrote:
> On 3/1/19 4:26 PM, Tom Rini wrote:
> > This packagegroup is intended to provide all of the functionality found
> > in other VIRTUAL-RUNTIME_base-utils providers through full packages
> > rather than an all-on-one package.  Document how to make use of this
> > in local.conf.sample.extended.  Introduce VIRTUAL-RUNTIME-vim and
> > default this to vim-tiny to allow for a differently features vim to be
> > used instead.
> > 
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> > ---
> >  meta/conf/local.conf.sample.extended               |  8 ++++
> >  .../packagegroups/packagegroup-core-base-utils.bb  | 49 ++++++++++++++++++++++
> >  2 files changed, 57 insertions(+)
> >  create mode 100644 meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> > 
> > diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
> > index 8062e4c5721b..d00221893ad9 100644
> > --- a/meta/conf/local.conf.sample.extended
> > +++ b/meta/conf/local.conf.sample.extended
> > @@ -384,3 +384,11 @@
> >  #VIRTUAL-RUNTIME_login_manager = "shadow-base"
> >  #VIRTUAL-RUNTIME_init_manager = "systemd"
> >  #VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
> > +
> > +#
> > +# Use a full set of packages instead of busybox for base utils
> > +#
> > +#PREFERRED_PROVIDER_base-utils = "packagegroup-core-base-utils"
> > +#VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
> > +#VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
> > +#VIRTUAL-RUNTIME_base-utils-syslog = "syslog"
> > diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> > new file mode 100644
> > index 000000000000..061dade0bc03
> > --- /dev/null
> > +++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
> > @@ -0,0 +1,49 @@
> > +#
> > +# Copyright (C) 2019 Konsulko Group
> > +#
> > +
> > +SUMMARY = "Full-featured set of base utils"
> > +DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
> > +
> > +inherit packagegroup
> > +
> > +VIRTUAL-RUNTIME_vim ?= "vim-tiny"
> > +
> > +RDEPENDS_${PN} = "\
> > +    base-passwd \
> > +    bash \
> > +    bind-utils \
> > +    bzip2 \
> > +    coreutils \
> > +    cpio \
> > +    dhcp-client \
> > +    diffutils \
> > +    e2fsprogs \
> > +    ed \
> > +    file \
> > +    findutils \
> > +    gawk \
> > +    grep \
> > +    gzip \
> > +    inetutils \
> > +    iproute2 \
> > +    kmod \
> > +    less \
> > +    lzip \
> > +    ncurses-tools \
> > +    net-tools \
> > +    parted \
> > +    patch \
> > +    procps \
> > +    psmisc \
> > +    sed \
> > +    shadow-base \
> > +    tar \
> > +    time \
> > +    unzip \
> > +    util-linux \
> > +    ${VIRTUAL-RUNTIME_vim} \
> > +    wget \
> > +    which \
> > +    xz \
> > +    "
> > 
> 
> Sorry missed this earlier.  On note, we have a similar recipe in our local layer.
> 
> I figured you may want to look at it to determine if anything might be missing.
> 
> https://github.com/WindRiver-OpenSourceLabs/wrlinux/blob/master-wr/recipes-base/packagegroups/packagegroup-busybox-replacement.bb
> 
> The parts I see missing (when comparing them) are:
> 
> bc

I had this initially but bc isn't enabled in busybox (anymore?).

> debianutils-run-parts
> dhcp-server (likely not needed)
> dpkg-start-stop
> ifupdown

These fall into the category of "Oh, I need to try without systemd".
I'll put those in and give it a spin.

> kbd

This is in, but via a dep rather than explicit, so I'll list it.

> In some configurations we also add "fbset, netcat, and usleep" as well... but I
> think the reasonable approach is to match the default busybox configuration to
> whatever is in this list.

Ah fbset, going off on a quick tangent, I see 2.1 from 1999 is still the
latest and greatest.  Good times!  I'm not sure if we should move fbset
to oe-core however.  For netcat, we have netcat-openbsd in meta-oe which
is 'nc' and would match busybox saying CONFIG_NC=y and CONFIG_NETCAT=n.
For usleep, real sleep (and busybox sleep when configured) supports
decimals so I would be inclined to say sleep is good enough.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-03-04 18:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01 22:26 [PATCH 0/4] Introduce packagegroup-core-base-utils Tom Rini
2019-03-01 22:26 ` [PATCH 1/4] vim: Import version 8.1.0347 Tom Rini
2019-03-02  9:15   ` Martin Jansa
2019-03-02 12:36     ` Tom Rini
2019-03-02 12:57       ` Tom Rini
2019-03-02 15:42   ` Joshua Watt
2019-03-01 22:26 ` [PATCH 2/4] inetutils: Import version 1.9.4 Tom Rini
2019-03-02 17:00   ` Richard Purdie
2019-03-02 17:46     ` Tom Rini
2019-03-02 19:25       ` Richard Purdie
2019-03-02 19:28         ` Tom Rini
2019-03-04  9:47   ` André Draszik
2019-03-04 16:40     ` Tom Rini
2019-03-01 22:26 ` [PATCH 3/4] packagegroup-core-base-utils: Introduce new base-utils packagegroup Tom Rini
2019-03-02 14:41   ` Tom Rini
2019-03-04 16:44   ` Mark Hatle
2019-03-04 18:02     ` Tom Rini
2019-03-01 22:26 ` [PATCH 4/4] imagefeatures: Add test to blacklist building busybox Tom Rini
2019-03-02  7:11 ` [PATCH 0/4] Introduce packagegroup-core-base-utils Adrian Bunk
2019-03-02 12:36   ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.