util-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] util-linux v2.35
@ 2020-01-21 10:57 Karel Zak
  2020-01-24 19:16 ` Carlos Santos
  0 siblings, 1 reply; 16+ messages in thread
From: Karel Zak @ 2020-01-21 10:57 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel, util-linux


The util-linux release v2.35 is available at
 
  http://www.kernel.org/pub/linux/utils/util-linux/v2.35/
 
Feedback and bug reports, as always, are welcomed.
 
  Karel



Util-linux 2.35 Release Notes
=============================

Release highlights
------------------

agetty(8) now provides a new command-line option --show-issue to print issue
file(s) on the current terminal in the same way how it will be printed when
agetty(8) executed regularly.
                             
agetty(8) supports /run/issue and /usr/lib/issue files and directrories now.
                             
dmesg(1) escapes unprintable and potentially unsafe characters by default. The
new command-line option --noescape disables this feature.
                             
kill(1) now uses pidfd kernel feature to implement a new command-line option
--timeout. The option allows sending a sequence of follow-up signals with
defined timeouts without the possibility of race.       
                             
script(1) now used the same PTY code as su(1) --pty. script(1) has also been
massively extended to support new logging features like log signals, stdin or
additional session information. The new features are implemented by the new
timing file format. The changes are backwardly compatible, and the original
timing file format is still the default. 
                             
scriptreplay(1) now allows to extract stdin or session summary from script(1)
logs.
                             
scriptlive(1) this NEW COMMAND re-execute stdin log by a shell in PTY session. 
                             
mount(8) and libmount now provides built-in dm-verity support if linked with
libcryptsetup. This new feature is EXPERIMENTAL and disabled by default; use
--with-cryptsetup to enable. 
                             
libmount now uses poll() syscall to verify /proc/self/mountinfo file consistence
and it re-read the file if modified during previous read call.  
                             
mount(8) now provides a new command-line option --target-prefix to mount, for
example, fstab to an alternative location. This feature is usable, for example,
for chroots or containers.               
                             
mount(8) now allows to use -o together with --all, for example, "mount --all
-o ro --target-prefix /foo" will mount real-only all filesystems from fstab to
/foo.              
                             
lsblk(8) provides new columns FSVER (filesystem version) and PARTTYPENAME
(human-readable partition type).
                             
lsblk(8) reads device properties from /dev/<devname> text file when executed
with --sysroot. This is usable for tests and dumps.
                             
sfdisk(8) uses progress bar for --move-data and data move is now significantly
faster than in previous versions as it does not use fsync during the data move
(use --move-use-fsync to disable this feature).



Changes between v2.34 and v2.35
-------------------------------

agetty:
   - Remove superfluous fflush()  [Stanislav Brabec]
   - add --show-issue to review issue output  [Karel Zak]
   - add support for /run/issue and /usr/lib/issue  [Karel Zak]
   - keep freed issue file pointer zeroized  [Karel Zak]
   - return proper value if compiled without ISSUEDIR support  [Patrick Steinhardt]
   - simplify code in dolog() preprocessor blocks  [Sami Kerola]
bash-completion:
   - (unshare) add --map-current-user  [Karel Zak]
   - Add fallback for symlinks/images  [Kevin Locke]
   - Add non-canonical device fallback  [Kevin Locke]
   - Standardize fsck/mkfs file/device  [Kevin Locke]
   - update for new script tools  [Karel Zak]
   - update options  [Sami Kerola]
   - update script, scriptlive, and scriptreplay files  [Sami Kerola]
blkid:
   - (man) add note about udev to --list-one  [Karel Zak]
   - retport block size of a filesystem  [Mikulas Patocka]
build-sys:
   - .gitignore hwclock-parse-date.c  [Karel Zak]
   - Include <stdlib.h> in ./configure wchar_t test  [Florian Weimer]
   - add --with-cryptsetup to config-gen.d/all.conf  [Karel Zak]
   - add UL_REQUIRES_ARCH()  [Karel Zak]
   - add missing NR underscore to UL_CHECK_SYSCALL()  [Sami Kerola]
   - add missing header  [Karel Zak]
   - check for linux/capability.h  [Karel Zak]
   - cleanup prefixed used for tests  [Karel Zak]
   - fix UTIL_LINUX_PT_SGI_H macro [lgtm scan]  [Karel Zak]
   - fix build  with pty  [Karel Zak]
   - fix out-of-tree build for hwclock  [Karel Zak]
   - fix typo  [Karel Zak]
   - improve hwclock CMOS dependences  [Karel Zak]
   - introduce $sysconfstaticdir  [Karel Zak]
   - make scriptlive optional  [Samuel Thibault]
   - release++ (v2.35-rc1)  [Karel Zak]
   - release++ (v2.35-rc2)  [Karel Zak]
   - remove duplicate includes  [Karel Zak]
   - support 'none' for parallel tests  [Karel Zak]
   - use parse-date() only for hwclock  [Karel Zak]
cal:
   - (man) make -w, -m and --iso relation more obvious  [Karel Zak]
cfdisk:
   - check mnt_table_parse_fstab() return code [coverity scan]  [Karel Zak]
chfn:
   - don't append extra tailing commas  [Karel Zak]
choom:
   - improve docs  [Karel Zak]
chsh:
   - replace getpw unsafe functions with xgetpw  [Quentin Rameau]
cleanup:
   - Remove some spurious spaces  [Elliott Mitchell]
colcrt:
   - make seek to \n more robust  [Karel Zak]
column:
   - fix outputing empty column at the end of line  [Yousong Zhou]
   - pass control struct to local_wcstok()  [Sami Kerola]
cript:
   - always use decimal point numbers in logs  [Karel Zak]
disk-utils:
   - docs  fix sfdisk(8) man page typo  [Matthew Krupcale]
dmesg:
   - add --noescape  [Karel Zak]
   - do not stop on \0  [Karel Zak]
   - fix output hex encoding  [Karel Zak]
doc:
   - howto-man-page.txt  Use font macros instead of font escapes  [Bjarni Ingi Gislason]
docs:
   - Fix adjtime documentation  [Pierre Labastie]
   - add GPLv3 text  [Karel Zak]
   - add bjd-pfq to AUTHORS (rev.c co-author)  [Karel Zak]
   - add irqtop to TODO  [Karel Zak]
   - add non-signalfd PTY request to TODO  [Karel Zak]
   - add sfdisk --dump and --backup improvements to TODO  [Karel Zak]
   - add v2.35-ReleaseNotes  [Karel Zak]
   - correct su.1 runuser reference from section 8 to 1  [Sami Kerola]
   - fix mixtyped constant.  [Andrius Štikonas]
   - fix typos [fossies codespell scan]  [Karel Zak]
   - remove implemented TODO items  [Karel Zak]
   - try to find broken man references and fix them  [Sami Kerola]
   - update AUTHORS file  [Karel Zak]
   - update howto-tests.txt  [Karel Zak]
   - update v2.35-ReleaseNotes  [Karel Zak]
   - update year in libs docs  [Karel Zak]
   - we have 2019 already  [Karel Zak]
eject:
   - use O_EXCL on default  [Karel Zak]
fallocate:
   - fallocate.1 List gfs2 as supporting punch-hole  [Andrew Price]
fdformat:
   - cast before lseek [lgtm scan]  [Karel Zak]
fdisk:
   - Correct handling of hybrid MBR  [Elliott Mitchell]
   - add hint about --wipe to warning  [Karel Zak]
   - cleanup wipe warning  [Karel Zak]
   - fix quit dialog for non-libreadline version  [Karel Zak]
   - make quit question more usable  [Karel Zak]
   - use 'r' to return from MBR to GPT  [Karel Zak]
fsfreeze:
   - remove unnecessary condition [lgtm scan]  [Karel Zak]
fstrim:
   - fix systemd service protection  [Karel Zak]
   - ignore non-directory mountpoints  [Karel Zak]
hexdump:
   - add header file guards [lgtm scan]  [Karel Zak]
hwclock:
   - add SPDX-License-Identifier(s)  [Karel Zak]
   - report rtc open() errors on --verbose  [Karel Zak]
   - use CMOS clock only if available  [Carlos Santos]
include:
   - add some missing licence stuff to header files  [Karel Zak]
include/all-io:
   - remove unnecessary condition [lgtm scan]  [Karel Zak]
include/closestream:
   - avoid close more than once  [Karel Zak]
   - fix assignment to read-only standard streams  [Patrick Steinhardt]
include/pidfd-utils:
   - small cleanup  [Karel Zak]
include/strutils:
   - add strdup_between_structs()  [Karel Zak]
   - add strrealloc()  [Karel Zak]
include/xalloc:
   - ensure xstrdup() and xstrndup() returns nonnull attribute  [Sami Kerola]
   - reindent function bodies to unify indentation  [Sami Kerola]
   - use multiline function declarations  [Sami Kerola]
isosize:
   - move ISO size functions into a shared header  [Daniel Drake]
kill:
   - add another ifdef  [Karel Zak]
   - add missing ifdefs  [Karel Zak]
   - deallocate follow_ups [assan]  [Karel Zak]
   - make man page more informative about --timeout  [Karel Zak]
   - report features on -V, add lish_header initialization  [Karel Zak]
   - use pidfd system calls to implement --timeout option  [Sami Kerola]
last:
   - replace strncat() with more robust mem2strcpy()  [Sami Kerola]
lib:
   - add _PATH_TMP fallback  [Karel Zak]
   - add missing license headers  [Karel Zak]
lib/fileutils:
   - add close_all_fds()  [Karel Zak]
lib/loopdev.c:
lib/path:
   - add ul_path_stat(), fix absolute paths  [Karel Zak]
   - fix missing header for `struct stat`  [Patrick Steinhardt]
   - make sure ul_path_read_buffer() derminate result  [Karel Zak]
lib/pty:
   - allow use callback from mainloop  [Karel Zak]
   - make sure we not use closed FD  [Karel Zak]
   - reset mainloop timeout on signal  [Karel Zak]
   - save sigmask, add API to free all resources  [Karel Zak]
lib/pty-session:
   - add generic PTY container code  [Karel Zak]
   - add log callbacks  [Karel Zak]
   - add loggin callback to code, follow return codes  [Karel Zak]
   - fix compilation  [Karel Zak]
   - improve debug messages  [Karel Zak]
   - make wait_child callback optional  [Karel Zak]
   - simplify example/test code  [Karel Zak]
lib/pwdutils:
   - add xgetpwuid  [Quentin Rameau]
lib/randutils:
   - re-licensing back to BSD  [Karel Zak]
lib/timeutils:
   - add %Y-%m-%dT%H %M %S to parse_timestamp()  [Karel Zak]
lib/ttyutils:
   - avoid checking same thing twice  [Sami Kerola]
libblkid:
   - (drbd) fix comment formatting  [Karel Zak]
   - (drbd) simplify padding  [Karel Zak]
   - (xfs) external log  check for regular xfs on more sectors  [Mauricio Faria de Oliveira]
   - (xfs) fix sector size calculation  [Karel Zak]
   - (zfs) don't probe whole-disk areas covered by partitions  [Karel Zak]
   - Fix documentation in libblkid header  [John Baublitz]
   - check for medium on CDMROMs probing  [Karel Zak]
   - check number of test_blkid_save arguments correctly  [Sami Kerola]
   - check status for the current CDROM slot  [Karel Zak]
   - do not interpret NTFS as MBR  [Karel Zak]
   - fix address sanitizer issues  [Sami Kerola]
   - fix file descriptor leak in blkid_verify()  [Karel Zak]
   - improve MD I/O size calculation [lgtm scan]  [Karel Zak]
   - improve handling of ISO files with partition tables  [Daniel Drake]
   - improve identification of ISO9660 partition  [Daniel Drake]
   - improve vfat entries calculation [lgtm scan]  [Karel Zak]
   - open device in nonblock mode.  [Michal Suchanek]
   - remove unnecessary condition [lgtm scan]  [Karel Zak]
   - udf  Fix reporting UDF 2.60 revision for Mac OS X disks  [Pali Rohár]
libdisk:
   - write sample output to stdout  [Karel Zak]
libfdisk:
   - (MBR) use 0xEA partition type by BootLoaderSpecification  [Karel Zak]
   - (bsd) cast before ask [lgtm scan]  [Karel Zak]
   - (docs) add notes about fdisk_enable_wipe()  [Karel Zak]
   - (gpt) add GUID for APFS containers  [Ernesto A. Fernández]
   - (gpt) cast number of entries [lgtm scan]  [Karel Zak]
   - (gpt) fix hybrid MBR detection, fix 'w'  [Karel Zak]
   - (script) support shortcuts in the type= field  [Karel Zak]
   - Fix double free of *_chs strings in fdisk_partition  [Vojtech Trefny]
   - Space before first partition may not be aligned  [Evan Green]
   - add fdisk_assign_device_by_fd()  [Karel Zak]
   - add fdisk_script_set_table()  [Karel Zak]
   - add sector-size to dump  [Karel Zak]
   - cleanup fdisk_deassign_device() docs  [Karel Zak]
   - consolidate strdup() use  [Karel Zak]
   - don't use FAT as MBR  [Karel Zak]
   - don't use NTFS as MBR  [Karel Zak]
   - fix fdisk_script_get_table()  [Karel Zak]
   - fix typos  [Marcos Mello]
   - fix variable shadowing  [Sami Kerola]
   - improve Sun partitions calculation [lgtm scan]  [Karel Zak]
   - improve partition copy on resize  [Karel Zak]
   - move GPT partition types to include/  [Karel Zak]
   - refer to partx(8) rather than to kpartx(8)  [Karel Zak]
   - use grain as small as possible  [Karel Zak]
libfidk:
   - (dos) fix tiny partitions calculation  [Karel Zak]
libmount:
   - (monitor) remove dead code [coverity scan]  [Karel Zak]
   - Add libselinux dependency to pkgconfig file  [Masami Hiramatsu]
   - Keep the mnt_tab info for the existent dest in mnt_copy_fs()  [Kevin Hao]
   - Recognize more FUSE pseudofs (avfsd, lxcfs, vmware-vmblock)  [Darsey Litzenberger]
   - add support for verity devices via libcryptsetup  [Luca Boccassi]
   - add target prefix support  [Karel Zak]
   - add verity to mount -V output  [Karel Zak]
   - allow use -o together with --all  [Karel Zak]
   - cleanup strdup() use in context, add reg.test  [Karel Zak]
   - do not obscure return code when checking verity options  [Luca Boccassi]
   - don't access struct member, use API  [Karel Zak]
   - don't use /proc/mounts fallback if filename specified  [Karel Zak]
   - fix comment referring to passno field  [Patrick Steinhardt]
   - fix free() call on error  [Karel Zak]
   - fix mnt_context_next_remount()  [Karel Zak]
   - fix potential null pointer dereference  [Sami Kerola]
   - fix typo  [Karel Zak]
   - fix typo in mnt_context_prepare_helper() [lgtm scan]  [Karel Zak]
   - improve X-mount.mkdir for non-root users  [Karel Zak]
   - improve mountinfo reliability  [Karel Zak]
   - make sure optsmode is initialized  [Karel Zak]
   - move context fs merge to separate function  [Karel Zak]
   - save current FS setting as template  [Karel Zak]
   - use fmemopen() in more robust way [coverity scan]  [Karel Zak]
   - use strdup_between_structs()  [Karel Zak]
   - use vsnprintf() in more robust way [coverity scan]  [Karel Zak]
libsmartcols:
   - cleanup and extend padding functionality  [Karel Zak]
libuuid:
   - add header file guard [lgtm scan]  [Karel Zak]
login:
   - reduce file-descriptors cleanup overhead  [Karel Zak]
   - simplify string handling  [Sami Kerola]
login-utils:
   - add header file guards [lgtm scan]  [Karel Zak]
losetup:
   - Typo fix  [Stanislav Brabec]
lsblk:
   - add FSVER (filesystem version) column  [Karel Zak]
   - add FSVER to --fs  [Karel Zak]
   - add PARTTYPENAME column  [Karel Zak]
   - fix -E segfault  [Karel Zak]
   - force to print PKNAME for partition  [Karel Zak]
   - never fallback to udev/blkid on --sysroot  [Karel Zak]
   - on --sysroot read attributes from /dev/<devname> text file  [Karel Zak]
   - read also GROUP,OWNER and MODE from dumps  [Karel Zak]
   - update man description of -f / --fs for current columns  [Vladimir Slavik]
lscpu:
   - (man) add note about cache sizes  [Karel Zak]
   - Add HiSilicon aarch64 tsv110 cpupart  [John Garry]
   - add a new columns to --cache  [Karel Zak]
   - make code more readable [lgtm scan]  [Karel Zak]
   - prefer memcpy() to manual pointer arithmetic  [Sami Kerola]
   - top-level DMI function refactoring  [Karel Zak]
lslogins:
   - assume unterminated strings in wtmp/btmp [coverity scan]  [Karel Zak]
man:
   - improve script and scriptreplay formatting style  [Sami Kerola]
man pages:
   - Add a comma after "e.g." and "i.e."  [Bjarni Ingi Gislason]
   - Change a HYPHEN-MINUS (-) to a minus (\-) for options and numbers  [Bjarni Ingi Gislason]
   - Fix misuse of two-fonts macros  [Bjarni Ingi Gislason]
   - Make the number of .RS/.RE equal  [Bjarni Ingi Gislason]
misc:
   - fix typos [codespell]  [Sami Kerola]
   - replaces atexit(close_stdout) with new close_stdout_atexit()  [Karel Zak]
mkswap:
   - cast before lseek [lgtm scan]  [Karel Zak]
mount:
   - (dm-verity) update man page  [Karel Zak]
   - (man) document --target-prefix  [Karel Zak]
   - (man) small typo fixes  [Merlin Büge]
   - add --target-prefix  [Karel Zak]
   - add verity example to man page  [Karel Zak]
   - no exit on EPERM, continue without suid  [Karel Zak]
mountpoint:
   - add --nofollow option  [Sami Kerola]
nologin:
   - Prevent error from su -c  [Stanislav Brabec]
   - silently ignore well known shell command-line options  [Sami Kerola]
partx:
   - document -d vs. --nr and fix test  [Karel Zak]
   - don't report ENXIO as error on -d  [Karel Zak]
po:
   - add pt.po (from translationproject.org)  [Pedro Albuquerque]
   - merge changes  [Karel Zak]
   - remove possibility to translate static option arguments  [Sami Kerola]
   - update cs.po (from translationproject.org)  [Petr Písař]
   - update de.po (from translationproject.org)  [Mario Blättermann]
   - update es.po (from translationproject.org)  [Antonio Ceballos Roa]
   - update fr.po (from translationproject.org)  [Frédéric Marchal]
   - update hr.po (from translationproject.org)  [Božidar Putanec]
   - update ja.po (from translationproject.org)  [Takeshi Hamasaki]
   - update pl.po (from translationproject.org)  [Jakub Bogusz]
   - update pt.po (from translationproject.org)  [Pedro Albuquerque]
   - update pt_BR.po (from translationproject.org)  [Rafael Fontenelle]
   - update zh_CN.po (from translationproject.org)  [Boyuan Yang]
po/update-potfiles:
   - fallback to `find` when git doesn't work  [Jan Chren (rindeal)]
renice:
   - fix --help text  [Karel Zak]
   - fix arguments description in --help  [Karel Zak]
script:
   - add --echo  [Karel Zak]
   - add --log-in  [Karel Zak]
   - add --logging-format  [Karel Zak]
   - add debug messages around waitpid()  [Karel Zak]
   - add missing exit()  [Karel Zak]
   - add more information to timing log  [Karel Zak]
   - add multistream timing file initialization  [Karel Zak]
   - add note about --log-in and passwords  [Karel Zak]
   - add option --log-out  [Karel Zak]
   - add option --log-timing  [Karel Zak]
   - allow to use the same log for more streams  [Karel Zak]
   - cleanup info logging  [Karel Zak]
   - cleanup logs freeing  [Karel Zak]
   - cleanup usage  [Karel Zak]
   - default to new format when new features expected  [Karel Zak]
   - document SIGUSR1  [Karel Zak]
   - fix ECHO use, improve shell exec  [Karel Zak]
   - fix man page on --logging-format  [Karel Zak]
   - fix signalfd use  [Karel Zak]
   - fix typos [codespell]  [Sami Kerola]
   - follow --logging-format on -t  [Karel Zak]
   - listen to SIGUSR1, flush logs on the signal  [Karel Zak]
   - log additional information  [Karel Zak]
   - log file usage refactoring  [Karel Zak]
   - make --help more readable  [Karel Zak]
   - make optional argument more robust  [Karel Zak]
   - remove unused variable  [Karel Zak]
   - report also timing file, do it only once  [Karel Zak]
   - support multi-stream logging  [Karel Zak]
   - use lib/pty-session  [Karel Zak]
   - write signals to timing file  [Karel Zak]
scriptlive:
   - add --command, cleanup shell exec  [Karel Zak]
   - add man page  [Karel Zak]
   - add new command to re-execute script(1) typescript  [Karel Zak]
   - free resource at the and  [Karel Zak]
   - keep ECHO flag, improve welcome message  [Karel Zak]
   - remove unnecessary variables  [Karel Zak]
   - run shell in PTY  [Karel Zak]
   - terminate session at end of the log  [Karel Zak]
   - translate error messages too  [Karel Zak]
scriptreplay:
   - (man) add missing --log-* oprions  [Karel Zak]
   - (utils) detect empty steps  [Karel Zak]
   - add --cr-mode  [Karel Zak]
   - add --log-{in,out,io} options  [Karel Zak]
   - add --stream  [Karel Zak]
   - add --stream to the man page  [Karel Zak]
   - add --summary  [Karel Zak]
   - add -T, --log-timing  [Karel Zak]
   - check for EOF  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - fix error path  [Karel Zak]
   - fix io data log use  [Karel Zak]
   - fix typo  [Karel Zak]
   - make data log file optional for --summary  [Karel Zak]
   - make sure timing file specified  [Karel Zak]
   - move all utils to script-playutils.{c,h}  [Karel Zak]
   - print info and signals  [Karel Zak]
   - restrict header name size  [Karel Zak]
   - rewrite to support new timing file format  [Karel Zak]
   - skip unwanted steps  [Karel Zak]
   - use struct timeval for delay  [Karel Zak]
setpwnam:
   - use more appropriate allocation size types  [Sami Kerola]
setterm:
   - cleanup usage() and man page  [Karel Zak]
   - fix --clear  [Karel Zak]
sfdisk:
   - (--move-data) add simple progress bar  [Karel Zak]
   - (--move-data) add speed to progress bar, don't use POSIX_FADV_DONTNEED  [Karel Zak]
   - (--move-data) keep step size based on optimal I/O  [Karel Zak]
   - (--move-data) make log optional  [Karel Zak]
   - (man) add note about interactive mode)  [Karel Zak]
   - (move-data) improve MiB/s progress bar  [Karel Zak]
   - add --move-use-fsync, disable fsync() by default  [Karel Zak]
   - add -J between mutually exclusive options  [Karel Zak]
   - check fdisk_script_set_header() return code [coverity scan]  [Karel Zak]
   - make --no-act usable for --move-data too  [Karel Zak]
   - mark --dump and --list-free as mutually exclusive  [Karel Zak]
   - remove never read value [clang scan]  [Karel Zak]
   - write all message to stdout  [Karel Zak]
strutils:
   - fix double free in strrealloc() [coverity scan]  [Karel Zak]
su:
   - (pty) remove unnecessary call  [Karel Zak]
   - More descriptive error message on malformed user entry  [Jakub Hrozek]
   - fix error message  [Karel Zak]
   - silence a useless warning  [Jouke Witteveen]
   - use lib/pty-session.c code for --pty  [Karel Zak]
sys-utils/manuals:
   - Make the number of the paired macros ".RS" and ".RE" equal  [Bjarni Ingi Gislason]
term-utils:
   - add header file guards [lgtm scan]  [Karel Zak]
tests:
   - (blkid) update regression tests (due to BLOCK_SIZE)  [Karel Zak]
   - (chfn) force to bash  [Karel Zak]
   - (col) avoid hardcoding of errno string  [Patrick Steinhardt]
   - (colcrt) fix reliance on EILSEQ in POSIX locale  [Patrick Steinhardt]
   - (colcrt) use env to set locale  [Karel Zak]
   - (column) use actually invalid multibytes to test encoding  [Patrick Steinhardt]
   - (fdisk) avoid hardcoding of errno string  [Patrick Steinhardt]
   - (fdisk) make sure we use the same sizes for MD devices  [Karel Zak]
   - (fdisk) update padding in output  [Karel Zak]
   - (getopt) remove unwanted paths from error output  [Karel Zak]
   - (libfdisk) remove reliance on buffer behaviour of standard streams  [Patrick Steinhardt]
   - (libmount) make X-* and x-* more robust  [Karel Zak]
   - (libsmartcols) add padding tests  [Karel Zak]
   - (lsblk) gather also udev attributes for new dumps  [Karel Zak]
   - (sfdisk) update move output  [Karel Zak]
   - Add test for current version (v5) of XFS filesystem  [Anatoly Pugachev]
   - Skip fdisk/mbr-nondos-mode on Sparc as unsupported  [Karel Zak, Anatoly Pugachev]
   - add --parsable, remove TS_OPT_parsable  [Karel Zak]
   - add missing 'ts_check_prog xz'  [Karel Zak]
   - add mount --all tests  [Karel Zak]
   - add new test for chfn gecos  [Radka Skvarilova]
   - add remaining stderr outputs  [Karel Zak]
   - add script and scriptlive replay  [Karel Zak]
   - another prompt fix  [Karel Zak]
   - commit add missing file  [Karel Zak]
   - don't show diff for TS_KNOWN_FAIL  [Karel Zak]
   - fix --unbuffered mode with ASAN  [Karel Zak]
   - fixes blkid/md-raidX-whole on Sparc  [Anatoly Pugachev]
   - improve unbuffer check  [Karel Zak]
   - lscpu s390 nested virtualization  [Radka Skvarilova]
   - make scriptlive output more portable  [Karel Zak]
   - mark mdadm tests as TS_KNOWN_FAIL  [Karel Zak]
   - mark scriptlive as KNOWN_FAILED  [Karel Zak]
   - remove device name from blkdiscard output  [Karel Zak]
   - remove option --posix  [Karel Zak]
   - remove reliance on buffer behaviour of stderr/stdout streams  [Patrick Steinhardt]
   - remove unbuffered ts_run feature  [Karel Zak]
   - split stdout and stderr  [Karel Zak]
   - upadet scriptlive output  [Karel Zak]
   - update fdisk output  [Karel Zak]
   - update sfdisk dumps  [Karel Zak]
   - update sfdisk wipe output  [Karel Zak]
   - use env and support both unbuffer/stdbuf  [Patrick Steinhardt]
   - use subtests for mountpoint(1)  [Karel Zak]
travis:
   - don't call tests in parallel for root  [Karel Zak]
   - fix sudo command line  [Karel Zak]
   - force non-parallel for root  [Karel Zak]
unshare:
   - add --keep-caps option  [James Peach]
   - add --map-current-user option  [James Peach]
   - cleanup capabilities code [lgtm scan]  [Karel Zak]
   - fix --map-current-user short option (-c)  [Matthew Harm Bekkema]
verity:
   - add new verity.roothashfile option  [Luca Boccassi]
   - add support for Forward Error Correction options  [Luca Boccassi]
   - ensure that hash_device and root_hash[_file] are passed together or not at all  [Luca Boccassi]
wdctl:
   - add control struct  [Karel Zak]
   - default to /dev/watchdog0  [Karel Zak]
   - remove duplicate include of <unistd.h>  [Patrick Steinhardt]
   - remove printing from main()  [Karel Zak]
   - rename watch dog info struct  [Karel Zak]
wipefs:
   - Allow explicitly enable/disablement  [Sam Voss]

- Allow explicitly enable/disablement  [Sam Voss]


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-21 10:57 [ANNOUNCE] util-linux v2.35 Karel Zak
@ 2020-01-24 19:16 ` Carlos Santos
  2020-01-25 10:51   ` Karel Zak
  2020-01-27 13:34   ` Karel Zak
  0 siblings, 2 replies; 16+ messages in thread
From: Carlos Santos @ 2020-01-24 19:16 UTC (permalink / raw)
  To: Karel Zak; +Cc: linux-kernel, linux-fsdevel, util-linux

Hi Karel,

On Tue, Jan 21, 2020 at 7:59 AM Karel Zak <kzak@redhat.com> wrote:
>
>
> The util-linux release v2.35 is available at
>
>   http://www.kernel.org/pub/linux/utils/util-linux/v2.35/
>
> Feedback and bug reports, as always, are welcomed.
>
>   Karel
>

That's great. Thanks!

--8<--
> Changes between v2.34 and v2.35
> -------------------------------
--8<--
> docs:
>    - Fix adjtime documentation  [Pierre Labastie]
>    - add GPLv3 text  [Karel Zak]

That's a problem. It makes hwclock hard to include in embedded systems
due to the GPLv3 restrictions.

I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
was taken from gnulib. Would it be possible to take the file from an
previous version of gnulib that was still under GPLv2?

An alternative approach would be porting a similar code using a more
liberal license, e.g. BSD.

What do you think?

-- 
Carlos Santos <unixmania@gmail.com>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-24 19:16 ` Carlos Santos
@ 2020-01-25 10:51   ` Karel Zak
  2020-01-25 11:19     ` Carlos Santos
  2020-01-26 16:59     ` J William Piggott
  2020-01-27 13:34   ` Karel Zak
  1 sibling, 2 replies; 16+ messages in thread
From: Karel Zak @ 2020-01-25 10:51 UTC (permalink / raw)
  To: Carlos Santos; +Cc: util-linux

On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:

> That's a problem. It makes hwclock hard to include in embedded systems
> due to the GPLv3 restrictions.
> 
> I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> was taken from gnulib. Would it be possible to take the file from an
> previous version of gnulib that was still under GPLv2?
> 
> An alternative approach would be porting a similar code using a more
> liberal license, e.g. BSD.
> 
> What do you think?

 I have tried to export it from gnulib with v2, but it was impossible
 by official gnulib tools.  Maybe do it manually from some old
 tarball. I'll accept a patch for this if you have time do it.

 I'll like to release 2.35.1 ASAP (due to bug in sfdisk --move-data),
 so we can add this license change too.

    Karel

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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-25 10:51   ` Karel Zak
@ 2020-01-25 11:19     ` Carlos Santos
  2020-01-26 16:59     ` J William Piggott
  1 sibling, 0 replies; 16+ messages in thread
From: Carlos Santos @ 2020-01-25 11:19 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Sat, Jan 25, 2020 at 7:51 AM Karel Zak <kzak@redhat.com> wrote:
>
> On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
>
> > That's a problem. It makes hwclock hard to include in embedded systems
> > due to the GPLv3 restrictions.
> >
> > I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> > was taken from gnulib. Would it be possible to take the file from an
> > previous version of gnulib that was still under GPLv2?
> >
> > An alternative approach would be porting a similar code using a more
> > liberal license, e.g. BSD.
> >
> > What do you think?
>
>  I have tried to export it from gnulib with v2, but it was impossible
>  by official gnulib tools.  Maybe do it manually from some old
>  tarball. I'll accept a patch for this if you have time do it.

I'm  looking for alternatives but they don't seem to be easy to
implement. I will explore them over the weekend and even during work
time next week, if necessary. That's fine, since the evil corporation
we both  work for pay us to write free software. :-)

>  I'll like to release 2.35.1 ASAP (due to bug in sfdisk --move-data),
>  so we can add this license change too.

Don't hold 2.35.1 because of this.

-- 
Carlos Santos <unixmania@gmail.com>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-25 10:51   ` Karel Zak
  2020-01-25 11:19     ` Carlos Santos
@ 2020-01-26 16:59     ` J William Piggott
  2020-01-26 17:50       ` Carlos Santos
  2020-01-27 16:13       ` Karel Zak
  1 sibling, 2 replies; 16+ messages in thread
From: J William Piggott @ 2020-01-26 16:59 UTC (permalink / raw)
  To: Karel Zak; +Cc: Carlos Santos, util-linux



On Sat, 25 Jan 2020, Karel Zak wrote:

> On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
>
>> That's a problem. It makes hwclock hard to include in embedded systems
>> due to the GPLv3 restrictions.
>>
>> I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
>> was taken from gnulib. Would it be possible to take the file from an
>> previous version of gnulib that was still under GPLv2?
>>
>> An alternative approach would be porting a similar code using a more
>> liberal license, e.g. BSD.
>>
>> What do you think?
>
> I have tried to export it from gnulib with v2, but it was impossible
> by official gnulib tools.  Maybe do it manually from some old
> tarball. I'll accept a patch for this if you have time do it.

You do realize that I had to heavily modify that file to remove its
gnulib dependencies (because you said no to gnulib). If I recall
correctly I had newer and older versions to chose from and picked that
one due to it having the most bugs fixed while still being practical to
strip its gnulib dependence.

The reasons for making the change were:
  * remove hwclock's dependence on date(1)
  * remove an insecure call to date(1)
  * I thought there would be to many complaints if the accepted input
    date formats were changed

As to the last bullet point; personally I think having the --date option
accept every date syntax know to history is nonsense. A fixed format
would be fine with me. Since we switched hwclock's output to ISO 8601
that seems like a good choice for its input. Or you could just use the
existing utillinux date parser.

The question is, do you want to deal with any pushback for
changing the long established accepted --date formats?

>
> I'll like to release 2.35.1 ASAP (due to bug in sfdisk --move-data),
> so we can add this license change too.
>
>    Karel
>
> --
> Karel Zak  <kzak@redhat.com>
> http://karelzak.blogspot.com
>
>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-26 16:59     ` J William Piggott
@ 2020-01-26 17:50       ` Carlos Santos
  2020-01-27 16:13       ` Karel Zak
  1 sibling, 0 replies; 16+ messages in thread
From: Carlos Santos @ 2020-01-26 17:50 UTC (permalink / raw)
  To: J William Piggott; +Cc: Karel Zak, util-linux

On Sun, Jan 26, 2020 at 2:00 PM J William Piggott <elseifthen@gmx.com> wrote:
>
>
>
> On Sat, 25 Jan 2020, Karel Zak wrote:
>
> > On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
> >
> >> That's a problem. It makes hwclock hard to include in embedded systems
> >> due to the GPLv3 restrictions.
> >>
> >> I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> >> was taken from gnulib. Would it be possible to take the file from an
> >> previous version of gnulib that was still under GPLv2?
> >>
> >> An alternative approach would be porting a similar code using a more
> >> liberal license, e.g. BSD.
> >>
> >> What do you think?
> >
> > I have tried to export it from gnulib with v2, but it was impossible
> > by official gnulib tools.  Maybe do it manually from some old
> > tarball. I'll accept a patch for this if you have time do it.
>
> You do realize that I had to heavily modify that file to remove its
> gnulib dependencies (because you said no to gnulib). If I recall
> correctly I had newer and older versions to chose from and picked that
> one due to it having the most bugs fixed while still being practical to
> strip its gnulib dependence.
>
> The reasons for making the change were:
>   * remove hwclock's dependence on date(1)
>   * remove an insecure call to date(1)
>   * I thought there would be to many complaints if the accepted input
>     date formats were changed
>
> As to the last bullet point; personally I think having the --date option
> accept every date syntax know to history is nonsense. A fixed format
> would be fine with me. Since we switched hwclock's output to ISO 8601
> that seems like a good choice for its input. Or you could just use the
> existing utillinux date parser.
>
> The question is, do you want to deal with any pushback for
> changing the long established accepted --date formats?
>
> >
> > I'll like to release 2.35.1 ASAP (due to bug in sfdisk --move-data),
> > so we can add this license change too.

Can't we use getdate(3), instead? I see some advantages in this approach:

- It's a POSIX standard
- It's supported by GLIBC, uClibc-ng and musl, among others
- No need to maintain the code, since it is provided by the system libc
- It's easy to a default template to use if DATEMSK is not defined
(e.g. start with a copy of NetBSD's
/usr/share/examples/getdate/datemsk.template and expand it as
necessary).

Being non-reentrant is irelevant for hwclock and the cost of reading
an external file is negligible.

-- 
Carlos Santos <unixmania@gmail.com>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-24 19:16 ` Carlos Santos
  2020-01-25 10:51   ` Karel Zak
@ 2020-01-27 13:34   ` Karel Zak
  2020-01-27 13:40     ` Karel Zak
  1 sibling, 1 reply; 16+ messages in thread
From: Karel Zak @ 2020-01-27 13:34 UTC (permalink / raw)
  To: Carlos Santos; +Cc: util-linux

On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
> I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> was taken from gnulib. Would it be possible to take the file from an
> previous version of gnulib that was still under GPLv2?

I have checked it again and all history of the file in git is with v3,
and import old version also means import many bugs....

Maybe the best would be to use our lib/timeutils.c:parse_timestamp().
It does not provide support for so many date-time formats, but the
basic format like "2012-09-22 16:34:22" (and subsets) is supported. 

IMHO it's better to introduce a small backward compatibility issue than
rely on hwclock-parse-date.y or execute date(1) like old versions.

I didn't expect v3 to be a problem for so many our users.... ;-(

    Karel

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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 13:34   ` Karel Zak
@ 2020-01-27 13:40     ` Karel Zak
  2020-01-27 15:25       ` Karel Zak
  2020-01-27 16:29       ` Carlos Santos
  0 siblings, 2 replies; 16+ messages in thread
From: Karel Zak @ 2020-01-27 13:40 UTC (permalink / raw)
  To: Carlos Santos; +Cc: util-linux

On Mon, Jan 27, 2020 at 02:34:38PM +0100, Karel Zak wrote:
> On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
> > I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> > was taken from gnulib. Would it be possible to take the file from an
> > previous version of gnulib that was still under GPLv2?
> 
> I have checked it again and all history of the file in git is with v3,
> and import old version also means import many bugs....
> 
> Maybe the best would be to use our lib/timeutils.c:parse_timestamp().
> It does not provide support for so many date-time formats, but the
> basic format like "2012-09-22 16:34:22" (and subsets) is supported. 
> 
> IMHO it's better to introduce a small backward compatibility issue than
> rely on hwclock-parse-date.y or execute date(1) like old versions.
 
or we can use #ifdef to keep it backwardly compatible for normal
distros where v3 is not problem and lib/timeutils.c:parse_timestamp()
with v2 for the rest ... at least for v2.35.1.

    Karel


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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 13:40     ` Karel Zak
@ 2020-01-27 15:25       ` Karel Zak
  2020-01-27 16:29       ` Carlos Santos
  1 sibling, 0 replies; 16+ messages in thread
From: Karel Zak @ 2020-01-27 15:25 UTC (permalink / raw)
  To: Carlos Santos; +Cc: util-linux

On Mon, Jan 27, 2020 at 02:40:09PM +0100, Karel Zak wrote:
> or we can use #ifdef to keep it backwardly compatible for normal
> distros where v3 is not problem and lib/timeutils.c:parse_timestamp()
> with v2 for the rest ... at least for v2.35.1.

Implemented: https://github.com/karelzak/util-linux/commit/e8c21c894e69ba0c72ecf69e8297cb20ec5f9c1e

Use ./configure --disable-hwclock-gplv3 for your GPLv3-free systems :-)

    Karel

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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-26 16:59     ` J William Piggott
  2020-01-26 17:50       ` Carlos Santos
@ 2020-01-27 16:13       ` Karel Zak
  2020-01-27 16:38         ` Carlos Santos
  1 sibling, 1 reply; 16+ messages in thread
From: Karel Zak @ 2020-01-27 16:13 UTC (permalink / raw)
  To: J William Piggott; +Cc: Carlos Santos, util-linux

On Sun, Jan 26, 2020 at 11:59:59AM -0500, J William Piggott wrote:
> You do realize that I had to heavily modify that file to remove its
> gnulib dependencies (because you said no to gnulib). If I recall

I know, this is why we keep it in the tree (and thanks for all the
work!).

> correctly I had newer and older versions to chose from and picked that
> one due to it having the most bugs fixed while still being practical to
> strip its gnulib dependence.
> 
> The reasons for making the change were:
>  * remove hwclock's dependence on date(1)
>  * remove an insecure call to date(1)
>  * I thought there would be to many complaints if the accepted input
>    date formats were changed
> 
> As to the last bullet point; personally I think having the --date option
> accept every date syntax know to history is nonsense. 

Yes, I agree it's probably overkill.

> Or you could just use the existing utillinux date parser.

This is what I have implemented for --disable-hwclock-gplv3 to have
anything ASAP for the next 2.35.1 update... Maybe we can make it the
default for the next release v2.36 and later remove the gnulib code at
all.

> The question is, do you want to deal with any pushback for
> changing the long established accepted --date formats?

IMHO the existing utillinux date parser is good enough, but I have no
clue how people use --date.

    Karel

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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 13:40     ` Karel Zak
  2020-01-27 15:25       ` Karel Zak
@ 2020-01-27 16:29       ` Carlos Santos
  2020-01-27 20:21         ` Karel Zak
  1 sibling, 1 reply; 16+ messages in thread
From: Carlos Santos @ 2020-01-27 16:29 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Mon, Jan 27, 2020 at 10:40 AM Karel Zak <kzak@redhat.com> wrote:
>
> On Mon, Jan 27, 2020 at 02:34:38PM +0100, Karel Zak wrote:
> > On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
> > > I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> > > was taken from gnulib. Would it be possible to take the file from an
> > > previous version of gnulib that was still under GPLv2?
> >
> > I have checked it again and all history of the file in git is with v3,
> > and import old version also means import many bugs....
> >
> > Maybe the best would be to use our lib/timeutils.c:parse_timestamp().
> > It does not provide support for so many date-time formats, but the
> > basic format like "2012-09-22 16:34:22" (and subsets) is supported.
> >
> > IMHO it's better to introduce a small backward compatibility issue than
> > rely on hwclock-parse-date.y or execute date(1) like old versions.
>
> or we can use #ifdef to keep it backwardly compatible for normal
> distros where v3 is not problem and lib/timeutils.c:parse_timestamp()
> with v2 for the rest ... at least for v2.35.1.

Does parse_timestamp support localization, like getdate(3) does?

-- 
Carlos Santos <unixmania@gmail.com>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 16:13       ` Karel Zak
@ 2020-01-27 16:38         ` Carlos Santos
  2020-01-27 20:18           ` Karel Zak
  0 siblings, 1 reply; 16+ messages in thread
From: Carlos Santos @ 2020-01-27 16:38 UTC (permalink / raw)
  To: Karel Zak; +Cc: J William Piggott, util-linux

On Mon, Jan 27, 2020 at 1:13 PM Karel Zak <kzak@redhat.com> wrote:
>
> On Sun, Jan 26, 2020 at 11:59:59AM -0500, J William Piggott wrote:
> > You do realize that I had to heavily modify that file to remove its
> > gnulib dependencies (because you said no to gnulib). If I recall
>
> I know, this is why we keep it in the tree (and thanks for all the
> work!).
>
> > correctly I had newer and older versions to chose from and picked that
> > one due to it having the most bugs fixed while still being practical to
> > strip its gnulib dependence.
> >
> > The reasons for making the change were:
> >  * remove hwclock's dependence on date(1)
> >  * remove an insecure call to date(1)
> >  * I thought there would be to many complaints if the accepted input
> >    date formats were changed
> >
> > As to the last bullet point; personally I think having the --date option
> > accept every date syntax know to history is nonsense.
>
> Yes, I agree it's probably overkill.
>
> > Or you could just use the existing utillinux date parser.
>
> This is what I have implemented for --disable-hwclock-gplv3 to have
> anything ASAP for the next 2.35.1 update... Maybe we can make it the
> default for the next release v2.36 and later remove the gnulib code at
> all.
>
> > The question is, do you want to deal with any pushback for
> > changing the long established accepted --date formats?
>
> IMHO the existing utillinux date parser is good enough, but I have no
> clue how people use --date.

This is a bit disturbing. People should know in advance what date/time
formats hwclock supports. They should be described in the man page, at
least in a simple statement like “the suported date formats are the
same as foo(3)”. Leaving it to be guessed by users, either reading the
source code or testing at run-time does not make sense. The man page
does not even mention Documentation/parse-date.txt.

--
Carlos Santos <unixmania@gmail.com>

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 16:38         ` Carlos Santos
@ 2020-01-27 20:18           ` Karel Zak
  0 siblings, 0 replies; 16+ messages in thread
From: Karel Zak @ 2020-01-27 20:18 UTC (permalink / raw)
  To: Carlos Santos; +Cc: J William Piggott, util-linux

On Mon, Jan 27, 2020 at 01:38:37PM -0300, Carlos Santos wrote:
> On Mon, Jan 27, 2020 at 1:13 PM Karel Zak <kzak@redhat.com> wrote:
> >
> > On Sun, Jan 26, 2020 at 11:59:59AM -0500, J William Piggott wrote:
> > > You do realize that I had to heavily modify that file to remove its
> > > gnulib dependencies (because you said no to gnulib). If I recall
> >
> > I know, this is why we keep it in the tree (and thanks for all the
> > work!).
> >
> > > correctly I had newer and older versions to chose from and picked that
> > > one due to it having the most bugs fixed while still being practical to
> > > strip its gnulib dependence.
> > >
> > > The reasons for making the change were:
> > >  * remove hwclock's dependence on date(1)
> > >  * remove an insecure call to date(1)
> > >  * I thought there would be to many complaints if the accepted input
> > >    date formats were changed
> > >
> > > As to the last bullet point; personally I think having the --date option
> > > accept every date syntax know to history is nonsense.
> >
> > Yes, I agree it's probably overkill.
> >
> > > Or you could just use the existing utillinux date parser.
> >
> > This is what I have implemented for --disable-hwclock-gplv3 to have
> > anything ASAP for the next 2.35.1 update... Maybe we can make it the
> > default for the next release v2.36 and later remove the gnulib code at
> > all.
> >
> > > The question is, do you want to deal with any pushback for
> > > changing the long established accepted --date formats?
> >
> > IMHO the existing utillinux date parser is good enough, but I have no
> > clue how people use --date.
> 
> This is a bit disturbing. People should know in advance what date/time
> formats hwclock supports. They should be described in the man page, at

man hwclock: "This option is capable of understanding many time and
date formats." :-) 

It was for decade exec(date), so it supports almost whatever and it's 
reason why we have ported the code from gnulib to uti-linux. 

The question is if we really need to support it. Maybe it's time to
make it more restricted and rely only on simple format like
'2525-08-14 07:11:05'.

    Karel

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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 16:29       ` Carlos Santos
@ 2020-01-27 20:21         ` Karel Zak
  2020-01-28 19:24           ` Sami Kerola
  0 siblings, 1 reply; 16+ messages in thread
From: Karel Zak @ 2020-01-27 20:21 UTC (permalink / raw)
  To: Carlos Santos; +Cc: util-linux

On Mon, Jan 27, 2020 at 01:29:47PM -0300, Carlos Santos wrote:
> On Mon, Jan 27, 2020 at 10:40 AM Karel Zak <kzak@redhat.com> wrote:
> >
> > On Mon, Jan 27, 2020 at 02:34:38PM +0100, Karel Zak wrote:
> > > On Fri, Jan 24, 2020 at 04:16:47PM -0300, Carlos Santos wrote:
> > > > I noticed that it comes due to sys-utils/hwclock-parse-date.y, which
> > > > was taken from gnulib. Would it be possible to take the file from an
> > > > previous version of gnulib that was still under GPLv2?
> > >
> > > I have checked it again and all history of the file in git is with v3,
> > > and import old version also means import many bugs....
> > >
> > > Maybe the best would be to use our lib/timeutils.c:parse_timestamp().
> > > It does not provide support for so many date-time formats, but the
> > > basic format like "2012-09-22 16:34:22" (and subsets) is supported.
> > >
> > > IMHO it's better to introduce a small backward compatibility issue than
> > > rely on hwclock-parse-date.y or execute date(1) like old versions.
> >
> > or we can use #ifdef to keep it backwardly compatible for normal
> > distros where v3 is not problem and lib/timeutils.c:parse_timestamp()
> > with v2 for the rest ... at least for v2.35.1.
> 
> Does parse_timestamp support localization, like getdate(3) does?

No, it's really simple digits based date-time like "2012-09-22 16:34:22".

getdate(3) is maybe another choice for future versions, for 2.35.1 is
parse_timestamp() good enough to avoid GPLv3.

    Karel


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


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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-27 20:21         ` Karel Zak
@ 2020-01-28 19:24           ` Sami Kerola
  2020-01-30 11:17             ` Karel Zak
  0 siblings, 1 reply; 16+ messages in thread
From: Sami Kerola @ 2020-01-28 19:24 UTC (permalink / raw)
  To: Karel Zak; +Cc: Carlos Santos, util-linux

On Mon, 27 Jan 2020 at 20:22, Karel Zak <kzak@redhat.com> wrote:
> No, it's really simple digits based date-time like "2012-09-22 16:34:22".
>
> getdate(3) is maybe another choice for future versions, for 2.35.1 is
> parse_timestamp() good enough to avoid GPLv3.

This will most likely end up causing an ABI breakage so I think the best
option is the least complicated time format, that is what parse_timestamp()
provides.

In case arbitrary format really must be supported then I think the best
option is to parse_timestamp() and if that fails call getdate() as well.
That said I have no idea how to write instructions to manual page about
DATEMSK environment variable and strptime() formats without causing
new-to-linux users to wonder why simple things must be so hard.

-- 
Sami Kerola
http://www.iki.fi/kerolasa/

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

* Re: [ANNOUNCE] util-linux v2.35
  2020-01-28 19:24           ` Sami Kerola
@ 2020-01-30 11:17             ` Karel Zak
  0 siblings, 0 replies; 16+ messages in thread
From: Karel Zak @ 2020-01-30 11:17 UTC (permalink / raw)
  To: kerolasa; +Cc: Carlos Santos, util-linux

On Tue, Jan 28, 2020 at 07:24:13PM +0000, Sami Kerola wrote:
> On Mon, 27 Jan 2020 at 20:22, Karel Zak <kzak@redhat.com> wrote:
> > No, it's really simple digits based date-time like "2012-09-22 16:34:22".
> >
> > getdate(3) is maybe another choice for future versions, for 2.35.1 is
> > parse_timestamp() good enough to avoid GPLv3.
> 
> This will most likely end up causing an ABI breakage so I think the best
> option is the least complicated time format, that is what parse_timestamp()
> provides.

IMHO current solution with #ifdefs is good enough for mainstream
hwclock users, the minority with gplv3-free requirement has to be more
careful with date/time formats... We need to describe it in the man
page and add some advice for portability, because the current
situation ("we support whatever format") is horrible commitment for
future.

Anyway, extend parse_timestamp() to support month and day names would
be nice for another tools too.

> In case arbitrary format really must be supported then I think the best
> option is to parse_timestamp() and if that fails call getdate() as well.

or add getdate() as the last possibility in parse_timestamp() :-)

> That said I have no idea how to write instructions to manual page about
> DATEMSK environment variable and strptime() formats without causing
> new-to-linux users to wonder why simple things must be so hard.

Good point. Frankly I have never seen getdate() in any code and for
good reasons coreutils guys replaced this function by own code.

    Karel

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


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

end of thread, other threads:[~2020-01-30 11:18 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-21 10:57 [ANNOUNCE] util-linux v2.35 Karel Zak
2020-01-24 19:16 ` Carlos Santos
2020-01-25 10:51   ` Karel Zak
2020-01-25 11:19     ` Carlos Santos
2020-01-26 16:59     ` J William Piggott
2020-01-26 17:50       ` Carlos Santos
2020-01-27 16:13       ` Karel Zak
2020-01-27 16:38         ` Carlos Santos
2020-01-27 20:18           ` Karel Zak
2020-01-27 13:34   ` Karel Zak
2020-01-27 13:40     ` Karel Zak
2020-01-27 15:25       ` Karel Zak
2020-01-27 16:29       ` Carlos Santos
2020-01-27 20:21         ` Karel Zak
2020-01-28 19:24           ` Sami Kerola
2020-01-30 11:17             ` Karel Zak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).