openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- 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
January 2017
- 1 participants
- 679 discussions
Hello community,
here is the log from the commit of package calibre for openSUSE:Factory checked in at 2017-01-17 14:36:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calibre (Old)
and /work/SRC/openSUSE:Factory/.calibre.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calibre"
Changes:
--------
--- /work/SRC/openSUSE:Factory/calibre/calibre.changes 2017-01-04 19:39:17.072241058 +0100
+++ /work/SRC/openSUSE:Factory/.calibre.new/calibre.changes 2017-01-17 14:36:05.027819131 +0100
@@ -1,0 +2,27 @@
+Fri Jan 13 16:24:11 UTC 2017 - ecsos(a)opensuse.org
+
+- update to 2.77.0
+ Bug Fixes
+ - Conversion: Fix changing the cover image not updating
+ references to the old cover image inside SVG wrappers.
+ - E-book viewer: Fix a regression that caused clicking links in
+ the footnote popup window to stop working
+ - Edit Book: Fix importing DOCX file as new book not setting the
+ version attribute in the OPF
+ - Kindle driver: Fix some newer KFX books not being recognized
+ on e-ink kindles, because of a change in how metadata is stored
+ in the KFX format
+ - DOCX Output: Fix missing tag causing conversion to fail.
+ - Edit Book: Fix group references causing errors when used in
+ replace string in the normal mode search and replace
+ - Edit Book: Fix Check Book reporting a spurious mime/type mismatch
+ error after replacing a file with a file having a different
+ mime type.
+ - Amazon metadata download: Fix detection of series not working
+ for some books due to changes in the amazon website
+ - Fix Nook HD+ not being detected on windows
+ - Edit Book: Ensure keyboard focus stays with Files Browser when
+ renaming files.
+- Drop patch reproducible.patch because now in upstream
+
+-------------------------------------------------------------------
Old:
----
calibre-2.76.0.tar.xz
reproducible.patch
New:
----
calibre-2.77.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.XvHIYA/_old 2017-01-17 14:36:06.171656976 +0100
+++ /var/tmp/diff_new_pack.XvHIYA/_new 2017-01-17 14:36:06.175656409 +0100
@@ -20,7 +20,7 @@
License: GPL-3.0
Group: Productivity/Other
Name: calibre
-Version: 2.76.0
+Version: 2.77.0
Release: 0
Url: http://calibre-ebook.com
Source0: http://download.calibre-ebook.com/%{version}/calibre-%{version}.tar.xz
@@ -29,8 +29,6 @@
Patch2: %{name}-setup.install.py.diff
# PATCH-FIX-OPENSUSE: disabling Autoupdate Searcher
Patch3: %{name}-no-update.diff
-# PATCH-FIX-TO-UPSTREAM: use reproducible list order
-Patch4: reproducible.patch
BuildRequires: fdupes
BuildRequires: help2man
BuildRequires: hicolor-icon-theme
@@ -141,7 +139,6 @@
%setup -q
%patch2 -p1
%patch3 -p1 -b .no-update
-%patch4 -p1
# dos2unix newline conversion
sed -i 's/\r//' src/calibre/web/feeds/recipes/*
++++++ calibre-2.76.0.tar.xz -> calibre-2.77.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/calibre/calibre-2.76.0.tar.xz /work/SRC/openSUSE:Factory/.calibre.new/calibre-2.77.0.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package v8 for openSUSE:Factory checked in at 2017-01-17 14:35:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v8 (Old)
and /work/SRC/openSUSE:Factory/.v8.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v8"
Changes:
--------
--- /work/SRC/openSUSE:Factory/v8/v8.changes 2017-01-11 12:04:54.875641672 +0100
+++ /work/SRC/openSUSE:Factory/.v8.new/v8.changes 2017-01-17 14:35:54.361331257 +0100
@@ -1,0 +2,5 @@
+Fri Jan 13 02:17:04 CET 2017 - ro(a)suse.de
+
+- add s390x to arch list
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ v8.spec ++++++
--- /var/tmp/diff_new_pack.5CTVqP/_old 2017-01-17 14:35:56.217068179 +0100
+++ /var/tmp/diff_new_pack.5CTVqP/_new 2017-01-17 14:35:56.221067612 +0100
@@ -48,7 +48,7 @@
BuildRequires: lzma
BuildRequires: python-devel
BuildRequires: readline-devel
-ExclusiveArch: %{ix86} x86_64 %arm ppc64 ppc64le
+ExclusiveArch: %{ix86} x86_64 %arm ppc64 ppc64le s390x
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global somajor `echo %{version} | cut -f1 -d'.'`
1
0
Hello community,
here is the log from the commit of package munge for openSUSE:Factory checked in at 2017-01-17 14:35:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/munge (Old)
and /work/SRC/openSUSE:Factory/.munge.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "munge"
Changes:
--------
--- /work/SRC/openSUSE:Factory/munge/munge.changes 2016-12-10 18:28:59.507419893 +0100
+++ /work/SRC/openSUSE:Factory/.munge.new/munge.changes 2017-01-17 14:35:43.574860398 +0100
@@ -1,0 +2,7 @@
+Mon Dec 12 09:34:54 UTC 2016 - vetter(a)physik.uni-wuerzburg.de
+
+- Fix typo in init script (SLE11) introduced by last change
+- Fix rpm preun/postun-scripts (SLE11)
+- Fix empty /etc/sysconfig/munge after update (SLE11)
+
+-------------------------------------------------------------------
New:
----
sysconfig.munge
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ munge.spec ++++++
--- /var/tmp/diff_new_pack.ji4jFa/_old 2017-01-17 14:35:44.126782154 +0100
+++ /var/tmp/diff_new_pack.ji4jFa/_new 2017-01-17 14:35:44.130781587 +0100
@@ -29,6 +29,7 @@
Url: http://dun.github.io/munge/
Source0: https://github.com/dun/munge/archive/%{name}-%{version}.tar.gz
Source1: baselibs.conf
+Source2: sysconfig.munge
Patch0: Make-SUSE-specific-adjustments.patch
BuildRequires: openssl-devel
BuildRequires: pkgconfig
@@ -67,7 +68,7 @@
Group: Development/Libraries/C and C++
%description devel
-A header file and libraries forbuilding applications using the %{name}
+A header file and libraries for building applications using the %{name}
authenication service.
%prep
@@ -83,8 +84,8 @@
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{__rm} -f %{buildroot}%{_libdir}/*.a
%{__install} -m 0755 -d %{buildroot}%{_localstatedir}/adm/fillup-templates
-%{__mv} %{buildroot}%{_sysconfdir}/sysconfig/munge \
- %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.munge
+%{__cp} -p %{S:2} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.munge
+%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/munge
# We don't want systemd file on SLE 11
%if 0%{!?have_systemd:1}
@@ -93,7 +94,7 @@
test -f %{buildroot}/lib/systemd/system/munge.service && \
rm -f %{buildroot}/lib/systemd/system/munge.service
rm -f %{buildroot}/%{_tmpfilesdir}/munge.conf
- sed -i 's/USER="munge"/User="daemon"/g' %{buildroot}/%{_initrddir}/%{name}
+ sed -i 's/USER="munge"/USER="daemon"/g' %{buildroot}/%{_initrddir}/%{name}
%{__ln_s} -f %{_initrddir}/%{name} %{buildroot}%{_sbindir}/rc%{name}
%else
sed -i 's/User=munge/User=daemon/g' %{buildroot}%{_unitdir}/munge.service
@@ -117,14 +118,14 @@
%if 0%{?have_systemd}
%service_del_preun munge.service
%else
-%stop_on_removal service
+%stop_on_removal munge
%endif
%postun
%if 0%{?have_systemd}
%service_del_postun munge.service
%else
-%restart_on_update service
+%restart_on_update munge
%insserv_cleanup
%endif
++++++ sysconfig.munge ++++++
###############################################################################
# MUNGE system configuration
###############################################################################
##
# Pass additional command-line options to the daemon.
##
# DAEMON_ARGS="--key-file /etc/munge/munge.key --num-threads 1"
DAEMON_ARGS=""
##
# Adjust the scheduling priority of the daemon.
##
# NICE=
NICE=""
##
# Execute the daemon under another username.
##
# USER="munge"
USER="daemon"
##
# Execute the daemon under another groupname.
##
# GROUP="munge"
GROUP="munge"
1
0
Hello community,
here is the log from the commit of package obs-service-set_version for openSUSE:Factory checked in at 2017-01-17 14:35:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-set_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-set_version.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-set_version"
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-set_version/obs-service-set_version.changes 2016-04-28 16:59:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.obs-service-set_version.new/obs-service-set_version.changes 2017-01-17 14:35:34.484149142 +0100
@@ -1,0 +2,7 @@
+Fri Jan 13 13:06:53 UTC 2017 - adrian(a)suse.de
+
+- Update to version 0.5.4:
+ * support obscpio archives
+ * do not strip release number in debian, but setting it back
+
+-------------------------------------------------------------------
Old:
----
obs-service-set_version-0.5.3.tar.gz
New:
----
obs-service-set_version-0.5.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-set_version.spec ++++++
--- /var/tmp/diff_new_pack.kjLphd/_old 2017-01-17 14:35:34.944083940 +0100
+++ /var/tmp/diff_new_pack.kjLphd/_new 2017-01-17 14:35:34.948083373 +0100
@@ -1,7 +1,7 @@
#
# spec file for package obs-service-set_version
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define service set_version
Name: obs-service-%{service}
-Version: 0.5.3
+Version: 0.5.4
Release: 0
Summary: An OBS source service: Update spec file version
License: GPL-2.0+
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.kjLphd/_old 2017-01-17 14:35:34.984078270 +0100
+++ /var/tmp/diff_new_pack.kjLphd/_new 2017-01-17 14:35:34.988077703 +0100
@@ -1,5 +1,5 @@
pkgname=obs-service-set_version
-pkgver=0.5.3
+pkgver=0.5.4
pkgrel=0
pkgdesc="An OBS source service: Update spec file version"
arch=('i686' 'x86_64')
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kjLphd/_old 2017-01-17 14:35:35.016073734 +0100
+++ /var/tmp/diff_new_pack.kjLphd/_new 2017-01-17 14:35:35.020073167 +0100
@@ -1,5 +1,5 @@
<servicedata>
<service name="tar_scm">
<param name="url">git@github.com:openSUSE/obs-service-set_version.git</param>
- <param name="changesrevision">9cb2d460ffcce8cb86ee2bd194c38620c6eebb94</param></service>
+ <param name="changesrevision">a9f6aef3babe79ba47cf1d032ca0a5f04803f3e5</param></service>
</servicedata>
\ No newline at end of file
++++++ debian.dsc ++++++
--- /var/tmp/diff_new_pack.kjLphd/_old 2017-01-17 14:35:35.036070899 +0100
+++ /var/tmp/diff_new_pack.kjLphd/_new 2017-01-17 14:35:35.036070899 +0100
@@ -1,7 +1,8 @@
Format: 1.0
-Source: obs-service-set-version
-Version: 0.5.3
-Binary: obs-service-set-version
+Source: obs-service-set_version
+Version: 0.5.4
+Binary: obs-service-set_version
+Provides: obs-service-set_version
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: all
Standards-Version: 3.7.2
++++++ obs-service-set_version-0.5.3.tar.gz -> obs-service-set_version-0.5.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-set_version-0.5.3/set_version new/obs-service-set_version-0.5.4/set_version
--- old/obs-service-set_version-0.5.3/set_version 2016-04-21 13:54:41.000000000 +0200
+++ new/obs-service-set_version-0.5.4/set_version 2017-01-13 14:04:50.000000000 +0100
@@ -35,7 +35,7 @@
outdir = None
-suffixes = ('tar', 'tar.gz', 'tgz', 'tar.bz2', 'tbz2', 'tar.xz', 'zip')
+suffixes = ('obscpio', 'tar', 'tar.gz', 'tgz', 'tar.bz2', 'tbz2', 'tar.xz', 'zip')
suffixes_re = "|".join(map(lambda x: re.escape(x), suffixes))
@@ -331,12 +331,12 @@
for f in filter(lambda x: x.endswith(".dsc"), files):
filename = outdir + "/" + f
shutil.copyfile(f, filename)
- _replace_tag(filename, 'Version', version)
+ _replace_tag(filename, 'Version', version + "-0")
for f in filter(lambda x: x.endswith(("debian.changelog")), files):
filename = outdir + "/" + f
shutil.copyfile(f, filename)
- _replace_debian_changelog_version(filename, version)
+ _replace_debian_changelog_version(filename, version + "-0")
# handle arch linux PKGBUILD files
# TODO: Handle the md5sums generation!
1
0
Hello community,
here is the log from the commit of package raspberrypi-firmware for openSUSE:Factory checked in at 2017-01-17 14:35:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/raspberrypi-firmware (Old)
and /work/SRC/openSUSE:Factory/.raspberrypi-firmware.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "raspberrypi-firmware"
Changes:
--------
--- /work/SRC/openSUSE:Factory/raspberrypi-firmware/raspberrypi-firmware-config-rpi.changes 2016-11-22 18:58:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.raspberrypi-firmware.new/raspberrypi-firmware-config-rpi.changes 2017-01-17 14:35:22.481850654 +0100
@@ -1,0 +2,5 @@
+Thu Jan 12 14:24:06 UTC 2017 - guillaume(a)opensuse.org
+
+- Update to e44f66a (2017-01-10)
+
+-------------------------------------------------------------------
raspberrypi-firmware-config-rpi2.changes: same change
raspberrypi-firmware-config-rpi3.changes: same change
raspberrypi-firmware.changes: same change
Old:
----
raspberrypi-firmware-2016.11.16.tar.bz2
New:
----
raspberrypi-firmware-2017.01.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ raspberrypi-firmware-config-rpi.spec ++++++
--- /var/tmp/diff_new_pack.FLnpz0/_old 2017-01-17 14:35:23.609690765 +0100
+++ /var/tmp/diff_new_pack.FLnpz0/_new 2017-01-17 14:35:23.613690198 +0100
@@ -1,7 +1,7 @@
#
# spec file for package raspberrypi-firmware-config-rpi
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: raspberrypi-firmware-config-rpi
-Version: 2016.11.16
+Version: 2017.01.10
Release: 0
Summary: Configuration for the Raspberry Pi firmware loader
License: MIT
raspberrypi-firmware-config-rpi2.spec: same change
raspberrypi-firmware-config-rpi3.spec: same change
++++++ raspberrypi-firmware.spec ++++++
--- /var/tmp/diff_new_pack.FLnpz0/_old 2017-01-17 14:35:23.685679992 +0100
+++ /var/tmp/diff_new_pack.FLnpz0/_new 2017-01-17 14:35:23.689679425 +0100
@@ -1,7 +1,7 @@
#
# spec file for package raspberrypi-firmware
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: raspberrypi-firmware
-Version: 2016.11.16
+Version: 2017.01.10
Release: 0
Summary: Binary bootloader and firmware files for Raspberry Pi
License: SUSE-Firmware
++++++ raspberrypi-firmware-2016.11.16.tar.bz2 -> raspberrypi-firmware-2017.01.10.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/raspberrypi-firmware/raspberrypi-firmware-2016.11.16.tar.bz2 /work/SRC/openSUSE:Factory/.raspberrypi-firmware.new/raspberrypi-firmware-2017.01.10.tar.bz2 differ: char 11, line 1
++++++ raspberrypi-firmware-config.spec.in ++++++
--- /var/tmp/diff_new_pack.FLnpz0/_old 2017-01-17 14:35:23.793664684 +0100
+++ /var/tmp/diff_new_pack.FLnpz0/_new 2017-01-17 14:35:23.793664684 +0100
@@ -17,7 +17,7 @@
Name: __NAME__
-Version: 2016.11.16
+Version: 2017.01.10
Release: 0
Summary: Configuration for the Raspberry Pi firmware loader
License: MIT
1
0
Hello community,
here is the log from the commit of package imx-usb-loader for openSUSE:Factory checked in at 2017-01-17 14:35:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/imx-usb-loader (Old)
and /work/SRC/openSUSE:Factory/.imx-usb-loader.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "imx-usb-loader"
Changes:
--------
--- /work/SRC/openSUSE:Factory/imx-usb-loader/imx-usb-loader.changes 2016-01-23 01:16:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.imx-usb-loader.new/imx-usb-loader.changes 2017-01-17 14:35:15.822794681 +0100
@@ -1,0 +2,9 @@
+Thu Jan 12 13:10:53 UTC 2017 - guillaume(a)opensuse.org
+
+- Update to git20161227:
+ * Lots of code fixes
+ * Remove obsolete mx53_usbarmory_work.conf
+ * Fix mx53_usb_work.conf
+- Update fix_strncat_overflow.patch
+
+-------------------------------------------------------------------
Old:
----
imx_usb_loader-1448568817.349286e.tar.bz2
New:
----
imx_usb_loader-1482852643.ba6b31c.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ imx-usb-loader.spec ++++++
--- /var/tmp/diff_new_pack.myvr3e/_old 2017-01-17 14:35:16.266731746 +0100
+++ /var/tmp/diff_new_pack.myvr3e/_new 2017-01-17 14:35:16.266731746 +0100
@@ -1,7 +1,7 @@
#
# spec file for package imx-usb-loader
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Guillaume GARDET <guillaume(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -17,10 +17,10 @@
#
-%define git_version 1448568817.349286e
+%define git_version 1482852643.ba6b31c
Name: imx-usb-loader
-Version: 0.0~git20151126
+Version: 0.0~git20161227
Release: 0
Summary: Vybrid/i.MX recovery utility
License: LGPL-2.1+
@@ -41,7 +41,7 @@
%prep
%setup -q -n imx_usb_loader-%{git_version}
-%patch1 -p1
+%patch1
%build
CFLAGS="$RPM_OPT_FLAGS" \
@@ -59,7 +59,6 @@
%config %{_sysconfdir}/imx-loader.d/mx50_usb_work.conf
%config %{_sysconfdir}/imx-loader.d/mx51_usb_work.conf
%config %{_sysconfdir}/imx-loader.d/mx53_usb_work.conf
-%config %{_sysconfdir}/imx-loader.d/mx53_usbarmory_work.conf
%config %{_sysconfdir}/imx-loader.d/mx6_usb_work.conf
%config %{_sysconfdir}/imx-loader.d/mx7_usb_work.conf
%config %{_sysconfdir}/imx-loader.d/vybrid_usb_work.conf
++++++ fix_strncat_overflow.patch ++++++
--- /var/tmp/diff_new_pack.myvr3e/_old 2017-01-17 14:35:16.298727210 +0100
+++ /var/tmp/diff_new_pack.myvr3e/_new 2017-01-17 14:35:16.302726643 +0100
@@ -1,12 +1,12 @@
-diff --git a/imx_sdp.c b/imx_sdp.c
-index 3dec8d5..4f069bd 100644
---- a/imx_sdp.c
-+++ b/imx_sdp.c
-@@ -144,7 +144,7 @@ char const *conf_path_ok(char const *conf_path, char const *conf_file)
- static char conf[512];
+--- imx_sdp.c.orig 2017-01-12 14:26:14.747359336 +0100
++++ imx_sdp.c 2017-01-12 14:28:23.420331377 +0100
+@@ -141,8 +141,8 @@ char const *conf_path_ok(char const *con
+ static char sep = PATH_SEPARATOR;
strncpy(conf, conf_path, sizeof(conf));
+- strncat(conf, &sep, sizeof(conf));
- strncat(conf, conf_file, sizeof(conf));
++ strncat(conf, &sep, sizeof(conf) - strlen(conf) - 1);
+ strncat(conf, conf_file, sizeof(conf) - strlen(conf) - 1);
if (access(conf, R_OK) != -1) {
printf("config file <%s>\n", conf);
++++++ imx_usb_loader-1448568817.349286e.tar.bz2 -> imx_usb_loader-1482852643.ba6b31c.tar.bz2 ++++++
++++ 4165 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package cxxtools for openSUSE:Factory checked in at 2017-01-17 14:35:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cxxtools (Old)
and /work/SRC/openSUSE:Factory/.cxxtools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cxxtools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cxxtools/cxxtools.changes 2015-05-15 07:42:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cxxtools.new/cxxtools.changes 2017-01-17 14:35:08.555824892 +0100
@@ -1,0 +2,10 @@
+Wed Jan 11 11:53:07 UTC 2017 - dmueller(a)suse.com
+
+- set atomictype to pthread for aarch64
+
+-------------------------------------------------------------------
+Fri Dec 30 13:59:56 UTC 2016 - bg(a)suse.com
+
+- set atomictype on s390x to pthread
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cxxtools.spec ++++++
--- /var/tmp/diff_new_pack.T46zhu/_old 2017-01-17 14:35:09.087749483 +0100
+++ /var/tmp/diff_new_pack.T46zhu/_new 2017-01-17 14:35:09.091748916 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cxxtools
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -158,6 +158,9 @@
%configure \
--disable-static \
--with-iconvstream=yes \
+%ifarch aarch64 s390x
+ --with-atomictype=pthread \
+%endif
--with-pic
make %{?_smp_mflags}
1
0
Hello community,
here is the log from the commit of package apparmor-rpm-macros for openSUSE:Factory checked in at 2017-01-17 14:35:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apparmor-rpm-macros (Old)
and /work/SRC/openSUSE:Factory/.apparmor-rpm-macros.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apparmor-rpm-macros"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apparmor-rpm-macros/apparmor-rpm-macros.changes 2016-09-13 22:22:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.apparmor-rpm-macros.new/apparmor-rpm-macros.changes 2017-01-17 14:35:02.312709956 +0100
@@ -1,0 +2,5 @@
+Wed Jan 11 11:01:29 UTC 2017 - jengelh(a)inai.de
+
+- RPM group fix
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apparmor-rpm-macros.spec ++++++
--- /var/tmp/diff_new_pack.6XKzIG/_old 2017-01-17 14:35:02.756647021 +0100
+++ /var/tmp/diff_new_pack.6XKzIG/_new 2017-01-17 14:35:02.760646454 +0100
@@ -1,7 +1,7 @@
#
# spec file for package apparmor-rpm-macros
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,13 +15,14 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: apparmor-rpm-macros
Version: 1.0
Release: 0
-License: LGPL-2.1+
Summary: RPM macros used to setup apparmor profiles
+License: LGPL-2.1+
+Group: Development/Tools/Other
Url: https://bugs.launchpad.net/apparmor
-Group: System/Base
Source: macros.apparmor
Requires: coreutils
BuildArch: noarch
@@ -41,3 +42,5 @@
%files
%defattr(-,root,root)
%config %{_sysconfdir}/rpm/macros.apparmor
+
+%changelog
1
0
Hello community,
here is the log from the commit of package hxtools for openSUSE:Factory checked in at 2017-01-17 14:34:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hxtools (Old)
and /work/SRC/openSUSE:Factory/.hxtools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hxtools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hxtools/hxtools.changes 2015-03-25 10:01:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.hxtools.new/hxtools.changes 2017-01-17 14:34:54.785777025 +0100
@@ -1,0 +2,18 @@
+Mon Jan 9 21:39:42 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 20170109
+* A new utility "gxxdm" was added which explains libstdc++v3
+ mangled names in detail. (Not feature-complete.)
+* New utility "ldif-duplicate-attrs": counts multiple occurrences
+ of an attribute within one DN leaf and reports them.
+* New utility "ldif-leading-spaces": reports if LDAP attribute
+ values start or end with whitespaces. (Spaces have implications
+ for sorting addressbook entries, for example.)
+* New utilities: pegrep (a multiline pcregrep), qpdecode
+ (quoted-printable filter), settime.pl (set filetime according
+ to oldest archive member)
+* move_moov was renamed to aumeta
+* Removed utilities: git-new-root (git implements this itself
+ easily now)
+
+-------------------------------------------------------------------
Old:
----
hxtools-20150304.tar.asc
hxtools-20150304.tar.xz
New:
----
hxtools-20170109.tar.asc
hxtools-20170109.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hxtools.spec ++++++
--- /var/tmp/diff_new_pack.ghiWHA/_old 2017-01-17 14:34:55.297704451 +0100
+++ /var/tmp/diff_new_pack.ghiWHA/_new 2017-01-17 14:34:55.301703884 +0100
@@ -17,7 +17,7 @@
Name: hxtools
-Version: 20150304
+Version: 20170109
Release: 0
Summary: Collection of day-to-day tools (binaries)
License: GPL-2.0+ and WTFPL
@@ -31,6 +31,7 @@
# See https://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
BuildRequires: bdftopcf
BuildRequires: fdupes
+BuildRequires: gcc-c++
BuildRequires: libcap-devel >= 2
BuildRequires: xz
BuildRequires: pkgconfig >= 0.21
@@ -56,7 +57,6 @@
* declone(1) — break hardlinks
* fd0ssh(1) — pipe for password-over-stdin support to ssh
* ofl(1) — open file lister (replaces fuser and lsof -m)
-* sysinfo(1) — system configuration summary
* tailhex(1) — hex dumper with tail-following support
* utmp_register(1) — make entries in the utmp/wtmp database
* vfontas(1) — VGA font file assembler
@@ -86,11 +86,11 @@
* git-author-stat(1) — show commit author statistics of a git repository
* git-export-patch(1) — produce perfect patch from git comits for mail submission
* git-forest(1) — display the commit history forest
-* git-new-root(1) — start a new root in the git history
* git-revert-stats(1) — show reverting statistics of a git repository
* git-track(1) — set up branch for tracking a remote
* man2html(1) — convert nroff manpages to HTML
-* pesubst(1) — perl-regexp stream substitution (replaces sed for sub‐ stitutions)
+* pegrep(1) — perl-regexp-based multi-line grep
+* pesubst(1) — perl-regexp-based stream substitution (replaces sed for substitutions)
* recursive_lower(1) — recursively lowercase all filenames
* spec-beautifier(1) — program to clean up RPM .spec files
* vcsaview(8) — display a screen dump in VCSA format
@@ -127,8 +127,8 @@
%description profile
Bash environment settings from hxtools. Particularly, this provides
-the SUSE 6.x ls color scheme, and an uncluttered PS1 that shows
-only important parts of a path.
+the SUSE 6.x ls color scheme, and a reduced PS1 that shows only the
+rightmost parts of a path.
%package -n sysinfo
Summary: System diagnosis tools from hxtools
@@ -196,6 +196,7 @@
%_bindir/bin2c
%_bindir/clt2bdf
%_bindir/declone
+%_bindir/gxxdm
%_bindir/hcdplay
%_bindir/omixer
%_bindir/oplay
@@ -219,6 +220,7 @@
%files scripts
%defattr(-,root,root)
+%_bindir/aumeta
%_bindir/checkbrack
%_bindir/cwdiff
%_bindir/fxterm
@@ -226,8 +228,10 @@
%_bindir/googtts
%_bindir/gpsh
%_bindir/man2html
-%_bindir/move_moov
+%_bindir/mkvappend
+%_bindir/pegrep
%_bindir/pesubst
+%_bindir/qpdecode
%_bindir/qtar
%_bindir/spec-beautifier
%_bindir/ssa2srt
@@ -239,6 +243,8 @@
%hldir/extract_*
%hldir/fnt2bdf
%hldir/git-*
+%hldir/ldif-duplicate-attrs
+%hldir/ldif-leading-spaces
%hldir/logontime
%hldir/mailsplit
%hldir/mod2ogg
++++++ hxtools-20150304.tar.xz -> hxtools-20170109.tar.xz ++++++
++++ 1767 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/LICENSES.txt new/hxtools-20170109/LICENSES.txt
--- old/hxtools-20150304/LICENSES.txt 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/LICENSES.txt 2017-01-09 22:38:54.000000000 +0100
@@ -5,7 +5,6 @@
sadmin/netload WTFPL-2.0+
sadmin/newns WTFPL-2.0+
sadmin/ofl WTFPL-2.0+
-sadmin/parkverbot GPL-2.0+
sadmin/pmap_dirty WTFPL-2.0+
sadmin/printcaps WTFPL-2.0+
sadmin/proc_iomem_count WTFPL-2.0+
@@ -26,7 +25,6 @@
sdevel/git-author-stats WTFPL-2.0+
sdevel/git-blame-stats WTFPL-2.0+
sdevel/git-forest GPL-2.0+
-sdevel/git-new-root WTFPL-2.0+
sdevel/git-revert-stats WTFPL-2.0+
sdevel/git-track WTFPL-2.0+
sdevel/man2html WTFPL-2.0+
@@ -59,6 +57,7 @@
suser/fxterm WTFPL-2.0+
suser/mailsplit WTFPL-2.0+
suser/pesubst WTFPL-2.0+
+suser/qpdecoder WTFPL-2.0+
suser/qtar WTFPL-2.0+
suser/rezip WTFPL-2.0+
suser/rot13 WTFPL-2.0+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/configure.ac new/hxtools-20170109/configure.ac
--- old/hxtools-20150304/configure.ac 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/configure.ac 2017-01-09 22:38:54.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([hxtools], [20150304])
+AC_INIT([hxtools], [20170109])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/data/gitconfig new/hxtools-20170109/data/gitconfig
--- old/hxtools-20150304/data/gitconfig 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/data/gitconfig 2017-01-09 22:38:54.000000000 +0100
@@ -44,3 +44,9 @@
[grep]
patternType = perl
+
+[merge]
+ conflictstyle = diff3
+
+[diff]
+ algorithm = histogram
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/data/hxtools_dircolors new/hxtools-20170109/data/hxtools_dircolors
--- old/hxtools-20150304/data/hxtools_dircolors 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/data/hxtools_dircolors 2017-01-09 22:38:54.000000000 +0100
@@ -155,6 +155,7 @@
.jpeg 0;36
.JPG 0;36 # JPEG
.jpg 0;36 # JPEG
+.m4a 0:36 # MPEG4 container with just audio
.mid 0;36 # MIDI file
.mka 0;36 # Matroska container (used for audio-only)
.mkv 0;36 # Matroska container (used for video)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/doc/Makefile.am new/hxtools-20170109/doc/Makefile.am
--- old/hxtools-20150304/doc/Makefile.am 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/doc/Makefile.am 2017-01-09 22:38:54.000000000 +0100
@@ -25,6 +25,7 @@
git-track.1 \
hcdplay.1 \
hxtools.7 \
+ ldif-duplicate-attrs.1 \
logontime.8 \
mailsplit.1 \
man2html.1 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/doc/gpsh.1 new/hxtools-20170109/doc/gpsh.1
--- old/hxtools-20150304/doc/gpsh.1 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/doc/gpsh.1 2017-01-09 22:38:54.000000000 +0100
@@ -1,18 +1,22 @@
-.TH gpsh 1 "2010-11-30" "hxtools" "hxtools"
+.TH gpsh 1 "2015-03-11" "hxtools" "hxtools"
.SH Name
.PP
-gpsh \(em grep and play my audio files from shell
+gpsh \(em select audio files by name and play them
.SH Syntax
.PP
\fBgpsh\fP [\fB\-F\fP \fIindex.m9u\fP] [\fB-OM,\fP\fIopt\fP]
[\fB\-blvxz\fP] \fIpatterns\fP...
.SH Description
.PP
-Greps the master index file by the specified patterns and plays back any
-matching entries (using external programs: mplayer, timidity). It expressly
-supports jumping into subtracks in mixes.
-.PP
-When no pattern is given, all files are selected.
+gpsh is a utility that will search the current directory for audio/video files
+by matching their path and filename with regular expression patterns presented
+on the command line, and feeding them to a multimedia player. gpsh is capable
+of reading special tracklist files which contain subtrack names and their
+associated time positions.
+.PP
+When no pattern is given, all entries are selected. By default, all entries
+which matched a particular pattern are played back in random order, but order
+between patterns is retained.
.SH Options
.TP
\fB\-F\fP \fIindex.m9u\fP
@@ -36,7 +40,11 @@
Ignore subtracks in a mix, and also avoid reindexing of VBR files.
.TP
\fB\-z\fP
-Do not shuffle the play queue.
+Do not shuffle the play queue / play back in lexicographic order.
+.TP
+\fB\-\-loop\fP \fIn\fP
+Passes the -loop option to mplayer. Note that the option has \fBtwo\fP
+dashes for gpsh.
.SH Index
.PP
gpsh keeps an index cache, and refreshes it in the background when it is older
@@ -45,29 +53,24 @@
will be skipped.
.SH Tracklists for mixes
.PP
-gpsh scans all .txt files for the following pattern used to denote a subtrack
+gpsh scans all .tls files for the following pattern used to denote a subtrack
in a big mix of the same basename:
.PP
/^\[(?:(\d+):)?(\d+):(\d+)\](.*)/
.PP
Example: Audio file: "DJ Doboy - Trancequility volume 01.mp3",
-Tracklist: "DJ Doboy - Trancequility volume 01.txt",
+Tracklist: "DJ Doboy - Trancequility volume 01.tls",
TL content: "[48:29] Paul van Dyk - For an angel".
.SH Regex search
.PP
gpsh uses a Perl regular expression search across file name (mix name, if any)
and subtrack name.
.PP
-Example: gpsh 'dj.doboy.*trancequility.*paul.van.dyk'
+Example: gpsh 'doboy.*trancequility.*paul.van.dyk'
.PP
Would cause gpsh to search for all PVD tracks in Doboy's Trancequility
mixes. mplayer will be invoked on "DJ Doboy - Trancequility volume 01.mp3"
-with automatic seeking to position 48:29, for example. Of course, just
-specifying
-.PP
-gpsh 'dj.doboy.*trancequility'
-.PP
-Would select the grand mix and start at 00:00.
+with automatic seeking to position 48:29, for example.
.SH Extra options
.PP
gpsh \-OM,\-af\-clr chillout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/doc/hxtools.7 new/hxtools-20170109/doc/hxtools.7
--- old/hxtools-20150304/doc/hxtools.7 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/doc/hxtools.7 2017-01-09 22:38:54.000000000 +0100
@@ -82,6 +82,9 @@
.PP
\fBman2html\fP(1) \(en convert nroff manpages to HTML
.PP
+\fBmkvappend\fP(1) \(en concatenate multiple files into one Matroska container
+file
+.PP
\fBmod2ogg\fP(1) \(en wrapper for module to OggVorbis transcoding
.PP
\fBnetload\fP(8) \(en show utilization of network interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/doc/ldif-duplicate-attrs.1 new/hxtools-20170109/doc/ldif-duplicate-attrs.1
--- old/hxtools-20150304/doc/ldif-duplicate-attrs.1 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/doc/ldif-duplicate-attrs.1 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,42 @@
+.TH ldif-duplicate-attrs 1 "2015-04-01" "hxtools" "hxtools"
+.SH Name
+.PP
+ldif-duplicate-attrs \(em check for multi-value attributes in LDIF file
+.SH Usage
+.PP
+\fBprocalldiff\fP [\fB\-C\fP] \fB<\fP\fIfoo.ldif\fP \fB>\fP\fIreport.txt\fP
+.PP
+Input must not contain linewraps. Do use with
+.PP
+{\fBslapcat\fB|\fBldapsearch\fP} \fB-o ldif-wrap=no\fP ...
+.SH Description
+.PP
+Reads an LDIF file from standard input and checks for the presence
+of multivalued attributes of all DNs. Whitelisted attribute names
+are excluded from the problem report. Outputs a statistic sorted by
+severity to standard output.
+.SH Options
+.TP
+\fB\-C\fP
+Force color output. Useful when piping into `less -R`.
+(By default, color is only emitted when stdout is a tty.)
+.SH Example output
+.PP
+.nf
+ 11 cn=67eoG,ou=Muenchen,o=Deutschland
+ uid(3) cn(2) fullName(2) mail(2) sn(2)
+ 10 cn=Hoff,ou=Muenchen,o=Deutschland
+ homeCity(2) homePostalAddress(2) homeZipCode(2) l(2)
+ telephoneNumber(2)
+.fi
+.PP
+The DN cn=67eoG has had three values for the "uid" attribute, two for "cn",
+and so on, for a total badness score of 11.
+The entire output is sorted by:
+.IP 1. 4
+Overall, DNs are sorted by descending score.
+.IP 2. 4
+For a particular DN, attributes are sorted by descending score.
+.IP 3. 4
+If two attributes have the same score, sort occurs
+lexicographically ascending.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sadmin/Makefile.am new/hxtools-20170109/sadmin/Makefile.am
--- old/hxtools-20150304/sadmin/Makefile.am 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sadmin/Makefile.am 2017-01-09 22:38:54.000000000 +0100
@@ -23,6 +23,8 @@
dist_pkglibexec_SCRIPTS = \
logontime \
+ ldif-duplicate-attrs \
+ ldif-leading-spaces \
netload \
recursive_lower \
vcsaview
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sadmin/ldif-duplicate-attrs new/hxtools-20170109/sadmin/ldif-duplicate-attrs
--- old/hxtools-20150304/sadmin/ldif-duplicate-attrs 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/sadmin/ldif-duplicate-attrs 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,130 @@
+#!/usr/bin/perl
+#
+# Check for multi-value attributes in LDIF file
+# written by Jan Engelhardt, 2015
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the WTF Public License version 2 or
+# (at your option) any later version.
+#
+use strict;
+use warnings;
+use Getopt::Long;
+
+our @wl = qw(
+ ACL objectClass member equivalentToMe DirXML-Associations
+ groupMembership securityEquals DirXML-PasswordSyncStatus
+ zarafaSendAsPrivilege zarafaAliases
+ departmentNumber
+);
+our $do_color = -t 1;
+
+&main();
+
+sub main
+{
+ &Getopt::Long::Configure(qw(bundling));
+ &GetOptions(
+ "C" => \$do_color,
+ );
+
+ my $attrcount = &parse_ldif();
+ &print_stats($attrcount);
+}
+
+sub parse_ldif
+{
+ my $dn;
+ my $attrcount = {};
+
+ while (defined(my $line = <STDIN>)) {
+ chomp($line);
+ if (substr($line, 0, 1) eq "#") {
+ next;
+ }
+ if ($line =~ /^dn:\s*/) {
+ $dn = $';
+ $attrcount->{$dn} = {};
+ }
+ my($key, $value) = &parse_line($line);
+ if (!defined($key) || &whitelisted($key)) {
+ # Blank lines and other unparsable lines get filtered
+ # here.
+ next;
+ }
+ ++$attrcount->{$dn}->{$key};
+ }
+ close(STDIN);
+ return $attrcount;
+}
+
+sub parse_line
+{
+ return (shift(@_) =~ /^([^:]+):+(?:\s*)?(.*)/);
+}
+
+sub whitelisted
+{
+ my $needle = shift @_;
+ return scalar grep { $_ eq $needle } @wl;
+}
+
+sub print_stats
+{
+ my $attrcount = shift @_;
+ my $dncount = {};
+ my $crapdn;
+ my $globattr = {};
+
+ foreach my $dn (keys %$attrcount) {
+ my $count = 0;
+ my $dh = $attrcount->{$dn};
+
+ foreach my $key (keys %$dh) {
+ if ($dh->{$key} < 2) {
+ next;
+ }
+ $count += $dh->{$key};
+ }
+ $dncount->{$dn} = $count;
+ }
+
+ foreach my $dn (sort { $dncount->{$b} <=> $dncount->{$a} }
+ keys %$dncount)
+ {
+ my $dh = $attrcount->{$dn};
+
+ if ($dncount->{$dn} == 0) {
+ next;
+ }
+
+ if ($do_color) {
+ print "\e[1;31m";
+ }
+ print $dncount->{$dn};
+ if ($do_color) {
+ print "\e[0;31m";
+ }
+ print "\t$dn\n";
+ print "\t";
+ foreach my $key (sort {
+ $dh->{$b} <=> $dh->{$a} || $a cmp $b }
+ keys %$dh)
+ {
+ if ($dh->{$key} < 2) {
+ next;
+ }
+ if ($do_color) {
+ print "\e[32m", substr($key, 0, 1), "\e[0m",
+ substr($key, 1);
+ } else {
+ print $key;
+ }
+ print "(", $attrcount->{$dn}->{$key}, ") ";
+ $globattr->{$dn} += $dh->{$key};
+ }
+ print "\n\n";
+ ++$crapdn;
+ }
+ print $crapdn, " DNs\n";
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sadmin/ldif-leading-spaces new/hxtools-20170109/sadmin/ldif-leading-spaces
--- old/hxtools-20150304/sadmin/ldif-leading-spaces 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/sadmin/ldif-leading-spaces 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,72 @@
+#!/usr/bin/perl
+#
+# Detect questionable values for LDAP attributes
+# written by Jan Engelhardt, 2015
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the WTF Public License version 2 or
+# (at your option) any later version.
+#
+use strict;
+use warnings;
+use Encode;
+use Getopt::Long;
+use MIME::Base64;
+
+our @wl = qw(
+ zarafaUniqueID
+);
+our $check_for_spaces = 1;
+
+&main();
+
+sub main
+{
+ my $dn;
+ my $dn_printed = 0;
+ my $dncount = 0;
+
+ while (defined(my $line = <STDIN>)) {
+ chomp($line);
+ if (substr($line, 0, 1) eq "#") {
+ next;
+ }
+ if ($line =~ /^dn:\s*/) {
+ $dn = $';
+ $dn_printed = 0;
+ next;
+ }
+ my($key, $is_encoded, $value) = &parse_line($line);
+ if (!defined($key) || &whitelisted($key)) {
+ next;
+ }
+ if ($is_encoded) {
+ $value = decode_base64($value);
+ }
+ if ($check_for_spaces && $value =~ /^\s|\s$/) {
+ if (!$dn_printed) {
+ print "\ndn: $dn\n";
+ $dn_printed = 1;
+ ++$dncount;
+ }
+ print "$key(", length($key), "): $value\n";
+ }
+ }
+ close(STDIN);
+ print "\n$dncount DNs total\n";
+}
+
+sub parse_line
+{
+ my @r = (shift(@_) =~ /^([^:]+)(:+)(?:\s*)?(.*)/);
+ if (defined($r[1])) {
+ $r[1] = length($r[1]) >= 2 ? 1 : 0;
+ }
+ return @r;
+}
+
+sub whitelisted
+{
+ my $needle = shift @_;
+ return scalar grep { $_ eq $needle } @wl;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/.gitignore new/hxtools-20170109/sdevel/.gitignore
--- old/hxtools-20150304/sdevel/.gitignore 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/.gitignore 2017-01-09 22:38:54.000000000 +0100
@@ -1,3 +1,4 @@
/bin2c
/cctypeinfo
+/gxxdm
/peicon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/Makefile.am new/hxtools-20170109/sdevel/Makefile.am
--- old/hxtools-20150304/sdevel/Makefile.am 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/Makefile.am 2017-01-09 22:38:54.000000000 +0100
@@ -2,9 +2,10 @@
AM_CPPFLAGS = ${regular_CPPFLAGS} ${libHX_CFLAGS}
AM_CFLAGS = ${regular_CFLAGS}
+AM_CXXFLAGS = ${regular_CXXFLAGS}
bin_PROGRAMS = \
- bin2c
+ bin2c gxxdm
dist_bin_SCRIPTS = \
checkbrack \
@@ -24,11 +25,12 @@
diff2php \
doxygen-kerneldoc-filter \
git-blame-stats \
- git-new-root \
git-revert-stats \
paddrspacesize \
proc_stat_signal_decode \
sourcefuncsize
bin2c_LDADD = ${libHX_LIBS}
+gxxdm_SOURCES = gxxdm.cpp
+gxxdm_LDADD = ${libHX_LIBS}
peicon_LDADD = ${libHX_LIBS}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/git-forest new/hxtools-20170109/sdevel/git-forest
--- old/hxtools-20150304/sdevel/git-forest 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/git-forest 2017-01-09 22:38:54.000000000 +0100
@@ -110,7 +110,7 @@
chomp $line;
my($sha, $mini_sha, $parents, $msg) =
($line =~ /^<(.*?)><(.*?)><(.*?)>(.*)/s);
- my @next_sha = map { ($_) = /^<(.*?)>/ } @next_sha;
+ my @next_sha = map { ($_) = m{^<(.*?)>} } @next_sha;
my @parents = split(" ", $parents);
&vine_branch(\@vine, $sha);
@@ -135,6 +135,20 @@
$Repo->command_close_pipe($fh, $fhc);
}
+sub get_next_pick
+{
+ my $fh = shift @_;
+ while (defined(my $line = <$fh>)) {
+ if ($line =~ /^\s*#/) {
+ next;
+ }
+ if ($line =~ /^\S+\s+(\S+)/) {
+ return $2;
+ }
+ }
+ return undef;
+}
+
sub get_refs
{
my($fh, $c) = $Repo->command_output_pipe("show-ref");
@@ -169,9 +183,12 @@
if (open(my $act_fh, $Repo->repo_path().
"/rebase-merge/git-rebase-todo")) {
my($curr) = (<$act_fh> =~ /^\S+\s+(\S+)/);
- $curr = $Repo->command("rev-parse", $curr);
- chomp $curr;
- unshift(@{$ret->{$curr}}, "rebase/next");
+ $curr = &get_next_pick($act_fh);
+ if (defined($curr)) {
+ $curr = $Repo->command("rev-parse", $curr);
+ chomp $curr;
+ unshift(@{$ret->{$curr}}, "rebase/next");
+ }
close $act_fh;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/git-new-root new/hxtools-20170109/sdevel/git-new-root
--- old/hxtools-20150304/sdevel/git-new-root 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/git-new-root 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#!/bin/bash
-#
-# Start a new root commit (without a parent)
-# written up by Jan Engelhardt, 2008
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the WTF Public License version 2 or
-# (at your option) any later version.
-
-if [[ -z "$1" ]]; then
- echo "Need a branch name";
- exit 1;
-fi;
-git symbolic-ref HEAD "refs/heads/$1";
-rm -f .git/index;
-git clean -df;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/gxxdm.cpp new/hxtools-20170109/sdevel/gxxdm.cpp
--- old/hxtools-20150304/sdevel/gxxdm.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/sdevel/gxxdm.cpp 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,341 @@
+/*
+ * An educational piece-by-piece G++ symbol name demangler
+ * in the style of wireshark's bytewise highlighting
+ * Copyright by Jan Engelhardt, 2016
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ * For details, see the file named "LICENSE.GPL2".
+ */
+#include <list>
+#include <sstream>
+#include <string>
+#include <cctype>
+#include <cstdio>
+#include <libHX/string.h>
+
+struct seg {
+ size_t start, end;
+ std::string desc;
+ std::list<seg> sub;
+};
+
+static const char c_hi[] = "\e\1331;37;42m";
+static const char c_normal[] = "\e\1330m";
+
+static ssize_t dparse_type(std::list<seg> &, const char *, size_t);
+static ssize_t dparse_paramlist(std::list<seg> &, const char *, size_t, char = '\0');
+
+static ssize_t dparse_digitname(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ size_t ndigit = strspn(sym + idx, "0123456789");
+ size_t nchar = 0;
+ size_t i = ndigit;
+
+ for (const char *p = sym + idx; i-- > 0; ++p) {
+ nchar *= 10;
+ nchar += *p - '0';
+ }
+ ast.push_back({idx, idx + ndigit, "length of name"});
+ if (strnlen(sym + idx, ndigit + nchar) < ndigit + nchar) {
+ /* not enough chars before end of string */
+ ast.push_back({idx + ndigit, idx + ndigit + nchar, "name (incomplete)"});
+ return -1;
+ }
+ ast.push_back({idx + ndigit, idx + ndigit + nchar, "name"});
+ return ast.rbegin()->end;
+}
+
+static ssize_t dparse_qual_mf(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ for (; strchr("KORV", sym[idx]) != nullptr; ++idx) {
+ if (sym[idx] == 'K')
+ ast.push_back({idx, idx + 1, "const qualifier for member function"});
+ else if (sym[idx] == 'O')
+ ast.push_back({idx, idx + 1, "uref qualifier for member function"});
+ else if (sym[idx] == 'R')
+ ast.push_back({idx, idx + 1, "ref qualifier for member function"});
+ else if (sym[idx] == 'O')
+ ast.push_back({idx, idx + 1, "volatile qualifier for member function"});
+ else if (sym[idx] == 'r')
+ ast.push_back({idx, idx + 1, "restrict qualifier for member function"});
+ }
+ return idx;
+}
+
+static ssize_t dparse_nspace(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ ast.push_back({idx, idx, "nspace"});
+ if (sym[idx] != 'N')
+ return -1;
+ ++idx;
+ auto &tl = *ast.rbegin();
+ int ret = dparse_qual_mf(tl.sub, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ while (isdigit(sym[idx])) {
+ ret = dparse_digitname(tl.sub, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ }
+ tl.end = idx;
+ if (sym[idx] != 'E')
+ return -1;
+ tl.end = ++idx;
+ return idx;
+}
+
+static ssize_t dparse_array(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ if (sym[idx] != 'A')
+ return -1;
+ ast.push_back({idx, idx + 1, "array"});
+ auto &e_array = *ast.rbegin();
+ ++idx;
+ e_array.sub.push_back({idx, idx, "array size"});
+ auto &e_asize = *e_array.sub.rbegin();
+ size_t arsize = 0;
+ for (; isdigit(sym[idx]); ++idx) {
+ arsize *= 10;
+ arsize += sym[idx] - '0';
+ }
+ e_asize.end = idx;
+ e_array.end = idx;
+ if (sym[idx] != '_')
+ return -1;
+ e_array.end = ++idx;
+ return dparse_type(e_array.sub, sym, idx);
+}
+
+static ssize_t dparse_functype(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ ast.push_back({idx, idx, "return type"});
+ auto &rt_type = *ast.rbegin();
+ int ret = dparse_type(rt_type.sub, sym, idx);
+ if (ret < 0)
+ return -1;
+ rt_type.end = idx = ret;
+
+ ret = dparse_paramlist(ast, sym, idx, 'E');
+ if (ret < 0)
+ return -1;
+ ast.rbegin()->end = idx = ret;
+ return idx;
+}
+
+static ssize_t dparse_type(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ if (sym[idx] == 'r') ast.push_back({idx, idx + 1, "restrict"});
+ else if (sym[idx] == 'K') ast.push_back({idx, idx + 1, "const"});
+ else if (sym[idx] == 'P') ast.push_back({idx, idx + 1, "pointer to"});
+ else if (sym[idx] == 'R') ast.push_back({idx, idx + 1, "reference to"});
+ else if (sym[idx] == 'O') ast.push_back({idx, idx + 1, "uref to"});
+ else if (sym[idx] == 'V') ast.push_back({idx, idx + 1, "volatile"});
+ if (strchr("KOPRVr", sym[idx]) != NULL) {
+ auto &ptr = *ast.rbegin();
+ if (sym[idx+1] == '\0')
+ return -1;
+ int ret = dparse_type(ptr.sub, sym, idx + 1);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ return idx;
+ }
+ else if (sym[idx] == 'A') {
+ int ret = dparse_array(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ return idx;
+ }
+ else if (sym[idx] == 'F') {
+ ast.push_back({idx, idx + 1, "function"});
+ auto &ptr = *ast.rbegin();
+ if (sym[idx+1] == '\0')
+ return -1;
+ int ret = dparse_functype(ptr.sub, sym, idx + 1);
+ if (ret < 0)
+ return ret;
+ if (sym[ret] == 'E')
+ ++ret;
+ ptr.end = ret;
+ return ret;
+ }
+ else if (isdigit(sym[idx])) {
+ int ret = dparse_digitname(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ return idx;
+ }
+ else if (sym[idx] == 'N') {
+ int ret = dparse_nspace(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ return idx;
+ }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'a') { ast.push_back({idx, idx + 1, "auto"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'd') { ast.push_back({idx, idx + 1, "decimal64"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'e') { ast.push_back({idx, idx + 1, "decimal128"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'f') { ast.push_back({idx, idx + 1, "decimal32"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'h') { ast.push_back({idx, idx + 1, "half"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'i') { ast.push_back({idx, idx + 1, "char32_t"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 'n') { ast.push_back({idx, idx + 1, "decltype(nullptr)"}); }
+ else if (sym[idx] == 'D' && sym[idx+1] == 's') { ast.push_back({idx, idx + 1, "char16_t"}); }
+ else if (sym[idx] == 'a') { ast.push_back({idx, idx + 1, "signed char"}); }
+ else if (sym[idx] == 'b') { ast.push_back({idx, idx + 1, "bool"}); }
+ else if (sym[idx] == 'c') { ast.push_back({idx, idx + 1, "char"}); }
+ else if (sym[idx] == 'd') { ast.push_back({idx, idx + 1, "double"}); }
+ else if (sym[idx] == 'e') { ast.push_back({idx, idx + 1, "long double"}); }
+ else if (sym[idx] == 'f') { ast.push_back({idx, idx + 1, "float"}); }
+ else if (sym[idx] == 'g') { ast.push_back({idx, idx + 1, "__float128"}); }
+ else if (sym[idx] == 'h') { ast.push_back({idx, idx + 1, "unsigned char"}); }
+ else if (sym[idx] == 'i') { ast.push_back({idx, idx + 1, "int"}); }
+ else if (sym[idx] == 'j') { ast.push_back({idx, idx + 1, "unsigned int"}); }
+ else if (sym[idx] == 'l') { ast.push_back({idx, idx + 1, "long"}); }
+ else if (sym[idx] == 'm') { ast.push_back({idx, idx + 1, "unsigned long"}); }
+ else if (sym[idx] == 'n') { ast.push_back({idx, idx + 1, "__int128"}); }
+ else if (sym[idx] == 'o') { ast.push_back({idx, idx + 1, "unsigned __int128"}); }
+ else if (sym[idx] == 's') { ast.push_back({idx, idx + 1, "short"}); }
+ else if (sym[idx] == 't') { ast.push_back({idx, idx + 1, "unsigned short"}); }
+ else if (sym[idx] == 'u') { ast.push_back({idx, idx + 1, "special: vendor type (unimplemented)"}); return -1; }
+ else if (sym[idx] == 'v') { ast.push_back({idx, idx + 1, "void"}); }
+ else if (sym[idx] == 'w') { ast.push_back({idx, idx + 1, "wchar_t"}); }
+ else if (sym[idx] == 'x') { ast.push_back({idx, idx + 1, "long long"}); }
+ else if (sym[idx] == 'y') { ast.push_back({idx, idx + 1, "unsigned long long"}); }
+ else if (sym[idx] == 'z') { ast.push_back({idx, idx + 1, "..."}); }
+ else {
+ return -1;
+ }
+ return ++idx;
+}
+
+static ssize_t dparse_paramlist(std::list<seg> &ast, const char *sym, size_t idx,
+ char endchar)
+{
+ ast.push_back({idx, idx, "parameter type list"});
+ auto &plist = *ast.rbegin();
+ while (sym[idx] != endchar && sym[idx] != '\0') {
+ int ret = dparse_type(plist.sub, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ }
+ plist.end = idx;
+ return idx;
+}
+
+static ssize_t dparse_template1(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ ast.push_back({idx, idx, "template"});
+ if (sym[idx] != 'I')
+ return -1;
+ auto &tl = *ast.rbegin();
+ tl.sub.push_back({idx, idx + 1, "template parameter list start marker"});
+ ++idx;
+ if (sym[idx] == '\0')
+ return -1;
+ ssize_t ret = dparse_paramlist(tl.sub, sym, idx, 'E');
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ if (sym[idx] != 'E')
+ return -1;
+ tl.sub.push_back({idx, idx + 1, "template parameter list end marker"});
+ ++idx;
+
+ tl.sub.push_back({idx, idx, "return type"});
+ auto &rt_type = *tl.sub.rbegin();
+ ret = dparse_type(rt_type.sub, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ tl.end = rt_type.end = idx;
+
+ /* template means it's a function and MUST take params */
+ if (sym[idx] == '\0')
+ return -1;
+ return dparse_paramlist(ast, sym, idx);
+}
+
+static ssize_t dparse_z(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ if (sym[idx] == 'N') {
+ int ret = dparse_nspace(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ } else if (isdigit(sym[idx])) {
+ int ret = dparse_digitname(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ } else {
+ return -1;
+ }
+ if (sym[idx] == 'I') {
+ int ret = dparse_template1(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ } else if (sym[idx] != '\0') {
+ int ret = dparse_paramlist(ast, sym, idx);
+ if (ret < 0)
+ return ret;
+ idx = ret;
+ }
+ return idx;
+}
+
+static ssize_t dparse_start(std::list<seg> &ast, const char *sym, size_t idx)
+{
+ if (sym[idx] == '_' && sym[idx+1] == 'Z') {
+ ast.push_back({idx, idx + 2, "normal name marker"});
+ int ret = dparse_z(ast, sym, idx + 2);
+ if (ret < 0)
+ return ret;
+ }
+ return 0;
+}
+
+static void dprint(const std::list<seg> &list, const char *sym, size_t depth = 0)
+{
+ for (const auto &seg : list) {
+ printf("%.*s%s%.*s%s%s: %-*s%s\n",
+ static_cast<int>(seg.start), sym,
+ c_hi, static_cast<int>(seg.end - seg.start), sym + seg.start, c_normal,
+ sym + seg.end,
+ static_cast<int>(depth * 2), "", seg.desc.c_str());
+ if (seg.sub.size() > 0)
+ dprint(seg.sub, sym, depth + 1);
+ }
+}
+
+static void demangle(const char *sym)
+{
+ printf("==== %s ====\n", sym);
+ std::list<seg> ast;
+ int ret = dparse_start(ast, sym, 0);
+ if (ret < 0)
+ printf("Demangle failed along the way\n");
+ dprint(ast, sym);
+}
+int main(int argc, const char **argv)
+{
+ if (argc == 1) {
+ hxmc_t *line = NULL;
+ while (HX_getl(&line, stdin) != NULL) {
+ HX_chomp(line);
+ demangle(line);
+ }
+ } else {
+ while (*++argv != NULL)
+ demangle(*argv);
+ }
+ return EXIT_SUCCESS;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/sourcefuncsize new/hxtools-20170109/sdevel/sourcefuncsize
--- old/hxtools-20150304/sdevel/sourcefuncsize 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/sourcefuncsize 2017-01-09 22:38:54.000000000 +0100
@@ -61,8 +61,9 @@
\s*\*+\s* | # returns pointer
\s+ # returns type
)
- (\w+) # function name
+ (\w+(?:::\w+)*) # function name
\s*\(\s*.*?\s*\) # function args
+ (?:\s*const)?
\s*\{
/xs;
@@ -98,6 +99,17 @@
if ($ln =~ m[^\s*#]so) {
push(@saved_seg, $cur_seg);
$cur_seg = "^pre";
+ } elsif ($ln =~ m[^\s*/\*.*?\*/\s*$]so) {
+ #
+ # one-line /* */ comment, with no code
+ #
+ push(@saved_seg, $cur_seg);
+ $cur_seg = "^cm";
+ } elsif ($ln =~ m[/\*.*?\*/]so) {
+ #
+ # one-line /* */ comment, with possibly code in
+ # the same line thus, do nothing here
+ #
} elsif ($ln =~ m[^\s*//]so) {
push(@saved_seg, $cur_seg);
$cur_seg = "^cm";
@@ -108,11 +120,6 @@
push(@saved_seg, $cur_seg);
$cur_seg = "^lcm";
++$seg_lcomm;
- } elsif ($ln =~ m[/\*.*?\*/]so) {
- #
- # one-line /* */ comment, with possibly code in
- # the same line thus, do nothing here
- #
} elsif ($ln =~ m[\*/]so) {
$seg_lcomm = 0;
} elsif ($Empty) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/sdevel/spec-beautifier new/hxtools-20170109/sdevel/spec-beautifier
--- old/hxtools-20150304/sdevel/spec-beautifier 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/sdevel/spec-beautifier 2017-01-09 22:38:54.000000000 +0100
@@ -61,13 +61,13 @@
print STDERR "$s->{pos}: Seen \"/usr/lib\". Consider replacing with \%_libdir or \%_libexecdir as appropriate.\n";
}
if (m</usr/lib64$PSTOP>) {
- print STDERR "$s->{pos}: Seen \"/usr/lib64\". Consider fixing it.";
+ print STDERR "$s->{pos}: Seen \"/usr/lib64\". Consider fixing it.\n";
}
if (m{(?:^|\s)/lib$PSTOP}) {
print STDERR "$s->{pos}: Seen \"/lib\". Consider replacing with \%_lib as appropriate.\n";
}
if (m{(?:^|\s)/lib64$PSTOP}) {
- print STDERR "$s->{pos}: Seen \"/lib64\". Consider fixing it.";
+ print STDERR "$s->{pos}: Seen \"/lib64\". Consider fixing it.\n";
}
# Temporarily add {} to reduce following regexes
@@ -202,7 +202,7 @@
$s->{section} = $1;
}
&process_generic($s);
- if ($s->{sectype} == "package") {
+ if ($s->{sectype} eq "package") {
&process_package();
}
if ($opt_diff_mode) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/Makefile.am new/hxtools-20170109/smm/Makefile.am
--- old/hxtools-20150304/smm/Makefile.am 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/smm/Makefile.am 2017-01-09 22:38:54.000000000 +0100
@@ -12,7 +12,7 @@
endif
dist_bin_SCRIPTS = \
- googtts gpsh move_moov ssa2srt
+ aumeta googtts gpsh mkvappend ssa2srt
pkglibexec_PROGRAMS = \
bsvplay \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/aumeta new/hxtools-20170109/smm/aumeta
--- old/hxtools-20150304/smm/aumeta 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/smm/aumeta 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,98 @@
+#!/usr/bin/perl
+
+use Getopt::Long;
+use IPC::Open3;
+our $strip_video = 0;
+our %meta;
+&Getopt::Long::Configure(qw(bundling));
+&GetOptions(
+ "n" => \$strip_video,
+ "t=s" => \$meta{title},
+ "a=s" => \$meta{artist},
+ "l=s" => \$meta{album},
+ "G=s" => \$meta{genre},
+ "N=s" => \$meta{track},
+ "d=s" => \$meta{date},
+ "m=s" => \%meta,
+);
+&main();
+
+sub main
+{
+ foreach my $file (@ARGV) {
+ &moov_one_file($file);
+ }
+}
+
+sub moov_one_file
+{
+ my $input = shift @_;
+ local(*CIN, *COUT);
+ my @args = ("ffmpeg", "-i", $input, "-acodec", "copy");
+ push(@args, $strip_video ? "-vn" : ("-vcodec", "copy"));
+ foreach my $key (keys %meta) {
+ if (defined($meta{$key})) {
+ push(@args, "-metadata", "$key=$meta{$key}");
+ }
+ }
+
+ my $tmpfile = "~\$~$$.moov.mp4";
+ # must be in same filesystem for rename() to succeed, so don't use /tmp
+ my @targs = ("-moov_size", 4, "-y", $tmpfile);
+ print STDERR "*** Running ", join(" ", @args, @targs), "\n";
+ my $pid = open3(\*CIN, \*COUT, \*COUT, @args, @targs);
+ close CIN;
+
+ my $moov_size = 4 + &moov_get_extra(\*COUT);
+ waitpid($pid, 0);
+ my $status = $? >> 8;
+ close COUT;
+
+ # Run with exact moov_size
+ print "$input: moov_size=$moov_size\n";
+ my @targs = ("-moov_size", $moov_size, "-y", $tmpfile);
+ print STDERR "*** Running ", join(" ", @args, @targs), "\n";
+ $pid = open3(\*CIN, \*COUT, \*COUT,
+ @args, "-moov_size", $moov_size, "-y", $tmpfile);
+ close CIN;
+ while (defined(my $line = <COUT>)) {
+ }
+ close COUT;
+ waitpid($pid, 0);
+ $status = $? >> 8;
+ if ($status != 0) {
+ print STDERR "$input: 2nd stage error\n";
+ return;
+ }
+
+ # Set filetimes to original
+ my @stat = stat($input);
+ if (!utime($stat[8], $stat[9], $tmpfile)) {
+ print STDERR "$input: could not set utimes on temporary file $tmpfile: $!\n";
+ return;
+ }
+ if (!rename($tmpfile, $input)) {
+ print STDERR "$input: could not move temporary file $tmpfile back: $!\n";
+ return;
+ }
+ return 1;
+}
+
+sub moov_get_extra
+{
+ local *FH = shift @_;
+ my $extra = 0;
+ my $seen = undef;
+
+ while (defined(my $line = <FH>)) {
+ if ($line =~ /reserved_moov_size is too small, needed (\d+) additional/) {
+ $seen = 1;
+ $extra = $1;
+ last;
+ }
+ }
+ if (!$seen) {
+ return undef;
+ }
+ return $extra;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/gpsh new/hxtools-20170109/smm/gpsh
--- old/hxtools-20150304/smm/gpsh 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/smm/gpsh 2017-01-09 22:38:54.000000000 +0100
@@ -115,8 +115,8 @@
print "[$$] Index has ", scalar(keys %$index), " entries\n";
foreach my $arg (@$argv) {
- push(@$queue, grep {
- $_ =~ /$arg/i &&
+ push(@$queue, sort grep {
+ ($_ =~ /$arg/i || $arg eq $index->{$_}->{file}) &&
(!$opt_nomixes || !exists($index->{$_}->{"ofs"}))
} keys %$index);
}
@@ -169,7 +169,7 @@
{
my $ext = lc shift @_;
- foreach my $t (qw(.it .s3m .xm .mod .xm2 .j2b)) {
+ foreach my $t (qw(.it .s3m .xm .mod .xm2 .j2b .psm)) {
if ($ext eq $t) {
return 1;
}
@@ -197,12 +197,7 @@
my $ext = &filename_ext($file);
$ext = lc $ext;
- # A lyr file for a version may be available in a basename
- my $title2 = $title;
- $title2 =~ s{\s+\(.*?\)$}{};
- if (-e "$title.lyr" || -e "$title2.lyr") {
- print STDERR "\e[1;32m[lyr]\e[0m "; # ]]
- }
+ &print_lyr($title);
print STDERR "\e[1;31m$title\e[0m\n"; # ]]
if (&filename_timidity($ext)) {
# my $t = $opt_verbose ? "t" : "";
@@ -226,16 +221,44 @@
}
}
+sub print_lyr
+{
+ # A lyr file for a version may be available in a basename.
+ # If so, print a line notifying about its existence.
+ my $title = shift @_;
+ my $title2 = $title;
+ do {
+ if (-e "$title2.lyr") {
+ print STDERR "\e[1;32m[lyr]\e[0m "; # ]]
+ return;
+ }
+ } while ($title2 =~ s{\s*(?:\([^\)]+\)|\[[^\]]+\])$}{});
+ if (-e "$title.lyr") {
+ print STDERR "\e[1;32m[lyr]\e[0m "; # ]]
+ }
+}
+
sub workaround_mp3vbr
{
- # MPlayer cannot properly seek in MP3 VBR streams.
- # Create an index file...
+ # MP3 ABR/VBR files have no seek index. Players fall back to computing
+ # the position using CBR semantics. (That is faster than reindexing it
+ # *everytime*, and thus a reasonable default.) However, accessing mixes
+ # requires a functional seek index, so reindex the audio file *and
+ # keep it* (which players doing on-the-fly-reindex don't - which would
+ # make it even more costly).
my $ifile = shift @_;
my $ofile = $ifile;
my $tmpdir = "/tmp/psh.$>";
+ my @stat = stat($ifile);
- $ofile =~ s{/}{__}gs;
- $ofile = "$tmpdir/$ofile";
+ if (!defined($stat[0])) {
+ return $ifile;
+ }
+ #
+ # Use a path-independent name, so that gpsh can be run from
+ # subdirectories and not cause remuxing a file.
+ #
+ $ofile = "$tmpdir/$stat[0].$stat[1]";
if (-e $ofile) {
return $ofile;
}
@@ -325,8 +348,8 @@
if (&filename_meta($ext)) {
next;
}
- my $title = $file;
- #my $title = &filename_nonext($file);
+ my $title = &filename_nonext($file);
+ # Collect with extension to enable tabbing on the shell
$track_list->{$title} = {"file" => $file};
}
@@ -337,8 +360,10 @@
next;
}
- # Mark this title as being a mix and/or part of a mix
- my $parent_title = $af; #&filename_nonext($af);
+ # Mark this title as being a mix and/or part of a mix.
+ # In this case, we do not want the extension,
+ # to facilitate grepping for e.g. "mix 01,02".
+ my $parent_title = &filename_nonext($af);
$track_list->{$parent_title}->{"ofs"} = 0;
if (!open(FH, "< $file")) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/mkvappend new/hxtools-20170109/smm/mkvappend
--- old/hxtools-20150304/smm/mkvappend 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/smm/mkvappend 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,11 @@
+#!/bin/bash -e
+outfile="$1"
+shift
+a=("$1")
+shift
+j=0
+for i in "$@"; do
+ j=$[$j+1]
+ a[j]="+$i"
+done
+exec mkvmerge -o "$outfile" "${a[@]}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/move_moov new/hxtools-20170109/smm/move_moov
--- old/hxtools-20150304/smm/move_moov 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/smm/move_moov 1970-01-01 01:00:00.000000000 +0100
@@ -1,79 +0,0 @@
-#!/usr/bin/perl
-
-use Getopt::Long;
-use IPC::Open3;
-our $novideo = 0;
-&Getopt::Long::Configure(qw(bundling));
-&GetOptions("n" => \$novideo);
-&main();
-
-sub main
-{
- foreach my $file (@ARGV) {
- &moov_one_file($file);
- }
-}
-
-sub moov_one_file
-{
- my $input = shift @_;
- local(*CIN, *COUT);
- my $pid = open3(\*CIN, \*COUT, \*COUT,
- "ffmpeg", "-i", $input, "-acodec", "copy",
- $novideo ? ("-vn") : ("-vcodec", "copy"),
- "-moov_size", "4", "-y", ".moov.mp4");
- close CIN;
-
- my $moov_size = 4 + &moov_get_extra(\*COUT);
- waitpid($pid, 0);
- my $status = $? >> 8;
- close COUT;
-
- # Run with exact moov_size
- print "$input: moov_size=$moov_size\n";
- $pid = open3(\*CIN, \*COUT, \*COUT,
- "ffmpeg", "-i", $input, "-acodec", "copy",
- $novideo ? ("-vn") : ("-vcodec", "copy"),
- "-moov_size", $moov_size, "-y", ".moov.mp4");
- close CIN;
- while (defined(my $line = <COUT>)) {
- }
- close COUT;
- waitpid($pid, 0);
- my $status = $? >> 8;
- if ($status != 0) {
- print STDERR "$input: 2nd stage error\n";
- return;
- }
-
- # Set filetimes to original
- my @stat = stat($input);
- if (!utime($stat[8], $stat[9], ".moov.mp4")) {
- print STDERR "$input: could not set utimes on temporary file: $!\n";
- return;
- }
- if (!rename(".moov.mp4", $input)) {
- print STDERR "$input: could not move temporary file back: $!\n";
- return;
- }
- return 1;
-}
-
-sub moov_get_extra
-{
- local *FH = shift @_;
- my $extra = 0;
- my $seen = undef;
-
- while (defined(my $line = <FH>)) {
- if ($line =~ /reserved_moov_size is too small, needed (\d+) additional/) {
- $seen = 1;
- $extra = $1;
- last;
- }
- }
- if (!$seen) {
- return undef;
- }
- return $extra;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/smm/qplay.c new/hxtools-20170109/smm/qplay.c
--- old/hxtools-20150304/smm/qplay.c 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/smm/qplay.c 2017-01-09 22:38:54.000000000 +0100
@@ -136,6 +136,7 @@
/**
* parse_arg_n - play a note value
+ * (The values 0..85 are related to MIDI notes.)
*/
static unsigned int parse_arg_n(const char *origptr)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/suser/Makefile.am new/hxtools-20170109/suser/Makefile.am
--- old/hxtools-20150304/suser/Makefile.am 2015-03-04 17:24:01.000000000 +0100
+++ new/hxtools-20170109/suser/Makefile.am 2017-01-09 22:38:54.000000000 +0100
@@ -12,7 +12,7 @@
dist_bin_SCRIPTS = \
fxterm \
- pesubst \
+ pegrep pesubst qpdecode \
rot13 \
qtar \
wktimer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/suser/pegrep new/hxtools-20170109/suser/pegrep
--- old/hxtools-20150304/suser/pegrep 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/suser/pegrep 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,90 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+our($grepcolor, $filecolor, $coloncolor, $linenocolor, $stopcolor) = ($ENV{"GREP_COLOR"});
+
+&main();
+
+sub goback
+{
+ my($s, $start) = @_;
+ if ($start == 0) {
+ return 0;
+ }
+ my $of = rindex($$s, "\n", $start - 1);
+ if ($of <= 0) {
+ return 0;
+ }
+ $of = rindex($$s, "\n", $of - 1);
+ return ($of <= 0) ? 0 : $of;
+}
+
+sub gofwd
+{
+ my($s, $start) = @_;
+ my $max = length($$s);
+ if ($start >= $max) {
+ return $max;
+ }
+ my $of = index($$s, "\n", $start);
+ if ($of < 0 || $of >= $max) {
+ return $max;
+ }
+ $of = index($$s, "\n", $of + 1);
+ return ($of < 0 || $of >= $max) ? $max : $of;
+}
+
+sub nlcount
+{
+ my $tmp = shift @_;
+ return $tmp =~ tr/\n//;
+}
+
+sub main
+{
+ my $pattern = shift @ARGV;
+ if (length($grepcolor) > 0) {
+ $grepcolor = "\x1b\x5b${grepcolor}m";
+ $filecolor = "\x1b\x5b35m";
+ $coloncolor = "\x1b\x5b1;30m";
+ $linenocolor = "\x1b\x5b36m";
+ $stopcolor = "\x1b\x5b0m";
+ }
+ foreach my $file (@ARGV) {
+ &dofile($file, $pattern);
+ }
+}
+
+sub dofile
+{
+ my($file, $pattern) = @_;
+ local *FH;
+
+ open(FH, "< $file");
+ my @lines = <FH>;
+ close FH;
+ my $data = join("", @lines);
+ while ($data =~ m{$pattern}gs) {
+ my $mainofs = $-[0];
+ my $postofs = $+[0];
+ my $mainlen = $postofs - $mainofs;
+ my $leadofs = &goback(\$data, $mainofs);
+ my $endofs = &gofwd(\$data, $postofs);
+ my $linestart = 1 + &nlcount(substr($data, 0, $mainofs));
+ my $lineend = $linestart + &nlcount(substr($data, $mainofs, $mainlen));
+ print "$filecolor$file$stopcolor";
+ print "$coloncolor:$stopcolor";
+ print "$linenocolor$linestart$stopcolor";
+ print "$coloncolor→$stopcolor";
+ print "$linenocolor$lineend$stopcolor";
+ print "$coloncolor:$stopcolor";
+ print substr($data, $leadofs, $mainofs - $leadofs);
+ # because less -R does not support color across \n
+ my $main = substr($data, $mainofs, $mainlen);
+ $main =~ s{\n}{$stopcolor\n$grepcolor}g;
+ print $grepcolor, $main, $stopcolor;
+ print substr($data, $postofs, $endofs - $postofs);
+ print "\n";
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/suser/qpdecode new/hxtools-20170109/suser/qpdecode
--- old/hxtools-20150304/suser/qpdecode 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/suser/qpdecode 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,2 @@
+#!/usr/bin/perl -lp
+s{=(..)}{pack("H*",$1)}egs;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/hxtools-20150304/suser/settime.pl new/hxtools-20170109/suser/settime.pl
--- old/hxtools-20150304/suser/settime.pl 1970-01-01 01:00:00.000000000 +0100
+++ new/hxtools-20170109/suser/settime.pl 2017-01-09 22:38:54.000000000 +0100
@@ -0,0 +1,85 @@
+#!/usr/bin/perl
+
+use strict;
+
+&main();
+
+sub oldest_among
+{
+ my $age = 0;
+ my @sb;
+
+ foreach $_ (@_) {
+ @sb = stat($_);
+ if ($sb[9] > $age) {
+ $age = $sb[9];
+ }
+ }
+
+ return $age;
+}
+
+sub set_arc_time
+{
+ my $file = shift @_;
+
+ system "rm", "-Rf", "tmp";
+ mkdir("tmp") || die "mkdir tmp: $!";
+ chdir("tmp") || die "chdir tmp: $!";
+
+ my $ret = 0;
+ if ($file =~ /\.zip$/i) {
+ $ret = system("unzip", "-q", "../$file");
+ } elsif ($file =~ /\.7z$/i) {
+ $ret = system("7z", "x", "../$file");
+ } elsif ($file =~ /\.rar$/i) {
+ $ret = system("unrar", "x", "-inul", "../$file");
+ } elsif ($file =~ /\.tar.gz$/i) {
+ $ret = system("tar", "-xzf", "../$file");
+ } elsif ($file =~ /\.cab$/i) {
+ $ret = system("cabextract", "-q", "../$file");
+ } else {
+ print "\e[31m", "Unknown archive format", "\e[0m\n"; # ]]
+ }
+
+ if ($ret != 0) {
+ print "\e[31m", "Unpack $file failed", "\e[0m\n"; # ]]
+ }
+
+ chomp(@_ = `find -type f`);
+ my $age = &oldest_among(@_);
+
+ chdir("..") || die "chdir ..: $!";
+ system "rm", "-Rf", "tmp";
+
+ if ($age > 0) {
+ print "\e[36m", "Setting $file to ", scalar(localtime($age)), "\e[0m\n"; # ]]
+ utime(time(), $age, $file);
+ } else {
+ print "\e[33m", "age = 0", "\e[0m\n"; # ]]
+ }
+}
+
+sub main
+{
+ foreach my $version (grep { -d $_ } glob("*"))
+ {
+ chdir($version) || die "chdir $version: $!";
+ print "\e[1m", $version, "\e[0m\n"; # ]]
+
+ my @list = grep { -f $_ && $_ !~ /\.(rpm|bz2)$/ } glob("*");
+ foreach my $file (@list) {
+ print "\e[32m", "$file", "\e[0m\n"; # ]]
+ &set_arc_time($file);
+ }
+
+ my $age = &oldest_among(@list);
+ if ($age > 0) {
+ print "\e[36m", "Setting $version to ", scalar(localtime($age)), "\e[0m\n"; # ]]
+ utime(time(), $age, ".");
+ } else {
+ print "\e[33m", "age = 0", "\e[0m\n"; # ]]
+ }
+ chdir("..") || die "chdir ..: $!";
+ }
+}
++++++ hxtools.keyring ++++++
--- /var/tmp/diff_new_pack.ghiWHA/_old 2017-01-17 14:34:55.521672699 +0100
+++ /var/tmp/diff_new_pack.ghiWHA/_new 2017-01-17 14:34:55.521672699 +0100
@@ -1,129 +1,91 @@
-pub 4096R/19FC338D 2011-05-09 [expires: 2016-05-07]
-uid Jan Engelhardt <jengelh(a)gmx.de>
-sub 4096R/C66DD881 2011-05-09 [expires: 2016-05-07]
-sub 4096g/34C483D3 2011-05-09 [expires: 2016-05-07]
-sub 3072D/68A20E45 2011-05-09 [expires: 2016-05-07]
+pub 4096R/0xA28BDFEEB5A2B2FF 2015-05-07 [expires: 2020-08-08]
+ Key fingerprint = 2F8B FE96 D14F 8B56 0FBC 1F1D A28B DFEE B5A2 B2FF
+uid [ unknown] Jan Engelhardt <jengelh(a)inai.de>
+sub 4096R/0xB927458717B4ECED 2015-05-07 [expires: 2020-08-08]
+sub 4096R/0x6A3933DA297DFB7D 2015-05-07 [expires: 2020-08-08]
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-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
-=ZosZ
+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
+cCAy
+=ePMx
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2017-01-17 14:31:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 2017-01-15 10:56:48.711127491 +0100
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2017-01-17 14:32:00.442493778 +0100
@@ -2,94 +1,0 @@
-Tue Jan 10 10:54:20 UTC 2017 - fbui(a)suse.com
-
-- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd
-
- 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399)
-
--------------------------------------------------------------------
-Fri Jan 6 08:27:03 UTC 2017 - fbui(a)suse.com
-
-- Use the %{resolved} build conditional for the nss-resolve subpackage
-
--------------------------------------------------------------------
-Thu Jan 5 17:46:44 UTC 2017 - fbui(a)suse.com
-
-- /usr/bin/systemd-resolve was missing from the filelist
-
--------------------------------------------------------------------
-Thu Jan 5 17:09:01 UTC 2017 - fbui(a)suse.com
-
-- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214)
-
--------------------------------------------------------------------
-Mon Dec 19 13:49:48 UTC 2016 - fbui(a)suse.com
-
-- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032
-
- - a4dff165d nspawn: resolv.conf might not be created initially (#4799)
- - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622)
- - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340)
- - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591)
-
--------------------------------------------------------------------
-Wed Dec 14 14:51:41 UTC 2016 - fbui(a)suse.com
-
-- Really include legacy kbd maps in kbd-model-map (bsc#1015515)
-
- Instead of fix-machines-subvol-for-rollbacks.sh...
-
--------------------------------------------------------------------
-Thu Dec 8 12:55:51 UTC 2016 - fbui(a)suse.com
-
-- Enable lz4 (which becomes the default)
-
- It's much faster than xz and thus should be more appropriate to
- compress journals and coredumps.
-
- The LZ4 logic is now officially supported and no longer considered
- experimental.
-
- The new frame api was released in v125.
-
--------------------------------------------------------------------
-Tue Dec 6 16:46:52 UTC 2016 - fbui(a)suse.com
-
-- Good by compatlibs support
-
- There's no longer need for enabling/disabling the support for the
- compatlibs as it's been dropped from the source code.
-
--------------------------------------------------------------------
-Tue Nov 29 16:38:41 UTC 2016 - fbui(a)suse.com
-
-- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package
-
- This shared library is not for public use, and is neither API nor
- ABI stable, but is likely to change with every new released
- update. Only systemd binaries are supposed to link against it.
-
- This also prevents from the 32bit package to conflit with the 64bit
- one if this lib was installed by both packages.
-
--------------------------------------------------------------------
-Tue Nov 22 15:02:08 UTC 2016 - fbui(a)suse.com
-
-- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802:
-
- - Dropped backported commits which has been merged
- - Forward-port Suse specific patches
- - Added --disable-lto option to ./configure
- - Added systemd-mount
- - Removed in %file /usr/lib/systemd/user/*.socket: since
- 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been
- removed.
- - Removed in %file %{_sysconfdir}/systemd/bootchart.conf
- since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd
- anymore.
- - Backward compat libs have been disabled since it's been dropped from
- the source code.
- - Added /usr/bin/systemd-socket-activate in %file
- - Added --without-kill-user-processes ./configure option
- - Bump libseccomp build require (>= 2.3.1) as described in README
- - Specifiy version of libmount as required in the README
-
--------------------------------------------------------------------
systemd.changes: same change
Old:
----
systemd-232.tar.xz
New:
----
systemd-228.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.apYQOB/_old 2017-01-17 14:32:01.278375271 +0100
+++ /var/tmp/diff_new_pack.apYQOB/_new 2017-01-17 14:32:01.282374704 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemd-mini
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -44,12 +44,13 @@
%bcond_without gnuefi
%endif
%endif
+%bcond_without compatlibs
%bcond_with resolved
%bcond_with parentpathid
Name: systemd-mini
Url: http://www.freedesktop.org/wiki/Software/systemd
-Version: 232
+Version: 228
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
@@ -73,7 +74,7 @@
BuildRequires: intltool
BuildRequires: libacl-devel
BuildRequires: libcap-devel
-BuildRequires: libmount-devel >= 2.27.1
+BuildRequires: libmount-devel
BuildRequires: libsepol-devel
BuildRequires: libtool
BuildRequires: pam-config >= 0.79-5
@@ -82,9 +83,9 @@
# BR. Also this macro was introduced since version 12.4.
BuildRequires: suse-module-tools >= 12.4
BuildRequires: systemd-rpm-macros
+BuildRequires: xz
BuildRequires: pkgconfig(blkid) >= 2.26
BuildRequires: pkgconfig(libkmod) >= 15
-BuildRequires: pkgconfig(liblz4) >= 125
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpci) >= 3
BuildRequires: pkgconfig(libpcre)
@@ -100,7 +101,7 @@
BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
%endif
%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x
-BuildRequires: pkgconfig(libseccomp) >= 2.3.1
+BuildRequires: pkgconfig(libseccomp)
%endif
%if %{with gnuefi}
BuildRequires: gnu-efi
@@ -301,18 +302,20 @@
%description logger
This package marks the installation to not use syslog but only the journal.
-%package -n nss-systemd
-Summary: Plugin for local virtual host name resolution
+%package -n nss-resolve
+Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1+
Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
-%description -n nss-systemd
-This package contains a plugin for the Name Service Switch (NSS),
-which enables resolution of all dynamically allocated service
-users. (See the DynamicUser= setting in unit files.)
+%description -n nss-resolve
+This package contains a plug-in module for the Name Service Switch
+(NSS), which enables host name resolutions via the systemd-resolved(8)
+local network name resolution service. It replaces the nss-dns plug-in
+module that traditionally resolves hostnames via DNS.
To activate this NSS module, you will need to include it in
-/etc/nsswitch.conf, see nss-systemd(8) manpage for more details.
+/etc/nsswitch.conf, see nss-resolve(8) manpage for more details.
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
@@ -330,23 +333,6 @@
/etc/nsswitch.conf, see nss-hostname(8) manpage for more details.
%endif
-%if %{with resolved}
-%package -n nss-resolve
-Summary: Plugin for local hostname resolution via systemd-resolved
-License: LGPL-2.1+
-Group: System/Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description -n nss-resolve
-This package contains a plug-in module for the Name Service Switch
-(NSS), which enables host name resolutions via the systemd-resolved(8)
-local network name resolution service. It replaces the nss-dns plug-in
-module that traditionally resolves hostnames via DNS.
-
-To activate this NSS module, you will need to include it in
-/etc/nsswitch.conf, see nss-resolve(8) manpage for more details.
-%endif
-
%if %{with machined}
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
@@ -433,12 +419,13 @@
--disable-myhostname \
--disable-manpages \
%endif
+%if %{with compatlibs}
+ --enable-compat-libs \
+%endif
--enable-selinux \
--enable-split-usr \
--disable-static \
- --disable-lto \
--disable-tests \
- --without-kill-user-processes \
--with-rc-local-script-path-start=/etc/init.d/boot.local \
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
--with-debug-shell=/bin/bash \
@@ -465,13 +452,10 @@
%install
%make_install
-find %{buildroot} -type f -name '*.la' -delete
# move to %{_lib}
%if ! 0%{?bootstrap}
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
-%else
-rm %{buildroot}%{_libdir}/libnss_systemd.so*
%endif
# FIXME: these symlinks should die.
@@ -483,6 +467,7 @@
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
rm -rf %{buildroot}%{_sysconfdir}/rpm
+find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated
@@ -518,10 +503,6 @@
sg
EOF
-# Remove .so file for the shared library, it's not supposed to be
-# used.
-rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so
-
# do not ship sysctl defaults in systemd package, will be part of
# aaa_base (in procps for now)
rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf
@@ -637,7 +618,7 @@
# kbd-model-map.legacy is used to provide mapping for legacy keymaps,
# which may still be used by yast.
-cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
+cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
%find_lang systemd
@@ -785,13 +766,7 @@
%regenerate_initrd_post
%insserv_cleanup
systemctl daemon-reload || :
-# On package update: the restart of the socket units will probably
-# fail as the daemon is most likely running. It's not really an issue
-# since we restart systemd-udevd right after and that will pull in the
-# socket units again. We should be informed at that time if something
-# really went wrong the first time we started the socket units.
-%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null
-%systemd_postun_with_restart systemd-udevd.service
+%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service
%posttrans -n udev%{?mini}
%regenerate_initrd_posttrans
@@ -812,9 +787,6 @@
%post -n nss-myhostname -p /sbin/ldconfig
%postun -n nss-myhostname -p /sbin/ldconfig
-
-%post -n nss-systemd -p /sbin/ldconfig
-%postun -n nss-systemd -p /sbin/ldconfig
%endif
%if %{with resolved}
@@ -877,7 +849,6 @@
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-path
%{_bindir}/systemd-sysusers
-%{_bindir}/systemd-mount
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
@@ -890,10 +861,6 @@
%{_bindir}/systemd-tmpfiles
%{_bindir}/systemd-machine-id-setup
%{_bindir}/systemd-nspawn
-%if %{with resolved}
-%{_bindir}/systemd-resolve
-%endif
-%{_bindir}/systemd-socket-activate
%{_bindir}/systemd-stdio-bridge
%{_bindir}/systemd-detect-virt
%{_bindir}/timedatectl
@@ -930,10 +897,9 @@
%{_prefix}/lib/systemd/system/*.path
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
+%{_prefix}/lib/systemd/user/*.socket
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
-%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so
-%{_prefix}/lib/systemd/resolv.conf
%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh
%dir %{_prefix}/lib/systemd/catalog
%{_prefix}/lib/systemd/catalog/systemd.catalog
@@ -988,11 +954,11 @@
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
-%{_sysconfdir}/systemd/system/ctrl-alt-del.target
%{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
+%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
@@ -1126,6 +1092,16 @@
%{_libdir}/libsystemd.so
%{_libdir}/pkgconfig/libsystemd.pc
%{_includedir}/systemd/
+%if %{with compatlibs}
+%{_libdir}/libsystemd-daemon.so
+%{_libdir}/libsystemd-login.so
+%{_libdir}/libsystemd-id128.so
+%{_libdir}/libsystemd-journal.so
+%{_libdir}/pkgconfig/libsystemd-daemon.pc
+%{_libdir}/pkgconfig/libsystemd-login.pc
+%{_libdir}/pkgconfig/libsystemd-id128.pc
+%{_libdir}/pkgconfig/libsystemd-journal.pc
+%endif
%if ! 0%{?bootstrap}
%{_mandir}/man3/SD*.3*
%{_mandir}/man3/sd*.3*
@@ -1205,6 +1181,12 @@
%files -n libsystemd0%{?mini}
%defattr(-,root,root)
%{_libdir}/libsystemd.so.*
+%if %{with compatlibs}
+%{_libdir}/libsystemd-daemon.so.*
+%{_libdir}/libsystemd-login.so.*
+%{_libdir}/libsystemd-id128.so.*
+%{_libdir}/libsystemd-journal.so.*
+%endif
%files -n libudev%{?mini}1
%defattr(-,root,root)
@@ -1232,12 +1214,6 @@
/%{_lib}/*nss_myhostname*
%{_mandir}/man8/libnss_myhostname.*
%{_mandir}/man8/nss-myhostname.*
-
-%files -n nss-systemd
-%defattr(-, root, root)
-%{_libdir}/libnss_systemd.so*
-%{_mandir}/man8/libnss_systemd.so.*
-%{_mandir}/man8/nss-systemd.*
%endif
%if %{with resolved}
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.apYQOB/_old 2017-01-17 14:32:01.310370735 +0100
+++ /var/tmp/diff_new_pack.apYQOB/_new 2017-01-17 14:32:01.314370168 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemd
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -42,12 +42,13 @@
%bcond_without gnuefi
%endif
%endif
+%bcond_without compatlibs
%bcond_with resolved
%bcond_with parentpathid
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
-Version: 232
+Version: 228
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
@@ -71,7 +72,7 @@
BuildRequires: intltool
BuildRequires: libacl-devel
BuildRequires: libcap-devel
-BuildRequires: libmount-devel >= 2.27.1
+BuildRequires: libmount-devel
BuildRequires: libsepol-devel
BuildRequires: libtool
BuildRequires: pam-config >= 0.79-5
@@ -80,9 +81,9 @@
# BR. Also this macro was introduced since version 12.4.
BuildRequires: suse-module-tools >= 12.4
BuildRequires: systemd-rpm-macros
+BuildRequires: xz
BuildRequires: pkgconfig(blkid) >= 2.26
BuildRequires: pkgconfig(libkmod) >= 15
-BuildRequires: pkgconfig(liblz4) >= 125
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpci) >= 3
BuildRequires: pkgconfig(libpcre)
@@ -98,7 +99,7 @@
BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
%endif
%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x
-BuildRequires: pkgconfig(libseccomp) >= 2.3.1
+BuildRequires: pkgconfig(libseccomp)
%endif
%if %{with gnuefi}
BuildRequires: gnu-efi
@@ -299,18 +300,20 @@
%description logger
This package marks the installation to not use syslog but only the journal.
-%package -n nss-systemd
-Summary: Plugin for local virtual host name resolution
+%package -n nss-resolve
+Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1+
Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
-%description -n nss-systemd
-This package contains a plugin for the Name Service Switch (NSS),
-which enables resolution of all dynamically allocated service
-users. (See the DynamicUser= setting in unit files.)
+%description -n nss-resolve
+This package contains a plug-in module for the Name Service Switch
+(NSS), which enables host name resolutions via the systemd-resolved(8)
+local network name resolution service. It replaces the nss-dns plug-in
+module that traditionally resolves hostnames via DNS.
To activate this NSS module, you will need to include it in
-/etc/nsswitch.conf, see nss-systemd(8) manpage for more details.
+/etc/nsswitch.conf, see nss-resolve(8) manpage for more details.
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
@@ -328,23 +331,6 @@
/etc/nsswitch.conf, see nss-hostname(8) manpage for more details.
%endif
-%if %{with resolved}
-%package -n nss-resolve
-Summary: Plugin for local hostname resolution via systemd-resolved
-License: LGPL-2.1+
-Group: System/Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description -n nss-resolve
-This package contains a plug-in module for the Name Service Switch
-(NSS), which enables host name resolutions via the systemd-resolved(8)
-local network name resolution service. It replaces the nss-dns plug-in
-module that traditionally resolves hostnames via DNS.
-
-To activate this NSS module, you will need to include it in
-/etc/nsswitch.conf, see nss-resolve(8) manpage for more details.
-%endif
-
%if %{with machined}
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
@@ -431,12 +417,13 @@
--disable-myhostname \
--disable-manpages \
%endif
+%if %{with compatlibs}
+ --enable-compat-libs \
+%endif
--enable-selinux \
--enable-split-usr \
--disable-static \
- --disable-lto \
--disable-tests \
- --without-kill-user-processes \
--with-rc-local-script-path-start=/etc/init.d/boot.local \
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
--with-debug-shell=/bin/bash \
@@ -463,13 +450,10 @@
%install
%make_install
-find %{buildroot} -type f -name '*.la' -delete
# move to %{_lib}
%if ! 0%{?bootstrap}
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
-%else
-rm %{buildroot}%{_libdir}/libnss_systemd.so*
%endif
# FIXME: these symlinks should die.
@@ -481,6 +465,7 @@
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
rm -rf %{buildroot}%{_sysconfdir}/rpm
+find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated
@@ -516,10 +501,6 @@
sg
EOF
-# Remove .so file for the shared library, it's not supposed to be
-# used.
-rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so
-
# do not ship sysctl defaults in systemd package, will be part of
# aaa_base (in procps for now)
rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf
@@ -635,7 +616,7 @@
# kbd-model-map.legacy is used to provide mapping for legacy keymaps,
# which may still be used by yast.
-cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
+cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map
%find_lang systemd
@@ -783,13 +764,7 @@
%regenerate_initrd_post
%insserv_cleanup
systemctl daemon-reload || :
-# On package update: the restart of the socket units will probably
-# fail as the daemon is most likely running. It's not really an issue
-# since we restart systemd-udevd right after and that will pull in the
-# socket units again. We should be informed at that time if something
-# really went wrong the first time we started the socket units.
-%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null
-%systemd_postun_with_restart systemd-udevd.service
+%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service
%posttrans -n udev%{?mini}
%regenerate_initrd_posttrans
@@ -810,9 +785,6 @@
%post -n nss-myhostname -p /sbin/ldconfig
%postun -n nss-myhostname -p /sbin/ldconfig
-
-%post -n nss-systemd -p /sbin/ldconfig
-%postun -n nss-systemd -p /sbin/ldconfig
%endif
%if %{with resolved}
@@ -875,7 +847,6 @@
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-path
%{_bindir}/systemd-sysusers
-%{_bindir}/systemd-mount
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
@@ -888,10 +859,6 @@
%{_bindir}/systemd-tmpfiles
%{_bindir}/systemd-machine-id-setup
%{_bindir}/systemd-nspawn
-%if %{with resolved}
-%{_bindir}/systemd-resolve
-%endif
-%{_bindir}/systemd-socket-activate
%{_bindir}/systemd-stdio-bridge
%{_bindir}/systemd-detect-virt
%{_bindir}/timedatectl
@@ -928,10 +895,9 @@
%{_prefix}/lib/systemd/system/*.path
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
+%{_prefix}/lib/systemd/user/*.socket
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
-%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so
-%{_prefix}/lib/systemd/resolv.conf
%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh
%dir %{_prefix}/lib/systemd/catalog
%{_prefix}/lib/systemd/catalog/systemd.catalog
@@ -986,11 +952,11 @@
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
-%{_sysconfdir}/systemd/system/ctrl-alt-del.target
%{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
+%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
@@ -1124,6 +1090,16 @@
%{_libdir}/libsystemd.so
%{_libdir}/pkgconfig/libsystemd.pc
%{_includedir}/systemd/
+%if %{with compatlibs}
+%{_libdir}/libsystemd-daemon.so
+%{_libdir}/libsystemd-login.so
+%{_libdir}/libsystemd-id128.so
+%{_libdir}/libsystemd-journal.so
+%{_libdir}/pkgconfig/libsystemd-daemon.pc
+%{_libdir}/pkgconfig/libsystemd-login.pc
+%{_libdir}/pkgconfig/libsystemd-id128.pc
+%{_libdir}/pkgconfig/libsystemd-journal.pc
+%endif
%if ! 0%{?bootstrap}
%{_mandir}/man3/SD*.3*
%{_mandir}/man3/sd*.3*
@@ -1203,6 +1179,12 @@
%files -n libsystemd0%{?mini}
%defattr(-,root,root)
%{_libdir}/libsystemd.so.*
+%if %{with compatlibs}
+%{_libdir}/libsystemd-daemon.so.*
+%{_libdir}/libsystemd-login.so.*
+%{_libdir}/libsystemd-id128.so.*
+%{_libdir}/libsystemd-journal.so.*
+%endif
%files -n libudev%{?mini}1
%defattr(-,root,root)
@@ -1230,12 +1212,6 @@
/%{_lib}/*nss_myhostname*
%{_mandir}/man8/libnss_myhostname.*
%{_mandir}/man8/nss-myhostname.*
-
-%files -n nss-systemd
-%defattr(-, root, root)
-%{_libdir}/libnss_systemd.so*
-%{_mandir}/man8/libnss_systemd.so.*
-%{_mandir}/man8/nss-systemd.*
%endif
%if %{with resolved}
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.apYQOB/_old 2017-01-17 14:32:01.358363931 +0100
+++ /var/tmp/diff_new_pack.apYQOB/_new 2017-01-17 14:32:01.358363931 +0100
@@ -1,10 +1,6 @@
-#
-# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart
-#
systemd
supplements "packageand(systemd:pam-<targettype>)"
-/lib/systemd/system/
- -/usr/lib/systemd/libsystemd-shared.*\.so
post "<prefix>%{_sbindir}/pam-config -a --systemd || :"
libsystemd0
libudev1
++++++ systemd-232.tar.xz -> systemd-228.tar.xz ++++++
++++ 352691 lines of diff (skipped)
++++++ systemd-mini-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.apYQOB/_old 2017-01-17 14:32:05.065838307 +0100
+++ /var/tmp/diff_new_pack.apYQOB/_new 2017-01-17 14:32:05.065838307 +0100
@@ -16,7 +16,6 @@
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
-addFilter("nss-systemd.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("nss-mymachines.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
++++++ systemd-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.apYQOB/_old 2017-01-17 14:32:05.089834904 +0100
+++ /var/tmp/diff_new_pack.apYQOB/_new 2017-01-17 14:32:05.089834904 +0100
@@ -16,7 +16,6 @@
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
-addFilter("nss-systemd.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("nss-mymachines.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
1
0