openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2014
- 1 participants
- 1539 discussions
Hello community,
here is the log from the commit of package cups for openSUSE:Factory checked in at 2014-05-27 07:09:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cups (Old)
and /work/SRC/openSUSE:Factory/.cups.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cups"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cups/cups.changes 2014-04-14 06:43:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cups.new/cups.changes 2014-05-27 07:09:12.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 22 10:16:17 UTC 2014 - werner(a)suse.de
+
+- Add build require pkgconfig(libsystemd-daemon) to allow to move
+ systemd.pc back to systemd package
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cups.spec ++++++
--- /var/tmp/diff_new_pack.nbm4VI/_old 2014-05-27 07:09:13.000000000 +0200
+++ /var/tmp/diff_new_pack.nbm4VI/_new 2014-05-27 07:09:13.000000000 +0200
@@ -74,6 +74,7 @@
%define have_systemd 1
%endif
%if 0%{?have_systemd}
+BuildRequires: pkgconfig(libsystemd-daemon)
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
# _tmpfilesdir is not defined in systemd macros up to openSUSE 12.3 and
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2014-05-27 07:09:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2014-05-17 21:46:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2014-05-27 07:09:08.000000000 +0200
@@ -1,0 +2,83 @@
+Wed May 21 19:23:32 UTC 2014 - coolo(a)suse.com
+
+- fix file list of systemd.pc
+
+-------------------------------------------------------------------
+Wed May 21 13:24:13 UTC 2014 - werner(a)suse.de
+
+- Add a workaround for old distributions like 13.1 to avoid
+ deadlocks due NFS shares stopped after network
+
+-------------------------------------------------------------------
+Wed May 21 10:23:14 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches
+ 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
+ 0002-journal-properly-detect-language-specified-in-line.patch
+ 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
+
+-------------------------------------------------------------------
+Wed May 21 10:14:32 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches to update usb and pci company identifiers
+ 0001-hwdb-update.patch
+ 0002-hwdb-update.patch
+ 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
+ 0004-hwdb-update.patch
+ 0005-hwdb-update.patch
+
+-------------------------------------------------------------------
+Wed May 21 08:33:34 UTC 2014 - werner(a)suse.de
+
+- Move systemd.pc and udev.pc to their main packages (bnc#876587)
+
+-------------------------------------------------------------------
+Tue May 20 12:13:05 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches
+ 0001-conf-parser-silently-ignore-sections-starting-with-X.patch
+ 0002-man-note-that-entire-sections-can-now-be-ignored.patch
+ 0004-machined-make-sure-GetMachineAddresses-is-available-.patch
+ 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
+ 0006-login-add-mir-to-the-list-of-session-types.patch
+ 0007-logind-fix-Display-property-of-user-objects.patch
+
+-------------------------------------------------------------------
+Tue May 20 11:31:46 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches to update BluTooth company identifiers
+ 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+ 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+ 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+ 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+ 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+
+-------------------------------------------------------------------
+Tue May 20 11:03:54 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches to allow processes to serialize block device
+ events, also do execute the RUN tag if rename of a network device
+ fails:
+ 1016-udev-serialize-synchronize-block-device-event-handli.patch
+ 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
+ 1018-udev-avoid-use-of-uninitialized-err.patch
+- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch
+ to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
+
+-------------------------------------------------------------------
+Mon May 19 13:21:18 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches mainly for better lid handling (bnc#878525
+ and bnc#868019)
+ 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
+ 0002-logind-fix-printf-format.patch
+ 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
+ 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
+ 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
+ 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
+ 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
+ 0008-man-update-journald-rate-limit-defaults.patch
+ 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
+ 0010-logind-allow-suspending-if-there-are-no-displays.patch
+
+-------------------------------------------------------------------
@@ -10 +93 @@
-- Add upstram patches
+- Add upstream patches
@@ -18 +101 @@
-- Add upstram patches
+- Add upstream patches
@@ -33 +116 @@
-- Add upstram patches for backlight
+- Add upstream patches for backlight
@@ -106 +189 @@
-- Add or port upstram bugfix patches:
+- Add or port upstream bugfix patches:
@@ -191 +274 @@
-- Add or port upstram bugfix patches:
+- Add or port upstream bugfix patches:
@@ -201 +284 @@
-- Add or port upstram bugfix patches:
+- Add or port upstream bugfix patches:
@@ -264 +347 @@
-- Add or port upstram bugfix patches:
+- Add or port upstream bugfix patches:
systemd.changes: same change
Old:
----
0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch
New:
----
0001-conf-parser-silently-ignore-sections-starting-with-X.patch
0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0001-hwdb-update.patch
0001-journal-cleanup-up-error-handling-in-update_catalog.patch
0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0002-hwdb-update.patch
0002-journal-properly-detect-language-specified-in-line.patch
0002-logind-fix-printf-format.patch
0002-man-note-that-entire-sections-can-now-be-ignored.patch
0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0004-hwdb-update.patch
0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
0004-machined-make-sure-GetMachineAddresses-is-available-.patch
0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
0005-hwdb-update.patch
0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
0006-login-add-mir-to-the-list-of-session-types.patch
0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
0007-logind-fix-Display-property-of-user-objects.patch
0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
0008-man-update-journald-rate-limit-defaults.patch
0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
0010-logind-allow-suspending-if-there-are-no-displays.patch
1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
1017-udev-serialize-synchronize-block-device-event-handli.patch
1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
1019-udev-avoid-use-of-uninitialized-err.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.42NNoC/_old 2014-05-27 07:09:11.000000000 +0200
+++ /var/tmp/diff_new_pack.42NNoC/_new 2014-05-27 07:09:11.000000000 +0200
@@ -410,8 +410,6 @@
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
-Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch
@@ -439,6 +437,64 @@
Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch
# PATCH-FIX-UPSTREAM added at 2014/05/16
Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch226: 0002-logind-fix-printf-format.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch232: 0008-man-update-journald-rate-limit-defaults.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch
+# PATCHFIX-UPSTREAM added at 2014/05/20
+Patch245: 0007-logind-fix-Display-property-of-user-objects.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch246: 0001-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch247: 0002-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch249: 0004-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch250: 0005-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
# UDEV PATCHES
# ============
@@ -476,6 +532,14 @@
Patch1014: 1014-udev-update-net_id-comments.patch
# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/12
+Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -833,7 +897,6 @@
%patch207 -p0
%patch208 -p1
%patch209 -p0
-%patch210 -p0
%patch211 -p0
%patch212 -p0
%patch213 -p0
@@ -848,6 +911,35 @@
%patch222 -p0
%patch223 -p0
%patch224 -p0
+%patch225 -p0
+%patch226 -p0
+%patch227 -p0
+%patch228 -p0
+%patch229 -p0
+%patch230 -p0
+%patch231 -p0
+%patch232 -p0
+%patch233 -p0
+%patch234 -p0
+%patch235 -p0
+%patch236 -p0
+%patch237 -p0
+%patch238 -p0
+%patch239 -p0
+%patch240 -p0
+%patch241 -p0
+%patch242 -p0
+%patch243 -p0
+%patch244 -p0
+%patch245 -p0
+%patch246 -p0
+%patch247 -p0
+%patch248 -p0
+%patch249 -p0
+%patch250 -p0
+%patch251 -p0
+%patch252 -p0
+%patch253 -p0
# udev patches
%patch1001 -p1
@@ -866,6 +958,10 @@
%patch1013 -p1
%patch1014 -p1
%patch1015 -p1
+%patch1016 -p0
+%patch1017 -p0
+%patch1018 -p0
+%patch1019 -p0
# ensure generate files are removed
rm -f units/emergency.service
@@ -1117,6 +1213,30 @@
done
%endif
+%if 0%{suse_version} < 1310
+cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
+ [Unit]
+ Description=Fix against deadlock at shutdown
+ Wants=remote-fs.target remote-fs-pre.target
+ Before=remote-fs.target systemd-logind.service
+ After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target
+ ConditionPathExists=|/etc/init.d/autofs
+ ConditionPathExists=|/etc/init.d/nfs
+
+ [Service]
+ Type=oneshot
+ RemainAfterExit=true
+ ExecStart=/bin/true
+ ExecStop=-/etc/init.d/autofs stop
+ ExecStop=-/etc/init.d/nfs stop
+
+ [Install]
+ WantedBy=remote-fs.target
+ EOF
+ mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
+ ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
+%endif
+
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
exit 0
@@ -1512,6 +1632,9 @@
%{_datadir}/zsh/site-functions/*
%ghost %{_localstatedir}/lib/systemd/backlight
%ghost %{_localstatedir}/lib/systemd/random-seed
+%if 0%{?suse_version} > 1310
+%{_datadir}/pkgconfig/systemd.pc
+%endif
%if ! 0%{?bootstrap}
%files bash-completion -f files.completion
@@ -1535,7 +1658,9 @@
%{_includedir}/systemd/sd-journal.h
%{_includedir}/systemd/sd-messages.h
%{_includedir}/systemd/_sd-common.h
+%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/systemd.pc
+%endif
%{_libdir}/pkgconfig/libsystemd.pc
%{_libdir}/pkgconfig/libsystemd-daemon.pc
%{_libdir}/pkgconfig/libsystemd-login.pc
@@ -1609,6 +1734,9 @@
%dir %{_prefix}/lib/systemd/network
%{_prefix}/lib/systemd/network/*.link
%{_prefix}/lib/systemd/network/*.network
+%if 0%{?suse_version} > 1310
+%{_datadir}/pkgconfig/udev.pc
+%endif
%files -n lib%{udevpkgname}%{udev_major}
%defattr(-,root,root)
@@ -1618,7 +1746,9 @@
%defattr(-,root,root)
%{_includedir}/libudev.h
%{_libdir}/libudev.so
+%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/udev.pc
+%endif
%{_libdir}/pkgconfig/libudev.pc
%if ! 0%{?bootstrap}
%dir %{_datadir}/gtk-doc
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.42NNoC/_old 2014-05-27 07:09:11.000000000 +0200
+++ /var/tmp/diff_new_pack.42NNoC/_new 2014-05-27 07:09:11.000000000 +0200
@@ -405,8 +405,6 @@
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
-Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch
# PATCH-FIX-UPSTREAM added at 2014/05/12
Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch
@@ -434,6 +432,64 @@
Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch
# PATCH-FIX-UPSTREAM added at 2014/05/16
Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch226: 0002-logind-fix-printf-format.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch232: 0008-man-update-journald-rate-limit-defaults.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/19
+Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch
+# PATCHFIX-UPSTREAM added at 2014/05/20
+Patch245: 0007-logind-fix-Display-property-of-user-objects.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch246: 0001-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch247: 0002-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch249: 0004-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch250: 0005-hwdb-update.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
+# PATCHFIX-UPSTREAM added at 2014/05/21
+Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
# UDEV PATCHES
# ============
@@ -471,6 +527,14 @@
Patch1014: 1014-udev-update-net_id-comments.patch
# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/12
+Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/20
+Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -828,7 +892,6 @@
%patch207 -p0
%patch208 -p1
%patch209 -p0
-%patch210 -p0
%patch211 -p0
%patch212 -p0
%patch213 -p0
@@ -843,6 +906,35 @@
%patch222 -p0
%patch223 -p0
%patch224 -p0
+%patch225 -p0
+%patch226 -p0
+%patch227 -p0
+%patch228 -p0
+%patch229 -p0
+%patch230 -p0
+%patch231 -p0
+%patch232 -p0
+%patch233 -p0
+%patch234 -p0
+%patch235 -p0
+%patch236 -p0
+%patch237 -p0
+%patch238 -p0
+%patch239 -p0
+%patch240 -p0
+%patch241 -p0
+%patch242 -p0
+%patch243 -p0
+%patch244 -p0
+%patch245 -p0
+%patch246 -p0
+%patch247 -p0
+%patch248 -p0
+%patch249 -p0
+%patch250 -p0
+%patch251 -p0
+%patch252 -p0
+%patch253 -p0
# udev patches
%patch1001 -p1
@@ -861,6 +953,10 @@
%patch1013 -p1
%patch1014 -p1
%patch1015 -p1
+%patch1016 -p0
+%patch1017 -p0
+%patch1018 -p0
+%patch1019 -p0
# ensure generate files are removed
rm -f units/emergency.service
@@ -1112,6 +1208,30 @@
done
%endif
+%if 0%{suse_version} < 1310
+cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
+ [Unit]
+ Description=Fix against deadlock at shutdown
+ Wants=remote-fs.target remote-fs-pre.target
+ Before=remote-fs.target systemd-logind.service
+ After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target
+ ConditionPathExists=|/etc/init.d/autofs
+ ConditionPathExists=|/etc/init.d/nfs
+
+ [Service]
+ Type=oneshot
+ RemainAfterExit=true
+ ExecStart=/bin/true
+ ExecStop=-/etc/init.d/autofs stop
+ ExecStop=-/etc/init.d/nfs stop
+
+ [Install]
+ WantedBy=remote-fs.target
+ EOF
+ mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
+ ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
+%endif
+
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
exit 0
@@ -1507,6 +1627,9 @@
%{_datadir}/zsh/site-functions/*
%ghost %{_localstatedir}/lib/systemd/backlight
%ghost %{_localstatedir}/lib/systemd/random-seed
+%if 0%{?suse_version} > 1310
+%{_datadir}/pkgconfig/systemd.pc
+%endif
%if ! 0%{?bootstrap}
%files bash-completion -f files.completion
@@ -1530,7 +1653,9 @@
%{_includedir}/systemd/sd-journal.h
%{_includedir}/systemd/sd-messages.h
%{_includedir}/systemd/_sd-common.h
+%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/systemd.pc
+%endif
%{_libdir}/pkgconfig/libsystemd.pc
%{_libdir}/pkgconfig/libsystemd-daemon.pc
%{_libdir}/pkgconfig/libsystemd-login.pc
@@ -1604,6 +1729,9 @@
%dir %{_prefix}/lib/systemd/network
%{_prefix}/lib/systemd/network/*.link
%{_prefix}/lib/systemd/network/*.network
+%if 0%{?suse_version} > 1310
+%{_datadir}/pkgconfig/udev.pc
+%endif
%files -n lib%{udevpkgname}%{udev_major}
%defattr(-,root,root)
@@ -1613,7 +1741,9 @@
%defattr(-,root,root)
%{_includedir}/libudev.h
%{_libdir}/libudev.so
+%if 0%{?suse_version} <= 1310
%{_datadir}/pkgconfig/udev.pc
+%endif
%{_libdir}/pkgconfig/libudev.pc
%if ! 0%{?bootstrap}
%dir %{_datadir}/gtk-doc
++++++ 0001-conf-parser-silently-ignore-sections-starting-with-X.patch ++++++
>From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001
From: Michael Marineau <michael.marineau(a)coreos.com>
Date: Fri, 16 May 2014 16:58:31 -0700
Subject: [PATCH] conf-parser: silently ignore sections starting with "X-"
This allows external tools to keep additional unit information in a
separate section without scaring users with a big warning.
---
src/shared/conf-parser.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git src/shared/conf-parser.c src/shared/conf-parser.c
index d27b1b7..062b15b 100644
--- src/shared/conf-parser.c
+++ src/shared/conf-parser.c
@@ -204,6 +204,7 @@ static int parse_line(const char* unit,
bool allow_include,
char **section,
unsigned *section_line,
+ bool *section_ignored,
char *l,
void *userdata) {
@@ -266,7 +267,7 @@ static int parse_line(const char* unit,
if (sections && !nulstr_contains(sections, n)) {
- if (!relaxed)
+ if (!relaxed && !startswith(n, "X-"))
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
"Unknown section '%s'. Ignoring.", n);
@@ -274,10 +275,12 @@ static int parse_line(const char* unit,
free(*section);
*section = NULL;
*section_line = 0;
+ *section_ignored = true;
} else {
free(*section);
*section = n;
*section_line = line;
+ *section_ignored = false;
}
return 0;
@@ -285,7 +288,7 @@ static int parse_line(const char* unit,
if (sections && !*section) {
- if (!relaxed)
+ if (!relaxed && !*section_ignored)
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
"Assignment outside of section. Ignoring.");
@@ -328,6 +331,7 @@ int config_parse(const char *unit,
_cleanup_free_ char *section = NULL, *continuation = NULL;
_cleanup_fclose_ FILE *ours = NULL;
unsigned line = 0, section_line = 0;
+ bool section_ignored = false;
int r;
assert(filename);
@@ -399,6 +403,7 @@ int config_parse(const char *unit,
allow_include,
§ion,
§ion_line,
+ §ion_ignored,
p,
userdata);
free(c);
--
1.7.9.2
++++++ 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch ++++++
>From e525326bd07ebf3cabcfd730bc479166723f2d44 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel(a)holtmann.org>
Date: Sun, 2 Mar 2014 10:02:10 -0800
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
index db3bc24..0335a71 100644
--- hwdb/20-bluetooth-vendor-product.hwdb
+++ hwdb/20-bluetooth-vendor-product.hwdb
@@ -902,3 +902,12 @@ bluetooth:v0129*
bluetooth:v012A*
ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd
+
+bluetooth:v012B*
+ ID_VENDOR_FROM_DATABASE=SportIQ
+
+bluetooth:v012C*
+ ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V.
+
+bluetooth:v012D*
+ ID_VENDOR_FROM_DATABASE=Sony Corporation
--
1.7.9.2
++++++ 0001-hwdb-update.patch ++++++
++++ 6590 lines (skipped)
++++++ 0001-journal-cleanup-up-error-handling-in-update_catalog.patch ++++++
>From e3b9d9c8027a7c4c55cf1614e0fe9423fad69e8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
Date: Fri, 11 Apr 2014 08:44:55 -0400
Subject: [PATCH] journal: cleanup up error handling in update_catalog()
- Negative/positive errno mixup caused duplicates not to be detected properly.
Now we get a warning about some duplicate entries in our own catalogs...
- Errors in update_catalog would be ignored, but they should not be.
---
src/journal/catalog.c | 25 +++++++++++++------------
src/journal/test-catalog.c | 3 ++-
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git src/journal/catalog.c src/journal/catalog.c
index 3ed0b7e..02dedc4 100644
--- src/journal/catalog.c
+++ src/journal/catalog.c
@@ -103,7 +103,7 @@ static int finish_item(
const char *payload) {
ssize_t offset;
- CatalogItem *i;
+ _cleanup_free_ CatalogItem *i = NULL;
int r;
assert(h);
@@ -126,13 +126,14 @@ static int finish_item(
i->offset = htole64((uint64_t) offset);
r = hashmap_put(h, i, i);
- if (r == EEXIST) {
+ if (r == -EEXIST) {
log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
SD_ID128_FORMAT_VAL(id), language ? language : "C");
- free(i);
return 0;
- }
+ } else if (r < 0)
+ return r;
+ i = NULL;
return 0;
}
@@ -383,8 +384,8 @@ error:
int catalog_update(const char* database, const char* root, const char* const* dirs) {
_cleanup_strv_free_ char **files = NULL;
char **f;
- Hashmap *h;
struct strbuf *sb = NULL;
+ _cleanup_hashmap_free_free_ Hashmap *h = NULL;
_cleanup_free_ CatalogItem *items = NULL;
CatalogItem *i;
Iterator j;
@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
}
STRV_FOREACH(f, files) {
- log_debug("reading file '%s'", *f);
- catalog_import_file(h, sb, *f);
+ log_debug("Reading file '%s'", *f);
+ r = catalog_import_file(h, sb, *f);
+ if (r < 0) {
+ log_error("Failed to import file '%s': %s.",
+ *f, strerror(-r));
+ goto finish;
+ }
}
if (hashmap_size(h) <= 0) {
log_info("No items in catalog.");
- r = 0;
goto finish;
} else
log_debug("Found %u items in catalog.", hashmap_size(h));
@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
database, n, sb->len, r);
- r = 0;
-
finish:
- if (h)
- hashmap_free_free(h);
if (sb)
strbuf_cleanup(sb);
diff --git src/journal/test-catalog.c src/journal/test-catalog.c
index b087a8b..967ab67 100644
--- src/journal/test-catalog.c
+++ src/journal/test-catalog.c
@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
setlocale(LC_ALL, "de_DE.UTF-8");
- log_set_max_level(LOG_DEBUG);
+ log_parse_environment();
+ log_open();
test_catalog_file_lang();
--
1.7.9.2
++++++ 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch ++++++
>From 6a79c58603ea816a1b4fa1520397b4e138bc1ca0 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Mon, 3 Mar 2014 19:30:16 +0100
Subject: [PATCH] logind: ignore lid switch if more than 1 display is
connected
Previously we expected the desktop environment to take an inhibitor
lock, but this opened a race on boot-up where logind might already be
running but no DE is active.
Hence, let's move checking for additional displays into logind. This
also opens up this logic for other DEs, given that only GNOME
implemented the inhibitor logic so far.
---
man/logind.conf.xml | 14 +++++++-----
src/login/logind-action.c | 8 +++++++
src/login/logind-core.c | 55 +++++++++++++++++++++++++++++++++++++++++++--
src/login/logind.h | 1 +
4 files changed, 71 insertions(+), 7 deletions(-)
diff --git man/logind.conf.xml man/logind.conf.xml
index 54cc379..7673201 100644
--- man/logind.conf.xml
+++ man/logind.conf.xml
@@ -242,10 +242,10 @@
<literal>ignore</literal>, logind will
never handle these keys. If
<literal>lock</literal>, all running
- sessions will be screen-locked; otherwise,
- the specified action
- will be taken in the respective
- event. Only input devices with the
+ sessions will be screen-locked;
+ otherwise, the specified action will
+ be taken in the respective event. Only
+ input devices with the
<literal>power-switch</literal> udev
tag will be watched for key/lid switch
events. <varname>HandlePowerKey=</varname>
@@ -257,7 +257,11 @@
default to <literal>suspend</literal>.
<varname>HandleHibernateKey=</varname>
defaults to
- <literal>hibernate</literal>.</para></listitem>
+ <literal>hibernate</literal>. Note
+ that the lid switch is ignored if the
+ system is inserted in a docking
+ station, or if more than one display
+ is connected.</para></listitem>
</varlistentry>
<varlistentry>
diff --git src/login/logind-action.c src/login/logind-action.c
index c04f210..da5a830 100644
--- src/login/logind-action.c
+++ src/login/logind-action.c
@@ -72,10 +72,18 @@ int manager_handle_action(
/* If we are docked don't react to lid closing */
if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) {
+ int n;
+
if (manager_is_docked(m)) {
log_debug("Ignoring lid switch request, system is docked.");
return 0;
}
+
+ n = manager_count_displays(m);
+ if (n != 1) {
+ log_debug("Ignoring lid switch request, %s displays connected.");
+ return 0;
+ }
}
/* If the key handling is inhibited, don't do anything */
diff --git src/login/logind-core.c src/login/logind-core.c
index e4e593f..b8d03c3 100644
--- src/login/logind-core.c
+++ src/login/logind-core.c
@@ -32,6 +32,7 @@
#include "audit.h"
#include "bus-util.h"
#include "bus-error.h"
+#include "udev-util.h"
#include "logind.h"
int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) {
@@ -276,9 +277,11 @@ int manager_process_seat_device(Manager *m, struct udev_device *d) {
return 0;
}
- /* ignore non-master devices for unknown seats */
+ seat = hashmap_get(m->seats, sn);
master = udev_device_has_tag(d, "master-of-seat");
- if (!master && !(seat = hashmap_get(m->seats, sn)))
+
+ /* Ignore non-master devices for unknown seats */
+ if (!master && !seat)
return 0;
r = manager_add_device(m, udev_device_get_syspath(d), master, &device);
@@ -514,3 +517,51 @@ bool manager_is_docked(Manager *m) {
return false;
}
+
+int manager_count_displays(Manager *m) {
+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
+ struct udev_list_entry *item = NULL, *first = NULL;
+ int r;
+ int n = 0;
+
+ e = udev_enumerate_new(m->udev);
+ if (!e)
+ return -ENOMEM;
+
+ r = udev_enumerate_add_match_subsystem(e, "drm");
+ if (r < 0)
+ return r;
+
+ r = udev_enumerate_scan_devices(e);
+ if (r < 0)
+ return r;
+
+ first = udev_enumerate_get_list_entry(e);
+ udev_list_entry_foreach(item, first) {
+ _cleanup_udev_device_unref_ struct udev_device *d = NULL;
+ struct udev_device *p;
+ const char *status;
+
+ d = udev_device_new_from_syspath(m->udev, udev_list_entry_get_name(item));
+ if (!d)
+ return -ENOMEM;
+
+ p = udev_device_get_parent(d);
+ if (!p)
+ return -ENOMEM;
+
+ /* If the parent shares the same subsystem as the
+ * device we are looking at then it is a connector,
+ * which is what we are interested in. */
+ if (!streq_ptr(udev_device_get_subsystem(p), "drm"))
+ continue;
+
+ /* We count any connector which is not explicitly
+ * "disconnected" as connected. */
+ status = udev_device_get_sysattr_value(d, "status");
+ if (!streq_ptr(status, "disconnected"))
+ n++;
+ }
+
+ return n;
+}
diff --git src/login/logind.h src/login/logind.h
index 0344acc..74d6641 100644
--- src/login/logind.h
+++ src/login/logind.h
@@ -149,6 +149,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user);
int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session);
bool manager_is_docked(Manager *m);
+int manager_count_displays(Manager *m);
extern const sd_bus_vtable manager_vtable[];
--
1.7.9.2
++++++ 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch ++++++
>From f401e2b24ba17452f9655993a6dedefdffe06d23 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel(a)holtmann.org>
Date: Tue, 11 Mar 2014 09:33:31 -0700
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
index 0335a71..7d86f10 100644
--- hwdb/20-bluetooth-vendor-product.hwdb
+++ hwdb/20-bluetooth-vendor-product.hwdb
@@ -911,3 +911,15 @@ bluetooth:v012C*
bluetooth:v012D*
ID_VENDOR_FROM_DATABASE=Sony Corporation
+
+bluetooth:v012E*
+ ID_VENDOR_FROM_DATABASE=ASSA ABLOY
+
+bluetooth:v012F*
+ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd.
+
+bluetooth:v0130*
+ ID_VENDOR_FROM_DATABASE=Warehouse Innovations
+
+bluetooth:v0131*
+ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation
--
1.7.9.2
++++++ 0002-hwdb-update.patch ++++++
++++ 2058 lines (skipped)
++++++ 0002-journal-properly-detect-language-specified-in-line.patch ++++++
>From baf167ee0a2953f98e4e7d4c35752ef737832674 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
Date: Fri, 11 Apr 2014 20:57:27 -0400
Subject: [PATCH] journal: properly detect language specified in line
... it turns out that the duplicates in our own catalog were not real
duplicates, but translations.
---
TODO | 2 ++
src/journal/catalog.c | 53 +++++++++++++++++++++++++++++++------------------
2 files changed, 36 insertions(+), 19 deletions(-)
diff --git TODO TODO
index 0343b94..a7307f7 100644
--- TODO
+++ TODO
@@ -709,6 +709,8 @@ External:
* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
+* register catalog database signature as file magic
+
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
diff --git src/journal/catalog.c src/journal/catalog.c
index 02dedc4..f03357d 100644
--- src/journal/catalog.c
+++ src/journal/catalog.c
@@ -159,6 +159,37 @@ int catalog_file_lang(const char* filename, char **lang) {
return 1;
}
+static int catalog_entry_lang(const char* filename, int line,
+ const char* t, const char* deflang, char **lang) {
+ size_t c;
+
+ c = strlen(t);
+ if (c == 0) {
+ log_error("[%s:%u] Language too short.", filename, line);
+ return -EINVAL;
+ }
+ if (c > 31) {
+ log_error("[%s:%u] language too long.", filename, line);
+ return -EINVAL;
+ }
+
+ if (deflang) {
+ if (streq(t, deflang)) {
+ log_warning("[%s:%u] language specified unnecessarily",
+ filename, line);
+ return 0;
+ } else
+ log_warning("[%s:%u] language differs from default for file",
+ filename, line);
+ }
+
+ *lang = strdup(t);
+ if (!*lang)
+ return -ENOMEM;
+
+ return 0;
+}
+
int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ char *payload = NULL;
@@ -238,25 +269,9 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
if (with_language) {
t = strstrip(line + 2 + 1 + 32 + 1);
- c = strlen(t);
- if (c <= 0) {
- log_error("[%s:%u] Language too short.", path, n);
- return -EINVAL;
- }
- if (c > 31) {
- log_error("[%s:%u] language too long.", path, n);
- return -EINVAL;
- }
-
- if (deflang) {
- log_warning("[%s:%u] language %s", path, n,
- streq(t, deflang) ?
- "specified unnecessarily" :
- "differs from default for file");
- lang = strdup(t);
- if (!lang)
- return -ENOMEM;
- }
+ r = catalog_entry_lang(path, n, t, deflang, &lang);
+ if (r < 0)
+ return r;
}
got_id = true;
--
1.7.9.2
++++++ 0002-logind-fix-printf-format.patch ++++++
>From 7e9110a29d90041b0364cb93a84aec9dd72363b6 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Mon, 3 Mar 2014 19:39:51 +0100
Subject: [PATCH] logind: fix printf format
---
src/login/logind-action.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/login/logind-action.c src/login/logind-action.c
index da5a830..c9d8bc5 100644
--- src/login/logind-action.c
+++ src/login/logind-action.c
@@ -81,7 +81,7 @@ int manager_handle_action(
n = manager_count_displays(m);
if (n != 1) {
- log_debug("Ignoring lid switch request, %s displays connected.");
+ log_debug("Ignoring lid switch request, %i displays connected.", n);
return 0;
}
}
--
1.7.9.2
++++++ 0002-man-note-that-entire-sections-can-now-be-ignored.patch ++++++
>From 2bcc2523711e69e6daa744641e56ed8b78646676 Mon Sep 17 00:00:00 2001
From: Michael Marineau <michael.marineau(a)coreos.com>
Date: Sat, 17 May 2014 16:09:08 -0700
Subject: [PATCH] man: note that entire sections can now be ignored
Prefixing a section name with "X-" will cause it and all of its contents
to be silently ignored as of commit 342aea19.
---
man/systemd.unit.xml | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git man/systemd.unit.xml man/systemd.unit.xml
index 157530b..e903156 100644
--- man/systemd.unit.xml
+++ man/systemd.unit.xml
@@ -139,10 +139,12 @@
<para>Unit files may contain additional options on top
of those listed here. If systemd encounters an unknown
option, it will write a warning log message but
- continue loading the unit. If an option is prefixed
- with <option>X-</option>, it is ignored completely by
- systemd. Applications may use this to include
- additional information in the unit files.</para>
+ continue loading the unit. If an option or section name
+ is prefixed with <option>X-</option>, it is ignored
+ completely by systemd. Options within an ignored
+ section do not need the prefix. Applications may use
+ this to include additional information in the unit
+ files.</para>
<para>Boolean arguments used in unit files can be
written in various formats. For positive settings the
--
1.7.9.2
++++++ 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch ++++++
++++ 51583 lines (skipped)
++++++ 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch ++++++
>From f89b42ec0fd51feab5566d6bdbacee101023c037 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel(a)holtmann.org>
Date: Tue, 25 Mar 2014 20:21:23 -0700
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
index 7d86f10..b928f5a 100644
--- hwdb/20-bluetooth-vendor-product.hwdb
+++ hwdb/20-bluetooth-vendor-product.hwdb
@@ -923,3 +923,21 @@ bluetooth:v0130*
bluetooth:v0131*
ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation
+
+bluetooth:v0132*
+ ID_VENDOR_FROM_DATABASE=MADS Inc
+
+bluetooth:v0133*
+ ID_VENDOR_FROM_DATABASE=Blue Maestro Limited
+
+bluetooth:v0134*
+ ID_VENDOR_FROM_DATABASE=Resolution Products, Inc.
+
+bluetooth:v0135*
+ ID_VENDOR_FROM_DATABASE=Airewear LLC
+
+bluetooth:v0136*
+ ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o.
+
+bluetooth:v0137*
+ ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd.
--
1.7.9.2
++++++ 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch ++++++
>From f9cd6be10ece07e10488c05e270a0b5860779864 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Mon, 3 Mar 2014 20:49:33 +0100
Subject: [PATCH] logind: ignore lid switch events for 30s after each suspend
and 3min after startup
This is needed to give USB docking stations and suchlike time to settle,
so that a display connected to an USB docking station can actually act
as a lid swith inhibitor correctly.
With this change we should have somewhat reliable docking station
support in place.
---
src/login/logind-action.c | 15 ++++++++++++++-
src/login/logind-dbus.c | 3 +++
src/login/logind.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
src/login/logind.h | 7 +++++++
4 files changed, 69 insertions(+), 1 deletion(-)
diff --git src/login/logind-action.c src/login/logind-action.c
index c9d8bc5..ae7b350 100644
--- src/login/logind-action.c
+++ src/login/logind-action.c
@@ -70,20 +70,33 @@ int manager_handle_action(
return 0;
}
- /* If we are docked don't react to lid closing */
if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) {
int n;
+ /* If we are docked don't react to lid closing */
if (manager_is_docked(m)) {
log_debug("Ignoring lid switch request, system is docked.");
return 0;
}
+ /* If we have more than one or no displays connected,
+ * don't react to lid closing. The no display case we
+ * treat like this under the assumption that there is
+ * no modern drm driver available. */
n = manager_count_displays(m);
if (n != 1) {
log_debug("Ignoring lid switch request, %i displays connected.", n);
return 0;
}
+
+ /* If the last system suspend or startup is too close,
+ * let's not suspend for now, to give USB docking
+ * stations some time to settle so that we can
+ * properly watch its displays. */
+ if (m->lid_switch_ignore_event_source) {
+ log_debug("Ignoring lid switch request, system startup or resume too close.");
+ return 0;
+ }
}
/* If the key handling is inhibited, don't do anything */
diff --git src/login/logind-dbus.c src/login/logind-dbus.c
index fc89531..c9c58f3 100644
--- src/login/logind-dbus.c
+++ src/login/logind-dbus.c
@@ -1337,6 +1337,9 @@ static int execute_shutdown_or_sleep(
m->action_job = c;
m->action_what = w;
+ /* Make sure the lid switch is ignored for a while */
+ manager_set_lid_switch_ignore(m, now(CLOCK_MONOTONIC) + IGNORE_LID_SWITCH_SUSPEND_USEC);
+
return 0;
}
diff --git src/login/logind.c src/login/logind.c
index 10f61ab..fd113b3 100644
--- src/login/logind.c
+++ src/login/logind.c
@@ -144,6 +144,7 @@ void manager_free(Manager *m) {
sd_event_source_unref(m->udev_device_event_source);
sd_event_source_unref(m->udev_vcsa_event_source);
sd_event_source_unref(m->udev_button_event_source);
+ sd_event_source_unref(m->lid_switch_ignore_event_source);
if (m->console_active_fd >= 0)
close_nointr_nofail(m->console_active_fd);
@@ -959,6 +960,46 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us
return 0;
}
+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) {
+ Manager *m = userdata;
+
+ assert(e);
+ assert(m);
+
+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source);
+ return 0;
+}
+
+int manager_set_lid_switch_ignore(Manager *m, usec_t until) {
+ int r;
+
+ assert(m);
+
+ if (until <= now(CLOCK_MONOTONIC))
+ return 0;
+
+ /* We want to ignore the lid switch for a while after each
+ * suspend, and after boot-up. Hence let's install a timer for
+ * this. As long as the event source exists we ignore the lid
+ * switch. */
+
+ if (m->lid_switch_ignore_event_source) {
+ usec_t u;
+
+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u);
+ if (r < 0)
+ return r;
+
+ if (until <= u)
+ return 0;
+
+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until);
+ } else
+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m);
+
+ return r;
+}
+
int manager_startup(Manager *m) {
int r;
Seat *seat;
@@ -994,6 +1035,10 @@ int manager_startup(Manager *m) {
return r;
}
+ r = manager_set_lid_switch_ignore(m, 0 + IGNORE_LID_SWITCH_STARTUP_USEC);
+ if (r < 0)
+ log_warning("Failed to set up lid switch ignore event source: %s", strerror(-r));
+
/* Deserialize state */
r = manager_enumerate_devices(m);
if (r < 0)
diff --git src/login/logind.h src/login/logind.h
index 74d6641..4bb8e7b 100644
--- src/login/logind.h
+++ src/login/logind.h
@@ -42,6 +42,9 @@ typedef struct Manager Manager;
#include "logind-button.h"
#include "logind-action.h"
+#define IGNORE_LID_SWITCH_STARTUP_USEC (3 * USEC_PER_MINUTE)
+#define IGNORE_LID_SWITCH_SUSPEND_USEC (30 * USEC_PER_SEC)
+
struct Manager {
sd_event *event;
sd_bus *bus;
@@ -118,6 +121,8 @@ struct Manager {
bool lid_switch_ignore_inhibited;
Hashmap *polkit_registry;
+
+ sd_event_source *lid_switch_ignore_event_source;
};
Manager *manager_new(void);
@@ -178,3 +183,5 @@ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned lengt
int manager_watch_busname(Manager *manager, const char *name);
void manager_drop_busname(Manager *manager, const char *name);
+
+int manager_set_lid_switch_ignore(Manager *m, usec_t until);
--
1.7.9.2
++++++ 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch ++++++
>From 05a2f6fefedd7254fd799502191d025d2908cf74 Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <tanu.kaskinen(a)linux.intel.com>
Date: Sat, 12 Apr 2014 08:37:38 +0300
Subject: [PATCH] man: mention XDG_CONFIG_HOME in systemd.unit
---
man/systemd.unit.xml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git man/systemd.unit.xml man/systemd.unit.xml
index 07a73fd..bcd4ba8 100644
--- man/systemd.unit.xml
+++ man/systemd.unit.xml
@@ -70,7 +70,8 @@
<filename>...</filename>
</literallayout></para>
- <para><literallayout><filename>$HOME/.config/systemd/user/*</filename>
+ <para><literallayout><filename>$XDG_CONFIG_HOME/systemd/user/*</filename>
+<filename>$HOME/.config/systemd/user/*</filename>
<filename>/etc/systemd/user/*</filename>
<filename>/run/systemd/user/*</filename>
<filename>/usr/lib/systemd/user/*</filename>
@@ -320,8 +321,12 @@
</thead>
<tbody>
<row>
+ <entry><filename>$XDG_CONFIG_HOME/systemd/user</filename></entry>
+ <entry>User configuration (only used when $XDG_CONFIG_HOME is set)</entry>
+ </row>
+ <row>
<entry><filename>$HOME/.config/systemd/user</filename></entry>
- <entry>User configuration</entry>
+ <entry>User configuration (only used when $XDG_CONFIG_HOME is not set)</entry>
</row>
<row>
<entry><filename>/etc/systemd/user</filename></entry>
--
1.7.9.2
++++++ 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch ++++++
>From b189101727e80a09864c5e5880663ef565467f19 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel(a)holtmann.org>
Date: Sat, 12 Apr 2014 10:38:16 -0700
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
index b928f5a..28aa2a7 100644
--- hwdb/20-bluetooth-vendor-product.hwdb
+++ hwdb/20-bluetooth-vendor-product.hwdb
@@ -733,7 +733,7 @@ bluetooth:v00F1*
ID_VENDOR_FROM_DATABASE=Witron Technology Limited
bluetooth:v00F2*
- ID_VENDOR_FROM_DATABASE=Morse Project Inc.
+ ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.)
bluetooth:v00F3*
ID_VENDOR_FROM_DATABASE=Kent Displays Inc.
@@ -941,3 +941,24 @@ bluetooth:v0136*
bluetooth:v0137*
ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd.
+
+bluetooth:v0138*
+ ID_VENDOR_FROM_DATABASE=NTEO Inc.
+
+bluetooth:v0139*
+ ID_VENDOR_FROM_DATABASE=Focus Systems Corporation
+
+bluetooth:v013A*
+ ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited
+
+bluetooth:v013B*
+ ID_VENDOR_FROM_DATABASE=Allegion
+
+bluetooth:v013C*
+ ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd.
+
+bluetooth:v013D*
+ ID_VENDOR_FROM_DATABASE=WirelessWERX
+
+bluetooth:v013E*
+ ID_VENDOR_FROM_DATABASE=nimai
--
1.7.9.2
++++++ 0004-hwdb-update.patch ++++++
++++ 3964 lines (skipped)
++++++ 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch ++++++
>From 94036de887ad5b0dc805abe38b5c1c58b57d9465 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= <grawity(a)gmail.com>
Date: Tue, 11 Mar 2014 17:49:00 +0200
Subject: [PATCH] logind: Do not fail display count if a device has no parent
udev_device_get_parent() may return NULL when the device doesn't have a
parent, as is the case with (for example) /sys/devices/virtual/drm/ttm.
Also, log an actual error message instead of "-12 displays connected".
---
src/login/logind-action.c | 4 +++-
src/login/logind-core.c | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git src/login/logind-action.c src/login/logind-action.c
index ae7b350..1928f43 100644
--- src/login/logind-action.c
+++ src/login/logind-action.c
@@ -84,7 +84,9 @@ int manager_handle_action(
* treat like this under the assumption that there is
* no modern drm driver available. */
n = manager_count_displays(m);
- if (n != 1) {
+ if (n < 0)
+ log_warning("Display counting failed: %s", strerror(-n));
+ else if (n != 1) {
log_debug("Ignoring lid switch request, %i displays connected.", n);
return 0;
}
diff --git src/login/logind-core.c src/login/logind-core.c
index ca34d37..053d2ed 100644
--- src/login/logind-core.c
+++ src/login/logind-core.c
@@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) {
p = udev_device_get_parent(d);
if (!p)
- return -ENOMEM;
+ continue;
/* If the parent shares the same subsystem as the
* device we are looking at then it is a connector,
--
1.7.9.2
++++++ 0004-machined-make-sure-GetMachineAddresses-is-available-.patch ++++++
>From d3152a09ac5804ec8603daee12f98cf03523cce0 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Mon, 19 May 2014 00:47:26 +0900
Subject: [PATCH] machined: make sure GetMachineAddresses() is available for
unprivileged processes
---
src/machine/org.freedesktop.machine1.conf | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git src/machine/org.freedesktop.machine1.conf src/machine/org.freedesktop.machine1.conf
index 970ccd8..ab349a5 100644
--- src/machine/org.freedesktop.machine1.conf
+++ src/machine/org.freedesktop.machine1.conf
@@ -42,12 +42,20 @@
<allow send_destination="org.freedesktop.machine1"
send_interface="org.freedesktop.machine1.Manager"
+ send_member="GetMachineAddresses"/>
+
+ <allow send_destination="org.freedesktop.machine1"
+ send_interface="org.freedesktop.machine1.Manager"
send_member="GetMachine"/>
<allow send_destination="org.freedesktop.machine1"
send_interface="org.freedesktop.machine1.Manager"
send_member="GetMachineByPID"/>
+ <allow send_destination="org.freedesktop.machine1"
+ send_interface="org.freedesktop.machine1.Machine"
+ send_member="GetAddresses"/>
+
<allow receive_sender="org.freedesktop.machine1"/>
</policy>
--
1.7.9.2
++++++ 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch ++++++
>From cdc06ed7b6120c1049305fa7033f228ee9d86043 Mon Sep 17 00:00:00 2001
From: David Strauss <david(a)davidstrauss.net>
Date: Mon, 28 Apr 2014 12:08:32 -0700
Subject: [PATCH] core: Filter by state behind the D-Bus API, not in the
systemctl client.
---
src/core/dbus-manager.c | 24 +++++++++++++++++++++++-
src/core/org.freedesktop.systemd1.conf | 4 ++++
src/systemctl/systemctl.c | 24 +++++++++++++-----------
3 files changed, 40 insertions(+), 12 deletions(-)
diff --git src/core/dbus-manager.c src/core/dbus-manager.c
index 58e484d..d5fab0a 100644
--- src/core/dbus-manager.c
+++ src/core/dbus-manager.c
@@ -728,7 +728,7 @@ static int method_reset_failed(sd_bus *bus, sd_bus_message *message, void *userd
return sd_bus_reply_method_return(message, NULL);
}
-static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
+static int list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error, char **states) {
_cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
Manager *m = userdata;
const char *k;
@@ -761,6 +761,12 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat
following = unit_following(u);
+ if (!strv_isempty(states) &&
+ !strv_contains(states, unit_load_state_to_string(u->load_state)) &&
+ !strv_contains(states, unit_active_state_to_string(unit_active_state(u))) &&
+ !strv_contains(states, unit_sub_state_to_string(u)))
+ continue;
+
unit_path = unit_dbus_path(u);
if (!unit_path)
return -ENOMEM;
@@ -794,6 +800,21 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat
return sd_bus_send(bus, reply, NULL);
}
+static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
+ return list_units_filtered(bus, message, userdata, error, NULL);
+}
+
+static int method_list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
+ _cleanup_strv_free_ char **states = NULL;
+ int r;
+
+ r = sd_bus_message_read_strv(message, &states);
+ if (r < 0)
+ return r;
+
+ return list_units_filtered(bus, message, userdata, error, states);
+}
+
static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
Manager *m = userdata;
@@ -1670,6 +1691,7 @@ const sd_bus_vtable bus_manager_vtable[] = {
SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, 0),
SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, 0),
SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED),
diff --git src/core/org.freedesktop.systemd1.conf src/core/org.freedesktop.systemd1.conf
index a375dce..9dfca81 100644
--- src/core/org.freedesktop.systemd1.conf
+++ src/core/org.freedesktop.systemd1.conf
@@ -64,6 +64,10 @@
<allow send_destination="org.freedesktop.systemd1"
send_interface="org.freedesktop.systemd1.Manager"
+ send_member="ListUnitsFiltered"/>
+
+ <allow send_destination="org.freedesktop.systemd1"
+ send_interface="org.freedesktop.systemd1.Manager"
send_member="ListUnitFiles"/>
<allow send_destination="org.freedesktop.systemd1"
--- src/systemctl/systemctl.c
+++ src/systemctl/systemctl.c 2014-05-20 12:39:27.058236843 +0000
@@ -308,12 +308,6 @@ static int compare_unit_info(const void
static bool output_show_unit(const UnitInfo *u, char **patterns) {
const char *dot;
- if (!strv_isempty(arg_states))
- return
- strv_contains(arg_states, u->load_state) ||
- strv_contains(arg_states, u->sub_state) ||
- strv_contains(arg_states, u->active_state);
-
if (!strv_isempty(patterns)) {
char **pattern;
@@ -467,6 +461,7 @@ static int get_unit_list(
UnitInfo **_unit_infos,
char **patterns) {
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
_cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
_cleanup_free_ UnitInfo *unit_infos = NULL;
@@ -478,15 +473,22 @@ static int get_unit_list(
assert(_reply);
assert(_unit_infos);
- r = sd_bus_call_method(
+ r = sd_bus_message_new_method_call(
bus,
+ &m,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "ListUnits",
- &error,
- &reply,
- NULL);
+ "ListUnitsFiltered");
+
+ if (r < 0)
+ return bus_log_create_error(r);
+
+ r = sd_bus_message_append_strv(m, arg_states);
+ if (r < 0)
+ return bus_log_create_error(r);
+
+ r = sd_bus_call(bus, m, 0, &error, &reply);
if (r < 0) {
log_error("Failed to list units: %s", bus_error_message(&error, r));
return r;
--
1.7.9.2
++++++ 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch ++++++
>From 24e29480bd800d3acdb3087e5863440bd0dd1d80 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel(a)holtmann.org>
Date: Fri, 16 May 2014 15:57:35 -0700
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 53 ++++++++++++++++++++++++++++++++-
1 file changed, 52 insertions(+), 1 deletion(-)
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
index 28aa2a7..a65c7db 100644
--- hwdb/20-bluetooth-vendor-product.hwdb
+++ hwdb/20-bluetooth-vendor-product.hwdb
@@ -961,4 +961,55 @@ bluetooth:v013D*
ID_VENDOR_FROM_DATABASE=WirelessWERX
bluetooth:v013E*
- ID_VENDOR_FROM_DATABASE=nimai
+ ID_VENDOR_FROM_DATABASE=Nod, Inc.
+
+bluetooth:v013F*
+ ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company
+
+bluetooth:v0140*
+ ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd
+
+bluetooth:v0141*
+ ID_VENDOR_FROM_DATABASE=FedEx Services
+
+bluetooth:v0142*
+ ID_VENDOR_FROM_DATABASE=Grape Systems Inc.
+
+bluetooth:v0143*
+ ID_VENDOR_FROM_DATABASE=Bkon Connect
+
+bluetooth:v0144*
+ ID_VENDOR_FROM_DATABASE=Lintech GmbH
+
+bluetooth:v0145*
+ ID_VENDOR_FROM_DATABASE=Novatel Wireless
+
+bluetooth:v0146*
+ ID_VENDOR_FROM_DATABASE=Ciright
+
+bluetooth:v0147*
+ ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc.
+
+bluetooth:v0148*
+ ID_VENDOR_FROM_DATABASE=Ambimat Electronics
+
+bluetooth:v0149*
+ ID_VENDOR_FROM_DATABASE=Perytons Ltd.
+
+bluetooth:v014A*
+ ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC
+
+bluetooth:v014B*
+ ID_VENDOR_FROM_DATABASE=Master Lock
+
+bluetooth:v014C*
+ ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd
+
+bluetooth:v014D*
+ ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD.
+
+bluetooth:v014E*
+ ID_VENDOR_FROM_DATABASE=Tangerine, Inc.
+
+bluetooth:v014F*
+ ID_VENDOR_FROM_DATABASE=B&W Group Ltd.
--
1.7.9.2
++++++ 0005-hwdb-update.patch ++++++
++++ 1560 lines (skipped)
++++++ 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch ++++++
>From b5d3e1688133077ca20542a20dcd8919147e72e1 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Tue, 11 Mar 2014 22:38:54 +0100
Subject: [PATCH] logind: move lid switch handling from logind-main to
logind-core
../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore'
collect2: error: ld returned 1 exit status
make[2]: *** [test-login-tables]
---
src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/login/logind.c | 40 ----------------------------------------
2 files changed, 40 insertions(+), 40 deletions(-)
diff --git src/login/logind-dbus.c src/login/logind-dbus.c
index c5f9cb3..2ef87f7 100644
--- src/login/logind-dbus.c
+++ src/login/logind-dbus.c
@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown(
q, NULL);
}
+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) {
+ Manager *m = userdata;
+
+ assert(e);
+ assert(m);
+
+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source);
+ return 0;
+}
+
+int manager_set_lid_switch_ignore(Manager *m, usec_t until) {
+ int r;
+
+ assert(m);
+
+ if (until <= now(CLOCK_MONOTONIC))
+ return 0;
+
+ /* We want to ignore the lid switch for a while after each
+ * suspend, and after boot-up. Hence let's install a timer for
+ * this. As long as the event source exists we ignore the lid
+ * switch. */
+
+ if (m->lid_switch_ignore_event_source) {
+ usec_t u;
+
+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u);
+ if (r < 0)
+ return r;
+
+ if (until <= u)
+ return 0;
+
+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until);
+ } else
+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m);
+
+ return r;
+}
+
static int execute_shutdown_or_sleep(
Manager *m,
InhibitWhat w,
diff --git src/login/logind.c src/login/logind.c
index 03b7753..2d734ff 100644
--- src/login/logind.c
+++ src/login/logind.c
@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us
return 0;
}
-static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) {
- Manager *m = userdata;
-
- assert(e);
- assert(m);
-
- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source);
- return 0;
-}
-
-int manager_set_lid_switch_ignore(Manager *m, usec_t until) {
- int r;
-
- assert(m);
-
- if (until <= now(CLOCK_MONOTONIC))
- return 0;
-
- /* We want to ignore the lid switch for a while after each
- * suspend, and after boot-up. Hence let's install a timer for
- * this. As long as the event source exists we ignore the lid
- * switch. */
-
- if (m->lid_switch_ignore_event_source) {
- usec_t u;
-
- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u);
- if (r < 0)
- return r;
-
- if (until <= u)
- return 0;
-
- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until);
- } else
- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m);
-
- return r;
-}
-
int manager_startup(Manager *m) {
int r;
Seat *seat;
--
1.7.9.2
++++++ 0006-login-add-mir-to-the-list-of-session-types.patch ++++++
>From 9541666b8d97f107335dd7e3cb93b4d2cfbf19c9 Mon Sep 17 00:00:00 2001
From: David Herrmann <dh.herrmann(a)gmail.com>
Date: Wed, 9 Apr 2014 21:22:48 +0200
Subject: [PATCH] login: add 'mir' to the list of session types
Add Mir to the list of session types. This is implemented for LightDM
in lp:~robert-ancell/lightdm/xdg-session-desktop [1].
[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merg…
(david: adjusted commit-header and fixed whitespace issues)
---
man/pam_systemd.xml | 5 +++--
man/sd_session_is_active.xml | 6 +++---
src/login/logind-session.c | 1 +
src/login/logind-session.h | 1 +
src/systemd/sd-login.h | 2 +-
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git man/pam_systemd.xml man/pam_systemd.xml
index 3022cdb..f973899 100644
--- man/pam_systemd.xml
+++ man/pam_systemd.xml
@@ -145,8 +145,9 @@
variable takes precedence. One of
<literal>unspecified</literal>,
<literal>tty</literal>,
- <literal>x11</literal> or
- <literal>wayland</literal>. See
+ <literal>x11</literal>,
+ <literal>wayland</literal> or
+ <literal>mir</literal>. See
<citerefentry><refentrytitle>sd_session_get_type</refentrytitle><manvolnum>3</manvolnum></citerefentry>
for details about the session type.</para></listitem>
</varlistentry>
diff --git man/sd_session_is_active.xml man/sd_session_is_active.xml
index ddb2bee..31a6119 100644
--- man/sd_session_is_active.xml
+++ man/sd_session_is_active.xml
@@ -201,9 +201,9 @@
be used to determine the type of the session
identified by the specified session identifier. The
returned string is one of <literal>x11</literal>,
- <literal>wayland</literal>, <literal>tty</literal> or
- <literal>unspecified</literal> and needs to be freed
- with the libc
+ <literal>wayland</literal>, <literal>tty</literal>,
+ <literal>mir</literal> or <literal>unspecified</literal> and
+ needs to be freed with the libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
--- src/login/logind-session.c
+++ src/login/logind-session.c 2014-05-20 12:49:07.150236121 +0000
@@ -1124,6 +1124,7 @@ static const char* const session_type_ta
[SESSION_TTY] = "tty",
[SESSION_X11] = "x11",
[SESSION_WAYLAND] = "wayland",
+ [SESSION_MIR] = "mir",
[SESSION_UNSPECIFIED] = "unspecified",
};
diff --git src/login/logind-session.h src/login/logind-session.h
index c9af5eb..7ecc9f0 100644
--- src/login/logind-session.h
+++ src/login/logind-session.h
@@ -55,6 +55,7 @@ typedef enum SessionType {
SESSION_TTY,
SESSION_X11,
SESSION_WAYLAND,
+ SESSION_MIR,
_SESSION_TYPE_MAX,
_SESSION_TYPE_INVALID = -1
} SessionType;
diff --git src/systemd/sd-login.h src/systemd/sd-login.h
index a4ca231..776733a 100644
--- src/systemd/sd-login.h
+++ src/systemd/sd-login.h
@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat);
/* Determine the (PAM) service name this session was registered by. */
int sd_session_get_service(const char *session, char **service);
-/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */
+/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */
int sd_session_get_type(const char *session, char **type);
/* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */
--
1.7.9.2
++++++ 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch ++++++
>From 33169701b0640d3629d4c36cf8c71dc26d2cb7e1 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Fri, 16 May 2014 01:33:22 +0200
Subject: [PATCH] man: clarify that the ExecReload= command should be
synchronous
http://lists.freedesktop.org/archives/systemd-devel/2014-May/019054.html
---
man/systemd.service.xml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git man/systemd.service.xml man/systemd.service.xml
index af32ccb..364ad7d 100644
--- man/systemd.service.xml
+++ man/systemd.service.xml
@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}</programlisting>
following:</para>
<programlisting>/bin/kill -HUP $MAINPID</programlisting>
+
+ <para>Note however that reloading a
+ daemon by sending a signal (as with
+ the example line above) is usually not
+ a good choice, because this is an
+ asynchronous operation and hence not
+ suitable to order reloads of multiple
+ services against each other. It is
+ strongly recommended to set
+ <varname>ExecReload=</varname> to a
+ command that no only triggers a
+ configuration reload of the daemon,
+ but also synchronously waits for it
+ complete.</para>
</listitem>
</varlistentry>
--
1.7.9.2
++++++ 0007-logind-fix-Display-property-of-user-objects.patch ++++++
>From 952d32609f9bceee444fa2690afb4d28539b4b92 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Mon, 19 May 2014 09:03:20 +0900
Subject: [PATCH] logind: fix Display property of user objects
When we dropped support for creating a per-user to the "main" X11
display we stopped returning useful data in the "Display" user property.
With this change this is fixed and we again expose an appropriate
(graphical session) in the property that is useful as the "main" one, if
one is needed.
---
src/login/logind-session.c | 8 ++++++--
src/login/logind-session.h | 2 ++
src/login/logind-user-dbus.c | 2 +-
src/login/logind-user.c | 37 +++++++++++++++++++++++++++++++++++++
src/login/logind-user.h | 1 +
5 files changed, 47 insertions(+), 3 deletions(-)
diff --git src/login/logind-session.c src/login/logind-session.c
index 4fb229e..9a54101 100644
--- src/login/logind-session.c
+++ src/login/logind-session.c
@@ -545,6 +545,8 @@ int session_start(Session *s) {
s->started = true;
+ user_elect_display(s->user);
+
/* Save data */
session_save(s);
user_save(s->user);
@@ -553,7 +555,7 @@ int session_start(Session *s) {
/* Send signals */
session_send_signal(s, true);
- user_send_changed(s->user, "Sessions", NULL);
+ user_send_changed(s->user, "Sessions", "Display", NULL);
if (s->seat) {
if (s->seat->active == s)
seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL);
@@ -612,6 +614,8 @@ int session_stop(Session *s, bool force) {
s->stopping = true;
+ user_elect_display(s->user);
+
session_save(s);
user_save(s->user);
@@ -660,7 +664,7 @@ int session_finalize(Session *s) {
}
user_save(s->user);
- user_send_changed(s->user, "Sessions", NULL);
+ user_send_changed(s->user, "Sessions", "Display", NULL);
return r;
}
diff --git src/login/logind-session.h src/login/logind-session.h
index f78f309..81957df 100644
--- src/login/logind-session.h
+++ src/login/logind-session.h
@@ -60,6 +60,8 @@ typedef enum SessionType {
_SESSION_TYPE_INVALID = -1
} SessionType;
+#define SESSION_TYPE_IS_GRAPHICAL(type) IN_SET(type, SESSION_X11, SESSION_WAYLAND, SESSION_MIR)
+
enum KillWho {
KILL_LEADER,
KILL_ALL,
diff --git src/login/logind-user-dbus.c src/login/logind-user-dbus.c
index 6266ccb..51793f6 100644
--- src/login/logind-user-dbus.c
+++ src/login/logind-user-dbus.c
@@ -220,7 +220,7 @@ const sd_bus_vtable user_vtable[] = {
SD_BUS_PROPERTY("RuntimePath", "s", NULL, offsetof(User, runtime_path), SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("Service", "s", NULL, offsetof(User, service), SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("Slice", "s", NULL, offsetof(User, slice), SD_BUS_VTABLE_PROPERTY_CONST),
- SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_CONST),
+ SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
SD_BUS_PROPERTY("State", "s", property_get_state, 0, 0),
SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
diff --git src/login/logind-user.c src/login/logind-user.c
index 5fffa65..fdbccb3 100644
--- src/login/logind-user.c
+++ src/login/logind-user.c
@@ -713,6 +713,43 @@ int user_kill(User *u, int signo) {
return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL);
}
+void user_elect_display(User *u) {
+ Session *graphical = NULL, *text = NULL, *s;
+
+ assert(u);
+
+ /* This elects a primary session for each user, which we call
+ * the "display". We try to keep the assignment stable, but we
+ * "upgrade" to better choices. */
+
+ LIST_FOREACH(sessions_by_user, s, u->sessions) {
+
+ if (s->class != SESSION_USER)
+ continue;
+
+ if (s->stopping)
+ continue;
+
+ if (SESSION_TYPE_IS_GRAPHICAL(s->type))
+ graphical = s;
+ else
+ text = s;
+ }
+
+ if (graphical &&
+ (!u->display ||
+ u->display->class != SESSION_USER ||
+ u->display->stopping ||
+ !SESSION_TYPE_IS_GRAPHICAL(u->display->type)))
+ u->display = graphical;
+
+ if (text &&
+ (!u->display ||
+ u->display->class != SESSION_USER ||
+ u->display->stopping))
+ u->display = text;
+}
+
static const char* const user_state_table[_USER_STATE_MAX] = {
[USER_OFFLINE] = "offline",
[USER_OPENING] = "opening",
diff --git src/login/logind-user.h src/login/logind-user.h
index f237d2a..4e0568f 100644
--- src/login/logind-user.h
+++ src/login/logind-user.h
@@ -80,6 +80,7 @@ int user_save(User *u);
int user_load(User *u);
int user_kill(User *u, int signo);
int user_check_linger_file(User *u);
+void user_elect_display(User *u);
extern const sd_bus_vtable user_vtable[];
int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error);
--
1.7.9.2
++++++ 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch ++++++
>From 332bc31992acffc6f32e194c0122e01607bd0e27 Mon Sep 17 00:00:00 2001
From: Alison Chaiken <alison_chaiken(a)mentor.com>
Date: Fri, 16 May 2014 09:25:53 +0200
Subject: [PATCH] man: readahead: fix cmdline switch inconsistency between
readahead.c and docs
Source code has "files-max" and XML has --max-files.
---
man/systemd-readahead-replay.service.xml | 2 +-
src/readahead/readahead.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git man/systemd-readahead-replay.service.xml man/systemd-readahead-replay.service.xml
index 67b41f5..669fe78 100644
--- man/systemd-readahead-replay.service.xml
+++ man/systemd-readahead-replay.service.xml
@@ -117,7 +117,7 @@
<variablelist>
<varlistentry>
- <term><option>--max-files=</option></term>
+ <term><option>--files-max=</option></term>
<listitem><para>Maximum number of
files to read ahead. Only valid
diff --git src/readahead/readahead.c src/readahead/readahead.c
index d6729ec..73cf538 100644
--- src/readahead/readahead.c
+++ src/readahead/readahead.c
@@ -42,7 +42,7 @@ static int help(void) {
"Collect read-ahead data on early boot.\n\n"
" -h --help Show this help\n"
" --version Show package version\n"
- " --max-files=INT Maximum number of files to read ahead\n"
+ " --files-max=INT Maximum number of files to read ahead\n"
" --file-size-max=BYTES Maximum size of files to read ahead\n"
" --timeout=USEC Maximum time to spend collecting data\n\n\n",
program_invocation_short_name);
--
1.7.9.2
++++++ 0008-man-update-journald-rate-limit-defaults.patch ++++++
>From 8f18f550e7023948f199616fdfbb0f09711fd615 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= <grawity(a)gmail.com>
Date: Wed, 30 Apr 2014 19:53:13 +0300
Subject: [PATCH] man: update journald rate limit defaults
This brings the man page back into sync with the actual code.
---
man/journald.conf.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git man/journald.conf.xml man/journald.conf.xml
index 239a2ec..5cd09a2 100644
--- man/journald.conf.xml
+++ man/journald.conf.xml
@@ -190,8 +190,8 @@
limiting is applied per-service, so
that two services which log do not
interfere with each other's
- limits. Defaults to 200 messages in
- 10s. The time specification for
+ limits. Defaults to 1000 messages in
+ 30s. The time specification for
<varname>RateLimitInterval=</varname>
may be specified in the following
units: <literal>s</literal>,
--
1.7.9.2
++++++ 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch ++++++
>From 9f24adc288de142d6606fde3c5a5971613f3b6b9 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Fri, 16 May 2014 19:37:19 +0200
Subject: [PATCH] nspawn: properly format container_uuid in UUID format
http://lists.freedesktop.org/archives/systemd-devel/2014-April/018971.html
---
src/nspawn/nspawn.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c
index 0bd52da..6be4dca 100644
--- src/nspawn/nspawn.c
+++ src/nspawn/nspawn.c
@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
return 0;
}
+static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
+
+ snprintf(s, 37,
+ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ SD_ID128_FORMAT_VAL(id));
+
+ return s;
+}
+
static int setup_boot_id(const char *dest) {
_cleanup_free_ char *from = NULL, *to = NULL;
sd_id128_t rnd = {};
@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
return r;
}
- snprintf(as_uuid, sizeof(as_uuid),
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- SD_ID128_FORMAT_VAL(rnd));
- char_array_0(as_uuid);
+ id128_format_as_uuid(rnd, as_uuid);
r = write_string_file(from, as_uuid);
if (r < 0) {
@@ -2954,7 +2960,9 @@ int main(int argc, char *argv[]) {
}
if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
+ char as_uuid[37];
+
+ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
log_oom();
goto child_fail;
}
--
1.7.9.2
++++++ 0010-logind-allow-suspending-if-there-are-no-displays.patch ++++++
>From d36d90933a832bd1e1eb8e3d16b3de73f91636b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= <grawity(a)gmail.com>
Date: Mon, 28 Apr 2014 00:58:56 +0300
Subject: [PATCH] logind: allow suspending if there are no displays
With proprietary graphics drivers, there won't be any 'drm' devices in
sysfs, so logind will never suspend the system upon closing the lid,
even if only one (internal) display is connected. This has been reported
by multiple users so far.
IMHO, it's better to suspend the system in this case for safety reasons,
to avoid having nvidia blob users' laptops overheat, for the same reason
that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes).
---
src/login/logind-action.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git src/login/logind-action.c src/login/logind-action.c
index ae9cd48..36ee441 100644
--- src/login/logind-action.c
+++ src/login/logind-action.c
@@ -79,14 +79,12 @@ int manager_handle_action(
return 0;
}
- /* If we have more than one or no displays connected,
- * don't react to lid closing. The no display case we
- * treat like this under the assumption that there is
- * no modern drm driver available. */
+ /* If we have more than one display connected,
+ * don't react to lid closing. */
n = manager_count_displays(m);
if (n < 0)
log_warning("Display counting failed: %s", strerror(-n));
- else if (n != 1) {
+ else if (n > 1) {
log_debug("Ignoring lid switch request, %i displays connected.", n);
return 0;
}
--
1.7.9.2
++++++ 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch -> 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch ++++++
++++++ 1017-udev-serialize-synchronize-block-device-event-handli.patch ++++++
>From 3ebdb81ef088afd3b4c72b516beb5610f8c93a0d Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Sun, 13 Apr 2014 19:54:27 -0700
Subject: [PATCH] udev: serialize/synchronize block device event handling with
file locks
---
src/udev/udevd.c | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git src/udev/udevd.c src/udev/udevd.c
index f9ee368..aecd208 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -31,6 +31,7 @@
#include <time.h>
#include <getopt.h>
#include <dirent.h>
+#include <sys/file.h>
#include <sys/time.h>
#include <sys/prctl.h>
#include <sys/socket.h>
@@ -265,6 +266,7 @@ static void worker_new(struct event *event)
for (;;) {
struct udev_event *udev_event;
struct worker_message msg;
+ int fd_lock = -1;
int err;
log_debug("seq %llu running", udev_device_get_seqnum(dev));
@@ -280,6 +282,30 @@ static void worker_new(struct event *event)
if (exec_delay > 0)
udev_event->exec_delay = exec_delay;
+ /*
+ * Take a "read lock" on the device node; this establishes
+ * a concept of device "ownership" to serialize device
+ * access. External processes holding a "write lock" will
+ * cause udev to skip the event handling; in the case udev
+ * acquired the lock, the external process will block until
+ * udev has finished its event handling.
+ */
+ if (streq_ptr("block", udev_device_get_subsystem(dev))) {
+ struct udev_device *d = dev;
+
+ if (streq_ptr("partition", udev_device_get_devtype(d)))
+ d = udev_device_get_parent(d);
+
+ if (d) {
+ fd_lock = open(udev_device_get_devnode(d), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
+ if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) {
+ log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d));
+ err = -EWOULDBLOCK;
+ goto skip;
+ }
+ }
+ }
+
/* apply rules, create node, symlinks */
err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
@@ -292,13 +318,16 @@ static void worker_new(struct event *event)
udev_device_update_db(dev);
}
+ if (fd_lock >= 0)
+ close(fd_lock);
+
/* send processed event back to libudev listeners */
udev_monitor_send_device(worker_monitor, NULL, dev);
+skip:
/* send udevd the result of the event execution */
memzero(&msg, sizeof(struct worker_message));
- if (err != 0)
- msg.exitcode = err;
+ msg.exitcode = err;
msg.pid = getpid();
send(worker_watch[WRITE_END], &msg, sizeof(struct worker_message), 0);
--
1.7.9.2
++++++ 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch ++++++
>From 1ea972174baba40dbc80c51cbfc4edc49764b59b Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Wed, 14 May 2014 00:34:49 +0200
Subject: [PATCH] udev: do not skip the execution of RUN when renaming a
network device fails
---
src/test/test-udev.c | 5 ++---
src/udev/udev-event.c | 11 +++++------
src/udev/udev.h | 2 +-
src/udev/udevadm-test.c | 13 +++++--------
src/udev/udevd.c | 5 ++---
5 files changed, 15 insertions(+), 21 deletions(-)
diff --git src/test/test-udev.c src/test/test-udev.c
index b064744..b057cc8 100644
--- src/test/test-udev.c
+++ src/test/test-udev.c
@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
}
}
- err = udev_event_execute_rules(event, rules, &sigmask_orig);
- if (err == 0)
- udev_event_execute_run(event, NULL);
+ udev_event_execute_rules(event, rules, &sigmask_orig);
+ udev_event_execute_run(event, NULL);
out:
if (event != NULL && event->fd_signal >= 0)
close(event->fd_signal);
diff --git src/udev/udev-event.c src/udev/udev-event.c
index 2cab42b..5213a4a 100644
--- src/udev/udev-event.c
+++ src/udev/udev-event.c
@@ -776,13 +776,12 @@ static int rename_netif(struct udev_event *event)
return r;
}
-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
{
struct udev_device *dev = event->dev;
- int err = 0;
if (udev_device_get_subsystem(dev) == NULL)
- return -1;
+ return;
if (streq(udev_device_get_action(dev), "remove")) {
udev_device_read_db(dev, NULL);
@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
char syspath[UTIL_PATH_SIZE];
char *pos;
+ int r;
- err = rename_netif(event);
- if (err == 0) {
+ r = rename_netif(event);
+ if (r >= 0) {
log_debug("renamed netif to '%s'", event->name);
/* remember old name */
@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
udev_device_unref(event->dev_db);
event->dev_db = NULL;
}
- return err;
}
void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
diff --git src/udev/udev.h src/udev/udev.h
index 936adfb..62538bc 100644
--- src/udev/udev.h
+++ src/udev/udev.h
@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
int udev_event_spawn(struct udev_event *event,
const char *cmd, char **envp, const sigset_t *sigmask,
char *result, size_t ressize);
-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c
index 6cd311b..6a2f548 100644
--- src/udev/udevadm-test.c
+++ src/udev/udevadm-test.c
@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
_cleanup_udev_device_unref_ struct udev_device *dev = NULL;
_cleanup_udev_event_unref_ struct udev_event *event = NULL;
sigset_t mask, sigmask_orig;
- int err;
int rc = 0, c;
static const struct option options[] = {
@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
goto out;
}
- err = udev_event_execute_rules(event, rules, &sigmask_orig);
+ udev_event_execute_rules(event, rules, &sigmask_orig);
udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
- if (err == 0) {
- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
- char program[UTIL_PATH_SIZE];
+ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
+ char program[UTIL_PATH_SIZE];
- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
- printf("run: '%s'\n", program);
- }
+ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
+ printf("run: '%s'\n", program);
}
out:
if (event != NULL && event->fd_signal >= 0)
diff --git src/udev/udevd.c src/udev/udevd.c
index aecd208..bc0696c 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -307,10 +307,9 @@ static void worker_new(struct event *event)
}
/* apply rules, create node, symlinks */
- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ udev_event_execute_rules(udev_event, rules, &sigmask_orig);
- if (err == 0)
- udev_event_execute_run(udev_event, &sigmask_orig);
+ udev_event_execute_run(udev_event, &sigmask_orig);
/* apply/restore inotify watch */
if (err == 0 && udev_event->inotify_watch) {
--
1.7.9.2
++++++ 1019-udev-avoid-use-of-uninitialized-err.patch ++++++
>From bf9bead187802a52a1f376a03caee762d663e945 Mon Sep 17 00:00:00 2001
From: Thomas Hindoe Paaboel Andersen <phomes(a)gmail.com>
Date: Fri, 16 May 2014 23:46:48 +0200
Subject: [PATCH] udev: avoid use of uninitialized err
After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer
set unless we hit a special case. Initialize it to 0 and remove
a check that will never fail.
---
src/udev/udevd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git src/udev/udevd.c src/udev/udevd.c
index bc0696c..1c9488e 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -267,7 +267,7 @@ static void worker_new(struct event *event)
struct udev_event *udev_event;
struct worker_message msg;
int fd_lock = -1;
- int err;
+ int err = 0;
log_debug("seq %llu running", udev_device_get_seqnum(dev));
udev_event = udev_event_new(dev);
@@ -312,7 +312,7 @@ static void worker_new(struct event *event)
udev_event_execute_run(udev_event, &sigmask_orig);
/* apply/restore inotify watch */
- if (err == 0 && udev_event->inotify_watch) {
+ if (udev_event->inotify_watch) {
udev_watch_begin(udev, dev);
udev_device_update_db(dev);
}
--
1.7.9.2
++++++ systemd-mini-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.42NNoC/_old 2014-05-27 07:09:12.000000000 +0200
+++ /var/tmp/diff_new_pack.42NNoC/_new 2014-05-27 07:09:12.000000000 +0200
@@ -1,20 +1,20 @@
addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*")
addFilter(".*dangling-symlink .* /dev/null.*")
-addFilter(".*files-duplicate .*/reboot.8.*")
-addFilter(".*files-duplicate .*/sd_is_socket.3.*")
-addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh")
-addFilter("non-conffile-in-etc /etc/rpm/macros.systemd")
+addFilter(".*files-duplicate .*/reboot\.8.*")
+addFilter(".*files-duplicate .*/sd_is_socket\.3.*")
+addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh")
+addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd")
addFilter(".*dbus-policy-allow-receive")
addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*")
addFilter(".*dangling-symlink /lib/udev/devices/core.*")
addFilter(".*dangling-symlink /lib/udev/devices/fd.*")
-addFilter(".*incoherent-init-script-name boot.udev.*")
-addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev")
-addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev")
+addFilter(".*incoherent-init-script-name boot\.udev.*")
+addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev")
+addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev")
addFilter(".*devel-file-in-non-devel-package.*udev.pc.*")
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
-
+addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
++++++ systemd-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.42NNoC/_old 2014-05-27 07:09:12.000000000 +0200
+++ /var/tmp/diff_new_pack.42NNoC/_new 2014-05-27 07:09:12.000000000 +0200
@@ -1,20 +1,20 @@
addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*")
addFilter(".*dangling-symlink .* /dev/null.*")
-addFilter(".*files-duplicate .*/reboot.8.*")
-addFilter(".*files-duplicate .*/sd_is_socket.3.*")
-addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh")
-addFilter("non-conffile-in-etc /etc/rpm/macros.systemd")
+addFilter(".*files-duplicate .*/reboot\.8.*")
+addFilter(".*files-duplicate .*/sd_is_socket\.3.*")
+addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh")
+addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd")
addFilter(".*dbus-policy-allow-receive")
addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*")
addFilter(".*dangling-symlink /lib/udev/devices/core.*")
addFilter(".*dangling-symlink /lib/udev/devices/fd.*")
-addFilter(".*incoherent-init-script-name boot.udev.*")
-addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev")
-addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev")
+addFilter(".*incoherent-init-script-name boot\.udev.*")
+addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev")
+addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev")
addFilter(".*devel-file-in-non-devel-package.*udev.pc.*")
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
-
+addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rpcbind for openSUSE:Factory checked in at 2014-05-27 07:09:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpcbind (Old)
and /work/SRC/openSUSE:Factory/.rpcbind.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpcbind"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpcbind/rpcbind.changes 2014-04-06 07:10:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rpcbind.new/rpcbind.changes 2014-05-27 07:09:05.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May 21 13:56:14 UTC 2014 - werner(a)suse.de
+
+- Require the systemd libraries for build to allow the move
+ of systemd.pc back to systemd
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpcbind.spec ++++++
--- /var/tmp/diff_new_pack.gImevO/_old 2014-05-27 07:09:06.000000000 +0200
+++ /var/tmp/diff_new_pack.gImevO/_new 2014-05-27 07:09:06.000000000 +0200
@@ -65,7 +65,7 @@
Patch26: 0027-socket-before-service.patch
%define statefile /var/lib/portmap.state
-BuildRequires: pkgconfig(systemd)
+BuildRequires: pkgconfig(libsystemd-daemon)
%{?systemd_requires}
Provides: portmap
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libusb-1_0 for openSUSE:Factory checked in at 2014-05-27 07:09:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libusb-1_0 (Old)
and /work/SRC/openSUSE:Factory/.libusb-1_0.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libusb-1_0"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libusb-1_0/libusb-1_0.changes 2014-02-16 09:10:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libusb-1_0.new/libusb-1_0.changes 2014-05-27 07:09:04.000000000 +0200
@@ -1,0 +2,5 @@
+Wed May 21 20:12:12 CEST 2014 - sbrabec(a)suse.cz
+
+- Build with pkgconfig(libudev), not pkgconfig(udev).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libusb-1_0.spec ++++++
--- /var/tmp/diff_new_pack.vvi5db/_old 2014-05-27 07:09:05.000000000 +0200
+++ /var/tmp/diff_new_pack.vvi5db/_new 2014-05-27 07:09:05.000000000 +0200
@@ -28,7 +28,7 @@
Source1: baselibs.conf
BuildRequires: pkg-config
%if 0%{?suse_version} >= 1200
-BuildRequires: pkgconfig(udev)
+BuildRequires: pkgconfig(libudev)
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define debug_package_requires libusb-1_0-0 = %{version}-%{release}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package procps for openSUSE:Factory checked in at 2014-05-27 07:08:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/procps (Old)
and /work/SRC/openSUSE:Factory/.procps.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "procps"
Changes:
--------
--- /work/SRC/openSUSE:Factory/procps/procps.changes 2014-05-17 06:43:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.procps.new/procps.changes 2014-05-27 07:09:01.000000000 +0200
@@ -1,0 +2,91 @@
+Wed May 21 13:39:58 UTC 2014 - werner(a)suse.de
+
+- Require the systemd libraries for build to allow the move
+ of systemd.pc back to systemd
+
+-------------------------------------------------------------------
+Fri May 16 09:44:19 UTC 2014 - werner(a)suse.de
+
+- Update to procps-ng-3.3.9
+ * kernel namespaces support added to skill, pgrep, ps and top
+ * pidof was reimplemented from scratch (replacing sysvinit pidof)
+ * ps has configurable libselinux support (--enable-libselinux)
+ * ps provides for display of systemd slice unit (--with-systemd)
+ * free can once again report non-zero 'shared' memory
+ * sysctl provides '--system' to ignore missing /etc/sysctl.conf
+ * watch interval capacity was increased - debian #720445
+ * pwdx no longer fails in a nonexistent locale - debian #718766
+ * top clarified summary area Mem/Swap stats - debian #718670
+ * top batch mode -w (width) abend fixed - debian #721204
+ * top man page removed 'Bd/Ed' mdoc macros - debian #725713
+ * top no longer clears screen at exit - redhat #977561
+ * top adapted to potential libnuma stderr message - redhat #998678
+ * top added missing batch mode newline - redhat #1008674
+- Modify patches
+ procps-ng-3.3.8-watch.patch becomes procps-ng-3.3.9-watch.patch
+ procps-v3.3.4-w-notruncate.diff becomes procps-ng-3.3.9-w-notruncate.diff
+ procps-ng-3.3.8-top.1.diff
+ procps-ng-3.3.8-top.1.diff
+ procps-v3.3.4-large_pcpu.patch
+ procps-ng-3.3.8-bnc634071_procstat2.diff
+- Remove patches now upstream
+ procps-v3.3.4-stealtime.patch is upstream
+ procps-ng-3.3.8-libselinux.patch
+ procps-ng-3.3.8-shmem.patch
+ 0001-top-add-the-major-version-to-dlopen-of-libnuma-sonam.patch
+ 0002-top-trade-two-groff_mdoc-macros-for-groff-equivalent.patch
+ 0003-library-for-atexit-support-fix-fileutils-for-EPIPE.patch
+ 0004-top-enable-screen-contents-preservation-at-end-of-jo.patch
+ 0005-top-refine-some-miscellaneous-signals-interrupt-stuf.patch
+ 0006-top-cursor-repositioning-includes-line-oriented-inpu.patch
+ 0007-top-correct-improve-or-otherwise-tweak-some-comments.patch
+ 0008-top-tweak-cursor-state-code-to-swat-an-obscure-bugle.patch
+ 0009-top-correct-cursor-positioning-for-all-Z-or-C-cases.patch
+ 0010-ps-address-a-potential-newline-quirk-the-libselinux.patch
+ 0012-top-hint-that-Summary-Area-cached-is-Mem-not-Swap.patch
+ 0013-top-modest-efficiency-change-to-message-line-handlin.patch
+ 0014-top-correct-improve-and-otherwise-tweak-configs_read.patch
+ 0015-top-swat-bug-affecting-batch-mode-and-width-provisio.patch
+ 0018-top-restore-the-lost-final-newline-when-in-Batch-mod.patch
+ 0019-top-swat-bug-impacting-idle-mode-user-filtering.patch
+ 0021-top-address-some-potential-libnuma-display-corruptio.patch
+ 0022-top-fix-miscellaneous-spelling-errors-in-man-documen.patch
+ 0023-top-expand-on-column-highlight-quirks-in-man-documen.patch
+ 0024-top-add-some-flexibility-to-dlopen-for-numa-support.patch
+ 0025-top-minimize-the-statistics-overhead-for-numa-suppor.patch
+ 0026-top-eliminate-yet-more-gcc-subscript-resolution-bloa.patch
+ 0032-top-do-not-lie-about-purported-alphabetical-ordering.patch
+ 0033-top-follow-usual-name-conventions-for-global-variabl.patch
+- Add patches from upstream
+ 0023-top-do-not-forget-the-fscanf-s-terminating-null-byte.patch
+ 0024-sysctl-system-loads-default-config-file.patch
+ 0025-Split-help-lines-to-help-translators.patch
+ 0026-library-fixing-uninitialized-variable-pos-in-whattim.patch
+ 0027-pgrep-Fixing-memory-leak-in-do_regcomp.patch
+ 0028-sysctl-Fixing-memory-leaks-in-PreloadSystem.patch
+ 0029-ps-ignore-SIGCONT.patch
+ 0031-vmstat-wide-output-still-not-wide-enough.patch
+ 0032-library-skip-replacement-of-trailing-0-in-read_unvec.patch
+ 0033-kill-for-PID-1-restored.patch
+ 0034-Check-for-presence-of-disks-in-vmstat.patch
+ 0035-PID-2-to-9-for-kill-too.patch
+ 0036-pgrep-fails-to-show-full-command-line-with-au.patch
+ 0037-fail-on-null-string-for-arguments.patch
+ 0038-Update-help-files.patch
+ 0039-vmstat-Support-for-timestamps-with-t-fix-for-wd.patch
+ 0040-watch-Don-t-leak-extra-fds-to-the-child.patch
+ 0041-vmstat-Fixing-format-security-flaws.patch
+ 0043-Added-get-trans-target-to-Makefile.patch
+ 0045-library-properly-handle-memory-used-by-tmpfs.patch
+ 0046-Minor-i18n-fixes.patch
+ 0047-sysctl-increase-max-supported-line-length-of-the-con.patch
+ 0049-fix-url-for-rsync.patch
+ 0051-top-update-copyright-dates-plus-1-preprocessor-chang.patch
+ 0052-top-refactor-man-document-so-as-to-allow-translation.patch
+ 0053-top-minimize-the-usage-of-apostrophes-in-man-documen.patch
+ 0054-top-swap-opening-quotes-for-back-tics-in-man-documen.patch
+ 0055-misc-fix-man-doc-spelling-and-grammar-for-translatio.patch
+ 0058-library-reverting-tmpfs-subtraction-from-cached-18-F.patch
+ 0060-top-miscellaneous-accumulated-changes-to-man-documen.patch
+
+-------------------------------------------------------------------
Old:
----
0001-top-add-the-major-version-to-dlopen-of-libnuma-sonam.patch
0002-top-trade-two-groff_mdoc-macros-for-groff-equivalent.patch
0003-library-for-atexit-support-fix-fileutils-for-EPIPE.patch
0004-top-enable-screen-contents-preservation-at-end-of-jo.patch
0005-top-refine-some-miscellaneous-signals-interrupt-stuf.patch
0006-top-cursor-repositioning-includes-line-oriented-inpu.patch
0007-top-correct-improve-or-otherwise-tweak-some-comments.patch
0008-top-tweak-cursor-state-code-to-swat-an-obscure-bugle.patch
0009-top-correct-cursor-positioning-for-all-Z-or-C-cases.patch
0010-ps-address-a-potential-newline-quirk-the-libselinux.patch
0012-top-hint-that-Summary-Area-cached-is-Mem-not-Swap.patch
0013-top-modest-efficiency-change-to-message-line-handlin.patch
0014-top-correct-improve-and-otherwise-tweak-configs_read.patch
0015-top-swat-bug-affecting-batch-mode-and-width-provisio.patch
0018-top-restore-the-lost-final-newline-when-in-Batch-mod.patch
0019-top-swat-bug-impacting-idle-mode-user-filtering.patch
0021-top-address-some-potential-libnuma-display-corruptio.patch
0022-top-fix-miscellaneous-spelling-errors-in-man-documen.patch
0023-top-expand-on-column-highlight-quirks-in-man-documen.patch
0024-top-add-some-flexibility-to-dlopen-for-numa-support.patch
0025-top-minimize-the-statistics-overhead-for-numa-suppor.patch
0026-top-eliminate-yet-more-gcc-subscript-resolution-bloa.patch
0032-top-do-not-lie-about-purported-alphabetical-ordering.patch
0033-top-follow-usual-name-conventions-for-global-variabl.patch
procps-ng-3.3.8-libselinux.patch
procps-ng-3.3.8-shmem.patch
procps-ng-3.3.8-watch.patch
procps-ng-3.3.8.tar.xz
procps-v3.3.4-stealtime.patch
procps-v3.3.4-w-notruncate.diff
New:
----
0023-top-do-not-forget-the-fscanf-s-terminating-null-byte.patch
0024-sysctl-system-loads-default-config-file.patch
0025-Split-help-lines-to-help-translators.patch
0026-library-fixing-uninitialized-variable-pos-in-whattim.patch
0027-pgrep-Fixing-memory-leak-in-do_regcomp.patch
0028-sysctl-Fixing-memory-leaks-in-PreloadSystem.patch
0029-ps-ignore-SIGCONT.patch
0031-vmstat-wide-output-still-not-wide-enough.patch
0032-library-skip-replacement-of-trailing-0-in-read_unvec.patch
0033-kill-for-PID-1-restored.patch
0034-Check-for-presence-of-disks-in-vmstat.patch
0035-PID-2-to-9-for-kill-too.patch
0036-pgrep-fails-to-show-full-command-line-with-au.patch
0037-fail-on-null-string-for-arguments.patch
0038-Update-help-files.patch
0039-vmstat-Support-for-timestamps-with-t-fix-for-wd.patch
0040-watch-Don-t-leak-extra-fds-to-the-child.patch
0041-vmstat-Fixing-format-security-flaws.patch
0043-Added-get-trans-target-to-Makefile.patch
0045-library-properly-handle-memory-used-by-tmpfs.patch
0046-Minor-i18n-fixes.patch
0047-sysctl-increase-max-supported-line-length-of-the-con.patch
0049-fix-url-for-rsync.patch
0051-top-update-copyright-dates-plus-1-preprocessor-chang.patch
0052-top-refactor-man-document-so-as-to-allow-translation.patch
0053-top-minimize-the-usage-of-apostrophes-in-man-documen.patch
0054-top-swap-opening-quotes-for-back-tics-in-man-documen.patch
0055-misc-fix-man-doc-spelling-and-grammar-for-translatio.patch
0058-library-reverting-tmpfs-subtraction-from-cached-18-F.patch
0060-top-miscellaneous-accumulated-changes-to-man-documen.patch
procps-ng-3.3.9-w-notruncate.diff
procps-ng-3.3.9-watch.patch
procps-ng-3.3.9.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ procps.spec ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:02.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:02.000000000 +0200
@@ -17,7 +17,8 @@
%bcond_with bin2usr
-%define somajor 1
+%bcond_with pidof
+%define somajor 3
%define libname libprocps%{somajor}
Name: procps
@@ -31,11 +32,15 @@
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pkg-config
+%if 0%{?suse_version} > 1310
+BuildRequires: pkgconfig(libsystemd-login)
+%else
%if 0%{?suse_version} > 1230
-BuildRequires: pkgconfig(systemd)
+BuildRequires: pkgconfig(libsystemd)
+%endif
%endif
BuildRequires: xz
-Version: 3.3.8
+Version: 3.3.9
Release: 0
Provides: ps = %version-%release
Obsoletes: ps < %version-%release
@@ -45,14 +50,13 @@
Summary: The ps utilities for /proc
License: GPL-2.0+ and LGPL-2.1+
Group: System/Monitoring
-Source: http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3…
+Source: http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3…
Source1: procps-pmap-legacy.tar.bz2
Source2: boot.sysctl
Source3: systat.xinetd
-Patch0: procps-ng-3.3.8-watch.patch
+Patch0: procps-ng-3.3.9-watch.patch
Patch1: procps-v3.3.3-ia64.diff
-Patch2: procps-v3.3.4-stealtime.patch
-Patch3: procps-v3.3.4-w-notruncate.diff
+Patch3: procps-ng-3.3.9-w-notruncate.diff
Patch4: procps-v3.3.4-w-simply-work.diff
Patch5: procps-ng-3.3.8-top.1.diff
Patch6: procps-v3.3.3-buffersize.diff
@@ -71,64 +75,39 @@
Patch19: procps-v3.3.4-large_pcpu.patch
Patch20: procps-ng-3.3.8-tinfo.dif
Patch21: procps-v3.3.3-pwdx.patch
-# PATCH-FIX-UPSTREAM -- Let libproc support EPIPE in close_stream
-Patch22: 0003-library-for-atexit-support-fix-fileutils-for-EPIPE.patch
-# PATCH-FIX-UPSTREAM -- Add enable-libselinux switch
-Patch23: procps-ng-3.3.8-libselinux.patch
# PATCH-FIX-OPENSUSE -- trifle rest of the old terabyte patch
Patch28: procps-ng-3.3.8-vmstat-terabyte.dif
-# PATCH-FIX-UPSTREAM -- Show shared memory in 'free' again
-Patch29: procps-ng-3.3.8-shmem.patch
-# PATCH-FIX-UPSTREAM -- Add enable-libselinux switch
-Patch30: 0010-ps-address-a-potential-newline-quirk-the-libselinux.patch
# PATCH-FIX-SUSE -- Ignore scan_unevictable_pages in sysctl
Patch31: procps-ng-3.3.8-ignore-scan_unevictable_pages.patch
+Patch60: 0024-sysctl-system-loads-default-config-file.patch
+Patch61: 0025-Split-help-lines-to-help-translators.patch
+Patch62: 0026-library-fixing-uninitialized-variable-pos-in-whattim.patch
+Patch63: 0027-pgrep-Fixing-memory-leak-in-do_regcomp.patch
+Patch64: 0028-sysctl-Fixing-memory-leaks-in-PreloadSystem.patch
+Patch65: 0029-ps-ignore-SIGCONT.patch
+Patch66: 0031-vmstat-wide-output-still-not-wide-enough.patch
+Patch67: 0032-library-skip-replacement-of-trailing-0-in-read_unvec.patch
+Patch68: 0033-kill-for-PID-1-restored.patch
+Patch69: 0034-Check-for-presence-of-disks-in-vmstat.patch
+Patch70: 0035-PID-2-to-9-for-kill-too.patch
+Patch71: 0036-pgrep-fails-to-show-full-command-line-with-au.patch
+Patch72: 0037-fail-on-null-string-for-arguments.patch
+Patch73: 0038-Update-help-files.patch
+Patch74: 0039-vmstat-Support-for-timestamps-with-t-fix-for-wd.patch
+Patch75: 0040-watch-Don-t-leak-extra-fds-to-the-child.patch
+Patch76: 0041-vmstat-Fixing-format-security-flaws.patch
+Patch77: 0043-Added-get-trans-target-to-Makefile.patch
+Patch78: 0045-library-properly-handle-memory-used-by-tmpfs.patch
+Patch79: 0046-Minor-i18n-fixes.patch
+Patch80: 0047-sysctl-increase-max-supported-line-length-of-the-con.patch
+Patch81: 0049-fix-url-for-rsync.patch
+Patch82: 0055-misc-fix-man-doc-spelling-and-grammar-for-translatio.patch
+Patch83: 0058-library-reverting-tmpfs-subtraction-from-cached-18-F.patch
+
# Top patches
-# PATCH-FIX-UPSTREAM -- Add the major version to dlopen of libnuma
-Patch100: 0001-top-add-the-major-version-to-dlopen-of-libnuma-sonam.patch
-# PATCH-FIX-UPSTREAM -- Use common mdoc nroff macros
-Patch101: 0002-top-trade-two-groff_mdoc-macros-for-groff-equivalent.patch
-# PATCH-FIX-UPSTREAM -- Do not clear screen after end-of-job
-Patch102: 0004-top-enable-screen-contents-preservation-at-end-of-jo.patch
-# PATCH-FIX-UPSTREAM -- Suppress end-of-job report if top if not ended with 'q' key
-Patch103: 0005-top-refine-some-miscellaneous-signals-interrupt-stuf.patch
-# PATCH-FIX-UPSTREAM -- Cursor repositioning includes line oriented input
-Patch104: 0006-top-cursor-repositioning-includes-line-oriented-inpu.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch105: 0007-top-correct-improve-or-otherwise-tweak-some-comments.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch106: 0008-top-tweak-cursor-state-code-to-swat-an-obscure-bugle.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch107: 0009-top-correct-cursor-positioning-for-all-Z-or-C-cases.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch108: 0012-top-hint-that-Summary-Area-cached-is-Mem-not-Swap.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch109: 0013-top-modest-efficiency-change-to-message-line-handlin.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch110: 0014-top-correct-improve-and-otherwise-tweak-configs_read.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch111: 0015-top-swat-bug-affecting-batch-mode-and-width-provisio.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch112: 0018-top-restore-the-lost-final-newline-when-in-Batch-mod.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch113: 0019-top-swat-bug-impacting-idle-mode-user-filtering.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch114: 0021-top-address-some-potential-libnuma-display-corruptio.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch115: 0022-top-fix-miscellaneous-spelling-errors-in-man-documen.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch116: 0023-top-expand-on-column-highlight-quirks-in-man-documen.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch117: 0024-top-add-some-flexibility-to-dlopen-for-numa-support.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch118: 0025-top-minimize-the-statistics-overhead-for-numa-suppor.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch119: 0026-top-eliminate-yet-more-gcc-subscript-resolution-bloa.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch120: 0032-top-do-not-lie-about-purported-alphabetical-ordering.patch
-# PATCH-FIX-UPSTREAM added at 2014/05/15
-Patch121: 0033-top-follow-usual-name-conventions-for-global-variabl.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch121: 0023-top-do-not-forget-the-fscanf-s-terminating-null-byte.patch
# PATCH-FIX-UPSTREAM added at 2014/05/15
Patch122: 0035-top-provide-for-discontinuous-not-active-NUMA-nodes.patch
# PATCH-FIX-UPSTREAM added at 2014/05/15
@@ -143,6 +122,17 @@
Patch127: 0045-top-standardize-Esc-key-support-with-prompted-input.patch
# PATCH-FIX-UPSTREAM added at 2014/05/15
Patch128: 0046-top-miscellaneous-accumulated-changes-to-program-cod.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch129: 0051-top-update-copyright-dates-plus-1-preprocessor-chang.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch130: 0052-top-refactor-man-document-so-as-to-allow-translation.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch131: 0053-top-minimize-the-usage-of-apostrophes-in-man-documen.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch132: 0054-top-swap-opening-quotes-for-back-tics-in-man-documen.patch
+# PATCH-FIX-UPSTREAM added at 2014/05/16
+Patch133: 0060-top-miscellaneous-accumulated-changes-to-man-documen.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -188,7 +178,6 @@
%setup -q -n %{name}-ng-%{version}
%patch0
%patch1
-%patch2
%patch3
%patch4
%patch5
@@ -208,34 +197,33 @@
%patch19
%patch20
%patch21
-%patch22
-%patch23 -p1
%patch28
-%patch29 -p1
-%patch30
%patch31 -p1
+%patch60
+%patch61
+%patch62
+%patch63
+%patch64
+%patch65
+%patch66
+%patch67
+%patch68
+%patch69
+%patch70
+%patch71
+%patch72
+%patch73
+%patch74
+%patch75
+%patch76
+%patch77
+%patch78
+%patch79
+%patch80
+%patch81
+%patch82
+%patch83 -b .xyz
# Patches for top
-%patch100
-%patch101
-%patch102
-%patch103
-%patch104
-%patch105
-%patch106
-%patch107
-%patch108
-%patch109
-%patch110
-%patch111
-%patch112
-%patch113
-%patch114
-%patch115
-%patch116
-%patch117
-%patch118
-%patch119
-%patch120
%patch121
%patch122
%patch123
@@ -244,6 +232,11 @@
%patch126
%patch127
%patch128
+%patch129
+%patch130
+%patch131
+%patch132
+%patch133
%build
tar --strip-components=1 -xf %{S:1}
@@ -259,6 +252,9 @@
--disable-nls \
--disable-rpath \
--disable-kill \
+%if !%{with pidof}
+ --disable-pidof \
+%endif
--enable-watch8bit \
--enable-shared \
--enable-skill \
@@ -364,6 +360,9 @@
%verify(link) %{_sbindir}/sysctl
%endif
%{_bindir}/free
+%if %{with pidof}
+%{_bindir}/pidof
+%endif
%{_bindir}/pmap
%{_bindir}/pwdx
%{_bindir}/skill
@@ -376,6 +375,9 @@
%{_bindir}/watch
%_mandir/man1/free.1.gz
%_mandir/man1/pgrep.1.gz
+%if %{with pidof}
+%_mandir/man1/pidof.1.gz
+%endif
%_mandir/man1/pkill.1.gz
%_mandir/man1/pmap.1.gz
%_mandir/man1/ps.1.gz
++++++ 0023-top-do-not-forget-the-fscanf-s-terminating-null-byte.patch ++++++
>From 14ef47af57f48d1e51ab91e80fd8f132fabb665a Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Tue, 3 Dec 2013 15:00:00 -0600
Subject: [PATCH] top: do not forget the fscanf %s terminating null byte
Reference(s):
http://www.freelists.org/post/procps/procpsng-339-defects-found
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
top/top.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git top/top.c top/top.c
index 4d1d912..bb15d01 100644
--- top/top.c
+++ top/top.c
@@ -3445,8 +3445,8 @@ static void configs_read (void) {
WIN_t *w = &Winstk[i];
p = fmtmk(N_fmt(RC_bad_entry_fmt), i+1, Rc_name);
- // note: "fieldscur=%__s" on next line should equal PFLAGSSIZ !
- if (2 != fscanf(fp, "%3s\tfieldscur=%80s\n"
+ // note: "fieldscur=%__s" on next line should equal (PFLAGSSIZ -1) !
+ if (2 != fscanf(fp, "%3s\tfieldscur=%79s\n"
, w->rc.winname, w->rc.fieldscur))
goto default_or_error;
#if PFLAGSSIZ > 80
--
1.7.9.2
++++++ 0024-sysctl-system-loads-default-config-file.patch ++++++
>From 7f6efed9bb85d1e212e06985ea3e06720f6ca949 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Fri, 27 Dec 2013 23:08:14 +1100
Subject: [PATCH] sysctl --system loads default config file
Commit cdca71e94506fbb921ab2c626be3ad05c4287498 fixed
the loading the sysctl.conf file, but had the logic
for checking the file exists reversed incorrectly.
---
NEWS | 4 ++++
sysctl.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git NEWS NEWS
index 287f867..1c710a3 100644
--- NEWS
+++ NEWS
@@ -1,3 +1,7 @@
+procps-ng-3.3.10
+----------------
+ * sysctl --system loads default config file - Debian #732920
+
procps-ng-3.3.9
---------------
* kernel namespaces support added to skill, pgrep, ps and top
diff --git sysctl.c sysctl.c
index bb3e6b7..33c9403 100644
--- sysctl.c
+++ sysctl.c
@@ -640,7 +640,7 @@ static int PreloadSystem(void)
}
- if (stat(DEFAULT_PRELOAD, &ts) < 0 && S_ISREG(ts.st_mode)) {
+ if (stat(DEFAULT_PRELOAD, &ts) < 0 || S_ISREG(ts.st_mode)) {
if (!Quiet)
printf(_("* Applying %s ...\n"), DEFAULT_PRELOAD);
rc |= Preload(DEFAULT_PRELOAD);
--
1.7.9.2
++++++ 0025-Split-help-lines-to-help-translators.patch ++++++
>From 8a38cd5eb449c47450e31aa093635e8cfaaf2f73 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Sat, 28 Dec 2013 09:25:39 +1100
Subject: [PATCH] Split help lines to help translators
To assist translators, the help lines are split so that each translation
chunk has one option. This gives bonus of if we add or change an option,
only that option remains untranslated rather than the entire help block.
Reference:
http://www.freelists.org/post/procps/procpsng-for-Translation-Project,1
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
pidof.c | 8 ++--
pmap.c | 26 ++++++------
ps/help.c | 131 +++++++++++++++++++++++++++++--------------------------------
skill.c | 42 ++++++++++----------
slabtop.c | 28 ++++++-------
watch.c | 20 +++++-----
6 files changed, 125 insertions(+), 130 deletions(-)
diff --git pidof.c pidof.c
index 2e0911d..6a38675 100644
--- pidof.c
+++ pidof.c
@@ -60,10 +60,10 @@ static int __attribute__ ((__noreturn__)) usage(int opt)
fputs(USAGE_HEADER, fp);
fprintf(fp, _(" %s [options] [program [...]]\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, fp);
- fputs(_(" -s, --single-shot return one PID only\n"
- " -c, --check-root omit processes with different root\n"
- " -x scripts too\n"
- " -o, --omit-pid <PID,...> omit processes with PID\n"), fp);
+ fputs(_(" -s, --single-shot return one PID only\n"), fp);
+ fputs(_(" -c, --check-root omit processes with different root\n"), fp);
+ fputs(_(" -x scripts too\n"), fp);
+ fputs(_(" -o, --omit-pid <PID,...> omit processes with PID\n"), fp);
fputs(USAGE_SEPARATOR, fp);
fputs(USAGE_HELP, fp);
fputs(USAGE_VERSION, fp);
diff --git pmap.c pmap.c
index 8f111a0..4ecabce 100644
--- pmap.c
+++ pmap.c
@@ -108,19 +108,19 @@ usage(FILE * out)
fprintf(out,
_(" %s [options] pid [pid ...]\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, out);
- fputs(_(" -x, --extended show details\n"
- " -X show even more details\n"
- " WARNING: format changes according to /proc/PID/smaps\n"
- " -XX show everything the kernel provides\n"
- " -c, --read-rc read the default rc\n"
- " -C, --read-rc-from=<file> read the rc from file\n"
- " -n, --create-rc create new default rc\n"
- " -N, --create-rc-to=<file> create new rc to file\n"
- " NOTE: pid arguments are not allowed with -n, -N\n"
- " -d, --device show the device format\n"
- " -q, --quiet do not display header and footer\n"
- " -p, --show-path show path in the mapping\n"
- " -A, --range=<low>[,<high>] limit results to the given range\n"), out);
+ fputs(_(" -x, --extended show details\n"), out);
+ fputs(_(" -X show even more details\n"), out);
+ fputs(_(" WARNING: format changes according to /proc/PID/smaps\n"), out);
+ fputs(_(" -XX show everything the kernel provides\n"), out);
+ fputs(_(" -c, --read-rc read the default rc\n"), out);
+ fputs(_(" -C, --read-rc-from=<file> read the rc from file\n"), out);
+ fputs(_(" -n, --create-rc create new default rc\n"), out);
+ fputs(_(" -N, --create-rc-to=<file> create new rc to file\n"), out);
+ fputs(_(" NOTE: pid arguments are not allowed with -n, -N\n"), out);
+ fputs(_(" -d, --device show the device format\n"), out);
+ fputs(_(" -q, --quiet do not display header and footer\n"), out);
+ fputs(_(" -p, --show-path show path in the mapping\n"), out);
+ fputs(_(" -A, --range=<low>[,<high>] limit results to the given range\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
diff --git ps/help.c ps/help.c
index b536f1a..9133903 100644
--- ps/help.c
+++ ps/help.c
@@ -96,85 +96,80 @@ void do_help (const char *opt, int rc) {
" %s [options]\n"), myname);
if (section == HELP_SMP || section == HELP_ALL) {
- fprintf(out, _("\n"
- "Basic options:\n"
- " -A, -e all processes\n"
- " -a all with tty, except session leaders\n"
- " a all with tty, including other users\n"
- " -d all except session leaders\n"
- " -N, --deselect negate selection\n"
- " r only running processes\n"
- " T all processes on this terminal\n"
- " x processes without controlling ttys\n"));
+ fputs(_("\nBasic options:\n"), out);
+ fputs(_(" -A, -e all processes\n"), out);
+ fputs(_(" -a all with tty, except session leaders\n"), out);
+ fputs(_(" a all with tty, including other users\n"), out);
+ fputs(_(" -d all except session leaders\n"), out);
+ fputs(_(" -N, --deselect negate selection\n"), out);
+ fputs(_(" r only running processes\n"), out);
+ fputs(_(" T all processes on this terminal\n"), out);
+ fputs(_(" x processes without controlling ttys\n"), out);
}
if (section == HELP_LST || section == HELP_ALL) {
- fprintf(out, _("\n"
- "Selection by list:\n"
- " -C <command> command name\n"
- " -G, --Group <gid> real group id or name\n"
- " -g, --group <group> session or effective group name\n"
- " -p, --pid <pid> process id\n"
- " --ppid <pid> select by parent process id\n"
- " -s, --sid <session> session id\n"
- " -t, t, --tty <tty> terminal\n"
- " -u, U, --user <uid> effective user id or name\n"
- " -U, --User <uid> real user id or name\n"
- "\n"
+ fputs(_("\nSelection by list:\n"), out);
+ fputs(_(" -C <command> command name\n"), out);
+ fputs(_(" -G, --Group <gid> real group id or name\n"), out);
+ fputs(_(" -g, --group <group> session or effective group name\n"), out);
+ fputs(_(" -p, --pid <pid> process id\n"), out);
+ fputs(_(" --ppid <pid> select by parent process id\n"), out);
+ fputs(_(" -s, --sid <session> session id\n"), out);
+ fputs(_(" -t, t, --tty <tty> terminal\n"), out);
+ fputs(_(" -u, U, --user <uid> effective user id or name\n"), out);
+ fputs(_(" -U, --User <uid> real user id or name\n"), out);
+ fputs(_("\n"
" selection <arguments> take either:\n"
" comma-separated list e.g. '-u root,nobody' or\n"
- " blank-separated list e.g. '-p 123 4567'\n"));
+ " blank-separated list e.g. '-p 123 4567'\n"), out);
}
if (section == HELP_OUT || section == HELP_ALL) {
- fprintf(out, _("\n"
- "Output formats:\n"
- " -F extra full\n"
- " -f full-format, including command lines\n"
- " f, --forest ascii art process tree\n"
- " -H show process hierarchy\n"
- " -j jobs format\n"
- " j BSD job control format\n"
- " -l long format\n"
- " l BSD long format\n"
- " -M, Z add security data (for SELinux)\n"
- " -O <format> preloaded with default columns\n"
- " O <format> as -O, with BSD personality\n"
- " -o, o, --format <format>\n"
- " user defined format\n"
- " s signal format\n"
- " u user-oriented format\n"
- " v virtual memory format\n"
- " X register format\n"
- " -y do not show flags, show rrs vs. addr (used with -l)\n"
- " --context display security context (for SELinux)\n"
- " --headers repeat header lines, one per page\n"
- " --no-headers do not print header at all\n"
- " --cols, --columns, --width <num>\n"
- " set screen width\n"
- " --rows, --lines <num>\n"
- " set screen height\n"));
+ fputs(_("\nOutput formats:\n"), out);
+ fputs(_(" -F extra full\n"), out);
+ fputs(_(" -f full-format, including command lines\n"), out);
+ fputs(_(" f, --forest ascii art process tree\n"), out);
+ fputs(_(" -H show process hierarchy\n"), out);
+ fputs(_(" -j jobs format\n"), out);
+ fputs(_(" j BSD job control format\n"), out);
+ fputs(_(" -l long format\n"), out);
+ fputs(_(" l BSD long format\n"), out);
+ fputs(_(" -M, Z add security data (for SELinux)\n"), out);
+ fputs(_(" -O <format> preloaded with default columns\n"), out);
+ fputs(_(" O <format> as -O, with BSD personality\n"), out);
+ fputs(_(" -o, o, --format <format>\n"
+ " user defined format\n"), out);
+ fputs(_(" s signal format\n"), out);
+ fputs(_(" u user-oriented format\n"), out);
+ fputs(_(" v virtual memory format\n"), out);
+ fputs(_(" X register format\n"), out);
+ fputs(_(" -y do not show flags, show rrs vs. addr (used with -l)\n"), out);
+ fputs(_(" --context display security context (for SELinux)\n"), out);
+ fputs(_(" --headers repeat header lines, one per page\n"), out);
+ fputs(_(" --no-headers do not print header at all\n"), out);
+ fputs(_(" --cols, --columns, --width <num>\n"
+ " set screen width\n"), out);
+ fputs(_(" --rows, --lines <num>\n"
+ " set screen height\n"), out);
}
if (section == HELP_THD || section == HELP_ALL) {
- fprintf(out, _("\n"
- "Show threads:\n"
- " H as if they where processes\n"
- " -L possibly with LWP and NLWP columns\n"
- " -m, m after processes\n"
- " -T possibly with SPID column\n"));
+ fputs(_("\nShow threads:\n"), out);
+ fputs(_(" H as if they where processes\n"), out);
+ fputs(_(" -L possibly with LWP and NLWP columns\n"), out);
+ fputs(_(" -m, m after processes\n"), out);
+ fputs(_(" -T possibly with SPID column\n"), out);
}
if (section == HELP_MSC || section == HELP_ALL) {
+ fputs(_("\nMiscellaneous options:\n"), out);
+ fputs(_(" -c show scheduling class with -l option\n"), out);
+ fputs(_(" c show true command name\n"), out);
+ fputs(_(" e show the environment after command\n"), out);
+ fputs(_(" k, --sort specify sort order as: [+|-]key[,[+|-]key[,...]]\n"), out);
+ fputs(_(" L list format specifiers\n"), out);
+ fputs(_(" n display numeric uid and wchan\n"), out);
+ fputs(_(" S, --cumulative include some dead child process data\n"), out);
+ fputs(_(" -y do not show flags, show rss (only with -l)\n"), out);
+ fputs(_(" -V, V, --version display version information and exit\n"), out);
+ fputs(_(" -w, w unlimited output width\n"), out);
fprintf(out, _("\n"
- "Miscellaneous options:\n"
- " -c show scheduling class with -l option\n"
- " c show true command name\n"
- " e show the environment after command\n"
- " k, --sort specify sort order as: [+|-]key[,[+|-]key[,...]]\n"
- " L list format specifiers\n"
- " n display numeric uid and wchan\n"
- " S, --cumulative include some dead child process data\n"
- " -y do not show flags, show rss (only with -l)\n"
- " -V, V, --version display version information and exit\n"
- " -w, w unlimited output width\n"
- "\n"
" --%s <%s|%s|%s|%s|%s|%s>\n"
" display help and exit\n")
, the_word_help
diff --git skill.c skill.c
index 01b29cb..5c8192a 100644
--- skill.c
+++ skill.c
@@ -324,11 +324,11 @@ static void __attribute__ ((__noreturn__)) kill_usage(FILE * out)
fprintf(out,
_(" %s [options] <pid> [...]\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, out);
- fputs(_(" <pid> [...] send signal to every <pid> listed\n"
- " -<signal>, -s, --signal <signal>\n"
- " specify the <signal> to be sent\n"
- " -l, --list=[<signal>] list all signal names, or convert one to a name\n"
- " -L, --table list all signal names in a nice table\n"), out);
+ fputs(_(" <pid> [...] send signal to every <pid> listed\n"), out);
+ fputs(_(" -<signal>, -s, --signal <signal>\n"
+ " specify the <signal> to be sent\n"), out);
+ fputs(_(" -l, --list=[<signal>] list all signal names, or convert one to a name\n"), out);
+ fputs(_(" -L, --table list all signal names in a nice table\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
@@ -351,25 +351,25 @@ static void __attribute__ ((__noreturn__)) skillsnice_usage(FILE * out)
program_invocation_short_name);
}
fputs(USAGE_OPTIONS, out);
- fputs(_(" -f, --fast fast mode (not implemented)\n"
- " -i, --interactive interactive\n"
- " -l, --list list all signal names\n"
- " -L, --table list all signal names in a nice table\n"
- " -n, --no-action no action\n"
- " -v, --verbose explain what is being done\n"
- " -w, --warnings enable warnings (not implemented)\n"), out);
+ fputs(_(" -f, --fast fast mode (not implemented)\n"), out);
+ fputs(_(" -i, --interactive interactive\n"), out);
+ fputs(_(" -l, --list list all signal names\n"), out);
+ fputs(_(" -L, --table list all signal names in a nice table\n"), out);
+ fputs(_(" -n, --no-action no action\n"), out);
+ fputs(_(" -v, --verbose explain what is being done\n"), out);
+ fputs(_(" -w, --warnings enable warnings (not implemented)\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(_("Expression can be: terminal, user, pid, command.\n"
- "The options below may be used to ensure correct interpretation.\n"
- " -c, --command <command> expression is a command name\n"
- " -p, --pid <pid> expression is a process id number\n"
- " -t, --tty <tty> expression is a terminal\n"
- " -u, --user <username> expression is a username\n"), out);
+ "The options below may be used to ensure correct interpretation.\n"), out);
+ fputs(_(" -c, --command <command> expression is a command name\n"), out);
+ fputs(_(" -p, --pid <pid> expression is a process id number\n"), out);
+ fputs(_(" -t, --tty <tty> expression is a terminal\n"), out);
+ fputs(_(" -u, --user <username> expression is a username\n"), out);
fputs(USAGE_SEPARATOR, out);
- fputs(_("Alternatively, expression can be:\n"
- " --ns <pid> match the processes that belong to the same\n"
- " namespace as <pid>\n"
- " --nslist <ns,...> list which namespaces will be considered for\n"
+ fputs(_("Alternatively, expression can be:\n"), out);
+ fputs(_(" --ns <pid> match the processes that belong to the same\n"
+ " namespace as <pid>\n"), out);
+ fputs(_(" --nslist <ns,...> list which namespaces will be considered for\n"
" the --ns option.\n"
" Available namespaces: ipc, mnt, net, pid, user, uts\n"), out);
diff --git slabtop.c slabtop.c
index dc89c4d..c135ec5 100644
--- slabtop.c
+++ slabtop.c
@@ -188,24 +188,24 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fputs(USAGE_HEADER, out);
fprintf(out, _(" %s [options]\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, out);
- fputs(_(" -d, --delay <secs> delay updates\n"
- " -o, --once only display once, then exit\n"
- " -s, --sort <char> specify sort criteria by character (see below)\n"), out);
+ fputs(_(" -d, --delay <secs> delay updates\n"), out);
+ fputs(_(" -o, --once only display once, then exit\n"), out);
+ fputs(_(" -s, --sort <char> specify sort criteria by character (see below)\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
- fputs(_("\nThe following are valid sort criteria:\n"
- " a: sort by number of active objects\n"
- " b: sort by objects per slab\n"
- " c: sort by cache size\n"
- " l: sort by number of slabs\n"
- " v: sort by number of active slabs\n"
- " n: sort by name\n"
- " o: sort by number of objects (the default)\n"
- " p: sort by pages per slab\n"
- " s: sort by object size\n"
- " u: sort by cache utilization\n"), out);
+ fputs(_("\nThe following are valid sort criteria:\n"), out);
+ fputs(_(" a: sort by number of active objects\n"), out);
+ fputs(_(" b: sort by objects per slab\n"), out);
+ fputs(_(" c: sort by cache size\n"), out);
+ fputs(_(" l: sort by number of slabs\n"), out);
+ fputs(_(" v: sort by number of active slabs\n"), out);
+ fputs(_(" n: sort by name\n"), out);
+ fputs(_(" o: sort by number of objects (the default)\n"), out);
+ fputs(_(" p: sort by pages per slab\n"), out);
+ fputs(_(" s: sort by object size\n"), out);
+ fputs(_(" u: sort by cache utilization\n"), out);
fprintf(out, USAGE_MAN_TAIL("slabtop(1)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
diff --git watch.c watch.c
index 436d213..032dfb7 100644
--- watch.c
+++ watch.c
@@ -88,16 +88,16 @@ static void __attribute__ ((__noreturn__))
fprintf(out,
_(" %s [options] command\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, out);
- fputs(_(" -b, --beep beep if command has a non-zero exit\n"
- " -c, --color interpret ANSI color sequences\n"
- " -d, --differences[=<permanent>]\n"
- " highlight changes between updates\n"
- " -e, --errexit exit if command has a non-zero exit\n"
- " -g, --chgexit exit when output from command changes\n"
- " -n, --interval <secs> seconds to wait between updates\n"
- " -p, --precise attempt run command in precise intervals\n"
- " -t, --no-title turn off header\n"
- " -x, --exec pass command to exec instead of \"sh -c\"\n"), out);
+ fputs(_(" -b, --beep beep if command has a non-zero exit\n"), out);
+ fputs(_(" -c, --color interpret ANSI color sequences\n"), out);
+ fputs(_(" -d, --differences[=<permanent>]\n"
+ " highlight changes between updates\n"), out);
+ fputs(_(" -e, --errexit exit if command has a non-zero exit\n"), out);
+ fputs(_(" -g, --chgexit exit when output from command changes\n"), out);
+ fputs(_(" -n, --interval <secs> seconds to wait between updates\n"), out);
+ fputs(_(" -p, --precise attempt run command in precise intervals\n"), out);
+ fputs(_(" -t, --no-title turn off header\n"), out);
+ fputs(_(" -x, --exec pass command to exec instead of \"sh -c\"\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(_(" -v, --version output version information and exit\n"), out);
--
1.7.9.2
++++++ 0026-library-fixing-uninitialized-variable-pos-in-whattim.patch ++++++
>From 38cbeedeb7dc94c95482343e547addc1748344b0 Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Thu, 2 Jan 2014 18:21:31 +0100
Subject: [PATCH] library: fixing uninitialized variable 'pos' in whattime.c
---
proc/whattime.c | 2 ++
1 file changed, 2 insertions(+)
diff --git proc/whattime.c proc/whattime.c
index 9d6abb3..eb345fb 100644
--- proc/whattime.c
+++ proc/whattime.c
@@ -58,6 +58,8 @@ char *sprint_uptime(int human_readable) {
realtime = localtime(&realseconds);
pos = sprintf(buf, " %02d:%02d:%02d ",
realtime->tm_hour, realtime->tm_min, realtime->tm_sec);
+ } else {
+ pos = 0;
}
/* read and calculate the amount of uptime */
--
1.7.9.2
++++++ 0027-pgrep-Fixing-memory-leak-in-do_regcomp.patch ++++++
>From 69de8db3e27b63fdcd8e3dce4d63e725d80bf05b Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Thu, 2 Jan 2014 18:39:27 +0100
Subject: [PATCH] pgrep: Fixing memory leak in do_regcomp()
---
pgrep.c | 3 +++
1 file changed, 3 insertions(+)
diff --git pgrep.c pgrep.c
index 6290ec5..93a7c89 100644
--- pgrep.c
+++ pgrep.c
@@ -460,6 +460,9 @@ static regex_t * do_regcomp (void)
}
re_err = regcomp (preg, re, REG_EXTENDED | REG_NOSUB | opt_case);
+
+ if (opt_exact) free(re);
+
if (re_err) {
regerror (re_err, preg, errbuf, sizeof(errbuf));
fputs(errbuf,stderr);
--
1.7.9.2
++++++ 0028-sysctl-Fixing-memory-leaks-in-PreloadSystem.patch ++++++
>From 8622b582da06fb93a8f06d302215269835fca9a9 Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Thu, 2 Jan 2014 19:49:36 +0100
Subject: [PATCH] sysctl: Fixing memory leaks in PreloadSystem()
---
sysctl.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git sysctl.c sysctl.c
index 33c9403..51af15d 100644
--- sysctl.c
+++ sysctl.c
@@ -645,6 +645,13 @@ static int PreloadSystem(void)
printf(_("* Applying %s ...\n"), DEFAULT_PRELOAD);
rc |= Preload(DEFAULT_PRELOAD);
}
+
+ /* cleaning */
+ for (i = 0; i < ncfgs; ++i) {
+ free(cfgs[i]);
+ }
+ if (cfgs) free(cfgs);
+
return rc;
}
--
1.7.9.2
++++++ 0029-ps-ignore-SIGCONT.patch ++++++
>From d06aaaaf2bd8f3b5f0235e75f4f04c0ad69c7d6d Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Tue, 14 Jan 2014 22:23:58 +1100
Subject: [PATCH] ps: ignore SIGCONT
SIGCONT is a continue signal. It seems that some zsh setups can send
this signal, causing ps to abort. This is not what "continue" means.
This change just uses the default handler which will continue a stopped
process.
References:
http://bugs.debian.org/732410
http://www.zsh.org/cgi-bin/mla/redirect?WORKERNUMBER=32251
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
NEWS | 1 +
ps/display.c | 1 +
2 files changed, 2 insertions(+)
diff --git NEWS NEWS
index 1c710a3..a2afaa3 100644
--- NEWS
+++ NEWS
@@ -1,6 +1,7 @@
procps-ng-3.3.10
----------------
* sysctl --system loads default config file - Debian #732920
+ * ps doesn't exit on SIGCONT
procps-ng-3.3.9
---------------
diff --git ps/display.c ps/display.c
index c20285d..693154b 100644
--- ps/display.c
+++ ps/display.c
@@ -563,6 +563,7 @@ int main(int argc, char *argv[]){
default:
sigaction(i,&sa,NULL);
case 0:
+ case SIGCONT:
case SIGINT: /* ^C */
case SIGTSTP: /* ^Z */
case SIGTTOU: /* see stty(1) man page */
--
1.7.9.2
++++++ 0031-vmstat-wide-output-still-not-wide-enough.patch ++++++
>From 1baf31be9bbfd6fb82629176e595d2d2cef85ef3 Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Mon, 20 Jan 2014 19:59:39 +0100
Subject: [PATCH] vmstat: wide output still not wide enough?
8 digits per memory column is apparently still too low
for systems with 128TB of RAM. Anyway, setting the limit
to 999TB (12 digits) must be sufficient for now as it
produces wide gaps on "regular" computers.
This commit also increases the number of digits per cpu
columns from 2 to 3 as some of them can hit the 100%
maximum in corner cases.
---
vmstat.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git vmstat.c vmstat.c
index 67515c1..c01351d 100644
--- vmstat.c
+++ vmstat.c
@@ -187,12 +187,12 @@ static void new_header(void)
const char header[] =
"procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n";
const char wide_header[] =
- "procs ---------------memory-------------- ---swap-- -----io---- -system-- ------cpu-----\n";
+ "procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------\n";
const char format[] =
"%2s %2s %6s %6s %6s %6s %4s %4s %5s %5s %4s %4s %2s %2s %2s %2s %2s\n";
const char wide_format[] =
- "%2s %2s %8s %8s %8s %8s %4s %4s %5s %5s %4s %4s %2s %2s %2s %2s %2s\n";
+ "%2s %2s %12s %12s %12s %12s %4s %4s %5s %5s %4s %4s %3s %3s %3s %3s %3s\n";
printf(w_option ? _(wide_header) : _(header));
printf(
@@ -249,7 +249,7 @@ static void new_format(void)
const char format[] =
"%2u %2u %6lu %6lu %6lu %6lu %4u %4u %5u %5u %4u %4u %2u %2u %2u %2u %2u\n";
const char wide_format[] =
- "%2u %2u %8lu %8lu %8lu %8lu %4u %4u %5u %5u %4u %4u %2u %2u %2u %2u %2u\n";
+ "%2u %2u %12lu %12lu %12lu %12lu %4u %4u %5u %5u %4u %4u %3u %3u %3u %3u %3u\n";
unsigned int tog = 0; /* toggle switch for cleaner code */
unsigned int i;
--
1.7.9.2
++++++ 0032-library-skip-replacement-of-trailing-0-in-read_unvec.patch ++++++
>From ae9676a337e38526b994d189444f3fd02ab800ad Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Fri, 24 Jan 2014 18:07:34 +0100
Subject: [PATCH] library: skip replacement of trailing '\0' in
read_unvectored()
Under some circumstances the ksh shell doesn't fork new processes
when executing scripts and the script is interpreted by the
parent process. That makes the execution faster, but it means
ksh needs to reuse the /proc/PID/cmdline for the new script name
and arguments while the file length needs to stay untouched.
The fork is skipped only when the new cmdline is shorter than
the parent's cmdline and the rest of the file is filled
with '\0'. This is perfectly ok until we try to read the cmdline
of such process. As the read_unvectored() function replaces
all zeros with chosen separator, these trailing zeros are replaced
with spaces in case of the ps tool. Consequently it appends
multiple spaces at the end of the arguments string even when these
zeros do not represent any separators and therefore shouldn't
be replaced.
With this commit the read_unvectored() function skips the
replacement of trailing zeros and separates valid content only.
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1057600
---
proc/readproc.c | 1 +
1 file changed, 1 insertion(+)
diff --git proc/readproc.c proc/readproc.c
index 286e173..46dfa10 100644
--- proc/readproc.c
+++ proc/readproc.c
@@ -686,6 +686,7 @@ static int read_unvectored(char *restrict const dst, unsigned sz, const char* wh
close(fd);
if(n){
int i=n;
+ while(i && dst[i-1]=='\0') --i; // skip trailing zeroes
while(i--)
if(dst[i]=='\n' || dst[i]=='\0') dst[i]=sep;
if(dst[n-1]==' ') dst[n-1]='\0';
--
1.7.9.2
++++++ 0033-kill-for-PID-1-restored.patch ++++++
>From 4359cf069819d9fb53493933e00d9af5c37bced5 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Tue, 28 Jan 2014 22:35:26 +1100
Subject: [PATCH] kill for PID -1 restored
Both the man page and the shell builtin kill mention you can
use PID -1, which means nuke everything you can get at.
Alas this "fun" option was missing and the only way to get
around it was with "kill -HUP -- -1".
This small change means kill -HUP -1 is back for all those
destructive types. The error was introduced when the argument
parser was fixed for other problems.
Thanks to Mike for pointing this out.
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
skill.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git skill.c skill.c
index 5c8192a..1c99985 100644
--- skill.c
+++ skill.c
@@ -477,6 +477,12 @@ static void __attribute__ ((__noreturn__))
display_kill_version();
exit(EXIT_SUCCESS);
case '?':
+ /* Special case is -1 which means all except init */
+ if (optopt == '1') {
+ if (kill(-1, signo) != 0)
+ exitvalue = EXIT_FAILURE;
+ exit(exitvalue);
+ }
if (!isdigit(optopt)) {
xwarnx(_("invalid argument %c"), optopt);
kill_usage(stderr);
--
1.7.9.2
++++++ 0034-Check-for-presence-of-disks-in-vmstat.patch ++++++
>From 5a34ff0a99a3c5e7ba4f7982d5de3d0dcc9e3045 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Wed, 29 Jan 2014 22:22:11 +1100
Subject: [PATCH] Check for presence of disks in vmstat
vmstat -d or vmstat -p would crash mysteriously under different
circumstances. The problem was eventually tracked down to /sys not
being mounted which meant is_disk() always returned false.
The partition would then be attempted to be linked to a non-existent
disk causing a segfault.
vmstat will now not link to a disk if none exists.
The change in testing will skip those tests when /sys/block doesn't
exist.
Many thanks to Daniel Schepler for his analysis and suggestions.
Bug-Debian: http://bugs.debian.org/736628
---
proc/sysinfo.c | 7 +++++--
testsuite/vmstat.test/vmstat.exp | 22 +++++++++++++++-------
2 files changed, 20 insertions(+), 9 deletions(-)
diff --git proc/sysinfo.c proc/sysinfo.c
index f318376..1680cc4 100644
--- proc/sysinfo.c
+++ proc/sysinfo.c
@@ -938,8 +938,11 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
&(*partitions)[cPartition].writes,
&(*partitions)[cPartition].requested_writes
);
- (*partitions)[cPartition++].parent_disk = cDisk-1;
- (*disks)[cDisk-1].partitions++;
+
+ if (cDisk > 0) {
+ (*partitions)[cPartition++].parent_disk = cDisk-1;
+ (*disks)[cDisk-1].partitions++;
+ }
}
}
diff --git testsuite/vmstat.test/vmstat.exp testsuite/vmstat.test/vmstat.exp
index fb5de14..f470afc 100644
--- testsuite/vmstat.test/vmstat.exp
+++ testsuite/vmstat.test/vmstat.exp
@@ -26,15 +26,23 @@ expect_pass "$test" "^Cache\\s+Num\\s+Total\\s+Size\\s+Pages\\s+\(\[\(\)A-Za-z0-
}
set test "vmstat disk information (-d option)"
-spawn $vmstat -d
-expect_pass "$test" "^disk\[ -\]+reads\[ -\]+writes\[ -\]+IO\[ -\]+\\s+total\\s+merged\\s+sectors\\s+ms\\s+total\\s+merged\\s+sectors\\s+ms\\s+cur\\s+sec\\s+"
+if { [ file readable "/sys/block" ] == 0 } {
+ unsupported "$test /sys/block not readable"
+} else {
+ spawn $vmstat -d
+ expect_pass "$test" "^disk\[ -\]+reads\[ -\]+writes\[ -\]+IO\[ -\]+\\s+total\\s+merged\\s+sectors\\s+ms\\s+total\\s+merged\\s+sectors\\s+ms\\s+cur\\s+sec\\s+"
+}
# Need a partition
set diskstats [ exec cat /proc/diskstats ]
-if [ regexp "\\s+\\d+\\s+\\d+\\s+\(\[a-z\]+\\d+\)\\s+\[0-9\]\[0-9\]+" $diskstats line partition == 1 ] {
- set test "vmstat partition (using $partition)"
- spawn $vmstat -p $partition
- expect_pass "$test" "^${partition}\\s+reads"
+if { [ file readable "/sys/block" ] == 0 } {
+ unsupported "vmstat partition /sys/block not readable"
} else {
- unsupported "vmstat partition (cannot find partition)"
+ if [ regexp "\\s+\\d+\\s+\\d+\\s+\(\[a-z\]+\\d+\)\\s+\[0-9\]\[0-9\]+" $diskstats line partition == 1 ] {
+ set test "vmstat partition (using $partition)"
+ spawn $vmstat -p $partition
+ expect_pass "$test" "^${partition}\\s+reads"
+ } else {
+ unsupported "vmstat partition (cannot find partition)"
+ }
}
--
1.7.9.2
++++++ 0035-PID-2-to-9-for-kill-too.patch ++++++
>From 39210a89debaff023fa97250bee63c57fe9dfcfb Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Wed, 29 Jan 2014 22:28:02 +1100
Subject: [PATCH] PID -2 to -9 for kill too
Commit 4359cf069819d9fb53493933e00d9af5c37bced5 restored kill's ability
to kill PID -1. This however left PIDs -2 to -9 (or rather process
groups 2 to 9) still having this problem. The check is now generically
looking for a digit and parses it correctly.
---
skill.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git skill.c skill.c
index 1c99985..60ed274 100644
--- skill.c
+++ skill.c
@@ -195,7 +195,8 @@ static void check_proc(int pid, struct run_time_conf_t *run_time)
if (i == -1)
goto closure;
}
- read(fd, buf, 128);
+ if (read(fd, buf, 128) <= 0)
+ goto closure;
buf[127] = '\0';
tmp = strrchr(buf, ')');
*tmp++ = '\0';
@@ -477,15 +478,16 @@ static void __attribute__ ((__noreturn__))
display_kill_version();
exit(EXIT_SUCCESS);
case '?':
- /* Special case is -1 which means all except init */
- if (optopt == '1') {
- if (kill(-1, signo) != 0)
- exitvalue = EXIT_FAILURE;
- exit(exitvalue);
- }
if (!isdigit(optopt)) {
xwarnx(_("invalid argument %c"), optopt);
kill_usage(stderr);
+ } else {
+ /* Special case for signal digit negative
+ * PIDs */
+ pid = (long)('0' - optopt);
+ if (kill((pid_t)pid, signo) != 0)
+ exitvalue = EXIT_FAILURE;
+ exit(exitvalue);
}
loop=0;
break;
--
1.7.9.2
++++++ 0035-top-provide-for-discontinuous-not-active-NUMA-nodes.patch ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -81,13 +81,13 @@
Msg_row += 1;
// display each cpu node's states
for (i = 0; i < Numa_node_tot; i++) {
-+ CPU_t *nod_ptr = &smpcpu[1 + smp_num_cpus() + i];
++ CPU_t *nod_ptr = &smpcpu[1 + smp_num_cpus + i];
if (!isROOM(anyFLG, 1)) break;
+#ifndef OFF_NUMASKIP
+ if (nod_ptr->id) {
+#endif
snprintf(tmp, sizeof(tmp), N_fmt(NUMA_nodenam_fmt), i);
-- summary_hlp(&smpcpu[1 + smp_num_cpus() + i], tmp);
+- summary_hlp(&smpcpu[1 + smp_num_cpus + i], tmp);
+ summary_hlp(nod_ptr, tmp);
Msg_row += 1;
+#ifndef OFF_NUMASKIP
++++++ 0036-pgrep-fails-to-show-full-command-line-with-au.patch ++++++
>From 6f1c04259d979ff04d129f235c950e48e94c7e76 Mon Sep 17 00:00:00 2001
From: Elliott Forney <elliott.forney(a)gmail.com>
Date: Thu, 30 Jan 2014 21:36:26 +1100
Subject: [PATCH] pgrep fails to show full command line with -au
pgrep does not show the full command line when the -a and -u flags are
combined. The -a flag is ignored when the -u flag is used as well.
In addition, the supplied patch by Elliot did not fix the problem
when invert flag ( -v ) was used; a very small tweak to the patch
fixed this problem as well. This problem existed before.
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
pgrep.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git pgrep.c pgrep.c
index 93a7c89..2a0ee19 100644
--- pgrep.c
+++ pgrep.c
@@ -417,7 +417,7 @@ static PROCTAB *do_openproc (void)
PROCTAB *ptp;
int flags = 0;
- if (opt_pattern || opt_full)
+ if (opt_pattern || opt_full || opt_longlong)
flags |= PROC_FILLCOM;
if (opt_ruid || opt_rgid)
flags |= PROC_FILLSTATUS;
@@ -538,7 +538,7 @@ static struct el * select_procs (int *num)
match = match_strlist (tty, opt_term);
}
}
- if (task.cmdline && (opt_longlong || opt_full) && match && opt_pattern) {
+ if (task.cmdline && (opt_longlong || opt_full) ) {
int i = 0;
int bytes = sizeof (cmdline) - 1;
--
1.7.9.2
++++++ 0037-fail-on-null-string-for-arguments.patch ++++++
>From c304ffa994c2beacf3eabf9986a67d2065b60cc4 Mon Sep 17 00:00:00 2001
From: Ryan Cox <ryan_cox(a)byu.edu>
Date: Mon, 28 Oct 2013 21:05:35 -0600
Subject: [PATCH] fail on null string for arguments
---
pgrep.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git pgrep.c pgrep.c
index 6290ec5..38c380b 100644
--- pgrep.c
+++ pgrep.c
@@ -142,13 +142,19 @@ static int __attribute__ ((__noreturn__)) usage(int opt)
static struct el *split_list (const char *restrict str, int (*convert)(const char *, struct el *))
{
- char *copy = xstrdup (str);
- char *ptr = copy;
+ char *copy;
+ char *ptr;
char *sep_pos;
int i = 0;
int size = 0;
struct el *list = NULL;
+ if (str[0] == '\0')
+ return NULL;
+
+ copy = xstrdup (str);
+ ptr = copy;
+
do {
if (i == size) {
size = size * 5 / 4 + 4;
--
1.7.9.2
++++++ 0037-top-avoid-name-conflict-in-the-next-version-of-stdli.patch ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -23,13 +23,15 @@
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
- top/top.c | 274 +++++++++++++++++++++++++++++-----------------------------
- top/top.h | 44 ++++-----
- top/top_nls.c | 186 +++++++++++++++++++--------------------
- 3 files changed, 252 insertions(+), 252 deletions(-)
+ top/top.c | 290 +++++++++++++++++++++++++++++-----------------------------
+ top/top.h | 46 ++++-----
+ top/top_nls.c | 210 +++++++++++++++++++++---------------------
+ 3 files changed, 273 insertions(+), 273 deletions(-)
+diff --git top/top.c top/top.c
+index 23dad92..ca3d24a 100644
--- top/top.c
-+++ top/top.c 2014-05-15 11:24:26.438236477 +0000
++++ top/top.c
@@ -18,12 +18,6 @@
* Sami Kerola, <kerolasa(a)iki.fi>
*/
@@ -79,7 +81,7 @@
#define AUTOX_MODE (0 > Rc.fixed_widest)
/* Support for scale_mem and scale_num (to avoid duplication. */
-@@ -1681,9 +1681,9 @@ static FLD_t Fieldstab[] = {
+@@ -1688,9 +1688,9 @@ static FLD_t Fieldstab[] = {
a -1 width represents variable width columns
a 0 width represents columns set once at startup (see zap_fieldstab)
.lflg anomalies:
@@ -92,7 +94,7 @@
L_EITHER - must L_status, else L_stat == 64-bit math (__udivdi3) on 32-bit !
.width .scale .align .sort .lflg
-@@ -1708,11 +1708,11 @@ static FLD_t Fieldstab[] = {
+@@ -1715,11 +1715,11 @@ static FLD_t Fieldstab[] = {
{ 0, -1, A_right, SF(CPN), L_stat },
{ 0, -1, A_right, SF(CPU), L_stat },
{ 6, -1, A_right, SF(TME), L_stat },
@@ -107,7 +109,7 @@
#endif
#ifndef NOBOOST_MEMS
{ 7, SK_Kb, A_right, SF(VRT), L_statm },
-@@ -1866,10 +1866,10 @@ static void build_headers (void) {
+@@ -1879,10 +1879,10 @@ static void build_headers (void) {
w->hdrcaplen += strlen(Caps_off) + strlen(w->capclr_msg);
}
#else
@@ -121,7 +123,7 @@
Frames_libflags |= Fieldstab[w->procflgs[i]].lflg;
s = scat(s, justify_pad(N_col(f)
, VARcol(f) ? w->varcolsz : Fieldstab[f].width
-@@ -1892,7 +1892,7 @@ static void build_headers (void) {
+@@ -1905,7 +1905,7 @@ static void build_headers (void) {
// we must also accommodate an out of view sort field...
f = w->rc.sortindx;
Frames_libflags |= Fieldstab[f].lflg;
@@ -130,7 +132,7 @@
} // end: VIZISw(w)
if (Rc.mode_altscr) w = w->next;
-@@ -1945,16 +1945,16 @@ static void calibrate_fields (void) {
+@@ -1958,16 +1958,16 @@ static void calibrate_fields (void) {
if (VIZISw(w)) {
w->hdrcaplen = 0; // really only used with USE_X_COLHDR
// build window's pflgsall array, establish upper bounds for maxpflgs
@@ -150,7 +152,7 @@
} else
w->pflgsall[w->totpflgs++] = f;
#endif
-@@ -1970,7 +1970,7 @@ static void calibrate_fields (void) {
+@@ -1983,7 +1983,7 @@ static void calibrate_fields (void) {
f = w->pflgsall[i + w->begpflg];
w->procflgs[i] = f;
#ifndef USE_X_COLHDR
@@ -159,7 +161,7 @@
#endif
h = N_col(f);
len = (VARcol(f) ? (int)strlen(h) : Fieldstab[f].width) + COLPADSIZ;
-@@ -1980,7 +1980,7 @@ static void calibrate_fields (void) {
+@@ -1993,7 +1993,7 @@ static void calibrate_fields (void) {
s = scat(s, fmtmk("%*.*s", len, len, h));
}
#ifndef USE_X_COLHDR
@@ -168,7 +170,7 @@
#endif
/* establish the final maxpflgs and prepare to grow the variable column
-@@ -1997,7 +1997,7 @@ static void calibrate_fields (void) {
+@@ -2010,7 +2010,7 @@ static void calibrate_fields (void) {
for (i = w->totpflgs - 1; -1 < i; i--) {
f = w->pflgsall[i];
#ifndef USE_X_COLHDR
@@ -177,7 +179,7 @@
#endif
h = N_col(f);
len = (VARcol(f) ? (int)strlen(h) : Fieldstab[f].width) + COLPADSIZ;
-@@ -2006,7 +2006,7 @@ static void calibrate_fields (void) {
+@@ -2019,7 +2019,7 @@ static void calibrate_fields (void) {
w->endpflg = i;
}
#ifndef USE_X_COLHDR
@@ -186,7 +188,7 @@
#endif
} // end: if (VIZISw(w))
-@@ -2063,10 +2063,10 @@ static void display_fields (int focus, i
+@@ -2076,10 +2076,10 @@ static void display_fields (int focus, i
int rmax = Screen_rows - yRSVD; // total useable rows
static int col_sav, row_sav;
@@ -201,7 +203,7 @@
if (i > 1) { cmax /= i; xadd = 1; }
if (cmax > xTOTL) cmax = xTOTL;
smax = cmax - xPRFX;
-@@ -2081,7 +2081,7 @@ static void display_fields (int focus, i
+@@ -2094,7 +2094,7 @@ static void display_fields (int focus, i
}
fflush(stdout);
@@ -210,7 +212,7 @@
int b = FLDviz(w, i), x = (i / rmax) * cmax, y = (i % rmax) + yRSVD;
const char *e = (i == focus && extend) ? w->capclr_hdr : "";
FLG_t f = FLDget(w, i);
-@@ -2156,7 +2156,7 @@ signify_that:
+@@ -2169,7 +2169,7 @@ signify_that:
if (i > 0) { --i; if (p) swapEM }
break;
case kbd_DOWN:
@@ -219,7 +221,7 @@
break;
case kbd_LEFT:
case kbd_ENTER:
-@@ -2171,7 +2171,7 @@ signify_that:
+@@ -2184,7 +2184,7 @@ signify_that:
break;
case kbd_END:
case kbd_PGDN:
@@ -228,7 +230,7 @@
break;
case kbd_SPACE:
case 'd':
-@@ -2209,7 +2209,7 @@ static inline void widths_resize (void)
+@@ -2222,7 +2222,7 @@ static inline void widths_resize (void)
// next var may also be set by the guys that actually truncate stuff
Autox_found = 0;
@@ -237,7 +239,7 @@
if (Autox_array[i]) {
Fieldstab[i].width++;
Autox_array[i] = 0;
-@@ -2229,58 +2229,58 @@ static void zap_fieldstab (void) {
+@@ -2242,58 +2242,58 @@ static void zap_fieldstab (void) {
char buf[8];
if (!once) {
@@ -263,7 +265,7 @@
- Fieldstab[P_CPN].width = 1;
+ Fieldstab[EU_CPN].width = 1;
- if (1 < (digits = (unsigned)snprintf(buf, sizeof(buf), "%u", (unsigned)smp_num_cpus()))) {
+ if (1 < (digits = (unsigned)snprintf(buf, sizeof(buf), "%u", (unsigned)smp_num_cpus))) {
if (5 < digits) error_exit(N_txt(FAIL_widecpu_txt));
- Fieldstab[P_CPN].width = digits;
+ Fieldstab[EU_CPN].width = digits;
@@ -273,17 +275,17 @@
Cpu_pmax = 99.9;
- Fieldstab[P_CPU].width = 5;
+ Fieldstab[EU_CPU].width = 5;
- if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
- Cpu_pmax = 100.0 * smp_num_cpus();
- if (smp_num_cpus() > 1000) {
+ if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
+ Cpu_pmax = 100.0 * smp_num_cpus;
+ if (smp_num_cpus > 1000) {
if (Cpu_pmax > 9999999.0) Cpu_pmax = 9999999.0;
- Fieldstab[P_CPU].width = 8;
+ Fieldstab[EU_CPU].width = 8;
- } else if (smp_num_cpus() > 100) {
+ } else if (smp_num_cpus > 100) {
if (Cpu_pmax > 999999.0) Cpu_pmax = 999999.0;
- Fieldstab[P_CPU].width = 7;
+ Fieldstab[EU_CPU].width = 7;
- } else if (smp_num_cpus() > 10) {
+ } else if (smp_num_cpus > 10) {
if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
- Fieldstab[P_CPU].width = 6;
+ Fieldstab[EU_CPU].width = 6;
@@ -295,27 +297,27 @@
Cpu_pmax = 99.9;
- Fieldstab[P_CPU].width = 4;
+ Fieldstab[EU_CPU].width = 4;
- if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
- Cpu_pmax = 100.0 * smp_num_cpus();
- if (smp_num_cpus() > 1000) {
+ if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
+ Cpu_pmax = 100.0 * smp_num_cpus;
+ if (smp_num_cpus > 1000) {
if (Cpu_pmax > 9999999.0) Cpu_pmax = 9999999.0;
- Fieldstab[P_CPU].width = 7;
+ Fieldstab[EU_CPU].width = 7;
- } else if (smp_num_cpus() > 100) {
+ } else if (smp_num_cpus > 100) {
if (Cpu_pmax > 999999.0) Cpu_pmax = 999999.0;
- Fieldstab[P_CPU].width = 6;
+ Fieldstab[EU_CPU].width = 6;
- } else if (smp_num_cpus() > 10) {
+ } else if (smp_num_cpus > 10) {
if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
- Fieldstab[P_CPU].width = 5;
+ Fieldstab[EU_CPU].width = 5;
} else {
if (Cpu_pmax > 999.9) Cpu_pmax = 999.9;
}
-@@ -2289,23 +2289,23 @@ static void zap_fieldstab (void) {
-
+@@ -2303,26 +2303,26 @@ static void zap_fieldstab (void) {
/* and accommodate optional wider non-scalable columns (maybe) */
if (!AUTOX_MODE) {
+ int i;
- Fieldstab[P_UED].width = Fieldstab[P_URD].width
- = Fieldstab[P_USD].width = Fieldstab[P_GID].width
+ Fieldstab[EU_UED].width = Fieldstab[EU_URD].width
@@ -332,6 +334,10 @@
- Fieldstab[P_WCH].width
+ Fieldstab[EU_WCH].width
= Rc.fixed_widest ? 10 + Rc.fixed_widest : 10;
+- for (i = P_NS1; i < P_NS1 + NUM_NS; i++)
++ for (i = EU_NS1; i < EU_NS1 + NUM_NS; i++)
+ Fieldstab[i].width
+ = Rc.fixed_widest ? 10 + Rc.fixed_widest : 10;
}
/* plus user selectable scaling */
@@ -346,7 +352,7 @@
// lastly, ensure we've got proper column headers...
calibrate_fields();
-@@ -3491,8 +3491,8 @@ static void configs_read (void) {
+@@ -3510,8 +3510,8 @@ static void configs_read (void) {
default: // and future versions?
if (strlen(w->rc.fieldscur) != sizeof(DEF_FIELDS) - 1)
goto default_or_error;
@@ -357,7 +363,7 @@
goto default_or_error;
break;
}
-@@ -3671,16 +3671,16 @@ static void parse_args (char **args) {
+@@ -3690,16 +3690,16 @@ static void parse_args (char **args) {
else error_exit(fmtmk(N_fmt(MISSING_args_fmt), ch));
if (*cp == '+') { SETw(Curwin, Qsrt_NORMAL); ++cp; }
else if (*cp == '-') { OFFw(Curwin, Qsrt_NORMAL); ++cp; }
@@ -377,7 +383,7 @@
puts(N_col(i));
bye_bye(NULL);
case 'p':
-@@ -4244,9 +4244,9 @@ static void other_selection (int ch) {
+@@ -4263,9 +4263,9 @@ static void other_selection (int ch) {
}
ops = *(pval);
*(pval++) = '\0';
@@ -389,7 +395,7 @@
show_msg(fmtmk(N_fmt(XTRA_badflds_fmt), glob));
return;
}
-@@ -4521,7 +4521,7 @@ static void keys_task (int ch) {
+@@ -4540,7 +4540,7 @@ static void keys_task (int ch) {
if (*p == w->rc.sortindx) {
--p;
#ifndef USE_X_COLHDR
@@ -398,7 +404,7 @@
#endif
if (p >= w->procflgs) {
w->rc.sortindx = *p;
-@@ -4542,7 +4542,7 @@ static void keys_task (int ch) {
+@@ -4561,7 +4561,7 @@ static void keys_task (int ch) {
if (*p == w->rc.sortindx) {
++p;
#ifndef USE_X_COLHDR
@@ -407,7 +413,7 @@
#endif
if (p < w->procflgs + w->maxpflgs) {
w->rc.sortindx = *p;
-@@ -4611,7 +4611,7 @@ static void keys_task (int ch) {
+@@ -4630,7 +4630,7 @@ static void keys_task (int ch) {
case 'V':
if (VIZCHKw(w)) {
TOGw(w, Show_FOREST);
@@ -416,7 +422,7 @@
show_msg(fmtmk(N_fmt(FOREST_modes_fmt) , CHKw(w, Show_FOREST)
? N_txt(ON_word_only_txt) : N_txt(OFF_one_word_txt)));
}
-@@ -4731,13 +4731,13 @@ static void keys_window (int ch) {
+@@ -4750,13 +4750,13 @@ static void keys_window (int ch) {
w->varcolbeg -= SCROLLAMT;
else if (0 < w->begpflg) {
w->begpflg -= 1;
@@ -432,7 +438,7 @@
}
#endif
break;
-@@ -4748,14 +4748,14 @@ static void keys_window (int ch) {
+@@ -4767,14 +4767,14 @@ static void keys_window (int ch) {
w->varcolbeg += SCROLLAMT;
if (0 > w->varcolbeg) w->varcolbeg = 0;
} else if (w->begpflg + 1 < w->totpflgs) {
@@ -449,7 +455,7 @@
w->begpflg += (w->begpflg + 3 < w->totpflgs) ? 3 : 0;
else w->begpflg += 1;
}
-@@ -4812,19 +4812,19 @@ static void keys_xtra (int ch) {
+@@ -4831,19 +4831,19 @@ static void keys_xtra (int ch) {
we would just whack do_key's key_tab entry and this function... */
switch (ch) {
case 'M':
@@ -473,7 +479,7 @@
// xmsg = "Time";
break;
default: // keep gcc happy
-@@ -5204,30 +5204,30 @@ static const char *task_show (const WIN_
+@@ -5223,30 +5223,30 @@ static const char *task_show (const WIN_
switch (i) {
#ifndef USE_X_COLHDR
// these 2 aren't real procflgs, they're used in column highlighting!
@@ -512,7 +518,7 @@
{ float u = (float)p->pcpu * Frame_etscale;
/* process can't use more %cpu than number of threads it has
( thanks Jaromir Capik <jcapik(a)redhat.com> ) */
-@@ -5236,139 +5236,139 @@ static const char *task_show (const WIN_
+@@ -5255,150 +5255,150 @@ static const char *task_show (const WIN_
cp = scale_pcnt(u, W, Jn);
}
break;
@@ -566,6 +572,24 @@
+ case EU_NCE:
cp = make_num(p->nice, W, Jn, AUTOX_NO);
break;
+- case P_NS1: // IPCNS
+- case P_NS2: // MNTNS
+- case P_NS3: // NETNS
+- case P_NS4: // PIDNS
+- case P_NS5: // USERNS
+- case P_NS6: // UTSNS
+- { long ino = p->ns[i - P_NS1];
++ case EU_NS1: // IPCNS
++ case EU_NS2: // MNTNS
++ case EU_NS3: // NETNS
++ case EU_NS4: // PIDNS
++ case EU_NS5: // USERNS
++ case EU_NS6: // UTSNS
++ { long ino = p->ns[i - EU_NS1];
+ if (ino > 0) cp = make_num(ino, W, Jn, i);
+ else cp = make_str("-", W, Js, i);
+ }
+ break;
#ifdef OOMEM_ENABLE
- case P_OOA:
+ case EU_OOA:
@@ -703,8 +727,8 @@
break;
default: // keep gcc happy
--- top/top.h
-+++ top/top.h 2014-05-15 11:25:39.890735226 +0000
-@@ -181,27 +181,27 @@ char *strcasestr(const char *haystack, c
++++ top/top.h
+@@ -181,28 +181,28 @@ char *strcasestr(const char *haystack, const char *needle);
/* Flags for each possible field (and then some) --
these MUST be kept in sync with the FLD_t Fieldstab[] array !! */
enum pflag {
@@ -733,9 +757,11 @@
- P_ENV,
- P_FV1, P_FV2,
- P_USE,
+- P_NS1, P_NS2, P_NS3, P_NS4, P_NS5, P_NS6,
+ EU_ENV,
+ EU_FV1, EU_FV2,
+ EU_USE,
++ EU_NS1, EU_NS2, EU_NS3, EU_NS4, EU_NS5, EU_NS6,
#ifdef USE_X_COLHDR
// not really pflags, used with tbl indexing
- P_MAXPFLGS
@@ -743,11 +769,11 @@
#else
// not really pflags, used with tbl indexing & col highlighting
- P_MAXPFLGS, X_XON, X_XOF
-+ EU_MAXPFLGS, X_XON, X_XOF
++ EU_MAXPFLGS, EU_XON, EU_XOF
#endif
};
-@@ -445,7 +445,7 @@ typedef struct WIN_t {
+@@ -446,7 +446,7 @@ typedef struct WIN_t {
#define VARright(w) (1 == w->maxpflgs && VARcol(w->procflgs[0]))
#else
#define VARright(w) ((1 == w->maxpflgs && VARcol(w->procflgs[0])) || \
@@ -756,7 +782,7 @@
#endif
#define VARleft(w) (w->varcolbeg && VARright(w))
#define SCROLLAMT 8
-@@ -475,7 +475,7 @@ typedef struct WIN_t {
+@@ -476,7 +476,7 @@ typedef struct WIN_t {
/* Used to create *most* of the sort callback functions
note: some of the callbacks are NOT your father's callbacks, they're
highly optimized to save them ol' precious cycles! */
@@ -765,7 +791,7 @@
#define SCB_NUM1(f,n) \
static int SCB_NAME(f) (const proc_t **P, const proc_t **Q) { \
if ( (*P)->n < (*Q)->n ) return SORT_lt; \
-@@ -596,16 +596,16 @@ typedef struct WIN_t {
+@@ -598,16 +598,16 @@ typedef struct WIN_t {
/* The default values for the local config file */
#define DEF_RCFILE { \
RCF_VERSION_ID, 0, 1, DEF_DELAY, 0, { \
@@ -786,7 +812,7 @@
COLOR_YELLOW, COLOR_YELLOW, COLOR_GREEN, COLOR_YELLOW, \
"Usr", USR_FIELDS } \
}, 0, SK_Kb, SK_Kb, 0 }
-@@ -645,7 +645,7 @@ typedef struct WIN_t {
+@@ -647,7 +647,7 @@ typedef struct WIN_t {
/* ( see the find_string function for the one true required protoype ) */
/*------ Sort callbacks ------------------------------------------------*/
/* for each possible field, in the form of: */
@@ -795,8 +821,10 @@
/*------ Tiny useful routine(s) ----------------------------------------*/
//atic const char *fmtmk (const char *fmts, ...);
//atic inline char *scat (char *dst, const char *src);
+diff --git top/top_nls.c top/top_nls.c
+index 1dd6d46..0f37d89 100644
--- top/top_nls.c
-+++ top/top_nls.c 2014-05-15 11:26:38.222235592 +0000
++++ top/top_nls.c
@@ -94,8 +94,8 @@
* + none of the important translator only comments will
* clutter and obscure the main program
@@ -808,7 +836,7 @@
const char *Norm_nlstab[norm_MAX];
const char *Uniq_nlstab[uniq_MAX];
-@@ -121,144 +121,144 @@ static void build_two_nlstabs (void) {
+@@ -121,162 +121,162 @@ static void build_two_nlstabs (void) {
. */
/* Translation Hint: maximum 'PID' = 5 */
@@ -1040,10 +1068,40 @@
- Desc_nlstab[P_USE] = _("Res+Swap Size (KiB)");
+ Head_nlstab[EU_USE] = _("USED");
+ Desc_nlstab[EU_USE] = _("Res+Swap Size (KiB)");
+ /* Translation Hint: maximum 'nsIPC' = 10 */
+- Head_nlstab[P_NS1] = _("nsIPC");
+- Desc_nlstab[P_NS1] = _("IPC namespace Inode");
++ Head_nlstab[EU_NS1] = _("nsIPC");
++ Desc_nlstab[EU_NS1] = _("IPC namespace Inode");
+ /* Translation Hint: maximum 'nsMNT' = 10 */
+- Head_nlstab[P_NS2] = _("nsMNT");
+- Desc_nlstab[P_NS2] = _("MNT namespace Inode");
++ Head_nlstab[EU_NS2] = _("nsMNT");
++ Desc_nlstab[EU_NS2] = _("MNT namespace Inode");
+ /* Translation Hint: maximum 'nsNET' = 10 */
+- Head_nlstab[P_NS3] = _("nsNET");
+- Desc_nlstab[P_NS3] = _("NET namespace Inode");
++ Head_nlstab[EU_NS3] = _("nsNET");
++ Desc_nlstab[EU_NS3] = _("NET namespace Inode");
+ /* Translation Hint: maximum 'nsPID' = 10 */
+- Head_nlstab[P_NS4] = _("nsPID");
+- Desc_nlstab[P_NS4] = _("PID namespace Inode");
++ Head_nlstab[EU_NS4] = _("nsPID");
++ Desc_nlstab[EU_NS4] = _("PID namespace Inode");
+ /* Translation Hint: maximum 'nsUSER' = 10 */
+- Head_nlstab[P_NS5] = _("nsUSER");
+- Desc_nlstab[P_NS5] = _("USER namespace Inode");
++ Head_nlstab[EU_NS5] = _("nsUSER");
++ Desc_nlstab[EU_NS5] = _("USER namespace Inode");
+ /* Translation Hint: maximum 'nsUTS' = 10 */
+- Head_nlstab[P_NS6] = _("nsUTS");
+- Desc_nlstab[P_NS6] = _("UTS namespace Inode");
++ Head_nlstab[EU_NS6] = _("nsUTS");
++ Desc_nlstab[EU_NS6] = _("UTS namespace Inode");
}
-@@ -663,7 +663,7 @@ void initialize_nls (void) {
+@@ -681,7 +681,7 @@ void initialize_nls (void) {
memset(Head_nlstab, 0, sizeof(Head_nlstab));
memset(Desc_nlstab, 0, sizeof(Desc_nlstab));
build_two_nlstabs();
@@ -1052,3 +1110,6 @@
if (!Head_nlstab[i]) {
fprintf(stderr, nls_err, "Head", i);
exit(1);
+--
+1.7.9.2
+
++++++ 0038-Update-help-files.patch ++++++
>From 8e7ef322e21b2232d2a1ff9482ec8ce2808fc5c3 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Sun, 2 Feb 2014 18:13:01 +1100
Subject: [PATCH] Update help files
Benno Schulenberg suggested some changes to the help messages
to provide some consistency and clarity for both the users and
translators of procps.
The test needed to be updated as the pmap output changed too.
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
pgrep.c | 14 +++++++-------
pidof.c | 2 +-
pmap.c | 2 +-
ps/help.c | 22 +++++++++++-----------
skill.c | 6 +++---
testsuite/pmap.test/pmap.exp | 2 +-
6 files changed, 24 insertions(+), 24 deletions(-)
diff --git pgrep.c pgrep.c
index fda7924..d8d3dcb 100644
--- pgrep.c
+++ pgrep.c
@@ -115,19 +115,19 @@ static int __attribute__ ((__noreturn__)) usage(int opt)
}
fputs(_(" -c, --count count of matching processes\n"), fp);
fputs(_(" -f, --full use full process name to match\n"), fp);
- fputs(_(" -g, --pgroup <id,...> match listed process group IDs\n"), fp);
- fputs(_(" -G, --group <gid,...> match real group IDs\n"), fp);
+ fputs(_(" -g, --pgroup <PGID,...> match listed process group IDs\n"), fp);
+ fputs(_(" -G, --group <GID,...> match real group IDs\n"), fp);
fputs(_(" -n, --newest select most recently started\n"), fp);
fputs(_(" -o, --oldest select least recently started\n"), fp);
- fputs(_(" -P, --parent <ppid,...> match only child processes of the given parent\n"), fp);
- fputs(_(" -s, --session <sid,...> match session IDs\n"), fp);
+ fputs(_(" -P, --parent <PPID,...> match only child processes of the given parent\n"), fp);
+ fputs(_(" -s, --session <SID,...> match session IDs\n"), fp);
fputs(_(" -t, --terminal <tty,...> match by controlling terminal\n"), fp);
- fputs(_(" -u, --euid <id,...> match by effective IDs\n"), fp);
- fputs(_(" -U, --uid <id,...> match by real IDs\n"), fp);
+ fputs(_(" -u, --euid <ID,...> match by effective IDs\n"), fp);
+ fputs(_(" -U, --uid <ID,...> match by real IDs\n"), fp);
fputs(_(" -x, --exact match exactly with the command name\n"), fp);
fputs(_(" -F, --pidfile <file> read PIDs from file\n"), fp);
fputs(_(" -L, --logpidfile fail if PID file is not locked\n"), fp);
- fputs(_(" --ns <pid> match the processes that belong to the same\n"
+ fputs(_(" --ns <PID> match the processes that belong to the same\n"
" namespace as <pid>\n"), fp);
fputs(_(" --nslist <ns,...> list which namespaces will be considered for\n"
" the --ns option.\n"
diff --git pidof.c pidof.c
index 6a38675..d1a9f31 100644
--- pidof.c
+++ pidof.c
@@ -62,7 +62,7 @@ static int __attribute__ ((__noreturn__)) usage(int opt)
fputs(USAGE_OPTIONS, fp);
fputs(_(" -s, --single-shot return one PID only\n"), fp);
fputs(_(" -c, --check-root omit processes with different root\n"), fp);
- fputs(_(" -x scripts too\n"), fp);
+ fputs(_(" -x also find shells running the named scripts\n"), fp);
fputs(_(" -o, --omit-pid <PID,...> omit processes with PID\n"), fp);
fputs(USAGE_SEPARATOR, fp);
fputs(USAGE_HELP, fp);
diff --git pmap.c pmap.c
index 4ecabce..66c1c2d 100644
--- pmap.c
+++ pmap.c
@@ -106,7 +106,7 @@ usage(FILE * out)
{
fputs(USAGE_HEADER, out);
fprintf(out,
- _(" %s [options] pid [pid ...]\n"), program_invocation_short_name);
+ _(" %s [options] PID [PID ...]\n"), program_invocation_short_name);
fputs(USAGE_OPTIONS, out);
fputs(_(" -x, --extended show details\n"), out);
fputs(_(" -X show even more details\n"), out);
diff --git ps/help.c ps/help.c
index 9133903..1b98b73 100644
--- ps/help.c
+++ ps/help.c
@@ -109,18 +109,18 @@ void do_help (const char *opt, int rc) {
if (section == HELP_LST || section == HELP_ALL) {
fputs(_("\nSelection by list:\n"), out);
fputs(_(" -C <command> command name\n"), out);
- fputs(_(" -G, --Group <gid> real group id or name\n"), out);
+ fputs(_(" -G, --Group <GID> real group id or name\n"), out);
fputs(_(" -g, --group <group> session or effective group name\n"), out);
- fputs(_(" -p, --pid <pid> process id\n"), out);
- fputs(_(" --ppid <pid> select by parent process id\n"), out);
+ fputs(_(" -p, --pid <PID> process id\n"), out);
+ fputs(_(" --ppid <PID> select by parent process id\n"), out);
fputs(_(" -s, --sid <session> session id\n"), out);
fputs(_(" -t, t, --tty <tty> terminal\n"), out);
- fputs(_(" -u, U, --user <uid> effective user id or name\n"), out);
- fputs(_(" -U, --User <uid> real user id or name\n"), out);
+ fputs(_(" -u, U, --user <UID> effective user id or name\n"), out);
+ fputs(_(" -U, --User <UID> real user id or name\n"), out);
fputs(_("\n"
- " selection <arguments> take either:\n"
- " comma-separated list e.g. '-u root,nobody' or\n"
- " blank-separated list e.g. '-p 123 4567'\n"), out);
+ " The selection options take as their argument either:\n"
+ " a comma-separated list e.g. '-u root,nobody' or\n"
+ " or a blank-separated list e.g. '-p 123 4567'\n"), out);
}
if (section == HELP_OUT || section == HELP_ALL) {
fputs(_("\nOutput formats:\n"), out);
@@ -136,7 +136,7 @@ void do_help (const char *opt, int rc) {
fputs(_(" -O <format> preloaded with default columns\n"), out);
fputs(_(" O <format> as -O, with BSD personality\n"), out);
fputs(_(" -o, o, --format <format>\n"
- " user defined format\n"), out);
+ " user-defined format\n"), out);
fputs(_(" s signal format\n"), out);
fputs(_(" u user-oriented format\n"), out);
fputs(_(" v virtual memory format\n"), out);
@@ -152,7 +152,7 @@ void do_help (const char *opt, int rc) {
}
if (section == HELP_THD || section == HELP_ALL) {
fputs(_("\nShow threads:\n"), out);
- fputs(_(" H as if they where processes\n"), out);
+ fputs(_(" H as if they were processes\n"), out);
fputs(_(" -L possibly with LWP and NLWP columns\n"), out);
fputs(_(" -m, m after processes\n"), out);
fputs(_(" -T possibly with SPID column\n"), out);
@@ -163,7 +163,7 @@ void do_help (const char *opt, int rc) {
fputs(_(" c show true command name\n"), out);
fputs(_(" e show the environment after command\n"), out);
fputs(_(" k, --sort specify sort order as: [+|-]key[,[+|-]key[,...]]\n"), out);
- fputs(_(" L list format specifiers\n"), out);
+ fputs(_(" L show format specifiers\n"), out);
fputs(_(" n display numeric uid and wchan\n"), out);
fputs(_(" S, --cumulative include some dead child process data\n"), out);
fputs(_(" -y do not show flags, show rss (only with -l)\n"), out);
diff --git skill.c skill.c
index 60ed274..9f3b4fc 100644
--- skill.c
+++ skill.c
@@ -356,7 +356,7 @@ static void __attribute__ ((__noreturn__)) skillsnice_usage(FILE * out)
fputs(_(" -i, --interactive interactive\n"), out);
fputs(_(" -l, --list list all signal names\n"), out);
fputs(_(" -L, --table list all signal names in a nice table\n"), out);
- fputs(_(" -n, --no-action no action\n"), out);
+ fputs(_(" -n, --no-action do not actually kill processes; just print what would happen\n"), out);
fputs(_(" -v, --verbose explain what is being done\n"), out);
fputs(_(" -w, --warnings enable warnings (not implemented)\n"), out);
fputs(USAGE_SEPARATOR, out);
@@ -371,8 +371,8 @@ static void __attribute__ ((__noreturn__)) skillsnice_usage(FILE * out)
fputs(_(" --ns <pid> match the processes that belong to the same\n"
" namespace as <pid>\n"), out);
fputs(_(" --nslist <ns,...> list which namespaces will be considered for\n"
- " the --ns option.\n"
- " Available namespaces: ipc, mnt, net, pid, user, uts\n"), out);
+ " the --ns option; available namespaces are\n:"
+ " ipc, mnt, net, pid, user, uts\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_SEPARATOR, out);
diff --git testsuite/pmap.test/pmap.exp testsuite/pmap.test/pmap.exp
index bc2550a..5a9e603 100644
--- testsuite/pmap.test/pmap.exp
+++ testsuite/pmap.test/pmap.exp
@@ -22,7 +22,7 @@ set pmap_ext_footer "\[ -\]+\\s+total kB\\s+\\d+(\\s+\[\\d-\]+){2,3}\\s*\$"
set test "pmap with no arguments"
spawn $pmap
#expect_pass "$test" "^\(lt-\)\?pmap: argument missing"
-expect_pass "$test" "Usage:\\s+\(lt-\)?pmap \\\[options\\\] pid \\\[pid \.\.\.\\\]"
+expect_pass "$test" "Usage:\\s+\(lt-\)?pmap \\\[options\\\] PID \\\[PID \.\.\.\\\]"
set test "pmap standard output"
spawn $pmap $mypid
--
1.7.9.2
++++++ 0038-top-protect-against-distortion-when-system-time-rese.patch ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -1,4 +1,4 @@
-Based on 22e658297494e11ef92a81069b49a40420b8d824 Mon Sep 17 00:00:00 2001
+From 22e658297494e11ef92a81069b49a40420b8d824 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Fri, 25 Apr 2014 00:00:00 -0500
Subject: [PATCH] top: protect against distortion when system time reset
@@ -49,9 +49,11 @@
top/top.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
+diff --git top/top.c top/top.c
+index d767495..cbcb152 100644
--- top/top.c
-+++ top/top.c 2014-05-15 00:00:00.000000000 +0000
-@@ -2514,17 +2514,14 @@ static void procs_hlp (proc_t *this) {
++++ top/top.c
+@@ -2518,17 +2518,14 @@ static void procs_hlp (proc_t *this) {
HST_t *h;
if (!this) {
@@ -73,4 +75,7 @@
+ uptime_sav = uptime_cur;
// if in Solaris mode, adjust our scaling for all cpus
- Frame_etscale = 100.0f / ((float)Hertz * (float)et * (Rc.mode_irixps ? 1 : smp_num_cpus()));
+ Frame_etscale = 100.0f / ((float)Hertz * (float)et * (Rc.mode_irixps ? 1 : smp_num_cpus));
+--
+1.7.9.2
+
++++++ 0039-vmstat-Support-for-timestamps-with-t-fix-for-wd.patch ++++++
Based on 4fcd56bf582ee2ef5b205625ca3d1bfed90364e9 Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Tue, 4 Feb 2014 19:10:42 +0100
Subject: [PATCH] vmstat: Support for timestamps with '-t' & fix for '-wd'
>From now the vmstat can append a timestamp to each line in the
VMSTAT and DISKSTAT mode. You can achieve that with the '-t'
switch.
The '-w' switch now works in the DISKSTAT mode too.
---
vmstat.8 | 3 +
vmstat.c | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 167 insertions(+), 33 deletions(-)
diff --git vmstat.8 vmstat.8
index ef6cbe9..420d9f3 100644
--- vmstat.8
+++ vmstat.8
@@ -74,6 +74,9 @@ or 1048576
bytes. Note this does not change the swap (si/so) or block (bi/bo)
fields.
.TP
+\fB\-t\fR, \fB\-\-timestamp\fR
+Append timestamp to each line
+.TP
\fB\-w\fR, \fB\-\-wide\fR
Wide output mode (useful for systems with higher amount of memory,
where the default output mode suffers from unwanted column breakage).
diff --git vmstat.c vmstat.c
index c01351d..a84d2d2 100644
--- vmstat.c
+++ vmstat.c
@@ -43,6 +43,7 @@
#include <sys/stat.h>
#include <termios.h>
#include <unistd.h>
+#include <time.h>
#include "c.h"
#include "fileutils.h"
#include "nls.h"
@@ -75,6 +76,9 @@ static int a_option;
/* "-w" means "wide output" */
static int w_option;
+/* "-t" means "show timestamp" */
+static int t_option;
+
static unsigned sleep_time = 1;
static int infinite_updates = 0;
static unsigned long num_updates;
@@ -100,6 +104,7 @@ static void __attribute__ ((__noreturn__))
fputs(_(" -p, --partition <dev> partition specific statistics\n"), out);
fputs(_(" -S, --unit <char> define display unit\n"), out);
fputs(_(" -w, --wide wide output\n"), out);
+ fputs(_(" -t, --timestamp show timestamp\n"), out);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
@@ -180,21 +185,33 @@ static int format_1000(unsigned long long val64, char *restrict dst)
static void new_header(void)
{
+ struct tm *tm_ptr;
+ time_t the_time;
+ char timebuf[32];
+
/* Translation Hint: Translating folloging header & fields
* that follow (marked with max x chars) might not work,
* unless manual page is translated as well. */
-
- const char header[] =
- "procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n";
- const char wide_header[] =
- "procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------\n";
+ const char *header =
+ _("procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----");
+ const char *wide_header =
+ _("procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------");
+ const char *timestamp_header = _(" -----timestamp-----");
const char format[] =
- "%2s %2s %6s %6s %6s %6s %4s %4s %5s %5s %4s %4s %2s %2s %2s %2s %2s\n";
+ "%2s %2s %6s %6s %6s %6s %4s %4s %5s %5s %4s %4s %2s %2s %2s %2s %2s";
const char wide_format[] =
- "%2s %2s %12s %12s %12s %12s %4s %4s %5s %5s %4s %4s %3s %3s %3s %3s %3s\n";
+ "%2s %2s %12s %12s %12s %12s %4s %4s %5s %5s %4s %4s %3s %3s %3s %3s %3s";
+
+
+ printf(w_option ? wide_header : header);
+
+ if (t_option) {
+ printf(timestamp_header);
+ }
+
+ printf("\n");
- printf(w_option ? _(wide_header) : _(header));
printf(
w_option ? wide_format : format,
/* Translation Hint: max 2 chars */
@@ -235,6 +252,19 @@ static void new_header(void)
_("wa"),
/* Translation Hint: max 2 chars */
_("st"));
+
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ if (strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) {
+ timebuf[strlen(timestamp_header) - 1] = '\0';
+ } else {
+ timebuf[0] = '\0';
+ }
+ printf(" %*s", (int)(strlen(timestamp_header) - 1), timebuf);
+ }
+
+ printf("\n");
}
static unsigned long unitConvert(unsigned long size)
@@ -247,9 +277,9 @@ static unsigned long unitConvert(unsigned long size)
static void new_format(void)
{
const char format[] =
- "%2u %2u %6lu %6lu %6lu %6lu %4u %4u %5u %5u %4u %4u %2u %2u %2u %2u %2u\n";
+ "%2u %2u %6lu %6lu %6lu %6lu %4u %4u %5u %5u %4u %4u %2u %2u %2u %2u %2u";
const char wide_format[] =
- "%2u %2u %12lu %12lu %12lu %12lu %4u %4u %5u %5u %4u %4u %3u %3u %3u %3u %3u\n";
+ "%2u %2u %12lu %12lu %12lu %12lu %4u %4u %5u %5u %4u %4u %3u %3u %3u %3u %3u";
unsigned int tog = 0; /* toggle switch for cleaner code */
unsigned int i;
@@ -263,6 +293,9 @@ static void new_format(void)
unsigned int sleep_half;
unsigned long kb_per_page = sysconf(_SC_PAGESIZE) / 1024ul;
long long debt = 0; /* handle idle ticks running backwards */
+ struct tm *tm_ptr;
+ time_t the_time;
+ char timebuf[32];
sleep_half = (sleep_time / 2);
new_header();
@@ -272,6 +305,12 @@ static void new_format(void)
cpu_zzz, pgpgin, pgpgout, pswpin, pswpout, intr, ctxt, &running,
&blocked, &dummy_1, &dummy_2);
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr);
+ }
+
duse = *cpu_use + *cpu_nic;
dsys = *cpu_sys + *cpu_xxx + *cpu_yyy;
didl = *cpu_idl;
@@ -298,6 +337,12 @@ static void new_format(void)
(unsigned)( (100*dstl + divo2) / Div )
);
+ if (t_option) {
+ printf(" %s", timebuf);
+ }
+
+ printf("\n");
+
/* main loop */
for (i = 1; infinite_updates || i < num_updates; i++) {
sleep(sleep_time);
@@ -313,6 +358,12 @@ static void new_format(void)
pgpgout + tog, pswpin + tog, pswpout + tog, intr + tog,
ctxt + tog, &running, &blocked, &dummy_1, &dummy_2);
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr);
+ }
+
duse =
cpu_use[tog] - cpu_use[!tog] + cpu_nic[tog] - cpu_nic[!tog];
dsys =
@@ -364,6 +415,12 @@ static void new_format(void)
/* st */
(unsigned)( (100*dstl+divo2)/Div )
);
+
+ if (t_option) {
+ printf(" %s", timebuf);
+ }
+
+ printf("\n");
}
}
@@ -453,11 +510,33 @@ static int diskpartition_format(const char *partition_name)
static void diskheader(void)
{
+ struct tm *tm_ptr;
+ time_t the_time;
+ char timebuf[32];
+
/* Translation Hint: Translating folloging header & fields
* that follow (marked with max x chars) might not work,
* unless manual page is translated as well. */
- printf(_("disk- ------------reads------------ ------------writes----------- -----IO------\n"));
- printf("%5s %6s %6s %7s %7s %6s %6s %7s %7s %6s %6s\n",
+ const char *header =
+ _("disk- ------------reads------------ ------------writes----------- -----IO------");
+ const char *wide_header =
+ _("disk- -------------------reads------------------- -------------------writes------------------ ------IO-------");
+ const char *timestamp_header = _(" -----timestamp-----");
+
+ const char format[] =
+ "%5s %6s %6s %7s %7s %6s %6s %7s %7s %6s %6s";
+ const char wide_format[] =
+ "%5s %9s %9s %11s %11s %9s %9s %11s %11s %7s %7s";
+
+ printf(w_option ? wide_header : header);
+
+ if (t_option) {
+ printf(timestamp_header);
+ }
+
+ printf("\n");
+
+ printf(w_option ? wide_format : format,
" ",
/* Translation Hint: max 6 chars */
_("total"),
@@ -479,25 +558,53 @@ static void diskheader(void)
_("cur"),
/* Translation Hint: max 6 chars */
_("sec"));
+
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ if (strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) {
+ timebuf[strlen(timestamp_header) - 1] = '\0';
+ } else {
+ timebuf[0] = '\0';
+ }
+ printf(" %*s", (int)(strlen(timestamp_header) - 1), timebuf);
+ }
+
+ printf("\n");
}
static void diskformat(void)
{
+ const char format[] =
+ "%-5s %6u %6u %7llu %7u %6u %6u %7llu %7u %6u %6u";
+ const char wide_format[] =
+ "%-5s %9u %9u %11llu %11u %9u %9u %11llu %11u %7u %7u";
+
FILE *fDiskstat;
struct disk_stat *disks;
struct partition_stat *partitions;
unsigned long ndisks, i, j, k;
- const char format[] = "%-5s %6u %6u %7llu %7u %6u %6u %7llu %7u %6u %6u\n";
+ struct tm *tm_ptr;
+ time_t the_time;
+ char timebuf[32];
+
if ((fDiskstat = fopen("/proc/diskstats", "rb"))) {
fclose(fDiskstat);
ndisks = getdiskstat(&disks, &partitions);
+
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr);
+ }
+
if (!moreheaders)
diskheader();
for (k = 0; k < ndisks; k++) {
if (moreheaders && ((k % height) == 0))
diskheader();
- printf(format,
+ printf(w_option ? wide_format : format,
disks[k].disk_name,
disks[k].reads,
disks[k].merged_reads,
@@ -510,31 +617,51 @@ static void diskformat(void)
disks[k].inprogress_IO ? disks[k].inprogress_IO / 1000 : 0,
disks[k].milli_spent_IO ? disks[k].
milli_spent_IO / 1000 : 0);
+
+ if (t_option) {
+ printf(" %s", timebuf);
+ }
+
+ printf("\n");
fflush(stdout);
}
free(disks);
free(partitions);
+
for (j = 1; infinite_updates || j < num_updates; j++) {
sleep(sleep_time);
ndisks = getdiskstat(&disks, &partitions);
- for (i = 0; i < ndisks; i++, k++) {
- if (moreheaders && ((k % height) == 0))
- diskheader();
- printf(format,
- disks[i].disk_name,
- disks[i].reads,
- disks[i].merged_reads,
- disks[i].reads_sectors,
- disks[i].milli_reading,
- disks[i].writes,
- disks[i].merged_writes,
- disks[i].written_sectors,
- disks[i].milli_writing,
- disks[i].inprogress_IO ? disks[i].inprogress_IO / 1000 : 0,
- disks[i].milli_spent_IO ? disks[i].
- milli_spent_IO / 1000 : 0);
- fflush(stdout);
- }
+
+ if (t_option) {
+ (void) time( &the_time );
+ tm_ptr = localtime( &the_time );
+ strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr);
+ }
+
+ for (i = 0; i < ndisks; i++, k++) {
+ if (moreheaders && ((k % height) == 0))
+ diskheader();
+ printf(w_option ? wide_format : format,
+ disks[i].disk_name,
+ disks[i].reads,
+ disks[i].merged_reads,
+ disks[i].reads_sectors,
+ disks[i].milli_reading,
+ disks[i].writes,
+ disks[i].merged_writes,
+ disks[i].written_sectors,
+ disks[i].milli_writing,
+ disks[i].inprogress_IO ? disks[i].inprogress_IO / 1000 : 0,
+ disks[i].milli_spent_IO ? disks[i].
+ milli_spent_IO / 1000 : 0);
+
+ if (t_option) {
+ printf(" %s", timebuf);
+ }
+
+ printf("\n");
+ fflush(stdout);
+ }
free(disks);
free(partitions);
}
@@ -740,6 +867,7 @@ int main(int argc, char *argv[])
{"partition", required_argument, NULL, 'p'},
{"unit", required_argument, NULL, 'S'},
{"wide", no_argument, NULL, 'w'},
+ {"timestamp", no_argument, NULL, 't'},
{"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 'V'},
{NULL, 0, NULL, 0}
@@ -754,7 +882,7 @@ int main(int argc, char *argv[])
atexit(close_stdout);
while ((c =
- getopt_long(argc, argv, "afmnsdDp:S:whV", longopts,
+ getopt_long(argc, argv, "afmnsdDp:S:wthV", longopts,
NULL)) != EOF)
switch (c) {
case 'V':
@@ -820,6 +948,9 @@ int main(int argc, char *argv[])
case 'w':
w_option = 1;
break;
+ case 't':
+ t_option = 1;
+ break;
default:
/* no other aguments defined yet. */
usage(stderr);
--
1.7.9.2
++++++ 0040-watch-Don-t-leak-extra-fds-to-the-child.patch ++++++
>From 835b6294d18a6ad79ff56aaeb0038bc6d006384b Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone(a)redhat.com>
Date: Tue, 4 Feb 2014 09:46:58 -0800
Subject: [PATCH] watch: Don't leak extra fds to the child
Once the write side of the pipe has been duped to stdout for the child,
the original pipefd is no longer needed, so it can be closed to avoid
leaking to the child.
The leak can easily be seen with "watch ls -l /proc/self/fd", but I
found this due to "watch lvs" diagnosing itself:
File descriptor 4 (pipe:[3163616]) leaked on lvs invocation.
Signed-off-by: Josh Stone <jistone(a)redhat.com>
---
watch.c | 1 +
1 file changed, 1 insertion(+)
diff --git watch.c watch.c
index 032dfb7..f0a3ec3 100644
--- watch.c
+++ watch.c
@@ -387,6 +387,7 @@ static int run_command(char *restrict command, char **restrict command_argv)
if (dup2(pipefd[1], 1) < 0) { /* replace stdout with write side of pipe */
xerr(3, _("dup2 failed"));
}
+ close(pipefd[1]); /* once duped, the write fd isn't needed */
dup2(1, 2); /* stderr should default to stdout */
if (flags & WATCH_EXEC) { /* pass command to exec instead of system */
--
1.7.9.2
++++++ 0041-vmstat-Fixing-format-security-flaws.patch ++++++
>From dc072aced7250fed9b01fb05f0d672678752a63e Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Wed, 5 Feb 2014 17:09:45 +0100
Subject: [PATCH] vmstat: Fixing format-security flaws
Previously the headers were printed directly without
the format specifier. That way is considered insecure
and leads to build errors with -Werror=format-security
flag set.
---
vmstat.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git vmstat.c vmstat.c
index a84d2d2..a2fd351 100644
--- vmstat.c
+++ vmstat.c
@@ -204,10 +204,10 @@ static void new_header(void)
"%2s %2s %12s %12s %12s %12s %4s %4s %5s %5s %4s %4s %3s %3s %3s %3s %3s";
- printf(w_option ? wide_header : header);
+ printf("%s", w_option ? wide_header : header);
if (t_option) {
- printf(timestamp_header);
+ printf("%s", timestamp_header);
}
printf("\n");
@@ -528,10 +528,10 @@ static void diskheader(void)
const char wide_format[] =
"%5s %9s %9s %11s %11s %9s %9s %11s %11s %7s %7s";
- printf(w_option ? wide_header : header);
+ printf("%s", w_option ? wide_header : header);
if (t_option) {
- printf(timestamp_header);
+ printf("%s", timestamp_header);
}
printf("\n");
--
1.7.9.2
++++++ 0043-Added-get-trans-target-to-Makefile.patch ++++++
>From 2ade4b082b8c970bb1e1a6711d79f82b90075431 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall(a)enc.com.au>
Date: Sat, 22 Feb 2014 11:34:53 +1100
Subject: [PATCH] Added get-trans target to Makefile
The get-trans target rsyncs the latest copies of translation files
from the translation project. I put this target in because I always
forget the exact syntax of the command.
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git Makefile.am Makefile.am
index 7075e67..335fbc5 100644
--- Makefile.am
+++ Makefile.am
@@ -123,3 +123,5 @@ $(top_srcdir)/.version:
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
+get-trans:
+ rsync -Lrtvz translationproject.org::tp/latest/procps/ po
--
1.7.9.2
++++++ 0045-library-properly-handle-memory-used-by-tmpfs.patch ++++++
Based on 3569c0351fae7797e8d62feae7229d2d6d2aa0a1 Mon Sep 17 00:00:00 2001
From: Jakob Unterwurzacher <jakobunt(a)gmail.com>
Date: Tue, 18 Feb 2014 22:12:21 +0100
Subject: [PATCH] library: properly handle memory used by tmpfs
tmpfs has become much more widely used since distributions use it for
/tmp (Fedora 18+). In /proc/meminfo, memory used by tmpfs is accounted
into "Cached" (aka "NR_FILE_PAGES",
http://lxr.free-electrons.com/source/mm/shmem.c#L301 ).
The tools just pass it on, so what top, free and vmstat report as
"cached" is the sum of page cache and tmpfs.
free has the extremely useful "-/+ buffers/cache" output. However, now
that tmpfs is accounted into "cached", those numbers are way off once
you have big files in /tmp.
Fortunately, kernel 2.6.32 introduces "Shmem", which makes tmpfs memory
usage accessible from userspace (
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=… ).
This patch substracts Shmem from Cached to get the actual page cache
memory. This makes both issues mentioned above disappear. For older
kernels, Shmem is not available (hence zero) and this patch is no-op.
Additionally:
* Update the man pages of free and vmstat to explain what is happening
* Finally drop "MemShared" from the /proc/meminfo parser, it has been
dead for 10+ years and is only causing confusion ( removed in kernel
2.5.54, see
https://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/?id=fe… )
---
free.1 | 29 ++++++++++++++++++++++++-----
proc/sysinfo.c | 8 ++++----
proc/sysinfo.h | 3 +--
vmstat.8 | 3 ++-
4 files changed, 31 insertions(+), 12 deletions(-)
diff --git free.1 free.1
index 1e8e7ef..21cce28 100644
--- free.1
+++ free.1
@@ -11,11 +11,30 @@ free \- Display amount of free and used memory in the system
.SH DESCRIPTION
.B free
displays the total amount of free and used physical and swap memory in the
-system, as well as the buffers used by the kernel.
-The shared memory column represents either the MemShared value (2.4 series
-kernels) or the Shmem value (2.6 series kernels and later) taken from the
-/proc/meminfo file. The value is zero if none of the entries is exported
-by the kernel.
+system, as well as the buffers and caches used by the kernel. The
+information is gathered by parsing /proc/meminfo. The displayed
+columns are:
+.TP
+\fBtotal\fR
+Total installed memory (MemTotal and SwapTotal in /proc/meminfo)
+.TP
+\fBused\fR
+Used memory (calculated as total - free)
+.TP
+\fBfree\fR
+Unused memory (MemFree and SwapFree in /proc/meminfo)
+.TP
+\fBshared\fR
+Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available on
+kernels 2.6.32, displayed as zero if not available)
+.TP
+\fBbuffers\fR
+Memory used by kernel buffers (Buffers in /proc/meminfo)
+.TP
+\fBcached\fR
+Memory used by the page cache (calculated as Cached - Shmem in
+/proc/meminfo - the Cached value is actually the sum of page cache and
+tmpfs memory)
.SH OPTIONS
.TP
\fB\-b\fR, \fB\-\-bytes\fR
diff --git proc/sysinfo.c proc/sysinfo.c
index 1680cc4..e07ca86 100644
--- proc/sysinfo.c
+++ proc/sysinfo.c
@@ -531,7 +531,6 @@ static int compare_mem_table_structs(const void *a, const void *b){
*
* MemTotal: 61768 kB old
* MemFree: 1436 kB old
- * MemShared: 0 kB old (now always zero; not calculated)
* Buffers: 1312 kB old
* Cached: 20932 kB old
* Active: 12464 kB new
@@ -560,7 +559,7 @@ static int compare_mem_table_structs(const void *a, const void *b){
* Hugepagesize: 4096 kB 2.5.??+
*/
-/* obsolete since 2.6.x, but reused for shmem in 2.6.32+ */
+/* Shmem in 2.6.32+ */
unsigned long kb_main_shared;
/* old but still kicking -- the important stuff */
unsigned long kb_main_buffers;
@@ -631,14 +630,13 @@ void meminfo(void){
{"LowTotal", &kb_low_total},
{"Mapped", &kb_mapped}, // kB version of vmstat nr_mapped
{"MemFree", &kb_main_free}, // important
- {"MemShared", &kb_main_shared}, // obsolete since kernel 2.6! (sharing the variable with Shmem replacement)
{"MemTotal", &kb_main_total}, // important
{"NFS_Unstable", &kb_nfs_unstable},
{"PageTables", &kb_pagetables}, // kB version of vmstat nr_page_table_pages
{"ReverseMaps", &nr_reversemaps}, // same as vmstat nr_page_table_pages
{"SReclaimable", &kb_swap_reclaimable}, // "swap reclaimable" (dentry and inode structures)
{"SUnreclaim", &kb_swap_unreclaimable},
- {"Shmem", &kb_main_shared}, // kernel 2.6 and later (sharing the output variable with obsolete MemShared)
+ {"Shmem", &kb_main_shared}, // kernel 2.6.32 and later
{"Slab", &kb_slab}, // kB version of vmstat nr_slab
{"SwapCached", &kb_swap_cached},
{"SwapFree", &kb_swap_free}, // important
@@ -690,6 +688,8 @@ nextline:
kb_main_used = 0;
}
kb_main_cached += kb_swap_reclaimable + kb_swap_cached + kb_nfs_unstable;
+ /* "Cached" includes "Shmem" - we want only the page cache here */
+ kb_main_cached -= kb_main_shared;
}
/*****************************************************************/
diff --git proc/sysinfo.h proc/sysinfo.h
index 1eb3472..2291631 100644
--- proc/sysinfo.h
+++ proc/sysinfo.h
@@ -20,8 +20,7 @@ extern int uptime (double *uptime_secs, double *idle_secs);
extern unsigned long getbtime(void);
extern void loadavg(double *av1, double *av5, double *av15);
-
-/* obsolete */
+/* Shmem in 2.6.32+ */
extern unsigned long kb_main_shared;
/* old but still kicking -- the important stuff */
extern unsigned long kb_main_buffers;
diff --git vmstat.8 vmstat.8
index 420d9f3..2782a42 100644
--- vmstat.8
+++ vmstat.8
@@ -102,7 +102,8 @@ b: The number of processes in uninterruptible sleep.
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
-cache: the amount of memory used as cache.
+cache: the amount of memory used as cache (excluding tmpfs memory for
+kernels 2.6.32+)
inact: the amount of inactive memory. (\-a option)
active: the amount of active memory. (\-a option)
.fi
--
1.7.9.2
++++++ 0046-Minor-i18n-fixes.patch ++++++
>From 2ec9f5c22e3eeaf4da514e0e6ec9374cfdbb9a99 Mon Sep 17 00:00:00 2001
From: Yuri Chornoivan <yurchor(a)ukr.net>
Date: Mon, 3 Mar 2014 21:58:56 +1100
Subject: [PATCH] Minor i18n fixes
Minor fixes that the translator (Yuri) has found in some of the
strings. You only know how many typos and thinkos you have when
someone is trying to translate it.
Signed-off-by: Craig Small <csmall(a)enc.com.au>
---
ps/help.c | 4 ++--
skill.c | 2 +-
slabtop.c | 4 ++++
top/top.c | 2 +-
top/top_nls.c | 2 +-
5 files changed, 9 insertions(+), 5 deletions(-)
diff --git ps/help.c ps/help.c
index 1b98b73..8bde12b 100644
--- ps/help.c
+++ ps/help.c
@@ -120,7 +120,7 @@ void do_help (const char *opt, int rc) {
fputs(_("\n"
" The selection options take as their argument either:\n"
" a comma-separated list e.g. '-u root,nobody' or\n"
- " or a blank-separated list e.g. '-p 123 4567'\n"), out);
+ " a blank-separated list e.g. '-p 123 4567'\n"), out);
}
if (section == HELP_OUT || section == HELP_ALL) {
fputs(_("\nOutput formats:\n"), out);
@@ -141,7 +141,7 @@ void do_help (const char *opt, int rc) {
fputs(_(" u user-oriented format\n"), out);
fputs(_(" v virtual memory format\n"), out);
fputs(_(" X register format\n"), out);
- fputs(_(" -y do not show flags, show rrs vs. addr (used with -l)\n"), out);
+ fputs(_(" -y do not show flags, show rss vs. addr (used with -l)\n"), out);
fputs(_(" --context display security context (for SELinux)\n"), out);
fputs(_(" --headers repeat header lines, one per page\n"), out);
fputs(_(" --no-headers do not print header at all\n"), out);
diff --git skill.c skill.c
index 9f3b4fc..2b1ce2f 100644
--- skill.c
+++ skill.c
@@ -751,7 +751,7 @@ int main(int argc, char ** argv)
kill_main(argc, argv);
break;
default:
- fprintf(stderr, _("skill: \"%s\" is not support\n"),
+ fprintf(stderr, _("skill: \"%s\" is not supported\n"),
program_invocation_short_name);
fprintf(stderr, USAGE_MAN_TAIL("skill(1)"));
return EXIT_FAILURE;
diff --git slabtop.c slabtop.c
index c135ec5..4be35b9 100644
--- slabtop.c
+++ slabtop.c
@@ -376,15 +376,19 @@ int main(int argc, char *argv[])
" %-35s: %.2fK / %.2fK / %.2fK\n\n",
/* Translation Hint: Next five strings must not
* exceed 35 length in characters. */
+ /* xgettext:no-c-format */
_("Active / Total Objects (% used)"),
stats.nr_active_objs, stats.nr_objs,
100.0 * stats.nr_active_objs / stats.nr_objs,
+ /* xgettext:no-c-format */
_("Active / Total Slabs (% used)"),
stats.nr_active_slabs, stats.nr_slabs,
100.0 * stats.nr_active_slabs / stats.nr_slabs,
+ /* xgettext:no-c-format */
_("Active / Total Caches (% used)"),
stats.nr_active_caches, stats.nr_caches,
100.0 * stats.nr_active_caches / stats.nr_caches,
+ /* xgettext:no-c-format */
_("Active / Total Size (% used)"),
stats.active_size / 1024.0, stats.total_size / 1024.0,
100.0 * stats.active_size / stats.total_size,
diff --git top/top.c top/top.c
index ca3d24a..d767495 100644
--- top/top.c
+++ top/top.c
@@ -779,7 +779,7 @@ static int show_pmt (const char *str) {
* Our special formatting consists of:
* "some text <_delimiter_> some more text <_delimiter_>...\n"
* Where <_delimiter_> is a two byte combination consisting of a
- * tilde followed by an ascii digit in the the range of 1 - 8.
+ * tilde followed by an ascii digit in the range of 1 - 8.
* examples: ~1, ~5, ~8, etc.
* The tilde is effectively stripped and the next digit
* converted to an index which is then used to select an
diff --git top/top_nls.c top/top_nls.c
index 0f37d89..b47459a 100644
--- top/top_nls.c
+++ top/top_nls.c
@@ -404,7 +404,7 @@ static void build_norm_nlstab (void) {
Norm_nlstab[YINSP_demo01_txt] = _("Open Files");
Norm_nlstab[YINSP_demo02_txt] = _("NUMA Info");
Norm_nlstab[YINSP_demo03_txt] = _("Log");
- Norm_nlstab[YINSP_deqfmt_txt] = _("the '=' key will eventually show the actual file read or command(s) excuted ...");
+ Norm_nlstab[YINSP_deqfmt_txt] = _("the '=' key will eventually show the actual file read or command(s) executed ...");
Norm_nlstab[YINSP_deqtyp_txt] = _("demo");
Norm_nlstab[YINSP_dstory_txt] = _(""
"This is simulated output representing the contents of some file or the output\n"
--
1.7.9.2
++++++ 0046-top-miscellaneous-accumulated-changes-to-program-cod.patch ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -1,4 +1,4 @@
-Based on 0caa6d6e676c8d28b933066d19c112b02ed59245 Mon Sep 17 00:00:00 2001
+From 0caa6d6e676c8d28b933066d19c112b02ed59245 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Wed, 7 May 2014 00:00:00 -0500
Subject: [PATCH] top: miscellaneous accumulated changes to program code
@@ -8,8 +8,9 @@
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
- top/top.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ top/top.c | 5 ++---
+ top/top_nls.c | 28 ++++++++++++++--------------
+ 2 files changed, 16 insertions(+), 17 deletions(-)
diff --git top/top.c top/top.c
index 9f33a05..bc755f3 100644
@@ -31,3 +32,111 @@
break;
default: // what we REALLY wanted (maybe)
if (isprint(key) && logCOL < bufMAX && phyCOL < Screen_cols) {
+@@ -4624,7 +4624,6 @@ static void keys_task (int ch) {
+ if (*str != kbd_ESC
+ && (errmsg = user_certify(w, str, ch)))
+ show_msg(errmsg);
+-
+ }
+ break;
+ case 'V':
+diff --git top/top_nls.c top/top_nls.c
+index 01c8d1e..ea1c088 100644
+--- top/top_nls.c
++++ top/top_nls.c
+@@ -129,31 +129,31 @@ static void build_two_nlstabs (void) {
+ /* Translation Hint: maximum 'UID' = 5 */
+ Head_nlstab[EU_UED] = _("UID");
+ Desc_nlstab[EU_UED] = _("Effective User Id");
+-/* Translation Hint: maximum 'USER' = 8 */
++/* Translation Hint: maximum 'USER' = 7 */
+ Head_nlstab[EU_UEN] = _("USER");
+ Desc_nlstab[EU_UEN] = _("Effective User Name");
+ /* Translation Hint: maximum 'RUID' = 5 */
+ Head_nlstab[EU_URD] = _("RUID");
+ Desc_nlstab[EU_URD] = _("Real User Id");
+-/* Translation Hint: maximum 'RUSER' = 8 */
++/* Translation Hint: maximum 'RUSER' = 7 */
+ Head_nlstab[EU_URN] = _("RUSER");
+ Desc_nlstab[EU_URN] = _("Real User Name");
+ /* Translation Hint: maximum 'SUID' = 5 */
+ Head_nlstab[EU_USD] = _("SUID");
+ Desc_nlstab[EU_USD] = _("Saved User Id");
+-/* Translation Hint: maximum 'SUSER' = 8 */
++/* Translation Hint: maximum 'SUSER' = 7 */
+ Head_nlstab[EU_USN] = _("SUSER");
+ Desc_nlstab[EU_USN] = _("Saved User Name");
+ /* Translation Hint: maximum 'GID' = 5 */
+ Head_nlstab[EU_GID] = _("GID");
+ Desc_nlstab[EU_GID] = _("Group Id");
+-/* Translation Hint: maximum 'GROUP' = 8 */
++/* Translation Hint: maximum 'GROUP' = 7 */
+ Head_nlstab[EU_GRP] = _("GROUP");
+ Desc_nlstab[EU_GRP] = _("Group Name");
+ /* Translation Hint: maximum 'PGRP' = 5 */
+ Head_nlstab[EU_PGD] = _("PGRP");
+ Desc_nlstab[EU_PGD] = _("Process Group Id");
+-/* Translation Hint: maximum 'TTY' = 8 */
++/* Translation Hint: maximum 'TTY' = 7 */
+ Head_nlstab[EU_TTY] = _("TTY");
+ Desc_nlstab[EU_TTY] = _("Controlling Tty");
+ /* Translation Hint: maximum 'TPGID' = 5 */
+@@ -180,7 +180,7 @@ static void build_two_nlstabs (void) {
+ /* Translation Hint: maximum '' = 6 */
+ Head_nlstab[EU_TME] = _("TIME");
+ Desc_nlstab[EU_TME] = _("CPU Time");
+-/* Translation Hint: maximum 'TIME+' = 9 */
++/* Translation Hint: maximum 'TIME+' = 7 */
+ Head_nlstab[EU_TM2] = _("TIME+");
+ Desc_nlstab[EU_TM2] = _("CPU Time, hundredths");
+ /* Translation Hint: maximum '%MEM' = 4 */
+@@ -222,7 +222,7 @@ static void build_two_nlstabs (void) {
+ /* Translation Hint: maximum 'WCHAN' = 7 */
+ Head_nlstab[EU_WCH] = _("WCHAN");
+ Desc_nlstab[EU_WCH] = _("Sleeping in Function");
+-/* Translation Hint: maximum 'Flags' = 8 */
++/* Translation Hint: maximum 'Flags' = 7 */
+ Head_nlstab[EU_FLG] = _("Flags");
+ Desc_nlstab[EU_FLG] = _("Task Flags <sched.h>");
+ /* Translation Hint: maximum 'CGROUPS' = 7 */
+@@ -241,7 +241,7 @@ static void build_two_nlstabs (void) {
+ /* Translation Hint: maximum 'Adj' = 3 */
+ Head_nlstab[EU_OOA] = _("Adj");
+ Desc_nlstab[EU_OOA] = _("oom_adjustment (2^X)");
+-/* Translation Hint: maximum 'Badness' = 8 */
++/* Translation Hint: maximum 'Badness' = 7 */
+ Head_nlstab[EU_OOM] = _("Badness");
+ Desc_nlstab[EU_OOM] = _("oom_score (badness)");
+ #endif
+@@ -259,22 +259,22 @@ static void build_two_nlstabs (void) {
+ /* Translation Hint: maximum 'USED' = 4 */
+ Head_nlstab[EU_USE] = _("USED");
+ Desc_nlstab[EU_USE] = _("Res+Swap Size (KiB)");
+-/* Translation Hint: maximum 'nsIPC' = 10 */
++/* Translation Hint: maximum 'nsIPC' = 7 */
+ Head_nlstab[EU_NS1] = _("nsIPC");
+ Desc_nlstab[EU_NS1] = _("IPC namespace Inode");
+-/* Translation Hint: maximum 'nsMNT' = 10 */
++/* Translation Hint: maximum 'nsMNT' = 7 */
+ Head_nlstab[EU_NS2] = _("nsMNT");
+ Desc_nlstab[EU_NS2] = _("MNT namespace Inode");
+-/* Translation Hint: maximum 'nsNET' = 10 */
++/* Translation Hint: maximum 'nsNET' = 7 */
+ Head_nlstab[EU_NS3] = _("nsNET");
+ Desc_nlstab[EU_NS3] = _("NET namespace Inode");
+-/* Translation Hint: maximum 'nsPID' = 10 */
++/* Translation Hint: maximum 'nsPID' = 7 */
+ Head_nlstab[EU_NS4] = _("nsPID");
+ Desc_nlstab[EU_NS4] = _("PID namespace Inode");
+-/* Translation Hint: maximum 'nsUSER' = 10 */
++/* Translation Hint: maximum 'nsUSER' = 7 */
+ Head_nlstab[EU_NS5] = _("nsUSER");
+ Desc_nlstab[EU_NS5] = _("USER namespace Inode");
+-/* Translation Hint: maximum 'nsUTS' = 10 */
++/* Translation Hint: maximum 'nsUTS' = 7 */
+ Head_nlstab[EU_NS6] = _("nsUTS");
+ Desc_nlstab[EU_NS6] = _("UTS namespace Inode");
+ }
+--
+1.7.9.2
+
++++++ 0047-sysctl-increase-max-supported-line-length-of-the-con.patch ++++++
>From 9c7e8b82f872e2d46ce866255ff132e0e6a0f937 Mon Sep 17 00:00:00 2001
From: Sami Farin <hvtaifwkbgefbaei(a)gmail.com>
Date: Fri, 14 Mar 2014 00:00:00 -0600
Subject: [PATCH] sysctl: increase max supported line length of the conf file
I ran into this limit with net.ipv4.ip_local_reserved_ports ,
sysctl complained about the line after the long line, further
slowing down my error hunting.
Due to fgets usage, increase buffer size to 4096 chars with
minimum amount of code changes.
Signed-off-by: Sami Farin <hvtaifwkbgefbaei(a)gmail.com>
---
sysctl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git sysctl.c sysctl.c
index 51af15d..fc224e5 100644
--- sysctl.c
+++ sysctl.c
@@ -483,14 +483,16 @@ static int pattern_match(const char *string, const char *pat)
return (1);
}
+#define LINELEN 4096
+
/*
* Preload the sysctl's from the conf file. We parse the file and then
* reform it (strip out whitespace).
*/
static int Preload(const char *restrict const filename)
{
- char oneline[256];
- char buffer[256];
+ char oneline[LINELEN];
+ char buffer[LINELEN];
FILE *fp;
char *t;
int n = 0;
--
1.7.9.2
++++++ 0049-fix-url-for-rsync.patch ++++++
>From 0b3f63456a1265e13274fd7c6ba0903e4cb3db5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tr=E1=BA=A7n=20Ng=E1=BB=8Dc=20Qu=C3=A2n?=
<vnwildman(a)gmail.com>
Date: Thu, 17 Apr 2014 14:12:01 +0700
Subject: [PATCH] fix url for rsync
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Trần Ngọc Quân <vnwildman(a)gmail.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git Makefile.am Makefile.am
index 335fbc5..b32e9ce 100644
--- Makefile.am
+++ Makefile.am
@@ -124,4 +124,4 @@ dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
get-trans:
- rsync -Lrtvz translationproject.org::tp/latest/procps/ po
+ rsync -Lrtvz translationproject.org::tp/latest/procps-ng/ po
--
1.7.9.2
++++++ 0051-top-update-copyright-dates-plus-1-preprocessor-chang.patch ++++++
>From e2868da34e6d2085fdafcd9b28cdbf01c69361c5 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Fri, 25 Apr 2014 00:00:00 -0600
Subject: [PATCH] top: update copyright dates plus 1 preprocessor change
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
top/top.c | 4 ++--
top/top.h | 2 +-
top/top_nls.c | 2 +-
top/top_nls.h | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git top/top.c top/top.c
index cbcb152..0428496 100644
--- top/top.c
+++ top/top.c
@@ -1,6 +1,6 @@
/* top.c - Source file: show Linux processes */
/*
- * Copyright (c) 2002-2013, by: James C. Warner
+ * Copyright (c) 2002-2014, by: James C. Warner
* All rights reserved. 8921 Hilloway Road
* Eden Prairie, Minnesota 55347 USA
*
@@ -3464,7 +3464,7 @@ static void configs_read (void) {
if (2 != fscanf(fp, "%3s\tfieldscur=%79s\n"
, w->rc.winname, w->rc.fieldscur))
goto default_or_error;
-#if PFLAGSSIZ > 80
+#if PFLAGSSIZ != 80
// too bad fscanf is not as flexible with his format string as snprintf
# error Hey, fix the above fscanf 'PFLAGSSIZ' dependency !
#endif
diff --git top/top.h top/top.h
index 5d1aead..836b9fb 100644
--- top/top.h
+++ top/top.h
@@ -1,6 +1,6 @@
/* top.h - Header file: show Linux processes */
/*
- * Copyright (c) 2002-2013, by: James C. Warner
+ * Copyright (c) 2002-2014, by: James C. Warner
* All rights reserved. 8921 Hilloway Road
* Eden Prairie, Minnesota 55347 USA
*
diff --git top/top_nls.c top/top_nls.c
index b47459a..01c8d1e 100644
--- top/top_nls.c
+++ top/top_nls.c
@@ -1,6 +1,6 @@
/* top_nls.c - provide the basis for future nls translations */
/*
- * Copyright (c) 2011-2013, by: James C. Warner
+ * Copyright (c) 2011-2014, by: James C. Warner
* All rights reserved. 8921 Hilloway Road
* Eden Prairie, Minnesota 55347 USA
*
diff --git top/top_nls.h top/top_nls.h
index 1b6d575..9010263 100644
--- top/top_nls.h
+++ top/top_nls.h
@@ -1,6 +1,6 @@
/* top_nls.h - provide the basis for future nls translations */
/*
- * Copyright (c) 2011-2013, by: James C. Warner
+ * Copyright (c) 2011-2014, by: James C. Warner
* All rights reserved. 8921 Hilloway Road
* Eden Prairie, Minnesota 55347 USA
*
--
1.7.9.2
++++++ 0052-top-refactor-man-document-so-as-to-allow-translation.patch ++++++
>From f3e55ee661d54bb667b3c0cf07411094ad7fc980 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Wed, 23 Apr 2014 00:00:01 -0500
Subject: [PATCH] top: refactor man document so as to allow translations
The majority of changes in this commit are intended to
enable translation of top's man page. There were three
kinds of errors as seen by that po4a-updatepo program.
. a valid but unrecognized request concerning no-break
. an internally defined macro with a groff .de request
. occasional apostrophe at the beginning of some lines
With respect to the apostrophe, some have been changed
to back-tic since line placement could not be assured.
And other parts were re-flowed to avoid temptations to
escape as \' (technically an acute accent). Of course,
the opening back-tic with closing apostrophe looks odd
when ASCII, but should be rendered correctly as UTF-8.
It may yet be necessary to change the remaining single
'opening' quotes to back-tics as translation proceeds.
Should that become necessary, I intend to reduce quote
usage to the bare minimum throughout the man document.
There were also some formatting changes to enhance the
man2html output and then to other formats via htmldoc.
And, I wish to acknowledge that my meager groff skills
do not serve those programs very well at all. In other
words groff yet remains mostly incomprehensible to me.
Lastly a few content plus copyright updates were made.
Message(s):
. Unknown macro '.c2 `'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
. This page defines a new macro with '.de'. Since po4a is not a real groff parser, this is not supported.
. Unknown macro ''real time' scheduling priority.'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
Reference(s):
. oriiginal post/patch
http://www.freelists.org/post/procps/Translations-for-man-pages
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
top/top.1 | 138 ++++++++++++++++++++++++++++++-------------------------------
1 file changed, 69 insertions(+), 69 deletions(-)
diff --git top/top.1 top/top.1
index f25acff..644ae46 100644
--- top/top.1
+++ top/top.1
@@ -1,7 +1,7 @@
.ig
. manual page for NEW and IMPROVED linux top
.
-. Copyright (c) 2002-2013, by: James C. Warner
+. Copyright (c) 2002-2014, by: James C. Warner
. All rights reserved. 8921 Hilloway Road
. Eden Prairie, Minnesota 55347 USA
.
@@ -13,14 +13,6 @@
.
.ll +(\n[half_xtra] + \n[half_xtra])
.
-\# ** we use single quote char (') a lot, so change the no-break ctrl char
-.c2 `
-.
-\# Our own Bullet style(s) --------------------------
-.de jBu
-.IP "o" 3
-..
-.
\# Commonly used strings (for consistency) ----------
\# - our em-dashes
.ds Em \fR\ \-\-\ \fR
@@ -32,11 +24,11 @@
.ds F \fIOff\fR
.ds O \fIOn\fR
.
-.ds AK asterisk (\'*\')
+.ds AK asterisk (`*')
.ds AM alternate\-display mode
.ds AS auxiliary storage
.ds CF configuration file
-.ds CG \'current\' window/field group
+.ds CG `current' window/field group
.ds CI interactive command
\# - Note: our 'Command Line' used in 2 places
\# ( and managed to fit in an 80x24 terminal )
@@ -44,7 +36,7 @@
\-\fBu\fR|\fBU\fR user \-\fBp\fR pid \-\fBo\fR fld \-\fBw\fR [cols] \fR
.ds CO command\-line option
.ds CT command toggle
-.ds CW \'current\' window
+.ds CW `current' window
.ds FG field group
.ds FM full\-screen mode
.ds KA arrow key
@@ -76,7 +68,7 @@
.
.\" Document /////////////////////////////////////////////////////////////
.\" ----------------------------------------------------------------------
-.TH TOP 1 "November 2013" "procps-ng" "User Commands"
+.TH TOP 1 "April 2014" "procps-ng" "User Commands"
.\" ----------------------------------------------------------------------
.\" ----------------------------------------------------------------------
@@ -646,8 +638,8 @@ The process ID (pid) of a task's parent.
.TP 4
16.\fB PR \*(Em Priority \fR
The scheduling priority of the task.
-If you see 'rt' in this field, it means the task is running under
-'real time' scheduling priority.
+If you see 'rt' in this field, it means the task is running
+under 'real time' scheduling priority.
Under linux, real time priority is somewhat misleading since traditionally
the operating itself was not preemptible.
@@ -880,27 +872,27 @@ Entries marked with an asterisk are the currently displayed fields,
screen width permitting.
.RS +4
-.jBu
+.IP \(bu 3
As the on screen instructions indicate, you navigate among the fields with
the\fB Up\fR and\fB Down\fR \*(KAs.
The PgUp, PgDn, Home and End keys can also be used to quickly reach the
first or last available field.
-.jBu
+.IP \(bu 3
The\fB Right\fR \*(KA selects a field for repositioning and
the\fB Left\fR \*(KA or the <\fBEnter\fR> key commits that field's
placement.
-.jBu
+.IP \(bu 3
The '\fBd\fR' key or the <\fBSpace\fR> bar toggles a field's display
status, and thus the presence or absence of the asterisk.
-.jBu
+.IP \(bu 3
The '\fBs\fR' key designates a field as the sort field.
\*(XT 4c. TASK AREA Commands, SORTING for additional information regarding
your selection of a sort field.
-.jBu
+.IP \(bu 3
The '\fBa\fR' and '\fBw\fR' keys can be used to cycle through all available
windows and the '\fBq\fR' or <\fBEsc\fR> keys exit Fields Management.
.RS -4
@@ -982,8 +974,8 @@ those \*(CIs applicable to \*(AM.
Removes restrictions on which tasks are shown.
This command will reverse any 'i' (idle tasks) and 'n' (max tasks)
commands that might be active.
-It also provides for an exit from pid monitoring, 'user' filtering and
-'other' filtering.
+It also provides for an exit from pid monitoring, 'user' filtering
+and 'other' filtering.
See the '\-p' \*(CO for a discussion of PID monitoring, the 'U' or 'u'
\*(CIs for user filtering and the 'O' or 'o' \*(CIs for 'other' filtering.
@@ -1138,7 +1130,7 @@ This \*(CI can be used to alter the widths of the following fields:
SUID 5 SUSER 8 nsMNT 10
UID 5 USER 8 nsNET 10
TTY 8 nsPID 10
- nsUSR 10
+ nsUSER 10
nsUTS 10
.fi
@@ -1268,10 +1260,10 @@ The \*(TA \*(CIs are\fB always\fR available in \*(FM.
The \*(TA \*(CIs are\fB never available\fR in \*(AM\fI if\fR the \*(CW's
\*(TD has been toggled \*F (\*(Xt 5. ALTERNATE\-DISPLAY Provisions).
-.TP 2
+.PP
.\" ..................................................
.B APPEARANCE\fR of \*(TW
-.PD 0
+
.TP 7
\ \ \ \fBJ\fR\ \ :\fIJustify-Numeric-Columns\fR toggle \fR
Alternates between right-justified (the default) and
@@ -1330,7 +1322,7 @@ the state of the 'x', 'y' or 'b' toggles.
.PP
.\" ..................................................
.B CONTENT\fR of \*(TW
-.PD 0
+
.TP 7
\ \ \ \fBc\fR\ \ :\fICommand-Line/Program-Name\fR toggle \fR
This command will be honored whether or not the 'COMMAND' column
@@ -1400,7 +1392,7 @@ mode in the \*(CW.
.PP
.\" ..................................................
.B SIZE\fR of \*(TW
-.PD 0
+
.TP 7
\ \ \ \fBi\fR\ \ :\fIIdle-Process\fR toggle \fR
Displays all tasks or just active tasks.
@@ -1425,10 +1417,12 @@ already been painted.
\*(NT If you wish to increase the size of the last visible \*(TD when in \*(AM,
simply decrease the size of the \*(TD(s) above it.
+.PP
-.TP 2
.\" ..................................................
.B SORTING\fR of \*(TW
+.PP
+.RS +3
For compatibility, this \*(We supports most of the former \*(We sort keys.
Since this is primarily a service to former \*(We users, these commands do
not appear on any help screen.
@@ -1462,10 +1456,8 @@ Moves the sort column to the right unless the current sort field is
the last field being displayed.
.PP
-.in +2
The following \*(CIs will\fB always\fR be honored whether or not
the current sort field is visible.
-.in
.TP 7
\ \ \ \fBf\fR | \fBF\fR\ \ :\fIFields-Management \fR
@@ -1479,10 +1471,9 @@ when running \*(We with column highlighting turned \*F.
Using this \*(CI you can alternate between high-to-low and low-to-high sorts.
.PP
-.in +2
\*(NT Field sorting uses internal values, not those in column display.
Thus, the TTY and WCHAN fields will violate strict ASCII collating sequence.
-.in
+.RE
.\" ......................................................................
.SS 4d. COLOR Mapping
@@ -1515,6 +1506,7 @@ The Color Mapping screen can also be used to change the \*(CG in
either \*(FM or \*(AM.
Whatever was targeted when 'q' or <Enter> was pressed will be made current
as you return to the \*(We display.
+.PP
.\" ----------------------------------------------------------------------
.SH 5. ALTERNATE\-DISPLAY Provisions
@@ -1537,6 +1529,7 @@ The \*(SA will always exist, even if it's only the message line.
At any given time only\fI one\fR \*(SA can be displayed.
However, depending on your commands, there could be from\fI zero \fR
to\fI four\fR separate \*(TDs currently showing on the screen.
+.PP
.TP 3
.B Current Window\fR:
@@ -1578,9 +1571,9 @@ and horizontal scrolling.
The '+' key does the same for all windows.
The four \*(TDs will reappear, evenly balanced.
-They will also have retained any customizations you had previously applied,
-except for the 'i' (idle tasks), 'n' (max tasks), 'u'/'U' (user filter),
-'o'/'O' (other filter) and scrolling \*(CIs.
+They will also have retained any customizations you had previously
+applied, except for the 'i' (idle tasks), 'n' (max tasks), 'u'/'U'
+(user filter), 'o'/'O' (other filter) and scrolling \*(CIs.
.TP 7
*\ \ \fBA\fR\ \ :\fIAlternate-Display-Mode\fR toggle \fR
@@ -1619,9 +1612,9 @@ It does not require that the window name be visible
.IP "*" 3
The \*(CIs shown with an \*(AK have use beyond \*(AM.
.nf
- \'=', 'A', 'g' are always available
- \'a', 'w' act the same with color mapping
- \ and fields management
+ '=', 'A', 'g' are always available
+ 'a', 'w' act the same with color mapping
+ and fields management
.fi
.\" ......................................................................
@@ -1790,28 +1783,31 @@ a mistake, command recall will be your friend.
Remember the Up/Down \*(KAs or their aliases when prompted for input.
.B Filter Basics
-.IP " . " 6
-field names are case sensitive and spelled as in the header
-.IP " . " 6
-selection values need not comprise the full displayed field
-.IP " . " 6
-a selection is either case insensitive or sensitive to case
-.IP " . " 6
-the default is inclusion, prepending '!' denotes exclusions
-.IP " . " 6
-multiple selection criteria can be applied to a \*(TW
-.IP " . " 6
-inclusion and exclusion criteria can be used simultaneously
-.IP " . " 6
-the 1 equality and 2 relational filters can be freely mixed
-.IP " . " 6
-separate unique filters are maintained for each \*(TW
-.RE
+.RS +3
+.TP 3
+1. field names are case sensitive and spelled as in the header
+.TP 3
+2. selection values need not comprise the full displayed field
+.TP 3
+3. a selection is either case insensitive or sensitive to case
+.TP 3
+4. the default is inclusion, prepending '!' denotes exclusions
+.TP 3
+5. multiple selection criteria can be applied to a \*(TW
+.TP 3
+6. inclusion and exclusion criteria can be used simultaneously
+.TP 3
+7. the 1 equality and 2 relational filters can be freely mixed
+.TP 3
+8. separate unique filters are maintained for each \*(TW
+.PP
If a field is not turned on or is not currently in view, then your selection
criteria will not affect the display.
Later, should a filtered field become visible, the selection criteria will
then be applied.
+.PP
+.RE
.B Keyboard Summary
.TP 6
@@ -1838,6 +1834,7 @@ It also has additional impact so please \*(Xt 4a. GLOBAL Commands.
This clears the selection criteria in all windows, assuming you are in \*(AM.
As with the '=' \*(CI, it too has additional consequences so you might wish to
\*(Xt 5b. COMMANDS for Windows.
+.PP
.RE
.B Input Requirements
@@ -1867,16 +1864,17 @@ with homogeneous data.
When some field's numeric amounts have been subjected to \fIscaling\fR
while others have not, that data is no longer homogeneous.
-If you establish a relational filter and you \fBhave\fR changed the default
-'Numeric' or 'Character' \fIjustification\fR, that filter is likely to fail.
+If you establish a relational filter and you \fBhave\fR changed the
+default 'Numeric' or 'Character' \fIjustification\fR, that filter is likely to fail.
When a relational filter is applied to a memory field and you \fBhave not\fR
changed the \fIscaling\fR, it may produce misleading results.
-This happens, for example, because '100.0m' (MiB) would appear greater than
-'1.000g' (GiB) when compared as strings.
+This happens, for example, because '100.0m' (MiB) would appear greater
+than '1.000g' (GiB) when compared as strings.
If your filtered results appear suspect, simply altering justification or
scaling may yet achieve the desired objective.
See the 'j', 'J' and 'e' \*(CIs for additional information.
+.PP
.RE
.B Potential Problems
@@ -1904,6 +1902,7 @@ So while amounts greater than 9999 exist, they will appear as 2.6m, 197k, etc.
.nf
nMin>9999 ( always a blank \*(TW )
.fi
+.PP
.RE
.B Potential Solutions
@@ -1940,13 +1939,14 @@ achieve the failed '9999' objective discussed above.
'PR>20' + '!PR=-' ( 2 for right result )
'!nMin=0 ' + '!nMin=1 ' + '!nMin=2 ' + '!nMin=3 ' ...
.fi
-.RE
+.RS -3
\*(NT When 'Other Filtering' is active, \*(We turns column highlighting
\*F to prevent false matches on internal non-display escape sequences.
Such highlighting will be restored when a window is no longer subject
to filtering.
\*(XC 'x' \*(CI for additional information on sort column highlighting.
+.RE
.\" ----------------------------------------------------------------------
.SH 6. FILES
@@ -1990,7 +1990,7 @@ Here is the general layout:
per ea # line a: winname,fieldscur
window # line b: winflags,sortindx,maxtasks
" # line c: summclr,msgsclr,headclr,taskclr
- global # line 15: fixed-width incr
+ global # line 15: width, memory scaling & zeroes overrides
" # any remaining lines are devoted to the
" # generalized 'inspect' provisions
" # discussed below
@@ -2132,7 +2132,7 @@ the authority.
For these stupid tricks, \*(We needs \*(FM.
.\" ( apparently AM static was a potential concern )
-.jBu
+.IP \(bu 3
The user interface, through prompts and help, intentionally implies
that the delay interval is limited to tenths of a second.
However, you're free to set any desired delay.
@@ -2155,7 +2155,7 @@ Then do the following:
What you'll see is a very busy Linux doing what he's always done for you,
but there was no program available to illustrate this.
-.jBu
+.IP \(bu 3
Under an xterm using 'white-on-black' colors, on \*(We's Color Mapping screen
set the task color to black and be sure that task highlighting is set to bold,
not reverse.
@@ -2164,7 +2164,7 @@ Then set the delay interval to around .3 seconds.
After bringing the most active processes into view, what you'll see are
the ghostly images of just the currently running tasks.
-.jBu
+.IP \(bu 3
Delete the existing rcfile, or create a new symlink.
Start this new version then type 'T' (a secret key,
\*(Xt 4c. Task Area Commands, SORTING) followed by 'W' and 'q'.
@@ -2180,19 +2180,19 @@ on whether or not \*(We will ever reach the \*(We.
.\" ----------------------------------------------------------------------
For these stupid tricks, \*(We needs \*(AM.
-.jBu
+.IP \(bu 3
With 3 or 4 \*(TDs visible, pick any window other than the last
and turn idle processes \*F using the 'i' \*(CT.
Depending on where you applied 'i', sometimes several \*(TDs are bouncing and
sometimes it's like an accordion, as \*(We tries his best to allocate space.
-.jBu
+.IP \(bu 3
Set each window's summary lines differently: one with no memory ('m'); another
with no states ('t'); maybe one with nothing at all, just the message line.
Then hold down 'a' or 'w' and watch a variation on bouncing windows \*(Em
hopping windows.
-.jBu
+.IP \(bu 3
Display all 4 windows and for each, in turn, set idle processes to \*F using
the 'i' \*(CT.
You've just entered the "extreme bounce" zone.
@@ -2202,7 +2202,7 @@ You've just entered the "extreme bounce" zone.
.\" ----------------------------------------------------------------------
This stupid trick also requires \*(AM.
-.jBu
+.IP \(bu 3
Display all 4 windows and make sure that 1:Def is the \*(CW.
Then, keep increasing window size with the 'n' \*(CI until all the other
\*(TDs are "pushed out of the nest".
@@ -2219,7 +2219,7 @@ Then ponder this:
This stupid trick works best without \*(AM, since justification is active
on a per window basis.
-.jBu
+.IP \(bu 3
Start \*(We and make COMMAND the last (rightmost) column displayed.
If necessary, use the 'c' \*(CT to display command lines and ensure
that forest view mode is active with the 'V' \*(CT.
--
1.7.9.2
++++++ 0053-top-minimize-the-usage-of-apostrophes-in-man-documen.patch ++++++
++++ 614 lines (skipped)
++++++ 0054-top-swap-opening-quotes-for-back-tics-in-man-documen.patch ++++++
++++ 1056 lines (skipped)
++++++ 0055-misc-fix-man-doc-spelling-and-grammar-for-translatio.patch ++++++
>From ada443268e7f8c4526e6b048c98457679665b727 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Wed, 23 Apr 2014 00:00:04 -0500
Subject: [PATCH] misc: fix man doc spelling and grammar for translation
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
ps/ps.1 | 2 +-
sysctl.8 | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git ps/ps.1 ps/ps.1
index cdb7536..90f12ac 100644
--- ps/ps.1
+++ ps/ps.1
@@ -1683,7 +1683,7 @@ number of kernel threads owned by the process.
T}
tid TID T{
-the unique number representing a dispatacable entity (alias
+the unique number representing a dispatchable entity (alias
.BR lwp , \ spid ).
This value may also appear as: a process ID (pid); a process group ID (pgrp);
a session ID for the session leader (sid); a thread group ID for the thread
diff --git sysctl.8 sysctl.8
index faf2255..a74b2d7 100644
--- sysctl.8
+++ sysctl.8
@@ -63,8 +63,8 @@ Load in sysctl settings from the file specified or /etc/sysctl.conf if none
given. Specifying \- as filename means reading data from standard input.
Using this option will mean arguments to
.B sysctl
-are files, which are read in order they are specified. The file argument can
-may be specified as reqular expression.
+are files, which are read in the order they are specified.
+The file argument may be specified as reqular expression.
.TP
\fB\-a\fR, \fB\-\-all\fR
Display all values currently available.
@@ -112,10 +112,10 @@ Alias of \fB\-p\fR
Alias of \fB\-a\fR
.TP
\fB\-o\fR
-Does nothing in favour of BSD compatibility.
+Does nothing, exists for BSD compatibility.
.TP
\fB\-x\fR
-Does nothing in favour of BSD compatibility.
+Does nothing, exists for BSD compatibility.
.TP
\fB\-h\fR, \fB\-\-help\fR
Display help text and exit.
--
1.7.9.2
++++++ 0058-library-reverting-tmpfs-subtraction-from-cached-18-F.patch ++++++
Based on 2f96eef7f86a12b81badef1c91ec2d503ae4029d Mon Sep 17 00:00:00 2001
From: Jaromir Capik <jcapik(a)redhat.com>
Date: Wed, 30 Apr 2014 13:59:34 +0200
Subject: [PATCH] library: reverting tmpfs subtraction from cached
(18-FEB-2014)
The subtraction was marked as reinforcing the misconception,
that memory in the page cache can be considered free.
The Cached value is not a sum of page cache and tmpfs,
as the tmpfs memory lives in the page cache and therefore
it's an inseparable part of it.
---
free.1 | 4 +---
proc/sysinfo.c | 2 --
vmstat.8 | 3 +--
3 files changed, 2 insertions(+), 7 deletions(-)
diff --git free.1 free.1
index 21cce28..85efef8 100644
--- free.1
+++ free.1
@@ -32,9 +32,7 @@ kernels 2.6.32, displayed as zero if not available)
Memory used by kernel buffers (Buffers in /proc/meminfo)
.TP
\fBcached\fR
-Memory used by the page cache (calculated as Cached - Shmem in
-/proc/meminfo - the Cached value is actually the sum of page cache and
-tmpfs memory)
+Memory used by the page cache (Cached in /proc/meminfo)
.SH OPTIONS
.TP
\fB\-b\fR, \fB\-\-bytes\fR
diff --git proc/sysinfo.c proc/sysinfo.c
index e07ca86..85fb0a4 100644
--- proc/sysinfo.c
+++ proc/sysinfo.c
@@ -688,8 +688,6 @@ nextline:
kb_main_used = 0;
}
kb_main_cached += kb_swap_reclaimable + kb_swap_cached + kb_nfs_unstable;
- /* "Cached" includes "Shmem" - we want only the page cache here */
- kb_main_cached -= kb_main_shared;
}
/*****************************************************************/
diff --git vmstat.8 vmstat.8
index 2782a42..420d9f3 100644
--- vmstat.8
+++ vmstat.8
@@ -102,8 +102,7 @@ b: The number of processes in uninterruptible sleep.
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
-cache: the amount of memory used as cache (excluding tmpfs memory for
-kernels 2.6.32+)
+cache: the amount of memory used as cache.
inact: the amount of inactive memory. (\-a option)
active: the amount of active memory. (\-a option)
.fi
--
1.7.9.2
++++++ 0060-top-miscellaneous-accumulated-changes-to-man-documen.patch ++++++
>From 444fa7102b7f130734e35b45ce86fcc15d307a71 Mon Sep 17 00:00:00 2001
From: Jim Warner <james.warner(a)comcast.net>
Date: Wed, 7 May 2014 00:00:00 -0500
Subject: [PATCH] top: miscellaneous accumulated changes to man document
Signed-off-by: Jim Warner <james.warner(a)comcast.net>
---
top/top.1 | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git top/top.1 top/top.1
index 67b8b35..5ce405e 100644
--- top/top.1
+++ top/top.1
@@ -1062,7 +1062,7 @@ Otherwise, \*(We displays a summation of all threads in each process.
.TP 7
\ \ \ \fBI\fR\ \ :\fIIrix/Solaris-Mode\fR toggle \fR
-When operating in Solaris mode ('I' toggled \*F), a task's \*(Pu usage
+When operating in Solaris mode (`I' toggled \*F), a task's \*(Pu usage
will be divided by the total number of \*(PUs.
After issuing this command, you'll be told the new state of this toggle.
@@ -1216,7 +1216,7 @@ This command affects from 2 to many \*(SA lines, depending on the state
of the `1', `2' or `3' \*(CTs and whether or not \*(We is running under
true SMP.
-This portion of the \*(SA is also influenced by the 'H' \*(CI toggle,
+This portion of the \*(SA is also influenced by the `H' \*(CI toggle,
as reflected in the total label which shows either Tasks or Threads.
.TP 7
@@ -1856,7 +1856,7 @@ These examples use spaces for clarity but your input generally would not.
Items #1, #3 and #4 should be self\-explanatory.
Item \fB#2\fR represents both a required \fIdelimiter\fR and the \fIoperator\fR
-which must be one of either equality ('=') or relation ('<' or `>').
+which must be one of either equality (`=') or relation (`<' or `>').
The `=' equality operator requires only a partial match and that
can reduce your `if\-value' input requirements.
@@ -2229,7 +2229,7 @@ If necessary, use the `c' \*(CT to display command lines and ensure
that forest view mode is active with the `V' \*(CT.
Then use the up/down arrow keys to position the display so that some
-truncated command lines are shown ('+' in last position).
+truncated command lines are shown (`+' in last position).
You may have to resize your xterm to produce truncation.
Lastly, use the `j' \*(CT to make the COMMAND column right justified.
--
1.7.9.2
++++++ procps-ng-3.3.8-bnc634071_procstat2.diff ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -1,232 +1,62 @@
---- proc/ksym.c
-+++ proc/ksym.c 2012-06-04 10:06:03.792202072 +0000
-@@ -41,7 +41,7 @@
- #define KSYMS_FILENAME "/would/be/nice/to/have/this/file"
- #define SYSMAP_FILENAME "/home/albert/ps/45621/System.map-hacked"
- #define linux_version_code 131598 /* ? */
--#define smp_num_cpus 2
-+#define smp_num_cpus() 2
- #endif
-
- #if 0
-@@ -49,7 +49,7 @@
- #define KSYMS_FILENAME "/home/albert/ps/45621/ksyms-2.3.12"
- #define SYSMAP_FILENAME "/home/albert/ps/45621/System.map-2.3.12"
- #define linux_version_code 131852 /* 2.3.12 */
--#define smp_num_cpus 2
-+#define smp_num_cpus() 2
- #endif
-
- #if 0
-@@ -57,7 +57,7 @@
- #define KSYMS_FILENAME "/home/albert/ps/45621/ksyms-2.3.18ac8-MODVERS"
- #define SYSMAP_FILENAME "/home/albert/ps/45621/System.map-2.3.18ac8-MODVERS"
- #define linux_version_code 131858 /* 2.3.18ac8 */
--#define smp_num_cpus 2
-+#define smp_num_cpus() 2
- #endif
-
- #if 0
-@@ -65,7 +65,7 @@
- #define KSYMS_FILENAME "/home/albert/ps/45621/ksyms-2.3.18ac8-NOMODVERS"
- #define SYSMAP_FILENAME "/home/albert/ps/45621/System.map-2.3.18ac8-NOMODVERS"
- #define linux_version_code 131858 /* 2.3.18ac8 */
--#define smp_num_cpus 2
-+#define smp_num_cpus() 2
- #endif
-
- /* These are the symbol types, with relative popularity:
+--- proc/libprocps.sym
++++ proc/libprocps.sym 2014-05-16 10:01:38.446310070 +0000
+@@ -57,6 +57,7 @@ global:
+ signal_name_to_number;
+ signal_number_to_name;
+ smp_num_cpus;
++ __smp_num_cpus;
+ sprint_uptime;
+ strtosig;
+ tty_to_dev;
--- proc/sysinfo.c
+++ proc/sysinfo.c 2013-05-29 11:26:47.797640941 +0000
-@@ -37,8 +37,6 @@
+@@ -37,7 +37,8 @@
#include <netinet/in.h> /* htons */
#endif
-long smp_num_cpus; /* number of CPUs */
--
++#undef smp_num_cpus
++long smp_num_cpus = -1; /* number of CPUs */
+
#define BAD_OPEN_MESSAGE \
"Error: /proc must be mounted\n" \
- " To mount /proc at boot you need an /etc/fstab line like:\n" \
-@@ -200,7 +198,7 @@ static void old_Hertz_hack(void){
- free(savelocale);
- jiffies = user_j + nice_j + sys_j + other_j + wait_j + hirq_j + sirq_j + stol_j ;
- seconds = (up_1 + up_2) / 2;
-- h = (unsigned)( (double)jiffies/seconds/smp_num_cpus );
-+ h = (unsigned)( (double)jiffies/seconds/smp_num_cpus() );
- /* actual values used by 2.4 kernels: 32 64 100 128 1000 1024 1200 */
- switch(h){
- case 9 ... 11 : Hertz = 10; break; /* S/390 (sometimes) */
-@@ -271,8 +269,6 @@ static void init_libproc(void){
- have_privs = check_for_privs();
- init_Linux_version(); /* Must be called before we check code */
-
-- cpuinfo();
--
- #ifdef __linux__
- if(linux_version_code > LINUX_VERSION(2, 4, 0)){
- Hertz = find_elf_note(AT_CLKTCK);
-@@ -1012,7 +1008,12 @@ out:
+@@ -1012,7 +1012,11 @@ out:
///////////////////////////////////////////////////////////////////////////
-void cpuinfo (void) {
-+long smp_num_cpus (void) {
-+ static long _smp_num_cpus=-1;
++long __smp_num_cpus (void) {
+
-+ if (_smp_num_cpus != -1)
-+ return(_smp_num_cpus);
++ if (smp_num_cpus != -1)
++ return(smp_num_cpus);
+
// ought to count CPUs in /proc/stat instead of relying
// on glibc, which foolishly tries to parse /proc/cpuinfo
// note: that may have been the case but now /proc/stat
-@@ -1024,7 +1025,9 @@ void cpuinfo (void) {
+@@ -1024,7 +1029,11 @@ void cpuinfo (void) {
// _SC_NPROCESSORS_CONF returns 2, resulting in HZ=512
// _SC_NPROCESSORS_ONLN returns 1, which should work OK
- smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
- if (smp_num_cpus<1) /* SPARC glibc is buggy */
- smp_num_cpus=1;
-+ _smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
-+ if (_smp_num_cpus<1) /* SPARC glibc is buggy */
-+ _smp_num_cpus=1;
++ smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
++ if (smp_num_cpus<1) /* SPARC glibc is buggy */
++ smp_num_cpus=1;
+
-+ return _smp_num_cpus;
++ return smp_num_cpus;
}
++
++void cpuinfo (void) { (void)__smp_num_cpus(); }
--- proc/sysinfo.h
+++ proc/sysinfo.h 2012-06-04 10:04:15.812509959 +0000
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,8 @@
EXTERN_C_BEGIN
extern unsigned long long Hertz; /* clock tick frequency */
-extern long smp_num_cpus; /* number of CPUs */
-+extern long smp_num_cpus(void); /* number of CPUs */
++extern long __smp_num_cpus(void); /* number of CPUs */
++#define smp_num_cpus __smp_num_cpus()
extern int have_privs; /* boolean, true if setuid or similar */
#if 0
-@@ -137,7 +137,5 @@ extern unsigned int getslabinfo (struct
-
- extern unsigned get_pid_digits(void) FUNCTION;
-
--extern void cpuinfo (void);
--
- EXTERN_C_END
- #endif /* SYSINFO_H */
---- top/top.c
-+++ top/top.c 2013-05-29 11:28:34.945439635 +0000
-@@ -411,7 +411,7 @@ static void bye_bye (const char *str) {
- , LINUX_VERSION_PATCH(linux_version_code)
- , procps_version
- , (unsigned)Hertz, (unsigned)sizeof(Hertz), (unsigned)sizeof(Hertz) * 8
-- , Page_size, Cpu_faux_tot, (int)smp_num_cpus, (unsigned)sizeof(CPU_t)
-+ , Page_size, Cpu_faux_tot, (int)smp_num_cpus(), (unsigned)sizeof(CPU_t)
- , (unsigned)sizeof(HST_t), Page_size / (unsigned)sizeof(HST_t), HHist_siz
- , (unsigned)sizeof(proc_t), (unsigned)sizeof(p->cmd), (unsigned)sizeof(proc_t*)
- , (long)Frames_libflags
-@@ -2230,7 +2230,7 @@ static void zap_fieldstab (void) {
- /*** hotplug_acclimated ***/
-
- Fieldstab[P_CPN].width = 1;
-- if (1 < (digits = (unsigned)snprintf(buf, sizeof(buf), "%u", (unsigned)smp_num_cpus))) {
-+ if (1 < (digits = (unsigned)snprintf(buf, sizeof(buf), "%u", (unsigned)smp_num_cpus()))) {
- if (5 < digits) error_exit(N_txt(FAIL_widecpu_txt));
- Fieldstab[P_CPN].width = digits;
- }
-@@ -2238,9 +2238,9 @@ static void zap_fieldstab (void) {
- #ifdef BOOST_PERCNT
- Cpu_pmax = 99.9;
- Fieldstab[P_CPU].width = 5;
-- if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
-- Cpu_pmax = 100.0 * smp_num_cpus;
-- if (smp_num_cpus > 10) {
-+ if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
-+ Cpu_pmax = 100.0 * smp_num_cpus();
-+ if (smp_num_cpus() > 10) {
- if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
- } else {
- if (Cpu_pmax > 999.9) Cpu_pmax = 999.9;
-@@ -2249,9 +2249,9 @@ static void zap_fieldstab (void) {
- #else
- Cpu_pmax = 99.9;
- Fieldstab[P_CPU].width = 4;
-- if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
-- Cpu_pmax = 100.0 * smp_num_cpus;
-- if (smp_num_cpus > 10) {
-+ if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
-+ Cpu_pmax = 100.0 * smp_num_cpus();
-+ if (smp_num_cpus() > 10) {
- if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
- } else {
- if (Cpu_pmax > 999.9) Cpu_pmax = 999.9;
-@@ -2294,8 +2294,8 @@ static void zap_fieldstab (void) {
- * cpus[sumSLOT] == tics from the 1st /proc/stat line
- * [ and beyond sumSLOT == tics for each cpu NUMA node ] */
- static CPU_t *cpus_refresh (CPU_t *cpus) {
-- #define sumSLOT ( smp_num_cpus )
-- #define totSLOT ( 1 + smp_num_cpus + Numa_node_tot)
-+ #define sumSLOT ( smp_num_cpus() )
-+ #define totSLOT ( 1 + smp_num_cpus() + Numa_node_tot)
- static FILE *fp = NULL;
- static int siz, sav_slot = -1;
- static char *buf;
-@@ -2358,7 +2358,7 @@ static CPU_t *cpus_refresh (CPU_t *cpus)
- we'll force it to be treated as 'idle' so as not to present misleading
- percentages. */
- cpus[sumSLOT].edge =
-- ((cpus[sumSLOT].cur.tot - cpus[sumSLOT].sav.tot) / smp_num_cpus) / (100 / TICS_EDGE);
-+ ((cpus[sumSLOT].cur.tot - cpus[sumSLOT].sav.tot) / smp_num_cpus()) / (100 / TICS_EDGE);
- #endif
-
- #ifndef NUMA_DISABLE
-@@ -2496,7 +2496,7 @@ static void procs_hlp (proc_t *this) {
- oldtimev.tv_usec = timev.tv_usec;
-
- // if in Solaris mode, adjust our scaling for all cpus
-- Frame_etscale = 100.0f / ((float)Hertz * (float)et * (Rc.mode_irixps ? 1 : smp_num_cpus));
-+ Frame_etscale = 100.0f / ((float)Hertz * (float)et * (Rc.mode_irixps ? 1 : smp_num_cpus()));
- #ifdef OFF_HST_HASH
- maxt_sav = Frame_maxtask;
- #endif
-@@ -2649,8 +2649,7 @@ static void sysinfo_refresh (int forced)
- #ifndef PRETEND8CPUS
- /*** hotplug_acclimated ***/
- if (300 <= cur_secs - cpu_secs) {
-- cpuinfo();
-- Cpu_faux_tot = smp_num_cpus;
-+ Cpu_faux_tot = smp_num_cpus();
- cpu_secs = cur_secs;
- #ifndef NUMA_DISABLE
- if (Libnuma_handle)
-@@ -3219,9 +3219,8 @@ static void before (char *me) {
-
- // establish cpu particulars
- #ifdef PRETEND8CPUS
-- smp_num_cpus = 8;
-+ Cpu_faux_tot = 8;
- #endif
-- Cpu_faux_tot = smp_num_cpus;
- Cpu_States_fmts = N_unq(STATE_lin2x4_fmt);
- if (linux_version_code > LINUX_VERSION(2, 5, 41))
- Cpu_States_fmts = N_unq(STATE_lin2x5_fmt);
-@@ -5020,19 +5019,19 @@ static void summary_show (void) {
- if (CHKw(w, View_CPUNOD)) {
- if (Numa_node_sel < 0) {
- // display the 1st /proc/stat line, then the nodes (if room)
-- summary_hlp(&smpcpu[smp_num_cpus], N_txt(WORD_allcpus_txt));
-+ summary_hlp(&smpcpu[smp_num_cpus()], N_txt(WORD_allcpus_txt));
- Msg_row += 1;
- // display each cpu node's states
- for (i = 0; i < Numa_node_tot; i++) {
- if (!isROOM(anyFLG, 1)) break;
- snprintf(tmp, sizeof(tmp), N_fmt(NUMA_nodenam_fmt), i);
-- summary_hlp(&smpcpu[1 + smp_num_cpus + i], tmp);
-+ summary_hlp(&smpcpu[1 + smp_num_cpus() + i], tmp);
- Msg_row += 1;
- }
- } else {
- // display the node summary, then the associated cpus (if room)
- snprintf(tmp, sizeof(tmp), N_fmt(NUMA_nodenam_fmt), Numa_node_sel);
-- summary_hlp(&smpcpu[1 + smp_num_cpus + Numa_node_sel], tmp);
-+ summary_hlp(&smpcpu[1 + smp_num_cpus() + Numa_node_sel], tmp);
- Msg_row += 1;
- for (i = 0; i < Cpu_faux_tot; i++) {
- if (Numa_node_sel == smpcpu[i].node) {
++++++ procps-ng-3.3.8-top.1.diff ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -9,37 +9,3 @@
.
.ll +(\n[half_xtra] + \n[half_xtra])
.
-@@ -32,11 +32,11 @@
- .ds F \fIOff\fR
- .ds O \fIOn\fR
- .
--.ds AK asterisk (\'*\')
-+.ds AK asterisk ('*')
- .ds AM alternate\-display mode
- .ds AS auxiliary storage
- .ds CF configuration file
--.ds CG \'current\' window/field group
-+.ds CG 'current' window/field group
- .ds CI interactive command
- \# - Note: our 'Command Line' used in 2 places
- \# ( and managed to fit in an 80x24 terminal )
-@@ -44,7 +44,7 @@
- \-\fBu\fR|\fBU\fR user \-\fBp\fR pid \-\fBo\fR fld \-\fBw\fR [cols] \fR
- .ds CO command\-line option
- .ds CT command toggle
--.ds CW \'current\' window
-+.ds CW 'current' window
- .ds FG field group
- .ds FM full\-screen mode
- .ds KA arrow key
-@@ -1578,8 +1578,8 @@ It does not require that the window name
- .IP "*" 3
- The \*(CIs shown with an \*(AK have use beyond \*(AM.
- .Bd -literal -compact
-- \'=', 'A', 'g' are always available
-- \'a', 'w' act the same with color mapping
-+ '=', 'A', 'g' are always available
-+ 'a', 'w' act the same with color mapping
- \ and fields management
- .Ed
-
++++++ procps-ng-3.3.9-w-notruncate.diff ++++++
--- w.c
+++ w.c 2014-05-15 13:26:57.162238550 +0000
@@ -451,6 +451,7 @@ static void __attribute__ ((__noreturn__
fputs(_(" -h, --no-header do not print header\n"),out);
fputs(_(" -u, --no-current ignore current process username\n"),out);
fputs(_(" -s, --short short format\n"),out);
+ fputs(_(" -n, --no-truncat non truncated listing (large)\n"),out);
fputs(_(" -f, --from show remote hostname field\n"),out);
fputs(_(" -o, --old-style old style output\n"),out);
fputs(_(" -i, --ip-addr display IP address instead of hostname (if possible)\n"), out);
@@ -487,6 +488,7 @@ int main(int argc, char **argv)
{"no-header", no_argument, NULL, 'h'},
{"no-current", no_argument, NULL, 'u'},
{"short", no_argument, NULL, 's'},
+ {"no-truncat", no_argument, NULL, 'n'},
{"from", no_argument, NULL, 'f'},
{"old-style", no_argument, NULL, 'o'},
{"ip-addr", no_argument, NULL, 'i'},
++++++ procps-ng-3.3.8-watch.patch -> procps-ng-3.3.9-watch.patch ++++++
--- /work/SRC/openSUSE:Factory/procps/procps-ng-3.3.8-watch.patch 2013-06-05 13:35:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.procps.new/procps-ng-3.3.9-watch.patch 2014-05-27 07:09:00.000000000 +0200
@@ -1,6 +1,6 @@
--- configure.ac
-+++ configure.ac 2013-05-29 10:45:47.473939111 +0000
-@@ -69,7 +69,7 @@ AC_FUNC_MMAP
++++ configure.ac 2013-05-29 10:45:47.000000000 +0000
+@@ -70,7 +70,7 @@ AC_FUNC_MMAP
AC_FUNC_REALLOC
AC_FUNC_STRTOD
@@ -10,10 +10,10 @@
AM_GNU_GETTEXT_VERSION([0.14.1])
--- proc/libprocps.sym
-+++ proc/libprocps.sym 2013-05-29 10:46:13.165439719 +0000
-@@ -12,6 +12,7 @@ global:
- free_slabinfo;
- freeproc;
++++ proc/libprocps.sym 2014-05-15 13:16:40.950235845 +0000
+@@ -14,6 +14,7 @@ global:
+ get_ns_id;
+ get_ns_name;
get_pid_digits;
+ get_proc_stats;
get_slabinfo;
++++++ procps-ng-3.3.8.tar.xz -> procps-ng-3.3.9.tar.xz ++++++
++++ 17205 lines of diff (skipped)
++++++ procps-v3.3.4-large_pcpu.patch ++++++
--- /var/tmp/diff_new_pack.rjAhlH/_old 2014-05-27 07:09:03.000000000 +0200
+++ /var/tmp/diff_new_pack.rjAhlH/_new 2014-05-27 07:09:03.000000000 +0200
@@ -2,16 +2,16 @@
+++ top/top.c 2012-10-30 11:34:42.634844811 +0000
@@ -1910,8 +1910,15 @@ static void zap_fieldstab (void) {
Fieldstab[P_CPU].width = 5;
- if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
- Cpu_pmax = 100.0 * smp_num_cpus();
-- if (smp_num_cpus() > 10) {
-+ if (smp_num_cpus() > 1000) {
+ if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
+ Cpu_pmax = 100.0 * smp_num_cpus;
+- if (smp_num_cpus > 10) {
++ if (smp_num_cpus > 1000) {
+ if (Cpu_pmax > 9999999.0) Cpu_pmax = 9999999.0;
+ Fieldstab[P_CPU].width = 8;
-+ } else if (smp_num_cpus() > 100) {
++ } else if (smp_num_cpus > 100) {
+ if (Cpu_pmax > 999999.0) Cpu_pmax = 999999.0;
+ Fieldstab[P_CPU].width = 7;
-+ } else if (smp_num_cpus() > 10) {
++ } else if (smp_num_cpus > 10) {
if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
+ Fieldstab[P_CPU].width = 6;
} else {
@@ -19,16 +19,16 @@
}
@@ -1921,12 +1928,18 @@ static void zap_fieldstab (void) {
Fieldstab[P_CPU].width = 4;
- if (Rc.mode_irixps && smp_num_cpus() > 1 && !Thread_mode) {
- Cpu_pmax = 100.0 * smp_num_cpus();
-- if (smp_num_cpus() > 10) {
-+ if (smp_num_cpus() > 1000) {
+ if (Rc.mode_irixps && smp_num_cpus > 1 && !Thread_mode) {
+ Cpu_pmax = 100.0 * smp_num_cpus;
+- if (smp_num_cpus > 10) {
++ if (smp_num_cpus > 1000) {
+ if (Cpu_pmax > 9999999.0) Cpu_pmax = 9999999.0;
+ Fieldstab[P_CPU].width = 7;
-+ } else if (smp_num_cpus() > 100) {
++ } else if (smp_num_cpus > 100) {
+ if (Cpu_pmax > 999999.0) Cpu_pmax = 999999.0;
+ Fieldstab[P_CPU].width = 6;
-+ } else if (smp_num_cpus() > 10) {
++ } else if (smp_num_cpus > 10) {
if (Cpu_pmax > 99999.0) Cpu_pmax = 99999.0;
+ Fieldstab[P_CPU].width = 5;
} else {
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package vim for openSUSE:Factory checked in at 2014-05-26 19:53:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vim (Old)
and /work/SRC/openSUSE:Factory/.vim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vim/vim.changes 2014-05-17 22:01:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vim.new/vim.changes 2014-05-26 19:53:16.000000000 +0200
@@ -1,0 +2,33 @@
+Mon May 26 08:40:24 UTC 2014 - idonmez(a)suse.com
+
+- Updated to revision 307, fixes the following problems
+ * Setting 'langmap' in the modeline can cause trouble. E.g. mapping
+ ":" breaks many commands. (Jens-Wolfhard Schicke-Uffmann)
+ * When 'relativenumber' is set and deleting lines or undoing that,
+ line numbers are not always updated. (Robert Arkwright)
+ * Error messages are inconsistant. (ZyX)
+ * When 'spellfile' is set the screen is not redrawn.
+ * Pattern with repeated backreference does not match with new regexp
+ engine. (Urtica Dioica)
+ * A non-greedy match followed by a branch is too greedy. (Ingo
+ Karkat)
+ * Searching for "a" does not match accented "a" with new regexp
+ engine, does match with old engine. (David Bürgin)
+ "ca" does not match "ca" with accented "a" with either engine.
+ * It is not possible to ignore composing characters at a specific
+ point in a pattern.
+ * Memory leak from result of get_isolated_shell_name().
+ * Can't have a funcref start with "t:".
+ * When running configure twice DYNAMIC_PYTHON_DLL may become empty.
+ * Still a scrolling problem when loading a session file.
+ * Signs placed with 'foldcolumn' set don't show up after filler
+ lines.
+ * When using double-width characters the text displayed on the
+ command line is sometimes truncated.
+ * Cannot always use Python with Vim.
+ * Making 'ttymouse' empty after the xterm version was requested
+ causes problems. (Elijah Griffin)
+ * getchar(0) does not return Esc.
+ * Can't build without the +termresponse feature.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vim.spec ++++++
--- /var/tmp/diff_new_pack.SlftfY/_old 2014-05-26 19:53:19.000000000 +0200
+++ /var/tmp/diff_new_pack.SlftfY/_new 2014-05-26 19:53:19.000000000 +0200
@@ -17,7 +17,7 @@
%define pkg_version 7.4
-%define official_ptchlvl 283
+%define official_ptchlvl 307
%define VIM_SUBDIR vim74
%define site_runtimepath /usr/share/vim/site
%define make make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/current MAKE="make -e" %{?_smp_mflags}
++++++ vim-7.4-patches.tar.bz2 ++++++
++++ 2855 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libdrm for openSUSE:Factory checked in at 2014-05-26 19:53:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdrm (Old)
and /work/SRC/openSUSE:Factory/.libdrm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdrm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdrm/libdrm.changes 2014-05-06 13:39:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libdrm.new/libdrm.changes 2014-05-26 19:53:15.000000000 +0200
@@ -1,0 +2,5 @@
+Sun May 25 15:00:04 UTC 2014 - afaerber(a)suse.de
+
+- Enable valgrind support for armv6l and ppc64le
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdrm.spec ++++++
--- /var/tmp/diff_new_pack.5HLztp/_old 2014-05-26 19:53:16.000000000 +0200
+++ /var/tmp/diff_new_pack.5HLztp/_new 2014-05-26 19:53:16.000000000 +0200
@@ -49,7 +49,7 @@
BuildRequires: pkgconfig
BuildRequires: pkgconfig(pciaccess) >= 0.10
BuildRequires: pkgconfig(pthread-stubs)
-%ifarch %ix86 x86_64 ppc ppc64 s390x armv7l armv7hl
+%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x %arm
BuildRequires: pkgconfig(valgrind)
%endif
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package man-pages for openSUSE:Factory checked in at 2014-05-26 19:53:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/man-pages (Old)
and /work/SRC/openSUSE:Factory/.man-pages.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "man-pages"
Changes:
--------
--- /work/SRC/openSUSE:Factory/man-pages/man-pages.changes 2014-05-14 10:26:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.man-pages.new/man-pages.changes 2014-05-26 19:53:13.000000000 +0200
@@ -1,0 +2,14 @@
+Wed May 21 20:14:14 UTC 2014 - andreas.stieger(a)gmx.de
+
+- man-pages 3.67
+- New and rewitten pages
+ - sched_setattr.2
+ - system.3
+- Newly documented interfaces in existing pages
+ - sched.7 Document SCHED_DEADLINE
+- New and changed links
+ - renameat2.2 -> rename.2
+ - sched_getattr.2 -> sched_setattr.
+- Further updates to individual pages, see Changes for details
+
+-------------------------------------------------------------------
Old:
----
man-pages-3.66.tar.xz
New:
----
man-pages-3.67.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ man-pages.spec ++++++
--- /var/tmp/diff_new_pack.vUpOma/_old 2014-05-26 19:53:13.000000000 +0200
+++ /var/tmp/diff_new_pack.vUpOma/_new 2014-05-26 19:53:13.000000000 +0200
@@ -17,7 +17,7 @@
Name: man-pages
-Version: 3.66
+Version: 3.67
Release: 0
Summary: Linux Manual Pages
License: BSD-3-Clause and GPL-2.0+ and MIT
++++++ man-pages-3.66.tar.xz -> man-pages-3.67.tar.xz ++++++
++++ 17191 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package bluez for openSUSE:Factory checked in at 2014-05-26 19:53:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bluez (Old)
and /work/SRC/openSUSE:Factory/.bluez.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bluez"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bluez/bluez.changes 2014-05-05 21:18:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bluez.new/bluez.changes 2014-05-26 19:53:09.000000000 +0200
@@ -1,0 +2,22 @@
+Tue May 20 06:24:05 UTC 2014 - seife+obs(a)b1-systems.com
+
+- update to version 5.19
+ The release contains fixes to OBEX, AVRCP browsing, HID over GATT
+ and handling of device unpaired events for dual-mode devices.
+ There is also a fix to cleanly handle tools like bluetoothctl
+ taking over the default agent role. Since there is no indication
+ to the "normal" system default agent this would previously simply
+ rob this property away without any way to know that this
+ happened. From 5.19 onward bluetoothd maintains a stack of agents
+ that have requested to be the default and will hand back the
+ property to the next item in the stack when bluetoothctl (or some
+ other tool) exits.
+ Besides these fixes we’ve got some new additions too:
+ * User space based HID host implementation (for BR/EDR), to
+ complement the kernel-side implementation
+ * A reconnect-upon-linkloss policy for those profiles that need,
+ such as HFP HF or an A2DP Sink. The list of remote UUIDs to try
+ to reconnect to is also configurable through main.conf.
+- removed bluez-glib2.40.patch, included upstream
+
+-------------------------------------------------------------------
Old:
----
bluez-5.18.tar.xz
bluez-glib2.40.patch
New:
----
bluez-5.19.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bluez.spec ++++++
--- /var/tmp/diff_new_pack.OKwbtq/_old 2014-05-26 19:53:11.000000000 +0200
+++ /var/tmp/diff_new_pack.OKwbtq/_new 2014-05-26 19:53:11.000000000 +0200
@@ -24,7 +24,7 @@
BuildRequires: systemd-devel
BuildRequires: pkgconfig(dbus-1) >= 1.4
%{?systemd_requires}
-Version: 5.18
+Version: 5.19
Release: 0
Summary: Bluetooth Stack for Linux
License: GPL-2.0+
@@ -38,8 +38,6 @@
# fix some logitech HID devices, bnc#681049, bnc#850478 --seife+obs(a)b1-systems.com
Patch1: bluez-5.11-logitech-hid2hci.patch
Patch2: bluez-sdp-unix-path.patch
-# PATCH-FIX-UPSTREAM bluez-glib2.40.patch dimstar(a)opensuse.org -- Fix build with GLib 2.40, taken from upstream git
-Patch3: bluez-glib2.40.patch
BuildRequires: alsa-devel
BuildRequires: automake
BuildRequires: check-devel
@@ -115,7 +113,6 @@
%setup -q
%patch1 -p1
%patch2 -p1
-%patch3 -p1
cp %{SOURCE6} .
mkdir dbus-apis
cp -a doc/*.txt dbus-apis/
++++++ bluez-5.18.tar.xz -> bluez-5.19.tar.xz ++++++
++++ 25078 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xtables-addons for openSUSE:Factory checked in at 2014-05-26 14:44:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xtables-addons (Old)
and /work/SRC/openSUSE:Factory/.xtables-addons.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xtables-addons"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xtables-addons/xtables-addons.changes 2014-01-23 15:58:53.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xtables-addons.new/xtables-addons.changes 2014-05-26 14:44:32.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Apr 18 17:17:14 UTC 2014 - jengelh(a)inai.de
+
+- Update to new upstream release 2.5
+* Support for Linux 3.14, 3.15
+* xt_quota2: support distinct network namespaces
+
+-------------------------------------------------------------------
Old:
----
xtables-addons-2.4.tar.asc
xtables-addons-2.4.tar.xz
New:
----
xtables-addons-2.5.tar.asc
xtables-addons-2.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xtables-addons.spec ++++++
--- /var/tmp/diff_new_pack.4LrgXH/_old 2014-05-26 14:44:34.000000000 +0200
+++ /var/tmp/diff_new_pack.4LrgXH/_new 2014-05-26 14:44:34.000000000 +0200
@@ -17,7 +17,7 @@
Name: xtables-addons
-Version: 2.4
+Version: 2.5
Release: 0
Summary: IP Packet Filter Administration Extensions
License: GPL-2.0 and GPL-2.0+
@@ -29,13 +29,10 @@
#Git-Web: http://xtables-addons.git.sf.net/
Source3: %name-preamble
Source4: %name.keyring
-Source7: %name-2.4.tar.xz
-Source8: %name-2.4.tar.asc
+Source7: http://downloads.sf.net/%name/%name-%version.tar.xz
+Source8: http://downloads.sf.net/%name/%name-%version.tar.asc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} >= 1230
-BuildRequires: gpg-offline
-%endif
BuildRequires: %kernel_module_package_buildreqs
BuildRequires: kernel-syms >= 3.7
BuildRequires: pkgconfig >= 0.21
@@ -69,8 +66,6 @@
main kernel/iptables packages.
%prep
-xz -dk "%_sourcedir/%name-%version.tar.xz"
-%{?gpg_verify: %gpg_verify %_sourcedir/%name-%version.tar.asc}
%setup -Tqb7
%build
++++++ xtables-addons-2.4.tar.xz -> xtables-addons-2.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/Makefile.in new/xtables-addons-2.5/Makefile.in
--- old/xtables-addons-2.4/Makefile.in 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/Makefile.in 2014-04-18 19:16:18.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -404,8 +404,8 @@
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -661,10 +661,16 @@
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -706,9 +712,10 @@
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/aclocal.m4 new/xtables-addons-2.5/aclocal.m4
--- old/xtables-addons-2.4/aclocal.m4 2014-01-09 10:39:01.000000000 +0100
+++ new/xtables-addons-2.5/aclocal.m4 2014-04-18 19:16:16.000000000 +0200
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -247,10 +247,10 @@
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -266,7 +266,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -291,7 +291,8 @@
: ${AR=ar}
AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
- [am_cv_ar_interface=ar
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
[am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([am_ar_try])
@@ -308,7 +309,7 @@
fi
rm -f conftest.lib libconftest.a
])
- ])
+ AC_LANG_POP([C])])
case $am_cv_ar_interface in
ar)
@@ -692,6 +693,12 @@
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -800,6 +807,49 @@
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+
AM_SILENT_RULES([yes])
])
@@ -809,7 +859,6 @@
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -921,38 +970,6 @@
rm -f confinc confmf
])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
@@ -1023,6 +1040,70 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/build-aux/config.guess new/xtables-addons-2.5/build-aux/config.guess
--- old/xtables-addons-2.4/build-aux/config.guess 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/build-aux/config.guess 2014-04-18 19:16:17.000000000 +0200
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2013-11-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -1270,16 +1270,26 @@
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/build-aux/config.sub new/xtables-addons-2.5/build-aux/config.sub
--- old/xtables-addons-2.4/build-aux/config.sub 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/build-aux/config.sub 2014-04-18 19:16:17.000000000 +0200
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2013-04-24'
+timestamp='2013-10-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -257,7 +257,7 @@
| avr | avr32 \
| be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
@@ -265,6 +265,7 @@
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -324,7 +325,7 @@
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -372,7 +373,7 @@
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -381,6 +382,7 @@
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@@ -794,7 +796,7 @@
os=-mingw64
;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -830,7 +832,7 @@
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1546,6 +1548,9 @@
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/build-aux/missing new/xtables-addons-2.5/build-aux/missing
--- old/xtables-addons-2.4/build-aux/missing 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/build-aux/missing 2014-04-18 19:16:17.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/config.h.in new/xtables-addons-2.5/config.h.in
--- old/xtables-addons-2.4/config.h.in 2014-01-09 10:39:01.000000000 +0100
+++ new/xtables-addons-2.5/config.h.in 2014-04-18 19:16:17.000000000 +0200
@@ -37,9 +37,6 @@
*/
#undef LT_OBJDIR
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/configure new/xtables-addons-2.5/configure
--- old/xtables-addons-2.4/configure 2014-01-09 10:39:01.000000000 +0100
+++ new/xtables-addons-2.5/configure 2014-04-18 19:16:17.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xtables-addons 2.4.
+# Generated by GNU Autoconf 2.69 for xtables-addons 2.5.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
# Identity of this package.
PACKAGE_NAME='xtables-addons'
PACKAGE_TARNAME='xtables-addons'
-PACKAGE_VERSION='2.4'
-PACKAGE_STRING='xtables-addons 2.4'
+PACKAGE_VERSION='2.5'
+PACKAGE_STRING='xtables-addons 2.5'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1322,7 +1322,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xtables-addons 2.4 to adapt to many kinds of systems.
+\`configure' configures xtables-addons 2.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1392,7 +1392,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xtables-addons 2.4:";;
+ short | recursive ) echo "Configuration of xtables-addons 2.5:";;
esac
cat <<\_ACEOF
@@ -1511,7 +1511,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xtables-addons configure 2.4
+xtables-addons configure 2.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1876,7 +1876,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xtables-addons $as_me 2.4, which was
+It was created by xtables-addons $as_me 2.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2349,7 +2349,7 @@
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-am__api_version='1.13'
+am__api_version='1.14'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
@@ -2742,7 +2742,7 @@
# Define the identity of the package.
PACKAGE='xtables-addons'
- VERSION='2.4'
+ VERSION='2.5'
cat >>confdefs.h <<_ACEOF
@@ -2792,6 +2792,49 @@
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
@@ -3620,6 +3663,65 @@
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
@@ -3812,131 +3914,6 @@
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
if test -n "$ac_tool_prefix"; then
@@ -4046,7 +4023,13 @@
if ${am_cv_ar_interface+:} false; then :
$as_echo_n "(cached) " >&6
else
- am_cv_ar_interface=ar
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ am_cv_ar_interface=ar
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int some_variable = 0;
@@ -4077,6 +4060,11 @@
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
@@ -11963,7 +11951,7 @@
echo "WARNING: Version detection did not succeed. Continue at own luck.";
else
echo "$kmajor.$kminor.$kmicro.$kstable in $kbuilddir";
- if test "$kmajor" -gt 3 -o "$kmajor" -eq 3 -a "$kminor" -gt 13; then
+ if test "$kmajor" -gt 3 -o "$kmajor" -eq 3 -a "$kminor" -gt 15; then
echo "WARNING: That kernel version is not officially supported yet. Continue at own luck.";
elif test "$kmajor" -eq 3 -a "$kminor" -ge 7; then
:;
@@ -12509,7 +12497,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xtables-addons $as_me 2.4, which was
+This file was extended by xtables-addons $as_me 2.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12575,7 +12563,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xtables-addons config.status 2.4
+xtables-addons config.status 2.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/configure.ac new/xtables-addons-2.5/configure.ac
--- old/xtables-addons-2.4/configure.ac 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/configure.ac 2014-04-18 19:14:59.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([xtables-addons], [2.4])
+AC_INIT([xtables-addons], [2.5])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
@@ -63,7 +63,7 @@
echo "WARNING: Version detection did not succeed. Continue at own luck.";
else
echo "$kmajor.$kminor.$kmicro.$kstable in $kbuilddir";
- if test "$kmajor" -gt 3 -o "$kmajor" -eq 3 -a "$kminor" -gt 13; then
+ if test "$kmajor" -gt 3 -o "$kmajor" -eq 3 -a "$kminor" -gt 15; then
echo "WARNING: That kernel version is not officially supported yet. Continue at own luck.";
elif test "$kmajor" -eq 3 -a "$kminor" -ge 7; then
:;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/doc/changelog.txt new/xtables-addons-2.5/doc/changelog.txt
--- old/xtables-addons-2.4/doc/changelog.txt 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/doc/changelog.txt 2014-04-18 19:14:59.000000000 +0200
@@ -3,6 +3,13 @@
====
+v2.5 (2014-04-18)
+=================
+Enhancements:
+- Support for Linux 3.14 and 3.15
+- xt_quota2: introduce support for network namespaces
+
+
v2.4 (2014-01-09)
=================
Enhancements:
@@ -10,6 +17,9 @@
Changes:
- remove unmaintained RAWSNAT/RAWDNAT code
- remove unused parts of compat_xtables that served Linux <3.7
+Fixes:
+- xt_quota2: --no-change should not alter quota to zero ever
+- xt_quota2: --packet should not be set to zero based on skb->len
v2.3 (2013-06-18)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/ACCOUNT/Makefile.in new/xtables-addons-2.5/extensions/ACCOUNT/Makefile.in
--- old/xtables-addons-2.4/extensions/ACCOUNT/Makefile.in 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/extensions/ACCOUNT/Makefile.in 2014-04-18 19:16:18.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/Makefile.in new/xtables-addons-2.5/extensions/Makefile.in
--- old/xtables-addons-2.4/extensions/Makefile.in 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/extensions/Makefile.in 2014-04-18 19:16:18.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/compat_xtables.h new/xtables-addons-2.5/extensions/compat_xtables.h
--- old/xtables-addons-2.4/extensions/compat_xtables.h 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/extensions/compat_xtables.h 2014-04-18 19:14:59.000000000 +0200
@@ -12,6 +12,10 @@
# warning Kernels below 3.7 not supported.
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
+# define prandom_u32() random32()
+#endif
+
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
# if !defined(CONFIG_NF_CONNTRACK_MARK)
# warning You have CONFIG_NF_CONNTRACK enabled, but CONFIG_NF_CONNTRACK_MARK is not (please enable).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/pknock/Makefile.in new/xtables-addons-2.5/extensions/pknock/Makefile.in
--- old/xtables-addons-2.4/extensions/pknock/Makefile.in 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/extensions/pknock/Makefile.in 2014-04-18 19:16:18.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/pknock/xt_pknock.c new/xtables-addons-2.5/extensions/pknock/xt_pknock.c
--- old/xtables-addons-2.4/extensions/pknock/xt_pknock.c 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/extensions/pknock/xt_pknock.c 2014-04-18 19:14:59.000000000 +0200
@@ -701,7 +701,11 @@
memcpy(m + 1, &msg, m->len);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+ cn_netlink_send(m, 0, multicast_group, GFP_ATOMIC);
+#else
cn_netlink_send(m, multicast_group, GFP_ATOMIC);
+#endif
kfree(m);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/xt_CHAOS.c new/xtables-addons-2.5/extensions/xt_CHAOS.c
--- old/xtables-addons-2.4/extensions/xt_CHAOS.c 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/extensions/xt_CHAOS.c 2014-04-18 19:14:59.000000000 +0200
@@ -68,7 +68,7 @@
ret = xm_tcp->match(skb, &local_par);
hotdrop = local_par.hotdrop;
}
- if (!ret || hotdrop || (unsigned int)net_random() > delude_percentage)
+ if (!ret || hotdrop || (unsigned int)prandom_u32() > delude_percentage)
return;
destiny = (info->variant == XTCHAOS_TARPIT) ? xt_tarpit : xt_delude;
@@ -98,7 +98,7 @@
const struct xt_chaos_tginfo *info = par->targinfo;
const struct iphdr *iph = ip_hdr(skb);
- if ((unsigned int)net_random() <= reject_percentage) {
+ if ((unsigned int)prandom_u32() <= reject_percentage) {
struct xt_action_param local_par;
local_par.in = par->in;
local_par.out = par->out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/xt_TARPIT.c new/xtables-addons-2.5/extensions/xt_TARPIT.c
--- old/xtables-addons-2.4/extensions/xt_TARPIT.c 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/extensions/xt_TARPIT.c 2014-04-18 19:14:59.000000000 +0200
@@ -107,8 +107,8 @@
tcph->syn = true;
tcph->ack = true;
tcph->window = oth->window &
- ((net_random() & 0x1f) - 0xf);
- tcph->seq = htonl(net_random() & ~oth->seq);
+ ((prandom_u32() & 0x1f) - 0xf);
+ tcph->seq = htonl(prandom_u32() & ~oth->seq);
tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn);
}
@@ -117,7 +117,7 @@
tcph->syn = false;
tcph->ack = true;
tcph->window = oth->window &
- ((net_random() & 0x1f) - 0xf);
+ ((prandom_u32() & 0x1f) - 0xf);
tcph->ack_seq = payload > 100 ?
htonl(ntohl(oth->seq) + payload) :
oth->seq;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/extensions/xt_quota2.c new/xtables-addons-2.5/extensions/xt_quota2.c
--- old/xtables-addons-2.4/extensions/xt_quota2.c 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/extensions/xt_quota2.c 2014-04-18 19:14:59.000000000 +0200
@@ -13,6 +13,7 @@
*/
#include <linux/list.h>
#include <linux/module.h>
+#include <linux/nsproxy.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/skbuff.h>
@@ -20,6 +21,9 @@
#include <linux/uidgid.h>
#include <linux/version.h>
#include <asm/atomic.h>
+#include <net/net_namespace.h>
+#include <net/netns/generic.h>
+#include <net/dst.h>
#include <linux/netfilter/x_tables.h>
#include "xt_quota2.h"
@@ -37,10 +41,19 @@
struct proc_dir_entry *procfs_entry;
};
-static LIST_HEAD(counter_list);
+struct quota2_net {
+ struct list_head counter_list;
+ struct proc_dir_entry *proc_xt_quota;
+};
+
+static int quota2_net_id;
+static inline struct quota2_net *quota2_pernet(struct net *net)
+{
+ return net_generic(net, quota2_net_id);
+}
+
static DEFINE_SPINLOCK(counter_list_lock);
-static struct proc_dir_entry *proc_xt_quota;
static unsigned int quota_list_perms = S_IRUGO | S_IWUSR;
static unsigned int quota_list_uid = 0;
static unsigned int quota_list_gid = 0;
@@ -120,16 +133,17 @@
* @name: name of counter
*/
static struct xt_quota_counter *
-q2_get_counter(const struct xt_quota_mtinfo2 *q)
+q2_get_counter(struct net *net, const struct xt_quota_mtinfo2 *q)
{
struct proc_dir_entry *p;
struct xt_quota_counter *e;
+ struct quota2_net *quota2_net = quota2_pernet(net);
if (*q->name == '\0')
return q2_new_counter(q, true);
spin_lock_bh(&counter_list_lock);
- list_for_each_entry(e, &counter_list, list)
+ list_for_each_entry(e, "a2_net->counter_list, list)
if (strcmp(e->name, q->name) == 0) {
atomic_inc(&e->ref);
spin_unlock_bh(&counter_list_lock);
@@ -140,7 +154,8 @@
if (e == NULL)
goto out;
- p = proc_create_data(e->name, quota_list_perms, proc_xt_quota,
+ p = proc_create_data(e->name, quota_list_perms,
+ quota2_net->proc_xt_quota,
"a_proc_fops, e);
if (p == NULL || IS_ERR(p))
goto out;
@@ -148,7 +163,7 @@
e->procfs_entry = p;
proc_set_user(p, make_kuid(&init_user_ns, quota_list_uid),
make_kgid(&init_user_ns, quota_list_gid));
- list_add_tail(&e->list, &counter_list);
+ list_add_tail(&e->list, "a2_net->counter_list);
spin_unlock_bh(&counter_list_lock);
return e;
@@ -171,7 +186,7 @@
return -EINVAL;
}
- q->master = q2_get_counter(q);
+ q->master = q2_get_counter(par->net, q);
if (q->master == NULL) {
printk(KERN_ERR "xt_quota.3: memory alloc failure\n");
return -ENOMEM;
@@ -184,6 +199,7 @@
{
struct xt_quota_mtinfo2 *q = par->matchinfo;
struct xt_quota_counter *e = q->master;
+ struct quota2_net *quota2_net = quota2_pernet(par->net);
if (*q->name == '\0') {
kfree(e);
@@ -197,7 +213,7 @@
}
list_del(&e->list);
- remove_proc_entry(e->name, proc_xt_quota);
+ remove_proc_entry(e->name, quota2_net->proc_xt_quota);
spin_unlock_bh(&counter_list_lock);
kfree(e);
}
@@ -259,24 +275,60 @@
},
};
-static int __init quota_mt2_init(void)
+static int __net_init quota2_net_init(struct net *net)
{
- int ret;
+ struct quota2_net *quota2_net = quota2_pernet(net);
+ INIT_LIST_HEAD("a2_net->counter_list);
- proc_xt_quota = proc_mkdir("xt_quota", init_net.proc_net);
- if (proc_xt_quota == NULL)
+ quota2_net->proc_xt_quota = proc_mkdir("xt_quota", net->proc_net);
+ if (quota2_net->proc_xt_quota == NULL)
return -EACCES;
+ return 0;
+}
+
+static void __net_exit quota2_net_exit(struct net *net)
+{
+ struct quota2_net *quota2_net = quota2_pernet(net);
+ struct xt_quota_counter *e = NULL;
+ struct list_head *pos, *q;
+
+ remove_proc_entry("xt_quota", net->proc_net);
+
+ /* destroy counter_list while freeing it's content */
+ spin_lock_bh(&counter_list_lock);
+ list_for_each_safe(pos, q, "a2_net->counter_list) {
+ e = list_entry(pos, struct xt_quota_counter, list);
+ list_del(pos);
+ kfree(e);
+ }
+ spin_unlock_bh(&counter_list_lock);
+}
+
+static struct pernet_operations quota2_net_ops = {
+ .init = quota2_net_init,
+ .exit = quota2_net_exit,
+ .id = "a2_net_id,
+ .size = sizeof(struct quota2_net),
+};
+
+static int __init quota_mt2_init(void)
+{
+ int ret;
+ ret = register_pernet_subsys("a2_net_ops);
+ if (ret < 0)
+ return ret;
ret = xt_register_matches(quota_mt2_reg, ARRAY_SIZE(quota_mt2_reg));
if (ret < 0)
- remove_proc_entry("xt_quota", init_net.proc_net);
+ unregister_pernet_subsys("a2_net_ops);
+
return ret;
}
static void __exit quota_mt2_exit(void)
{
xt_unregister_matches(quota_mt2_reg, ARRAY_SIZE(quota_mt2_reg));
- remove_proc_entry("xt_quota", init_net.proc_net);
+ unregister_pernet_subsys("a2_net_ops);
}
module_init(quota_mt2_init);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/geoip/Makefile.in new/xtables-addons-2.5/geoip/Makefile.in
--- old/xtables-addons-2.4/geoip/Makefile.in 2014-01-09 10:39:02.000000000 +0100
+++ new/xtables-addons-2.5/geoip/Makefile.in 2014-04-18 19:16:18.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-2.4/xtables-addons.8.in new/xtables-addons-2.5/xtables-addons.8.in
--- old/xtables-addons-2.4/xtables-addons.8.in 2014-01-09 10:37:52.000000000 +0100
+++ new/xtables-addons-2.5/xtables-addons.8.in 2014-04-18 19:14:59.000000000 +0200
@@ -1,4 +1,4 @@
-.TH xtables-addons 8 "US Hoarding All The Cold Edition" "" "v2.4 (2014-01-09)"
+.TH xtables-addons 8 "SFUAN" "" "v2.5 (2014-04-18)"
.SH Name
Xtables-addons \(em additional extensions for iptables, ip6tables, etc.
.SH Targets
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0