Util-Linux Archive on lore.kernel.org
 help / Atom feed
* [ANNOUNCE] util-linux v2.33-rc1
@ 2018-09-25 10:47 Karel Zak
  2018-09-30 23:33 ` L A Walsh
  2018-10-04 22:11 ` [ANNOUNCE] util-linux v2.33-rc1 Ruediger Meier
  0 siblings, 2 replies; 13+ messages in thread
From: Karel Zak @ 2018-09-25 10:47 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel, util-linux


The util-linux release v2.33-rc1 is available at

  http://www.kernel.org/pub/linux/utils/util-linux/v2.33/

Feedback and bug reports, as always, are welcomed.

  Karel



Util-linux 2.33 Release Notes
=============================
 
Release highlights
------------------

choom -- NEW COMMAND to adjust and display the current OOM-killer score.

The library libsmartcols has been improved to differentiate between numbers,
booleans and strings in JSON output. The old versions uses strings everywhere.
It's recommended to re-test your applications if you parse JSON outputs from
util-linux tools.

The command fstrim(8) has been extended to trim all mounted filesystems from
/etc/fstab (-A|--fstab). This semantic is the default for systemd
fstrim.service now.  The original default for the service was to trim all
(-a|--all) mounted filesystems (including for example removable media). Now it
is also possible to test fstrim behavior by new command line option --dry-run.

The command hwclock(8) provides a new command line option --delay to overwrite
internally used delay when set clock time. The default is 0.5 (500ms) for
rtc_cmos, for another RTC types the delay is 0. If RTC type is impossible to
determine (from sysfs) then it defaults also to 0.5 to be backwardly
compatible. The 500ms default is based on commonly used MC146818A-compatible
(x86) hardware clock.

The commands mount and umount, and libmount allow to mount and umount
filesystem in another namespace. The namespace may be specified by --namespace
<pid|path> command line option. The commands switch to the namespace when it
reads /etc/fstab, writes /etc/mtab (or writes to /run/mount) and calls [u]mount
system calls, otherwise it runs in the original namespace. It means that the
target namespace does not have to contain any libraries or another requirements
necessary to execute mount(8) or umount(8) commands.

The command rename(1) provides a new command line option --interactive to ask
before overwriting.

The command setarch(8) does not require architecture when modify personality like
ADDR_NO_RANDOMIZE. The architecture argument is optional now.

The command su(1) provides a new command line option --whitelist-environment to
protect specified variables when su(1) starts a new session.

The command setpriv(1) provides a new command line option --reset-env to reset
all environment. The another new command line option --pdeathsig allows to
keep, clear or or set the parent death signal. Note that some LSMs, most notably
SELinux and AppArmor, clear the signal when the process' credentials change.

The commands fdisk(8) and sfdisk(8) print disk model name to simplify device
identification.

The command "column --table-empty-lines" allows to use empty lines in formatted 
output.

The command wipefs has been improved to postpone BLKRRPART (re-read partition
table) ioctl until all magic strings are wiped. This semantic allows to avoid
conflicts between on partition magic strings and partition tables.

The command script(1) has been extended to store more information about
terminal size and type to the typescript header. The size of the output may be
also restricted by a new command line option --output-limit.

The libblkid provides BitLocker and basic APFS detection now.

The command lsblk is possible to execute against /sys and /proc dumps if command
line option --sysroot is specified. This allows to prepare regression tests for
lsblk.  So, if you have a complicated or unusual setup (RAIDs, pools, etc) than
you can use
  https://raw.githubusercontent.com/karelzak/util-linux/master/tests/ts/lsblk/mk-input.sh
to generate the dump and send the tarball to upstream developers. (Thanks!)


The script ./configure has been improved and --with/without command line
options should be more consistent now. It's recommended to re-test your build
scripts.


Stable maintenance releases between v2.32 and v2.33
---------------------------------------------------
 
util-linux 2.32.1 [Jul 16 2018]
 
 * https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ReleaseNotes
   https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ChangeLog
 
 
Changes between v2.32 and v2.33
-------------------------------

agetty:
   - agetty.8 Avoid a warning about an unbreakable line  [Bjarni Ingi Gislason]
   - keep c_iflags unmodified on --autologin  [Karel Zak]
bash-completion:
   - add findmnt --real --pseudo  [Karel Zak]
   - add swapon specifiers to completion  [Sami Kerola]
   - do not print eject --cdspeed error messages  [Sami Kerola]
   - fix few bash set -u issues  [Sami Kerola]
   - fix typo in blockdev file  [Sami Kerola]
   - setpriv --securebits argument can be comma separated list  [Sami Kerola]
   - update column  [Karel Zak]
blkid:
   - (man) add note about udev encoding  [Karel Zak]
   - Encode any field which starts with LABEL in same way as LABEL field  [Pali Rohár]
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
blkzone:
   - fix whole device detection  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
blockdev:
   - use new ul_path_* API  [Karel Zak]
bugfix:
   - fix possible segfault during umount -a  [Richard Fuchs]
build:
   - Add missing -lintl linkage to lib{smartcols,uuid}  [Karel Zak]
build-sys:
   - --without-systemd disables --with-systemdsystemunitdir  [Karel Zak]
   - add -Wdiscarded-qualifiers  [Karel Zak]
   - add -Wno-cast-function-type for python  [Karel Zak]
   - cleanup --with/--without help strings  [Karel Zak]
   - default to /lib64 for ${exec_prefix}/lib64  [Karel Zak]
   - extend "Could not locate the pkg-config" error message  [Karel Zak]
   - fix typo in man install  [Karel Zak]
   - improve bison version detection  [Karel Zak]
cal:
   - fix --span for large numbers of months  [Karel Zak]
   - use snprintf everywhere  [Karel Zak]
cfdisk:
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
   - fix compiler warnings, follow-up 7085f1e4 (#636)  [Ruediger Meier]
   - fix missing prototype for `get_wch`  [Patrick Steinhardt]
   - use uint64_t to avoid compiler warnings  [Karel Zak]
chcpu:
   - Fix maximal number of CPUs  [Stanislav Brabec]
   - use new ul_path_* API  [Karel Zak]
chmem:
   - use new ul_path_* API  [Karel Zak]
choom:
   - fix build, remove unnecessary include  [Karel Zak]
   - new command to adjust OOM-killer score value  [Karel Zak]
   - set oom_score_adj before exec  [Vaclav Dolezal]
   - use new ul_path_* API  [Karel Zak]
closestream:
   - remove dummy function __fpending()  [Sami Kerola]
column:
   - add --table-empty-lines  [Karel Zak]
   - fix leading space characters bug  [Karel Zak]
ctrlaltdel:
   - use new ul_path_* API  [Karel Zak]
dmesg:
   - fix raw output  [Karel Zak]
   - link together with syslog(2) manual page  [Sami Kerola]
docs:
   - add adjtime_config(5) man page  [Karel Zak]
   - add cal(1) TODO items  [Karel Zak]
   - add choom to TODO  [Karel Zak]
   - add fdisk to TODO  [Karel Zak]
   - add hint about script  [Karel Zak]
   - add hwclock to TODO  [Karel Zak]
   - add note about --disable-all-programs  [Karel Zak]
   - add note about lsblk to TODO  [Karel Zak]
   - add note about lsblk usage/free cols  [Karel Zak]
   - add to column(1) TODO  [Karel Zak]
   - cleanup TODO  [Karel Zak]
   - remove obsolete entry from TODO  [Karel Zak]
   - update AUTHORS file  [Karel Zak]
   - update TODO  [Karel Zak]
   - update TODO (libblkid)  [Karel Zak]
   - update TODO (lsblk)  [Karel Zak]
   - use SPDX license names  [Karel Zak]
exec_shell:
   - prevent ".  applet not found" error when SHELL env is not set.  [osexp2000]
fallocate:
   - add man page note about --collapse-range granularity  [Karel Zak]
   - add missing semicolon  [Matti Niemenmaa]
   - remove unwanted debug message  [Karel Zak]
fdisk:
   - add "Disk model " to the print output  [Karel Zak]
   - fix compiler warning [-Wmaybe-uninitialized]  [Karel Zak]
   - fix error message on 'd' command  [Karel Zak]
   - fix typo in debug string  [Vaclav Dolezal]
fincore:
   - fincore.1 add missing space  [Jakub Wilk]
   - use scols_column_set_json_type()  [Karel Zak]
findmnt:
   - add --output-all option  [Sami Kerola]
   - use scols_column_set_json_type()  [Karel Zak]
fstrim:
   - Return EXIT_FAILURE when FTRIM ioctl fails  [Karel Zak]
   - add --dry-run  [Karel Zak]
   - add -A|--fstab to trim according to /etc/fstab  [Karel Zak]
   - add control struct  [Karel Zak]
   - cleanup includes  [Karel Zak]
   - update .service to follow /etc/fstab  [Karel Zak]
   - use -n shortcut for --dry-run  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
   - use new ul_path_* API, improve sysfs context usage  [Karel Zak]
hwclock:
   - add --delay <seconds>  [Karel Zak]
   - fix warning  [Karel Zak]
   - rely on kernel for RTC_UIE_ON on Aplha and Sparc  [Karel Zak]
   - remove ntpd from man page  [Karel Zak]
include/all-io:
   - const cleanup  [Karel Zak]
include/list, include/c:
   - update and container_of()  [Karel Zak]
include/path:
   - make sure PATH_MAX is defined  [Karel Zak]
include/pt-mbr.h:
   - fix integer overflow  [Sami Kerola]
include/strutils:
   - remove unnecessary cast  [Karel Zak]
ipcs:
   - use new ul_path_* API  [Karel Zak]
ipcs,chmem:
   - fix access() usage  [Ruediger Meier]
iscript:
   - s/COLS/COLUMNS/ in start message  [Karel Zak]
last:
   - fix false positive compiler warning  [Sami Kerola]
lib/canonicalize:
   - fix truncation warning  [Sami Kerola]
lib/color-names:
   - const cleanup  [Karel Zak]
lib/colors:
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
lib/loopdev:
   - fix compiler warning [-Wcast-qual]  [Karel Zak]
   - remove obsolete macro  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
lib/mangle:
   - const quialifier cleanup  [Karel Zak]
lib/pager:
   - fix compiler warning [-Wrestrict]  [Karel Zak]
lib/path:
   - add more debug messages  [Karel Zak]
   - add ul_path_get_abspath()  [Karel Zak]
   - add ul_path_read_buffer()  [Karel Zak]
   - add ul_prefix_fopen(), improve cpuset funcs  [Karel Zak]
   - allow dir-path formatting  [Karel Zak]
   - don't use extra '/'  [Karel Zak]
   - fix read string to be backwardly compatible  [Karel Zak]
   - improve debug message on redirect  [Karel Zak]
   - make ul_path_read_ usable with NULL handler  [Karel Zak]
   - new implementation  [Karel Zak]
   - remove unused expression  [Ruediger Meier]
   - simplify debug message  [Karel Zak]
lib/path lib/sysfs:
   - add debug  [Karel Zak]
lib/strutils:
   - fix strnlen() fallback  [Karel Zak]
   - follow const in parse_size()  [Karel Zak]
   - remove redundant condition  [Karel Zak]
   - return from xstrmode()  [Karel Zak]
lib/sysfs:
   - add sysfs_blkdev_get_parent()  [Karel Zak]
   - add ul_new_sysfs_path() shortcut  [Karel Zak]
   - cleanup function names  [Karel Zak]
   - fix sysfs_blkdev_get_wholedisk()  [Karel Zak]
   - fix ul_path_read_string() usage  [Karel Zak]
   - make possible to call sysfs_blkdev_deinit_path() in loop  [Karel Zak]
   - new implementation  [Karel Zak]
libblkid:
   - (hfs) check allocation size  [Karel Zak]
   - (ntfs) enlarge cluster limit to 2MB  [Karel Zak, Jean-Pierre André]
   - (ntfs) fix cluster size check  [Karel Zak]
   - (zfs) fix compiler warning [-Wmaybe-uninitialized]  [Karel Zak]
   - Add more APFS checking to avoid false positives  [Harry Mallon]
   - Add very basic APFS recognition  [Harry Mallon]
   - Check for a secondary LUKS2 header.  [Milan Broz]
   - add BitLocker detection  [Karel Zak]
   - const qualifier cleanup  [Karel Zak]
   - udf  Fix reporting UDF 2.60 revision  [Pali Rohár]
   - use new ul_path_* API  [Karel Zak]
   - use xstrncpy() for PT id [coverity scan]  [Karel Zak]
   - vfat  Change parsing label in special cases  [Pali Rohár]
libfdisk:
   - (docs) add missing function  [Karel Zak]
   - (docs) fix section name  [Karel Zak]
   - Accept negative numbers for last sector input  [Awal Garg]
   - Fix multipath partition seperators for user-friendly names  [KyleMahlkuch]
   - accept grain script header  [Karel Zak]
   - add fdisk_get_devmodel() and fdisk_get_devno()  [Karel Zak]
   - count gaps to possible size when resize  [Karel Zak]
   - fix compiler warning [-Wmaybe-uninitialized]  [Karel Zak]
   - fix compiler warning [-Wunused-parameter]  [Karel Zak]
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
   - fix list_del after partition reset  [Vaclav Dolezal]
   - improve JSON output  [Karel Zak]
   - reduce number of asprintf() calls, check return value  [Karel Zak]
   - use \x<hex> to read/write partition name  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
libmount:
   - (mountinfo) parse empty strings in source  [Alban Crequy]
   - (utils) fix compiler warnings [-Wcast-qual]  [Karel Zak]
   - accept another flags on MS_REMOUNT|MS_BIND  [Karel Zak]
   - add missing const  [Karel Zak]
   - add since tag for new functions  [Karel Zak]
   - add support for switching namespaces  [Vaclav Dolezal]
   - added error MNT_ERR_NAMESPACE  [Vaclav Dolezal]
   - cleanup const in umount code  [Karel Zak]
   - cleanup licenses sections in the files  [Karel Zak]
   - don't use MS_MGC_VAL magic in mount(2) syscall  [Karel Zak]
   - fix compiler warning [-Wcast-qual]  [Karel Zak]
   - fix compiler warning [-Wunused-parameter]  [Karel Zak]
   - fix mnt_table_is_fs_mounted() for NFS bind mounts.  [NeilBrown]
   - improve MS_REC usage  [Karel Zak]
   - improve docs about mnt_context_mount() return codes  [Karel Zak]
   - include sys/mount.h on Linux only  [Karel Zak]
   - include sys/mount.h only if necessary  [Karel Zak]
   - make errno usable after mnt_context_set_target_ns()  [Karel Zak]
   - note namespaces in mnt_reset_context() docs  [Vaclav Dolezal]
   - report context paths on debug  [Karel Zak]
   - support for namespaces for helpers  [Vaclav Dolezal]
   - switch namespace when appropriate  [Vaclav Dolezal]
   - use const char in fstab parser  [Karel Zak]
   - use const char in mountinfo parser  [Karel Zak]
   - use const char in swaps parser  [Karel Zak]
libsmartcols:
   - allow to add line to table without columns  [Karel Zak]
   - don't mark as extreme where average is zero  [Karel Zak]
   - don't print empty column  [Karel Zak]
   - improve JSON support (add types)  [Karel Zak]
   - make sure boolean is true/false only  [Karel Zak]
libuuid:
   - add note about RFC4122 UUID layout  [Karel Zak]
   - fix name-based UUIDs  [Karel Zak]
logger:
   - Define SD_JOURNAL_SUPPRESS_LOCATION.  [YmrDtnJu]
   - add -S to the man page  [Karel Zak]
login:
   - use const qualifier for username from PAM or struct passwd [-Wcast-qual]  [Karel Zak]
losetup:
   - add --output-all option  [Sami Kerola]
   - add reference to suffixes for --{sizelimit,offset}  [Karel Zak]
   - fix mem leak, improve code [coverity scan]  [Karel Zak]
   - keep -f and <devname> mutually exclusive  [Karel Zak]
   - use scols_column_set_json_type()  [Karel Zak]
lsblk:
   - add --sysroot  [Karel Zak]
   - add PATH column  [Karel Zak]
   - add columns FSAVAIL,FSSIZE,FSUSED,FSUSE%  [Karel Zak]
   - add lsblk.h  [Karel Zak]
   - add note about --list -I <maj,...>  [Karel Zak]
   - add partition table UUID and type fields.  [Milan Broz]
   - cleanup udev/blkid properties code  [Karel Zak]
   - consolidate column types for JSON and qsort()  [Karel Zak]
   - differentiate between swap and mount  [Karel Zak]
   - document --sysroot  [Karel Zak]
   - don't ask udev when --sysroot specified  [Karel Zak]
   - don't exclude RAM disks on --all  [Karel Zak]
   - encapsulate stat() usage  [Karel Zak]
   - fix COL_SCHED  [Karel Zak]
   - fix notes about RAM disks  [Karel Zak]
   - fix sysfs_devno_to_devname() usage  [Karel Zak]
   - fix ul_path_read_string() usage  [Karel Zak]
   - follow --sysroot when read mountpoints  [Karel Zak]
   - init/deinit libmount stuff  [Karel Zak]
   - move mount stuff to lsblk-mnt.c  [Karel Zak]
   - move udev and blkid stuff to lsblk-properties.c  [Karel Zak]
   - prefer MODEL from udev DB  [Karel Zak]
   - use lsblk_ prefix mountpoint getter  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
   - use prefix for DM name  [Karel Zak]
lscpu:
   - Cortex-A12 merged into Cortex-A17  [Karel Zak]
   - add 'Address sizes'  [Karel Zak]
   - add --output-all option  [Sami Kerola]
   - fix resource leak [coverity scan]  [Karel Zak]
   - fixed part ID for ARM Cortex-M7  [Mark Sheppard]
   - make xasprintf call more robust  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
   - use the first VM from /proc/sysinfo  [Karel Zak]
lscpu, chcpu:
   - Avoid use of the old CPU macros  [Stanislav Brabec]
lsipc:
   - cleanup columns[] usage  [Karel Zak]
lslocks:
   - add --bytes cleanup SIZE usage  [Karel Zak]
   - add --output-all option  [Sami Kerola]
   - add info about OFD  [Karel Zak]
   - fix memory leak  [Karel Zak]
   - use scols_column_set_json_type()  [Karel Zak]
lslogins:
   - add --output-all option  [Sami Kerola]
   - add -o+<COLNAME> support  [Karel Zak]
   - add PWD-METHOD column  [Karel Zak]
   - add info about single-user output mode  [Karel Zak]
   - fix password verification  [Karel Zak]
   - remove redundant condition  [Karel Zak]
   - return 1 on "lslogins nonexisting"  [Karel Zak]
lsmem:
   - add --output-all option  [Sami Kerola]
   - improve JSON output  [Karel Zak]
   - make output more compatible with another utils  [Karel Zak]
   - remove unused variable  [Karel Zak]
   - use new ul_path_* API  [Karel Zak]
lsns:
   - add --output-all option  [Sami Kerola]
   - remove unnecessary include  [Karel Zak]
   - use scols_column_set_json_type()  [Karel Zak]
man:
   - Change the only argument to two for the two-fonts macros  [Bjarni Ingi Gislason]
   - Use the correct macro for a font change of one argument  [Bjarni Ingi Gislason]
   - choom.1  Use the correct macro for the font change of one argument  [Bjarni Ingi Gislason]
man pages:
   - Fix misuse of two-fonts-macros (BR, IR)  [Bjarni Ingi Gislason]
   - Remove "left" (or change to "l") in the column formats of tables  [Bjarni Ingi Gislason]
   - fix formatting of long lines in tables  [Bjarni Ingi Gislason]
mesg:
   - do not print 'ttyname failed' message unless --verbose requested  [Sami Kerola]
misc-tools/findmnt:
   - a few whitespace fixes  [sluidfoe]
   - add --pseudo, --real filters  [sluidfoe]
misc-utils/findmnt:
   - misc-utils/findmnt.8 add --pseudo and --real options  [sluidfoe]
misc-utils/getopt:
   - misc-utils/getopt.1 minor corrections to the manual  [Bjarni Ingi Gislason]
mkfs.cramfs:
   - remove redundant condition  [Karel Zak]
mkswap:
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
more:
   - do not call fileno() for std{in,out,err} streams  [Sami Kerola]
   - move couple functions  [Sami Kerola]
   - remove 'register' keywords  [Sami Kerola]
   - remove dead code and useless comments  [Sami Kerola]
   - remove function like preprocessor defines  [Sami Kerola]
   - remove function prototypes  [Sami Kerola]
   - remove global variables, add struct more_control  [Sami Kerola]
   - remove pointless functions  [Sami Kerola]
   - remove unnecessary ifdef preprosessor directives  [Sami Kerola]
   - rename functions  [Sami Kerola]
   - rename variable names  [Sami Kerola]
   - reorder global declarations  [Sami Kerola]
   - return is statement not a function  [Sami Kerola]
mount:
   - add -N to man page helpers section  [Karel Zak]
   - add details about mtab and --namespace to mount.8  [Karel Zak]
   - add ext4 to some places to the man page  [Karel Zak]
   - add support for namespaces  [Vaclav Dolezal]
   - added options exposing libmount's optsmode  [Vaclav Dolezal]
   - allow PID as --namespace argument  [Vaclav Dolezal]
   - document --namespace in man/help  [Vaclav Dolezal]
   - document --options-* in man/help  [Vaclav Dolezal]
   - keep MS_MOVE as flag  [Karel Zak]
   - more notes about --options-* to man page  [Karel Zak]
   - use internally string to set move/bind operations  [Karel Zak]
   - use string_to_bitmask()  [Vaclav Dolezal]
mount(8):
   - clarify behavior of --options-mode  [Vaclav Dolezal]
mountpoint:
   - simplify test condition [cppcheck]  [Sami Kerola]
namei:
   - provide more usable error message on lstat() error  [Karel Zak]
nls:
   - remove translation strings  [Sami Kerola]
partx:
   - add --output-all option  [Sami Kerola]
   - exit with error code when partition read failed  [Andreas Henriksson]
   - use new ul_path_* API  [Karel Zak]
po:
   - fix lsblk translation  [Karel Zak]
   - merge changes  [Karel Zak]
   - pt_BR  fix fallocate '-l' help msg  [Luiz Angelo Daros de Luca]
   - update ja.po (from translationproject.org)  [Takeshi Hamasaki]
   - update pt_BR.po (from translationproject.org)  [Rafael Fontenelle]
   - update sv.po (from translationproject.org)  [Sebastian Rasmussen]
rename:
   - add option --interactive to ask before overwriting  [G.raud Meyer]
   - ask()  call __fpurge() to cater for multi-byte characters  [G.raud Meyer]
   - ask()  print n when EOF on input  [G.raud Meyer]
   - check source file access early  [G.raud Meyer]
   - consolidate printing the symlink in addition to its target  [G.raud Meyer]
   - detect tty in cbreak mode to make ask() read a single byte  [G.raud Meyer]
   - fix/reverse the semantics of --no-overwrite in --symlink mode  [G.raud Meyer]
   - fixup & style (no functional changes)  [G.raud Meyer]
   - prevent --no-act from setting --no-overwrite  [G.raud Meyer]
   - rename.1 describe interactive mode  [G.raud Meyer]
   - rename.1 fix warning section  [G.raud Meyer]
   - skip faccessat() failure if AT_SYMLINK_NOFOLLOW is not a valid flag  [G.raud Meyer]
   - test availability of __fpurge() and fpurge()  [G.raud Meyer]
   - when --no-overwrite skip verbosily only when --verbose  [G.raud Meyer]
resizepart:
   - use new ul_path_* API  [Karel Zak]
rev:
   - move a global variable to local scope  [Sami Kerola]
rfkill:
   - add --output-all option  [Sami Kerola]
   - don't use lib/path  [Karel Zak]
   - include <poll.h> instead of <sys/poll.h>  [Patrick Steinhardt]
   - use scols_column_set_json_type()  [Karel Zak]
script:
   - add more info to script header  [Karel Zak]
   - add the -o/--output-limit option. Fix race test.  [Fred Mora]
   - be sensitive to another SIGCHLD ssi_codes  [Karel Zak]
   - cleanup done timestamp message  [Karel Zak]
   - fix printf format specifiers  [Ruediger Meier]
   - record exit code  [Karel Zak]
   - use uint64_t for file sizes  [Karel Zak]
setarch:
   - add another PER_LINUX32 aliases for ppcle  [Karel Zak]
   - make <arch> optional  [Karel Zak]
   - split set_arch() function to small functions  [Karel Zak]
setpriv:
   - add --reset-env  [Karel Zak]
   - add user/group names to usage()  [Karel Zak]
   - allow to use group name for --groups  [Karel Zak]
   - implement option to set parent death signal  [Patrick Steinhardt]
setterm:
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
sfdisk:
   - document script GPT headers  [Karel Zak]
su:
   - add --whitelist-environment  [Karel Zak]
   - add note about SIGKILL to the man page  [Karel Zak]
   - add note about merged /usr  [Karel Zak]
sulogin:
   - do not use plain 0 as NULL  [Karel Zak]
   - restore signals after failed exec() only  [Karel Zak]
swapon:
   - add --output-all option  [Sami Kerola]
   - fix compiler warnings [-Wcast-qual]  [Karel Zak]
sys-utils/fallocate:
   - sys-utils/fallocate.1 Some tidying of the manual  [Bjarni Ingi Gislason]
test:
   - update UUID v5 tests  [Karel Zak]
tests:
   - Add tests for FAT32 labels  [Pali Rohár]
   - add cal --span tests  [Karel Zak]
   - add column --table-empty-lines test  [Karel Zak]
   - add empty column test  [Karel Zak]
   - add lsblk test script  [Karel Zak]
   - add mountinfo with empty source  [Karel Zak]
   - add simple & stupid script to generate lsblk /sys and /proc dump  [Karel Zak]
   - add simple ATA and NVME lsblk dump  [Karel Zak]
   - add simple LVM lsblk dump  [Karel Zak]
   - check for test_cal  [Karel Zak]
   - move stderr redirection out from test expression  [Sami Kerola]
   - remove debug stuff from ts/script/options  [Karel Zak]
   - remove namei(1) failed lstat test  [Karel Zak]
   - update JSON outputs  [Karel Zak]
   - update column(1) space-separator test  [Karel Zak]
   - update fdisk dialogs  [Karel Zak]
   - update fdisk output  [Karel Zak]
   - update lscpu tests  [Karel Zak]
   - update script done messages  [Karel Zak]
   - update script headers  [Karel Zak]
   - update sfdisk JSON output  [Karel Zak]
   - update sfdisk resize  [Karel Zak]
umount:
   - add --quiet option  [Karel Zak]
   - add note about --lazy  [Karel Zak]
   - add support for namespaces  [Vaclav Dolezal]
   - allow PID as --namespace argument  [Vaclav Dolezal]
   - fix behaviour of -A and -R with --namespace  [Vaclav Dolezal]
unshare:
   - remove -s from --help output  [Karel Zak]
wipefs:
   - add missing ifdef  [Ruediger Meier]
   - postpone BLKRRPART until all is done  [Karel Zak]
   - use scols_column_set_json_type()  [Karel Zak]
zramctl:
   - (man) explain that --find is necessary  [Karel Zak]
   - add --output-all option  [Sami Kerola]
   - fix truncation warning  [Sami Kerola]
   - use new ul_path_* API  [Karel Zak]

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-09-25 10:47 [ANNOUNCE] util-linux v2.33-rc1 Karel Zak
@ 2018-09-30 23:33 ` L A Walsh
  2018-10-02 10:14   ` Karel Zak
  2018-10-04 22:11 ` [ANNOUNCE] util-linux v2.33-rc1 Ruediger Meier
  1 sibling, 1 reply; 13+ messages in thread
From: L A Walsh @ 2018-09-30 23:33 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On 9/25/2018 3:47 AM, Karel Zak wrote:
> The commands mount and umount
---
   I note that umount has a static option umount.static, but I don't see
the same for mount (i.e. mount.static). 

  It seems the main benefit of static is to ensure the command will run
if there is a problem with runtime-linking or if libraries are missing. 

  Examples might be a root FS that may have significantly reduced
content but enough to do FS restore operations, emergency repairs and
load kernel modules that will allow one to bring up rest of the system.

  Basic functionality would include ability to mount file systems and
ideally format, manage partitions, and restore file systems from
backups.

  Some utilites necessary to do such tasks are outside the scope of
util-linux, but at least the ability to mount/umount a file system,
fdisk and partition management. Could it be ensured that one can 'mount'
disks under adverse conditions, at the very least, so that umount.static
would make sense? 



> The command rename(1) provides a new command line option --interactive to ask
> before overwriting.
>   
---
  How does rename compare with 'mmv'?  I note that in the manpage "SEE 
ALSO" section,  'mv' is listed, (not quite sure why?), but not a more 
related tool
like 'mmv'.

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-09-30 23:33 ` L A Walsh
@ 2018-10-02 10:14   ` Karel Zak
  2018-10-06 19:25     ` L A Walsh
  2018-10-08  7:30     ` static linking working w/gnu? (was Re: [ANNOUNCE] util-linux v2.33-rc1) L A Walsh
  0 siblings, 2 replies; 13+ messages in thread
From: Karel Zak @ 2018-10-02 10:14 UTC (permalink / raw)
  To: L A Walsh; +Cc: util-linux

On Sun, Sep 30, 2018 at 04:33:14PM -0700, L A Walsh wrote:
> On 9/25/2018 3:47 AM, Karel Zak wrote:
> > The commands mount and umount
> ---
>   I note that umount has a static option umount.static, but I don't see
> the same for mount (i.e. mount.static).

 $ ./configure --enable-static-programs=mount,umount
 $ make mount.static umount.static

works for me:

 $ ./mount.static -V; ./umount.static -V
 mount.static from util-linux 2.33-rc1 (libmount 2.33.0: btrfs, assert, debug)
 umount.static from util-linux 2.33-rc1 (libmount 2.33.0: btrfs, assert, debug)

 $ ldd mount.static umount.static
 mount.static:
 	not a dynamic executable
 umount.static:
 	not a dynamic executable

>  How does rename compare with 'mmv'?  I note that in the manpage "SEE ALSO"
> section,  'mv' is listed, (not quite sure why?), but not a more related tool
> like 'mmv'.

 $ mmv
 bash: mmv: command not found...
 Similar command is: 'mv'

Not sure about another distros, but on Fedora is not installed by
default.

We have rename(1) in util-linux since v2.10 (year 1999/2000) and according
to http://www.guckes.net/mmv/ mmv is from the same year :-) Not sure
if mmv is still maintained. The functionality is probably the same.

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-09-25 10:47 [ANNOUNCE] util-linux v2.33-rc1 Karel Zak
  2018-09-30 23:33 ` L A Walsh
@ 2018-10-04 22:11 ` Ruediger Meier
  2018-10-04 22:11   ` Ruediger Meier
  2018-10-05  9:37   ` Karel Zak
  1 sibling, 2 replies; 13+ messages in thread
From: Ruediger Meier @ 2018-10-04 22:11 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Tuesday 25 September 2018, Karel Zak wrote:
> The util-linux release v2.33-rc1 is available at
>
>   http://www.kernel.org/pub/linux/utils/util-linux/v2.33/
>
> Feedback and bug reports, as always, are welcomed.
>
>   Karel

There is one build issue with setns() usage in libmount/src/context.c in case
we don't have it neither in libc nor the syscall 

[...]
checking for syscall setns... no
configure: WARNING: Unable to detect syscall setns.
configure: WARNING: setns syscall not found; not building nsenter
checking for setns... no
[...]
./.libs/libmount.so: undefined reference to `setns'


cu,
Rudi

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-10-04 22:11 ` [ANNOUNCE] util-linux v2.33-rc1 Ruediger Meier
@ 2018-10-04 22:11   ` Ruediger Meier
  2018-10-05  9:37   ` Karel Zak
  1 sibling, 0 replies; 13+ messages in thread
From: Ruediger Meier @ 2018-10-04 22:11 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Tuesday 25 September 2018, Karel Zak wrote:
> The util-linux release v2.33-rc1 is available at
>
>   http://www.kernel.org/pub/linux/utils/util-linux/v2.33/
>
> Feedback and bug reports, as always, are welcomed.
>
>   Karel

There is one build issue with setns() usage in libmount/src/context.c in case
we don't have it neither in libc nor the syscall 

[...]
checking for syscall setns... no
configure: WARNING: Unable to detect syscall setns.
configure: WARNING: setns syscall not found; not building nsenter
checking for setns... no
[...]
./.libs/libmount.so: undefined reference to `setns'


cu,
Rudi

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-10-04 22:11 ` [ANNOUNCE] util-linux v2.33-rc1 Ruediger Meier
  2018-10-04 22:11   ` Ruediger Meier
@ 2018-10-05  9:37   ` Karel Zak
  1 sibling, 0 replies; 13+ messages in thread
From: Karel Zak @ 2018-10-05  9:37 UTC (permalink / raw)
  To: Ruediger Meier; +Cc: util-linux

On Fri, Oct 05, 2018 at 12:11:14AM +0200, Ruediger Meier wrote:
> On Tuesday 25 September 2018, Karel Zak wrote:
> > The util-linux release v2.33-rc1 is available at
> >
> >   http://www.kernel.org/pub/linux/utils/util-linux/v2.33/
> >
> > Feedback and bug reports, as always, are welcomed.
> >
> >   Karel
> 
> There is one build issue with setns() usage in libmount/src/context.c in case
> we don't have it neither in libc nor the syscall 
> 
> [...]
> checking for syscall setns... no
> configure: WARNING: Unable to detect syscall setns.
> configure: WARNING: setns syscall not found; not building nsenter
> checking for setns... no
> [...]
> ./.libs/libmount.so: undefined reference to `setns'

Oh, ... fixed now. 

Thanks for your report and all the tests!

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-10-02 10:14   ` Karel Zak
@ 2018-10-06 19:25     ` L A Walsh
  2018-10-07 14:57       ` Bernhard Voelker
  2018-10-08  7:30     ` static linking working w/gnu? (was Re: [ANNOUNCE] util-linux v2.33-rc1) L A Walsh
  1 sibling, 1 reply; 13+ messages in thread
From: L A Walsh @ 2018-10-06 19:25 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On 10/2/2018 3:14 AM, Karel Zak wrote:
> On Sun, Sep 30, 2018 at 04:33:14PM -0700, L A Walsh wrote:
>   
>> On 9/25/2018 3:47 AM, Karel Zak wrote:
>>     
>>> The commands mount and umount
>>>       
>> ---
>>   I note that umount has a static option umount.static, but I don't see
>> the same for mount (i.e. mount.static).
>>     
>
>  $ ./configure --enable-static-programs=mount,umount
>  $ make mount.static umount.static
>
> works for me:
>   
so I see...  Except I got:
  CC       sys-utils/mount_static-mount.o
  CCLD     mount.static
libtool: warning: complete static linking is impossible in this 
configuration
/usr/bin/ld: total time in link: 0.038189
  CC       sys-utils/umount_static-umount.o
  CCLD     umount.static
libtool: warning: complete static linking is impossible in this 
configuration
/usr/bin/ld: total time in link: 0.039017

with ldd:
Ishtar:tools/util-linux/util-linux-2.33-rc1> ldd mount.static
  linux-vdso.so.1 (0x00007ffc38d78000)
  librt.so.1 => /lib64/librt.so.1 (0x0000003001c00000)
  libc.so.6 => /lib64/libc.so.6 (0x0000003000800000)
  libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003000c00000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f81b9262000)

It seems something about my config (or Suse's config) is creating a problem
for static linking.  I should probably ask on the Suse list
to see if anyone as run into this or solved it, though if you
have any ideas or known probs, great!





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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-10-06 19:25     ` L A Walsh
@ 2018-10-07 14:57       ` Bernhard Voelker
  2018-10-07 16:58         ` L A Walsh
  0 siblings, 1 reply; 13+ messages in thread
From: Bernhard Voelker @ 2018-10-07 14:57 UTC (permalink / raw)
  To: L A Walsh, Karel Zak; +Cc: util-linux

On 10/6/18 9:25 PM, L A Walsh wrote:
> On 10/2/2018 3:14 AM, Karel Zak wrote:
>> On Sun, Sep 30, 2018 at 04:33:14PM -0700, L A Walsh wrote:
>>   
>>> On 9/25/2018 3:47 AM, Karel Zak wrote:
>>>     
>>>> The commands mount and umount
>>>>       
>>> ---
>>>   I note that umount has a static option umount.static, but I don't see
>>> the same for mount (i.e. mount.static).
>>>     
>>
>>  $ ./configure --enable-static-programs=mount,umount
>>  $ make mount.static umount.static
>>
>> works for me:
>>   
> so I see...  Except I got:
>   CC       sys-utils/mount_static-mount.o
>   CCLD     mount.static
> libtool: warning: complete static linking is impossible in this 
> configuration
> /usr/bin/ld: total time in link: 0.038189
>   CC       sys-utils/umount_static-umount.o
>   CCLD     umount.static
> libtool: warning: complete static linking is impossible in this 
> configuration
> /usr/bin/ld: total time in link: 0.039017
> 
> with ldd:
> Ishtar:tools/util-linux/util-linux-2.33-rc1> ldd mount.static
>   linux-vdso.so.1 (0x00007ffc38d78000)
>   librt.so.1 => /lib64/librt.so.1 (0x0000003001c00000)
>   libc.so.6 => /lib64/libc.so.6 (0x0000003000800000)
>   libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003000c00000)
>   /lib64/ld-linux-x86-64.so.2 (0x00007f81b9262000)
> 
> It seems something about my config (or Suse's config) is creating a problem
> for static linking.  I should probably ask on the Suse list
> to see if anyone as run into this or solved it, though if you
> have any ideas or known probs, great!

$ zypper install glibc-devel-static

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

* Re: [ANNOUNCE] util-linux v2.33-rc1
  2018-10-07 14:57       ` Bernhard Voelker
@ 2018-10-07 16:58         ` L A Walsh
  0 siblings, 0 replies; 13+ messages in thread
From: L A Walsh @ 2018-10-07 16:58 UTC (permalink / raw)
  To: Bernhard Voelker; +Cc: Karel Zak, util-linux

On 10/7/2018 7:57 AM, Bernhard Voelker wrote:
>
> $ zypper install glibc-devel-static
>   
----
Already had 2.27-4.1 installed, which I just bumped to 2.27-6.1.

Same problem, unfortunately.
*sigh*

>  make V=1 mount.static
/bin/sh ./libtool  --tag=CC   --mode=link /usr/bin/gcc  -fsigned-char 
-fno-common -Wall -Werror=sequence-point -Wextra -Wmissing-declarations 
-Wmissing-parameter-type -Wmissing-prototypes 
-Wno-missing-field-initializers -Wredundant-decls -Wsign-compare 
-Wtype-limits -Wuninitialized -Wunused-but-set-parameter 
-Wunused-but-set-variable -Wunused-parameter -Wunused-result 
-Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes 
-Wimplicit-function-declaration -Wdiscarded-qualifiers -I./libmount/src 
-fpic -march=native -pipe -O2   -all-static -fpic -march=native -pipe 
-O2 -Wl,--stats  -o mount.static sys-utils/mount_static-mount.o  
libcommon.la libmount.la   
libtool: warning: complete static linking is impossible in this 
configuration
libtool: link: /usr/bin/gcc -fsigned-char -fno-common -Wall 
-Werror=sequence-point -Wextra -Wmissing-declarations 
-Wmissing-parameter-type -Wmissing-prototypes 
-Wno-missing-field-initializers -Wredundant-decls -Wsign-compare 
-Wtype-limits -Wuninitialized -Wunused-but-set-parameter 
-Wunused-but-set-variable -Wunused-parameter -Wunused-result 
-Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes 
-Wimplicit-function-declaration -Wdiscarded-qualifiers -I./libmount/src 
-fpic -march=native -pipe -O2 -fpic -march=native -pipe -O2 -Wl,--stats 
-o mount.static sys-utils/mount_static-mount.o  ./.libs/libcommon.a 
./.libs/libmount.a 
/home/tools/util-linux/util-linux-2.33-rc1/.libs/libblkid.a 
/home/tools/util-linux/util-linux-2.33-rc1/.libs/libuuid.a -lrt
/usr/bin/ld: total time in link: 0.038702

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

* static linking working w/gnu?  (was Re: [ANNOUNCE] util-linux v2.33-rc1)
  2018-10-02 10:14   ` Karel Zak
  2018-10-06 19:25     ` L A Walsh
@ 2018-10-08  7:30     ` L A Walsh
  2018-10-08  9:09       ` Karel Zak
  1 sibling, 1 reply; 13+ messages in thread
From: L A Walsh @ 2018-10-08  7:30 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On 10/2/2018 3:14 AM, Karel Zak wrote:
> On Sun, Sep 30, 2018 at 04:33:14PM -0700, L A Walsh wrote:
>   
>> On 9/25/2018 3:47 AM, Karel Zak wrote:
>>     
>>> The commands mount and umount
>>>       
>> ---
>>   I note that umount has a static option umount.static, but I don't see
>> the same for mount (i.e. mount.static).
>>     
>
>  $ ./configure --enable-static-programs=mount,umount
>  $ make mount.static umount.static
>
> works for me:
>   

On 10/7/2018 8:13 AM, Thorsten Kukuk wrote:

On Sun, Oct 07, Stefan Seyfried wrote:

> > /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld:
> > ./.libs/libmount.a(libmount_la-utils.o): in function `mnt_get_gid':
> > /dev/shm/util-linux-2.33-rc1/libmount/src/utils.c:614: warning: Using
> > 'getgrnam_r' in statically linked applications requires at runtime the
> > shared libraries from the glibc version used for linking
> ....
> > /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld:
> > ./.libs/libmount.a(libmount_la-utils.o): in function `mnt_get_username':
> > /dev/shm/util-linux-2.33-rc1/libmount/src/utils.c:566: warning: Using
> > 'getpwuid_r' in statically linked applications requires at runtime the
> > shared libraries from the glibc version used for linking
> > The bug is thus "RESOLVED WORKSFORME"
>   

No, the bug is, that the code is not designed for static linking,
as all the warnings show. And the upstream author should get the
same warnings as you abvoe.

-----
> On Sun, Oct 07, Stefan Seyfried wrote:
> > Am 07.10.18 um 00:17 schrieb L A Walsh:
> > > Because these utils 'should' be statically linkable and *are* on
> > > redhat> (which I thought opensuse was based on).
> 
> > Where do you get your alternative facts from?
-------------


So Karel, 

	Did you get warnings similar to the above?  The claim
is that you should be getting similar errors, but I got the impression
that you did not.

One person claimed it to be a bug in the Gnu tools & lib, while
others claim its designed that way, so not a bug...*sigh*.

But anyway -- did you get any such warnings?


I love the way Stefan labels my statement about some of the utils
being statically linkable and that it works on redhat an "alternative fact".

(sigh)...
Thanks!



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

* Re: static linking working w/gnu?  (was Re: [ANNOUNCE] util-linux v2.33-rc1)
  2018-10-08  7:30     ` static linking working w/gnu? (was Re: [ANNOUNCE] util-linux v2.33-rc1) L A Walsh
@ 2018-10-08  9:09       ` Karel Zak
  2018-10-08 12:43         ` L A Walsh
  2018-10-16  0:48         ` L A Walsh
  0 siblings, 2 replies; 13+ messages in thread
From: Karel Zak @ 2018-10-08  9:09 UTC (permalink / raw)
  To: L A Walsh; +Cc: util-linux

On Mon, Oct 08, 2018 at 12:30:50AM -0700, L A Walsh wrote:
> 	Did you get warnings similar to the above?  The claim
> is that you should be getting similar errors, but I got the impression
> that you did not.

I get the warning, but result is still static binary. Don't ask me why
;-)

$ file ./mount.static 
./mount.static: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=b66bae970bf72346cbf6d844e0e48d5dbfd07cc2, with debug_info, not stripped

The problem is the way how glibc uses stuff around NSS. In this case
glibc needs runtime modules, for more details see:

  https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F

on Fedora, the mount.static is static, but I guess glibc internally
uses some ldopen() when need NSS or iconv stuff.

It seems the issue is only getpwnam_r() which is necessary only when
mount(8) translates gid=<name> to gid=<number>. It's rarely used
mount(8) feature.

> One person claimed it to be a bug in the Gnu tools & lib, while
> others claim its designed that way, so not a bug...*sigh*.

I think you do not want to try resolve this issues in the utils.

It's all about libc design. If glibc does not well for you, then 
you need something else. For example uclibc, or glibc without NSS,
etc.

Now you know why we have projects like dracut for initramfs. It's
better to use standard libs and utils than try to build parallel
universe to boot or for rescue disks.

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com

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

* Re: static linking working w/gnu?  (was Re: [ANNOUNCE] util-linux v2.33-rc1)
  2018-10-08  9:09       ` Karel Zak
@ 2018-10-08 12:43         ` L A Walsh
  2018-10-16  0:48         ` L A Walsh
  1 sibling, 0 replies; 13+ messages in thread
From: L A Walsh @ 2018-10-08 12:43 UTC (permalink / raw)
  To: Karel Zak, util-linux

On 10/8/2018 2:09 AM, Karel Zak wrote:
> On Mon, Oct 08, 2018 at 12:30:50AM -0700, L A Walsh wrote:
>   
>> 	Did you get warnings similar to the above?  The claim
>> is that you should be getting similar errors, but I got the impression
>> that you did not.
>>     
>
> I get the warning, but result is still static binary. Don't ask me why
> ;-)
>
> $ file ./mount.static 
> ./mount.static: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=b66bae970bf72346cbf6d844e0e48d5dbfd07cc2, with debug_info, not stripped
>
> The problem is the way how glibc uses stuff around NSS. In this case
> glibc needs runtime modules, for more details see:\
>   
---
    Well, it could easily use a run-time dynamic load and if the libs were
not present indicate that some feature is not available.
>   https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F
>
> on Fedora, the mount.static is static, but I guess glibc internally
> uses some ldopen() when need NSS or iconv stuff.
>   
----
    Maybe, I got the impression that they only knew how to do
load-time linkage.  One might alter resolve.conf and see if its
possible for force mount to look for something and see its behavior,
however, what I've run into are the newlibs in util-linux (libblk...,
libsmartcols...etc) being put on /usr/lib64 which is on a separate 
partition.
So with 'mount' dead, you can't mount the new partition.

    Answer is to either statically link (best, if possible), or
put the libs on the same partition as the binaries.

> I think you do not want to try resolve this issues in the utils.
---
    It really depends on resolving issues used in early HW bring-up.
> It's all about libc design. If glibc does not well for you, then 
> you need something else. For example uclibc, or glibc without NSS,
> etc.
>   
----
    musl seemed to work well when I tried it, but would rather not do
that if there is an easier way.

> Now you know why we have projects like dracut for initramfs.
----
    Because people have moved the system dependent stuff off the root --
which goes against the usrmerge docs which say to only put OS/system
_independent_ stuff on /usr. 
If that had been done, then everything I needed to
run mount and bring up the generic system would have already been on root.


>  It's
> better to use standard libs and utils than try to build parallel
> universe to boot or for rescue disks.
>   
---
    Not trying to build parallel universe -- that universe already
exists.  Just trying to make it more robust in face of randomness.

    Relying on systemd's idea of an emergency  or rescue disk doesn't
work because it reboots after you have made temporary corrections.  It
needs to come up so a longer term solution can be applied, systemd
wouldn't come up because a kernel mod wasn't loaded.  Normally, I'd
just load the module by hand, but systemd's emergency disk won't
continue after you make a correction -- instead, it reboots. 

    One can find faults with any system.  Someday, systemd may be
as reliable as a shell -- but it isn't there yet.


>   


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

* Re: static linking working w/gnu?  (was Re: [ANNOUNCE] util-linux v2.33-rc1)
  2018-10-08  9:09       ` Karel Zak
  2018-10-08 12:43         ` L A Walsh
@ 2018-10-16  0:48         ` L A Walsh
  1 sibling, 0 replies; 13+ messages in thread
From: L A Walsh @ 2018-10-16  0:48 UTC (permalink / raw)
  To: Karel Zak, util-linux

On 10/8/2018 2:09 AM, Karel Zak wrote:
> I get the warning, but result is still static binary. Don't ask me whyl
> ;-)
>
> $ file ./mount.static 
> ./mount.static: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=b66bae970bf72346cbf6d844e0e48d5dbfd07cc2, with debug_info, not stripped
>
> The problem is the way how glibc uses stuff around NSS. In this case
> glibc needs runtime modules, for more details see...
>   
But not for mount.static, apparently?
> It seems the issue is only getpwnam_r() which is necessary only when
> mount(8) translates gid=<name> to gid=<number>. It's rarely used
> mount(8) feature.
>   
I wonder if this works.

---
Anyway, could you send me your configure line?

FWIW, for mount.static, above, I am getting:
>  file mount.static

mount.static: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), 
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for 
GNU/Linux 3.2.0, BuildID[sha1]=563cbfb845525273cdb0eb8bb7b0d5bcc5613d80, 
not stripped

^^^--ok, says dynamically linked, but w/what?

If I explicitly disable 'shared', I got what looked like all of util-linux
libs built-in, but still needing all external libs.

FWIW, if I try to test from the build location:
>  ldd .libs/mount
.libs/mount: /usr/lib64/libmount.so.1: version `MOUNT_2.33' not found 
(required by .libs/mount)
.libs/mount: /usr/lib64/libmount.so.1: version `MOUNT_2.30' not found 
(required by .libs/mount)
  linux-vdso.so.1 (0x00007ffc8a77c000)
  libmount.so.1 => /usr/lib64/libmount.so.1 (0x000000305ce00000)
  libblkid.so.1 => //lib64/libblkid.so.1 (0x0000003002c00000)
  libuuid.so.1 => //lib64/libuuid.so.1 (0x0000003002800000)
  librt.so.1 => //lib64/librt.so.1 (0x0000003001c00000)
  libc.so.6 => //lib64/libc.so.6 (0x0000003000800000)
  libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003016e00000)
  /lib64/ld-linux-x86-64.so.2 (0x00007ff504871000)
  libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003000c00000)
  libpcre.so.1 => /lib64/libpcre.so.1 (0x000000300b800000)
  libdl.so.2 => /lib64/libdl.so.2 (0x0000003001000000)

----
Did it used to be the case that dynamic linking would look in the 
"current dir"
for libs?  Seems like the above would break more situations of an in-place
lib being build & tested.

My switches:
>  ../config-233rc1.sh --test
setting basic optimize

Running Config:
./configure -q "CFLAGS=-fpic -march=native -pipe -O2" "LDFLAGS=-fpic 
-march=native -pipe -O2 -Wl,--stats " "--prefix=/ --bindir=/bin 
--sbindir=/sbin --datadir=/usr/share --includedir=/include 
--oldincludedir=/usr/include --libdir=/lib64 
--libexecdir=/lib64/util-linux --localstatedir=/var 
--sharedstatedir=/com --sysconfdir=/etc --enable-chfn-chsh 
--enable-fs-paths-default --enable-last --enable-libmount-support-mtab 
--enable-line --enable-login-chown-vcs --enable-login-stat-mail 
--enable-newgrp --enable-pg --enable-silent-rules 
--enable-static-programs=losetup,mount,umount,fdisk,sfdisk,blkid,nsenter,unshare 
--enable-sulogin-emergency-mount --enable-vipw --enable-write 
--disable-assert --disable-rpath --disable-nls 
--disable-plymouth_support --disable-pylibmount --with-audit 
--with-bashcompletiondir=/usr/share/bash-completion --with-gnu-ld 
--with-ncursesw --with-readline --with-smack --without-python 
--without-systemd --without-systemdsystemunitdir"

using gcc: gcc version 8.2.1 20180817 [gcc-8-branch revision 263612] 
(SUSE Linux)






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

end of thread, back to index

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-25 10:47 [ANNOUNCE] util-linux v2.33-rc1 Karel Zak
2018-09-30 23:33 ` L A Walsh
2018-10-02 10:14   ` Karel Zak
2018-10-06 19:25     ` L A Walsh
2018-10-07 14:57       ` Bernhard Voelker
2018-10-07 16:58         ` L A Walsh
2018-10-08  7:30     ` static linking working w/gnu? (was Re: [ANNOUNCE] util-linux v2.33-rc1) L A Walsh
2018-10-08  9:09       ` Karel Zak
2018-10-08 12:43         ` L A Walsh
2018-10-16  0:48         ` L A Walsh
2018-10-04 22:11 ` [ANNOUNCE] util-linux v2.33-rc1 Ruediger Meier
2018-10-04 22:11   ` Ruediger Meier
2018-10-05  9:37   ` Karel Zak

Util-Linux Archive on lore.kernel.org

Archives are clonable: git clone --mirror https://lore.kernel.org/util-linux/0 util-linux/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 util-linux util-linux/ https://lore.kernel.org/util-linux \
		util-linux@vger.kernel.org util-linux@archiver.kernel.org
	public-inbox-index util-linux


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.util-linux


AGPL code for this site: git clone https://public-inbox.org/ public-inbox