Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Carlos Santos <casantos@datacom.ind.br>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v6] util-linux: rework utilities menu for finer control
Date: Fri, 8 Jul 2016 17:33:05 -0300 (BRT)	[thread overview]
Message-ID: <903784225.9298241.1468009985372.JavaMail.zimbra@datacom.ind.br> (raw)
In-Reply-To: <20160706215407.GF3763@free.fr>

> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> To: "Carlos Santos" <casantos@datacom.ind.br>
> Cc: buildroot at buildroot.org, "romain naour" <romain.naour@gmail.com>
> Sent: Wednesday, July 6, 2016 6:54:07 PM
> Subject: Re: [Buildroot] [PATCH v6] util-linux: rework utilities menu for finer control

---8<---
> I know this is already version 6 of the patch, yet, there are still
> issues with this patch. It lacked more reviews so far becasue it is too
> big.
> 
> First, it is too big because it groups together at least three different
> changes:
> 
>  - cleanups in the libraries and tools selections: this should be a
>    patch on its own (but see more comments below);
> 
>  - addition of new libs and tools: this should be a second, separate
>    patch too;
> 
>  - addition of the biggish choice: this should be done as a separate
>    third patch, on its own. Furthemore, it should default to installign
>    everything (or at least, as much as possible), otherwise the
>    autobuilders would default to installing nothing, and thus we would
>    never exercise this package at all.
---8<---

OK, I will split the patch as suggested.

---8<--- 

>> +choice
>> +	prompt "Install utilities"
>> +	default BR2_PACKAGE_UTIL_LINUX_NO_BINARIES
>> +
>> +config BR2_PACKAGE_UTIL_LINUX_NO_BINARIES
>> +	bool "none"
>> +	help
>> +	  Disable all util-linux binaries.
>> +
>> +config BR2_PACKAGE_UTIL_LINUX_ALL_BINARIES
>> +	bool "all"
>>  	depends on BR2_USE_MMU # fork()
>> -	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
>> -	select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
>> -	select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
>> -	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID     # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT     # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK     # fdisk, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID      # findmnt, etc
>> +	select BR2_PACKAGE_LINUX_PAM  # login utils
>> +	select BR2_PACKAGE_ZLIB  # cramfs
>> +	select BR2_PACKAGE_NCURSES  # more, setterm, ul
>> +	select BR2_PACKAGE_LIBCAP_NG  # setpriv
>> +	help
>> +	  Install the complete set of util-linux binaries.
>> +
>> +config BR2_PACKAGE_UTIL_LINUX_BINARIES
>> +	bool "custom"
>>  	help
>> -	  Install the basic set of util-linux binaries.
>> +	  Manually select which util-linux binaries to install.
>> +
>> +endchoice
> 
> As said above, this choice would default to "none", which is not nice
> for the user (if util-linux is selected, surely the user wants things
> from it). It laso means the autobuilders (which can't randomise the
> choices) would never really test util-linux.

I can make "basic set" the default but this will be different from the current default and potentally conflict with busybox. Remember that installing only the libraries is a valid option because other packages require them (bcache-tools, btrfs-progs, e2fsprogs, efl, eudev, systemd and xfsprogs select BR2_PACKAGE_UTIL_LINUX_LIBBLKID).

> So, it should default to "all". And I think the entries should be
> re-orderd, like that:
> 
>    all
>    none
>    custom
> 
>>  if BR2_PACKAGE_UTIL_LINUX_BINARIES
>>  
>> +config BR2_PACKAGE_UTIL_LINUX_BASIC_SET
>> +	bool "Basic set"
> 
> Would it make sense to have this in the choice?
> 
>    all
>    basic set
>    none
>    custom

The problem is that both "all" and "custom" are supersets of "basic set". I will look for a better way to group them.

>> +	default y
>> +	depends on BR2_USE_MMU # fork() (dmesg, flock, script, setsid, swapon)
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID     # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT     # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK     # fdisk, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS # findmnt, etc
>> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID      # findmnt, etc
>> +	help
>> +	  Install a basic set of util-linux binaries.
>> +
>> +	  blkdiscard, blkid, blockdev, chcpu, col, colcrt, colrm,
>> +	  column, ctrlaltdel, dmesg, fdisk, findfs, findmnt, flock,
>> +	  fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize, ldattach,
>> +	  look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie, mkfs,
>> +	  mkswap, namei, prlimit, readprofile, renice, rev, rtcwake,
>> +	  script, scriptreplay, setarch, setsid, sfdisk, swaplabel,
>> +	  swapoff, swapon, tailf, uuidgen, whereis, wipefs
> 
> Is this list supposed to change between version of util-linux?
> I don't think we should assume it would not.
> 
> This will make it rather difficult to maintain that list when bumping to
> a new version.
> 
> I would suggest that we do not mention that list at all (unless there is
> a super-easy way to get it just by extracting the source of util-linux).


It is easy to obtain. Just choose the basic set, make run

    $ make util-linux-dirclean util-linux
    $ make util-linux-reinstall TARGET_DIR=/tmp/util-linux-target
    $ echo $(find /tmp/util-linux-target/{usr/,}{s,}bin -type f | sed -e 's:.*/::g'|sort)|sed 's/ /, /g'

> I've stopped reviewing here, becasue all the following changes are
> partly due to each of the three changes your patch does.
> 
> Could you please split it on three, as explained above, and respin?
> 
> To be honest, I'm not sure if the biggish choice will eventually land,
> but at least the fixups and the additions of new libs and tools will.

Thanks for the review!

Carlos Santos (Casantos)
DATACOM, P&D

  reply	other threads:[~2016-07-08 20:33 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-04 14:38 [Buildroot] [PATCH 1/1] uboot-tools: add missing dependency on host-dtc for the host package Carlos Santos
2016-05-05 20:09 ` Thomas Petazzoni
2016-05-05 20:17   ` Peter Korsgaard
2016-05-05 21:40     ` Yann E. MORIN
2016-05-05 20:32   ` Carlos Santos
2016-05-05 20:36     ` Thomas Petazzoni
2016-05-05 21:27     ` Yann E. MORIN
2016-05-05 21:38       ` Thomas Petazzoni
2016-05-05 21:44         ` Yann E. MORIN
2016-05-06 12:02           ` Carlos Santos
2016-05-06 11:59 ` [Buildroot] [PATCH v2 " Carlos Santos
2016-05-06 13:25   ` Thomas Petazzoni
2016-05-08 19:39     ` Carlos Santos
2016-05-08 19:46   ` [Buildroot] [PATCH v3] uboot-tools: fix FIT support and make it optional Carlos Santos
2016-05-08 19:46     ` Carlos Santos
2016-05-28 13:07       ` Thomas Petazzoni
2016-05-31 17:33         ` Carlos Santos
2016-05-31 19:01           ` Thomas Petazzoni
2016-05-31 19:40             ` Carlos Santos
2016-05-31 19:48               ` Thomas Petazzoni
2016-06-01 14:39     ` [Buildroot] [PATCH next 0/4] uboot-tools: fix support for Flat Image Trees (FIT) Carlos Santos
2016-06-01 14:39       ` [Buildroot] [PATCH next 1/4] uboot-tools: use $(TARGET_STRIP) for target utilities Carlos Santos
2016-06-01 14:39       ` [Buildroot] [PATCH next 2/4] uboot-tools: improve the help text of existing options Carlos Santos
2016-06-01 14:39       ` [Buildroot] [PATCH next 3/4] uboot-tools: re-generate patches to match v2016.05 Carlos Santos
2016-06-01 14:39       ` [Buildroot] [PATCH next 4/4] uboot-tools: fix FIT support and make it optional Carlos Santos
2016-06-01 15:08         ` Thomas Petazzoni
2016-06-03 19:35         ` [Buildroot] [PATCH v4] " Carlos Santos
2016-06-07  2:25           ` [Buildroot] [PATCH v5] util-linux: rework utilities menu for finer control Carlos Santos
2016-07-05 15:11             ` Romain Naour
2016-07-06  2:43               ` Carlos Santos
2016-07-06  2:55                 ` [Buildroot] [PATCH v6] " Carlos Santos
2016-07-06 21:54                   ` Yann E. MORIN
2016-07-08 20:33                     ` Carlos Santos [this message]
2016-07-08 20:52                       ` Yann E. MORIN
2016-07-10  1:16                         ` [Buildroot] [PATCH v7 0/3] util-linux: cleanups, additions and reworked utilities menu Carlos Santos
2016-07-10  1:16                           ` [Buildroot] [PATCH v7 1/3] util-linux: clean up libraries and tools selections Carlos Santos
2016-10-16 13:55                             ` Thomas Petazzoni
2016-07-10  1:16                           ` [Buildroot] [PATCH v6] util-linux: rework utilities menu for finer control Carlos Santos
2016-07-10  1:16                           ` [Buildroot] [PATCH v7 2/3] util-linux: expand selection of libraries and utilities Carlos Santos
2016-10-16 13:56                             ` Thomas Petazzoni
2016-07-10  1:16                           ` [Buildroot] [PATCH v7 3/3] util-linux: rework utilities menu for finer control Carlos Santos
2016-10-16 14:02                             ` Thomas Petazzoni
2016-06-07 21:12           ` [Buildroot] [PATCH v4] uboot-tools: fix FIT support and make it optional Thomas Petazzoni
2016-06-01 15:07       ` [Buildroot] [PATCH next 0/4] uboot-tools: fix support for Flat Image Trees (FIT) Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=903784225.9298241.1468009985372.JavaMail.zimbra@datacom.ind.br \
    --to=casantos@datacom.ind.br \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox