3
0
forked from pool/util-linux

Accepting request 457450 from Base:System

1

OBS-URL: https://build.opensuse.org/request/show/457450
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=216
This commit is contained in:
Dominique Leuenberger 2017-03-01 22:39:12 +00:00 committed by Git OBS Bridge
parent c4babe9b0b
commit 13a5039daf
14 changed files with 450 additions and 142 deletions

View File

@ -8,8 +8,8 @@
# #
# example: # example:
# --------- # ---------
# raw1:hdb1 # raw1:sdb1
# #
# this means: bind /dev/raw/raw1 to /dev/hdb1 # this means: bind /dev/raw/raw1 to /dev/sdb1
# #
# ... # ...

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Fri Feb 10 10:40:23 UTC 2017 - fbui@suse.com
- presets are managed by the branding presets package (bsc#1012850)
The default activation state is defined by the branding preset
package.
This also get rid of the only use of the rpm preset macros so we can
kill them.
-------------------------------------------------------------------
Wed Feb 8 18:16:22 CET 2017 - sbrabec@suse.com
- Merge SLE12 SP3 changes to make the package compatible with
Tumbleweed, SLE12 SP3 and Leap 42.3.
- Drop patch tests-script-race-on-force-only.patch from SLE12 SP3
and Leap 42.3. Upstream has a different workaround.
https://github.com/karelzak/util-linux/issues/296
- INCOMPATIBLE CHANGE for SLE12 SP3 and Leap 42.3:
losetup -L changes its meaning from SLE12 SP1&SP2 specific
--logical-blocksize to the upstream --nooverlap).
--logical-blocksize can be used only with long option.
- Include SLE12 + Leap 42 exclusive feature, implemented by
hare@suse.de:
* losetup: Add support for setting logical blocksizes
(bsc#931634, FATE#319010)
+ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
-------------------------------------------------------------------
Tue Feb 7 20:07:55 CET 2017 - sbrabec@suse.com
- Update to version 2.29.1:
* lscpu: add aarch64 specific names
* lubmount: Disable disable ro/rw mtab checks (bsc#1012632)
* More details at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ReleaseNotes
-------------------------------------------------------------------
Tue Feb 7 18:31:04 CET 2017 - sbrabec@suse.com
- Replace raw initscript by a systemd service doing the same thing.
Based on previous work of fcrozat@suse.com (FATE#321122).
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de

View File

@ -16,7 +16,11 @@
# #
%if 0%{?suse_version} >= 1330
%bcond_without enable_last %bcond_without enable_last
%else
%bcond_with enable_last
%endif
Name: python-libmount Name: python-libmount
%define _name util-linux %define _name util-linux
@ -112,7 +116,7 @@ BuildRequires: libmount-devel
%endif %endif
%endif %endif
#END SECOND STAGE DEPENDENCIES #END SECOND STAGE DEPENDENCIES
Version: 2.29 Version: 2.29.1
Release: 0 Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls # util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole # that into the core build cycle. pwdutils also pulls in the whole
@ -123,7 +127,7 @@ Release: 0
Url: https://www.kernel.org/pub/linux/utils/util-linux/ Url: https://www.kernel.org/pub/linux/utils/util-linux/
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz
Source1: util-linux-rpmlintrc Source1: util-linux-rpmlintrc
Source4: raw.init Source4: raw.service
Source5: etc.raw Source5: etc.raw
Source6: etc_filesystems Source6: etc_filesystems
Source7: baselibs.conf Source7: baselibs.conf
@ -150,7 +154,9 @@ Source51: blkid.conf
## util-linux patches ## util-linux patches
## ##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path # PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
# PATCH-FEATURE-SLE util-linux-losetup-Add-support-for-setting-logical-blocksize.patch bsc931634 FATE319010 hare@suse.de -- Add support for setting logical blocksizes.
Patch1: util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
# #
%if %build_util_linux %if %build_util_linux
@ -159,7 +165,6 @@ Provides: fsck-with-dev-lock = %{version}
# bnc#651598: # bnc#651598:
Provides: util-linux(fake+no-canonicalize) Provides: util-linux(fake+no-canonicalize)
PreReq: %install_info_prereq permissions PreReq: %install_info_prereq permissions
PreReq: %insserv_prereq %fillup_prereq /bin/sed
Recommends: %{name}-lang = %{version} Recommends: %{name}-lang = %{version}
Provides: eject = 2.1.0-166.8 Provides: eject = 2.1.0-166.8
Provides: login = 4.0-33.7 Provides: login = 4.0-33.7
@ -174,6 +179,8 @@ Conflicts: coreutils < 8.21
Conflicts: sysvinit-tools < 2.88+-87 Conflicts: sysvinit-tools < 2.88+-87
# File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3). # File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3).
Conflicts: bash-completion <= 2.1-13.1 Conflicts: bash-completion <= 2.1-13.1
# The preset is provided by the presets branding package since 0.4 (bsc#1012850)
Conflicts: systemd-presets-branding < 0.4
# bnc#805684: # bnc#805684:
%ifarch s390x %ifarch s390x
Obsoletes: s390-32 Obsoletes: s390-32
@ -189,6 +196,13 @@ Obsoletes: uuid-runtime < %{version}-%{release}
Recommends: adjtimex Recommends: adjtimex
Recommends: time Recommends: time
Recommends: which Recommends: which
#
%if 0%{?suse_version} < 1330
# Using Conflicts as util-linux-losetup-Add-support-for-setting-logical-blocksize
# now uses bit 5 of lo_flags with meaning LO_FLAGS_BLOCKSIZE bsc#966891
#
Conflicts: kernel < 4.4
%endif
%else %else
%if %build_python_libmount %if %build_python_libmount
%else %else
@ -383,7 +397,11 @@ library.
%endif %endif
%prep %prep
%setup -q -n %{_name}-%{version} -b 40 %setup -q -n %{_name}-%{version} -b 40
%patch4 -p1 %patch0 -p1
%if 0%{?suse_version} < 1330
# logical block size support in loop does not exist in Tumbleweed and upstream kernel yet
%patch1 -p1
%endif
# #
# setctsid # setctsid
cp -p %{S:22} %{S:23} . cp -p %{S:22} %{S:23} .
@ -599,7 +617,7 @@ exit "$result"
%install %install
%if %build_util_linux %if %build_util_linux
mkdir -p %{buildroot}{%{_sysconfdir}/{init.d,pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}} mkdir -p %{buildroot}{%{_sysconfdir}/{pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}}
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login
install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote
@ -608,7 +626,6 @@ install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/pam.d/runuser-l
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
pushd ../klogconsole pushd ../klogconsole
# klogconsole install # klogconsole install
make install DEST=%{buildroot} make install DEST=%{buildroot}
@ -672,8 +689,8 @@ echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > %{buildroot}%{_sbindir}
chmod 755 %{buildroot}%{_sbindir}/flushb chmod 755 %{buildroot}%{_sbindir}/flushb
# Install scripts to configure raw devices at boot time # Install scripts to configure raw devices at boot time
install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw
install -m 755 $RPM_SOURCE_DIR/raw.init %{buildroot}%{_initddir}/raw install -m 644 $RPM_SOURCE_DIR/raw.service %{buildroot}%{_unitdir}
ln -sf ../..%{_sysconfdir}/init.d/raw %{buildroot}%{_sbindir}/rcraw ln -sf service %{buildroot}%{_sbindir}/rcraw
# upstream moved getopt examples from datadir to docdir but we keep # upstream moved getopt examples from datadir to docdir but we keep
# the old location because we would need to fix the manpage first # the old location because we would need to fix the manpage first
mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/ mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
@ -732,14 +749,11 @@ mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
mkdir -p %{buildroot}/run/uuidd mkdir -p %{buildroot}/run/uuidd
mkdir -p %{buildroot}/usr/lib/systemd/system-preset
ln -s %{_bindir}/logger %{buildroot}/bin ln -s %{_bindir}/logger %{buildroot}/bin
# clock.txt from uuidd is a ghost file # clock.txt from uuidd is a ghost file
touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim
# Use socket activated uuidd by default.
echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/systemd/system-preset/50-uuidd.preset
%if !%build_util_linux %if !%build_util_linux
%make_install %make_install
%endif %endif
@ -748,8 +762,11 @@ echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/system
%fdupes -s %{buildroot}%{_prefix} %fdupes -s %{buildroot}%{_prefix}
%if %build_util_linux %if %build_util_linux
%pre
%{service_add_pre raw.service}
%post %post
%{fillup_and_insserv raw} %{service_add_post raw.service}
%set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount
%set_permissions %{_bindir}/su %set_permissions %{_bindir}/su
# Safely migrate PAM files from coreutils to util-linux # Safely migrate PAM files from coreutils to util-linux
@ -775,8 +792,11 @@ if [ -f etc/fstab ]; then
sed -i 's:code=:codepage=:' etc/fstab sed -i 's:code=:codepage=:' etc/fstab
fi fi
%preun
%{service_del_preun raw.service}
%postun %postun
%{insserv_cleanup} %{service_del_postun raw.service}
%verifyscript %verifyscript
%verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount %verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount
@ -825,7 +845,6 @@ fi
/usr/sbin/useradd -r -g uuidd -c "User for uuidd" \ /usr/sbin/useradd -r -g uuidd -c "User for uuidd" \
-d /var/run/uuidd uuidd 2>/dev/null || : -d /var/run/uuidd uuidd 2>/dev/null || :
%{service_add_pre uuidd.socket uuidd.service} %{service_add_pre uuidd.socket uuidd.service}
%{?systemd_preset_pre}
%post -n uuidd %post -n uuidd
%{service_add_post uuidd.socket uuidd.service} %{service_add_post uuidd.socket uuidd.service}
@ -836,8 +855,6 @@ fi
%postun -n uuidd %postun -n uuidd
%{service_del_postun uuidd.socket uuidd.service} %{service_del_postun uuidd.socket uuidd.service}
%posttrans -p /bin/bash -n uuidd
%{?systemd_preset_posttrans}
%endif %endif
%if %build_util_linux %if %build_util_linux
@ -860,7 +877,7 @@ fi
%doc Documentation/modems-with-agetty.txt %doc Documentation/modems-with-agetty.txt
%doc Documentation/mount.txt %doc Documentation/mount.txt
%doc Documentation/pg.txt %doc Documentation/pg.txt
%config %attr(744,root,root) %{_sysconfdir}/init.d/raw %{_unitdir}/raw.service
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw %config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw
%config(noreplace) %{_sysconfdir}/filesystems %config(noreplace) %{_sysconfdir}/filesystems
%config(noreplace) %{_sysconfdir}/blkid.conf %config(noreplace) %{_sysconfdir}/blkid.conf
@ -1115,6 +1132,8 @@ fi
%dir %{_datadir}/getopt %dir %{_datadir}/getopt
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash %attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh %attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh
# These directories should be owned by bash-completion. But we don't want to
# install them on build, so own these two directories:
%dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions %dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/* %{_datadir}/bash-completion/completions/*
@ -1251,6 +1270,15 @@ fi
/bin/logger /bin/logger
%{_bindir}/logger %{_bindir}/logger
%{_bindir}/lslogins %{_bindir}/lslogins
#BEGIN bootstrap_hack
%if 0%{?suse_version} < 1330
# Build images of some products use util-linux that does not come from this
# spec and does not own bash-completion dir. So we have to own own these two
# directories in util-linux-systemd as well:
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%endif
#END bootstrap_hack
%{_datadir}/bash-completion/completions/logger %{_datadir}/bash-completion/completions/logger
%{_datadir}/bash-completion/completions/lslogins %{_datadir}/bash-completion/completions/lslogins
%{_mandir}/man1/logger.1.gz %{_mandir}/man1/logger.1.gz
@ -1270,7 +1298,6 @@ fi
%{_sbindir}/rcuuidd %{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service %{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket %{_unitdir}/uuidd.socket
/usr/lib/systemd/system-preset/50-uuidd.preset
%endif %endif
%if %build_python_libmount %if %build_python_libmount

View File

@ -1,62 +0,0 @@
#! /bin/sh
# Copyright (c) 1995-2001 SuSE GmbH Nuernberg, Germany.
#
# Author: Dirk Lerner <feedback@suse.de>
#
# /etc/init.d/raw
#
# and symbolic its link
#
# /usr/sbin/rcraw
#
### BEGIN INIT INFO
# Provides: raw
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description: raw devices
# Description: raw-devices
### END INIT INFO
. /etc/rc.status
CONFIG=/etc/raw
RAW_BIN=/sbin/raw
RAW_MODULE=raw
test -x $RAW_BIN || exit 5
if [ ! -f $CONFIG ];then
echo "file: $CONFIG not found"
exit 6
fi
rc_reset
case "$1" in
start)
/sbin/modprobe $RAW_MODULE && sleep 2
line=`grep -v ^# < $CONFIG`
for i in $line;do
rawdev=`echo $i | cut -f1 -d:`
rawbind=`echo $i | cut -f2- -d:`
echo -n "bind /dev/raw/$rawdev to /dev/$rawbind..."
$RAW_BIN /dev/raw/$rawdev /dev/$rawbind > /dev/null 2>&1
rc_status -v
done
;;
stop)
echo -n "to unbind the rawdevice please perform a system shutdown"
rc_failed 3
rc_status -v
;;
status)
$RAW_BIN -qa 2> /dev/null
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
;;
esac
rc_exit

17
raw.service Normal file
View File

@ -0,0 +1,17 @@
[Unit]
Description=raw devices
After=local-fs.target remote-fs.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c "\
/sbin/modprobe raw;\
/sbin/udevadm settle;\
for i in `grep -v ^# /etc/raw`; do\
rawdev=`echo $i | cut -f1 -d:`;\
rawbind=`echo $i | cut -f2- -d:`;\
/usr/sbin/raw /dev/raw/$rawdev /dev/$rawbind;\
done"
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJYghWjAAoJEOS3HV7sOcKEsRsP/Rhl+vlB9TQmxHF4EhglTJMv
i8x65Eq4WznF+qf9ZMZ4qSrsfS/FqvIccw9MWEywj3lAHBx05jhW5Bx6vEzFijiS
CuzRcx+5UuO6DQHxySIRqxromCRaCNzUnNhZfFVlJo1EAD1TVzuF62otCRHxE6F+
NMjw9+PAPrYT00L6I3AzIHc7t+EgZX6Cyr2Yb22VQnTIJc8E7XfiA7iXgjdhqsn9
kKUl4kUDGZULX9cIjRkbaVIR7Z8+DH0LcA7QyvA+Xw3fu4UGVCRHR5EquUWEplQD
1rycHxEjRvOjheZCHdAUlhzHguNm2xVSTtcLjvMieMOM60pNxijLibhKkMmqkjJX
e/CLWFHPLnxpJ+WPRUAA5qVrpRjkUm3Wh5O/TBytICQUPTRw7wG4WPgOtgpq3aSr
aet8iClLZkAw7wNS3O+VTRZuzB+mfbguRR7S2o0UemmEBJ9Y4nkaZN/SyT/aX4t0
vhvM3tbIgw3sGozEsYMjzO/iQTDRIi284DVnfPS7Y1A2RY5lDkSzKowiL9X1vh61
5tapPthH4Fmss+sd/mC6W3XiBRvLR32l6gTq1M4kMPVKZ3XPlo2uvNbTiL93nI1q
DDWSzORi+bSsjMGUYU3VDlzqnsrhwxzdCNl6eA+/Y65tRwQNmOPpBVkSOfp+Fqy9
R6VzZW/Y6fWxPojd34A2
=OXAT
-----END PGP SIGNATURE-----

3
util-linux-2.29.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ce40600b934ec2fecfa6bfc4efe6982d051ba96c2832b05201347aec582f54f
size 4278756

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJYIa+yAAoJEOS3HV7sOcKEkPEQAJ6qcx836hUP93e+q8lH7Anf
6odYlxYWC5Pgb8Qopn1KDMh5c3GAbPrnbSoVRKS3jvc24uZuhlCCwYnJbcmEt/+L
am+/zQyIF9T5ZwTadnGD2bkYXI5N9eS4R5O0N/OdBTgsVr9rjZ318zHg+8YCUZN0
hCh4e1UlUC8uL7C/WgeLW/+kN+D+/1KJISDerkw+u5FFPZGWcPcYPh7ofi4ZyV/h
OPgvaEHt3/IxsZnuUNtIEVhFBpabjdwLkXm1LQ26XLnkdipBuuadVB8jaSLUz29J
rkNVI0iiH9vq5abE0wDIzQ2Lt4Lv65fQM7dmw/Ek188tZn9MyX8vT+C5Vyu+EFtU
K+1BwMVNqfW5hZHPM2z7izO/ml77wnydEFGy9GZZpLqQAzUGgsQDC3JbiczC7Qfq
bTFGhz32sHp/2gyOqciwhLPzWxD6jOLVG84vC9Obvtm+xQEfvLa71FnHdcLU3uZA
uZHt50WSuusZJtCWDhhLgfV6NV7c+YB1tELfrStlXAHyZT3Ws0pNPv+5Sue81dGt
uYVOOlXd+5qVpcgJRs5ai86yzv65kCeqmDsSAiHMIwPfFYBOeYessiRmWpqJXTt2
S38j00fHFbNh5qqgDyso6myan4ZNLVIpihZLT2JLJqxEnf4ILZVV7krNW9p09teq
afEkNizqGL/NF2I7ltpe
=5e/s
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c59ea67cc7b564104f60532f6e0a95fe17a91acb870ba8fd7e986f273abf9e7
size 4249020

View File

@ -0,0 +1,140 @@
Index: util-linux-2.29/include/loopdev.h
===================================================================
--- util-linux-2.29.orig/include/loopdev.h
+++ util-linux-2.29/include/loopdev.h
@@ -41,6 +41,7 @@ enum {
LO_FLAGS_AUTOCLEAR = 4, /* kernel >= 2.6.25 */
LO_FLAGS_PARTSCAN = 8, /* kernel >= 3.2 */
LO_FLAGS_DIRECT_IO = 16, /* kernel >= 4.2 */
+ LO_FLAGS_BLOCKSIZE = 32, /* Tentative */
};
#define LO_NAME_SIZE 64
@@ -120,7 +121,8 @@ enum {
LOOPDEV_FL_NOIOCTL = (1 << 6),
LOOPDEV_FL_DEVSUBDIR = (1 << 7),
LOOPDEV_FL_CONTROL = (1 << 8), /* system with /dev/loop-control */
- LOOPDEV_FL_SIZELIMIT = (1 << 9)
+ LOOPDEV_FL_SIZELIMIT = (1 << 9),
+ LOOPDEV_FL_BLOCKSIZE = (1 << 10)
};
/*
@@ -173,6 +175,7 @@ int loopcxt_set_offset(struct loopdev_cx
int loopcxt_set_sizelimit(struct loopdev_cxt *lc, uint64_t sizelimit);
int loopcxt_set_flags(struct loopdev_cxt *lc, uint32_t flags);
int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename);
+int loopcxt_set_blocksize(struct loopdev_cxt *lc, uint64_t blocksize);
extern char *loopcxt_get_backing_file(struct loopdev_cxt *lc);
extern int loopcxt_get_backing_devno(struct loopdev_cxt *lc, dev_t *devno);
Index: util-linux-2.29/lib/loopdev.c
===================================================================
--- util-linux-2.29.orig/lib/loopdev.c
+++ util-linux-2.29/lib/loopdev.c
@@ -1115,6 +1115,26 @@ int loopcxt_set_backing_file(struct loop
}
/*
+ * @lc: context
+ * @blocksize: logical blocksize for the device
+ *
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int loopcxt_set_blocksize(struct loopdev_cxt *lc, uint64_t blocksize)
+{
+ if (!lc)
+ return -EINVAL;
+
+ lc->info.lo_init[0] = blocksize;
+ lc->info.lo_flags |= LO_FLAGS_BLOCKSIZE;
+
+ DBG(CXT, ul_debugobj(lc, "set blocksize=%llu", (long long unsigned int)lc->info.lo_init[0]));
+ return 0;
+}
+
+/*
* In kernels prior to v3.9, if the offset or sizelimit options
* are used, the block device's size won't be synced automatically.
* blockdev --getsize64 and filesystems will use the backing
Index: util-linux-2.29/sys-utils/losetup.c
===================================================================
--- util-linux-2.29.orig/sys-utils/losetup.c
+++ util-linux-2.29/sys-utils/losetup.c
@@ -398,6 +398,7 @@ static void usage(FILE *out)
fputs(_(" -o, --offset <num> start at offset <num> into file\n"), out);
fputs(_(" --sizelimit <num> device is limited to <num> bytes of the file\n"), out);
+ fputs(_(" -L, --logical-blocksize <size> set the logical block size to <size>\n"), out);
fputs(_(" -P, --partscan create a partitioned loop device\n"), out);
fputs(_(" -r, --read-only set up a read-only loop device\n"), out);
fputs(_(" --direct-io[=<on|off>] open backing file with O_DIRECT\n"), out);
@@ -447,7 +448,8 @@ static void warn_size(const char *filena
static int create_loop(struct loopdev_cxt *lc,
int nooverlap, int lo_flags, int flags,
- const char *file, uint64_t offset, uint64_t sizelimit)
+ const char *file, uint64_t offset, uint64_t sizelimit,
+ uint64_t blocksize)
{
int hasdev = loopcxt_has_device(lc);
int rc = 0;
@@ -533,6 +535,8 @@ static int create_loop(struct loopdev_cx
loopcxt_set_offset(lc, offset);
if (flags & LOOPDEV_FL_SIZELIMIT)
loopcxt_set_sizelimit(lc, sizelimit);
+ if (flags & LOOPDEV_FL_BLOCKSIZE)
+ loopcxt_set_blocksize(lc, blocksize);
if (lo_flags)
loopcxt_set_flags(lc, lo_flags);
if ((rc = loopcxt_set_backing_file(lc, file))) {
@@ -561,7 +565,7 @@ int main(int argc, char **argv)
struct loopdev_cxt lc;
int act = 0, flags = 0, no_overlap = 0, c;
char *file = NULL;
- uint64_t offset = 0, sizelimit = 0;
+ uint64_t offset = 0, sizelimit = 0, blocksize = 0;
int res = 0, showdev = 0, lo_flags = 0;
char *outarg = NULL;
int list = 0;
@@ -571,7 +575,8 @@ int main(int argc, char **argv)
OPT_SIZELIMIT = CHAR_MAX + 1,
OPT_SHOW,
OPT_RAW,
- OPT_DIO
+ OPT_DIO,
+ OPT_BLOCKSIZE
};
static const struct option longopts[] = {
{ "all", 0, 0, 'a' },
@@ -584,6 +589,7 @@ int main(int argc, char **argv)
{ "associated", 1, 0, 'j' },
{ "json", 0, 0, 'J' },
{ "list", 0, 0, 'l' },
+ { "logical-blocksize", 1, 0, 'L' },
{ "noheadings", 0, 0, 'n' },
{ "offset", 1, 0, 'o' },
{ "output", 1, 0, 'O' },
@@ -657,6 +663,10 @@ int main(int argc, char **argv)
act = A_SHOW;
file = optarg;
break;
+ case OPT_BLOCKSIZE:
+ blocksize = strtosize_or_err(optarg, _("failed to parse logical block size"));
+ flags |= LOOPDEV_FL_BLOCKSIZE;
+ break;
case 'l':
list = 1;
break;
@@ -789,7 +799,8 @@ int main(int argc, char **argv)
switch (act) {
case A_CREATE:
- res = create_loop(&lc, no_overlap, lo_flags, flags, file, offset, sizelimit);
+ res = create_loop(&lc, no_overlap, lo_flags, flags, file, offset,
+ sizelimit, blocksize);
if (res == 0) {
if (showdev)
printf("%s\n", loopcxt_get_device(&lc));

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Fri Feb 10 10:40:23 UTC 2017 - fbui@suse.com
- presets are managed by the branding presets package (bsc#1012850)
The default activation state is defined by the branding preset
package.
This also get rid of the only use of the rpm preset macros so we can
kill them.
-------------------------------------------------------------------
Wed Feb 8 18:16:22 CET 2017 - sbrabec@suse.com
- Merge SLE12 SP3 changes to make the package compatible with
Tumbleweed, SLE12 SP3 and Leap 42.3.
- Drop patch tests-script-race-on-force-only.patch from SLE12 SP3
and Leap 42.3. Upstream has a different workaround.
https://github.com/karelzak/util-linux/issues/296
- INCOMPATIBLE CHANGE for SLE12 SP3 and Leap 42.3:
losetup -L changes its meaning from SLE12 SP1&SP2 specific
--logical-blocksize to the upstream --nooverlap).
--logical-blocksize can be used only with long option.
- Include SLE12 + Leap 42 exclusive feature, implemented by
hare@suse.de:
* losetup: Add support for setting logical blocksizes
(bsc#931634, FATE#319010)
+ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
-------------------------------------------------------------------
Tue Feb 7 20:07:55 CET 2017 - sbrabec@suse.com
- Update to version 2.29.1:
* lscpu: add aarch64 specific names
* lubmount: Disable disable ro/rw mtab checks (bsc#1012632)
* More details at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ReleaseNotes
-------------------------------------------------------------------
Tue Feb 7 18:31:04 CET 2017 - sbrabec@suse.com
- Replace raw initscript by a systemd service doing the same thing.
Based on previous work of fcrozat@suse.com (FATE#321122).
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de

View File

@ -16,7 +16,11 @@
# #
%if 0%{?suse_version} >= 1330
%bcond_without enable_last %bcond_without enable_last
%else
%bcond_with enable_last
%endif
Name: util-linux-systemd Name: util-linux-systemd
%define _name util-linux %define _name util-linux
@ -112,7 +116,7 @@ BuildRequires: libmount-devel
%endif %endif
%endif %endif
#END SECOND STAGE DEPENDENCIES #END SECOND STAGE DEPENDENCIES
Version: 2.29 Version: 2.29.1
Release: 0 Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls # util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole # that into the core build cycle. pwdutils also pulls in the whole
@ -123,7 +127,7 @@ Release: 0
Url: https://www.kernel.org/pub/linux/utils/util-linux/ Url: https://www.kernel.org/pub/linux/utils/util-linux/
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz
Source1: util-linux-rpmlintrc Source1: util-linux-rpmlintrc
Source4: raw.init Source4: raw.service
Source5: etc.raw Source5: etc.raw
Source6: etc_filesystems Source6: etc_filesystems
Source7: baselibs.conf Source7: baselibs.conf
@ -150,7 +154,9 @@ Source51: blkid.conf
## util-linux patches ## util-linux patches
## ##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path # PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
# PATCH-FEATURE-SLE util-linux-losetup-Add-support-for-setting-logical-blocksize.patch bsc931634 FATE319010 hare@suse.de -- Add support for setting logical blocksizes.
Patch1: util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
# #
%if %build_util_linux %if %build_util_linux
@ -159,7 +165,6 @@ Provides: fsck-with-dev-lock = %{version}
# bnc#651598: # bnc#651598:
Provides: util-linux(fake+no-canonicalize) Provides: util-linux(fake+no-canonicalize)
PreReq: %install_info_prereq permissions PreReq: %install_info_prereq permissions
PreReq: %insserv_prereq %fillup_prereq /bin/sed
Recommends: %{name}-lang = %{version} Recommends: %{name}-lang = %{version}
Provides: eject = 2.1.0-166.8 Provides: eject = 2.1.0-166.8
Provides: login = 4.0-33.7 Provides: login = 4.0-33.7
@ -174,6 +179,8 @@ Conflicts: coreutils < 8.21
Conflicts: sysvinit-tools < 2.88+-87 Conflicts: sysvinit-tools < 2.88+-87
# File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3). # File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3).
Conflicts: bash-completion <= 2.1-13.1 Conflicts: bash-completion <= 2.1-13.1
# The preset is provided by the presets branding package since 0.4 (bsc#1012850)
Conflicts: systemd-presets-branding < 0.4
# bnc#805684: # bnc#805684:
%ifarch s390x %ifarch s390x
Obsoletes: s390-32 Obsoletes: s390-32
@ -189,6 +196,13 @@ Obsoletes: uuid-runtime < %{version}-%{release}
Recommends: adjtimex Recommends: adjtimex
Recommends: time Recommends: time
Recommends: which Recommends: which
#
%if 0%{?suse_version} < 1330
# Using Conflicts as util-linux-losetup-Add-support-for-setting-logical-blocksize
# now uses bit 5 of lo_flags with meaning LO_FLAGS_BLOCKSIZE bsc#966891
#
Conflicts: kernel < 4.4
%endif
%else %else
%if %build_python_libmount %if %build_python_libmount
%else %else
@ -383,7 +397,11 @@ library.
%endif %endif
%prep %prep
%setup -q -n %{_name}-%{version} -b 40 %setup -q -n %{_name}-%{version} -b 40
%patch4 -p1 %patch0 -p1
%if 0%{?suse_version} < 1330
# logical block size support in loop does not exist in Tumbleweed and upstream kernel yet
%patch1 -p1
%endif
# #
# setctsid # setctsid
cp -p %{S:22} %{S:23} . cp -p %{S:22} %{S:23} .
@ -599,7 +617,7 @@ exit "$result"
%install %install
%if %build_util_linux %if %build_util_linux
mkdir -p %{buildroot}{%{_sysconfdir}/{init.d,pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}} mkdir -p %{buildroot}{%{_sysconfdir}/{pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}}
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login
install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote
@ -608,7 +626,6 @@ install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/pam.d/runuser-l
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
pushd ../klogconsole pushd ../klogconsole
# klogconsole install # klogconsole install
make install DEST=%{buildroot} make install DEST=%{buildroot}
@ -672,8 +689,8 @@ echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > %{buildroot}%{_sbindir}
chmod 755 %{buildroot}%{_sbindir}/flushb chmod 755 %{buildroot}%{_sbindir}/flushb
# Install scripts to configure raw devices at boot time # Install scripts to configure raw devices at boot time
install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw
install -m 755 $RPM_SOURCE_DIR/raw.init %{buildroot}%{_initddir}/raw install -m 644 $RPM_SOURCE_DIR/raw.service %{buildroot}%{_unitdir}
ln -sf ../..%{_sysconfdir}/init.d/raw %{buildroot}%{_sbindir}/rcraw ln -sf service %{buildroot}%{_sbindir}/rcraw
# upstream moved getopt examples from datadir to docdir but we keep # upstream moved getopt examples from datadir to docdir but we keep
# the old location because we would need to fix the manpage first # the old location because we would need to fix the manpage first
mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/ mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
@ -732,14 +749,11 @@ mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
mkdir -p %{buildroot}/run/uuidd mkdir -p %{buildroot}/run/uuidd
mkdir -p %{buildroot}/usr/lib/systemd/system-preset
ln -s %{_bindir}/logger %{buildroot}/bin ln -s %{_bindir}/logger %{buildroot}/bin
# clock.txt from uuidd is a ghost file # clock.txt from uuidd is a ghost file
touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim
# Use socket activated uuidd by default.
echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/systemd/system-preset/50-uuidd.preset
%if !%build_util_linux %if !%build_util_linux
%make_install %make_install
%endif %endif
@ -748,8 +762,11 @@ echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/system
%fdupes -s %{buildroot}%{_prefix} %fdupes -s %{buildroot}%{_prefix}
%if %build_util_linux %if %build_util_linux
%pre
%{service_add_pre raw.service}
%post %post
%{fillup_and_insserv raw} %{service_add_post raw.service}
%set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount
%set_permissions %{_bindir}/su %set_permissions %{_bindir}/su
# Safely migrate PAM files from coreutils to util-linux # Safely migrate PAM files from coreutils to util-linux
@ -775,8 +792,11 @@ if [ -f etc/fstab ]; then
sed -i 's:code=:codepage=:' etc/fstab sed -i 's:code=:codepage=:' etc/fstab
fi fi
%preun
%{service_del_preun raw.service}
%postun %postun
%{insserv_cleanup} %{service_del_postun raw.service}
%verifyscript %verifyscript
%verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount %verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount
@ -825,7 +845,6 @@ fi
/usr/sbin/useradd -r -g uuidd -c "User for uuidd" \ /usr/sbin/useradd -r -g uuidd -c "User for uuidd" \
-d /var/run/uuidd uuidd 2>/dev/null || : -d /var/run/uuidd uuidd 2>/dev/null || :
%{service_add_pre uuidd.socket uuidd.service} %{service_add_pre uuidd.socket uuidd.service}
%{?systemd_preset_pre}
%post -n uuidd %post -n uuidd
%{service_add_post uuidd.socket uuidd.service} %{service_add_post uuidd.socket uuidd.service}
@ -836,8 +855,6 @@ fi
%postun -n uuidd %postun -n uuidd
%{service_del_postun uuidd.socket uuidd.service} %{service_del_postun uuidd.socket uuidd.service}
%posttrans -p /bin/bash -n uuidd
%{?systemd_preset_posttrans}
%endif %endif
%if %build_util_linux %if %build_util_linux
@ -860,7 +877,7 @@ fi
%doc Documentation/modems-with-agetty.txt %doc Documentation/modems-with-agetty.txt
%doc Documentation/mount.txt %doc Documentation/mount.txt
%doc Documentation/pg.txt %doc Documentation/pg.txt
%config %attr(744,root,root) %{_sysconfdir}/init.d/raw %{_unitdir}/raw.service
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw %config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw
%config(noreplace) %{_sysconfdir}/filesystems %config(noreplace) %{_sysconfdir}/filesystems
%config(noreplace) %{_sysconfdir}/blkid.conf %config(noreplace) %{_sysconfdir}/blkid.conf
@ -1115,6 +1132,8 @@ fi
%dir %{_datadir}/getopt %dir %{_datadir}/getopt
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash %attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh %attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh
# These directories should be owned by bash-completion. But we don't want to
# install them on build, so own these two directories:
%dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions %dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/* %{_datadir}/bash-completion/completions/*
@ -1251,6 +1270,15 @@ fi
/bin/logger /bin/logger
%{_bindir}/logger %{_bindir}/logger
%{_bindir}/lslogins %{_bindir}/lslogins
#BEGIN bootstrap_hack
%if 0%{?suse_version} < 1330
# Build images of some products use util-linux that does not come from this
# spec and does not own bash-completion dir. So we have to own own these two
# directories in util-linux-systemd as well:
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%endif
#END bootstrap_hack
%{_datadir}/bash-completion/completions/logger %{_datadir}/bash-completion/completions/logger
%{_datadir}/bash-completion/completions/lslogins %{_datadir}/bash-completion/completions/lslogins
%{_mandir}/man1/logger.1.gz %{_mandir}/man1/logger.1.gz
@ -1270,7 +1298,6 @@ fi
%{_sbindir}/rcuuidd %{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service %{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket %{_unitdir}/uuidd.socket
/usr/lib/systemd/system-preset/50-uuidd.preset
%endif %endif
%if %build_python_libmount %if %build_python_libmount

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Fri Feb 10 10:40:23 UTC 2017 - fbui@suse.com
- presets are managed by the branding presets package (bsc#1012850)
The default activation state is defined by the branding preset
package.
This also get rid of the only use of the rpm preset macros so we can
kill them.
-------------------------------------------------------------------
Wed Feb 8 18:16:22 CET 2017 - sbrabec@suse.com
- Merge SLE12 SP3 changes to make the package compatible with
Tumbleweed, SLE12 SP3 and Leap 42.3.
- Drop patch tests-script-race-on-force-only.patch from SLE12 SP3
and Leap 42.3. Upstream has a different workaround.
https://github.com/karelzak/util-linux/issues/296
- INCOMPATIBLE CHANGE for SLE12 SP3 and Leap 42.3:
losetup -L changes its meaning from SLE12 SP1&SP2 specific
--logical-blocksize to the upstream --nooverlap).
--logical-blocksize can be used only with long option.
- Include SLE12 + Leap 42 exclusive feature, implemented by
hare@suse.de:
* losetup: Add support for setting logical blocksizes
(bsc#931634, FATE#319010)
+ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
-------------------------------------------------------------------
Tue Feb 7 20:07:55 CET 2017 - sbrabec@suse.com
- Update to version 2.29.1:
* lscpu: add aarch64 specific names
* lubmount: Disable disable ro/rw mtab checks (bsc#1012632)
* More details at:
https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ReleaseNotes
-------------------------------------------------------------------
Tue Feb 7 18:31:04 CET 2017 - sbrabec@suse.com
- Replace raw initscript by a systemd service doing the same thing.
Based on previous work of fcrozat@suse.com (FATE#321122).
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de Thu Jan 5 12:34:33 UTC 2017 - sweet_f_a@gmx.de

View File

@ -16,7 +16,11 @@
# #
%if 0%{?suse_version} >= 1330
%bcond_without enable_last %bcond_without enable_last
%else
%bcond_with enable_last
%endif
Name: util-linux Name: util-linux
%define _name util-linux %define _name util-linux
@ -112,7 +116,7 @@ BuildRequires: libmount-devel
%endif %endif
%endif %endif
#END SECOND STAGE DEPENDENCIES #END SECOND STAGE DEPENDENCIES
Version: 2.29 Version: 2.29.1
Release: 0 Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls # util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole # that into the core build cycle. pwdutils also pulls in the whole
@ -123,7 +127,7 @@ Release: 0
Url: https://www.kernel.org/pub/linux/utils/util-linux/ Url: https://www.kernel.org/pub/linux/utils/util-linux/
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/%{_name}-%{version}.tar.xz
Source1: util-linux-rpmlintrc Source1: util-linux-rpmlintrc
Source4: raw.init Source4: raw.service
Source5: etc.raw Source5: etc.raw
Source6: etc_filesystems Source6: etc_filesystems
Source7: baselibs.conf Source7: baselibs.conf
@ -150,7 +154,9 @@ Source51: blkid.conf
## util-linux patches ## util-linux patches
## ##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path # PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
# PATCH-FEATURE-SLE util-linux-losetup-Add-support-for-setting-logical-blocksize.patch bsc931634 FATE319010 hare@suse.de -- Add support for setting logical blocksizes.
Patch1: util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
# #
%if %build_util_linux %if %build_util_linux
@ -159,7 +165,6 @@ Provides: fsck-with-dev-lock = %{version}
# bnc#651598: # bnc#651598:
Provides: util-linux(fake+no-canonicalize) Provides: util-linux(fake+no-canonicalize)
PreReq: %install_info_prereq permissions PreReq: %install_info_prereq permissions
PreReq: %insserv_prereq %fillup_prereq /bin/sed
Recommends: %{name}-lang = %{version} Recommends: %{name}-lang = %{version}
Provides: eject = 2.1.0-166.8 Provides: eject = 2.1.0-166.8
Provides: login = 4.0-33.7 Provides: login = 4.0-33.7
@ -174,6 +179,8 @@ Conflicts: coreutils < 8.21
Conflicts: sysvinit-tools < 2.88+-87 Conflicts: sysvinit-tools < 2.88+-87
# File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3). # File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3).
Conflicts: bash-completion <= 2.1-13.1 Conflicts: bash-completion <= 2.1-13.1
# The preset is provided by the presets branding package since 0.4 (bsc#1012850)
Conflicts: systemd-presets-branding < 0.4
# bnc#805684: # bnc#805684:
%ifarch s390x %ifarch s390x
Obsoletes: s390-32 Obsoletes: s390-32
@ -189,6 +196,13 @@ Obsoletes: uuid-runtime < %{version}-%{release}
Recommends: adjtimex Recommends: adjtimex
Recommends: time Recommends: time
Recommends: which Recommends: which
#
%if 0%{?suse_version} < 1330
# Using Conflicts as util-linux-losetup-Add-support-for-setting-logical-blocksize
# now uses bit 5 of lo_flags with meaning LO_FLAGS_BLOCKSIZE bsc#966891
#
Conflicts: kernel < 4.4
%endif
%else %else
%if %build_python_libmount %if %build_python_libmount
%else %else
@ -383,7 +397,11 @@ library.
%endif %endif
%prep %prep
%setup -q -n %{_name}-%{version} -b 40 %setup -q -n %{_name}-%{version} -b 40
%patch4 -p1 %patch0 -p1
%if 0%{?suse_version} < 1330
# logical block size support in loop does not exist in Tumbleweed and upstream kernel yet
%patch1 -p1
%endif
# #
# setctsid # setctsid
cp -p %{S:22} %{S:23} . cp -p %{S:22} %{S:23} .
@ -599,7 +617,7 @@ exit "$result"
%install %install
%if %build_util_linux %if %build_util_linux
mkdir -p %{buildroot}{%{_sysconfdir}/{init.d,pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}} mkdir -p %{buildroot}{%{_sysconfdir}/{pam.d,default},%{_mandir}/man{1,8},/bin,/sbin,%{_bindir},%{_sbindir},%{_infodir}}
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/login
install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pam.d/remote
@ -608,7 +626,6 @@ install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/pam.d/runuser-l
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/su-l
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/default/su
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
pushd ../klogconsole pushd ../klogconsole
# klogconsole install # klogconsole install
make install DEST=%{buildroot} make install DEST=%{buildroot}
@ -672,8 +689,8 @@ echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > %{buildroot}%{_sbindir}
chmod 755 %{buildroot}%{_sbindir}/flushb chmod 755 %{buildroot}%{_sbindir}/flushb
# Install scripts to configure raw devices at boot time # Install scripts to configure raw devices at boot time
install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw %{buildroot}%{_sysconfdir}/raw
install -m 755 $RPM_SOURCE_DIR/raw.init %{buildroot}%{_initddir}/raw install -m 644 $RPM_SOURCE_DIR/raw.service %{buildroot}%{_unitdir}
ln -sf ../..%{_sysconfdir}/init.d/raw %{buildroot}%{_sbindir}/rcraw ln -sf service %{buildroot}%{_sbindir}/rcraw
# upstream moved getopt examples from datadir to docdir but we keep # upstream moved getopt examples from datadir to docdir but we keep
# the old location because we would need to fix the manpage first # the old location because we would need to fix the manpage first
mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/ mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
@ -732,14 +749,11 @@ mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
mkdir -p %{buildroot}/run/uuidd mkdir -p %{buildroot}/run/uuidd
mkdir -p %{buildroot}/usr/lib/systemd/system-preset
ln -s %{_bindir}/logger %{buildroot}/bin ln -s %{_bindir}/logger %{buildroot}/bin
# clock.txt from uuidd is a ghost file # clock.txt from uuidd is a ghost file
touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim ln -sf /sbin/service %{buildroot}/usr/sbin/rcfstrim
# Use socket activated uuidd by default.
echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/systemd/system-preset/50-uuidd.preset
%if !%build_util_linux %if !%build_util_linux
%make_install %make_install
%endif %endif
@ -748,8 +762,11 @@ echo -e 'enable uuidd.socket\nenable uuidd.service' >%{buildroot}/usr/lib/system
%fdupes -s %{buildroot}%{_prefix} %fdupes -s %{buildroot}%{_prefix}
%if %build_util_linux %if %build_util_linux
%pre
%{service_add_pre raw.service}
%post %post
%{fillup_and_insserv raw} %{service_add_post raw.service}
%set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount %{_bindir}/umount
%set_permissions %{_bindir}/su %set_permissions %{_bindir}/su
# Safely migrate PAM files from coreutils to util-linux # Safely migrate PAM files from coreutils to util-linux
@ -775,8 +792,11 @@ if [ -f etc/fstab ]; then
sed -i 's:code=:codepage=:' etc/fstab sed -i 's:code=:codepage=:' etc/fstab
fi fi
%preun
%{service_del_preun raw.service}
%postun %postun
%{insserv_cleanup} %{service_del_postun raw.service}
%verifyscript %verifyscript
%verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount %verify_permissions -e %{_bindir}/wall -e %{_bindir}/write -e %{_bindir}/mount -e %{_bindir}/umount
@ -825,7 +845,6 @@ fi
/usr/sbin/useradd -r -g uuidd -c "User for uuidd" \ /usr/sbin/useradd -r -g uuidd -c "User for uuidd" \
-d /var/run/uuidd uuidd 2>/dev/null || : -d /var/run/uuidd uuidd 2>/dev/null || :
%{service_add_pre uuidd.socket uuidd.service} %{service_add_pre uuidd.socket uuidd.service}
%{?systemd_preset_pre}
%post -n uuidd %post -n uuidd
%{service_add_post uuidd.socket uuidd.service} %{service_add_post uuidd.socket uuidd.service}
@ -836,8 +855,6 @@ fi
%postun -n uuidd %postun -n uuidd
%{service_del_postun uuidd.socket uuidd.service} %{service_del_postun uuidd.socket uuidd.service}
%posttrans -p /bin/bash -n uuidd
%{?systemd_preset_posttrans}
%endif %endif
%if %build_util_linux %if %build_util_linux
@ -860,7 +877,7 @@ fi
%doc Documentation/modems-with-agetty.txt %doc Documentation/modems-with-agetty.txt
%doc Documentation/mount.txt %doc Documentation/mount.txt
%doc Documentation/pg.txt %doc Documentation/pg.txt
%config %attr(744,root,root) %{_sysconfdir}/init.d/raw %{_unitdir}/raw.service
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw %config(noreplace) %attr(644,root,root) %{_sysconfdir}/raw
%config(noreplace) %{_sysconfdir}/filesystems %config(noreplace) %{_sysconfdir}/filesystems
%config(noreplace) %{_sysconfdir}/blkid.conf %config(noreplace) %{_sysconfdir}/blkid.conf
@ -1115,6 +1132,8 @@ fi
%dir %{_datadir}/getopt %dir %{_datadir}/getopt
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash %attr (755,root,root) %{_datadir}/getopt/getopt-parse.bash
%attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh %attr (755,root,root) %{_datadir}/getopt/getopt-parse.tcsh
# These directories should be owned by bash-completion. But we don't want to
# install them on build, so own these two directories:
%dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions %dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/* %{_datadir}/bash-completion/completions/*
@ -1251,6 +1270,15 @@ fi
/bin/logger /bin/logger
%{_bindir}/logger %{_bindir}/logger
%{_bindir}/lslogins %{_bindir}/lslogins
#BEGIN bootstrap_hack
%if 0%{?suse_version} < 1330
# Build images of some products use util-linux that does not come from this
# spec and does not own bash-completion dir. So we have to own own these two
# directories in util-linux-systemd as well:
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%endif
#END bootstrap_hack
%{_datadir}/bash-completion/completions/logger %{_datadir}/bash-completion/completions/logger
%{_datadir}/bash-completion/completions/lslogins %{_datadir}/bash-completion/completions/lslogins
%{_mandir}/man1/logger.1.gz %{_mandir}/man1/logger.1.gz
@ -1270,7 +1298,6 @@ fi
%{_sbindir}/rcuuidd %{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service %{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket %{_unitdir}/uuidd.socket
/usr/lib/systemd/system-preset/50-uuidd.preset
%endif %endif
%if %build_python_libmount %if %build_python_libmount