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 2017
- 1 participants
- 1918 discussions
Hello community,
here is the log from the commit of package libregf for openSUSE:Factory checked in at 2017-02-21 13:51:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libregf (Old)
and /work/SRC/openSUSE:Factory/.libregf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libregf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libregf/libregf.changes 2016-02-05 00:32:03.…
[View More]000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libregf.new/libregf.changes 2017-02-21 13:51:56.562906938 +0100
@@ -1,0 +2,11 @@
+Thu Feb 16 22:15:47 UTC 2017 - Greg.Freemyer(a)gmail.com
+
+- update to 20170130
+- use these packages from factory to see if they are stable yet:
+ * libfcache
+ * libfdata
+ * libfwnt
+ * libfwsi
+- change RPM group for python binding to development/languages/python
+
+-------------------------------------------------------------------
Old:
----
Windows_NT_Registry_File_(REGF)_format.pdf
libregf-alpha-20160107.tar.gz
New:
----
Windows_NT_Registry_File_REGF_format.pdf
libregf-alpha-20170130.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libregf.spec ++++++
--- /var/tmp/diff_new_pack.8lRbYU/_old 2017-02-21 13:51:57.406788163 +0100
+++ /var/tmp/diff_new_pack.8lRbYU/_new 2017-02-21 13:51:57.410787599 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libregf
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: libregf
%define lname libregf1
-%define timestamp 20160107
+%define timestamp 20170130
Version: 0~%timestamp
Release: 0
Summary: Library to access Windows REGF-type Registry files
@@ -26,7 +26,7 @@
Group: Productivity/File utilities
Url: https://github.com/libyal/libregf/wiki
Source: https://github.com/libyal/libregf/releases/download/%timestamp/%name-alpha-…
-Source2: Windows_NT_Registry_File_(REGF)_format.pdf
+Source2: Windows_NT_Registry_File_REGF_format.pdf
BuildRequires: pkg-config
BuildRequires: python-devel
BuildRequires: pkgconfig(fuse) >= 2.6
@@ -36,7 +36,6 @@
BuildRequires: pkgconfig(libcfile) >= 20130809
BuildRequires: pkgconfig(libclocale) >= 20130609
BuildRequires: pkgconfig(libcnotify) >= 20130609
-BuildRequires: pkgconfig(libcpath) >= 20130809
BuildRequires: pkgconfig(libcsplit) >= 20130609
BuildRequires: pkgconfig(libcstring) >= 20120425
BuildRequires: pkgconfig(libcsystem) >= 20120425
@@ -44,11 +43,13 @@
BuildRequires: pkgconfig(libfguid) >= 20140105
BuildRequires: pkgconfig(libuna) >= 20130728
# Using these packages (libf*) are released but are not stable per upstream
-# Verified 9/19/2014
-#BuildRequires: pkgconfig(libfcache) >= 20120425
-#BuildRequires: pkgconfig(libfdata) >= 20120425
-#BuildRequires: pkgconfig(libfwnt) >= 20120426
-#BuildRequires: pkgconfig(libfwsi) >= 20120426
+# Verified 9/19/2014; 1/1/2017 I'm going to try and use them
+BuildRequires: pkgconfig(libfcache) >= 20170111
+BuildRequires: pkgconfig(libfdata) >= 20170112
+BuildRequires: pkgconfig(libfwnt) >= 20170115
+BuildRequires: pkgconfig(libfwsi) >= 20170117
+
+#BuildRequires: pkgconfig(libcpath) >= 20130809
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -89,7 +90,7 @@
%package -n python-%{name}
Summary: Python bindings for libregf, a library to access Windows REGF Registry files
License: LGPL-3.0+
-Group: Development/Libraries/Python
+Group: Development/Languages/Python
Requires: %lname = %version
Requires: python
Provides: pyregf = %version
++++++ libregf-alpha-20160107.tar.gz -> libregf-alpha-20170130.tar.gz ++++++
++++ 172694 lines of diff (skipped)
[View Less]
1
0
Hello community,
here is the log from the commit of package open-vm-tools for openSUSE:Factory checked in at 2017-02-21 13:51:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-vm-tools (Old)
and /work/SRC/openSUSE:Factory/.open-vm-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-vm-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/open-vm-tools/open-vm-…
[View More]tools.changes 2017-02-09 11:17:59.262941562 +0100
+++ /work/SRC/openSUSE:Factory/.open-vm-tools.new/open-vm-tools.changes 2017-02-21 13:51:47.204224157 +0100
@@ -1,0 +2,5 @@
+Mon Feb 20 11:18:02 CET 2017 - kukuk(a)suse.de
+
+- Don't require insserv if we don't need it.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ open-vm-tools.spec ++++++
--- /var/tmp/diff_new_pack.gmXRve/_old 2017-02-21 13:51:48.092099190 +0100
+++ /var/tmp/diff_new_pack.gmXRve/_new 2017-02-21 13:51:48.092099190 +0100
@@ -136,8 +136,9 @@
%if 0%{?suse_version} != 1110
Supplements: modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
%endif
-Requires(pre): %fillup_prereq
+%if !%{with systemd}
Requires(pre): %insserv_prereq
+%endif
ExclusiveArch: %ix86 x86_64
Patch0: Report-SLES12-SAP-guest-OS-as-SLES12.patch
[View Less]
1
0
21 Feb '17
Hello community,
here is the log from the commit of package perl-Mojo-RabbitMQ-Client for openSUSE:Factory checked in at 2017-02-21 13:51:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-RabbitMQ-Client"
Changes:
--------
--- /work/…
[View More]SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client/perl-Mojo-RabbitMQ-Client.changes 2017-02-07 12:09:05.449885784 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new/perl-Mojo-RabbitMQ-Client.changes 2017-02-21 13:51:45.576453262 +0100
@@ -1,0 +2,13 @@
+Sun Feb 19 07:00:00 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.0.9
+ see /usr/share/doc/packages/perl-Mojo-RabbitMQ-Client/Changes
+
+ 0.0.9 2017-02-18T11:07:56Z
+ - Proper implementation of URI parser PR#8 & #9
+ - Support for query parameter with aliases
+ - Add max_channels attribute to force maximum number of channels active
+ - Additional developer test for quick consumer
+ - Documentation changes
+
+-------------------------------------------------------------------
Old:
----
Mojo-RabbitMQ-Client-0.0.8.tar.gz
New:
----
Mojo-RabbitMQ-Client-0.0.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-RabbitMQ-Client.spec ++++++
--- /var/tmp/diff_new_pack.sycBQI/_old 2017-02-21 13:51:46.028389652 +0100
+++ /var/tmp/diff_new_pack.sycBQI/_new 2017-02-21 13:51:46.032389090 +0100
@@ -17,14 +17,14 @@
Name: perl-Mojo-RabbitMQ-Client
-Version: 0.0.8
+Version: 0.0.9
Release: 0
%define cpan_name Mojo-RabbitMQ-Client
Summary: Mojo::IOLoop based RabbitMQ client
License: Artistic-2.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Mojo-RabbitMQ-Client/
-Source0: http://www.cpan.org/authors/id/S/SE/SEBAPOD/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/S/SE/SEBAPOD/%{cpan_name}-%{version}.t…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -67,6 +67,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes examples LICENSE minil.toml README.md
+%doc Changes examples minil.toml README.md
+%license LICENSE
%changelog
++++++ Mojo-RabbitMQ-Client-0.0.8.tar.gz -> Mojo-RabbitMQ-Client-0.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/Changes new/Mojo-RabbitMQ-Client-0.0.9/Changes
--- old/Mojo-RabbitMQ-Client-0.0.8/Changes 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/Changes 2017-02-18 12:08:14.000000000 +0100
@@ -1,3 +1,9 @@
+0.0.9 2017-02-18T11:07:56Z
+ - Proper implementation of URI parser PR#8 & #9
+ - Support for query parameter with aliases
+ - Add max_channels attribute to force maximum number of channels active
+ - Additional developer test for quick consumer
+ - Documentation changes
0.0.8 2017-01-30T12:13:18Z
- Fix issues with UTF-8 data corruption on SSL sockets PR#7
- Drop List::MoreUtils `none` in favour of core List::Util PR#4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/MANIFEST new/Mojo-RabbitMQ-Client-0.0.9/MANIFEST
--- old/Mojo-RabbitMQ-Client-0.0.8/MANIFEST 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/MANIFEST 2017-02-18 12:08:14.000000000 +0100
@@ -18,9 +18,13 @@
minil.toml
share/amqp0-9-1.stripped.extended.xml
share/fixed_amqp0-8.xml
+t/base.t
t/localqueue.t
t/static.t
+t/uri.t
t/use.t
+xt/client.t
+xt/consumer.t
xt/pod.t
xt/server.t
META.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/META.json new/Mojo-RabbitMQ-Client-0.0.9/META.json
--- old/Mojo-RabbitMQ-Client-0.0.8/META.json 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/META.json 2017-02-18 12:08:14.000000000 +0100
@@ -1,7 +1,7 @@
{
"abstract" : "Mojo::IOLoop based RabbitMQ client",
"author" : [
- "-2016, Sebastian Podjasek and others"
+ "-2017, Sebastian Podjasek and others"
],
"dynamic_config" : 0,
"generated_by" : "Minilla/v3.0.6",
@@ -59,7 +59,7 @@
"provides" : {
"Mojo::RabbitMQ::Client" : {
"file" : "lib/Mojo/RabbitMQ/Client.pm",
- "version" : "v0.0.8"
+ "version" : "v0.0.9"
},
"Mojo::RabbitMQ::Client::Channel" : {
"file" : "lib/Mojo/RabbitMQ/Client/Channel.pm"
@@ -91,10 +91,11 @@
"web" : "https://github.com/inway/mojo-rabbitmq-client"
}
},
- "version" : "0.0.8",
+ "version" : "0.0.9",
"x_contributors" : [
"Vidar Tyldum <vidar(a)tyldum.com>",
"Stephan Kulow <coolo(a)suse.de>",
+ "Richard Lippmann <lippmann(a)findus-internet-opac.de>",
"Sebastian Podjasek <sebastian(a)podjasek.pl>"
],
"x_serialization_backend" : "JSON::PP version 2.27300"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/META.yml new/Mojo-RabbitMQ-Client-0.0.9/META.yml
--- old/Mojo-RabbitMQ-Client-0.0.8/META.yml 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/META.yml 2017-02-18 12:08:14.000000000 +0100
@@ -1,7 +1,7 @@
---
abstract: 'Mojo::IOLoop based RabbitMQ client'
author:
- - '-2016, Sebastian Podjasek and others'
+ - '-2017, Sebastian Podjasek and others'
build_requires:
Test::Exception: '0.43'
Test::More: '0.98'
@@ -27,7 +27,7 @@
provides:
Mojo::RabbitMQ::Client:
file: lib/Mojo/RabbitMQ/Client.pm
- version: v0.0.8
+ version: v0.0.9
Mojo::RabbitMQ::Client::Channel:
file: lib/Mojo/RabbitMQ/Client/Channel.pm
Mojo::RabbitMQ::Client::Consumer:
@@ -50,9 +50,10 @@
bugtracker: https://github.com/inway/mojo-rabbitmq-client/issues
homepage: https://github.com/inway/mojo-rabbitmq-client
repository: git://github.com/inway/mojo-rabbitmq-client.git
-version: 0.0.8
+version: 0.0.9
x_contributors:
- 'Vidar Tyldum <vidar(a)tyldum.com>'
- 'Stephan Kulow <coolo(a)suse.de>'
+ - 'Richard Lippmann <lippmann(a)findus-internet-opac.de>'
- 'Sebastian Podjasek <sebastian(a)podjasek.pl>'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/README.md new/Mojo-RabbitMQ-Client-0.0.9/README.md
--- old/Mojo-RabbitMQ-Client-0.0.8/README.md 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/README.md 2017-02-18 12:08:14.000000000 +0100
@@ -80,6 +80,7 @@
$consumer->channel->ack($message)->deliver;
}
);
+ $consumer->start();
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
@@ -147,15 +148,126 @@
[Mojo::RabbitMQ::Client](https://metacpan.org/pod/Mojo::RabbitMQ::Client) has following attributes.
+## tls
+
+ my $tls = $client->tls;
+ $client = $client->tls(1)
+
+Force secure connection. Default is disabled (`0`).
+
+## user
+
+ my $user = $client->user;
+ $client = $client->user('guest')
+
+Sets username for authorization, by default it's not defined.
+
+## pass
+
+ my $pass = $client->pass;
+ $client = $client->pass('secret')
+
+Sets user password for authorization, by default it's not defined.
+
+## pass
+
+ my $pass = $client->pass;
+ $client = $client->pass('secret')
+
+Sets user password for authorization, by default it's not defined.
+
+## host
+
+ my $host = $client->host;
+ $client = $client->host('localhost')
+
+Hostname or IP address of RabbitMQ server. Defaults to `localhost`.
+
+## port
+
+ my $port = $client->port;
+ $client = $client->port(1234)
+
+Port on which RabbitMQ server listens for new connections.
+Defaults to `5672`, which is standard RabbitMQ server listen port.
+
+## vhost
+
+ my $vhost = $client->vhost;
+ $client = $client->vhost('/')
+
+RabbitMQ virtual server to user. Default is `/`.
+
+## params
+
+ my $params = $client->params;
+ $client = $client->params(Mojo::Parameters->new('verify=1'))
+
+Sets additional parameters for connection. Default is not defined.
+
+For list of supported parameters see ["SUPPORTED QUERY PARAMETERS"](#supported-query-parameters).
+
## url
my $url = $client->url;
- $client->url('rabbitmq://...');
+ $client = $client->url('amqp://...');
+
+Sets all connection parameters in one string, according to specification from
+[https://www.rabbitmq.com/uri-spec.html](https://www.rabbitmq.com/uri-spec.html).
+
+ amqp_URI = "amqp[s]://" amqp_authority [ "/" vhost ] [ "?" query ]
+
+ amqp_authority = [ amqp_userinfo "@" ] host [ ":" port ]
+
+ amqp_userinfo = username [ ":" password ]
+
+ username = *( unreserved / pct-encoded / sub-delims )
+
+ password = *( unreserved / pct-encoded / sub-delims )
+
+ vhost = segment
## heartbeat\_timeout
my $timeout = $client->heartbeat_timeout;
- $client->heartbeat_timeout(180);
+ $client = $client->heartbeat_timeout(180);
+
+Heartbeats are use to monitor peer reachability in AMQP.
+Default value is `60` seconds, if set to `0` no heartbeats will be sent.
+
+## connect\_timeout
+
+ my $timeout = $client->connect_timeout;
+ $client = $client->connect_timeout(5);
+
+Connection timeout used by [Mojo::IOLoop::Client](https://metacpan.org/pod/Mojo::IOLoop::Client).
+Defaults to environment variable `MOJO_CONNECT_TIMEOUT` or `10` seconds
+if nothing else is set.
+
+## max\_channels
+
+ my $max_channels = $client->max_channels;
+ $client = $client->max_channels(10);
+
+Maximum number of channels allowed to be active. Defaults to `0` which
+means no implicit limit.
+
+When you try to call `add_channel` over limit an `error` will be
+emitted on channel saying that: _Maximum number of channels reached_.
+
+# STATIC METHODS
+
+## consumer
+
+ my $client = Mojo::RabbitMQ::Client->consumer(...)
+
+Shortcut for creating [Mojo::RabbitMQ::Client::Consumer](https://metacpan.org/pod/Mojo::RabbitMQ::….
+
+## publisher
+
+ my $client = Mojo::RabbitMQ::Client->publisher(...)
+
+Shortcut for creating [Mojo::RabbitMQ::Client::Publisher](https://metacpan.org/pod/Mojo::RabbitMQ:….
# METHODS
@@ -172,6 +284,18 @@
$client->close();
+## param
+
+ my $param = $client->param('name');
+ $client = $client->param(name => 'value');
+
+## add\_channel
+
+ my $channel = Mojo::RabbitMQ::Client::Channel->new();
+ ...
+ $channel = $client->add_channel($channel);
+ $channel->open;
+
## open\_channel
my $channel = Mojo::RabbitMQ::Client::Channel->new();
@@ -182,13 +306,57 @@
my $removed = $client->delete_channel($channel->id);
+# SUPPORTED QUERY PARAMETERS
+
+There's no formal specification, nevertheless a list of common parameters
+recognized by officially supported RabbitMQ clients is maintained here:
+[https://www.rabbitmq.com/uri-query-parameters.html](https://www.rabbitmq.com/uri-query-parameters.html).
+
+Some shortcuts are also supported, you'll find them in parenthesis.
+
+Aliases are less significant, so when both are specified only primary
+value will be used.
+
+## cacertfile (_ca_)
+
+Path to Certificate Authority file for TLS.
+
+## certfile (_cert_)
+
+Path to the client certificate file for TLS.
+
+## keyfile (_key_)
+
+Path to the client certificate private key file for TLS.
+
+## fail\_if\_no\_peer\_cert (_verify_)
+
+TLS verification mode, defaults to 0x01 on the client-side if a certificate
+authority file has been provided, or 0x00 otherwise.
+
+## auth\_mechanism
+
+Currently only AMQPLAIN is supported, **so this parameter is ignored**.
+
+## heartbeat
+
+Sets requested heartbeat timeout, just like `heartbeat_timeout` attribute.
+
+## connection\_timeout (_timeout_)
+
+Sets connection timeout - see [connection\_timeout](https://metacpan.org/pod/connection_timeout) attribute.
+
+## channel\_max
+
+Sets maximum number of channels - see [max\_channels](https://metacpan.org/pod/max_channels) attribute.
+
# SEE ALSO
[Mojo::RabbitMQ::Client::Channel](https://metacpan.org/pod/Mojo::RabbitMQ::C…, [Mojo::RabbitMQ::Client::Consumer](https://metacpan.org/pod/Mojo::RabbitMQ::…, [Mojo::RabbitMQ::Client::Publisher](https://metacpan.org/pod/Mojo::RabbitMQ:…
# COPYRIGHT AND LICENSE
-Copyright (C) 2015-2016, Sebastian Podjasek and others
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on [AnyEvent::RabbitMQ](https://metacpan.org/pod/AnyEvent::RabbitMQ) - Copyright (C) 2010 Masahito Ikuta, maintained by `bobtfish(a)bobtfish.net`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/inc/Module/AutoInstall.pm new/Mojo-RabbitMQ-Client-0.0.9/inc/Module/AutoInstall.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/inc/Module/AutoInstall.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/inc/Module/AutoInstall.pm 2017-02-18 12:08:14.000000000 +0100
@@ -8,7 +8,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.0.8';
+ $VERSION = '0.0.9';
}
# special map on pre-defined feature sets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Channel.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Channel.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Channel.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Channel.pm 2017-02-18 12:08:14.000000000 +0100
@@ -1154,7 +1154,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015, Sebastian Podjasek
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on L<AnyEvent::RabbitMQ> - Copyright (C) 2010 Masahito Ikuta, maintained by C<< bobtfish(a)bobtfish.net >>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Consumer.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Consumer.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Consumer.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Consumer.pm 2017-02-18 12:08:14.000000000 +0100
@@ -25,6 +25,8 @@
my $exchange_name = $query->param('exchange');
my $queue_name = $query->param('queue');
+ $self->emit('connect');
+
# Create a new channel with auto-assigned id
my $channel = Mojo::RabbitMQ::Client::Channel->new();
@@ -74,16 +76,26 @@
}
);
- $channel->on(close => sub { warn 'Channel closed' });
+ $channel->on(close => sub { warn 'Channel closed: ' . $_[1]->method_frame->reply_text; });
$client->open_channel($channel);
}
);
+ $client->on('close' => sub { shift; $self->emit('close', @_) });
+
# Start connection
$client->connect;
}
+sub close {
+ my $self = shift;
+
+ if ($self->client) {
+ $self->client->close();
+ }
+}
+
1;
=encoding utf8
@@ -138,7 +150,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015-2016, Sebastian Podjasek and others
+Copyright (C) 2015-2017, Sebastian Podjasek and others
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/LocalQueue.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/LocalQueue.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/LocalQueue.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/LocalQueue.pm 2017-02-18 12:08:14.000000000 +0100
@@ -84,7 +84,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015, Sebastian Podjasek
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on L<AnyEvent::RabbitMQ::LocalQueue> - Copyright (C) 2010 Masahito Ikuta, maintained by C<< bobtfish(a)bobtfish.net >>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Method/Publish.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Method/Publish.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Method/Publish.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Method/Publish.pm 2017-02-18 12:08:14.000000000 +0100
@@ -69,7 +69,7 @@
message_id => undef,
timestamp => time,
type => undef,
- user_id => $self->client->login_user,
+ user_id => $self->client->user,
app_id => undef,
cluster_id => undef,
%{ $args->{header} },
@@ -191,7 +191,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015, Sebastian Podjasek
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on L<AnyEvent::RabbitMQ> - Copyright (C) 2010 Masahito Ikuta, maintained by C<< bobtfish(a)bobtfish.net >>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Method.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Method.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Method.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Method.pm 2017-02-18 12:08:14.000000000 +0100
@@ -139,7 +139,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015, Sebastian Podjasek
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on L<AnyEvent::RabbitMQ> - Copyright (C) 2010 Masahito Ikuta, maintained by C<< bobtfish(a)bobtfish.net >>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Publisher.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Publisher.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client/Publisher.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client/Publisher.pm 2017-02-18 12:08:14.000000000 +0100
@@ -115,7 +115,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015-2016, Sebastian Podjasek and others
+Copyright (C) 2015-2017, Sebastian Podjasek and others
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client.pm new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client.pm
--- old/Mojo-RabbitMQ-Client-0.0.8/lib/Mojo/RabbitMQ/Client.pm 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/lib/Mojo/RabbitMQ/Client.pm 2017-02-18 12:08:14.000000000 +0100
@@ -4,7 +4,10 @@
use Mojo::URL;
use Mojo::Home;
use Mojo::IOLoop;
+use Mojo::Parameters;
+use Mojo::Util qw(url_unescape);
use List::Util qw(none);
+use Scalar::Util qw(blessed);
use File::Basename 'dirname';
use File::ShareDir qw(dist_file);
@@ -16,31 +19,36 @@
use Mojo::RabbitMQ::Client::LocalQueue;
use Mojo::RabbitMQ::Client::Publisher;
-our $VERSION = "0.0.8";
+our $VERSION = "0.0.9";
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
-has is_open => 0;
-has url => undef;
+has is_open => 0;
+has url => undef;
+has tls => sub { shift->_uri_handler('tls') };
+has user => sub { shift->_uri_handler('user') };
+has pass => sub { shift->_uri_handler('pass') };
+has host => sub { shift->_uri_handler('host') };
+has port => sub { shift->_uri_handler('port') };
+has vhost => sub { shift->_uri_handler('vhost') };
+has params => sub { shift->_uri_handler('params') // Mojo::Parameters->new };
has connect_timeout => sub { $ENV{MOJO_CONNECT_TIMEOUT} // 10 };
has heartbeat_timeout => 60;
has heartbeat_received => 0; # When did we receive last heartbeat
has heartbeat_sent => 0; # When did we sent last heartbeat
has ioloop => sub { Mojo::IOLoop->singleton };
has max_buffer_size => 16384;
+has max_channels => 0;
has queue => sub { Mojo::RabbitMQ::Client::LocalQueue->new };
has channels => sub { {} };
-has stream_id => undef;
-has login_user => '';
+has stream_id => undef;
sub connect {
my $self = shift;
$self->{buffer} = '';
- $self->url(Mojo::URL->new($self->url));
-
my $id;
- $id = $self->_connect($self->url, sub { $self->_connected($id, @_) });
+ $id = $self->_connect(sub { $self->_connected($id, @_) });
$self->stream_id($id);
return $id;
@@ -60,6 +68,12 @@
return Mojo::RabbitMQ::Client::Publisher->new(@params);
}
+sub param {
+ my $self = shift;
+ return undef unless defined $self->params;
+ return $self->params->param(@_);
+}
+
sub add_channel {
my $self = shift;
my $channel = shift;
@@ -70,6 +84,12 @@
error => 'Channel with id: ' . $id . ' already defined');
}
+ if ($self->max_channels > 0
+ and scalar keys %{$self->channels} >= $self->max_channels)
+ {
+ return $channel->emit(error => 'Maximum number of channels reached');
+ }
+
if (not $id) {
for my $candidate_id (1 .. (2**16 - 1)) {
next if defined $self->channels->{$candidate_id};
@@ -127,6 +147,78 @@
$self->emit(error => $err);
}
+sub _uri_handler {
+ my $self = shift;
+ my $attr = shift;
+
+ return undef unless defined $self->url;
+
+ $self->url(Mojo::URL->new($self->url))
+ unless blessed $self->url && $self->url->isa('Mojo::URL');
+
+ # Set some defaults
+ my %defaults = (
+ tls => 0,
+ user => undef,
+ pass => undef,
+ host => 'localhost',
+ port => 5672,
+ vhost => '/',
+ params => undef
+ );
+
+ # Check secure scheme in url
+ $defaults{tls} = 1
+ if $self->url->scheme
+ =~ /^(amqp|rabbitmq)s$/; # Fallback support for rabbitmq scheme name
+ $defaults{port} = 5671 if $defaults{tls};
+
+ # Get host & port
+ $defaults{host} = $self->url->host
+ if defined $self->url->host && $self->url->host ne '';
+ $defaults{port} = $self->url->port if defined $self->url->port;
+
+ # Get user & password
+ my $userinfo = $self->url->userinfo;
+ if (defined $userinfo) {
+ my ($user, $pass) = split /:/, $userinfo;
+ $defaults{user} = $user;
+ $defaults{pass} = $pass;
+ }
+
+ my $vhost = url_unescape $self->url->path;
+ $vhost =~ s|^/(.+)$|$1|;
+ $defaults{vhost} = $vhost if defined $vhost && $vhost ne '';
+
+ # Query params
+ my $params = $defaults{params} = $self->url->query;
+
+ # Handle common aliases to internal names
+ my %aliases = (
+ cacertfile => 'ca',
+ certfile => 'cert',
+ keyfile => 'key',
+ fail_if_no_peer_cert => 'verify',
+ connection_timeout => 'timeout'
+ );
+ $params->param($aliases{$_}, $params->param($_))
+ foreach grep { defined $params->param($_) } keys %aliases;
+
+ # Some query parameters are translated to attribute values
+ my %attributes = (
+ heartbeat_timeout => 'heartbeat',
+ connect_timeout => 'timeout',
+ max_channels => 'channel_max'
+ );
+ $self->$_($params->param($attributes{$_}))
+ foreach grep { defined $params->param($attributes{$_}) } keys %attributes;
+
+ # Set all
+ $self->$_($defaults{$_}) foreach keys %defaults;
+
+ return $self->$attr;
+}
+
sub _close {
my $self = shift;
$self->_loop->stream($self->stream_id)->close_gracefully;
@@ -216,22 +308,20 @@
}
sub _connect {
- my ($self, $server, $cb) = @_;
+ my ($self, $cb) = @_;
# Options
# Parse according to (https://www.rabbitmq.com/uri-spec.html)
- my $url = $self->url;
- my $query = $url->query;
my $options = {
- address => $url->host,
- port => $url->port || 5672,
+ address => $self->host,
+ port => $self->port,
timeout => $self->connect_timeout,
- tls => ($url->scheme =~ /^(amqp|rabbitmq)s$/) ? 1 : 0, # Fallback support for rabbitmq
- tls_ca => scalar $query->param('ca'),
- tls_cert => scalar $query->param('cert'),
- tls_key => scalar $query->param('key')
+ tls => $self->tls,
+ tls_ca => scalar $self->param('ca'),
+ tls_cert => scalar $self->param('cert'),
+ tls_key => scalar $self->param('key')
};
- my $verify = $query->param('verify');
+ my $verify = $self->param('verify');
$options->{tls_verify} = hex $verify if defined $verify;
# Connect
@@ -293,9 +383,6 @@
$self->{_server_properties} = $frame->method_frame->server_properties;
- # Get user & password from $url
- my ($user, $pass) = split /:/, $self->url->userinfo;
-
$self->_write_frame(
Net::AMQP::Protocol::Connection::StartOk->new(
client_properties => {
@@ -305,12 +392,11 @@
version => __PACKAGE__->VERSION,
},
mechanism => 'AMQPLAIN',
- response => {LOGIN => $user, PASSWORD => $pass,},
+ response => {LOGIN => $self->user, PASSWORD => $self->pass},
locale => 'en_US',
),
);
- $self->login_user($user);
$self->_tune($id);
},
sub {
@@ -357,7 +443,7 @@
$self->_write_expect(
'Connection::Open' =>
- {virtual_host => $self->url->path, capabilities => '', insist => 1,},
+ {virtual_host => $self->vhost, capabilities => '', insist => 1,},
'Connection::OpenOk' => sub {
$self->is_open(1);
$self->emit('open');
@@ -460,11 +546,11 @@
}
sub DESTROY {
- my $self = shift;
- my $ioloop = $self->ioloop or return;
- my $heartbeat_tid = $self->{heartbeat_tid};
+ my $self = shift;
+ my $ioloop = $self->ioloop or return;
+ my $heartbeat_tid = $self->{heartbeat_tid};
- $ioloop->remove($heartbeat_tid) if $heartbeat_tid;
+ $ioloop->remove($heartbeat_tid) if $heartbeat_tid;
}
1;
@@ -552,6 +638,7 @@
$consumer->channel->ack($message)->deliver;
}
);
+ $consumer->start();
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
@@ -619,15 +706,126 @@
L<Mojo::RabbitMQ::Client> has following attributes.
+=head2 tls
+
+ my $tls = $client->tls;
+ $client = $client->tls(1)
+
+Force secure connection. Default is disabled (C<0>).
+
+=head2 user
+
+ my $user = $client->user;
+ $client = $client->user('guest')
+
+Sets username for authorization, by default it's not defined.
+
+=head2 pass
+
+ my $pass = $client->pass;
+ $client = $client->pass('secret')
+
+Sets user password for authorization, by default it's not defined.
+
+=head2 pass
+
+ my $pass = $client->pass;
+ $client = $client->pass('secret')
+
+Sets user password for authorization, by default it's not defined.
+
+=head2 host
+
+ my $host = $client->host;
+ $client = $client->host('localhost')
+
+Hostname or IP address of RabbitMQ server. Defaults to C<localhost>.
+
+=head2 port
+
+ my $port = $client->port;
+ $client = $client->port(1234)
+
+Port on which RabbitMQ server listens for new connections.
+Defaults to C<5672>, which is standard RabbitMQ server listen port.
+
+=head2 vhost
+
+ my $vhost = $client->vhost;
+ $client = $client->vhost('/')
+
+RabbitMQ virtual server to user. Default is C</>.
+
+=head2 params
+
+ my $params = $client->params;
+ $client = $client->params(Mojo::Parameters->new('verify=1'))
+
+Sets additional parameters for connection. Default is not defined.
+
+For list of supported parameters see L</"SUPPORTED QUERY PARAMETERS">.
+
=head2 url
my $url = $client->url;
- $client->url('rabbitmq://...');
+ $client = $client->url('amqp://...');
+
+Sets all connection parameters in one string, according to specification from
+L<https://www.rabbitmq.com/uri-spec.html>.
+
+ amqp_URI = "amqp[s]://" amqp_authority [ "/" vhost ] [ "?" query ]
+
+ amqp_authority = [ amqp_userinfo "@" ] host [ ":" port ]
+
+ amqp_userinfo = username [ ":" password ]
+
+ username = *( unreserved / pct-encoded / sub-delims )
+
+ password = *( unreserved / pct-encoded / sub-delims )
+
+ vhost = segment
=head2 heartbeat_timeout
my $timeout = $client->heartbeat_timeout;
- $client->heartbeat_timeout(180);
+ $client = $client->heartbeat_timeout(180);
+
+Heartbeats are use to monitor peer reachability in AMQP.
+Default value is C<60> seconds, if set to C<0> no heartbeats will be sent.
+
+=head2 connect_timeout
+
+ my $timeout = $client->connect_timeout;
+ $client = $client->connect_timeout(5);
+
+Connection timeout used by L<Mojo::IOLoop::Client>.
+Defaults to environment variable C<MOJO_CONNECT_TIMEOUT> or C<10> seconds
+if nothing else is set.
+
+=head2 max_channels
+
+ my $max_channels = $client->max_channels;
+ $client = $client->max_channels(10);
+
+Maximum number of channels allowed to be active. Defaults to C<0> which
+means no implicit limit.
+
+When you try to call C<add_channel> over limit an C<error> will be
+emitted on channel saying that: I<Maximum number of channels reached>.
+
+=head1 STATIC METHODS
+
+=head2 consumer
+
+ my $client = Mojo::RabbitMQ::Client->consumer(...)
+
+Shortcut for creating L<Mojo::RabbitMQ::Client::Consumer>.
+
+=head2 publisher
+
+ my $client = Mojo::RabbitMQ::Client->publisher(...)
+
+Shortcut for creating L<Mojo::RabbitMQ::Client::Publisher>.
=head1 METHODS
@@ -644,6 +842,18 @@
$client->close();
+=head2 param
+
+ my $param = $client->param('name');
+ $client = $client->param(name => 'value');
+
+=head2 add_channel
+
+ my $channel = Mojo::RabbitMQ::Client::Channel->new();
+ ...
+ $channel = $client->add_channel($channel);
+ $channel->open;
+
=head2 open_channel
my $channel = Mojo::RabbitMQ::Client::Channel->new();
@@ -654,13 +864,57 @@
my $removed = $client->delete_channel($channel->id);
+=head1 SUPPORTED QUERY PARAMETERS
+
+There's no formal specification, nevertheless a list of common parameters
+recognized by officially supported RabbitMQ clients is maintained here:
+L<https://www.rabbitmq.com/uri-query-parameters.html>.
+
+Some shortcuts are also supported, you'll find them in parenthesis.
+
+Aliases are less significant, so when both are specified only primary
+value will be used.
+
+=head2 cacertfile (I<ca>)
+
+Path to Certificate Authority file for TLS.
+
+=head2 certfile (I<cert>)
+
+Path to the client certificate file for TLS.
+
+=head2 keyfile (I<key>)
+
+Path to the client certificate private key file for TLS.
+
+=head2 fail_if_no_peer_cert (I<verify>)
+
+TLS verification mode, defaults to 0x01 on the client-side if a certificate
+authority file has been provided, or 0x00 otherwise.
+
+=head2 auth_mechanism
+
+Currently only AMQPLAIN is supported, B<so this parameter is ignored>.
+
+=head2 heartbeat
+
+Sets requested heartbeat timeout, just like C<heartbeat_timeout> attribute.
+
+=head2 connection_timeout (I<timeout>)
+
+Sets connection timeout - see L<connection_timeout> attribute.
+
+=head2 channel_max
+
+Sets maximum number of channels - see L<max_channels> attribute.
+
=head1 SEE ALSO
L<Mojo::RabbitMQ::Client::Channel>, L<Mojo::RabbitMQ::Client::Consumer>, L<Mojo::RabbitMQ::Client::Publisher>
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2015-2016, Sebastian Podjasek and others
+Copyright (C) 2015-2017, Sebastian Podjasek and others
Based on L<AnyEvent::RabbitMQ> - Copyright (C) 2010 Masahito Ikuta, maintained by C<< bobtfish(a)bobtfish.net >>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/t/base.t new/Mojo-RabbitMQ-Client-0.0.9/t/base.t
--- old/Mojo-RabbitMQ-Client-0.0.8/t/base.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/t/base.t 2017-02-18 12:08:14.000000000 +0100
@@ -0,0 +1,89 @@
+use strict;
+use Test::More tests => 7;
+
+use_ok 'Mojo::RabbitMQ::Client';
+
+subtest 'attributes' => sub {
+ plan tests => 7;
+
+ my $c = new_ok(
+ 'Mojo::RabbitMQ::Client',
+ [
+ tls => 0,
+ user => 'guest',
+ host => 'remote',
+ port => 16526,
+ vhost => '/some/'
+ ]
+ );
+
+ is($c->user, 'guest', 'user is guest');
+ is($c->pass, undef, 'no password');
+ is($c->host, 'remote', 'host is remote');
+ is($c->port, 16526, 'port is ok');
+ is($c->vhost, '/some/', 'proper vhost name');
+ isa_ok($c->params, 'Mojo::Parameters');
+};
+
+subtest 'query param aliases' => sub {
+ plan tests => 6;
+
+ my $a = new_ok(
+ 'Mojo::RabbitMQ::Client',
+ [
+ url => 'amqp:///?cacertfile=cacert&certfile=cert&keyfile=key'
+ . '&fail_if_no_peer_cert=1&connection_timeout=100'
+ ]
+ );
+
+ is($a->param('ca'), 'cacert', 'cacertfile aliased to ca');
+ is($a->param('cert'), 'cert', 'cerfile aliased to cert');
+ is($a->param('key'), 'key', 'keyfile aliased to key');
+ is($a->param('verify'), '1', 'fail_if_no_peer_cert aliased to verify');
+ is($a->param('timeout'), '100', 'connection_timeout aliased to timeout');
+};
+
+subtest 'query param aliases less significant' => sub {
+ plan tests => 2;
+
+ my $a = new_ok('Mojo::RabbitMQ::Client',
+ [url => 'amqp:///?cacertfile=cacert&ca=ca']);
+
+ is($a->param('ca'), 'cacert', 'should take base value, not alias');
+};
+
+subtest 'attributes from query params' => sub {
+ plan tests => 5;
+
+ my $a = new_ok('Mojo::RabbitMQ::Client',
+ [url => 'amqp://?heartbeat=180&timeout=90&channel_max=1']);
+
+ is($a->host, 'localhost', 'need this to parse url!');
+ is($a->heartbeat_timeout, 180, 'heartbeat timeout set');
+ is($a->connect_timeout, 90, 'connect timeout set');
+ is($a->max_channels, 1, 'max channels set');
+};
+
+subtest 'change default port for amqps scheme' => sub {
+ plan tests => 6;
+
+ my $c = new_ok('Mojo::RabbitMQ::Client', [url => 'amqps://']);
+
+ is($c->user, undef, 'no user');
+ is($c->pass, undef, 'no password');
+ is($c->host, 'localhost', 'default host');
+ is($c->port, 5671, 'changed port');
+ is($c->vhost, '/', 'default vhost');
+};
+
+subtest 'keep specified port for amqps scheme' => sub {
+ plan tests => 6;
+
+ my $c = new_ok('Mojo::RabbitMQ::Client', [url => 'amqps://:15673']);
+
+ is($c->user, undef, 'no user');
+ is($c->pass, undef, 'no password');
+ is($c->host, 'localhost', 'default host');
+ is($c->port, 15673, 'changed port');
+ is($c->vhost, '/', 'default vhost');
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/t/uri.t new/Mojo-RabbitMQ-Client-0.0.9/t/uri.t
--- old/Mojo-RabbitMQ-Client-0.0.8/t/uri.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/t/uri.t 2017-02-18 12:08:14.000000000 +0100
@@ -0,0 +1,53 @@
+use strict;
+use Test::More tests => 79;
+
+my @order = qw(tls user pass host port vhost param);
+my @tests = ();
+
+# Basic tests taken from https://www.rabbitmq.com/uri-spec.html
+push @tests,
+ [
+ 'amqp://user:pass@host:10000/vhost',
+ 0, "user", "pass", "host", "10000", "vhost"
+ ],
+ [
+ 'amqp://user%61:%61pass@ho%61st:10000/v%2fhost',
+ 0, "usera", "apass", "hoast", "10000", "v/host"
+ ],
+ ['amqp://', 0, undef, undef, "localhost", "5672", "/"],
+ ['amqp://:@/', 0, "", "", "localhost", "5672", "/"],
+ ['amqp://user@', 0, "user", undef, "localhost", "5672", "/"],
+ ['amqp://user:pass@', 0, "user", "pass", "localhost", "5672", "/"],
+ ['amqp://host', 0, undef, undef, "host", "5672", "/"],
+ ['amqp://:10000', 0, undef, undef, "localhost", "10000", "/"],
+ ['amqp:///vhost', 0, undef, undef, "localhost", "5672", "vhost"],
+ ['amqp://host/', 0, undef, undef, "host", "5672", "/"],
+ ['amqp://host/%2f', 0, undef, undef, "host", "5672", "/"],
+ ['amqp://host///', 0, undef, undef, "host", "5672", "//"],
+ ['amqp://[::1]', 0, undef, undef, "[::1]", "5672", "/"];
+
+use_ok 'Mojo::RabbitMQ::Client';
+
+foreach my $t (@tests) {
+ my $idx = 0;
+ my $url = shift @$t;
+
+ my $client = Mojo::RabbitMQ::Client->new(url => $url);
+
+ for my $v (@$t) {
+ my $attr = $order[$idx];
+ if (ref($v) eq 'HASH') {
+ foreach my $k (keys %$v) {
+ my $x = $v->{$k};
+ is($client->$attr($k), $x,
+ "expect $attr($k) to be " . ($x // '(undefined)') . " from $url");
+ }
+ }
+ else {
+ is($client->$attr(), $v,
+ "expect $attr to be " . ($v // '(undefined)') . " from $url");
+ }
+
+ $idx++;
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/xt/client.t new/Mojo-RabbitMQ-Client-0.0.9/xt/client.t
--- old/Mojo-RabbitMQ-Client-0.0.8/xt/client.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/xt/client.t 2017-02-18 12:08:14.000000000 +0100
@@ -0,0 +1,9 @@
+use Test::More skip_all => "TODO";
+
+subtest 'max_channels' => sub {
+
+};
+
+subtest 'utf-8 on TLS' => sub {
+
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/xt/consumer.t new/Mojo-RabbitMQ-Client-0.0.9/xt/consumer.t
--- old/Mojo-RabbitMQ-Client-0.0.8/xt/consumer.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/xt/consumer.t 2017-02-18 12:08:14.000000000 +0100
@@ -0,0 +1,122 @@
+use Test::More tests => 10;
+
+BEGIN { use_ok 'Mojo::RabbitMQ::Client' }
+
+sub failure {
+ my ($test, $details) = @_;
+ fail($test);
+ diag("Details: " . $details) if $details;
+ Mojo::IOLoop->stop;
+}
+
+sub handle_error {
+ my $desc = $_[0] // 'Error';
+ return sub {
+ failure($desc, $_[1]->method_frame->reply_text);
+ }
+}
+
+my $run_id = time();
+my $exchange_name = 'mrc_test_' . $run_id;
+my $queue_name = 'mrc_test_queue' . $run_id;
+
+my $url = $ENV{MOJO_RABBITMQ_URL} || 'rabbitmq://guest:guest@127.0.0.1:5672/?exchange=' . $exchange_name . '&queue=' . $queue_name;
+
+Mojo::IOLoop->timer( # Global test timeout
+ 10 => sub {
+ failure('Test timeout');
+ }
+);
+
+my $client = Mojo::RabbitMQ::Client->new(url => $url);
+$client->catch(handle_error('Connection or other server errors'));
+$client->on(
+ open => sub {
+ pass('Client connected');
+
+ my $channel = Mojo::RabbitMQ::Client::Channel->new();
+ $channel->catch(handle_error("Channel error"));
+ $channel->on(close => handle_error("Channel error"));
+ $channel->on(
+ open => sub {
+ pass('Channel opened');
+
+ my $exchange = $channel->declare_exchange(
+ exchange => $exchange_name,
+ type => 'topic',
+ auto_delete => 1,
+ );
+ $exchange->catch(handle_error('Failed to declare exchange'));
+ $exchange->on(
+ success => sub {
+ pass('Exchange declared');
+
+ my $queue = $channel->declare_queue(queue => $queue_name,
+ auto_delete => 1,);
+ $queue->catch(handle_error('Failed to declare queue'));
+ $queue->on(
+ success => sub {
+ pass('Queue declared');
+
+ my $bind = $channel->bind_queue(
+ exchange => $exchange_name,
+ queue => $queue_name,
+ routing_key => $queue_name,
+ );
+ $bind->catch(handle_error('Failed to bind queue'));
+ $bind->on(
+ success => sub {
+ pass('Queue bound');
+
+ my $publish = $channel->publish(
+ exchange => $exchange_name,
+ routing_key => $queue_name,
+ body => 'Test message'
+ );
+ $publish->on(success => sub {
+ pass('Message published');
+ start_consumer();
+ $client->close();
+ });
+ $publish->deliver();
+ }
+ );
+ $bind->deliver();
+ }
+ );
+ $queue->deliver();
+ }
+ );
+ $exchange->deliver();
+ }
+ );
+
+ $client->open_channel($channel);
+ }
+);
+$client->connect();
+
+sub start_consumer {
+ my $consumer = Mojo::RabbitMQ::Client->consumer(
+ url => $url,
+ defaults => {
+ qos => {prefetch_count => 1},
+ queue => {auto_delete => 1},
+ consumer => {no_ack => 0},
+ }
+ );
+
+ $consumer->catch(sub { failure('Consumer: Connection or other server errors') });
+ $consumer->on(connect => sub { pass('Consumer: Connected to server') });
+ $consumer->on(
+ 'message' => sub {
+ my ($consumer, $message) = @_;
+ pass('Consumer: Got message');
+ $consumer->close();
+ }
+ );
+ $consumer->on(close => sub { pass('Consumer: Disconnected'); Mojo::IOLoop->stop });
+ $consumer->start();
+}
+
+Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.0.8/xt/server.t new/Mojo-RabbitMQ-Client-0.0.9/xt/server.t
--- old/Mojo-RabbitMQ-Client-0.0.8/xt/server.t 2017-01-30 13:13:48.000000000 +0100
+++ new/Mojo-RabbitMQ-Client-0.0.9/xt/server.t 2017-02-18 12:08:14.000000000 +0100
@@ -111,7 +111,7 @@
);
$channel->on(close =>
sub { failure('Channel closed', $_[1]->method_frame->reply_text) });
- $channel->catch(sub { failure('Channel not opened') });
+ $channel->catch(sub { failure('Channel error') });
$self->open_channel($channel);
}
[View Less]
1
0
Hello community,
here is the log from the commit of package perl-Mojo-SQLite for openSUSE:Factory checked in at 2017-02-21 13:51:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-SQLite (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-SQLite.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-SQLite"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojo-…
[View More]SQLite/perl-Mojo-SQLite.changes 2017-02-14 00:48:31.661165285 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojo-SQLite.new/perl-Mojo-SQLite.changes 2017-02-21 13:51:46.316349123 +0100
@@ -1,0 +2,10 @@
+Sun Feb 19 07:00:27 UTC 2017 - coolo(a)suse.com
+
+- updated to 2.001
+ see /usr/share/doc/packages/perl-Mojo-SQLite/Changes
+
+ 2.001 2017-02-18 15:36:16 EST
+ - Set name_sep in default SQL::Abstract object to support proper quoting of
+ table and column names.
+
+-------------------------------------------------------------------
Old:
----
Mojo-SQLite-2.000.tar.gz
New:
----
Mojo-SQLite-2.001.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-SQLite.spec ++++++
--- /var/tmp/diff_new_pack.OpJZfw/_old 2017-02-21 13:51:46.744288891 +0100
+++ /var/tmp/diff_new_pack.OpJZfw/_new 2017-02-21 13:51:46.748288329 +0100
@@ -17,14 +17,14 @@
Name: perl-Mojo-SQLite
-Version: 2.000
+Version: 2.001
Release: 0
%define cpan_name Mojo-SQLite
Summary: Tiny Mojolicious Wrapper for Sqlite
License: Artistic-2.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Mojo-SQLite/
-Source0: http://www.cpan.org/authors/id/D/DB/DBOOK/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/D/DB/DBOOK/%{cpan_name}-%{version}.tar…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -132,6 +132,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes CONTRIBUTING.md examples LICENSE README
+%doc Changes CONTRIBUTING.md examples README
+%license LICENSE
%changelog
++++++ Mojo-SQLite-2.000.tar.gz -> Mojo-SQLite-2.001.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/Build.PL new/Mojo-SQLite-2.001/Build.PL
--- old/Mojo-SQLite-2.000/Build.PL 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/Build.PL 2017-02-18 21:36:20.000000000 +0100
@@ -84,7 +84,7 @@
"Dan Book <dbook\(a)cpan.org>"
],
"dist_name" => "Mojo-SQLite",
- "dist_version" => "2.000",
+ "dist_version" => "2.001",
"license" => "artistic_2",
"module_name" => "Mojo::SQLite",
"recursive_test_files" => 1,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/Changes new/Mojo-SQLite-2.001/Changes
--- old/Mojo-SQLite-2.000/Changes 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/Changes 2017-02-18 21:36:20.000000000 +0100
@@ -1,3 +1,7 @@
+2.001 2017-02-18 15:36:16 EST
+ - Set name_sep in default SQL::Abstract object to support proper quoting of
+ table and column names.
+
2.000 2017-02-11 17:03:53 EST
- Add support for generating queries with SQL::Abstract. (based on Mojo::Pg 3.0)
- Add abstract attribute to Mojo::SQLite.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/META.json new/Mojo-SQLite-2.001/META.json
--- old/Mojo-SQLite-2.000/META.json 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/META.json 2017-02-18 21:36:20.000000000 +0100
@@ -66,28 +66,28 @@
"provides" : {
"Mojo::SQLite" : {
"file" : "lib/Mojo/SQLite.pm",
- "version" : "2.000"
+ "version" : "2.001"
},
"Mojo::SQLite::Database" : {
"file" : "lib/Mojo/SQLite/Database.pm",
- "version" : "2.000"
+ "version" : "2.001"
},
"Mojo::SQLite::Migrations" : {
"file" : "lib/Mojo/SQLite/Migrations.pm",
- "version" : "2.000"
+ "version" : "2.001"
},
"Mojo::SQLite::PubSub" : {
"file" : "lib/Mojo/SQLite/PubSub.pm",
- "version" : "2.000",
+ "version" : "2.001",
"x_deprecated" : 1
},
"Mojo::SQLite::Results" : {
"file" : "lib/Mojo/SQLite/Results.pm",
- "version" : "2.000"
+ "version" : "2.001"
},
"Mojo::SQLite::Transaction" : {
"file" : "lib/Mojo/SQLite/Transaction.pm",
- "version" : "2.000"
+ "version" : "2.001"
}
},
"release_status" : "stable",
@@ -103,7 +103,7 @@
},
"x_IRC" : "irc://irc.perl.org/#mojo"
},
- "version" : "2.000",
+ "version" : "2.001",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.024000"
@@ -297,7 +297,7 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "v2.000",
+ "tag" : "v2.001",
"tag_format" : "v%v",
"tag_message" : "v%v"
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/META.yml new/Mojo-SQLite-2.001/META.yml
--- old/Mojo-SQLite-2.000/META.yml 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/META.yml 2017-02-18 21:36:20.000000000 +0100
@@ -26,23 +26,23 @@
provides:
Mojo::SQLite:
file: lib/Mojo/SQLite.pm
- version: '2.000'
+ version: '2.001'
Mojo::SQLite::Database:
file: lib/Mojo/SQLite/Database.pm
- version: '2.000'
+ version: '2.001'
Mojo::SQLite::Migrations:
file: lib/Mojo/SQLite/Migrations.pm
- version: '2.000'
+ version: '2.001'
Mojo::SQLite::PubSub:
file: lib/Mojo/SQLite/PubSub.pm
- version: '2.000'
+ version: '2.001'
x_deprecated: 1
Mojo::SQLite::Results:
file: lib/Mojo/SQLite/Results.pm
- version: '2.000'
+ version: '2.001'
Mojo::SQLite::Transaction:
file: lib/Mojo/SQLite/Transaction.pm
- version: '2.000'
+ version: '2.001'
requires:
Carp: '0'
DBD::SQLite: '1.50'
@@ -61,7 +61,7 @@
bugtracker: https://github.com/Grinnz/Mojo-SQLite/issues
homepage: https://github.com/Grinnz/Mojo-SQLite
repository: https://github.com/Grinnz/Mojo-SQLite.git
-version: '2.000'
+version: '2.001'
x_Dist_Zilla:
perl:
version: '5.024000'
@@ -211,7 +211,7 @@
branch: ~
changelog: Changes
signed: 0
- tag: v2.000
+ tag: v2.001
tag_format: v%v
tag_message: v%v
Dist::Zilla::Role::Git::Repo:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/README new/Mojo-SQLite-2.001/README
--- old/Mojo-SQLite-2.000/README 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/README 2017-02-18 21:36:20.000000000 +0100
@@ -26,26 +26,21 @@
# Use SQL::Abstract to generate simple CRUD queries for you
$db->insert('names', {name => 'Isabel'});
- say $db->select('names', ['id'], {name => 'Isabel'})->hash->{id};
- $db->update('names', {name => 'Bel'}, {name => 'Isabel'});
+ my $id = $db->select('names', ['id'], {name => 'Isabel'})->hash->{id};
+ $db->update('names', {name => 'Bel'}, {id => $id});
$db->delete('names', {name => 'Bel'});
- # Insert a few rows
- $db->query('insert into names (name) values (?)', 'Sara');
- $db->query('insert into names (name) values (?)', 'Stefan');
-
- # Insert more rows in a transaction
+ # Insert a few rows in a transaction with SQL and placeholders
eval {
my $tx = $db->begin;
- $db->query('insert into names (name) values (?)', 'Baerbel');
- $db->query('insert into names (name) values (?)', 'Wolfgang');
+ $db->query('insert into names (name) values (?)', 'Sara');
+ $db->query('insert into names (name) values (?)', 'Stefan');
$tx->commit;
};
say $@ if $@;
- # Insert another row and return the generated id
- say $db->query('insert into names (name) values (?)', 'Daniel')
- ->last_insert_id;
+ # Insert another row with SQL::Abstract and return the generated id
+ say $db->insert('names', {name => 'Daniel'})->last_insert_id;
# JSON roundtrip
say $db->query('select ? as foo', {json => {bar => 'baz'}})
@@ -57,8 +52,8 @@
say $next->{name};
}
- # Select all rows
- say $_->{name} for $db->query('select * from names')->hashes->each;
+ # Select all rows with SQL::Abstract
+ say $_->{name} for $db->select('names')->hashes->each;
DESCRIPTION
@@ -163,9 +158,11 @@
$sql = $sql->abstract(SQL::Abstract->new);
SQL::Abstract object used to generate CRUD queries for
- Mojo::SQLite::Database.
+ Mojo::SQLite::Database, defaults to setting name_sep to . and
+ quote_char to ".
- my($stmt, @bind) = $sql->abstract->select('names');
+ # Generate WHERE clause and bind values
+ my($stmt, @bind) = $sql->abstract->where({foo => 'bar', baz => 'yada'});
auto_migrate
@@ -251,11 +248,12 @@
my $db = $sql->db;
- Get a database object based on "database_class" for a cached or newly
- established database connection. The DBD::SQLite database handle will
- be automatically cached again when that object is destroyed, so you can
- handle problems like connection timeouts gracefully by holding on to it
- only for short amounts of time.
+ Get a database object based on "database_class" (which is usually
+ Mojo::SQLite::Database) for a cached or newly established database
+ connection. The DBD::SQLite database handle will be automatically
+ cached again when that object is destroyed, so you can handle problems
+ like connection timeouts gracefully by holding on to it only for short
+ amounts of time.
# Add up all the money
say $sql->db->select('accounts')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/examples/blog/lib/Blog.pm new/Mojo-SQLite-2.001/examples/blog/lib/Blog.pm
--- old/Mojo-SQLite-2.000/examples/blog/lib/Blog.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/examples/blog/lib/Blog.pm 2017-02-18 21:36:20.000000000 +0100
@@ -18,7 +18,7 @@
# Migrate to latest version if necessary
my $path = $self->home->child('migrations', 'blog.sql');
- $self->sqlite->migrations->name('blog')->from_file($path)->migrate;
+ $self->sqlite->auto_migrate(1)->migrations->name('blog')->from_file($path);
# Controller
my $r = $self->routes;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Database.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Database.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Database.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Database.pm 2017-02-18 21:36:20.000000000 +0100
@@ -10,7 +10,7 @@
use Mojo::Util qw(deprecated monkey_patch);
use Scalar::Util 'weaken';
-our $VERSION = '2.000';
+our $VERSION = '2.001';
our @CARP_NOT = qw(Mojo::SQLite::Migrations);
@@ -24,7 +24,7 @@
has results_class => 'Mojo::SQLite::Results';
for my $name (qw(delete insert select update)) {
- monkey_patch __PACKAGE__, lc $name, sub {
+ monkey_patch __PACKAGE__, $name, sub {
my ($self, @cb) = (shift, ref $_[-1] eq 'CODE' ? pop : ());
return $self->query($self->sqlite->abstract->$name(@_), @cb);
};
@@ -393,6 +393,18 @@
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
+Use all the same argument variations you would pass to the C<delete> method of
+L<SQL::Abstract>.
+
+ # "delete from some_table"
+ $db->delete('some_table');
+
+ # "delete from some_table where foo = 'bar'"
+ $db->delete('some_table', {foo => 'bar'});
+
+ # "delete from some_table where foo like '%test%'"
+ $db->delete('some_table', {foo => {-like => '%test%'}});
+
=head2 disconnect
$db->disconnect;
@@ -414,6 +426,12 @@
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
+Use all the same argument variations you would pass to the C<insert> method of
+L<SQL::Abstract>.
+
+ # "insert into some_table (foo, baz) values ('bar', 'yada')"
+ $db->insert('some_table', {foo => 'bar', baz => 'yada'});
+
=head2 is_listening
This method is L<DEPRECATED|Mojo::SQLite::PubSub/"DESCRIPTION">.
@@ -440,11 +458,12 @@
my $results = $db->query('select ? as foo', {json => {bar => 'baz'}});
Execute a blocking L<SQL|http://www.postgresql.org/docs/current/static/sql.html>
-statement and return a results object based on L</"results_class"> with the
-query results. The L<DBD::SQLite> statement handle will be automatically reused
-when it is not active anymore, to increase the performance of future queries.
-You can also append a callback for API compatibility with L<Mojo::Pg>; the
-query is still executed in a blocking manner.
+statement and return a results object based on L</"results_class"> (which is
+usually L<Mojo::SQLite::Results>) with the query results. The L<DBD::SQLite>
+statement handle will be automatically reused when it is not active anymore, to
+increase the performance of future queries. You can also append a callback for
+API compatibility with L<Mojo::Pg>; the query is still executed in a blocking
+manner.
$db->query('insert into foo values (?, ?, ?)' => @values => sub {
my ($db, $err, $results) = @_;
@@ -480,6 +499,24 @@
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
+Use all the same argument variations you would pass to the C<select> method of
+L<SQL::Abstract>.
+
+ # "select * from some_table"
+ $db->select('some_table');
+
+ # "select id, foo from some_table"
+ $db->select('some_table', ['id', 'foo']);
+
+ # "select * from some_table where foo = 'bar'"
+ $db->select('some_table', undef, {foo => 'bar'});
+
+ # "select * from some_table where foo = 'bar' order by id desc"
+ $db->select('some_table', undef, {foo => 'bar'}, {-desc => 'id'});
+
+ # "select * from some_table where foo like '%test%'"
+ $db->select('some_table', undef, {foo => {-like => '%test%'}});
+
=head2 tables
my $tables = $db->tables;
@@ -512,6 +549,15 @@
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
+Use all the same argument variations you would pass to the C<update> method of
+L<SQL::Abstract>.
+
+ # "update some_table set foo = 'bar' where id = 23"
+ $db->update('some_table', {foo => 'bar'}, {id => 23});
+
+ # "update some_table set foo = 'bar' where foo like '%test%'"
+ $db->update('some_table', {foo => 'bar'}, {foo => {-like => '%test%'}});
+
=head1 BUGS
Report any issues on the public bugtracker.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Migrations.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Migrations.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Migrations.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Migrations.pm 2017-02-18 21:36:20.000000000 +0100
@@ -8,7 +8,7 @@
use constant DEBUG => $ENV{MOJO_MIGRATIONS_DEBUG} || 0;
-our $VERSION = '2.000';
+our $VERSION = '2.001';
has name => 'migrations';
has 'sqlite';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite/PubSub.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite/PubSub.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite/PubSub.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite/PubSub.pm 2017-02-18 21:36:20.000000000 +0100
@@ -5,7 +5,7 @@
use Mojo::Util 'deprecated';
use Scalar::Util 'weaken';
-our $VERSION = '2.000';
+our $VERSION = '2.001';
has [qw(poll_interval sqlite)];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Results.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Results.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Results.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Results.pm 2017-02-18 21:36:20.000000000 +0100
@@ -5,7 +5,7 @@
use Mojo::JSON 'from_json';
use Mojo::Util 'tablify';
-our $VERSION = '2.000';
+our $VERSION = '2.001';
has 'sth';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Transaction.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Transaction.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite/Transaction.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite/Transaction.pm 2017-02-18 21:36:20.000000000 +0100
@@ -3,7 +3,7 @@
use Carp 'croak';
-our $VERSION = '2.000';
+our $VERSION = '2.001';
has 'db';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/lib/Mojo/SQLite.pm new/Mojo-SQLite-2.001/lib/Mojo/SQLite.pm
--- old/Mojo-SQLite-2.000/lib/Mojo/SQLite.pm 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/lib/Mojo/SQLite.pm 2017-02-18 21:36:20.000000000 +0100
@@ -14,9 +14,9 @@
use URI;
use URI::db;
-our $VERSION = '2.000';
+our $VERSION = '2.001';
-has abstract => sub { SQL::Abstract->new(quote_char => '"') };
+has abstract => sub { SQL::Abstract->new(name_sep => '.', quote_char => '"') };
has 'auto_migrate';
has database_class => 'Mojo::SQLite::Database';
has dsn => sub { _url_from_file(shift->_tempfile)->dbi_dsn };
@@ -148,26 +148,21 @@
# Use SQL::Abstract to generate simple CRUD queries for you
$db->insert('names', {name => 'Isabel'});
- say $db->select('names', ['id'], {name => 'Isabel'})->hash->{id};
- $db->update('names', {name => 'Bel'}, {name => 'Isabel'});
+ my $id = $db->select('names', ['id'], {name => 'Isabel'})->hash->{id};
+ $db->update('names', {name => 'Bel'}, {id => $id});
$db->delete('names', {name => 'Bel'});
- # Insert a few rows
- $db->query('insert into names (name) values (?)', 'Sara');
- $db->query('insert into names (name) values (?)', 'Stefan');
-
- # Insert more rows in a transaction
+ # Insert a few rows in a transaction with SQL and placeholders
eval {
my $tx = $db->begin;
- $db->query('insert into names (name) values (?)', 'Baerbel');
- $db->query('insert into names (name) values (?)', 'Wolfgang');
+ $db->query('insert into names (name) values (?)', 'Sara');
+ $db->query('insert into names (name) values (?)', 'Stefan');
$tx->commit;
};
say $@ if $@;
- # Insert another row and return the generated id
- say $db->query('insert into names (name) values (?)', 'Daniel')
- ->last_insert_id;
+ # Insert another row with SQL::Abstract and return the generated id
+ say $db->insert('names', {name => 'Daniel'})->last_insert_id;
# JSON roundtrip
say $db->query('select ? as foo', {json => {bar => 'baz'}})
@@ -179,8 +174,8 @@
say $next->{name};
}
- # Select all rows
- say $_->{name} for $db->query('select * from names')->hashes->each;
+ # Select all rows with SQL::Abstract
+ say $_->{name} for $db->select('names')->hashes->each;
=head1 DESCRIPTION
@@ -280,9 +275,11 @@
$sql = $sql->abstract(SQL::Abstract->new);
L<SQL::Abstract> object used to generate CRUD queries for
-L<Mojo::SQLite::Database>.
+L<Mojo::SQLite::Database>, defaults to setting C<name_sep> to C<.> and
+C<quote_char> to C<">.
- my($stmt, @bind) = $sql->abstract->select('names');
+ # Generate WHERE clause and bind values
+ my($stmt, @bind) = $sql->abstract->where({foo => 'bar', baz => 'yada'});
=head2 auto_migrate
@@ -369,11 +366,11 @@
my $db = $sql->db;
-Get a database object based on L</"database_class"> for a cached or newly
-established database connection. The L<DBD::SQLite> database handle will be
-automatically cached again when that object is destroyed, so you can handle
-problems like connection timeouts gracefully by holding on to it only for short
-amounts of time.
+Get a database object based on L</"database_class"> (which is usually
+L<Mojo::SQLite::Database>) for a cached or newly established database
+connection. The L<DBD::SQLite> database handle will be automatically cached
+again when that object is destroyed, so you can handle problems like connection
+timeouts gracefully by holding on to it only for short amounts of time.
# Add up all the money
say $sql->db->select('accounts')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-SQLite-2.000/t/crud.t new/Mojo-SQLite-2.001/t/crud.t
--- old/Mojo-SQLite-2.000/t/crud.t 2017-02-11 23:03:56.000000000 +0100
+++ new/Mojo-SQLite-2.001/t/crud.t 2017-02-18 21:36:20.000000000 +0100
@@ -62,6 +62,19 @@
->hashes->to_array, [{id => 2, name => 'bar'}], 'right structure';
$db->delete('crud_test');
is_deeply $db->select('crud_test')->hashes->to_array, [], 'right structure';
+
+ # Quoting
+ $db->query(
+ 'create table if not exists crud_test2 (
+ id integer primary key autoincrement,
+ "t e s t" text
+ )'
+ );
+ $db->insert('crud_test2', {'t e s t' => 'foo'});
+ $db->insert('main.crud_test2', {'t e s t' => 'bar'});
+ is_deeply $db->select('main.crud_test2')->hashes->to_array,
+ [{id => 1, 't e s t' => 'foo'}, {id => 2, 't e s t' => 'bar'}],
+ 'right structure';
}
done_testing();
[View Less]
1
0
Hello community,
here is the log from the commit of package perl-Mouse for openSUSE:Factory checked in at 2017-02-21 13:51:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mouse (Old)
and /work/SRC/openSUSE:Factory/.perl-Mouse.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mouse"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mouse/perl-Mouse.changes 2017-01-…
[View More]18 21:43:26.626689744 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mouse.new/perl-Mouse.changes 2017-02-21 13:51:44.672580479 +0100
@@ -1,0 +2,9 @@
+Fri Feb 17 06:56:01 UTC 2017 - coolo(a)suse.com
+
+- updated to 2.4.8
+ see /usr/share/doc/packages/perl-Mouse/Changes
+
+ v2.4.8 2017-02-16T08:45:28Z
+ - Fix stack collapse(#71)
+
+-------------------------------------------------------------------
Old:
----
Mouse-v2.4.7.tar.gz
New:
----
Mouse-v2.4.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mouse.spec ++++++
--- /var/tmp/diff_new_pack.jkqk9s/_old 2017-02-21 13:51:45.232501672 +0100
+++ /var/tmp/diff_new_pack.jkqk9s/_new 2017-02-21 13:51:45.236501109 +0100
@@ -17,14 +17,14 @@
Name: perl-Mouse
-Version: 2.4.7
+Version: 2.4.8
Release: 0
%define cpan_name Mouse
Summary: Moose minus the antlers
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Mouse/
-Source0: http://www.cpan.org/authors/id/S/SY/SYOHEX/%{cpan_name}-v%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/S/SY/SYOHEX/%{cpan_name}-v%{version}.t…
Source1: cpanspec.yml
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
@@ -75,6 +75,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes example LICENSE minil.toml README.md
+%doc Changes example minil.toml README.md
+%license LICENSE
%changelog
++++++ Mouse-v2.4.7.tar.gz -> Mouse-v2.4.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/Changes new/Mouse-v2.4.8/Changes
--- old/Mouse-v2.4.7/Changes 2017-01-14 14:46:08.000000000 +0100
+++ new/Mouse-v2.4.8/Changes 2017-02-16 09:45:33.000000000 +0100
@@ -1,5 +1,8 @@
Revision history for Mouse
+v2.4.8 2017-02-16T08:45:28Z
+ - Fix stack collapse(#71)
+
v2.4.7 2017-01-14T13:46:04Z
- Workaround for issue #64(#67)
In some case stack is corrupted at more than 23 attributes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/MANIFEST new/Mouse-v2.4.8/MANIFEST
--- old/Mouse-v2.4.7/MANIFEST 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/MANIFEST 2017-02-16 09:45:34.000000000 +0100
@@ -352,6 +352,7 @@
t/900_mouse_bugs/019_issue64/Bar.pm
t/900_mouse_bugs/019_issue64/Foo.pm
t/900_mouse_bugs/019_issue64/Holder.pm
+t/900_mouse_bugs/020_stack_collapse_on_build.t
t/900_mouse_bugs/RT75093.t
t/990_deprecated/001-export_to_level.t
t/lib/Bar.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/META.json new/Mouse-v2.4.8/META.json
--- old/Mouse-v2.4.7/META.json 2017-01-14 14:46:08.000000000 +0100
+++ new/Mouse-v2.4.8/META.json 2017-02-16 09:45:33.000000000 +0100
@@ -76,7 +76,7 @@
"provides" : {
"Mouse" : {
"file" : "lib/Mouse.pm",
- "version" : "v2.4.7"
+ "version" : "v2.4.8"
},
"Mouse::Exporter" : {
"file" : "lib/Mouse/Exporter.pm"
@@ -112,7 +112,7 @@
"file" : "lib/Mouse/Meta/Role/Application.pm"
},
"Mouse::Meta::Role::Application::RoleSummation" : {
- "file" : "lib/Mouse/Meta/Role/Composite.pm"
+ "file" : "lib/Mouse/Tiny.pm"
},
"Mouse::Meta::Role::Composite" : {
"file" : "lib/Mouse/Meta/Role/Composite.pm"
@@ -131,18 +131,22 @@
},
"Mouse::Role" : {
"file" : "lib/Mouse/Role.pm",
- "version" : "v2.4.7"
+ "version" : "v2.4.8"
},
"Mouse::Spec" : {
"file" : "lib/Mouse/Spec.pm",
- "version" : "v2.4.7"
+ "version" : "v2.4.8"
+ },
+ "Mouse::Tiny" : {
+ "file" : "lib/Mouse/Tiny.pm",
+ "version" : "v2.4.8"
},
"Mouse::TypeRegistry" : {
"file" : "lib/Mouse/TypeRegistry.pm"
},
"Mouse::Util" : {
"file" : "lib/Mouse/Util.pm",
- "version" : "v2.4.7"
+ "version" : "v2.4.8"
},
"Mouse::Util::MetaRole" : {
"file" : "lib/Mouse/Util/MetaRole.pm"
@@ -174,7 +178,7 @@
"web" : "https://github.com/gfx/p5-Mouse"
}
},
- "version" : "v2.4.7",
+ "version" : "v2.4.8",
"x_contributors" : [
"Ricardo SIGNES <rjbs(a)cpan.org>",
"大沢 和宏 <yappo(a)shibuya.pl>",
@@ -217,6 +221,7 @@
"Luca Ferrari <fluca1978(a)gmail.com>",
"Alex Solovey <a.solovey(a)gmail.com>",
"Boutros Lab User <blabuser(a)oicr.on.ca>",
+ "Eiichi Tsukata <devel(a)etsukata.com>",
"Syohei YOSHIDA <syohex(a)gmail.com>"
],
"x_serialization_backend" : "JSON::PP version 2.27400"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/META.yml new/Mouse-v2.4.8/META.yml
--- old/Mouse-v2.4.7/META.yml 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/META.yml 2017-02-16 09:45:34.000000000 +0100
@@ -34,7 +34,7 @@
provides:
Mouse:
file: lib/Mouse.pm
- version: v2.4.7
+ version: v2.4.8
Mouse::Exporter:
file: lib/Mouse/Exporter.pm
Mouse::Meta::Attribute:
@@ -58,7 +58,7 @@
Mouse::Meta::Role::Application:
file: lib/Mouse/Meta/Role/Application.pm
Mouse::Meta::Role::Application::RoleSummation:
- file: lib/Mouse/Meta/Role/Composite.pm
+ file: lib/Mouse/Tiny.pm
Mouse::Meta::Role::Composite:
file: lib/Mouse/Meta/Role/Composite.pm
Mouse::Meta::Role::Method:
@@ -71,15 +71,18 @@
file: lib/Mouse/PurePerl.pm
Mouse::Role:
file: lib/Mouse/Role.pm
- version: v2.4.7
+ version: v2.4.8
Mouse::Spec:
file: lib/Mouse/Spec.pm
- version: v2.4.7
+ version: v2.4.8
+ Mouse::Tiny:
+ file: lib/Mouse/Tiny.pm
+ version: v2.4.8
Mouse::TypeRegistry:
file: lib/Mouse/TypeRegistry.pm
Mouse::Util:
file: lib/Mouse/Util.pm
- version: v2.4.7
+ version: v2.4.8
Mouse::Util::MetaRole:
file: lib/Mouse/Util/MetaRole.pm
Mouse::Util::TypeConstraints:
@@ -100,7 +103,7 @@
bugtracker: https://github.com/gfx/p5-Mouse/issues
homepage: https://github.com/gfx/p5-Mouse
repository: git://github.com/gfx/p5-Mouse.git
-version: v2.4.7
+version: v2.4.8
x_contributors:
- 'Ricardo SIGNES <rjbs(a)cpan.org>'
- '大沢 和宏 <yappo(a)shibuya.pl>'
@@ -143,5 +146,6 @@
- 'Luca Ferrari <fluca1978(a)gmail.com>'
- 'Alex Solovey <a.solovey(a)gmail.com>'
- 'Boutros Lab User <blabuser(a)oicr.on.ca>'
+ - 'Eiichi Tsukata <devel(a)etsukata.com>'
- 'Syohei YOSHIDA <syohex(a)gmail.com>'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/README.md new/Mouse-v2.4.8/README.md
--- old/Mouse-v2.4.7/README.md 2017-01-14 14:46:08.000000000 +0100
+++ new/Mouse-v2.4.8/README.md 2017-02-16 09:45:33.000000000 +0100
@@ -5,7 +5,7 @@
# VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
# SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Exporter.pm new/Mouse-v2.4.8/lib/Mouse/Exporter.pm
--- old/Mouse-v2.4.7/lib/Mouse/Exporter.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Exporter.pm 2017-02-16 09:45:33.000000000 +0100
@@ -254,7 +254,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Attribute.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Attribute.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Attribute.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Attribute.pm 2017-02-16 09:45:33.000000000 +0100
@@ -349,7 +349,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Class.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Class.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Class.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Class.pm 2017-02-16 09:45:33.000000000 +0100
@@ -480,7 +480,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Accessor.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Accessor.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Accessor.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Accessor.pm 2017-02-16 09:45:33.000000000 +0100
@@ -188,7 +188,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Constructor.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Constructor.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Constructor.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Constructor.pm 2017-02-16 09:45:33.000000000 +0100
@@ -233,7 +233,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Delegation.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Delegation.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Delegation.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Delegation.pm 2017-02-16 09:45:33.000000000 +0100
@@ -61,7 +61,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Destructor.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Destructor.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Method/Destructor.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Method/Destructor.pm 2017-02-16 09:45:33.000000000 +0100
@@ -65,7 +65,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Method.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Method.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Method.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Method.pm 2017-02-16 09:45:33.000000000 +0100
@@ -54,7 +54,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Module.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Module.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Module.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Module.pm 2017-02-16 09:45:33.000000000 +0100
@@ -311,7 +311,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Application.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Application.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Application.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Application.pm 2017-02-16 09:45:33.000000000 +0100
@@ -210,7 +210,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Composite.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Composite.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Composite.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Composite.pm 2017-02-16 09:45:33.000000000 +0100
@@ -185,7 +185,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Method.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Method.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Role/Method.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Role/Method.pm 2017-02-16 09:45:33.000000000 +0100
@@ -23,7 +23,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/Role.pm new/Mouse-v2.4.8/lib/Mouse/Meta/Role.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/Role.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/Role.pm 2017-02-16 09:45:33.000000000 +0100
@@ -131,7 +131,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Meta/TypeConstraint.pm new/Mouse-v2.4.8/lib/Mouse/Meta/TypeConstraint.pm
--- old/Mouse-v2.4.7/lib/Mouse/Meta/TypeConstraint.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Meta/TypeConstraint.pm 2017-02-16 09:45:33.000000000 +0100
@@ -274,7 +274,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Object.pm new/Mouse-v2.4.8/lib/Mouse/Object.pm
--- old/Mouse-v2.4.7/lib/Mouse/Object.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Object.pm 2017-02-16 09:45:33.000000000 +0100
@@ -16,7 +16,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 METHODS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/PurePerl.pm new/Mouse-v2.4.8/lib/Mouse/PurePerl.pm
--- old/Mouse-v2.4.7/lib/Mouse/PurePerl.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/PurePerl.pm 2017-02-16 09:45:33.000000000 +0100
@@ -755,7 +755,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Role.pm new/Mouse-v2.4.8/lib/Mouse/Role.pm
--- old/Mouse-v2.4.7/lib/Mouse/Role.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Role.pm 2017-02-16 09:45:33.000000000 +0100
@@ -1,7 +1,7 @@
package Mouse::Role;
use Mouse::Exporter; # enables strict and warnings
-our $VERSION = 'v2.4.7';
+our $VERSION = 'v2.4.8';
use Carp ();
use Scalar::Util ();
@@ -137,7 +137,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Spec.pm new/Mouse-v2.4.8/lib/Mouse/Spec.pm
--- old/Mouse-v2.4.7/lib/Mouse/Spec.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Spec.pm 2017-02-16 09:45:33.000000000 +0100
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = 'v2.4.7';
+our $VERSION = 'v2.4.8';
our $MouseVersion = $VERSION;
our $MooseVersion = '1.13';
@@ -19,7 +19,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Util/TypeConstraints.pm new/Mouse-v2.4.8/lib/Mouse/Util/TypeConstraints.pm
--- old/Mouse-v2.4.7/lib/Mouse/Util/TypeConstraints.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Util/TypeConstraints.pm 2017-02-16 09:45:33.000000000 +0100
@@ -437,7 +437,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head2 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse/Util.pm new/Mouse-v2.4.8/lib/Mouse/Util.pm
--- old/Mouse-v2.4.7/lib/Mouse/Util.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse/Util.pm 2017-02-16 09:45:33.000000000 +0100
@@ -50,7 +50,7 @@
},
);
- our $VERSION = 'v2.4.7';
+ our $VERSION = 'v2.4.8';
my $xs = !(defined(&is_valid_class_name) || $ENV{MOUSE_PUREPERL} || $ENV{PERL_ONLY});
@@ -414,7 +414,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/lib/Mouse.pm new/Mouse-v2.4.8/lib/Mouse.pm
--- old/Mouse-v2.4.7/lib/Mouse.pm 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/lib/Mouse.pm 2017-02-16 09:45:33.000000000 +0100
@@ -3,7 +3,7 @@
use Mouse::Exporter; # enables strict and warnings
-our $VERSION = 'v2.4.7';
+our $VERSION = 'v2.4.8';
use Carp ();
use Scalar::Util ();
@@ -155,7 +155,7 @@
=head1 VERSION
-This document describes Mouse version v2.4.7
+This document describes Mouse version v2.4.8
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/minil.toml new/Mouse-v2.4.8/minil.toml
--- old/Mouse-v2.4.7/minil.toml 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/minil.toml 2017-02-16 09:45:33.000000000 +0100
@@ -1,6 +1,7 @@
name = "Mouse"
badges = ["travis"]
allow_pureperl=1
+module_maker = "ModuleBuild"
[build]
build_class = "builder::MyBuilder"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/t/900_mouse_bugs/020_stack_collapse_on_build.t new/Mouse-v2.4.8/t/900_mouse_bugs/020_stack_collapse_on_build.t
--- old/Mouse-v2.4.7/t/900_mouse_bugs/020_stack_collapse_on_build.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mouse-v2.4.8/t/900_mouse_bugs/020_stack_collapse_on_build.t 2017-02-16 09:45:34.000000000 +0100
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+use Test::More;
+
+{
+ package My::Parent;
+ use Mouse;
+ sub BUILD {}
+}
+{
+ package My::ChildA;
+ use Mouse;
+ extends 'My::Parent';
+ sub BUILD {}
+}
+{
+ package My::ChildB;
+ use Mouse;
+ extends 'My::ChildA';
+ sub BUILD {}
+}
+
+sub fac {
+ my $num = $_[0];
+ if ($num == 1) {
+ My::ChildB->new();
+ return 1;
+ } else {
+ $num * fac($num - 1);
+ }
+}
+
+is fac(2), 2;
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-v2.4.7/xs-src/Mouse.xs new/Mouse-v2.4.8/xs-src/Mouse.xs
--- old/Mouse-v2.4.7/xs-src/Mouse.xs 2017-01-14 14:46:09.000000000 +0100
+++ new/Mouse-v2.4.8/xs-src/Mouse.xs 2017-02-16 09:45:34.000000000 +0100
@@ -394,12 +394,7 @@
PUSHs(args);
PUTBACK;
- call_sv_safe(AvARRAY(buildall)[i], G_VOID);
-
- /* discard a scalar which G_VOID returns */
- SPAGAIN;
- (void)POPs;
- PUTBACK;
+ call_sv_safe(AvARRAY(buildall)[i], G_VOID | G_DISCARD);
}
}
@@ -799,12 +794,7 @@
PUSHs(in_global_destruction);
PUTBACK;
- call_sv(AvARRAY(demolishall)[i], G_VOID | G_EVAL);
-
- /* discard a scalar which G_VOID returns */
- SPAGAIN;
- (void)POPs;
- PUTBACK;
+ call_sv(AvARRAY(demolishall)[i], G_VOID | G_EVAL | G_DISCARD);
if(sv_true(ERRSV)){
SV* const e = sv_mortalcopy(ERRSV);
[View Less]
1
0
Hello community,
here is the log from the commit of package mozjs38 for openSUSE:Factory checked in at 2017-02-21 13:51:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mozjs38 (Old)
and /work/SRC/openSUSE:Factory/.mozjs38.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mozjs38"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mozjs38/mozjs38.changes 2016-08-24 10:09:08.…
[View More]000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mozjs38.new/mozjs38.changes 2017-02-21 13:51:43.508744287 +0100
@@ -1,0 +2,10 @@
+Mon Feb 20 13:28:16 UTC 2017 - wr(a)rosenauer.org
+
+- change pkg-config name from js to mozjs-38
+
+-------------------------------------------------------------------
+Sun Feb 19 18:42:11 UTC 2017 - wr(a)rosenauer.org
+
+- fix configure with for sed >= 4.3 (boo#1020631) (mozilla-sed43.patch)
+
+-------------------------------------------------------------------
New:
----
mozilla-sed43.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mozjs38.spec ++++++
--- /var/tmp/diff_new_pack.AUGzzk/_old 2017-02-21 13:51:44.372622698 +0100
+++ /var/tmp/diff_new_pack.AUGzzk/_new 2017-02-21 13:51:44.376622135 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mozjs38
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# 2014 Wolfgang Rosenauer
#
# All modifications and additions to the file contributed by third parties
@@ -33,6 +33,7 @@
Patch2: mozjs38_missing_python_before_milestone_call.patch
Patch3: mozjs38_avoid_strncat_warning_inline.patch
Patch4: mozjs-support-48bit-va.patch
+Patch5: mozilla-sed43.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf213
BuildRequires: gcc-c++
@@ -76,6 +77,7 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
# Remove zlib directory (to be sure using system version)
rm -rf ../../modules/zlib
@@ -102,6 +104,7 @@
# headers are installed with executable permissions
find %{buildroot}%{_includedir}/mozjs-%{major}/ -type f -print | xargs chmod 644
chmod 644 %{buildroot}%{_libdir}/pkgconfig/*
+mv %{buildroot}%{_libdir}/pkgconfig/js.pc %{buildroot}%{_libdir}/pkgconfig/mozjs-%{major}.pc
# Install files, not symlinks to build directory
pushd %{buildroot}%{_includedir}
++++++ mozilla-sed43.patch ++++++
>From 66fc64a75617ffc68f16780f60e39c1f368dfd41 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel(a)haxx.se>
Date: Mon, 9 Jan 2017 14:37:33 +0100
Subject: [PATCH] bug 1329272: add bracket for sed 4.3 compliance, r=glandium
---
build/autoconf/icu.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
index 4f46345f435a..794ddcdf4e52 100644
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -67,11 +67,11 @@ if test -n "$USE_ICU"; then
if test ! -d "$icudir"; then
AC_MSG_ERROR([Cannot find the ICU directory])
fi
fi
- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
if test x"$version" = x; then
AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
fi
MOZ_ICU_VERSION="$version"
--
2.11.0
[View Less]
1
0
Hello community,
here is the log from the commit of package naev for openSUSE:Factory checked in at 2017-02-21 13:51:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/naev (Old)
and /work/SRC/openSUSE:Factory/.naev.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "naev"
Changes:
--------
--- /work/SRC/openSUSE:Factory/naev/naev.changes 2017-01-25 23:20:19.342040540 +0100
+++ /…
[View More]work/SRC/openSUSE:Factory/.naev.new/naev.changes 2017-02-21 13:51:19.136174640 +0100
@@ -1,0 +2,7 @@
+Sat Feb 18 13:28:13 UTC 2017 - mailaender(a)opensuse.org
+
+- Validate through https://en.opensuse.org/SourceUrls
+- Use upstream supplied make install rules, desktop shortcut and icon
+- Install AppData for https://en.opensuse.org/openSUSE:AppStore
+
+-------------------------------------------------------------------
Old:
----
naev.desktop
naev.png
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ naev.spec ++++++
--- /var/tmp/diff_new_pack.Iy4guy/_old 2017-02-21 13:51:41.189070775 +0100
+++ /var/tmp/diff_new_pack.Iy4guy/_new 2017-02-21 13:51:41.193070212 +0100
@@ -1,7 +1,7 @@
#
# spec file for package naev
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,10 +23,8 @@
License: GPL-3.0
Group: Amusements/Games/Action/Other
Url: http://naev.org/
-Source: %{name}-%{version}.tar.bz2
-Source1: ndata-%{version}.zip
-Source2: %{name}.png
-Source3: %{name}.desktop
+Source0: http://downloads.sourceforge.net/naev/%{name}-%{version}/%{name}-%{version}…
+Source1: http://downloads.sourceforge.net/naev/%{name}-%{version}/ndata-%{version}.z…
BuildRequires: SDL2-devel
BuildRequires: freetype2-devel
BuildRequires: libpng-devel
@@ -51,14 +49,13 @@
open-ended, letting you proceed at your own pace.
%package data
-Summary: Data files for Naev, a 2D action RPG space game
+Summary: Data files for Naev
Group: Amusements/Games/Action/Other
Requires: %{name} = %{version}
BuildArch: noarch
%description data
-This package contains the universal data for Naev.
-
+This package contains the universal data for Naev, a 2D action RPG space game.
%prep
%setup -q
@@ -70,23 +67,21 @@
make %{?_smp_mflags}
%install
-mkdir -p %{buildroot}%{_datadir}/%{name}
-mkdir -p %{buildroot}%{_bindir}
-
-install -D -m 0755 src/%{name} %{buildroot}%{_bindir}/%{name}
-install -D -m 0644 %{name}.6 %{buildroot}%{_mandir}/man6/%{name}.6
-install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/%{name}.png
-install -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
-install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/ndata-%{version}.zip
+%make_install
%suse_update_desktop_file %{name}
+# Already packaged by the doc macro
+rm -fr %{buildroot}%{_datadir}/doc
+
%files
%defattr(-,root,root)
-%doc AUTHORS LICENSE README
+%doc AUTHORS LICENSE README TODO
%doc %{_mandir}/man6/*
%{_bindir}/%{name}
%{_datadir}/applications/*.desktop
+%dir %{_datadir}/appdata/
+%{_datadir}/appdata/*.appdata.xml
%{_datadir}/pixmaps/*.png
%files data
++++++ ndata-0.6.1.zip ++++++
Binary files /var/tmp/diff_new_pack.Iy4guy/_old and /var/tmp/diff_new_pack.Iy4guy/_new differ
[View Less]
1
0
Hello community,
here is the log from the commit of package glom for openSUSE:Factory checked in at 2017-02-21 13:51:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glom (Old)
and /work/SRC/openSUSE:Factory/.glom.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glom"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glom/glom.changes 2017-02-03 17:40:53.749570403 +0100
+++ /…
[View More]work/SRC/openSUSE:Factory/.glom.new/glom.changes 2017-02-21 13:51:18.436273147 +0100
@@ -1,0 +2,6 @@
+Mon Feb 20 09:36:09 UTC 2017 - dimstar(a)opensuse.org
+
+- Use python3_version macro for the configure line, so we don't
+ have to update on every major python release.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glom.spec ++++++
--- /var/tmp/diff_new_pack.cLZ5pD/_old 2017-02-21 13:51:18.972197718 +0100
+++ /var/tmp/diff_new_pack.cLZ5pD/_new 2017-02-21 13:51:18.972197718 +0100
@@ -161,8 +161,8 @@
%build
%configure \
- PYTHON_VERSION="3.5" \
- PYTHON=python3.5 \
+ PYTHON_VERSION="%{python3_version}" \
+ PYTHON=%{__python3} \
--disable-static \
--disable-dependency-tracking \
--disable-update-mime-database \
[View Less]
1
0
Hello community,
here is the log from the commit of package nim for openSUSE:Factory checked in at 2017-02-21 13:50:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nim (Old)
and /work/SRC/openSUSE:Factory/.nim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nim/nim.changes 2017-02-06 15:04:08.951110763 +0100
+++ /work/SRC/…
[View More]openSUSE:Factory/.nim.new/nim.changes 2017-02-21 13:51:03.538369946 +0100
@@ -1,0 +2,9 @@
+Sun Feb 19 16:13:49 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 0.16.0:
+ * No changelog available.
+- Build and install libraries, etc.
+- Install configuration files.
+- Recommend git for nimble.
+
+-------------------------------------------------------------------
@@ -8 +16,0 @@
-- Fixing spec summary
@@ -9,0 +18 @@
+- Fixing spec summary
Old:
----
nim-0.15.2.tar.xz
New:
----
nim-0.16.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nim.spec ++++++
--- /var/tmp/diff_new_pack.0zZDS8/_old 2017-02-21 13:51:04.158282698 +0100
+++ /var/tmp/diff_new_pack.0zZDS8/_new 2017-02-21 13:51:04.162282135 +0100
@@ -17,33 +17,57 @@
Name: nim
-Version: 0.15.2
+Version: 0.16.0
Release: 0
Summary: A statically typed, imperative programming language
License: MIT
Group: Development/Languages/Other
-Url: http://nim-lang.org
-Source: http://nim-lang.org/download/nim-%{version}.tar.xz
-ExclusiveArch: %{ix86} x86_64
+Url: https://nim-lang.org/
+Source: https://nim-lang.org/download/nim-%{version}.tar.xz
+Recommends: git
+ExclusiveArch: %ix86 x86_64
%description
-Nim is a statically typed, imperative programming language that tries to
-give the programmer ultimate power without compromises on runtime
-efficiency.
+Nim is a statically typed, imperative programming language that
+tries to give the programmer ultimate power without compromises on
+runtime efficiency.
%prep
%setup -q
%build
-make %{?_smp_mflags} COMP_FLAGS="%{optflags} -w -fno-strict-aliasing"
+export NIMFLAGS="$(echo '%{optflags}' | sed 's/\([^[:space:]]\+\)/--passC:\1/g')"
+export NIMFLAGS="$NIMFLAGS %{?jobs:--parallelBuild:%{jobs}}"
+
+make %{?_smp_mflags} V=1 \
+ CFLAGS="%{optflags}"
+./bin/nim c $NIMFLAGS koch
+
+./koch boot -d:release $NIMFLAGS \
+ -d:useGnuReadline
+./koch tools -d:release $NIMFLAGS
%install
-install -D -p -m 0755 bin/nim \
- %{buildroot}%{_bindir}/nim
+./koch install %{buildroot}%{_libdir}
+
+mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_sysconfdir}/ \
+ %{buildroot}%{_docdir}/nim/
+
+ls ./bin | while read f; do
+ install -Dpm 0755 "./bin/$f" "%{buildroot}%{_libdir}/nim/bin/$f"
+ ln -s "%{_libdir}/nim/bin/$f" "%{buildroot}%{_bindir}/$f"
+done
+
+mv -T %{buildroot}%{_libdir}/nim/config/ %{buildroot}%{_sysconfdir}/
+
+mv -T %{buildroot}%{_libdir}/nim/doc/ %{buildroot}%{_docdir}/nim/
+ln -s %{_docdir}/nim/ %{buildroot}%{_libdir}/nim/doc
%files
%defattr(-,root,root)
%doc copying.txt
-%{_bindir}/nim
+%config %{_sysconfdir}/nim*.cfg
+%{_bindir}/nim*
+%{_libdir}/nim/
%changelog
++++++ nim-0.15.2.tar.xz -> nim-0.16.0.tar.xz ++++++
++++ 9824424 lines of diff (skipped)
[View Less]
1
0
Hello community,
here is the log from the commit of package xrdp for openSUSE:Factory checked in at 2017-02-21 13:50:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xrdp (Old)
and /work/SRC/openSUSE:Factory/.xrdp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xrdp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xrdp/xrdp.changes 2016-10-13 11:32:32.000000000 +0200
+++ /…
[View More]work/SRC/openSUSE:Factory/.xrdp.new/xrdp.changes 2017-02-21 13:50:53.535777746 +0100
@@ -1,0 +2,8 @@
+Wed Feb 1 12:14:29 CET 2017 - vliaskovitis(a)suse.com
+
+- Backport upstream patches for 32bpp support (bsc#1022098)
+ - Add xrdp-Allow-sessions-with-32-bpp.patch.patch
+ - Add xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch
+ - Add xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch
+
+-------------------------------------------------------------------
New:
----
xrdp-Allow-sessions-with-32-bpp.patch.patch
xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch
xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xrdp.spec ++++++
--- /var/tmp/diff_new_pack.9dIv3Y/_old 2017-02-21 13:50:54.143692186 +0100
+++ /var/tmp/diff_new_pack.9dIv3Y/_new 2017-02-21 13:50:54.147691623 +0100
@@ -1,7 +1,7 @@
#
# spec file for package xrdp
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -38,6 +38,12 @@
Patch3: xrdp-default-config.patch
# PATCH-FIX-OPENSUSE xrdp-disable-8-bpp-vnc-support.patch bsc#991059 - fezhang(a)suse.com -- disable 8 bpp support for vnc connections
Patch4: xrdp-disable-8-bpp-vnc-support.patch
+# PATCH-FIX-UPSTREAM xrdp-Allow-sessions-with-32-bpp.patch.patch bsc#1022098 - vliaskovitis(a)suse.com -- Allow sessions with 32 bpp
+Patch5: xrdp-Allow-sessions-with-32-bpp.patch.patch
+# PATCH-FIX-UPSTREAM xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch bsc#1022098 - vliaskovitis(a)suse.com -- vnc: enable 32 bpp support for Xvnc, it actually works
+Patch6: xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch
+# PATCH-FIX-UPSTREAM xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch bsc#1022098 - vliaskovitis(a)suse.com -- Fix support for 32-bpp clients connecting to 16-bpp VNC
+Patch7: xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch
# PATCH-FEATURE-SLE xrdp-avahi.diff bnc#586785 - hfiguiere(a)novell.com -- Add Avahi support
Patch11: xrdp-avahi.diff
# PATCH-FIX-SLE xrdp-filter-tab-from-mstsc-on-focus-change.patch bnc#601996 bnc#623534 - dliang(a)novell.com -- filter the fake tab key which is used to notify the session
@@ -74,6 +80,9 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%if ! 0%{?is_opensuse}
%patch11 -p1
%patch12 -p1
++++++ xrdp-Allow-sessions-with-32-bpp.patch.patch ++++++
diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/sesman/libscp/libscp_session.c xrdp-0.9.0~git.1456906198.f422461/sesman/libscp/libscp_session.c
--- xrdp-0.9.0~git.1456906198.f422461-orig/sesman/libscp/libscp_session.c 2017-02-01 11:53:04.000000000 +0100
+++ xrdp-0.9.0~git.1456906198.f422461/sesman/libscp/libscp_session.c 2017-02-01 12:52:25.000000000 +0100
@@ -141,6 +141,7 @@
case 15:
case 16:
case 24:
+ case 32:
s->bpp = bpp;
default:
return 1;
Only in xrdp-0.9.0~git.1456906198.f422461/sesman/libscp: libscp_session.c.orig
++++++ xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch ++++++
diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c
--- xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c 2017-02-01 13:01:15.000000000 +0100
+++ xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c 2017-02-01 13:01:30.000000000 +0100
@@ -1214,7 +1214,7 @@
out_uint8(pixel_format, 0); /* blue shift */
out_uint8s(pixel_format, 3); /* pad */
}
- else if (v->mod_bpp == 24)
+ else if (v->mod_bpp == 24 || v->mod_bpp == 32)
{
out_uint8(pixel_format, 32); /* bits per pixel */
out_uint8(pixel_format, 24); /* depth */
Only in xrdp-0.9.0~git.1456906198.f422461/vnc: vnc.c.orig
++++++ xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch ++++++
diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c
--- xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c 2017-02-01 12:54:47.000000000 +0100
+++ xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c 2017-02-01 12:59:28.000000000 +0100
@@ -949,15 +949,21 @@
v->server_msg(v, "VNC started connecting", 0);
check_sec_result = 1;
- /* only support 8 and 16 bpp connections from rdp client */
- if ((v->server_bpp != 15) &&
- (v->server_bpp != 16) && (v->server_bpp != 24))
+ /* check if bpp is supported for rdp connection */
+ switch (v->server_bpp)
{
- v->server_msg(v, "VNC error - only supporting 15, 16 and 24 bpp "
- "connections", 0);
- if (v->server_bpp == 8)
+
+ case 15:
+ case 16:
+ case 24:
+ case 32:
+ break;
+ case 8:
v->server_msg(v, "VNC error - 8 bpp support is dropped "
"since Xvnc 1.4.0", 0);
+ default:
+ v->server_msg(v, "VNC error - only supporting 15, 16, 24 and 32 "
+ "bpp rdp connections", 0);
return 1;
}
[View Less]
1
0