Add a version of flock that uses the fnctl based lockf locking instead of
flock based locks. This allows us to take the same lock that opkg would
use from a shell script. The two different locking mechanisms operate
independently of each other.
Inserting this C file into the util-linux build seems like the easiest/best
place to insert the code. At this point it hasn't been discussed with upstream.
(From OE-Core rev: d2b784110e2c3df8a0a41e4819cf2de9003f9fa3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The MIT license was missing from the license list for util-linux. Add
a patch, submitted to upstream which adds the missing license mentions.
(From OE-Core rev: 24078c0542626f74c93203d17ab4b2bb2f9b5630)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update:
===============
GPL-1.0-or-later is added. fdisk.c is licensed under it.
0001-lscpu-Use-4K-buffer-size-instead-of-BUFSIZ.patch is dropped as
it's been in the new version.
(From OE-Core rev: 9a0bd46e6988b2da446f89864131639dde63c6d0)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check whether magic.h header exists before defining HAVE_MAGIC.
Despite library availability there still can be missing header.
Current test doesn't cover that possibility which will lead compilation
to fail in case of separate sysroot.
Upstream-Status: Backport
[263381ddd4]
(From OE-Core rev: a93e5c4aba34996fdb9b253a4a8529f33ec114f5)
Signed-off-by: Mateusz Marciniec <mateuszmar2@gmail.com>
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glibc 2.36 has added sys/pidfd.h and APIs for
pidfd_send_signal and pidfd_open, therefore check
for this header and include it if it exists
(From OE-Core rev: c72d4ad4d3c41e6bc36e7d7542a42db04b5a2e97)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
close_range expects 3 parameters, thus far it was not implemented in
glibc so it was hidden but with glibc 2.34+ it will start to show up
(From OE-Core rev: 0d6f638230a96808e22438d9925aec6383d136a7)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of duplicating logic, we can use the run.sh that the test suite
installs.
Unless told otherwise, the util-linux test suite assumes that it is
running in a build tree and looks for binaries to run, but we're on
target so pass --use-system-commands (drops ~180 skips to tens).
Add --show-diff so that debugging can be done from the logs alone.
Remove redundant path manipulation that is now done upstream.
If PAM is disabled, delete the chfn test: it will run the chfn from
shadow which has different output, and the test will fail.
[ YOCTO #14244 ]
(From OE-Core rev: 720660b936b5523ec48a7c04712d10c88198e12c)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport a number of fixes so the test suite passes.
(From OE-Core rev: 398b9dab8675829f3428a4f00bffcf84525e0a46)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop manpages support, as it requires asciidoctor
(written in ruby, isn't in oe-core).
(From OE-Core rev: 6cb58dd4feae12a064fad3ab30b1d44e159fe7e2)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
util-linux-uuid does not need libtcolors.a and libcommon.a but
they get build regardless. Backport a patch from upstream to
skip them and save some compilation time.
c65953d72b
(From OE-Core rev: 9353c4338acd51e1bc4172554fca018c4044829f)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
0001-build-sys-do-not-build-plymouth-ctrl.c-w-disabled-pl.patch
0001-hwclock-do-not-assume-__NR_settimeofday_time32.patch
removed since they are included in 2.36.2
(From OE-Core rev: 4db0babf6a69a90df14363103f5f6b643f208b12)
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
some 32bit architectures ( e.g. riscv32 and arc ) are using 64bit time_t
from get go, therefore may not have time32 syscalls, these backports
help restore the successful builds for util-linux on such machines
(From OE-Core rev: df9535626c66e59c6769bd7cc285c6f26271c6aa)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
0001-hwclock-fix-for-glibc-2.31-settimeofday.patch
0001-kill-include-sys-types.h-before-checking-SYS_pidfd_s.patch
0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch
are removed since they are included in 2.35.2
(From OE-Core rev: 3165c26b38f60f48c83cae266085363fe1aaa283)
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport patches from upstream to fix a build error in the kill utility.
Fixes:
| In file included from ../util-linux-2.35.1/misc-utils/kill.c:57:
| ../util-linux-2.35.1/include/pidfd-utils.h: In function ‘pidfd_open’:
| ../util-linux-2.35.1/include/pidfd-utils.h:19:17: error: ‘SYS_pidfd_open’ undeclared (first use in this function); did you mean ‘pidfd_open’?
(From OE-Core rev: 11876e819dae43d0ba3b9010e30e91c9501f3593)
Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: add GPLv3 text in README.licensing
Also:
- Drop upstreamed patch
- Backport an upstream patch to fix an issue with 'sfdisk'
- Use 'disable-hwclock-gplv3' explicitly.
Since commit 7a3000f7ba548cf7d74ac77cc63fe8de228a669e ("hwclock: use parse_date function") hwclock is linked
with parse_date.y from gnullib. This gnulib code is distributed with GPLv3.
So, we have to use '--disable-hwclock-gplv3' to exclude this code.
See full changelog https://lore.kernel.org/util-linux/20200131095846.ogjtqrs7ai774tka@ws.net.home/T/#u
(From OE-Core rev: 324f33ba5a77d498cfff81c6857c78ad13b27125)
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The change of settimeofday() systemcall since Glibc 2.31
will cause "hwclock -s" doesn't work with error:
"hwclock: settimeofday() failed: Invalid argument"
Backport a upstream patch to fix this issue.
(From OE-Core rev: b80bf70748609b92ce766d11380353fdfbb1d916)
Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PKNAME is NULL when run "lsblk -o+PKNAME /dev/sda1"
backport an upstream patch to fix it.
(From OE-Core rev: a5a987ff5e5e333e28be44a12e729907272ea3cb)
Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upgrade from util-linux_2.33.2.bb to util-linux_2.34.bb.
-util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
Removed since this is included in 2.34.
(From OE-Core rev: c8685430d81b60c38d43ed20e480b2a0942dc768)
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The util-linux's ptest uses the SCSI_DEBUG kernel module to create
virtual SCSI disks. The automount feature of udevd will try to mount
these disks by default. Because udevd controls the mount of the disks,
the eject/mount tests will fail or be skipped. This change will stop
udevd before executing the util-linux's ptest and start the daemon
again after all the tests.
This is for eudevd only, systemd-udevd doesn't present this problem
because there are no automount rules.
[YOCTO #13301]
(From OE-Core rev: f7becf0b5743dfbee06b354a086dc553db2b1348)
Signed-off-by: Mariano López <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some binaries generated by util-linux will be replaced by core-utils
in the final image by update-alternatives, so use a dedicated directory
with symlinks to avoid using a binary generated by another package.
This will solve the issue with the ptest runner timing out when
running the kill ptests for util-linux.
[YOCTO #13238]
(From OE-Core rev: 1a8fd875f0b171e25a5ac8a32cc81ff3887935bd)
Signed-off-by: Mariano Lopez <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to run sed with the -u option to ensure the output is unbuffered else
ptest-runner may timeout thinkig things were idle. Busybox doesn't have the -u
option so we need to RDEPEND on sed (which is a good thing to do if we use it
anyway).
Alex Kanavin should get credit for discovering the problem.
(From OE-Core rev: d3ffbebf43c23faa43af81c9ecf6fcaef36d675b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch in question is patching the code to use
qsort() instead of qsort_r(), without adopting the
compare function. This is a major issue, because
the compare function as written is evaluating /
accessing a third argument, which is not passed
with this OE patch, causing access to random
memory.
Given this patch was added so as to support (old)
linux (host) distros which might not provide
qsort_r(), according to the git history, and given
these days util-linux detects availability of
qsort_r() during configure phase, and given musl
builds (which doesn't provide qsort_r() either)
work without problem, the right solution is to
simply drop this invalid patch.
Do so.
(From OE-Core rev: a85f93b4265a20b269085d12326e32915c561e62)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a problem when for example, a glibc 2.27 based system builds some
library like libpopt-native and puts it into sstate then it is reused
on a pre glibc-2.27 system to build something which depends on popt like
rpm-native. This results in an error like:
recipe-sysroot-native/usr/lib/libpopt.so: undefined reference to `glob@GLIBC_2.27'
In the past we've had this problem with new symbols like getrandom and
getentropy, here its with a more complex symbol where there is an old
version and a newer version.
We've looked into various options, basically we cannot link against our
uninative libc/ld.so since we don't have the right headers or compiler
link libraries. The compiler doesn't allow you to switch in a new set
either, even if we did want to ship them. Shipping a complete compiler,
dev headers and libs also isn't an option.
On the other hand if we follow the ld man page, it does say:
"""
The reasons for allowing undefined symbol references in shared libraries
specified at link time are that:
- A shared library specified at link time may not be the same as the one
that is available at load time, so the symbol might actually be
resolvable at load time.
"""
which is exactly this case. By the time the binary runs, it will use
our uninative loader and libc and the symbol will be available.
Therefore we basically have a choice, we get weird intermittent bugs,
we drop uninative entirely, or we pass this option.
If we pass the option, we can drop the other workarounds too.
(From OE-Core rev: 75a62ede393bf6b4972390ef5290d50add19341a)
(From OE-Core rev: d18bf7fa8e80d6cfaf3fdbe1ab06eec84b954432)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.
Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450). This is obviously bad.
We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.
(From OE-Core rev: 16c27f3bb7b99193a88949eb85f3a3da725f3a6c)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
getrandom() is only available in glibc 2.25+ and uninative may relocate binaries
onto systems that don't have this function. For now, force the code to the older
codepath until we can come up with a better solution for this kind of issue.
(From OE-Core rev: 95e31e4b15573eb1cbeb4ff1d0903c5141b84d54)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop uuid-test-error-api.patch as it's been fixed upstream differently:
b770b48700
Drop ptest for tailf, as it got deprecated and removed:
70ca1a7772
(From OE-Core rev: 6b69e08cf60abbc40236cc3894b9783d720a6e6d)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Related patches are rebased.
util-linux-ng-2.16-mount_lock_path.patch is removed because there's
no _PATH_MOUNTED_LOCK in the latest codes.
util-linux-native.patch is removed because 2.28 version of util-linux
has taken mkostemp into consideration and provide fallback if mkostemp
fails.
avoid_unsupported_sleep_param.patch is removed and coreutils is added
as a runtime dependency to util-linux-ptest to solve the same problem.
avoid_unsupported_grep_opts.patch is removed and grep is added as a
runtime dependency to util-linux-ptest to solve the sanme problem.
(From OE-Core rev: fccf99d9130f3c5ce358c97c97c52cd74deef25c)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patches that are dropped are already available upstream in 2.27 release
(From OE-Core rev: e4b9c8efaff3b869e2944444b16078ec19dce3ea)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The runuser command fails with below error message, add proper PAM
config files to fix the problem. The config files are borrowed from
CentOS 7.0 release.
runuser: Failure setting user credentials
(From OE-Core rev: a6616f1a7b8e30428e61b6437f2f48379efc101d)
Signed-off-by: Shan Hai <shan.hai@windriver.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport a patch to fix CVE-2014-9114.
The patch has been integrated in util-linux-2.26.
[YOCTO #7180]
(From OE-Core rev: 6a5c24f22621f41b17267a6ebedecec631d0156d)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fix-configure.patch is removed as it's not appropriate, and the new
version of util-linux has solved the problem this patch is trying to solve.
util-linux-ensure-the-existence-of-directory-for-PAT.patch is removed as
the new version of util-linux has solved the problem this patch is trying
to solve.
util-linux-native.patch is rebased.
util-linux-ng-replace-siginterrupt.patch is rebased.
Add PACKAGECONFIG for 'pylibmount' to build out python bindings for libmount
optionally. util-linux-pylibmount is added to PACKAGES if PACKAGECONFIG has
'pylibmount' in it.
Fix PACAGECONFIG for 'systemd' as the new version has changed things related
to systemd. Now util-linux would have a dependency on systemd if 'systemd' is
in PACKAGECONFIG.
Fix SYSTEMD_PACKAGES, SYSTEMD_SERVICE and SYSTEMD_AUTO_ENABLE variable to match
the new version.
Four lines in do_compile task are deleted because they caused do_compile failure
and nowhere in util-linux are they used. Corresponding files are also removed.
(From OE-Core rev: 264e2fde3a8624c87d2451d2752c9f3ed8911672)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When compiling util-linux, it's possible to encounter the following error.
/bin/sh: line 2:: misc-utils/uuidd.8.tmp: No such file or directory
This is because that the misc-utils directory doesn't exist when trying to
write to misc-utils/uuidd.8.tmp.
When generating misc-utils/uuidd.8 (or anything in PATHFILES), its directory
may not have been created yet. So we need to ensure the existence of the
directory to avoid the compilation error.
[YOCTO #6292]
(From OE-Core rev: b8c0a4f6a319a7cf84530b891707a5887f3caaf4)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The rule SETARCH_MAN_LINKS is used for the files under the sys-utils
dir, for example:
echo ".so man8/setarch.8" > sys-utils/linux32.8
but it depends on nothing so that the sys-utils dir may not exist, we
can create the sys-utils dir to fix problem.
[YOCTO #6115]
(From OE-Core rev: 4c46bfd703409bd55a781742e4afedf88da1124b)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
the host like CentOS 5.x, use qsort() to fix it since they are nearly
identical.
(From OE-Core rev: cda5310e32ce05bc54602d4c18ee2d28a53be57f)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rebase native patch to remove sundisklabel as it's deprectated upstream
Update LIC_FILES_CHECKSUM for modified text, no License Changes
remove deprecated elvtune flag
Rebase the fix-configure patch due to change in configure.ac
(From OE-Core rev: f1faa0dcc6103fe720142b154ffbe3970f44d957)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>