openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 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
February 2021
- 1 participants
- 2358 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opensuse-toolbox-image for openSUSE:Factory checked in at 2021-02-26 21:59:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opensuse-toolbox-image (Old)
and /work/SRC/openSUSE:Factory/.opensuse-toolbox-image.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opensuse-toolbox-image"
Fri Feb 26 21:59:38 2021 rev:6 rq:875213 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/opensuse-toolbox-image/opensuse-toolbox-image.changes 2020-05-23 17:28:05.179491831 +0200
+++ /work/SRC/openSUSE:Factory/.opensuse-toolbox-image.new.2378/opensuse-toolbox-image.changes 2021-02-26 21:59:39.279831529 +0100
@@ -1,0 +2,5 @@
+Thu Feb 25 17:44:43 UTC 2021 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Add socat to the container
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opensuse-toolbox-image.kiwi ++++++
--- /var/tmp/diff_new_pack.85xCez/_old 2021-02-26 21:59:39.799831986 +0100
+++ /var/tmp/diff_new_pack.85xCez/_new 2021-02-26 21:59:39.803831990 +0100
@@ -48,6 +48,7 @@
<package name="ltrace"/>
<package name="traceroute"/>
<package name="iputils"/>
+ <package name="socat"/>
<package name="supportutils"/>
<package name="tcpdump"/>
<package name="vim"/>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pdsh for openSUSE:Factory checked in at 2021-02-26 21:59:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pdsh (Old)
and /work/SRC/openSUSE:Factory/.pdsh.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pdsh"
Fri Feb 26 21:59:36 2021 rev:44 rq:875192 version:2.34
Changes:
--------
--- /work/SRC/openSUSE:Factory/pdsh/pdsh.changes 2021-01-28 21:28:43.868222306 +0100
+++ /work/SRC/openSUSE:Factory/.pdsh.new.2378/pdsh.changes 2021-02-26 21:59:37.395829875 +0100
@@ -1,0 +2,6 @@
+Thu Feb 25 14:02:28 UTC 2021 - Egbert Eich <eich(a)suse.com>
+
+- Add an explicit Conflicts: when pdsh is rebuilt for a
+ non-default version of Slurm.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pdsh.spec ++++++
--- /var/tmp/diff_new_pack.zyuAY6/_old 2021-02-26 21:59:37.851830275 +0100
+++ /var/tmp/diff_new_pack.zyuAY6/_new 2021-02-26 21:59:37.855830279 +0100
@@ -76,6 +76,7 @@
Enhances: slurm%{?_slurm_version}
%if 0%{?_slurm_version:1}
Provides: %{pname}-slurm = %{version}
+Conflicts: %{pname}-slurm
%endif
%description -n %{pname}-slurm%{?_slurm_version}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-grpcio-tools for openSUSE:Factory checked in at 2021-02-26 21:59:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-grpcio-tools (Old)
and /work/SRC/openSUSE:Factory/.python-grpcio-tools.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-grpcio-tools"
Fri Feb 26 21:59:35 2021 rev:5 rq:875187 version:1.35.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-grpcio-tools/python-grpcio-tools.changes 2021-01-18 11:32:22.880686186 +0100
+++ /work/SRC/openSUSE:Factory/.python-grpcio-tools.new.2378/python-grpcio-tools.changes 2021-02-26 21:59:35.379828104 +0100
@@ -1,0 +2,8 @@
+Thu Feb 25 09:59:16 UTC 2021 - munix9(a)googlemail.com
+
+- Update to version 1.35.0:
+ * Implement Python Client and Server xDS Creds.
+ (gh#grpc/grpc#25365)
+ * Add %define _lto_cflags %{nil} (boo#1182659) (rh#1893533)
+
+-------------------------------------------------------------------
Old:
----
grpcio-tools-1.34.1.tar.gz
New:
----
grpcio-tools-1.35.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-grpcio-tools.spec ++++++
--- /var/tmp/diff_new_pack.QMcXDS/_old 2021-02-26 21:59:35.919828578 +0100
+++ /var/tmp/diff_new_pack.QMcXDS/_new 2021-02-26 21:59:35.923828581 +0100
@@ -20,7 +20,7 @@
%define skip_python2 1
Name: python-grpcio-tools
-Version: 1.34.1
+Version: 1.35.0
Release: 0
Summary: Protobuf code generator for gRPC
License: Apache-2.0
@@ -50,6 +50,7 @@
sed -i "1{/\/usr\/bin\/env python/d}" grpc_tools/protoc.py
%build
+%define _lto_cflags %{nil}
export CFLAGS="%{optflags}"
%python_build
++++++ grpcio-tools-1.34.1.tar.gz -> grpcio-tools-1.35.0.tar.gz ++++++
++++ 31956 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-grpcio for openSUSE:Factory checked in at 2021-02-26 21:59:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-grpcio (Old)
and /work/SRC/openSUSE:Factory/.python-grpcio.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-grpcio"
Fri Feb 26 21:59:32 2021 rev:8 rq:875186 version:1.35.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-grpcio/python-grpcio.changes 2021-01-18 11:32:21.724685047 +0100
+++ /work/SRC/openSUSE:Factory/.python-grpcio.new.2378/python-grpcio.changes 2021-02-26 21:59:34.287827145 +0100
@@ -1,0 +2,9 @@
+Thu Feb 25 16:24:53 UTC 2021 - munix9(a)googlemail.com
+
+- Update to version 1.35.0:
+ * Implement Python Client and Server xDS Creds.
+ (gh#grpc/grpc#25365)
+ * Add %define _lto_cflags %{nil} (boo#1182659) (rh#1893533)
+ * Link roots.pem to ca-bundle.pem from ca-certificates package
+
+-------------------------------------------------------------------
Old:
----
grpcio-1.34.1.tar.gz
New:
----
grpcio-1.35.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-grpcio.spec ++++++
--- /var/tmp/diff_new_pack.yXggBJ/_old 2021-02-26 21:59:35.095827854 +0100
+++ /var/tmp/diff_new_pack.yXggBJ/_new 2021-02-26 21:59:35.099827858 +0100
@@ -20,7 +20,7 @@
# PYTHON2 NOT SUPPORTED BY UPSTREAM
%define skip_python2 1
Name: python-grpcio
-Version: 1.34.1
+Version: 1.35.0
Release: 0
Summary: HTTP/2-based Remote Procedure Call implementation
License: Apache-2.0
@@ -32,6 +32,7 @@
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
+BuildRequires: ca-certificates
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkgconfig
@@ -39,6 +40,7 @@
BuildRequires: pkgconfig(libcares)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)
+Requires: ca-certificates
Requires: python-six >= 1.5.2
Suggests: python-enum34 >= 1.0.4
Suggests: python-futures >= 2.2.0
@@ -53,6 +55,7 @@
%autosetup -p1 -n grpcio-%{version}
%build
+%define _lto_cflags %{nil}
export CFLAGS="%{optflags}"
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=true
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=true
@@ -62,6 +65,8 @@
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
+# a symlink to the shared system certificates is used
+%python_expand ln -sf %{_localstatedir}/lib/ca-certificates/ca-bundle.pem %{buildroot}%{$python_sitearch}/grpc/_cython/_credentials/roots.pem
%files %{python_files}
%doc README.md
++++++ grpcio-1.34.1.tar.gz -> grpcio-1.35.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-grpcio/grpcio-1.34.1.tar.gz /work/SRC/openSUSE:Factory/.python-grpcio.new.2378/grpcio-1.35.0.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openQA for openSUSE:Factory checked in at 2021-02-26 21:59:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Fri Feb 26 21:59:29 2021 rev:237 rq:875185 version:4.6.1614239222.751e3210d
Changes:
--------
openQA-devel-test.changes: same change
openQA-test.changes: same change
openQA-worker-test.changes: same change
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2021-02-23 20:23:12.887804758 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.2378/openQA.changes 2021-02-26 21:59:31.463824665 +0100
@@ -1,0 +2,16 @@
+Thu Feb 25 16:24:53 UTC 2021 - coolo(a)suse.com
+
+- Update to version 4.6.1614239222.751e3210d:
+ * Dependency cron 2021-02-25
+ * Mark t/ui/27-plugin_obs_rsync_status_details.t as stable again
+ * Test aborting cleanup early if there's still sufficient free disk space
+ * Configure "early-abort" for cleanup via free percentage
+ * Add "early-abort" in asset/results cleanup jobs based on df-output
+ * Mock Git in t/ui/12-needle-edit.t
+ * Show form for commit message only if Git is enabled
+ * Test specifying a custom commit message to save a needle
+ * Allow specifying a custom commit message in needle editor
+ * Use codecov-bash to upload coverage reports
+ * Fix local upload for larger assets
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1613993204.ea2110d1c.obscpio
New:
----
openQA-4.6.1614239222.751e3210d.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.407825494 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.407825494 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1613993204.ea2110d1c
+Version: 4.6.1614239222.751e3210d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.427825511 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.427825511 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1613993204.ea2110d1c
+Version: 4.6.1614239222.751e3210d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.443825526 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.443825526 +0100
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1613993204.ea2110d1c
+Version: 4.6.1614239222.751e3210d
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.459825539 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.467825547 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1613993204.ea2110d1c
+Version: 4.6.1614239222.751e3210d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.483825560 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.487825564 +0100
@@ -71,12 +71,12 @@
%define qemu qemu
%endif
# The following line is generated from dependencies.yaml
-%define devel_no_selenium_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(Perl::Tidy) postgresql-devel rsync sudo tar xorg-x11-fonts
+%define devel_no_selenium_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(JSON::MaybeXS) perl(Perl::Tidy) postgresql-devel rsync sudo tar xorg-x11-fonts
# The following line is generated from dependencies.yaml
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1613993204.ea2110d1c
+Version: 4.6.1614239222.751e3210d
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ openQA-4.6.1613993204.ea2110d1c.obscpio -> openQA-4.6.1614239222.751e3210d.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1613993204.ea2110d1c.obscpio /work/SRC/openSUSE:Factory/.openQA.new.2378/openQA-4.6.1614239222.751e3210d.obscpio differ: char 50, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.oGMOeB/_old 2021-02-26 21:59:32.555825624 +0100
+++ /var/tmp/diff_new_pack.oGMOeB/_new 2021-02-26 21:59:32.559825627 +0100
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1613993204.ea2110d1c
-mtime: 1613993204
-commit: ea2110d1cd1841fa49f1aea272696d1e7e4d9e51
+version: 4.6.1614239222.751e3210d
+mtime: 1614239222
+commit: 751e3210d9a4226c897ebdf1e83a640d8fbfe5cd
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package csvprintf for openSUSE:Factory checked in at 2021-02-26 21:59:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/csvprintf (Old)
and /work/SRC/openSUSE:Factory/.csvprintf.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "csvprintf"
Fri Feb 26 21:59:27 2021 rev:5 rq:875174 version:1.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/csvprintf/csvprintf.changes 2018-08-02 15:00:56.604561081 +0200
+++ /work/SRC/openSUSE:Factory/.csvprintf.new.2378/csvprintf.changes 2021-02-26 21:59:29.815823217 +0100
@@ -1,0 +2,11 @@
+Thu Feb 25 16:09:55 UTC 2021 - Archie Cobbs <archie.cobbs(a)gmail.com>
+
+- Update to release 1.1.0
+ - Added support for format strings containing column names
+
+-------------------------------------------------------------------
+Thu Oct 17 17:02:27 UTC 2019 - Richard Brown <rbrown(a)suse.com>
+
+- Remove obsolete Groups tag (fate#326485)
+
+-------------------------------------------------------------------
Old:
----
csvprintf-1.0.4.tar.gz
New:
----
csvprintf-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ csvprintf.spec ++++++
--- /var/tmp/diff_new_pack.U2tFYQ/_old 2021-02-26 21:59:30.435823762 +0100
+++ /var/tmp/diff_new_pack.U2tFYQ/_new 2021-02-26 21:59:30.435823762 +0100
@@ -1,7 +1,7 @@
#
# spec file for package csvprintf
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
# Copyright 2010 Archie L. Cobbs <archie(a)dellroad.org>
#
# All modifications and additions to the file contributed by third parties
@@ -13,18 +13,18 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: csvprintf
-Version: 1.0.4
+Version: 1.1.0
Release: 0
Summary: Simple CSV file parser for the UNIX command line
License: Apache-2.0
-Group: Productivity/Text/Utilities
-Source: %{name}-%{version}.tar.gz
-Url: http://csvprintf.googlecode.com/
+Group: Productivity/File utilities
+Source: https://archie-public.s3.amazonaws.com/%{name}/%{name}-%{version}.tar.gz
+URL: https://github.com/archiecobbs/csvprintf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc
BuildRequires: make
@@ -34,14 +34,14 @@
%description
%{name} is a simple UNIX command line utility for parsing CSV files.
-%{name} works just like the printf(1) command line utility. You
-supply a printf(1) format string on the command line and each record
-in the CSV file is formatted accordingly. Each format specifier in
-the format string contains a column accessor to specify which CSV
-column to use, so for example '%%3$d' would format the third column
-as a decimal value.
+%{name} works like the printf(1) command line utility: you supply a
+printf(1) format string on the command line, and each row of the CSV file
+is split into arguments and formatted accordingly. The format specifiers
+in the format string contain numeric or symbolic column accessors to
+specify which CSV column to format.
-%{name} can also convert CSV files into XML documents and back.
+%{name} can also convert CSV files into XML documents. The xml2csv
+command converts XML documents so generated back into CSV files.
%prep
%setup -q
++++++ csvprintf-1.0.4.tar.gz -> csvprintf-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/CHANGES new/csvprintf-1.1.0/CHANGES
--- old/csvprintf-1.0.4/CHANGES 2018-08-02 01:23:31.000000000 +0200
+++ new/csvprintf-1.1.0/CHANGES 2021-02-25 17:03:23.000000000 +0100
@@ -1,3 +1,7 @@
+Version 1.1.0 released February 25, 2021
+
+ - Added support for format strings containing column names
+
Version 1.0.4 released August 1, 2018
- Fixed "unexpected character" bug when line ends with QUOTE, CR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/Makefile.in new/csvprintf-1.1.0/Makefile.in
--- old/csvprintf-1.0.4/Makefile.in 2018-08-02 01:37:52.000000000 +0200
+++ new/csvprintf-1.1.0/Makefile.in 2021-02-25 17:04:13.000000000 +0100
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -674,7 +674,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -700,7 +700,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -718,7 +718,7 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -728,7 +728,7 @@
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/aclocal.m4 new/csvprintf-1.1.0/aclocal.m4
--- old/csvprintf-1.0.4/aclocal.m4 2018-08-02 01:37:50.000000000 +0200
+++ new/csvprintf-1.1.0/aclocal.m4 2021-02-25 17:04:12.000000000 +0100
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -605,7 +605,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -626,7 +626,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -647,7 +647,7 @@
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -697,7 +697,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -738,7 +738,7 @@
# Obsolete and "removed" macros, that must however still report explicit
# error messages when used, to smooth transition.
#
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -765,7 +765,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -794,7 +794,7 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -841,7 +841,7 @@
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -860,7 +860,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -941,7 +941,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1001,7 +1001,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1029,7 +1029,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1048,7 +1048,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/config.h.in new/csvprintf-1.1.0/config.h.in
--- old/csvprintf-1.0.4/config.h.in 2018-08-02 01:37:51.000000000 +0200
+++ new/csvprintf-1.1.0/config.h.in 2021-02-25 17:04:13.000000000 +0100
@@ -85,6 +85,9 @@
#undef _DARWIN_C_SOURCE
/* GNU functions */
+#undef _DEFAULT_SOURCE
+
+/* GNU functions */
#undef _GNU_SOURCE
/* XOpen functions */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/configure new/csvprintf-1.1.0/configure
--- old/csvprintf-1.0.4/configure 2018-08-02 01:37:52.000000000 +0200
+++ new/csvprintf-1.1.0/configure 2021-02-25 17:04:14.000000000 +0100
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Id.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for csvprintf - Simple CSV file parser for the UNIX command line 1.0.4.
+# Generated by GNU Autoconf 2.69 for csvprintf - Simple CSV file parser for the UNIX command line 1.1.0.
#
# Report bugs to <https://github.com/archiecobbs/csvprintf>.
#
@@ -581,8 +581,8 @@
# Identity of this package.
PACKAGE_NAME='csvprintf - Simple CSV file parser for the UNIX command line'
PACKAGE_TARNAME='csvprintf'
-PACKAGE_VERSION='1.0.4'
-PACKAGE_STRING='csvprintf - Simple CSV file parser for the UNIX command line 1.0.4'
+PACKAGE_VERSION='1.1.0'
+PACKAGE_STRING='csvprintf - Simple CSV file parser for the UNIX command line 1.1.0'
PACKAGE_BUGREPORT='https://github.com/archiecobbs/csvprintf'
PACKAGE_URL=''
@@ -1272,7 +1272,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures csvprintf - Simple CSV file parser for the UNIX command line 1.0.4 to adapt to many kinds of systems.
+\`configure' configures csvprintf - Simple CSV file parser for the UNIX command line 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1338,7 +1338,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of csvprintf - Simple CSV file parser for the UNIX command line 1.0.4:";;
+ short | recursive ) echo "Configuration of csvprintf - Simple CSV file parser for the UNIX command line 1.1.0:";;
esac
cat <<\_ACEOF
@@ -1432,7 +1432,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-csvprintf - Simple CSV file parser for the UNIX command line configure 1.0.4
+csvprintf - Simple CSV file parser for the UNIX command line configure 1.1.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1734,7 +1734,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by csvprintf - Simple CSV file parser for the UNIX command line $as_me 1.0.4, which was
+It was created by csvprintf - Simple CSV file parser for the UNIX command line $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2597,7 +2597,7 @@
# Define the identity of the package.
PACKAGE='csvprintf'
- VERSION='1.0.4'
+ VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@@ -2730,6 +2730,9 @@
# Compile flags for Linux
+$as_echo "#define _DEFAULT_SOURCE 1" >>confdefs.h
+
+
$as_echo "#define _GNU_SOURCE 1" >>confdefs.h
@@ -4909,7 +4912,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by csvprintf - Simple CSV file parser for the UNIX command line $as_me 1.0.4, which was
+This file was extended by csvprintf - Simple CSV file parser for the UNIX command line $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4975,7 +4978,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-csvprintf - Simple CSV file parser for the UNIX command line config.status 1.0.4
+csvprintf - Simple CSV file parser for the UNIX command line config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/configure.ac new/csvprintf-1.1.0/configure.ac
--- old/csvprintf-1.0.4/configure.ac 2018-08-02 01:23:20.000000000 +0200
+++ new/csvprintf-1.1.0/configure.ac 2021-02-25 17:03:35.000000000 +0100
@@ -16,7 +16,7 @@
# under the License.
#
-AC_INIT([csvprintf - Simple CSV file parser for the UNIX command line], [1.0.4], [https://github.com/archiecobbs/csvprintf] [csvprintf])
+AC_INIT([csvprintf - Simple CSV file parser for the UNIX command line], [1.1.0], [https://github.com/archiecobbs/csvprintf] [csvprintf])
AC_CONFIG_AUX_DIR(scripts)
AM_INIT_AUTOMAKE
dnl AM_MAINTAINER_MODE
@@ -29,6 +29,7 @@
AC_SUBST(CFLAGS)
# Compile flags for Linux
+AC_DEFINE(_DEFAULT_SOURCE, 1, GNU functions)
AC_DEFINE(_GNU_SOURCE, 1, GNU functions)
AC_DEFINE(_BSD_SOURCE, 1, BSD functions)
AC_DEFINE(_XOPEN_SOURCE, 500, XOpen functions)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/csvprintf.1.in new/csvprintf-1.1.0/csvprintf.1.in
--- old/csvprintf-1.0.4/csvprintf.1.in 2018-08-01 22:25:48.000000000 +0200
+++ new/csvprintf-1.1.0/csvprintf.1.in 2021-02-25 16:43:28.000000000 +0100
@@ -2,7 +2,7 @@
.\"
.\" csvprintf - Simple CSV file parser for the UNIX command line
.\"
-.\" Copyright 2010 Archie L. Cobbs <archie(a)dellroad.org>
+.\" Copyright 2010 Archie L. Cobbs <archie.cobbs(a)gmail.com>
.\"
.\" Licensed under the Apache License, Version 2.0 (the "License"); you may
.\" not use this file except in compliance with the License. You may obtain
@@ -19,7 +19,7 @@
.Os
.Sh NAME
.Nm csvprintf
-.Nd Simple CSV file parser for the UNIX command line
+.Nd CSV file parser
.Sh SYNOPSIS
.Nm csvprintf
.Bk -words
@@ -43,7 +43,6 @@
.Nm csvprintf
.Bk -words
.Fl X
-.Op Fl i
.Op Fl q Ar char
.Op Fl s Ar char
.Op Fl f Ar file
@@ -61,24 +60,37 @@
.Nm
works like the
.Xr printf 1
-command line utility.
-You supply a
+command line utility: you supply a
.Xr printf 1
-format string on the command line and each record of the CSV file is formatted accordingly.
-Each format specifier in the format string is required to start with a column accessor to specify which CSV column to use.
+format string on the command line, and each row of the CSV file is split into arguments and formatted accordingly.
+The format specifiers in the format string contain numeric or symbolic column accessors to specify which CSV column to format.
.Pp
-The column accessor is a sequence of decimal digits followed by the ``$'' character (the same accessor format supported by
+A numeric column accessor is a sequence of decimal digits followed by the
+.Pa $
+character (the same accessor format supported by
.Xr printf 1 ) .
So for example,
-``%3$d''
+.Pa \(dq%3$d\(dq
would format the third CSV column as a decimal value.
-In addition, the ``%0$d'' specifier will print the number of columns in the record.
+In addition, the
+.Pa \(dq%0$d\(dq
+specifier will print the number of columns in the record.
+.Pp
+When the
+.Fl i
+flag is given, the first row is assumed to contain column names and is not output.
+This allows symbolic, instead of numeric, column accessors to be used.
+A symbolic column accessor is the column name enclosed in curly braces.
+.Pp
+For example, if the first row is
+.Pa FirstName,Lastname,IdNum
+then the format string
+.Pa \(dq%{IdNum}04d: %{LastName}s, %{FirstName}s\(dq
+would be equivalent to the format string
+.Pa \(dq%3$04d: %2$s, %1$s\(dq .
.Pp
-Under the hood,
-.Nm
-invokes the
-.Xr printf 1
-executable on each CSV row it parses.
+Specifying a column name that does not appear in the first row generates an error,
+so the use of symbolic column accessors adds an extra consistency check.
.Pp
.Nm
can also convert CSV files into XML documents.
@@ -93,11 +105,13 @@
This option only affects XML mode.
.It Fl f
Read CSV input from the specified file.
+.Pp
By default (or if ``-'' is specified),
.Nm
reads from standard input.
.It Fl i
-Ignore the very first CSV record in the input (typically contains column names).
+Assume the first CSV record contains column names.
+Enable symbolic column accessors and omit that first record from the output.
.It Fl q
Specify an alternate CSV column quote character.
The usual backslash escape sequences are accepted.
@@ -138,6 +152,13 @@
.It Pa @pkgdatadir@/csv.xsl
XSL transform that converts XML back into CSV format.
.El
+.Sh BUGS
+.Pp
+Under the hood,
+.Nm
+invokes the
+.Xr printf 1
+executable on each CSV row it parses, which makes it relatively slow.
.Sh SEE ALSO
.Xr printf 1 ,
.Xr printf 3 .
@@ -150,4 +171,4 @@
.%O http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm
.Re
.Sh AUTHOR
-.An Archie L. Cobbs Aq archie(a)dellroad.org
+.An Archie L. Cobbs Aq archie.cobbs(a)gmail.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/gitrev.c new/csvprintf-1.1.0/gitrev.c
--- old/csvprintf-1.0.4/gitrev.c 2018-08-02 01:38:03.000000000 +0200
+++ new/csvprintf-1.1.0/gitrev.c 2021-02-25 17:04:22.000000000 +0100
@@ -1 +1 @@
-const char *const csvprintf_version = "1.0.4";
+const char *const csvprintf_version = "1.1.0";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/main.c new/csvprintf-1.1.0/main.c
--- old/csvprintf-1.0.4/main.c 2018-08-01 17:58:37.000000000 +0200
+++ new/csvprintf-1.1.0/main.c 2021-02-25 17:01:22.000000000 +0100
@@ -51,17 +51,20 @@
static int fsep = DEFAULT_FSEP_CHAR;
static int parsechar(const char *str);
-static int parsefmt(char *fmt, unsigned int **argsp);
+static int parsefmt(char *fmt, const struct row *column_names, unsigned int **argsp);
static int readcol(FILE *fp, struct row *row, int *linenum);
static int readqcol(FILE *fp, struct col *col, int *linenum);
static int readuqcol(FILE *fp, struct col *col, int *linenum);
static int readch(FILE *fp, int collapse);
+static void freerow(struct row *row);
static void print_xml_tag_name(const char *tag, int linenum);
static int decode_utf8(const char *const obuf, size_t olen, int *lenp, int linenum);
static void convert_to_utf8(iconv_t icd, struct row *row, int linenum);
static const char *escape_xml_char(int uchar);
-static char *eatwidthprec(const char *fspec, const char *desc, char *s, int *nargs, unsigned int *args);
-static char *eataccessor(const char *fspec, const char *desc, char *s, int *nargs, unsigned int *args);
+static char *eatwidthprec(const char *fspec, const char *desc, const struct row *column_names,
+ char *s, int *nargs, unsigned int *args);
+static char *eataccessor(const char *fspec, const char *desc, const struct row *column_names,
+ char *s, int *nargs, unsigned int *args);
static void addcolumn(struct row *row, const struct col *col);
static void addchar(struct col *col, int ch);
static void trim(struct col *col);
@@ -77,18 +80,19 @@
iconv_t icd = NULL;
FILE *fp = NULL;
struct row row;
- struct row xml_tag_names;
+ struct row column_names;
unsigned int *args = NULL;
+ int read_column_names = 0;
+ int first_row = 0;
int nargs = 0;
int file_done;
int linenum;
int xml = 0; // 1 = normal, 2 = use first row column names for XML tags
- int skip = 0;
int ch;
// Initialize
memset(&row, 0, sizeof(row));
- memset(&xml_tag_names, 0, sizeof(xml_tag_names));
+ memset(&column_names, 0, sizeof(column_names));
// Parse command line
while ((ch = getopt(argc, argv, "e:f:hiq:s:vxX")) != -1) {
@@ -100,22 +104,22 @@
input = optarg;
break;
case 'i':
- skip = 1;
+ read_column_names = 1;
break;
case 'x':
xml = 1;
break;
case 'X':
+ read_column_names = 1;
xml = 2;
- skip = 1;
break;
case 'q':
if ((quote = parsechar(optarg)) == -1)
- errx(1, "invalid argument to `-%c'", ch);
+ errx(1, "invalid argument to \"-%c\"", ch);
break;
case 's':
if ((fsep = parsechar(optarg)) == -1)
- errx(1, "invalid argument to `-%c'", ch);
+ errx(1, "invalid argument to \"-%c\"", ch);
break;
case 'h':
usage();
@@ -140,10 +144,13 @@
if (quote == fsep)
err(1, "quote and field separators cannot be the same character");
- // Parse format string
+ // Get and (maybe) parse format string (non-XML only)
if (!xml) {
format = argv[0];
- nargs = parsefmt(format, &args);
+
+ // Parse format string - unless we need to defer
+ if (!read_column_names)
+ nargs = parsefmt(format, NULL, &args);
}
// Open input
@@ -162,6 +169,7 @@
// Read and parse input
linenum = 1;
+ first_row = 1;
for (file_done = 0; !file_done; ) {
// Start parsing next row
@@ -181,14 +189,18 @@
while (readcol(fp, &row, &linenum))
;
- // Skip first row?
- if (skip) {
- skip = 0;
- if (xml == 2) { // copy and save first row for use as XML tag names
+ // Gather column names from first row, if configured
+ if (first_row && read_column_names) {
+ if (xml)
convert_to_utf8(icd, &row, linenum);
- memcpy(&xml_tag_names, &row, sizeof(row));
- memset(&row, 0, sizeof(row));
- }
+ memcpy(&column_names, &row, sizeof(row));
+ memset(&row, 0, sizeof(row));
+
+ // If we had to defer parsing format string until we had the column names, do that now
+ if (!xml)
+ nargs = parsefmt(format, &column_names, &args);
+
+ // Proceed
goto next;
}
@@ -211,8 +223,8 @@
// Open XML tag
printf(" <");
- if (col < xml_tag_names.num)
- print_xml_tag_name(xml_tag_names.fields[col], linenum);
+ if (xml == 2 && col < column_names.num)
+ print_xml_tag_name(column_names.fields[col], linenum);
else
printf("col%d", col + 1);
printf(">");
@@ -232,8 +244,8 @@
// Close XML tag
printf("</");
- if (col < xml_tag_names.num)
- print_xml_tag_name(xml_tag_names.fields[col], linenum);
+ if (xml == 2 && col < column_names.num)
+ print_xml_tag_name(column_names.fields[col], linenum);
else
printf("col%d", col + 1);
printf(">\n");
@@ -284,10 +296,8 @@
next:
// Free row memory
- while (row.num > 0)
- free(row.fields[--row.num]);
- free(row.fields);
- memset(&row, 0, sizeof(row));
+ freerow(&row);
+ first_row = 0;
}
// XML closing
@@ -299,6 +309,7 @@
// Clean up
if (fp != stdin)
fclose(fp);
+ freerow(&column_names);
free(args);
// Done
@@ -519,7 +530,7 @@
return 1;
if (isspace(ch))
continue;
- errx(1, "line %d: unexpected character `%c'", *linenum, ch);
+ errx(1, "line %d: unexpected character \"%c\"", *linenum, ch);
}
if (escape) {
if (ch == quote)
@@ -633,7 +644,7 @@
}
static int
-parsefmt(char *fmt, unsigned int **argsp)
+parsefmt(char *fmt, const struct row *column_names, unsigned int **argsp)
{
unsigned int *args;
int nargs;
@@ -655,14 +666,14 @@
char *const fspec = s;
if (*s != '%' || *++s == '%')
continue;
- s = eataccessor(fspec, "format specification", s, &nargs, args);
+ s = eataccessor(fspec, "format specification", column_names, s, &nargs, args);
while (*s != '\0' && strchr("#-+ 0", *s) != NULL) // eat up optional flags
s++;
- s = eatwidthprec(fspec, "field width for format specification", s, &nargs, args);
+ s = eatwidthprec(fspec, "field width for format specification", column_names, s, &nargs, args);
if (*s == '.')
- s = eatwidthprec(fspec, "precision for format specification", s + 1, &nargs, args);
+ s = eatwidthprec(fspec, "precision for format specification", column_names, s + 1, &nargs, args);
if (*s == '\0')
- errx(1, "truncated format specification starting at `%.20s...'", fspec);
+ errx(1, "truncated format specification starting at \"%.20s...\"", fspec);
}
// Done
@@ -735,27 +746,56 @@
}
static char *
-eatwidthprec(const char *const fspec, const char *desc, char *s, int *nargs, unsigned int *args)
+eatwidthprec(const char *const fspec, const char *desc, const struct row *column_names, char *s, int *nargs, unsigned int *args)
{
if (*s == '*')
- return eataccessor(fspec, desc, s + 1, nargs, args);
+ return eataccessor(fspec, desc, column_names, s + 1, nargs, args);
while (isdigit(*s)) // eat up numerical field width or precision
s++;
return s;
}
static char *
-eataccessor(const char *const fspec, const char *desc, char *s, int *nargs, unsigned int *args)
+eataccessor(const char *const fspec, const char *desc, const struct row *column_names, char *s, int *nargs, unsigned int *args)
{
char *const start = s;
+ const char *colname;
+ int namelen;
+ int argnum;
+ int i;
- while (isdigit(*s))
- s++;
- if (s == start || *s != '$')
- errx(1, "missing required column accessor in %s starting at `%.20s...'", desc, fspec);
- sscanf(start, "%u", args + *nargs);
- (*nargs)++;
- memmove(start, s + 1, strlen(s));
+ if (*s == '{') {
+ if (column_names == NULL)
+ errx(1, "symbolic column accessors require \"-i\" flag in %s starting at \"%.20s...\"", desc, fspec);
+ colname = ++s;
+ while (*s != '}') {
+ if (*s++ == '\0')
+ errx(1, "malformed column accessor in %s starting at \"%.20s...\"", desc, fspec);
+ }
+ namelen = s++ - colname;
+ argnum = 0;
+ for (i = 0; i < column_names->num; i++) {
+ if (strncmp(colname, column_names->fields[i], namelen) == 0 && column_names->fields[i][namelen] == '\0') {
+ if (argnum != 0) {
+ errx(1, "ambiguous column name \"%.*s\" in symbolic column accessor in %s starting at \"%.20s...\"",
+ namelen, colname, desc, fspec);
+ }
+ argnum = i + 1;
+ }
+ }
+ if (argnum == 0) {
+ errx(1, "unknown column name \"%.*s\" in symbolic column accessor in %s starting at \"%.20s...\"",
+ namelen, colname, desc, fspec);
+ }
+ args[(*nargs)++] = argnum;
+ } else {
+ while (isdigit(*s))
+ s++;
+ if (s == start || *s++ != '$')
+ errx(1, "missing required column accessor in %s starting at \"%.20s...\"", desc, fspec);
+ sscanf(start, "%u", &args[(*nargs)++]);
+ }
+ memmove(start, s, strlen(s) + 1);
return start;
}
@@ -776,26 +816,34 @@
}
static void
+freerow(struct row *row)
+{
+ while (row->num > 0)
+ free(row->fields[--row->num]);
+ free(row->fields);
+ memset(row, 0, sizeof(*row));
+}
+
+static void
usage(void)
{
fprintf(stderr, "Usage:\n");
- fprintf(stderr, " csvprintf [-i] [-q char] [-s char] [-f file] format\n");
- fprintf(stderr, " csvprintf [-i] [-q char] [-s char] [-f file] -x\n");
+ fprintf(stderr, " csvprintf [options] format\n");
+ fprintf(stderr, " csvprintf -x [options]\n");
+ fprintf(stderr, " csvprintf -X [options]\n");
fprintf(stderr, " csvprintf -h\n");
fprintf(stderr, " csvprintf -v\n");
-// fprintf(stderr, "\n");
-// fprintf(stderr, "The `format' is a printf(1) format string with printf(3)-style `%%N$'\n");
-// fprintf(stderr, "column accessors; `%%0$d' retrieves the number of CSV fields in the row.\n");
-// fprintf(stderr, "\n");
fprintf(stderr, "Options:\n");
- fprintf(stderr, " -f\tRead CSV input from specified file (default stdin)\n");
- fprintf(stderr, " -i\tSkip over the first record in the CSV input\n");
- fprintf(stderr, " -q\tSpecify quote character (default `%c')\n", DEFAULT_QUOTE_CHAR);
- fprintf(stderr, " -s\tSpecify field separator character (default `%c')\n", DEFAULT_FSEP_CHAR);
- fprintf(stderr, " -x\tConvert input to XML (assumes ISO-8859-1 encoding of fields)\n");
- fprintf(stderr, " -h\tOutput this help message and exit\n");
- fprintf(stderr, " -v\tOutput version information and exit\n");
+ fprintf(stderr, " -e encoding\tSpecify input character encoding (XML mode only; default ISO-8859-1)\n");
+ fprintf(stderr, " -f input\tRead CSV input from specified file (default stdin)\n");
+ fprintf(stderr, " -i\t\tAssume the first CSV record contains column names\n");
+ fprintf(stderr, " -q char\tSpecify quote character (default `%c')\n", DEFAULT_QUOTE_CHAR);
+ fprintf(stderr, " -s char\tSpecify field separator character (default `%c')\n", DEFAULT_FSEP_CHAR);
+ fprintf(stderr, " -x\t\tConvert input to XML using numeric tags\n");
+ fprintf(stderr, " -X\t\tConvert input to XML using column name tags (implies \"-i\")\n");
+ fprintf(stderr, " -h\t\tOutput this help message and exit\n");
+ fprintf(stderr, " -v\t\tOutput version information and exit\n");
}
static void
@@ -803,7 +851,7 @@
{
fprintf(stderr, "%s version %s (%s)\n", PACKAGE_TARNAME, PACKAGE_VERSION, csvprintf_version);
fprintf(stderr, "Copyright (C) 2010 Archie L. Cobbs\n");
- fprintf(stderr, "This is free software; see the source for copying conditions. There is NO\n");
+ fprintf(stderr, "This is free software; see the source for copying conditions. There is NO\n");
fprintf(stderr, "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/scripts/compile new/csvprintf-1.1.0/scripts/compile
--- old/csvprintf-1.0.4/scripts/compile 2018-08-02 01:37:51.000000000 +0200
+++ new/csvprintf-1.1.0/scripts/compile 2021-02-25 17:04:13.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -342,6 +343,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/scripts/depcomp new/csvprintf-1.1.0/scripts/depcomp
--- old/csvprintf-1.0.4/scripts/depcomp 2018-08-02 01:37:51.000000000 +0200
+++ new/csvprintf-1.1.0/scripts/depcomp 2021-02-25 17:04:13.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# 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
@@ -786,6 +786,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/scripts/install-sh new/csvprintf-1.1.0/scripts/install-sh
--- old/csvprintf-1.0.4/scripts/install-sh 2018-08-02 01:37:51.000000000 +0200
+++ new/csvprintf-1.1.0/scripts/install-sh 2021-02-25 17:04:13.000000000 +0100
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2016-01-11.22; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -496,6 +496,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csvprintf-1.0.4/scripts/missing new/csvprintf-1.1.0/scripts/missing
--- old/csvprintf-1.0.4/scripts/missing 2018-08-02 01:37:51.000000000 +0200
+++ new/csvprintf-1.1.0/scripts/missing 2021-02-25 17:04:13.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -210,6 +210,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2021-02-26 21:59:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Fri Feb 26 21:59:24 2021 rev:188 rq:875175 version:4.6.1614171005.a4459c0c
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2021-02-21 22:14:29.698110949 +0100
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.2378/os-autoinst.changes 2021-02-26 21:59:28.455822023 +0100
@@ -1,0 +2,7 @@
+Wed Feb 24 12:50:16 UTC 2021 - okurz(a)suse.com
+
+- Update to version 4.6.1614171005.a4459c0c:
+ * spec: Account for sporadic slowness in build environments
+ * Slightly simplify needle.pm with condensed lines
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1613739162.3c1f4d7d.obscpio
New:
----
os-autoinst-4.6.1614171005.a4459c0c.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.Sm8Pob/_old 2021-02-26 21:59:29.499822940 +0100
+++ /var/tmp/diff_new_pack.Sm8Pob/_new 2021-02-26 21:59:29.503822944 +0100
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1613739162.3c1f4d7d
+Version: 4.6.1614171005.a4459c0c
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.Sm8Pob/_old 2021-02-26 21:59:29.523822961 +0100
+++ /var/tmp/diff_new_pack.Sm8Pob/_new 2021-02-26 21:59:29.523822961 +0100
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1613739162.3c1f4d7d
+Version: 4.6.1614171005.a4459c0c
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
@@ -167,6 +167,9 @@
%check
export CI=1
+# account for sporadic slowness in build environments
+# https://progress.opensuse.org/issues/89059
+export OPENQA_TEST_TIMEOUT_SCALE_CI=4
cd %{__builddir}
%cmake_build check-pkg-build
++++++ os-autoinst-4.6.1613739162.3c1f4d7d.obscpio -> os-autoinst-4.6.1614171005.a4459c0c.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1613739162.3c1f4d7d.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.2378/os-autoinst-4.6.1614171005.a4459c0c.obscpio differ: char 49, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.Sm8Pob/_old 2021-02-26 21:59:29.575823006 +0100
+++ /var/tmp/diff_new_pack.Sm8Pob/_new 2021-02-26 21:59:29.579823010 +0100
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1613739162.3c1f4d7d
-mtime: 1613739162
-commit: 3c1f4d7d9901e6d20c87f8d80f8355c5d7899893
+version: 4.6.1614171005.a4459c0c
+mtime: 1614171005
+commit: a4459c0c23a499a43a53823fe27809efba980cf9
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package bumblebee-status for openSUSE:Factory checked in at 2021-02-26 21:59:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bumblebee-status (Old)
and /work/SRC/openSUSE:Factory/.bumblebee-status.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bumblebee-status"
Fri Feb 26 21:59:23 2021 rev:12 rq:875141 version:2.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/bumblebee-status/bumblebee-status.changes 2021-01-20 18:27:44.719535381 +0100
+++ /work/SRC/openSUSE:Factory/.bumblebee-status.new.2378/bumblebee-status.changes 2021-02-26 21:59:25.643819553 +0100
@@ -1,0 +2,15 @@
+Thu Feb 25 11:14:36 UTC 2021 - John Vandenberg <jayvdb(a)gmail.com>
+
+- Add explicit BR for pyusb to fix Leap builds
+- Add Suggests for all modules
+
+-------------------------------------------------------------------
+Thu Feb 25 10:16:30 UTC 2021 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 2.1.2:
+ * make configuration file name configurable (#764)
+ * Support for spotifyd (#752)
+ * add /usr/share/ as theme directory (#753)
+ * playerctl improvements
+
+-------------------------------------------------------------------
Old:
----
bumblebee-status-2.1.1.tar.gz
New:
----
bumblebee-status-2.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bumblebee-status.spec ++++++
--- /var/tmp/diff_new_pack.ggxtxh/_old 2021-02-26 21:59:26.263820098 +0100
+++ /var/tmp/diff_new_pack.ggxtxh/_new 2021-02-26 21:59:26.267820102 +0100
@@ -18,7 +18,7 @@
%define skip_python2 1
Name: bumblebee-status
-Version: 2.1.1
+Version: 2.1.2
Release: 0
Summary: Modular, theme-able status line generator for the i3 window manager
License: MIT
@@ -45,6 +45,7 @@
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module python-yubico}
BuildRequires: %{python_module pytz}
+BuildRequires: %{python_module pyusb}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module simplejson}
BuildRequires: %{python_module suntime}
@@ -98,7 +99,6 @@
Recommends: iputils
# wireless-tools provides iwgetid, used by core module nic
Recommends: wireless-tools
-Recommends: bumblebee-status-theme-powerline = %{version}
Recommends: bumblebee-status-module-caffeine = %{version}
Recommends: bumblebee-status-module-indicator = %{version}
Recommends: bumblebee-status-module-layout = %{version}
@@ -110,8 +110,41 @@
Recommends: bumblebee-status-module-sun = %{version}
Recommends: bumblebee-status-module-title = %{version}
Recommends: bumblebee-status-module-xrandr = %{version}
+Recommends: bumblebee-status-theme-powerline = %{version}
+Suggests: bumblebee-status-module-alsa = %{version}
+Suggests: bumblebee-status-module-arandr = %{version}
+Suggests: bumblebee-status-module-brightness = %{version}
+Suggests: bumblebee-status-module-cmus = %{version}
+Suggests: bumblebee-status-module-deadbeef = %{version}
+Suggests: bumblebee-status-module-deezer = %{version}
+Suggests: bumblebee-status-module-docker-ps = %{version}
+Suggests: bumblebee-status-module-duns = %{version}
+Suggests: bumblebee-status-module-git = %{version}
+Suggests: bumblebee-status-module-hddtemp = %{version}
+Suggests: bumblebee-status-module-layout-xkbswitch = %{version}
+Suggests: bumblebee-status-module-libvirt = %{version}
+Suggests: bumblebee-status-module-mocp = %{version}
+Suggests: bumblebee-status-module-mpd = %{version}
+Suggests: bumblebee-status-module-notmuch = %{version}
+Suggests: bumblebee-status-module-nvidia-prime = %{version}
+Suggests: bumblebee-status-module-octoprint = %{version}
Suggests: bumblebee-status-module-progress = %{version}
-BuildArch: noarch
+Suggests: bumblebee-status-module-redshift = %{version}
+Suggests: bumblebee-status-module-smartstatus = %{version}
+Suggests: bumblebee-status-module-speedtest = %{version}
+Suggests: bumblebee-status-module-spotify = %{version}
+Suggests: bumblebee-status-module-taskwarrior = %{version}
+Suggests: bumblebee-status-module-vault = %{version}
+Suggests: bumblebee-status-module-vpn = %{version}
+Suggests: bumblebee-status-module-watson = %{version}
+Suggests: bumblebee-status-module-yubikey = %{version}
+BuildArch: noarch
+# SECTION missing dependencies
+#Suggests: bumblebee-status-module-nvidia = %{version}
+#Suggests: bumblebee-status-module-pihole = %{version}
+#Suggests: bumblebee-status-module-twmn = %{version}
+#Suggests: bumblebee-status-module-zfs = %{version}
+# /SECTION
%description
bumblebee-status is a modular, themeable status line generator for the i3 window manager.
++++++ bumblebee-status-2.1.1.tar.gz -> bumblebee-status-2.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/README.md new/bumblebee-status-2.1.2/README.md
--- old/bumblebee-status-2.1.1/README.md 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/README.md 2021-02-20 14:49:45.000000000 +0100
@@ -8,6 +8,7 @@
[![Code Climate](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/ba…
[![Test Coverage](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/b…
[![Issue Count](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badg…
+![License](https://img.shields.io/github/license/tobi-wan-kenobi/bumblebee-status)
**Many, many thanks to all contributors! I am still amazed by and deeply grateful for how many PRs this project gets.**
@@ -76,6 +77,8 @@
pip install --user bumblebee-status
```
+There is also a SlackBuild available here: [slackbuilds:bumblebee-status](http://slackbuilds.org/repository/14.2/deskto… - many thanks to [@Tonus1](https://github.com/Tonus1)!
+
# Dependencies
[Available modules](https://bumblebee-status.readthedocs.io/en/main/modules.html) lists the dependencies (Python modules and external executables)
for each module. If you are not using a module, you don't need the dependencies.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/core/config.py new/bumblebee-status-2.1.2/bumblebee_status/core/config.py
--- old/bumblebee-status-2.1.1/bumblebee_status/core/config.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/core/config.py 2021-02-20 14:49:45.000000000 +0100
@@ -148,6 +148,13 @@
description="bumblebee-status is a modular, theme-able status line generator for the i3 window manager. https://github.com/tobi-wan-kenobi/bumblebee-status/wiki"
)
parser.add_argument(
+ "-c",
+ "--config-file",
+ action="store",
+ default=None,
+ help="Specify a configuration file to use"
+ )
+ parser.add_argument(
"-m", "--modules", nargs="+", action="append", default=[], help=MODULE_HELP
)
parser.add_argument(
@@ -173,6 +180,13 @@
help="Specify a list of modules to hide when not in warning/error state",
)
parser.add_argument(
+ "-e",
+ "--errorhide",
+ nargs="+",
+ default=[],
+ help="Specify a list of modules that are hidden when in state error"
+ )
+ parser.add_argument(
"-d", "--debug", action="store_true", help="Add debug fields to i3 output"
)
parser.add_argument(
@@ -196,13 +210,18 @@
self.__args = parser.parse_args(args)
- for cfg in [
- "~/.bumblebee-status.conf",
- "~/.config/bumblebee-status.conf",
- "~/.config/bumblebee-status/config",
- ]:
+ if self.__args.config_file:
+ cfg = self.__args.config_file
cfg = os.path.expanduser(cfg)
self.load_config(cfg)
+ else:
+ for cfg in [
+ "~/.bumblebee-status.conf",
+ "~/.config/bumblebee-status.conf",
+ "~/.config/bumblebee-status/config",
+ ]:
+ cfg = os.path.expanduser(cfg)
+ self.load_config(cfg)
parameters = [item for sub in self.__args.parameters for item in sub]
for param in parameters:
@@ -302,14 +321,21 @@
def iconset(self):
return self.__args.iconset
- """Returns which modules should be hidden if their state is not warning/critical
+ """Returns whether a module should be hidden if their state is not warning/critical
- :return: list of modules to hide automatically
- :rtype: list of strings
+ :return: True if module should be hidden automatically, False otherwise
+ :rtype: bool
"""
def autohide(self, name):
return name in self.__args.autohide
+ """Returns which modules should be hidden if they are in state error
+
+ :return: returns True if name should be hidden, False otherwise
+ :rtype: bool
+ """
+ def errorhide(self, name):
+ return name in self.__args.errorhide
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/core/module.py new/bumblebee-status-2.1.2/bumblebee_status/core/module.py
--- old/bumblebee-status-2.1.1/bumblebee_status/core/module.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/core/module.py 2021-02-20 14:49:45.000000000 +0100
@@ -17,7 +17,6 @@
log = logging.getLogger(__name__)
-
"""Loads a module by name
:param module_name: Name of the module to load
@@ -33,20 +32,30 @@
error = None
module_short, alias = (module_name.split(":") + [module_name])[0:2]
config.set("__alias__", alias)
- for namespace in ["core", "contrib"]:
+
+ try:
+ mod = importlib.import_module("modules.core.{}".format(module_short))
+ log.debug("importing {} from core".format(module_short))
+ return getattr(mod, "Module")(config, theme)
+ except ImportError as e:
try:
- mod = importlib.import_module(
- "modules.{}.{}".format(namespace, module_short)
- )
- log.debug(
- "importing {} from {}.{}".format(module_short, namespace, module_short)
- )
+ log.warning("failed to import {} from core: {}".format(module_short, e))
+ mod = importlib.import_module("modules.contrib.{}".format(module_short))
+ log.debug("importing {} from contrib".format(module_short))
return getattr(mod, "Module")(config, theme)
except ImportError as e:
- log.debug("failed to import {}: {}".format(module_name, e))
- error = e
- log.fatal("failed to import {}: {}".format(module_name, error))
- return Error(config=config, module=module_name, error=error)
+ usermod = os.path.expanduser("~/.config/bumblebee-status/modules/{}.py".format(module_short))
+ if os.path.exists(usermod):
+ try:
+ log.warning("failed to import {} from system: {}".format(module_short, e))
+ mod = importlib.machinery.SourceFileLoader("modules.{}".format(module_short),
+ os.path.expanduser(usermod)).load_module()
+ log.debug("importing {} from user".format(module_short))
+ return getattr(mod, "Module")(config, theme)
+ except ImportError as e:
+ log.fatal("import failed: {}".format(e))
+ log.fatal("failed to import {}".format(module_short))
+ return Error(config=config, module=module_name, error="unable to load module")
class Module(core.input.Object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/core/output.py new/bumblebee-status-2.1.2/bumblebee_status/core/output.py
--- old/bumblebee-status-2.1.1/bumblebee_status/core/output.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/core/output.py 2021-02-20 14:49:45.000000000 +0100
@@ -216,6 +216,8 @@
continue
if module.hidden():
continue
+ if "critical" in widget.state() and self.__config.errorhide(widget.module.name):
+ continue
blocks.extend(self.separator_block(module, widget))
blocks.append(self.__content_block(module, widget))
core.event.trigger("next-widget")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/core/theme.py new/bumblebee-status-2.1.2/bumblebee_status/core/theme.py
--- old/bumblebee-status-2.1.1/bumblebee_status/core/theme.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/core/theme.py 2021-02-20 14:49:45.000000000 +0100
@@ -17,6 +17,7 @@
os.path.join(THEME_BASE_DIR, "../../themes"),
os.path.expanduser("~/.config/bumblebee-status/themes"),
os.path.expanduser("~/.local/share/bumblebee-status/themes"), # PIP
+ "/usr/share/bumblebee-status/themes",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/hddtemp.py new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/hddtemp.py
--- old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/hddtemp.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/hddtemp.py 2021-02-20 14:49:45.000000000 +0100
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-"""Fetch hard drive temeperature data from a hddtemp daemon
+"""Fetch hard drive temperature data from a hddtemp daemon
that runs on localhost and default port (7634)
contributed by `somospocos <https://github.com/somospocos>`_ - many thanks!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/playerctl.py new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/playerctl.py
--- old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/playerctl.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/playerctl.py 2021-02-20 14:49:45.000000000 +0100
@@ -5,57 +5,113 @@
Requires the following executable:
* playerctl
-contributed by `smitajit <https://github.com/smitajit>`_ - many thanks!
+Parameters:
+ * playerctl.format: Format string (defaults to '{artist} - {title}')
+ Available values are: {album}, {title}, {artist}, {trackNumber}
+ * playerctl.layout: Comma-separated list to change order of widgets (defaults to song, previous, pause, next)
+ Widget names are: playerctl.song, playerctl.prev, playerctl.pause, playerctl.next
+
+Parameters are inherited from `spotify` module, many thanks to its developers!
+contributed by `smitajit <https://github.com/smitajit>`_ - many thanks!
"""
import core.module
import core.widget
import core.input
import util.cli
+import util.format
+
+import logging
class Module(core.module.Module):
- def __init__(self,config , theme):
- widgets = [
- core.widget.Widget(name="playerctl.prev"),
- core.widget.Widget(name="playerctl.main", full_text=self.description),
- core.widget.Widget(name="playerctl.next"),
- ]
- super(Module, self).__init__(config, theme , widgets)
-
- core.input.register(widgets[0], button=core.input.LEFT_MOUSE,
- cmd="playerctl previous")
- core.input.register(widgets[1], button=core.input.LEFT_MOUSE,
- cmd="playerctl play-pause")
- core.input.register(widgets[2], button=core.input.LEFT_MOUSE,
- cmd="playerctl next")
+ def __init__(self, config, theme):
+ super(Module, self).__init__(config, theme, [])
- self._status = None
- self._tags = None
+ self.background = True
- def description(self, widget):
- return self._tags if self._tags else "..."
+ self.__layout = util.format.aslist(
+ self.parameter(
+ "layout", "playerctl.prev, playerctl.song, playerctl.pause, playerctl.next"
+ )
+ )
+
+ self.__song = ""
+ self.__cmd = "playerctl "
+ self.__format = self.parameter("format", "{artist} - {title}")
+
+ widget_map = {}
+ for widget_name in self.__layout:
+ widget = self.add_widget(name=widget_name)
+ if widget_name == "playerctl.prev":
+ widget_map[widget] = {
+ "button": core.input.LEFT_MOUSE,
+ "cmd": self.__cmd + "previous",
+ }
+ widget.set("state", "prev")
+ elif widget_name == "playerctl.pause":
+ widget_map[widget] = {
+ "button": core.input.LEFT_MOUSE,
+ "cmd": self.__cmd + "play-pause",
+ }
+ elif widget_name == "playerctl.next":
+ widget_map[widget] = {
+ "button": core.input.LEFT_MOUSE,
+ "cmd": self.__cmd + "next",
+ }
+ widget.set("state", "next")
+ elif widget_name == "playerctl.song":
+ widget_map[widget] = [
+ {
+ "button": core.input.LEFT_MOUSE,
+ "cmd": self.__cmd + "play-pause",
+ }, {
+ "button": core.input.WHEEL_UP,
+ "cmd": self.__cmd + "next",
+ }, {
+ "button": core.input.WHEEL_DOWN,
+ "cmd": self.__cmd + "previous",
+ }
+ ]
+ else:
+ raise KeyError(
+ "The playerctl module does not have a {widget_name!r} widget".format(
+ widget_name=widget_name
+ )
+ )
+
+ for widget, callback_options in widget_map.items():
+ if isinstance(callback_options, dict):
+ core.input.register(widget, **callback_options)
def update(self):
- self._load_song()
-
- def state(self, widget):
- if widget.name == "playerctl.prev":
- return "prev"
- if widget.name == "playerctl.next":
- return "next"
- return self._status
-
- def _load_song(self):
- info = ""
try:
- status = util.cli.execute("playerctl status").lower()
- info = util.cli.execute("playerctl metadata xesam:title")
- except :
- self._status = None
- self._tags = None
- return
- self._status = status.split("\n")[0].lower()
- self._tags = info.split("\n")[0][:20]
+ self.__get_song()
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
+ for widget in self.widgets():
+ if widget.name == "playerctl.pause":
+ playback_status = str(util.cli.execute(self.__cmd + "status")).strip()
+ if playback_status != "":
+ if playback_status == "Playing":
+ widget.set("state", "playing")
+ else:
+ widget.set("state", "paused")
+ elif widget.name == "playerctl.song":
+ widget.set("state", "song")
+ widget.full_text(self.__song)
+ except Exception as e:
+ logging.exception(e)
+ self.__song = ""
+
+ def __get_song(self):
+ album = str(util.cli.execute(self.__cmd + "metadata xesam:album")).strip()
+ title = str(util.cli.execute(self.__cmd + "metadata xesam:title")).strip()
+ artist = str(util.cli.execute(self.__cmd + "metadata xesam:albumArtist")).strip()
+ track_number = str(util.cli.execute(self.__cmd + "metadata xesam:trackNumber")).strip()
+
+ self.__song = self.__format.format(
+ album = album,
+ title = title,
+ artist = artist,
+ trackNumber = track_number
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/shortcut.py new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/shortcut.py
--- old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/shortcut.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/shortcut.py 2021-02-20 14:49:45.000000000 +0100
@@ -4,7 +4,7 @@
when clicking on it.
For more than one shortcut, the commands and labels are strings separated by
-a demiliter (; semicolon by default).
+a delimiter (; semicolon by default).
For example in order to create two shortcuts labeled A and B with commands
cmdA and cmdB you could do:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/spotify.py new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/spotify.py
--- old/bumblebee-status-2.1.1/bumblebee_status/modules/contrib/spotify.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/modules/contrib/spotify.py 2021-02-20 14:49:45.000000000 +0100
@@ -10,6 +10,8 @@
Widget names are: spotify.song, spotify.prev, spotify.pause, spotify.next
* spotify.concise_controls: When enabled, allows spotify to be controlled from just the spotify.song widget.
Concise controls are: Left Click: Toggle Pause; Wheel Up: Next; Wheel Down; Previous.
+ * spotify.bus_name: String (defaults to `spotify`)
+ Available values: spotify, spotifyd
contributed by `yvesh <https://github.com/yvesh>`_ - many thanks!
@@ -35,6 +37,8 @@
self.background = True
+ self.__bus_name = self.parameter("bus_name", "spotify")
+
self.__layout = util.format.aslist(
self.parameter(
"layout", "spotify.song,spotify.prev,spotify.pause,spotify.next",
@@ -46,7 +50,11 @@
self.__pause = ""
self.__format = self.parameter("format", "{artist} - {title}")
- self.__cmd = "dbus-send --session --type=method_call --dest=org.mpris.MediaPlayer2.spotify \
+ if self.__bus_name == "spotifyd":
+ self.__cmd = "dbus-send --session --type=method_call --dest=org.mpris.MediaPlayer2.spotifyd \
+ /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."
+ else:
+ self.__cmd = "dbus-send --session --type=method_call --dest=org.mpris.MediaPlayer2.spotify \
/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."
widget_map = {}
@@ -104,9 +112,14 @@
def __get_song(self):
bus = self.__bus
- spotify = bus.get_object(
- "org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2"
- )
+ if self.__bus_name == "spotifyd":
+ spotify = bus.get_object(
+ "org.mpris.MediaPlayer2.spotifyd", "/org/mpris/MediaPlayer2"
+ )
+ else:
+ spotify = bus.get_object(
+ "org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2"
+ )
spotify_iface = dbus.Interface(spotify, "org.freedesktop.DBus.Properties")
props = spotify_iface.Get("org.mpris.MediaPlayer2.Player", "Metadata")
self.__song = self.__format.format(
@@ -120,14 +133,20 @@
try:
self.__get_song()
+ if self.__bus_name == "spotifyd":
+ bus = self.__bus.get_object(
+ "org.mpris.MediaPlayer2.spotifyd", "/org/mpris/MediaPlayer2"
+ )
+ else:
+ bus = self.__bus.get_object(
+ "org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2"
+ )
+
for widget in self.widgets():
if widget.name == "spotify.pause":
playback_status = str(
dbus.Interface(
- self.__bus.get_object(
- "org.mpris.MediaPlayer2.spotify",
- "/org/mpris/MediaPlayer2",
- ),
+ bus,
"org.freedesktop.DBus.Properties",
).Get("org.mpris.MediaPlayer2.Player", "PlaybackStatus")
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/bumblebee_status/modules/core/time.py new/bumblebee-status-2.1.2/bumblebee_status/modules/core/time.py
--- old/bumblebee-status-2.1.1/bumblebee_status/modules/core/time.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/bumblebee_status/modules/core/time.py 2021-02-20 14:49:45.000000000 +0100
@@ -12,7 +12,6 @@
class Module(Module):
- @core.decorators.every(seconds=59) # ensures one update per minute
def __init__(self, config, theme):
super().__init__(config, theme)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/docs/development/module.rst new/bumblebee-status-2.1.2/docs/development/module.rst
--- old/bumblebee-status-2.1.1/docs/development/module.rst 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/docs/development/module.rst 2021-02-20 14:49:45.000000000 +0100
@@ -11,6 +11,7 @@
``bumblebee-status`` (i.e.��a module called
``bumblebee_status/modules/contrib/test.py`` will be loaded using
``bumblebee-status -m test``)
+- Alternatively, you can put your module in ``~/.config/bumblebee-status/modules/``
- The module name must follow the `Python Naming Conventions <https://www.python.org/dev/peps/pep-0008/#package-and-module-names>`_
- See below for how to actually write the module
- Test (run ``bumblebee-status`` in the CLI)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/docs/features.rst new/bumblebee-status-2.1.2/docs/features.rst
--- old/bumblebee-status-2.1.1/docs/features.rst 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/docs/features.rst 2021-02-20 14:49:45.000000000 +0100
@@ -1,6 +1,25 @@
Advanced usage
===========================
+Intervals
+---------
+
+Some modules define their own update intervals (e.g. most modules that query
+an online service), such as to not cause a storm of "once every second" queries.
+
+For such modules, the "global" interval defined via the ``interval`` parameter effectively defines the
+highest possible "resolution". If you have a global interval of 10s, for example,
+any other module can update at 10s, 20s, 30s, etc., but not every 25s. The status
+bar will internally always align to the next future time slot.
+
+The update interval can also be changed on a per-module basis, like
+this (overriding the default module interval indicated above):
+
+.. code-block:: bash
+
+ $ ./bumblebee-status -m cpu memory -p cpu.interval=5s memory.interval=1m
+
+
Events
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/docs/introduction.rst new/bumblebee-status-2.1.2/docs/introduction.rst
--- old/bumblebee-status-2.1.1/docs/introduction.rst 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/docs/introduction.rst 2021-02-20 14:49:45.000000000 +0100
@@ -19,6 +19,9 @@
# will install bumblebee-status into ~/.local/bin/bumblebee-status
pip install --user bumblebee-status
+
+There is also a SlackBuild available here: [slackbuilds:bumblebee-status](http://slackbuilds.org/repository/14.2/deskto… - many thanks to [@Tonus1](https://github.com/Tonus1)!
+
Dependencies
------------
@@ -56,12 +59,15 @@
$ ./bumblebee-status -m <list of modules> -p interval=<interval in seconds>
-The update interval can also be changed on a per-module basis, like
-this:
+The update interval is the global "refresh" interval of the modules (i.e. how often
+the bar will be updated with new data). The default interval is one second. It is
+possible to use suffixes such as "m" (for minutes), or "h" for hours (e.g.
+``-p interval=5m`` to update once every 5 minutes.
-.. code-block:: bash
+Note that some modules define their own intervals (e.g. most modules that query
+an online service), such as to not cause a storm of "once every second" queries.
- $ ./bumblebee-status -m cpu memory -p cpu.interval=5s memory.interval=1m
+For more details on that, please refer to :doc:`features`.
All modules can be given ���aliases��� using ``<module name>:<alias>``, by
which they can be parametrized, for example:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/docs/modules.rst new/bumblebee-status-2.1.2/docs/modules.rst
--- old/bumblebee-status-2.1.1/docs/modules.rst 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/docs/modules.rst 2021-02-20 14:49:45.000000000 +0100
@@ -63,6 +63,7 @@
* disk.path: Path to calculate disk usage from (defaults to /)
* disk.open: Which application / file manager to launch (default xdg-open)
* disk.format: Format string, tags {path}, {used}, {left}, {size} and {percent} (defaults to '{path} {used}/{size} ({percent:05.02f}%)')
+ * disk.system: Unit system to use - SI (KB, MB, ...) or IEC (KiB, MiB, ...) (defaults to 'IEC')
.. image:: ../screenshots/disk.png
@@ -620,8 +621,6 @@
Left click toggles pause, scroll up skips the current song, scroll
down returns to the previous song.
-Requires the following library:
- * subprocess
Parameters:
* deadbeef.format: Format string (defaults to '{artist} - {title}')
Available values are: {artist}, {title}, {album}, {length},
@@ -772,7 +771,7 @@
hddtemp
~~~~~~~
-Fetch hard drive temeperature data from a hddtemp daemon
+Fetch hard drive temperature data from a hddtemp daemon
that runs on localhost and default port (7634)
contributed by `somospocos <https://github.com/somospocos>`_ - many thanks!
@@ -1051,6 +1050,14 @@
Requires the following executable:
* playerctl
+Parameters:
+ * playerctl.format: Format string (defaults to '{artist} - {title}')
+ Available values are: {album}, {title}, {artist}, {trackNumber}
+ * playerctl.layout: Comma-separated list to change order of widgets (defaults to song, previous, pause, next)
+ Widget names are: playerctl.song, playerctl.prev, playerctl.pause, playerctl.next
+
+Parameters are inherited from `spotify` module, many thanks to its developers!
+
contributed by `smitajit <https://github.com/smitajit>`_ - many thanks!
.. image:: ../screenshots/playerctl.png
@@ -1225,7 +1232,7 @@
when clicking on it.
For more than one shortcut, the commands and labels are strings separated by
-a demiliter (; semicolon by default).
+a delimiter (; semicolon by default).
For example in order to create two shortcuts labeled A and B with commands
cmdA and cmdB you could do:
@@ -1265,7 +1272,6 @@
Requires the following libraries:
* requests
- * regex
Parameters:
* spaceapi.url: String representation of the api endpoint
@@ -1298,6 +1304,8 @@
Widget names are: spotify.song, spotify.prev, spotify.pause, spotify.next
* spotify.concise_controls: When enabled, allows spotify to be controlled from just the spotify.song widget.
Concise controls are: Left Click: Toggle Pause; Wheel Up: Next; Wheel Down; Previous.
+ * spotify.bus_name: String (defaults to `spotify`)
+ Available values: spotify, spotifyd
contributed by `yvesh <https://github.com/yvesh>`_ - many thanks!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bumblebee-status-2.1.1/tests/core/test_module.py new/bumblebee-status-2.1.2/tests/core/test_module.py
--- old/bumblebee-status-2.1.1/tests/core/test_module.py 2020-12-07 10:00:20.000000000 +0100
+++ new/bumblebee-status-2.1.2/tests/core/test_module.py 2021-02-20 14:49:45.000000000 +0100
@@ -55,7 +55,8 @@
module = core.module.load(module_name="test", config=config)
assert module.__class__.__name__ == "Error"
- assert module.widget().full_text() == "test: some-error"
+ assert module.widget().full_text() == "test: some-error" or \
+ module.widget().full_text() == "test: unable to load module"
def test_loadvalid_module():
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Term-ReadLine-Gnu for openSUSE:Factory checked in at 2021-02-26 21:59:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Term-ReadLine-Gnu (Old)
and /work/SRC/openSUSE:Factory/.perl-Term-ReadLine-Gnu.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Term-ReadLine-Gnu"
Fri Feb 26 21:59:21 2021 rev:3 rq:875106 version:1.40
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Term-ReadLine-Gnu/perl-Term-ReadLine-Gnu.changes 2021-01-04 19:10:11.351438970 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Term-ReadLine-Gnu.new.2378/perl-Term-ReadLine-Gnu.changes 2021-02-26 21:59:24.399818461 +0100
@@ -1,0 +2,6 @@
+Wed Feb 24 03:09:55 UTC 2021 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 1.40
+ see /usr/share/doc/packages/perl-Term-ReadLine-Gnu/Changes
+
+-------------------------------------------------------------------
Old:
----
Term-ReadLine-Gnu-1.37.tar.gz
New:
----
Term-ReadLine-Gnu-1.40.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Term-ReadLine-Gnu.spec ++++++
--- /var/tmp/diff_new_pack.njI4b1/_old 2021-02-26 21:59:25.171819139 +0100
+++ /var/tmp/diff_new_pack.njI4b1/_new 2021-02-26 21:59:25.171819139 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Term-ReadLine-Gnu
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define cpan_name Term-ReadLine-Gnu
Name: perl-Term-ReadLine-Gnu
-Version: 1.37
+Version: 1.40
Release: 0
Summary: Perl extension for the GNU Readline/History Library
License: Artistic-1.0 OR GPL-1.0-or-later
++++++ Term-ReadLine-Gnu-1.37.tar.gz -> Term-ReadLine-Gnu-1.40.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/Changes new/Term-ReadLine-Gnu-1.40/Changes
--- old/Term-ReadLine-Gnu-1.37/Changes 2020-12-27 04:21:44.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/Changes 2021-02-23 07:08:35.000000000 +0100
@@ -1,5 +1,26 @@
-*- Indented-text -*-
- $Id: Changes 576 2020-12-27 03:21:45Z hayashi $
+
+1.40 2021-02-23
+ - Migrate the repository and the bug tracker to GitHub
+
+1.39 2021-02-22
+ - Makefile.PL
+ - some more fix for Homebrew on macOS [rt.cpan.org #133846]
+
+1.38 2021-02-22
+ - Makefile.PL
+ - run 'brew --prefix ncurses' internally to detect ncurses installed
+ by Homebrew on macOS [rt.cpan.org #133846]
+ - utilize ExtUtils::Liblist::ext() [rt.cpan.org #134408]
+ On macOS Big Sur or later 'perl Makefile.PL' may warn as
+ "Could not find neither libtermcap, libtinfo, libncurses, or libcurses."
+ You should be able to ignore this warning if you have Xcode installed. See
+ https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/381
+ for details. To suppress this message, use ExtUtils::MakeMaker 7.58 or later.
+ - can specify multiple directories on --prefix, --libdir, and
+ --includedir options by separating them with colons
+ - INSTALL
+ - update for changes above and so on.
1.37 2020-12-27
- readline-8.1 support
@@ -58,7 +79,7 @@
- Gnu.pm, t/utf8_text.t: fix version checks for perl 5.10.0.
- t/utf8_text.t: fix the number of skip for systems which do
not support en_US.UTF-8 locale.
- - Gnu.pm: delete old formated 'use VERSION'
+ - Gnu.pm: delete old formatted 'use VERSION'
1.32 2016-06-06
- improve UTF-8 handling
@@ -76,10 +97,10 @@
history_get_history_state(), and history_set_history_state()
are finally implemented.
- update RL_STATE_* definitions
- - fix rl_readline_state and history_legnth variable to be
+ - fix rl_readline_state and history_length variable to be
writable
- fix rl_completion_quote_character and
- rl_completion_found_quate variable to be read only
+ rl_completion_found_quote variable to be read only
- update POD document
- t/*.t: use Test::More and improved
- t/utf8_binary.t, t/utf8_text.t:
@@ -144,7 +165,7 @@
1.26 2015-01-31
- call ornaments() after rl_initialize() to set tty before
- calling rl_initialize() not to output some charactores to
+ calling rl_initialize() not to output some characters to
STDIO. [rt.cpan.org #96569, #101196]
- make handling of iostreams simple (make _rl_store_iostream()
return void and remove _rl_fetch_iostream()) [rt.cpan.org #101078]
@@ -172,7 +193,7 @@
1.23 2014-03-20
- add description of the pager command bug in Perl debugger
- which causes segementation fault [rt.perl.org #121456]
+ which causes segmentation fault [rt.perl.org #121456]
- fix not to clobber binmode layer (utf-8) on filehandles [rt.cpan.org #59832]
- support UTF-8 input as compatible with Term::ReadLine
- Now Term::ReadLine::Gnu requires perl 5.8.0 or above
@@ -214,7 +235,7 @@
- make the following variables read-only.: rl_executing_macro,
history_length, rl_readline_state, rl_explicit_arg,
rl_numeric_arg, rl_editing_mode
- - Improve backward compatiblity variable and function definitions.
+ - Improve backward compatibility variable and function definitions.
- Fix Term::ReadLine::Gnu::XS::_trp_completion_function not to
perform a case-sensitive filter. [rt.cpan.org #72378]
- fix Gnu.xs:rl_initialize to be compiled with Perl 5.8.5 or
@@ -228,7 +249,7 @@
- eg/perlsh makes use of the deferred signal (safe signal)
feature.
- - Maefile.PL checks whether the xmalloc exported by readline
+ - Makefile.PL checks whether the xmalloc exported by readline
is indeed called 'xmalloc' or whether it has been renamed to
'_rl_malloc'. [rt.cpan.org #65973]
- Makefile.PL: add -DTRL_READLINE_VERSION to show GNU Readline
@@ -264,7 +285,7 @@
1.18 2009-02-27
- better error checking of Makefile.PL for automatic testing
- on non-supported platfrom (for example one without GNU
+ on non-supported platform (for example one without GNU
Readline Library).
- readline-6.0 support
new function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/Gnu/XS.pm new/Term-ReadLine-Gnu-1.40/Gnu/XS.pm
--- old/Term-ReadLine-Gnu-1.37/Gnu/XS.pm 2020-12-27 04:21:44.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/Gnu/XS.pm 2021-02-23 07:09:14.000000000 +0100
@@ -1,9 +1,7 @@
#
# XS.pm : perl function definition for Term::ReadLine::Gnu
#
-# $Id: XS.pm 576 2020-12-27 03:21:45Z hayashi $
-#
-# Copyright (c) 1999-2020 Hiroo Hayashi. All rights reserved.
+# Copyright (c) 1999-2021 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
@@ -16,7 +14,7 @@
use AutoLoader 'AUTOLOAD';
our $VERSION;
-$VERSION='1.37'; # added for CPAN
+$VERSION='1.40'; # added for CPAN
# make aliases
our %Attribs;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/Gnu.pm new/Term-ReadLine-Gnu-1.40/Gnu.pm
--- old/Term-ReadLine-Gnu-1.37/Gnu.pm 2020-12-27 04:21:44.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/Gnu.pm 2021-02-23 07:09:02.000000000 +0100
@@ -1,9 +1,7 @@
#
# Gnu.pm --- The GNU Readline/History Library wrapper module
#
-# $Id: Gnu.pm 576 2020-12-27 03:21:45Z hayashi $
-#
-# Copyright (c) 1996-2020 Hiroo Hayashi. All rights reserved.
+# Copyright (c) 1996-2021 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
@@ -93,7 +91,7 @@
use Exporter ();
use DynaLoader;
- our $VERSION = '1.37'; # update Gnu::XS::VERSION also.
+ our $VERSION = '1.40'; # update Gnu::XS::VERSION also.
# Term::ReadLine::Gnu::AU makes a function in
# `Term::ReadLine::Gnu::XS' as a method.
@@ -2156,7 +2154,7 @@
=over 4
-=item L<Term::ReadLine::Gnu Project Home Page|http://sourceforge.net/projects/perl-trg/>
+=item L<Term::ReadLine::Gnu Project Home Page|https://github.com/hirooih/perl-trg>
=item L<GNU Readline Library Manual|https://tiswww.cwru.edu/php/chet/readline/readline.html>
@@ -2243,7 +2241,7 @@
=over 4
=item Submit a bug report to
-L<rt.cpan.org|https://rt.cpan.org/Dist/Display.html?Name=Term-ReadLine-Gnu>.
+L<the bug tracker on GitHub|https://github.com/hirooih/perl-trg/issues>.
=item C<add_defun()> can define up to 16 functions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/Gnu.xs new/Term-ReadLine-Gnu-1.40/Gnu.xs
--- old/Term-ReadLine-Gnu-1.37/Gnu.xs 2020-12-27 02:58:24.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/Gnu.xs 2021-02-23 06:50:52.000000000 +0100
@@ -1,8 +1,6 @@
/*
* Gnu.xs --- GNU Readline wrapper module
*
- * $Id: Gnu.xs 575 2020-12-27 01:58:24Z hayashi $
- *
* Copyright (c) 1996-2020 Hiroo Hayashi. All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/INSTALL new/Term-ReadLine-Gnu-1.40/INSTALL
--- old/Term-ReadLine-Gnu-1.37/INSTALL 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/INSTALL 2021-02-23 06:50:59.000000000 +0100
@@ -1,5 +1,4 @@
-*- Indented-text -*-
-# $Id: INSTALL 487 2015-05-23 08:00:11Z hayashi $
1. How to Install Term::ReadLine::Gnu
@@ -31,7 +30,11 @@
% perl Makefile.PL --prefix=/mydir
- If you are not an administrator and cannot install Perl module
+ You can specify multiple directories by separating them with colons;
+
+ % perl Makefile.PL --prefix=/termcap/dir:/readline/dir
+
+ If you are not an administrator and cannot install Perl module
in your system directory, try
perldoc perlfaq8
and see the section 'How do I keep my own module/library
@@ -41,9 +44,9 @@
1.3 Trouble Shooting
If you have any trouble when using or installing this module
- or find a bug, please open a ticket on the bug tracker at
- rt.cpan.org;
- <http://rt.cpan.org/Dist/Display.html?Queue=Term-ReadLine-Gnu>
+ or find a bug, please open a ticket on the bug tracker on
+ GitHub;
+ <https://github.com/hirooih/perl-trg/issues>
It will help other people who have same problems.
@@ -74,22 +77,18 @@
instead. GNU Readline Library 4.2 is not supported. Use 4.2a
instead.
- If you have any reasons in which use must use one of the follows;
- GNU Readline Library 2.1
- libreadline.a in bash-2.0.tar.gz
- Cygwin b20.1
- see INSTALL file which is included in Term-ReadLine-Gnu-1.11.
-
Executing `perl Makefile.PL` detects which version of
the GNU Readline Library is already installed and warns you if
you have the unsupported version.
In the following example, the install prefix directory is
`/usr/local/gnu'.
-
- You can specify any directory for the GNU Readline library and
- its header files, by editing `LIBS' and/or `INC' section in
- Makefile.PL.
+
+ If you have any reasons in which use must use one of the follows;
+ GNU Readline Library 2.1
+ libreadline.a in bash-2.0.tar.gz
+ Cygwin b20.1
+ see INSTALL file which is included in Term-ReadLine-Gnu-1.11.
2.1. Install from the GNU Readline Library Source
@@ -100,9 +99,15 @@
3. make and install
% make install
-2.1.1. Install on Mac OS X
+2.1.1. Install on macOS
- /usr/bin/perl on Mac OS X 10.5 (Leopard) and later supports
+ On macOS Big Sur or later 'perl Makefile.PL' may warn as
+ "Could not find neither libtermcap, libtinfo, libncurses, or libcurses."
+ You should be able to ignore this warning if you have Xcode installed. See
+ https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/381
+ for details. To suppress this message, use ExtUtils::MakeMaker 7.58 or later.
+
+ /usr/bin/perl on macOS 10.5 (Leopard) and later supports
32bit/64bit universal binary. Make Makefile as follows;
# tested only on Mavericks
@@ -124,19 +129,25 @@
2.2. Using Package
-2.2.1. RPM on Linux
+2.2.1. APT based Linux
+
+ On APT-based Linux you need to install 'libncurses-dev' package in
+ addition to 'libreadline-dev' package.
+
+ % sudo apt install libncurses-dev libreadline-dev
+
+2.2.2. RPM based Linux
- On Linux you need to install 'ncurses-devel' package in
- addition to 'readline-devel' package. On distributions using
- RPM do follows;
+ On RPM-based Linux you need to install 'ncurses-devel' package in
+ addition to 'readline-devel' package.
% sudo yum install ncurses-devel
% sudo yum install readline-devel
-2.2.2. homebrew on Mac OS X
+2.2.3. Homebrew on macOS
- 1. Install homebrew
- See http://brew.sh/.
+ 1. Install Homebrew
+ See https://brew.sh/.
2. Use homebrew to install the GNU Readline Library:
% brew install readline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/META.json new/Term-ReadLine-Gnu-1.40/META.json
--- old/Term-ReadLine-Gnu-1.37/META.json 2020-12-27 04:23:59.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/META.json 2021-02-23 08:21:24.000000000 +0100
@@ -39,16 +39,16 @@
"release_status" : "stable",
"resources" : {
"bugtracker" : {
- "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Term-ReadLine-Gnu"
+ "web" : "https://github.com/hirooih/perl-trg/issues"
},
- "homepage" : "http://sourceforge.net/projects/perl-trg/",
+ "homepage" : "https://github.com/hirooih/perl-trg",
"license" : [
"http://dev.perl.org/licenses/"
],
"repository" : {
- "url" : "https://sourceforge.net/p/perl-trg/code/HEAD/tree/"
+ "url" : "https://github.com/hirooih/perl-trg.git"
}
},
- "version" : "1.37",
+ "version" : "1.40",
"x_serialization_backend" : "JSON::PP version 4.02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/META.yml new/Term-ReadLine-Gnu-1.40/META.yml
--- old/Term-ReadLine-Gnu-1.37/META.yml 2020-12-27 04:23:59.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/META.yml 2021-02-23 08:21:24.000000000 +0100
@@ -20,9 +20,9 @@
requires:
perl: '5.008001'
resources:
- bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Term-ReadLine-Gnu
- homepage: http://sourceforge.net/projects/perl-trg/
+ bugtracker: https://github.com/hirooih/perl-trg/issues
+ homepage: https://github.com/hirooih/perl-trg
license: http://dev.perl.org/licenses/
- repository: https://sourceforge.net/p/perl-trg/code/HEAD/tree/
-version: '1.37'
+ repository: https://github.com/hirooih/perl-trg.git
+version: '1.40'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/Makefile.PL new/Term-ReadLine-Gnu-1.40/Makefile.PL
--- old/Term-ReadLine-Gnu-1.37/Makefile.PL 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/Makefile.PL 2021-02-23 06:51:07.000000000 +0100
@@ -1,9 +1,7 @@
#
# Makefile.PL for Term::ReadLine::Gnu
#
-# $Id: Makefile.PL 568 2020-04-23 13:25:35Z hayashi $
-#
-# Copyright (c) 1996-2017 Hiroo Hayashi. All rights reserved.
+# Copyright (c) 1996-2021 Hiroo Hayashi. All rights reserved.
# <hiroo.hayashi(a)computer.org>
#
# This program is free software; you can redistribute it and/or
@@ -22,7 +20,7 @@
use Config;
use Getopt::Long;
use 5.008; use 5.8.1;
-my ($defs, $libs, $lddflags, $RLLIB, $RLINC);
+my ($defs, $libs, $lddflags, $RLLIB, $RLINC, @LIBPTH);
# exit 0 before creating the Makefile to be CPAN Testers friendly
# see http://wiki.cpantester.org/wiki/CPANAuthorNotes
@@ -39,10 +37,6 @@
warn "wrong \$TERM value: $ENV{TERM}\n";
exit 0;
}
-# I could not reach a tester, "Chris Williams (BINGOS)".
-#if ($ENV{AUTOMATED_TESTING} && ($Config{osname} eq 'openbsd')) {
-# die "OS unsupported\nPlease contact the author.\n";
-#}
$defs = ($Config{strings} =~ m|/string.h$|) ? '-DHAVE_STRING_H' : '';
@@ -57,10 +51,24 @@
GetOptions("prefix=s" => \$prefix,
"libdir=s" => \$libdir,
"includedir=s" => \$incdir);
- $RLLIB = defined $libdir
- ? "-L$libdir" : (defined $prefix ? "-L$prefix/lib" : '');
- $RLINC = defined $incdir
- ? "-I$incdir" : (defined $prefix ? "-I$prefix/include" : '');
+ if (defined $libdir) {
+ foreach (split(':', $libdir)) {
+ $RLLIB .= " -L$_";
+ push (@LIBPTH, $_);
+ }
+ }
+ if (defined $incdir) {
+ foreach (split(':', $incdir)) {
+ $RLINC .= " -I$_";
+ }
+ }
+ if (defined $prefix) {
+ foreach (split(':', $prefix)) {
+ $RLLIB .= " -L$_/lib";
+ push (@LIBPTH, "$_/lib");
+ $RLINC .= " -I$_/include";
+ }
+ }
}
if ($Config{osname} eq 'os2') {
@@ -73,11 +81,15 @@
# OS X uses libedit, but they've named it libreadline...
# see if user has installed gnu readline via homebrew
if ($Config{osname} eq 'darwin' && !($RLLIB || $RLINC)) {
- my $homebrew_prefix = `brew --prefix readline`;
- if ($homebrew_prefix) {
+ foreach ('readline', 'ncurses') {
+ my $homebrew_prefix = `brew --prefix $_`;
chomp $homebrew_prefix;
- $RLLIB = "-L$homebrew_prefix/lib";
- $RLINC = "-I$homebrew_prefix/include";
+ if ($homebrew_prefix
+ && ((substr($Config{osvers}, 0, index($Config{osvers}, '.')) > 19) || -d $homebrew_prefix)) {
+ $RLLIB .= " -L$homebrew_prefix/lib";
+ push (@LIBPTH, "$homebrew_prefix/lib");
+ $RLINC .= " -I$homebrew_prefix/include";
+ }
}
}
@@ -95,8 +107,16 @@
|| &search_lib('-lcurses');
unless ($TERMCAP_LIB) {
- warn "Could not find neither libtermcap, libtinfo, libncurses, or libcurses.\n";
- exit $err;
+ warn "Could not find neither libtermcap, libtinfo, libncurses, or libcurses.\n";
+ if ($Config{osname} eq 'darwin'
+ && substr($Config{osvers}, 0, index($Config{osvers}, '.')) > 19
+ && $ExtUtils::MakeMaker::VERSION < 7.58) {
+ warn "Install XCode or use Homebrew package.\n";
+ warn "macOS Big Sur or later requires ExtUtils::MakeMaker 7.58 or later.\n";
+ warn "See https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/381 for details.\n";
+ } else {
+ exit $err;
+ }
}
$libs = "-lreadline $TERMCAP_LIB";
@@ -139,9 +159,9 @@
META_MERGE => {
resources => {
license => 'http://dev.perl.org/licenses/',
- homepage => 'http://sourceforge.net/projects/perl-trg/',
- bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Term-ReadLine-Gnu',
- repository => 'https://sourceforge.net/p/perl-trg/code/HEAD/tree/',
+ homepage => 'https://github.com/hirooih/perl-trg',
+ bugtracker => 'https://github.com/hirooih/perl-trg/issues',
+ repository => 'https://github.com/hirooih/perl-trg.git',
},
},
VERSION_FROM => 'Gnu.pm',
@@ -156,7 +176,7 @@
) : () ),
INC => $RLINC,
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz' },
- clean => { FILES => "rlver.c rlver$Config{_exe} rlmalloc.c rlmalloc$Config{_exe}" },
+ clean => { FILES => "rlver.c rlver$Config{_exe} rlmalloc.c rlmalloc$Config{_exe} .history_test" },
);
if ($Config{usesfio} eq 'true') {
@@ -176,24 +196,27 @@
# Search a library '$lib' in $Config{libpth} directories, and return
# $lib if exist or undef unless exist.
-# ExtUtils::Liblist::ext() do similar job as this subroutine, but it
-# warns unnecessary messages.
+# ExtUtils::Liblist::ext() is not verbose by default any more and does much better job.
sub search_lib {
my ($lib) = @_;
+ my ($EXTRALIBS, $BSLOADLIBS, $LDLOADLIBS, $LD_RUN_PATH) = ExtUtils::Liblist->ext($lib);
+ return $EXTRALIBS || $LDLOADLIBS || search_lib_sub($lib);
+}
+
+# ExtUtils::Liblist::ext() do similar job as this subroutine, but it
+# warns unnecessary messages. -> TRG-1.38: Now it is used to search termcap library.
+sub search_lib_sub {
+ my ($lib) = @_;
unless ($lib =~ /^-l/) {
warn "search_lib: illegal arguments, \`$lib\'.\n";
return undef;
}
my $libbase = 'lib' . substr($lib, 2) . $Config{lib_ext};
my $libbase_so = 'lib' . substr($lib, 2) . "." . $Config{so};
- foreach (split(' ', $Config{libpth})) {
+ foreach (@LIBPTH) {
if (-f $_ . '/' . $libbase) {
-# print "$_/$libbase\n";
- print "Found \`$_/$libbase\'.\n";
return $lib;
} elsif (-f $_ . '/' . $libbase_so) {
-# print "$_/$libbase_so\n";
- print "Found \`$_/$libbase_so\'.\n";
return $lib;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/README new/Term-ReadLine-Gnu-1.40/README
--- old/Term-ReadLine-Gnu-1.37/README 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/README 2021-02-23 06:51:14.000000000 +0100
@@ -1,5 +1,4 @@
-*- Indented-text -*-
-$Id: README 477 2014-12-14 05:35:36Z hayashi $
Term::ReadLine::Gnu --- GNU Readline Library Wrapper Module
@@ -58,15 +57,15 @@
Bugs:
There may be many bugs in both programs and documents.
Comments and bug reports are very welcome. Send me a E-Mail or
- open a ticket on the bug tracker at rt.cpan.org;
+ open a ticket on the bug tracker on GitHub;
- http://rt.cpan.org/Dist/Display.html?Queue=Term-ReadLine-Gnu
+ https://github.com/hirooih/perl-trg/issues
Author:
Hiroo Hayashi <hiroo.hayashi(a)computer.org>
Project Home Page
- http://sourceforge.net/projects/perl-trg/
+ https://github.com/hirooih/perl-trg
Revision History:
See Changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/eg/fileman new/Term-ReadLine-Gnu-1.40/eg/fileman
--- old/Term-ReadLine-Gnu-1.37/eg/fileman 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/eg/fileman 2021-02-23 06:51:40.000000000 +0100
@@ -1,7 +1,5 @@
#!/usr/local/bin/perl
#
-# $Id: fileman 454 2014-03-02 14:28:30Z hayashi $
-#
# This is a sample program of Term::ReadLine::Gnu perl module. The
# origin is a C program in the GNU Readline Libarary manual Edition
# 2.1, "2.5.4 A Short Completion Example". This program is under GPL.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/eg/perlsh new/Term-ReadLine-Gnu-1.40/eg/perlsh
--- old/Term-ReadLine-Gnu-1.37/eg/perlsh 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/eg/perlsh 2021-02-23 06:52:13.000000000 +0100
@@ -1,6 +1,5 @@
#! /usr/local/bin/perl
#
-# $Id: perlsh 569 2020-04-23 13:32:23Z hayashi $
#
# Copyright (c) 1996 Hiroo Hayashi. All Rights Reserved.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/eg/pftp new/Term-ReadLine-Gnu-1.40/eg/pftp
--- old/Term-ReadLine-Gnu-1.37/eg/pftp 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/eg/pftp 2021-02-23 06:52:20.000000000 +0100
@@ -1,7 +1,5 @@
#! /usr/local/bin/perl
#
-# $Id: pftp 475 2014-12-13 03:20:00Z hayashi $
-#
# Copyright (c) 1997 Hiroo Hayashi. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/eg/ptksh+ new/Term-ReadLine-Gnu-1.40/eg/ptksh+
--- old/Term-ReadLine-Gnu-1.37/eg/ptksh+ 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/eg/ptksh+ 2021-02-23 06:52:29.000000000 +0100
@@ -1,7 +1,5 @@
#!/usr/local/bin/perl -w
#
-# $Id: ptksh+ 475 2014-12-13 03:20:00Z hayashi $
-#
# POD documentation after __END__
# This program is contributed by Achim Bohnet. It demonstrates how to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/00checkver.t new/Term-ReadLine-Gnu-1.40/t/00checkver.t
--- old/Term-ReadLine-Gnu-1.37/t/00checkver.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/00checkver.t 2021-02-23 06:53:01.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# 00check.t - check versions
#
-# $Id: 00checkver.t 518 2016-05-18 16:33:37Z hayashi $
-#
# Copyright (c) 2008-2016 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/callback.t new/Term-ReadLine-Gnu-1.40/t/callback.t
--- old/Term-ReadLine-Gnu-1.37/t/callback.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/callback.t 2021-02-23 06:53:06.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# callback.t - Test script for Term::ReadLine:GNU callback function
#
-# $Id: callback.t 521 2016-05-19 06:39:31Z hayashi $
-#
# Copyright (c) 1999-2016 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/history.t new/Term-ReadLine-Gnu-1.40/t/history.t
--- old/Term-ReadLine-Gnu-1.37/t/history.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/history.t 2021-02-23 06:53:10.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# history.t --- Term::ReadLine:GNU History Library Test Script
#
-# $Id: history.t 524 2016-05-26 16:14:26Z hayashi $
-#
# Copyright (c) 1998-2016 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/readline.t new/Term-ReadLine-Gnu-1.40/t/readline.t
--- old/Term-ReadLine-Gnu-1.37/t/readline.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/readline.t 2021-02-23 06:53:17.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# readline.t - Test script for Term::ReadLine:GNU
#
-# $Id: readline.t 570 2020-04-23 15:05:14Z hayashi $
-#
# Copyright (c) 1996-2020 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/utf8_binary.t new/Term-ReadLine-Gnu-1.40/t/utf8_binary.t
--- old/Term-ReadLine-Gnu-1.37/t/utf8_binary.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/utf8_binary.t 2021-02-23 06:53:52.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# utf8_binary.t --- Term::ReadLine::Gnu UTF-8 binary string test script
#
-# $Id: utf8_binary.t 565 2019-01-14 04:48:22Z hayashi $
-#
# Copyright (c) 2016-2019 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/t/utf8_text.t new/Term-ReadLine-Gnu-1.40/t/utf8_text.t
--- old/Term-ReadLine-Gnu-1.37/t/utf8_text.t 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/t/utf8_text.t 2021-02-23 06:53:58.000000000 +0100
@@ -1,8 +1,6 @@
# -*- perl -*-
# utf8_text.t --- Term::ReadLine::Gnu UTF-8 text string test script
#
-# $Id: utf8_text.t 565 2019-01-14 04:48:22Z hayashi $
-#
# Copyright (c) 2016-2019 Hiroo Hayashi. All rights reserved.
#
# This program is free software; you can redistribute it and/or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-ReadLine-Gnu-1.37/typemap new/Term-ReadLine-Gnu-1.40/typemap
--- old/Term-ReadLine-Gnu-1.37/typemap 2020-12-26 14:49:49.000000000 +0100
+++ new/Term-ReadLine-Gnu-1.40/typemap 2021-02-23 06:51:31.000000000 +0100
@@ -1,6 +1,5 @@
# typemap for Term::ReadLine::Gnu
#
-# $Id: typemap 541 2016-06-07 14:22:03Z hayashi $
const char * T_PV
CONST char * T_PV
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-B-Keywords for openSUSE:Factory checked in at 2021-02-26 21:59:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-B-Keywords (Old)
and /work/SRC/openSUSE:Factory/.perl-B-Keywords.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-B-Keywords"
Fri Feb 26 21:59:20 2021 rev:23 rq:875105 version:1.22
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-B-Keywords/perl-B-Keywords.changes 2019-12-23 22:43:33.693979551 +0100
+++ /work/SRC/openSUSE:Factory/.perl-B-Keywords.new.2378/perl-B-Keywords.changes 2021-02-26 21:59:23.415817597 +0100
@@ -1,0 +2,9 @@
+Tue Feb 23 03:06:56 UTC 2021 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 1.22
+ see /usr/share/doc/packages/perl-B-Keywords/Changes
+
+ 1.22 2021-02-22 09:42:18 rurban
+ - add try/catch by Tom Wyant
+
+-------------------------------------------------------------------
Old:
----
B-Keywords-1.21.tar.gz
New:
----
B-Keywords-1.22.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-B-Keywords.spec ++++++
--- /var/tmp/diff_new_pack.ylmMRa/_old 2021-02-26 21:59:23.939818057 +0100
+++ /var/tmp/diff_new_pack.ylmMRa/_new 2021-02-26 21:59:23.943818060 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-B-Keywords
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,17 @@
#
+%define cpan_name B-Keywords
Name: perl-B-Keywords
-Version: 1.21
+Version: 1.22
Release: 0
#Upstream: 2017-2019 Reini Urban, All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; version 2, or b) the "Artistic License" which comes with Perl.
-%define cpan_name B-Keywords
Summary: Lists of reserved barewords and symbol names
License: GPL-2.0-only OR Artistic-1.0
-Group: Development/Libraries/Perl
-Url: https://metacpan.org/release/%{cpan_name}
+URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/R/RU/RURBAN/%{cpan_name}-%{version}.ta…
Source1: cpanspec.yml
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
%{perl_requires}
@@ -52,11 +50,11 @@
library functions use more special symbols, handles and methods.
%prep
-%setup -q -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{version}
%build
perl Makefile.PL INSTALLDIRS=vendor
-make %{?_smp_mflags}
+%make_build
%check
make test
@@ -67,7 +65,6 @@
%perl_gen_filelist
%files -f %{name}.files
-%defattr(-,root,root,755)
%doc Changes README
%license LICENSE
++++++ B-Keywords-1.21.tar.gz -> B-Keywords-1.22.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/B-Keywords-1.21/Changes new/B-Keywords-1.22/Changes
--- old/B-Keywords-1.21/Changes 2019-12-17 17:58:25.000000000 +0100
+++ new/B-Keywords-1.22/Changes 2021-02-22 09:42:37.000000000 +0100
@@ -93,3 +93,6 @@
1.21 2019-12-17 17:38:00 rurban
- isa was added with 5.31.7
- improved t/z_kwalitee.t
+1.22 2021-02-22 09:42:18 rurban
+ - add try/catch by Tom Wyant
+
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/B-Keywords-1.21/META.json new/B-Keywords-1.22/META.json
--- old/B-Keywords-1.21/META.json 2019-12-17 18:00:01.000000000 +0100
+++ new/B-Keywords-1.22/META.json 2021-02-22 09:46:21.000000000 +0100
@@ -45,6 +45,6 @@
"url" : "http://github.com/rurban/b-keywords"
}
},
- "version" : "1.21",
+ "version" : "1.22",
"x_serialization_backend" : "JSON::PP version 2.97001"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/B-Keywords-1.21/META.yml new/B-Keywords-1.22/META.yml
--- old/B-Keywords-1.21/META.yml 2019-12-17 18:00:01.000000000 +0100
+++ new/B-Keywords-1.22/META.yml 2021-02-22 09:46:21.000000000 +0100
@@ -22,5 +22,5 @@
resources:
license: http://dev.perl.org/licenses/
repository: http://github.com/rurban/b-keywords
-version: '1.21'
+version: '1.22'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/B-Keywords-1.21/SIGNATURE new/B-Keywords-1.22/SIGNATURE
--- old/B-Keywords-1.21/SIGNATURE 2019-12-17 18:00:03.000000000 +0100
+++ new/B-Keywords-1.22/SIGNATURE 2021-02-22 09:46:22.000000000 +0100
@@ -1,5 +1,5 @@
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.83.
+signed via the Module::Signature module, version 0.87.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
@@ -12,16 +12,16 @@
not run its Makefile.PL or Build.PL.
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: RIPEMD160
-SHA256 917b5918d97cef573ae74ec93e25c2270f00a90d3ca6a6624e1475abcea6b462 Changes
+SHA256 5f974d84eb69841476ce028b79dced3a414d78f807b6a0456d11bdff81815b4e Changes
SHA256 6724a85e9820d3b08909b518d4d3d3621cf2fb7f2876360e5b2874efbf8c2ee8 LICENSE
SHA256 7ebf58443f98897bc4d14d25de111e89838c847102bfafd98cad2ab6de7e7177 MANIFEST
-SHA256 b4fe80f031554a1d83f2ef0aa59749849149acd40a9f7692d9aa17f82e71f266 META.json
-SHA256 a2ef71fba5cab639adc217001833bfbb20984cb375927da2c10ae93088f36a6b META.yml
+SHA256 7ccb763d933f31d711962395bae292e7778a08147e90b753e44e69b6f5b8f7f3 META.json
+SHA256 d00bef3888c75a43a2efd3973e52a66f1be2e0a71e26aeff1ce5ca4e2505afac META.yml
SHA256 b51920d197a1eee6f282d3a5487e7c1501c710000bcf0d8f289fb31a42461115 Makefile.PL
SHA256 0a73e39f5d75bdaa6b6e113318168e2e880b6a69405063df631a0aa2b0f19fcd README
-SHA256 5a06e112f015c3f161df41cca0ce3b3d8a0d4778a43902e114b2e7cf7dea93bc lib/B/Keywords.pm
+SHA256 fa81dd0a9557a85d12742b0d470a5ff3538ec8d48dad1dbce126ec8202a3bbe4 lib/B/Keywords.pm
SHA256 e03c8fcbca5ea500346882132d9a4ae57fc8fca37bdf2a8e0576f25408760885 t/10basic.t
SHA256 e769e2d323d01b7cb67224442cacc7b0bc60bf04492e688af87708d9930a24fa t/11keywords.t
SHA256 eccb70c617b51d41f8fe54bf1c52e6767f849833cf3c244fb432b3ebfdc2d4bf t/export.t
@@ -32,12 +32,12 @@
SHA256 298e9a5d4190701d4438f3f68c1e44139cfa36982503ccc44572d04cfe3c317a t/z_pod.t
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCAAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAl35CZIACgkQtPYzOeZd
-ZBT4Vgf9EZEUpuUbW95SEB9SrjF0dOIyKBqZc0pjEGxWKWOn5EX3EU9yaflMVh2/
-ll9GCImHMJdZdoE3HSX/eLXbHdoTpPv6SpJdrTSp3iZ9O+qTFb0ZX7qAeJAnJmAl
-4Rk36e1gjW/pYMjn/fAXp6VbmUlqwtVHO7jbItike+kQwUGDCDnK178ngW/tCLwv
-z+cd5595halY0tvKfD5jSHZSN2Qs3jykHpRtsZboC3c1N1O+gd45M/GoI5aGGNeP
-P7tBGlzjphG+UG+f2bCdMtqXnCTTsfWKJFpJ4Lg1C2f/Awlq6r6ogxOC0Hl46OBG
-Mes4XsdsD4hI0SWUPwXvQ9+JAXuK3w==
-=oSA2
+iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAmAzb10ACgkQtPYzOeZd
+ZBTyIAgAoZbAQ5OXvg8zOn/auI+alMQ8RJs0+6osouG6wzbswkSiDxCd+5Rtam6/
+hRDhL50CvEmXaRmXi4mTu6sq2Kz8zb++84+ZlZJ+prhcYcZo8/kL4Gg57+uT/4+t
+ZDiCRrWphYCFGM2uwIYPJXHWH4bzP0AB89/tbe8naPy4Zj3mjPtWNXuIFPcPzwXr
+WgV6MiDtTRTs56lCspGxjKEX8zEKT0Kn0fnB8qC8s4pr04VLn9ONTw6gVBn5gpoO
+CAcv1jqb6Pt3bewz1xo0Yg3pQEJKyIAOa8D/9ChTsw5AO4bapAwQwEhlKGuNp4H8
+bde+Yi1WNelNfIf6wfm0NAZSZlda/Q==
+=Q5iM
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/B-Keywords-1.21/lib/B/Keywords.pm new/B-Keywords-1.22/lib/B/Keywords.pm
--- old/B-Keywords-1.21/lib/B/Keywords.pm 2019-12-17 17:37:01.000000000 +0100
+++ new/B-Keywords-1.22/lib/B/Keywords.pm 2021-02-22 09:42:49.000000000 +0100
@@ -14,7 +14,7 @@
%EXPORT_TAGS = ( 'all' => \@EXPORT_OK );
use vars '$VERSION';
-$VERSION = '1.21';
+$VERSION = '1.22';
my $CPERL = $^V =~ /c$/ ? 1 : 0;
use vars '@Scalars';
@@ -451,6 +451,11 @@
x
xor
y
+ ),
+ ($] >= 5.033007 ? qw(
+ try
+ catch
+ ) : ()
));
use vars '@TieIOMethods';
1
0