openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
July 2019
- 2 participants
- 2045 discussions
Hello community,
here is the log from the commit of package libnfs for openSUSE:Factory checked in at 2019-07-31 14:12:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnfs (Old)
and /work/SRC/openSUSE:Factory/.libnfs.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnfs"
Wed Jul 31 14:12:06 2019 rev:7 rq:718320 version:4.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libnfs/libnfs.changes 2018-11-26 10:11:59.806316784 +0100
+++ /work/SRC/openSUSE:Factory/.libnfs.new.4126/libnfs.changes 2019-07-31 14:12:07.550950528 +0200
@@ -1,0 +2,20 @@
+Wed Jul 24 15:18:59 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 4.0.0:
+ + Fix the versioning in makerpms.sh.
+ + Fix some compile issues in the test programs.
+ + NFSv3: skip commit on close if the file has not been written
+ to.
+ + Add nfs_umount() to NFSv3.
+ + Add nfs_statvfs64().
+ + Fix invalid shift of pid_t when generating rpc->xid.
+ + Compile fixes for Mac OSX.
+ + Fix for dup2() on Windows.
+ + NFSv4 fix for directory handling.
+ + Improvements to configure/building.
+- Bump sover to 13 following upstream.
+- Use modern macros.
+- Pass explicit --enable-utils to configure, ensure we build the
+ utils.
+
+-------------------------------------------------------------------
Old:
----
libnfs-3.0.0.tar.gz
New:
----
libnfs-4.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libnfs.spec ++++++
--- /var/tmp/diff_new_pack.Hcx3EH/_old 2019-07-31 14:12:07.974950381 +0200
+++ /var/tmp/diff_new_pack.Hcx3EH/_new 2019-07-31 14:12:07.974950381 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libnfs
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 Bjørn Lie, Bryne, Norway.
#
# All modifications and additions to the file contributed by third parties
@@ -17,15 +17,17 @@
#
-%define sover 12
+%define sover 13
+
Name: libnfs
-Version: 3.0.0
+Version: 4.0.0
Release: 0
Summary: Client library for accessing NFS shares over a network
License: LGPL-2.1-or-later AND BSD-2-Clause AND GPL-3.0-or-later
Group: Productivity/Networking/NFS
URL: https://github.com/sahlberg/libnfs
-Source0: https://github.com/sahlberg/libnfs/archive/libnfs-%{version}.tar.gz
+Source0: %{url}/archive/libnfs-%{version}.tar.gz
+
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: pkgconfig
@@ -69,14 +71,16 @@
accessing NFS servers using libnfs.
%prep
-%setup -q -n %{name}-%{name}-%{version}
+%autosetup -p1 -n %{name}-%{name}-%{version}
%build
autoreconf -fiv
%configure \
--disable-static \
- --disable-examples
-make %{?_smp_mflags}
+ --disable-examples \
+ --enable-utils \
+ %{nil}
+%make_build
%install
%make_install
++++++ libnfs-3.0.0.tar.gz -> libnfs-4.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/CHANGELOG new/libnfs-libnfs-4.0.0/CHANGELOG
--- old/libnfs-libnfs-3.0.0/CHANGELOG 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/CHANGELOG 2019-02-12 22:38:04.000000000 +0100
@@ -1,3 +1,16 @@
+Changes since 3.0.0
+
+Fix the versioning in makerpms.sh
+Fix some compile issues in the test programs.
+NFSv3: skip commit on close if the file has not been written to.
+Add nfs_umount() to NFSv3
+Add nfs_statvfs64()
+Fix invalid shift of pid_t when generating rpc->xid
+Compile fixes for Mac OSX
+Fix for dup2() on Windows
+NFSv4 fix for directory handling
+Improvements to configure/bulding
+
Changes since 2.0.0
NFSv4 support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/README new/libnfs-libnfs-4.0.0/README
--- old/libnfs-libnfs-3.0.0/README 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/README 2019-02-12 22:38:04.000000000 +0100
@@ -25,9 +25,9 @@
NFSv4:
======
-NFSv4 is supported but only for the RAW ASYNC interface.
-Examples/nfsv4-cat.c is a "simple" example to illustrate how to use
-NFSv4 to connect to a server and read a file off the server.
+NFSv3 is the default but NFSv4 can be selected either by using the URL argument
+version=4 or programatically calling nfs_set_version(nfs, NFS_V4) before
+connecting to the server/share.
SERVER SUPPORT:
===============
@@ -67,8 +67,6 @@
to the application.
if=<interface> : Interface name (e.g., eth1) to bind; requires `root`
version=<3|4> : NFS Version. Default is 3.
- This is just a placeholder for now. NFSv4 support is not
- yet functional.
nfsport=<port> : Use this port for NFS instead of using the portmapper.
mountport=<port> : Use this port for the MOUNT protocol instead of
using portmapper. This argument is ignored for NFSv4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/configure.ac new/libnfs-libnfs-4.0.0/configure.ac
--- old/libnfs-libnfs-3.0.0/configure.ac 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/configure.ac 2019-02-12 22:38:04.000000000 +0100
@@ -1,5 +1,5 @@
AC_PREREQ(2.50)
-AC_INIT([libnfs], [3.0.0], [ronniesahlberg(a)gmail.com])
+AC_INIT([libnfs], [4.0.0], [ronniesahlberg(a)gmail.com])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
AC_CANONICAL_HOST
@@ -25,11 +25,13 @@
AC_SYS_LARGEFILE
#option: utils
+MAYBE_UTILS="utils"
AC_ARG_ENABLE([utils],
[AC_HELP_STRING([--enable-utils],
[Build util programs])],
- [MAYBE_UTILS=""],
- [MAYBE_UTILS="utils"])
+ [if test $enableval = no ; then
+ MAYBE_UTILS=""
+ fi])
AC_SUBST(MAYBE_UTILS)
#option: examples
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/examples/nfs-fh.c new/libnfs-libnfs-4.0.0/examples/nfs-fh.c
--- old/libnfs-libnfs-3.0.0/examples/nfs-fh.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/examples/nfs-fh.c 2019-02-12 22:38:04.000000000 +0100
@@ -122,6 +122,7 @@
if (nfsfh) {
nfs_close(nfs, nfsfh);
}
+ nfs_umount(nfs);
if (url) {
nfs_destroy_url(url);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/include/libnfs-private.h new/libnfs-libnfs-4.0.0/include/libnfs-private.h
--- old/libnfs-libnfs-3.0.0/include/libnfs-private.h 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/include/libnfs-private.h 2019-02-12 22:38:04.000000000 +0100
@@ -463,10 +463,13 @@
int no_follow, nfs_cb cb, void *private_data);
int nfs3_statvfs_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
void *private_data);
+int nfs3_statvfs64_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data);
int nfs3_symlink_async(struct nfs_context *nfs, const char *oldpath,
const char *newpath, nfs_cb cb, void *private_data);
int nfs3_truncate_async(struct nfs_context *nfs, const char *path,
uint64_t length, nfs_cb cb, void *private_data);
+int nfs3_umount_async(struct nfs_context *nfs, nfs_cb cb, void *private_data);
int nfs3_unlink_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
void *private_data);
int nfs3_utime_async(struct nfs_context *nfs, const char *path,
@@ -540,6 +543,8 @@
int no_follow, nfs_cb cb, void *private_data);
int nfs4_statvfs_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
void *private_data);
+int nfs4_statvfs64_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data);
int nfs4_symlink_async(struct nfs_context *nfs, const char *oldpath,
const char *newpath, nfs_cb cb, void *private_data);
int nfs4_truncate_async(struct nfs_context *nfs, const char *path,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/include/nfsc/libnfs.h new/libnfs-libnfs-4.0.0/include/nfsc/libnfs.h
--- old/libnfs-libnfs-3.0.0/include/nfsc/libnfs.h 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/include/nfsc/libnfs.h 2019-02-12 22:38:04.000000000 +0100
@@ -53,8 +53,10 @@
#if defined(WIN32)
#define EXTERN __declspec( dllexport )
#else
+#ifndef EXTERN
#define EXTERN
#endif
+#endif
#ifdef WIN32
#ifdef HAVE_FUSE_H
@@ -314,6 +316,39 @@
const char *exportname);
+/*
+ * UNMOUNT THE EXPORT
+ */
+/*
+ * Async nfs umount.
+ * For NFSv4 this is a NO-OP.
+ * For NFSv3 this function returns unregisters the mount from the MOUNT Daemon.
+ *
+ * 0 : The command was queued successfully. The callback will be invoked once
+ * the command completes.
+ * <0 : An error occured when trying to queue the command.
+ * The callback will not be invoked.
+ *
+ * When the callback is invoked, status indicates the result:
+ * 0 : Success.
+ * data is NULL
+ * -errno : An error occured.
+ * data is the error string.
+ */
+EXTERN int nfs_umount_async(struct nfs_context *nfs, nfs_cb cb,
+ void *private_data);
+/*
+ * Sync nfs umount.
+ * For NFSv4 this is a NO-OP.
+ * For NFSv3 this function returns unregisters the mount from the MOUNT Daemon.
+ *
+ * Function returns
+ * 0 : The operation was successful.
+ * -errno : The command failed.
+ */
+EXTERN int nfs_umount(struct nfs_context *nfs);
+
+
/*
@@ -1290,8 +1325,23 @@
/*
* STATVFS()
*/
+struct nfs_statvfs_64 {
+ uint64_t f_bsize;
+ uint64_t f_frsize;
+ uint64_t f_blocks;
+ uint64_t f_bfree;
+ uint64_t f_bavail;
+ uint64_t f_files;
+ uint64_t f_ffree;
+ uint64_t f_favail;
+ uint64_t f_fsid;
+ uint64_t f_flag;
+ uint64_t f_namemax;
+};
/*
* Async statvfs(<dirname>)
+ * This function is deprecated. Use nfs_statvfs64_async() instead.
+ *
* Function returns
* 0 : The command was queued successfully. The callback will be invoked once
* the command completes.
@@ -1309,13 +1359,40 @@
nfs_cb cb, void *private_data);
/*
* Sync statvfs(<dirname>)
+ * This function is deprecated. Use nfs_statvfs64() instead.
+ *
* Function returns
* 0 : The operation was successful.
* -errno : The command failed.
*/
EXTERN int nfs_statvfs(struct nfs_context *nfs, const char *path,
struct statvfs *svfs);
-
+/*
+ * Async statvfs64(<dirname>)
+ *
+ * Function returns
+ * 0 : The command was queued successfully. The callback will be invoked once
+ * the command completes.
+ * <0 : An error occured when trying to queue the command.
+ * The callback will not be invoked.
+ *
+ * When the callback is invoked, status indicates the result:
+ * 0 : Success.
+ * data is struct nfs_statvfs_64 *
+ * -errno : An error occured.
+ * data is the error string.
+ */
+EXTERN int nfs_statvfs64_async(struct nfs_context *nfs, const char *path,
+ nfs_cb cb, void *private_data);
+/*
+ * Sync statvfs64(<dirname>)
+ *
+ * Function returns
+ * 0 : The operation was successful.
+ * -errno : The command failed.
+ */
+EXTERN int nfs_statvfs64(struct nfs_context *nfs, const char *path,
+ struct nfs_statvfs_64 *svfs);
/*
* READLINK()
@@ -1336,7 +1413,6 @@
* -errno : An error occured.
* data is the error string.
*/
-struct statvfs;
EXTERN int nfs_readlink_async(struct nfs_context *nfs, const char *path,
nfs_cb cb, void *private_data);
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/CMakeLists.txt new/libnfs-libnfs-4.0.0/lib/CMakeLists.txt
--- old/libnfs-libnfs-3.0.0/lib/CMakeLists.txt 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/CMakeLists.txt 2019-02-12 22:38:04.000000000 +0100
@@ -9,6 +9,7 @@
add_library(nfs ${SOURCES})
target_link_libraries(nfs PUBLIC ${core_DEPENDS})
+target_include_directories(nfs PUBLIC ../include)
set_target_properties(nfs PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${SOVERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/Makefile.am new/libnfs-libnfs-4.0.0/lib/Makefile.am
--- old/libnfs-libnfs-3.0.0/lib/Makefile.am 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/Makefile.am 2019-02-12 22:38:04.000000000 +0100
@@ -25,7 +25,7 @@
socket.c \
../win32/win32_compat.c
-SOCURRENT=12
+SOCURRENT=13
SOREVISION=0
SOAGE=0
libnfs_la_LDFLAGS = -version-info $(SOCURRENT):$(SOREVISION):$(SOAGE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/init.c new/libnfs-libnfs-4.0.0/lib/init.c
--- old/libnfs-libnfs-3.0.0/lib/init.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/init.c 2019-02-12 22:38:04.000000000 +0100
@@ -81,7 +81,9 @@
free(rpc);
return NULL;
}
- rpc->xid = salt + (uint32_t)rpc_current_time() + (getpid() << 16);
+ // Add PID to rpc->xid for easier debugging, making sure to cast
+ // pid to 32-bit type to avoid invalid left-shifts.
+ rpc->xid = salt + rpc_current_time() + ((uint32_t)getpid() << 16);
salt += 0x01000000;
rpc->fd = -1;
rpc->tcp_syncnt = RPC_PARAM_UNDEFINED;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/libnfs-sync.c new/libnfs-libnfs-4.0.0/lib/libnfs-sync.c
--- old/libnfs-libnfs-3.0.0/lib/libnfs-sync.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/libnfs-sync.c 2019-02-12 22:38:04.000000000 +0100
@@ -229,6 +229,57 @@
/*
+ * unregister the mount
+ */
+static void
+umount_cb(int status, struct nfs_context *nfs, void *data, void *private_data)
+{
+ struct sync_cb_data *cb_data = private_data;
+
+ cb_data->is_finished = 1;
+ cb_data->status = status;
+
+ if (status < 0) {
+ nfs_set_error(nfs, "%s: %s",
+ __FUNCTION__, nfs_get_error(nfs));
+ return;
+ }
+}
+
+int
+nfs_umount(struct nfs_context *nfs)
+{
+ struct sync_cb_data cb_data;
+ struct rpc_context *rpc = nfs_get_rpc_context(nfs);
+
+ assert(rpc->magic == RPC_CONTEXT_MAGIC);
+
+ cb_data.is_finished = 0;
+
+ if (nfs_umount_async(nfs, umount_cb, &cb_data) != 0) {
+ nfs_set_error(nfs, "nfs_umount_async failed. %s",
+ nfs_get_error(nfs));
+ return -1;
+ }
+
+ wait_for_nfs_reply(nfs, &cb_data);
+
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
+ /* Ensure that no RPCs are pending. In error case (e.g. timeout in
+ * wait_for_nfs_reply()) we can disconnect; in success case all RPCs
+ * are completed by definition.
+ */
+ if (cb_data.status) {
+ rpc_disconnect(rpc, "failed mount");
+ }
+
+ return cb_data.status;
+}
+
+
+/*
* stat()
*/
static void
@@ -1166,6 +1217,46 @@
return cb_data.status;
}
+/*
+ * statvfs64()
+ */
+static void
+statvfs64_cb(int status, struct nfs_context *nfs, void *data,
+ void *private_data)
+{
+ struct sync_cb_data *cb_data = private_data;
+
+ cb_data->is_finished = 1;
+ cb_data->status = status;
+
+ if (status < 0) {
+ nfs_set_error(nfs, "statvfs64 call failed with \"%s\"",
+ (char *)data);
+ return;
+ }
+
+ memcpy(cb_data->return_data, data, sizeof(struct nfs_statvfs_64));
+}
+
+int
+nfs_statvfs64(struct nfs_context *nfs, const char *path,
+ struct nfs_statvfs_64 *svfs)
+{
+ struct sync_cb_data cb_data;
+
+ cb_data.is_finished = 0;
+ cb_data.return_data = svfs;
+
+ if (nfs_statvfs64_async(nfs, path, statvfs64_cb, &cb_data) != 0) {
+ nfs_set_error(nfs, "nfs_statvfs64_async failed. %s",
+ nfs_get_error(nfs));
+ return -1;
+ }
+
+ wait_for_nfs_reply(nfs, &cb_data);
+
+ return cb_data.status;
+}
/*
* readlink()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/libnfs-win32.def new/libnfs-libnfs-4.0.0/lib/libnfs-win32.def
--- old/libnfs-libnfs-3.0.0/lib/libnfs-win32.def 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/libnfs-win32.def 2019-02-12 22:38:04.000000000 +0100
@@ -95,10 +95,14 @@
nfs_stat64_async
nfs_statvfs
nfs_statvfs_async
+nfs_statvfs64
+nfs_statvfs64_async
nfs_symlink
nfs_symlink_async
nfs_truncate
nfs_truncate_async
+nfs_umount
+nfs_umount_async
nfs_unlink
nfs_unlink_async
nfs_utime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/libnfs.c new/libnfs-libnfs-4.0.0/lib/libnfs.c
--- old/libnfs-libnfs-3.0.0/lib/libnfs.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/libnfs.c 2019-02-12 22:38:04.000000000 +0100
@@ -66,10 +66,15 @@
#include <sys/sysmacros.h>
#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
#include <errno.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
+#include <time.h>
#include "slist.h"
#include "libnfs.h"
#include "libnfs-raw.h"
@@ -860,6 +865,26 @@
}
}
+/*
+ * Async call for umounting an nfs share
+ */
+int
+nfs_umount_async(struct nfs_context *nfs, nfs_cb cb, void *private_data)
+{
+ switch (nfs->version) {
+ case NFS_V3:
+ return nfs3_umount_async(nfs, cb, private_data);
+ case NFS_V4:
+ /* umount is a no-op in v4 */
+ (*cb)(0, nfs, NULL, private_data);
+ return 0;
+ default:
+ nfs_set_error(nfs, "%s does not support NFSv%d",
+ __FUNCTION__, nfs->version);
+ return -1;
+ }
+}
+
int
nfs_normalize_path(struct nfs_context *nfs, char *path)
{
@@ -1462,6 +1487,22 @@
default:
nfs_set_error(nfs, "%s does not support NFSv%d",
__FUNCTION__, nfs->version);
+ return -1;
+ }
+}
+
+int
+nfs_statvfs64_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data)
+{
+ switch (nfs->version) {
+ case NFS_V3:
+ return nfs3_statvfs64_async(nfs, path, cb, private_data);
+ case NFS_V4:
+ return nfs4_statvfs64_async(nfs, path, cb, private_data);
+ default:
+ nfs_set_error(nfs, "%s does not support NFSv%d",
+ __FUNCTION__, nfs->version);
return -1;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/nfs_v3.c new/libnfs-libnfs-4.0.0/lib/nfs_v3.c
--- old/libnfs-libnfs-3.0.0/lib/nfs_v3.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/nfs_v3.c 2019-02-12 22:38:04.000000000 +0100
@@ -1152,6 +1152,92 @@
return 0;
}
+static void
+nfs3_umount_2_cb(struct rpc_context *rpc, int status, void *command_data,
+ void *private_data)
+{
+ struct nfs_cb_data *data = private_data;
+ struct nfs_context *nfs = data->nfs;
+
+ assert(rpc->magic == RPC_CONTEXT_MAGIC);
+
+ if (check_nfs3_error(nfs, status, data, command_data)) {
+ free_nfs_cb_data(data);
+ return;
+ }
+
+ rpc_disconnect(rpc, "umount");
+ data->cb(0, nfs, NULL, data->private_data);
+ free_nfs_cb_data(data);
+}
+
+static void
+nfs3_umount_1_cb(struct rpc_context *rpc, int status, void *command_data,
+ void *private_data)
+{
+ struct nfs_cb_data *data = private_data;
+ struct nfs_context *nfs = data->nfs;
+
+ assert(rpc->magic == RPC_CONTEXT_MAGIC);
+
+ if (check_nfs3_error(nfs, status, data, command_data)) {
+ free_nfs_cb_data(data);
+ return;
+ }
+
+ if (rpc_mount3_umnt_async(rpc, nfs3_umount_2_cb, nfs->export,
+ data) != 0) {
+ nfs_set_error(nfs, "%s: %s.", __FUNCTION__, nfs_get_error(nfs));
+ data->cb(-ENOMEM, nfs, nfs_get_error(nfs), data->private_data);
+ free_nfs_cb_data(data);
+ return;
+ }
+}
+
+int
+nfs3_umount_async(struct nfs_context *nfs, nfs_cb cb, void *private_data)
+{
+ struct nfs_cb_data *data;
+
+ data = malloc(sizeof(struct nfs_cb_data));
+ if (data == NULL) {
+ nfs_set_error(nfs, "out of memory. failed to allocate "
+ "memory for nfs mount data");
+ return -1;
+ }
+ memset(data, 0, sizeof(struct nfs_cb_data));
+
+ data->nfs = nfs;
+ data->cb = cb;
+ data->private_data = private_data;
+
+ rpc_disconnect(nfs->rpc, "umount");
+
+ if (nfs->mountport) {
+ if (rpc_connect_port_async(nfs->rpc, nfs->server,
+ nfs->mountport,
+ MOUNT_PROGRAM, MOUNT_V3,
+ nfs3_umount_1_cb, data) != 0) {
+ nfs_set_error(nfs, "Failed to start connection. %s",
+ nfs_get_error(nfs));
+ free_nfs_cb_data(data);
+ return -1;
+ }
+ return 0;
+ }
+
+ if (rpc_connect_program_async(nfs->rpc, nfs->server,
+ MOUNT_PROGRAM, MOUNT_V3,
+ nfs3_umount_1_cb, data) != 0) {
+ nfs_set_error(nfs, "Failed to start connection. %s",
+ nfs_get_error(nfs));
+ free_nfs_cb_data(data);
+ return -1;
+ }
+
+ return 0;
+}
+
struct nfs_link_data {
char *oldpath;
@@ -2272,6 +2358,7 @@
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
struct statvfs svfs;
+ struct nfs_statvfs_64 svfs64;
assert(rpc->magic == RPC_CONTEXT_MAGIC);
@@ -2292,21 +2379,39 @@
return;
}
- svfs.f_bsize = NFS_BLKSIZE;
- svfs.f_frsize = NFS_BLKSIZE;
- svfs.f_blocks = res->FSSTAT3res_u.resok.tbytes/NFS_BLKSIZE;
- svfs.f_bfree = res->FSSTAT3res_u.resok.fbytes/NFS_BLKSIZE;
- svfs.f_bavail = res->FSSTAT3res_u.resok.abytes/NFS_BLKSIZE;
- svfs.f_files = (uint32_t)res->FSSTAT3res_u.resok.tfiles;
- svfs.f_ffree = (uint32_t)res->FSSTAT3res_u.resok.ffiles;
+ if (data->continue_int == 0) {
+ /* statvfs */
+ svfs.f_bsize = NFS_BLKSIZE;
+ svfs.f_frsize = NFS_BLKSIZE;
+ svfs.f_blocks = res->FSSTAT3res_u.resok.tbytes/NFS_BLKSIZE;
+ svfs.f_bfree = res->FSSTAT3res_u.resok.fbytes/NFS_BLKSIZE;
+ svfs.f_bavail = res->FSSTAT3res_u.resok.abytes/NFS_BLKSIZE;
+ svfs.f_files = (uint32_t)res->FSSTAT3res_u.resok.tfiles;
+ svfs.f_ffree = (uint32_t)res->FSSTAT3res_u.resok.ffiles;
#if !defined(__ANDROID__)
- svfs.f_favail = (uint32_t)res->FSSTAT3res_u.resok.afiles;
- svfs.f_fsid = 0;
- svfs.f_flag = 0;
- svfs.f_namemax = 256;
+ svfs.f_favail = (uint32_t)res->FSSTAT3res_u.resok.afiles;
+ svfs.f_fsid = 0;
+ svfs.f_flag = 0;
+ svfs.f_namemax = 256;
#endif
+ data->cb(0, nfs, &svfs, data->private_data);
+ } else {
+ /* statvfs64 */
+ svfs64.f_bsize = NFS_BLKSIZE;
+ svfs64.f_frsize = NFS_BLKSIZE;
+ svfs64.f_blocks = res->FSSTAT3res_u.resok.tbytes/NFS_BLKSIZE;
+ svfs64.f_bfree = res->FSSTAT3res_u.resok.fbytes/NFS_BLKSIZE;
+ svfs64.f_bavail = res->FSSTAT3res_u.resok.abytes/NFS_BLKSIZE;
+ svfs64.f_files = res->FSSTAT3res_u.resok.tfiles;
+ svfs64.f_ffree = res->FSSTAT3res_u.resok.ffiles;
+ svfs64.f_favail = res->FSSTAT3res_u.resok.afiles;
+ svfs64.f_fsid = 0;
+ svfs64.f_flag = 0;
+ svfs64.f_namemax = 256;
+
+ data->cb(0, nfs, &svfs64, data->private_data);
+ }
- data->cb(0, nfs, &svfs, data->private_data);
free_nfs_cb_data(data);
}
@@ -2344,6 +2449,19 @@
return 0;
}
+int
+nfs3_statvfs64_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data)
+{
+ if (nfs3_lookuppath_async(nfs, path, 0, cb, private_data,
+ nfs3_statvfs_continue_internal,
+ NULL, NULL, 1) != 0) {
+ return -1;
+ }
+
+ return 0;
+}
+
static void
nfs3_lseek_1_cb(struct rpc_context *rpc, int status, void *command_data,
void *private_data)
@@ -4169,6 +4287,12 @@
{
struct nfs_cb_data *data;
+ if (!nfsfh->is_dirty) {
+ nfs_free_nfsfh(nfsfh);
+ cb(0, nfs, NULL, private_data);
+ return 0;
+ }
+
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
nfs_set_error(nfs, "out of memory: failed to allocate "
@@ -4341,6 +4465,7 @@
{
struct nfs_cb_data *data;
+ nfsfh->is_dirty = 1;
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
nfs_set_error(nfs, "out of memory: failed to allocate "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/nfs_v4.c new/libnfs-libnfs-4.0.0/lib/nfs_v4.c
--- old/libnfs-libnfs-3.0.0/lib/nfs_v4.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/nfs_v4.c 2019-02-12 22:38:04.000000000 +0100
@@ -141,7 +141,8 @@
/* Do not follow symlinks for the final component on a lookup.
* I.e. stat vs lstat
*/
-#define LOOKUP_FLAG_NO_FOLLOW 0x0001
+#define LOOKUP_FLAG_NO_FOLLOW 0x0001
+#define LOOKUP_FLAG_IS_STATVFS64 0x0002
int flags;
/* Internal callback for open-with-continuation use */
@@ -1964,6 +1965,37 @@
}
static void
+nfs4_open_chmod_cb(struct rpc_context *rpc, int status, void *command_data,
+ void *private_data)
+{
+ struct nfs4_cb_data *data = private_data;
+ struct nfs_context *nfs = data->nfs;
+ struct nfsfh *fh = data->filler.blob0.val;
+ COMPOUND4res *res = command_data;
+ COMPOUND4args args;
+ nfs_argop4 op[2];
+ int i;
+
+ if (check_nfs4_error(nfs, status, data, res, "OPEN")) {
+ return;
+ }
+
+ i = nfs4_op_putfh(nfs, op, fh);
+ i += nfs4_op_chmod(nfs, &op[i], fh, data->filler.blob3.val);
+
+ memset(&args, 0, sizeof(args));
+ args.argarray.argarray_len = i;
+ args.argarray.argarray_val = op;
+
+ if (rpc_nfs4_compound_async(nfs->rpc, nfs4_open_setattr_cb, &args,
+ data) != 0) {
+ data->cb(-ENOMEM, nfs, nfs_get_error(nfs), data->private_data);
+ free_nfs4_cb_data(data);
+ return;
+ }
+}
+
+static void
nfs4_open_confirm_cb(struct rpc_context *rpc, int status, void *command_data,
void *private_data)
{
@@ -2118,6 +2150,25 @@
free_nfs4_cb_data(data);
}
+static void
+nfs4_init_random_verifier(char *verifier)
+{
+ static uint64_t seed = 0, v;
+ int i;
+
+ if (seed == 0) {
+ seed = ~rpc_current_time() << 32 | getpid();
+ } else {
+ seed *= 1337;
+ }
+
+ v = seed;
+ for (i = 0; i < NFS4_VERIFIER_SIZE; i++) {
+ verifier[i] = v & 0xff;
+ v >>= 8;
+ }
+}
+
/* filler.flags are the open flags
* filler.data is the object name
*/
@@ -2127,6 +2178,7 @@
struct nfs_context *nfs = data->nfs;
OPEN4args *oargs;
uint32_t access_mask = 0;
+ verifier4 verifier;
int i;
if (data->filler.flags & O_WRONLY) {
@@ -2135,7 +2187,7 @@
if (data->filler.flags & O_RDWR) {
access_mask |= ACCESS4_READ|ACCESS4_MODIFY;
}
- if (!(data->filler.flags & (O_WRONLY|O_RDWR))) {
+ if (!(data->filler.flags & O_WRONLY)) {
access_mask |= ACCESS4_READ;
}
@@ -2166,12 +2218,20 @@
fa = &ch->createhow4_u.createattrs;
oargs->openhow.opentype = OPEN4_CREATE;
- ch->mode = UNCHECKED4;
- fa->attrmask.bitmap4_len = data->filler.blob1.len;
- fa->attrmask.bitmap4_val = data->filler.blob1.val;
+ if (data->filler.flags|O_EXCL) {
+ ch->mode = EXCLUSIVE4;
- fa->attr_vals.attrlist4_len = data->filler.blob2.len;
- fa->attr_vals.attrlist4_val = data->filler.blob2.val;
+ nfs4_init_random_verifier(&verifier[0]);
+ memcpy(ch->createhow4_u.createverf, verifier,
+ sizeof(verifier4));
+ } else {
+ ch->mode = UNCHECKED4;
+ fa->attrmask.bitmap4_len = data->filler.blob1.len;
+ fa->attrmask.bitmap4_val = data->filler.blob1.val;
+
+ fa->attr_vals.attrlist4_len = data->filler.blob2.len;
+ fa->attr_vals.attrlist4_val = data->filler.blob2.val;
+ }
} else {
oargs->openhow.opentype = OPEN4_NOCREATE;
}
@@ -2373,6 +2433,7 @@
int mode, nfs_cb cb, void *private_data)
{
struct nfs4_cb_data *data;
+ uint32_t m;
data = init_cb_data_split_path(nfs, path);
if (data == NULL) {
@@ -2386,6 +2447,10 @@
if (flags & O_TRUNC && !(flags & (O_RDWR|O_WRONLY))) {
flags &= ~O_TRUNC;
}
+ /* Successful O_EXCL means the file is 0 size already. */
+ if (flags & O_EXCL) {
+ flags &= ~O_TRUNC;
+ }
if (flags & O_TRUNC) {
data->open_cb = nfs4_open_truncate_cb;
@@ -2400,6 +2465,20 @@
memset(data->filler.blob3.val, 0, 12);
}
+ if (flags & O_EXCL) {
+ data->open_cb = nfs4_open_chmod_cb;
+
+ data->filler.blob3.val = malloc(4);
+ if (data->filler.blob3.val == NULL) {
+ nfs_set_error(nfs, "Out of memory");
+ free_nfs4_cb_data(data);
+ return -1;
+ }
+ data->filler.blob3.free = free;
+
+ m = htonl(mode);
+ memcpy(data->filler.blob3.val, &m, sizeof(uint32_t));
+ }
return nfs4_open_async_internal(nfs, data, flags, mode);
}
@@ -3536,7 +3615,7 @@
struct nfs4_cb_data *data;
struct nfsdir *nfsdir;
- data = init_cb_data_split_path(nfs, path);
+ data = init_cb_data_full_path(nfs, path);
if (data == NULL) {
return -1;
}
@@ -4311,6 +4390,83 @@
return 0;
}
+static int
+nfs_parse_statvfs64(struct nfs_context *nfs, struct nfs4_cb_data *data,
+ struct nfs_statvfs_64 *svfs64, const char *buf, int len)
+{
+ uint64_t u64;
+ uint32_t u32;
+
+ svfs64->f_bsize = NFS_BLKSIZE;
+ svfs64->f_frsize = NFS_BLKSIZE;
+ svfs64->f_flag = 0;
+
+ /* FSID
+ * NFSv4 FSID is 2*64 bit but statvfs fsid is just an
+ * unsigmed long. Mix the 2*64 bits and hope for the best.
+ */
+ CHECK_GETATTR_BUF_SPACE(len, 16);
+ memcpy(&u64, buf, 8);
+ svfs64->f_fsid = nfs_ntoh64(u64);
+ buf += 8;
+ len -= 8;
+ memcpy(&u64, buf, 8);
+ svfs64->f_fsid |= nfs_ntoh64(u64);
+ buf += 8;
+ len -= 8;
+
+ /* Files Avail */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_favail = nfs_ntoh64(u64);
+ buf += 8;
+ len -= 8;
+
+ /* Files Free */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_ffree = nfs_ntoh64(u64);
+ buf += 8;
+ len -= 8;
+
+ /* Files Total */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_files = nfs_ntoh64(u64);
+ buf += 8;
+ len -= 8;
+
+ /* Max Name */
+ CHECK_GETATTR_BUF_SPACE(len, 4);
+ memcpy(&u32, buf, 4);
+ svfs64->f_namemax = ntohl(u32);
+ buf += 4;
+ len -= 4;
+
+ /* Space Avail */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_bavail = nfs_ntoh64(u64) / svfs64->f_frsize;
+ buf += 8;
+ len -= 8;
+
+ /* Space Free */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_bfree = nfs_ntoh64(u64) / svfs64->f_frsize;
+ buf += 8;
+ len -= 8;
+
+ /* Space Total */
+ CHECK_GETATTR_BUF_SPACE(len, 8);
+ memcpy(&u64, buf, 8);
+ svfs64->f_blocks = nfs_ntoh64(u64) / svfs64->f_frsize;
+ buf += 8;
+ len -= 8;
+
+ return 0;
+}
+
static void
nfs4_statvfs_cb(struct rpc_context *rpc, int status, void *command_data,
void *private_data)
@@ -4320,6 +4476,7 @@
COMPOUND4res *res = command_data;
GETATTR4resok *garesok;
struct statvfs svfs;
+ struct nfs_statvfs_64 svfs64;
int i;
assert(rpc->magic == RPC_CONTEXT_MAGIC);
@@ -4329,27 +4486,44 @@
}
memset(&svfs, 0, sizeof(svfs));
+ memset(&svfs64, 0, sizeof(svfs64));
if ((i = nfs4_find_op(nfs, data, res, OP_GETATTR, "GETATTR")) < 0) {
return;
}
garesok = &res->resarray.resarray_val[i].nfs_resop4_u.opgetattr.GETATTR4res_u.resok4;
- if (nfs_parse_statvfs(nfs, data, &svfs,
+ if (data->flags & LOOKUP_FLAG_IS_STATVFS64) {
+ /* statvfs64 */
+ if (nfs_parse_statvfs64(nfs, data, &svfs64,
garesok->obj_attributes.attr_vals.attrlist4_val,
garesok->obj_attributes.attr_vals.attrlist4_len) < 0) {
- data->cb(-EINVAL, nfs, nfs_get_error(nfs), data->private_data);
- free_nfs4_cb_data(data);
- return;
+ data->cb(-EINVAL, nfs, nfs_get_error(nfs), data->private_data);
+ free_nfs4_cb_data(data);
+ return;
+ }
+
+ data->cb(0, nfs, &svfs64, data->private_data);
+ } else {
+ /* statvfs */
+ if (nfs_parse_statvfs(nfs, data, &svfs,
+ garesok->obj_attributes.attr_vals.attrlist4_val,
+ garesok->obj_attributes.attr_vals.attrlist4_len) < 0) {
+ data->cb(-EINVAL, nfs, nfs_get_error(nfs), data->private_data);
+ free_nfs4_cb_data(data);
+ return;
+ }
+
+ data->cb(0, nfs, &svfs, data->private_data);
}
- data->cb(0, nfs, &svfs, data->private_data);
free_nfs4_cb_data(data);
}
-int
-nfs4_statvfs_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
- void *private_data)
+static int
+nfs4_statvfs_async_internal(struct nfs_context *nfs, const char *path,
+ int is_statvfs64,
+ nfs_cb cb, void *private_data)
{
struct nfs4_cb_data *data;
COMPOUND4args args;
@@ -4367,6 +4541,9 @@
data->nfs = nfs;
data->cb = cb;
data->private_data = private_data;
+ if (is_statvfs64) {
+ data->flags |= LOOKUP_FLAG_IS_STATVFS64;
+ }
fh.fh.len = nfs->rootfh.len;
fh.fh.val = nfs->rootfh.val;
@@ -4387,6 +4564,22 @@
return 0;
}
+int
+nfs4_statvfs_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data)
+{
+ return nfs4_statvfs_async_internal(nfs, path, 0,
+ cb, private_data);
+}
+
+int
+nfs4_statvfs64_async(struct nfs_context *nfs, const char *path, nfs_cb cb,
+ void *private_data)
+{
+ return nfs4_statvfs_async_internal(nfs, path, 1,
+ cb, private_data);
+}
+
static void
nfs4_chmod_open_cb(struct rpc_context *rpc, int status, void *command_data,
void *private_data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/lib/socket.c new/libnfs-libnfs-4.0.0/lib/socket.c
--- old/libnfs-libnfs-3.0.0/lib/socket.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/lib/socket.c 2019-02-12 22:38:04.000000000 +0100
@@ -86,6 +86,12 @@
#include "win32_errnowrapper.h"
#endif
+#ifndef MSG_NOSIGNAL
+#if (defined(__APPLE__) && defined(__MACH__))
+#define MSG_NOSIGNAL 0
+#endif
+#endif
+
static int
rpc_reconnect_requeue(struct rpc_context *rpc);
@@ -93,13 +99,15 @@
create_socket(int domain, int type, int protocol)
{
#ifdef SOCK_CLOEXEC
- /* Linux-specific extension (since 2.6.27): set the
+#ifdef __linux__
+ /* Linux-specific extension (since 2.6.27): set the
close-on-exec flag on all sockets to avoid leaking file
descriptors to child processes */
int fd = socket(domain, type|SOCK_CLOEXEC, protocol);
if (fd >= 0 || errno != EINVAL)
return fd;
#endif
+#endif
return socket(domain, type, protocol);
}
@@ -589,11 +597,18 @@
}
if (rpc->old_fd) {
+#if !defined(WIN32)
if (dup2(rpc->fd, rpc->old_fd) == -1) {
return -1;
}
close(rpc->fd);
rpc->fd = rpc->old_fd;
+#else
+ /* On Windows dup2 does not work on sockets
+ * instead just close the old socket */
+ close(rpc->old_fd);
+ rpc->old_fd = 0;
+#endif
}
/* Some systems allow you to set capabilities on an executable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/packaging/RPM/libnfs.spec.in new/libnfs-libnfs-4.0.0/packaging/RPM/libnfs.spec.in
--- old/libnfs-libnfs-3.0.0/packaging/RPM/libnfs.spec.in 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/packaging/RPM/libnfs.spec.in 2019-02-12 22:38:04.000000000 +0100
@@ -113,6 +113,17 @@
%{_mandir}/man1/nfs-ls.1.gz
%changelog
+* Wed Feb 13 2019 : Version 4.0.0
+- Fix the versioning in makerpms.sh
+- Fix some compile issues in the test programs.
+- NFSv3: skip commit on close if the file has not been written to.
+- Add nfs_umount() to NFSv3
+- Add nfs_statvfs64()
+- Fix invalid shift of pid_t when generating rpc->xid
+- Compile fixes for Mac OSX
+- Fix for dup2() on Windows
+- NFSv4 fix for directory handling
+- Improvements to configure/bulding
* Sun Jun 24 2018 : Version 3.0.0
- NFSv4 support.
- lockf() support (NFSv4 only).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/packaging/RPM/makerpms.sh new/libnfs-libnfs-4.0.0/packaging/RPM/makerpms.sh
--- old/libnfs-libnfs-3.0.0/packaging/RPM/makerpms.sh 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/packaging/RPM/makerpms.sh 2019-02-12 22:38:04.000000000 +0100
@@ -50,7 +50,7 @@
#
# If we're not directly on a tag, this is a devel release; we append
# .0.<patchnum>.<checksum>.devel to the release.
-TAG=`git describe`
+TAG=`git describe --tags`
case "$TAG" in
libnfs-*)
TAG=${TAG##libnfs-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/CMakeLists.txt new/libnfs-libnfs-4.0.0/tests/CMakeLists.txt
--- old/libnfs-libnfs-3.0.0/tests/CMakeLists.txt 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/tests/CMakeLists.txt 2019-02-12 22:38:04.000000000 +0100
@@ -19,6 +19,7 @@
prog_mount
prog_open_read
prog_open_write
+ prog_opendir
prog_rename
prog_rmdir
prog_stat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/Makefile.am new/libnfs-libnfs-4.0.0/tests/Makefile.am
--- old/libnfs-libnfs-3.0.0/tests/Makefile.am 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/tests/Makefile.am 2019-02-12 22:38:04.000000000 +0100
@@ -7,7 +7,7 @@
noinst_PROGRAMS = prog_access prog_access2 prog_chmod prog_chown prog_create \
prog_fchmod prog_fchown prog_fstat prog_ftruncate prog_lchmod \
prog_lchown prog_link prog_lseek prog_lstat prog_mkdir \
- prog_mknod prog_mount prog_open_read prog_open_write \
+ prog_mknod prog_mount prog_opendir prog_open_read prog_open_write \
prog_rename prog_rmdir prog_stat prog_statvfs prog_symlink \
prog_timeout prog_truncate prog_unlink prog_utimes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/prog_open_read.c new/libnfs-libnfs-4.0.0/tests/prog_open_read.c
--- old/libnfs-libnfs-3.0.0/tests/prog_open_read.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/tests/prog_open_read.c 2019-02-12 22:38:04.000000000 +0100
@@ -43,7 +43,7 @@
struct nfs_context *nfs = NULL;
struct nfs_url *url = NULL;
int ret = 0;
- int flags = 0, count;
+ int flags = 0, count, res, pos;
struct nfsfh *fh;
char buf[1024];
@@ -111,7 +111,17 @@
goto finished;
}
- write(1, buf, count);
+ pos = 0;
+ while (count) {
+ res = write(1, &buf[pos], count);
+ if (res < 0) {
+ fprintf(stderr, "write() failed\n");
+ ret = 1;
+ goto finished;
+ }
+ count -= res;
+ pos += res;
+ }
if (nfs_close(nfs, fh)) {
fprintf(stderr, "Failed to close(): %s\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/prog_opendir.c new/libnfs-libnfs-4.0.0/tests/prog_opendir.c
--- old/libnfs-libnfs-3.0.0/tests/prog_opendir.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libnfs-libnfs-4.0.0/tests/prog_opendir.c 2019-02-12 22:38:04.000000000 +0100
@@ -0,0 +1,99 @@
+/* -*- mode:c; tab-width:8; c-basic-offset:8; indent-tabs-mode:nil; -*- */
+/*
+ Copyright (C) by Ronnie Sahlberg <ronniesahlberg(a)gmail.com> 2017
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define _FILE_OFFSET_BITS 64
+#define _GNU_SOURCE
+
+#include <fcntl.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include "libnfs.h"
+
+void usage(void)
+{
+ fprintf(stderr, "Usage: prog_opendir <url> <cwd> <path>\n");
+ exit(1);
+}
+
+int main(int argc, char *argv[])
+{
+ struct nfs_context *nfs = NULL;
+ struct nfs_url *url = NULL;
+ struct nfsdirent *nfsdirent;
+ struct nfsdir *nfsdir;
+ int ret = 0;
+
+ if (argc != 4) {
+ usage();
+ }
+
+ nfs = nfs_init_context();
+ if (nfs == NULL) {
+ printf("failed to init context\n");
+ exit(1);
+ }
+
+ nfs_set_timeout(nfs, 300);
+
+ url = nfs_parse_url_full(nfs, argv[1]);
+ if (url == NULL) {
+ fprintf(stderr, "%s\n", nfs_get_error(nfs));
+ exit(1);
+ }
+
+ if (nfs_mount(nfs, url->server, url->path) != 0) {
+ fprintf(stderr, "Failed to mount nfs share : %s\n",
+ nfs_get_error(nfs));
+ ret = 1;
+ goto finished;
+ }
+
+ if (nfs_chdir(nfs, argv[2]) != 0) {
+ fprintf(stderr, "Failed to chdir to \"%s\" : %s\n",
+ argv[2], nfs_get_error(nfs));
+ ret = 1;
+ goto finished;
+ }
+
+ if (nfs_opendir(nfs, argv[3], &nfsdir)) {
+ fprintf(stderr, "Failed to opendir() : %s\n",
+ nfs_get_error(nfs));
+ ret = 1;
+ goto finished;
+ }
+
+ while((nfsdirent = nfs_readdir(nfs, nfsdir)) != NULL) {
+ if (!strcmp(nfsdirent->name, ".") || !strcmp(nfsdirent->name, "..")) {
+ continue;
+ }
+ printf("%s\n", nfsdirent->name);
+ }
+ nfs_closedir(nfs, nfsdir);
+
+finished:
+ nfs_destroy_url(url);
+ nfs_destroy_context(nfs);
+
+ return ret;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/prog_statvfs.c new/libnfs-libnfs-4.0.0/tests/prog_statvfs.c
--- old/libnfs-libnfs-3.0.0/tests/prog_statvfs.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/tests/prog_statvfs.c 2019-02-12 22:38:04.000000000 +0100
@@ -40,7 +40,7 @@
{
struct nfs_context *nfs = NULL;
struct nfs_url *url = NULL;
- struct statvfs svfs;
+ struct nfs_statvfs_64 svfs;
int ret = 0;
if (argc != 4) {
@@ -75,23 +75,23 @@
goto finished;
}
- if (nfs_statvfs(nfs, argv[3], &svfs)) {
- fprintf(stderr, "statvfs failed : %s\n",
+ if (nfs_statvfs64(nfs, argv[3], &svfs)) {
+ fprintf(stderr, "statvfs64 failed : %s\n",
nfs_get_error(nfs));
ret = 1;
goto finished;
}
- printf("bsize:%lu\n", svfs.f_bsize);
- printf("frsize:%lu\n", svfs.f_frsize);
- printf("blocks:%lu\n", svfs.f_blocks);
- printf("bfree:%lu\n", svfs.f_bfree);
- printf("bavail:%lu\n", svfs.f_bavail);
- printf("files:%lu\n", svfs.f_files);
- printf("ffree:%lu\n", svfs.f_ffree);
- printf("favail:%lu\n", svfs.f_favail);
- printf("fsid:%lu\n", svfs.f_fsid);
- printf("namemax:%lu\n", svfs.f_namemax);
+ printf("bsize:%" PRIu64 "\n", svfs.f_bsize);
+ printf("frsize:%" PRIu64 "\n", svfs.f_frsize);
+ printf("blocks:%" PRIu64 "\n", svfs.f_blocks);
+ printf("bfree:%" PRIu64 "\n", svfs.f_bfree);
+ printf("bavail:%" PRIu64 "\n", svfs.f_bavail);
+ printf("files:%" PRIu64 "\n", svfs.f_files);
+ printf("ffree:%" PRIu64 "\n", svfs.f_ffree);
+ printf("favail:%" PRIu64 "\n", svfs.f_favail);
+ printf("fsid:%" PRIu64 "\n", svfs.f_fsid);
+ printf("namemax:%" PRIu64 "\n", svfs.f_namemax);
finished:
nfs_destroy_url(url);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/tests/test_0460_opendir.sh new/libnfs-libnfs-4.0.0/tests/test_0460_opendir.sh
--- old/libnfs-libnfs-3.0.0/tests/test_0460_opendir.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/libnfs-libnfs-4.0.0/tests/test_0460_opendir.sh 2019-02-12 22:38:04.000000000 +0100
@@ -0,0 +1,58 @@
+#!/bin/sh
+#
+# NFS servers generally want us to be root in order to create device nodes.
+# We can lie and impersonate root by setting uid=0 in the URL.
+
+. ./functions.sh
+
+echo "NFSv${VERS} Basic opendir test."
+
+start_share
+
+mkdir "${TESTDIR}/subdir"
+mkdir "${TESTDIR}/subdir/subdir2"
+touch "${TESTDIR}/subdir/subdir2/file"
+
+echo -n "Open '.' in the root directory (1)... "
+./prog_opendir "${TESTURL}/?uid=0&version=${VERS}" "." "." > "${TESTDIR}/output" || failure
+success
+
+echo -n "Check the directory listing ... "
+grep "^subdir$" "${TESTDIR}/output" >/dev/null || failure
+success
+
+echo -n "Open a subdir in the root directory (2)... "
+./prog_opendir "${TESTURL}/?uid=0&version=${VERS}" "." "subdir" > "${TESTDIR}/output" || failure
+success
+
+echo -n "Check the directory listing ... "
+grep "^subdir2$" "${TESTDIR}/output" >/dev/null || failure
+success
+
+echo -n "Open '.' in a subdir (3)... "
+./prog_opendir "${TESTURL}/?uid=0&version=${VERS}" "subdir" "." > "${TESTDIR}/output" || failure
+success
+
+echo -n "Check the directory listing ... "
+grep "^subdir2$" "${TESTDIR}/output" >/dev/null || failure
+success
+
+echo -n "Open 'subdir2' in a subdir (4)... "
+./prog_opendir "${TESTURL}/?uid=0&version=${VERS}" "subdir" "subdir2" > "${TESTDIR}/output" || failure
+success
+
+echo -n "Check the directory listing ... "
+grep "^file$" "${TESTDIR}/output" >/dev/null || failure
+success
+
+echo -n "Open '..' in a subdir (5)... "
+./prog_opendir "${TESTURL}/?uid=0&version=${VERS}" "subdir/subdir2" ".." > "${TESTDIR}/output" || failure
+success
+
+echo -n "Check the directory listing ... "
+grep "^subdir2$" "${TESTDIR}/output" >/dev/null || failure
+success
+
+stop_share
+
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnfs-libnfs-3.0.0/utils/nfs-cp.c new/libnfs-libnfs-4.0.0/utils/nfs-cp.c
--- old/libnfs-libnfs-3.0.0/utils/nfs-cp.c 2018-06-24 00:53:52.000000000 +0200
+++ new/libnfs-libnfs-4.0.0/utils/nfs-cp.c 2019-02-12 22:38:04.000000000 +0100
@@ -197,8 +197,9 @@
return NULL;
}
} else {
- if (nfs_creat(file_context->nfs, file_context->url->file, 0660,
- &file_context->nfsfh) != 0) {
+ if (nfs_create(file_context->nfs, file_context->url->file,
+ flags, 0660,
+ &file_context->nfsfh) != 0) {
fprintf(stderr, "Failed to creat file %s: %s\n",
file_context->url->file,
nfs_get_error(file_context->nfs));
@@ -241,7 +242,7 @@
return 10;
}
- dst = open_file(argv[2], O_WRONLY|O_CREAT|O_TRUNC);
+ dst = open_file(argv[2], O_WRONLY|O_CREAT|O_EXCL|O_TRUNC);
if (dst == NULL) {
fprintf(stderr, "Failed to open %s\n", argv[2]);
free_file_context(src);
1
0
Hello community,
here is the log from the commit of package glib2 for openSUSE:Factory checked in at 2019-07-31 14:11:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glib2 (Old)
and /work/SRC/openSUSE:Factory/.glib2.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glib2"
Wed Jul 31 14:11:50 2019 rev:214 rq:718307 version:2.60.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/glib2/glib2.changes 2019-07-21 11:31:32.504805708 +0200
+++ /work/SRC/openSUSE:Factory/.glib2.new.4126/glib2.changes 2019-07-31 14:11:53.594955345 +0200
@@ -1,0 +2,12 @@
+Wed Jul 24 11:38:32 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.60.6:
+ + Fix various bugs with use of the `GKeyfileSettingsBackend`
+ within flatpaks (glgo#GNOME/GLib!984, glgo#GNOME/GLib!985,
+ glgo#GNOME/GLib#1825).
+ + Bugs fixed: glgo#GNOME/GLib!993, glgo#GNOME/GLib!984,
+ glgo#GNOME/GLib!985.
+- Drop glib2-keyfile-handle-filename-being-null.patch: Fixed
+ upstream.
+
+-------------------------------------------------------------------
Old:
----
glib-2.60.5.tar.xz
glib2-keyfile-handle-filename-being-null.patch
New:
----
glib-2.60.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glib2.spec ++++++
--- /var/tmp/diff_new_pack.PN2H8M/_old 2019-07-31 14:11:55.582954659 +0200
+++ /var/tmp/diff_new_pack.PN2H8M/_new 2019-07-31 14:11:55.590954656 +0200
@@ -19,7 +19,7 @@
# systemtap is only offered as build-option, but not enabled, as it causes a build cycle
%bcond_with systemtap
Name: glib2
-Version: 2.60.5
+Version: 2.60.6
Release: 0
Summary: General-Purpose Utility Library
License: LGPL-2.1-or-later
@@ -47,8 +47,6 @@
Patch3: glib2-dbus-socket-path.patch
# PATCH-FIX-OPENSUSE glib2-gdbus-codegen-version.patch olaf(a)aepfle.de -- Remove version string from files generated by gdbus-codegen
Patch4: glib2-gdbus-codegen-version.patch
-# PATCH-FIX-UPSTREAM glib2-keyfile-handle-filename-being-null.patch -- key file: Handle filename being NULL
-Patch5: glib2-keyfile-handle-filename-being-null.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
@@ -257,7 +255,6 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} .
cp -a %{SOURCE4} gnome_defaults.conf
# replace /usr/bin/env shebangs
++++++ glib-2.60.5.tar.xz -> glib-2.60.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.60.5/NEWS new/glib-2.60.6/NEWS
--- old/glib-2.60.5/NEWS 2019-07-09 12:59:38.000000000 +0200
+++ new/glib-2.60.6/NEWS 2019-07-24 12:52:03.000000000 +0200
@@ -1,3 +1,12 @@
+Overview of changes in GLib 2.60.6
+==================================
+
+* Fix various bugs with use of the `GKeyfileSettingsBackend` within flatpaks (!984, !985, #1825)
+
+* Bugs fixed:
+ - !993 Backport !984, !985 keyfile/portal fixes to glib-2-60
+
+
Overview of changes in GLib 2.60.5
==================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.60.5/gio/gkeyfilesettingsbackend.c new/glib-2.60.6/gio/gkeyfilesettingsbackend.c
--- old/glib-2.60.5/gio/gkeyfilesettingsbackend.c 2019-07-09 12:59:38.000000000 +0200
+++ new/glib-2.60.6/gio/gkeyfilesettingsbackend.c 2019-07-24 12:52:04.000000000 +0200
@@ -80,7 +80,7 @@
#ifdef G_OS_WIN32
#define EXTENSION_PRIORITY 10
#else
-#define EXTENSION_PRIORITY (glib_should_use_portal () ? 110 : 10)
+#define EXTENSION_PRIORITY (glib_should_use_portal () && !glib_has_dconf_access_in_sandbox () ? 110 : 10)
#endif
G_DEFINE_TYPE_WITH_CODE (GKeyfileSettingsBackend,
@@ -740,7 +740,8 @@
case PROP_FILENAME:
/* Construct only. */
g_assert (kfsb->file == NULL);
- kfsb->file = g_file_new_for_path (g_value_get_string (value));
+ if (g_value_get_string (value))
+ kfsb->file = g_file_new_for_path (g_value_get_string (value));
break;
case PROP_ROOT_PATH:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.60.5/gio/gportalsupport.c new/glib-2.60.6/gio/gportalsupport.c
--- old/glib-2.60.5/gio/gportalsupport.c 2019-07-09 12:59:39.000000000 +0200
+++ new/glib-2.60.6/gio/gportalsupport.c 2019-07-24 12:52:04.000000000 +0200
@@ -23,6 +23,7 @@
static gboolean flatpak_info_read;
static gboolean use_portal;
static gboolean network_available;
+static gboolean dconf_access;
static void
read_flatpak_info (void)
@@ -40,11 +41,13 @@
use_portal = TRUE;
network_available = FALSE;
+ dconf_access = FALSE;
keyfile = g_key_file_new ();
if (g_key_file_load_from_file (keyfile, path, G_KEY_FILE_NONE, NULL))
{
char **shared = NULL;
+ char *dconf_policy = NULL;
shared = g_key_file_get_string_list (keyfile, "Context", "shared", NULL, NULL);
if (shared)
@@ -52,6 +55,14 @@
network_available = g_strv_contains ((const char * const *)shared, "network");
g_strfreev (shared);
}
+
+ dconf_policy = g_key_file_get_string (keyfile, "Session Bus Policy", "ca.desrt.dconf", NULL);
+ if (dconf_policy)
+ {
+ if (strcmp (dconf_policy, "talk") == 0)
+ dconf_access = TRUE;
+ g_free (dconf_policy);
+ }
}
g_key_file_unref (keyfile);
@@ -64,6 +75,7 @@
if (var && var[0] == '1')
use_portal = TRUE;
network_available = TRUE;
+ dconf_access = TRUE;
}
}
@@ -81,3 +93,9 @@
return network_available;
}
+gboolean
+glib_has_dconf_access_in_sandbox (void)
+{
+ read_flatpak_info ();
+ return dconf_access;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.60.5/gio/gportalsupport.h new/glib-2.60.6/gio/gportalsupport.h
--- old/glib-2.60.5/gio/gportalsupport.h 2019-07-09 12:59:39.000000000 +0200
+++ new/glib-2.60.6/gio/gportalsupport.h 2019-07-24 12:52:04.000000000 +0200
@@ -24,6 +24,7 @@
gboolean glib_should_use_portal (void);
gboolean glib_network_available_in_sandbox (void);
+gboolean glib_has_dconf_access_in_sandbox (void);
G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.60.5/meson.build new/glib-2.60.6/meson.build
--- old/glib-2.60.5/meson.build 2019-07-09 12:59:39.000000000 +0200
+++ new/glib-2.60.6/meson.build 2019-07-24 12:52:04.000000000 +0200
@@ -1,5 +1,5 @@
project('glib', 'c', 'cpp',
- version : '2.60.5',
+ version : '2.60.6',
meson_version : '>= 0.48.0',
default_options : [
'buildtype=debugoptimized',
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-07-30 21:07:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue Jul 30 21:07:20 2019 rev:437 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.1:update_1564472970.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-07-30 21:07:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue Jul 30 21:07:17 2019 rev:436 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1564506479.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-07-30 19:11:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue Jul 30 19:11:56 2019 rev:1467 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.807920675 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.807920675 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190729,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190730,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.819920672 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.819920672 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190729,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190730,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190729/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190730/…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.843920669 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.843920669 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190729,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190730,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.851920667 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.851920667 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190729,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190730,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.863920665 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.863920665 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190729,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190730,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -3337,6 +3337,7 @@
<repopackage name="mutter-data"/>
<repopackage name="mutter-lang"/>
<repopackage name="mxml"/>
+ <repopackage name="mypy"/>
<repopackage name="myspell-cs_CZ"/>
<repopackage name="myspell-da_DK"/>
<repopackage name="myspell-de"/>
@@ -3950,6 +3951,8 @@
<repopackage name="phalanx"/>
<repopackage name="phonon-backend-gstreamer"/>
<repopackage name="phonon4qt5-backend-gstreamer"/>
+ <repopackage name="phonon4qt5-backend-gstreamer-lang"/>
+ <repopackage name="phonon4qt5-lang"/>
<repopackage name="php7"/>
<repopackage name="php7-bcmath"/>
<repopackage name="php7-bz2"/>
@@ -4141,6 +4144,7 @@
<repopackage name="python-rpm-macros"/>
<repopackage name="python-sip-common"/>
<repopackage name="python-tk"/>
+ <repopackage name="python-typeshed"/>
<repopackage name="python-wxWidgets-3_0"/>
<repopackage name="python-wxWidgets-3_0-lang"/>
<repopackage name="python-xml"/>
@@ -4245,6 +4249,7 @@
<repopackage name="python3-matplotlib-cairo"/>
<repopackage name="python3-matplotlib-gtk3"/>
<repopackage name="python3-msgpack"/>
+ <repopackage name="python3-mypy_extensions"/>
<repopackage name="python3-netaddr"/>
<repopackage name="python3-numpy"/>
<repopackage name="python3-olefile"/>
@@ -4305,6 +4310,7 @@
<repopackage name="python3-tevent"/>
<repopackage name="python3-tornado"/>
<repopackage name="python3-Twisted"/>
+ <repopackage name="python3-typed-ast"/>
<repopackage name="python3-urllib3"/>
<repopackage name="python3-urwid"/>
<repopackage name="python3-zope.event"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.875920663 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.875920663 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190729,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190730,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -3543,6 +3543,7 @@
<repopackage name="mutter-data"/>
<repopackage name="mutter-lang"/>
<repopackage name="mxml"/>
+ <repopackage name="mypy"/>
<repopackage name="myspell-cs_CZ"/>
<repopackage name="myspell-da_DK"/>
<repopackage name="myspell-de"/>
@@ -4169,6 +4170,8 @@
<repopackage name="phalanx"/>
<repopackage name="phonon-backend-gstreamer"/>
<repopackage name="phonon4qt5-backend-gstreamer"/>
+ <repopackage name="phonon4qt5-backend-gstreamer-lang"/>
+ <repopackage name="phonon4qt5-lang"/>
<repopackage name="php7"/>
<repopackage name="php7-bcmath"/>
<repopackage name="php7-bz2"/>
@@ -4365,6 +4368,7 @@
<repopackage name="python-rpm-macros"/>
<repopackage name="python-sip-common"/>
<repopackage name="python-tk"/>
+ <repopackage name="python-typeshed"/>
<repopackage name="python-wxWidgets-3_0"/>
<repopackage name="python-wxWidgets-3_0-lang"/>
<repopackage name="python-xml"/>
@@ -4475,6 +4479,7 @@
<repopackage name="python3-matplotlib-cairo"/>
<repopackage name="python3-matplotlib-gtk3"/>
<repopackage name="python3-msgpack"/>
+ <repopackage name="python3-mypy_extensions"/>
<repopackage name="python3-netaddr"/>
<repopackage name="python3-networkx" arch="x86_64"/>
<repopackage name="python3-numpy"/>
@@ -4544,6 +4549,7 @@
<repopackage name="python3-tevent"/>
<repopackage name="python3-tornado"/>
<repopackage name="python3-Twisted"/>
+ <repopackage name="python3-typed-ast"/>
<repopackage name="python3-urllib3"/>
<repopackage name="python3-urwid"/>
<repopackage name="python3-virt-bootstrap" arch="x86_64"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.887920660 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.887920660 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190729" schemaversion="4.1">
+<image name="OBS__openSUSE___20190730" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -24,7 +24,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20190729-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190730-i586-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190729</productvar>
+ <productvar name="VERSION">20190730</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190729,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190730,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190729/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190730/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:00.967920647 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:00.971920646 +0200
@@ -3312,6 +3312,7 @@
<package name="mutter-data" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="mutter-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="mxml" supportstatus="unsupported"/> <!-- reason: dvd:patterns-desktop-technical_writing -->
+ <package name="mypy" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="myspell-cs_CZ" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="myspell-da_DK" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="myspell-de" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -3899,6 +3900,8 @@
<package name="phalanx" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="phonon-backend-gstreamer" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
<package name="phonon4qt5-backend-gstreamer" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
+ <package name="phonon4qt5-backend-gstreamer-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
+ <package name="phonon4qt5-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
<package name="php7" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-base-devel_web -->
<package name="php7-bcmath" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="php7-bz2" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
@@ -4090,6 +4093,7 @@
<package name="python-rpm-macros" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="python-sip-common" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python-tk" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_dvd -->
+ <package name="python-typeshed" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="python-wxWidgets-3_0" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python-wxWidgets-3_0-lang" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python-xml" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
@@ -4201,6 +4205,7 @@
<package name="python3-matplotlib-cairo" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python3-matplotlib-gtk3" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python3-msgpack" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
+ <package name="python3-mypy_extensions" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="python3-netaddr" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-numpy" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-directory_server -->
<package name="python3-olefile" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-directory_server -->
@@ -4211,7 +4216,7 @@
<package name="python3-pip" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="python3-ply" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-progressbar" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
- <package name="python3-psutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-xfce-xfce -->
+ <package name="python3-psutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="python3-ptyprocess" supportstatus="unsupported"/> <!-- reason: dvd:patterns-xfce-xfce -->
<package name="python3-py" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-pyOpenSSL" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
@@ -4254,6 +4259,7 @@
<package name="python3-tdb" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-tevent" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-tornado" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
+ <package name="python3-typed-ast" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="python3-urllib3" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-urwid" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python3-zope.event" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.fP7CY3/_old 2019-07-30 19:12:01.051920632 +0200
+++ /var/tmp/diff_new_pack.fP7CY3/_new 2019-07-30 19:12:01.055920631 +0200
@@ -3849,6 +3849,8 @@
- ghc-pandoc-devel
- ghc-pandoc-types
- ghc-pandoc-types-devel
+ - ghc-pantry
+ - ghc-pantry-devel
- ghc-parallel
- ghc-parallel-devel
- ghc-parsec
@@ -13416,7 +13418,6 @@
- mypaint-brushes
- mypaint-brushes-devel
- mypaint-lang
- - mypy
- myspell-af_NA
- myspell-af_ZA
- myspell-an
@@ -17099,7 +17100,6 @@
- python-troveclient
- python-troveclient-doc
- python-txsocksx
- - python-typeshed
- python-vips
- python-volatility
- python-watcherclient
@@ -17295,7 +17295,6 @@
- python2-WSGIProxy2
- python2-WSME
- python2-WTForms
- - python2-WTForms-lang
- python2-WebHelpers
- python2-WebOb
- python2-WebTest
@@ -17648,7 +17647,6 @@
- python2-cfscrape
- python2-cftime
- python2-chai
- - python2-characteristic
- python2-chardet
- python2-chart-studio
- python2-check-manifest
@@ -17696,7 +17694,6 @@
- python2-concurrentloghandler
- python2-configargparse
- python2-configobj
- - python2-configparser2
- python2-configshell-fb
- python2-confluent-kafka
- python2-confusable-homoglyphs
@@ -18096,7 +18093,6 @@
- python2-ipython-iptest
- python2-ipython_genutils
- python2-ipyvolume
- - python2-ipywebrtc
- python2-ipywidgets
- python2-ironicclient
- python2-iso8601
@@ -18703,7 +18699,6 @@
- python2-pytaglib
- python2-pyte
- python2-pytesseract
- - python2-pytest
- python2-pytest-arraydiff
- python2-pytest-astropy
- python2-pytest-attrib
@@ -18757,7 +18752,6 @@
- python2-pytest-sugar
- python2-pytest-super-check
- python2-pytest-svn
- - python2-pytest-test
- python2-pytest-testconfig
- python2-pytest-timeout
- python2-pytest-tldr
@@ -19211,7 +19205,6 @@
- python2-verboselogs
- python2-versioneer
- python2-versiontools
- - python2-veusz: [x86_64]
- python2-vim-vint
- python2-vine
- python2-virt-bootstrap: [x86_64]
@@ -19506,7 +19499,6 @@
- python3-WSGIProxy2
- python3-WSME
- python3-WTForms
- - python3-WTForms-lang
- python3-WeasyPrint
- python3-WebOb
- python3-WebTest
@@ -19875,7 +19867,6 @@
- python3-cfscrape
- python3-cftime
- python3-chai
- - python3-characteristic
- python3-chart-studio
- python3-check-manifest
- python3-cheroot
@@ -19923,7 +19914,6 @@
- python3-compizconfig
- python3-concurrentloghandler
- python3-configargparse
- - python3-configparser2
- python3-configshell-fb
- python3-confluent-kafka
- python3-confusable-homoglyphs
@@ -20635,7 +20625,6 @@
- python3-mutagen
- python3-mutt-ics
- python3-mygpoclient
- - python3-mypy_extensions
- python3-mysql-connector-python
- python3-mysqlclient
- python3-nagiosplugin
@@ -21099,7 +21088,6 @@
- python3-pytest-sugar
- python3-pytest-super-check
- python3-pytest-svn
- - python3-pytest-test
- python3-pytest-testconfig
- python3-pytest-timeout
- python3-pytest-tldr
@@ -21535,7 +21523,6 @@
- python3-txacme
- python3-txaio
- python3-txtorcon
- - python3-typed-ast
- python3-typing_extensions
- python3-tzlocal
- python3-u-msgpack-python
@@ -23815,7 +23802,7 @@
- tei_4
- telegraf
- telegram-desktop: [x86_64]
- - telegram-theme-adapta
+ - telegram-theme-adapta: [x86_64]
- telegram-theme-plata
- telemetrics-client
- telemetrics-client-devel
@@ -32792,6 +32779,7 @@
- ykclient
- ykpers
- yodl
+ - yomi-formula
- you-get
- you-get-bash-completion
- you-get-fish-completion
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-07-30 19:11:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Jul 30 19:11:51 2019 rev:213 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.bKdtBM/_old 2019-07-30 19:11:56.267921468 +0200
+++ /var/tmp/diff_new_pack.bKdtBM/_new 2019-07-30 19:11:56.271921467 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190729)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190730)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190729
+Version: 20190730
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190729-0
+Provides: product(openSUSE-Addon-NonOss) = 20190730-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190729
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190730
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190729</version>
+ <version>20190730</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190729</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190730</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.bKdtBM/_old 2019-07-30 19:11:56.283921465 +0200
+++ /var/tmp/diff_new_pack.bKdtBM/_new 2019-07-30 19:11:56.287921464 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190729
+Version: 20190730
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -40,9 +40,9 @@
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64
Provides: %name-%version
Provides: product() = openSUSE-MicroOS
-Provides: product(openSUSE-MicroOS) = 20190729-0
+Provides: product(openSUSE-MicroOS) = 20190730-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190729
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190730
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(openSUSE-MicroOS)
@@ -58,7 +58,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190729-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190730-0
Summary: openSUSE MicroOS
%description dvd
@@ -74,7 +74,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(kubic-dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190729-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190730-0
Summary: openSUSE MicroOS
%description kubic-dvd
@@ -90,7 +90,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE-MicroOS) = 20190729-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190730-0
Summary: openSUSE MicroOS
%description appliance
@@ -106,7 +106,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kubic)
-Provides: product_flavor(openSUSE-MicroOS) = 20190729-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190730-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190729</version>
+ <version>20190730</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190729</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190730</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.bKdtBM/_old 2019-07-30 19:11:56.299921462 +0200
+++ /var/tmp/diff_new_pack.bKdtBM/_new 2019-07-30 19:11:56.303921462 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190729
+Version: 20190730
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -55,7 +55,7 @@
Obsoletes: aaa_version
Obsoletes: openSUSE-Promo-release <= 11.1
Obsoletes: openSUSE-release-live <= 11.0
-Obsoletes: product_flavor(%{product}) < 20190729
+Obsoletes: product_flavor(%{product}) < 20190730
# bnc#826592
Provides: weakremover(kernel-default) < 3.11
Provides: weakremover(kernel-desktop) < 4.2
@@ -183,7 +183,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20190729-0
+Provides: product(openSUSE) = 20190730-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -197,7 +197,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190729
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190730
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description livecd-kde
@@ -271,7 +271,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description livecd-x11
@@ -286,7 +286,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description livecd-gnome
@@ -301,7 +301,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description livecd-xfce
@@ -316,7 +316,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description usb-kde
@@ -331,7 +331,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description usb-gnome
@@ -346,7 +346,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190729-0
+Provides: product_flavor(openSUSE) = 20190730-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190729</version>
+ <version>20190730</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190729</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190730</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.bKdtBM/_old 2019-07-30 19:11:56.375921449 +0200
+++ /var/tmp/diff_new_pack.bKdtBM/_new 2019-07-30 19:11:56.375921449 +0200
@@ -5195,7 +5195,6 @@
Provides: weakremover(python3-jupyter_nbformat-doc-html)
Provides: weakremover(python3-kde4-akonadi)
Provides: weakremover(python3-nose-doc)
-Provides: weakremover(python3-pytest-doc)
Provides: weakremover(qtsharp)
Provides: weakremover(shellinabox)
Provides: weakremover(texlive-babel-ukraineb)
@@ -6080,6 +6079,7 @@
Provides: weakremover(python-oauth2client-test)
Provides: weakremover(python-openstack.nose_plugin)
Provides: weakremover(python-pass_python_keyring)
+Provides: weakremover(python-path.py)
Provides: weakremover(python-pathtools)
Provides: weakremover(python-piston-mini-client)
Provides: weakremover(python-proboscis)
@@ -6091,6 +6091,7 @@
Provides: weakremover(python-pyrrd)
Provides: weakremover(python-pyside-doc)
Provides: weakremover(python-pysnmp-utils)
+Provides: weakremover(python-pytest)
Provides: weakremover(python-pytidylib6)
Provides: weakremover(python-qscintilla)
Provides: weakremover(python-qscintilla-sip)
@@ -15603,6 +15604,7 @@
Provides: weakremover(python-Sphinx1-doc-html)
Provides: weakremover(python-Sphinx1-doc-man)
Provides: weakremover(python-UcsSdk)
+Provides: weakremover(python-WTForms-lang)
Provides: weakremover(python-Werkzeug-doc)
Provides: weakremover(python-ZEO-doc)
Provides: weakremover(python-ZODB3)
@@ -15626,10 +15628,12 @@
Provides: weakremover(python-carrot)
Provides: weakremover(python-ceilometerclient)
Provides: weakremover(python-ceilometerclient-doc)
+Provides: weakremover(python-characteristic)
Provides: weakremover(python-clang)
Provides: weakremover(python-cliff-tablib)
Provides: weakremover(python-cloudfiles)
Provides: weakremover(python-cly)
+Provides: weakremover(python-configparser2)
Provides: weakremover(python-configshell)
Provides: weakremover(python-configshell-doc)
Provides: weakremover(python-configshell-fb)
@@ -15841,6 +15845,7 @@
Provides: weakremover(python-usb)
Provides: weakremover(python-utidy)
Provides: weakremover(python-utidy-devel-doc)
+Provides: weakremover(python-veusz)
Provides: weakremover(python-vte)
Provides: weakremover(python-webkitgtk)
Provides: weakremover(python-webkitgtk-devel)
@@ -15882,8 +15887,10 @@
Provides: weakremover(python2-boost_parallel_mpi1_66_0)
Provides: weakremover(python2-boost_parallel_mpi1_68_0)
Provides: weakremover(python2-ceilometerclient)
+Provides: weakremover(python2-characteristic)
Provides: weakremover(python2-cliff-tablib)
Provides: weakremover(python2-coconut)
+Provides: weakremover(python2-configparser2)
Provides: weakremover(python2-configshell)
Provides: weakremover(python2-configshell-fb-doc)
Provides: weakremover(python2-cssselect2)
@@ -15910,6 +15917,7 @@
Provides: weakremover(python2-humanfriendly-test)
Provides: weakremover(python2-hypothesis-test)
Provides: weakremover(python2-imbox)
+Provides: weakremover(python2-ipywebrtc)
Provides: weakremover(python2-irc)
Provides: weakremover(python2-jellyfish)
Provides: weakremover(python2-jupyter)
@@ -15967,8 +15975,10 @@
Provides: weakremover(python2-pyowm)
Provides: weakremover(python2-pyparsing-doc)
Provides: weakremover(python2-pyparsing-test)
+Provides: weakremover(python2-pytest)
Provides: weakremover(python2-pytest-cache)
Provides: weakremover(python2-pytest-random-order)
+Provides: weakremover(python2-pytest-test)
Provides: weakremover(python2-qscintilla-qt4)
Provides: weakremover(python2-requests-test)
Provides: weakremover(python2-setuptools_scm-test)
@@ -15985,6 +15995,7 @@
Provides: weakremover(python2-trello)
Provides: weakremover(python2-urllib3-test)
Provides: weakremover(python2-vdirsyncer)
+Provides: weakremover(python2-veusz)
Provides: weakremover(python2-xarray)
Provides: weakremover(python2-xcb-proto-devel)
Provides: weakremover(python2-yubico)
@@ -16007,7 +16018,9 @@
Provides: weakremover(python3-boost_parallel_mpi1_68_0)
Provides: weakremover(python3-bpython-doc)
Provides: weakremover(python3-ceilometerclient)
+Provides: weakremover(python3-characteristic)
Provides: weakremover(python3-cliff-tablib)
+Provides: weakremover(python3-configparser2)
Provides: weakremover(python3-configshell-fb-doc)
Provides: weakremover(python3-dfVFS)
Provides: weakremover(python3-discover)
@@ -16075,6 +16088,7 @@
Provides: weakremover(python3-pyside-shiboken)
Provides: weakremover(python3-pyside-shiboken-doc)
Provides: weakremover(python3-pytest-cache)
+Provides: weakremover(python3-pytest-test)
Provides: weakremover(python3-pyx-doc)
Provides: weakremover(python3-qscintilla-qt4)
Provides: weakremover(python3-requests-test)
@@ -20687,7 +20701,6 @@
Provides: weakremover(patterns-base-32bit)
Provides: weakremover(patterns-server-xen_server)
Provides: weakremover(podman)
-Provides: weakremover(python2-veusz)
Provides: weakremover(python3-veusz)
Provides: weakremover(scilab)
Provides: weakremover(scilab-devel)
1
0
Hello community,
here is the log from the commit of package ucode-intel for openSUSE:Factory checked in at 2019-07-30 14:02:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ucode-intel (Old)
and /work/SRC/openSUSE:Factory/.ucode-intel.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ucode-intel"
Tue Jul 30 14:02:07 2019 rev:45 rq:719407 version:20190618
Changes:
--------
--- /work/SRC/openSUSE:Factory/ucode-intel/ucode-intel.changes 2019-05-16 22:02:22.950694575 +0200
+++ /work/SRC/openSUSE:Factory/.ucode-intel.new.4126/ucode-intel.changes 2019-07-30 14:02:11.888964735 +0200
@@ -1,0 +2,9 @@
+Wed Jul 17 07:16:15 UTC 2019 - Marcus Meissner <meissner(a)suse.com>
+
+- Updated to 20190618 release (bsc#1111331 CVE-2018-12126 CVE-2018-12130 CVE-2018-12127 CVE-2019-11091)
+
+ ---- updated platforms ------------------------------------
+ SNB-E/EN/EP C1/M0 6-2d-6/6d 0000061d->0000061f Xeon E3/E5, Core X
+ SNB-E/EN/EP C2/M1 6-2d-7/6d 00000714->00000718 Xeon E3/E5, Core X
+
+-------------------------------------------------------------------
Old:
----
microcode-20190514.tar.gz
New:
----
microcode-20190618.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ucode-intel.spec ++++++
--- /var/tmp/diff_new_pack.ZcS0Om/_old 2019-07-30 14:02:12.788964119 +0200
+++ /var/tmp/diff_new_pack.ZcS0Om/_new 2019-07-30 14:02:12.788964119 +0200
@@ -17,7 +17,7 @@
Name: ucode-intel
-Version: 20190514
+Version: 20190618
Release: 0
Summary: Microcode Updates for Intel x86/x86-64 CPUs
License: SUSE-Firmware
@@ -49,7 +49,7 @@
cp intel-ucode/* %{buildroot}/lib/firmware/intel-ucode
cd intel-ucode-with-caveats
for microcode in *;do
- cp $microcode %{buildroot}/lib/firmware/intel-ucode/$microcode.early
+ cp $microcode %{buildroot}/lib/firmware/intel-ucode/$microcode
done
%post
++++++ microcode-20190514.tar.gz -> microcode-20190618.tar.gz ++++++
Binary files old/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190514/intel-ucode/06-2d-06 and new/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190618/intel-ucode/06-2d-06 differ
Binary files old/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190514/intel-ucode/06-2d-07 and new/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190618/intel-ucode/06-2d-07 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190514/releasenote new/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190618/releasenote
--- old/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190514/releasenote 2019-05-14 17:24:17.000000000 +0200
+++ new/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190618/releasenote 2019-06-19 01:28:57.000000000 +0200
@@ -82,48 +82,12 @@
linux-kernel-patches\) are included in the distribution before packaging the
BDX-ML microcode for late-loading.
-== 20190514 Release ==
--- Updates upon 20190312 release --
+== 20190618 Release ==
+-- Updates upon 20190514 release --
Processor Identifier Version Products
Model Stepping F-MO-S/PI Old->New
---- new platforms ----------------------------------------
-VLV C0 6-37-8/02 00000838 Atom Z series
-VLV C0 6-37-8/0C 00000838 Celeron N2xxx, Pentium N35xx
-VLV D0 6-37-9/0F 0000090c Atom E38xx
-CHV C0 6-4c-3/01 00000368 Atom X series
-CHV D0 6-4c-4/01 00000411 Atom X series
-CLX-SP B1 6-55-7/bf 05000021 Xeon Scalable Gen2
+
---- updated platforms ------------------------------------
-SNB D2/G1/Q0 6-2a-7/12 0000002e->0000002f Core Gen2
-IVB E1/L1 6-3a-9/12 00000020->00000021 Core Gen3
-HSW C0 6-3c-3/32 00000025->00000027 Core Gen4
-BDW-U/Y E0/F0 6-3d-4/c0 0000002b->0000002d Core Gen5
-IVB-E/EP C1/M1/S1 6-3e-4/ed 0000042e->0000042f Core Gen3 X Series; Xeon E5 v2
-IVB-EX D1 6-3e-7/ed 00000714->00000715 Xeon E7 v2
-HSX-E/EP Cx/M1 6-3f-2/6f 00000041->00000043 Core Gen4 X series; Xeon E5 v3
-HSX-EX E0 6-3f-4/80 00000013->00000014 Xeon E7 v3
-HSW-U C0/D0 6-45-1/72 00000024->00000025 Core Gen4
-HSW-H C0 6-46-1/32 0000001a->0000001b Core Gen4
-BDW-H/E3 E0/G0 6-47-1/22 0000001e->00000020 Core Gen5
-SKL-U/Y D0/K1 6-4e-3/c0 000000c6->000000cc Core Gen6
-BDX-ML B0/M0/R0 6-4f-1/ef 0b00002e->00000036 Xeon E5/E7 v4; Core i7-69xx/68xx
-SKX-SP H0/M0/U0 6-55-4/b7 0200005a->0000005e Xeon Scalable
-SKX-D M1 6-55-4/b7 0200005a->0000005e Xeon D-21xx
-BDX-DE V1 6-56-2/10 00000019->0000001a Xeon D-1520/40
-BDX-DE V2/3 6-56-3/10 07000016->07000017 Xeon D-1518/19/21/27/28/31/33/37/41/48, Pentium D1507/08/09/17/19
-BDX-DE Y0 6-56-4/10 0f000014->0f000015 Xeon D-1557/59/67/71/77/81/87
-BDX-NS A0 6-56-5/10 0e00000c->0e00000d Xeon D-1513N/23/33/43/53
-APL D0 6-5c-9/03 00000036->00000038 Pentium N/J4xxx, Celeron N/J3xxx, Atom x5/7-E39xx
-SKL-H/S R0/N0 6-5e-3/36 000000c6->000000cc Core Gen6; Xeon E3 v5
-DNV B0 6-5f-1/01 00000024->0000002e Atom C Series
-GLK B0 6-7a-1/01 0000002c->0000002e Pentium Silver N/J5xxx, Celeron N/J4xxx
-AML-Y22 H0 6-8e-9/10 0000009e->000000b4 Core Gen8 Mobile
-KBL-U/Y H0 6-8e-9/c0 0000009a->000000b4 Core Gen7 Mobile
-CFL-U43e D0 6-8e-a/c0 0000009e->000000b4 Core Gen8 Mobile
-WHL-U W0 6-8e-b/d0 000000a4->000000b8 Core Gen8 Mobile
-WHL-U V0 6-8e-d/94 000000b2->000000b8 Core Gen8 Mobile
-KBL-G/H/S/E3 B0 6-9e-9/2a 0000009a->000000b4 Core Gen7; Xeon E3 v6
-CFL-H/S/E3 U0 6-9e-a/22 000000aa->000000b4 Core Gen8 Desktop, Mobile, Xeon E
-CFL-S B0 6-9e-b/02 000000aa->000000b4 Core Gen8
-CFL-H/S P0 6-9e-c/22 000000a2->000000ae Core Gen9
-CFL-H R0 6-9e-d/22 000000b0->000000b8 Core Gen9 Mobile
+SNB-E/EN/EP C1/M0 6-2d-6/6d 0000061d->0000061f Xeon E3/E5, Core X
+SNB-E/EN/EP C2/M1 6-2d-7/6d 00000714->00000718 Xeon E3/E5, Core X
1
0
Hello community,
here is the log from the commit of package perl-HTTP-Daemon for openSUSE:Factory checked in at 2019-07-30 14:02:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-HTTP-Daemon (Old)
and /work/SRC/openSUSE:Factory/.perl-HTTP-Daemon.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-HTTP-Daemon"
Tue Jul 30 14:02:01 2019 rev:11 rq:719394 version:6.05
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-HTTP-Daemon/perl-HTTP-Daemon.changes 2019-04-04 14:12:46.977309768 +0200
+++ /work/SRC/openSUSE:Factory/.perl-HTTP-Daemon.new.4126/perl-HTTP-Daemon.changes 2019-07-30 14:02:02.612971082 +0200
@@ -1,0 +2,15 @@
+Sat Jul 27 05:10:35 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 6.05
+ see /usr/share/doc/packages/perl-HTTP-Daemon/Changes
+
+ 6.05 2019-07-26 20:41:05Z
+ - Added the .perltidyrc from the libwww-perl distribution
+ - Tidied the test suite with perltidy
+ - Tidied Daemon.pm
+ - Turned on EOL and tab tests
+ - Removed obvious indirect object syntax in test suite
+ - Added IPv6 support. (GH#24) Thanks, @ppisar and @intrigeri
+ - Added IO::Socket::IP as a prerequisite rather than IO::Socket::INET
+
+-------------------------------------------------------------------
Old:
----
HTTP-Daemon-6.04.tar.gz
New:
----
HTTP-Daemon-6.05.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-HTTP-Daemon.spec ++++++
--- /var/tmp/diff_new_pack.RlxMgx/_old 2019-07-30 14:02:03.616970396 +0200
+++ /var/tmp/diff_new_pack.RlxMgx/_new 2019-07-30 14:02:03.616970396 +0200
@@ -17,14 +17,14 @@
Name: perl-HTTP-Daemon
-Version: 6.04
+Version: 6.05
Release: 0
%define cpan_name HTTP-Daemon
Summary: Simple http server class
License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
Url: https://metacpan.org/release/%{cpan_name}
-Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/%{cpan_name}-%{version}.t…
+Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -34,6 +34,7 @@
BuildRequires: perl(HTTP::Request) >= 6
BuildRequires: perl(HTTP::Response) >= 6
BuildRequires: perl(HTTP::Status) >= 6
+BuildRequires: perl(IO::Socket::IP)
BuildRequires: perl(LWP::MediaTypes) >= 6
BuildRequires: perl(Module::Build::Tiny) >= 0.034
BuildRequires: perl(Module::Metadata)
@@ -43,18 +44,18 @@
Requires: perl(HTTP::Request) >= 6
Requires: perl(HTTP::Response) >= 6
Requires: perl(HTTP::Status) >= 6
+Requires: perl(IO::Socket::IP)
Requires: perl(LWP::MediaTypes) >= 6
%{perl_requires}
%description
Instances of the 'HTTP::Daemon' class are HTTP/1.1 servers that listen on a
socket for incoming requests. The 'HTTP::Daemon' is a subclass of
-'IO::Socket::INET', so you can perform socket operations directly on it
-too.
+'IO::Socket::IP', so you can perform socket operations directly on it too.
The accept() method will return when a connection from a client is
available. The returned value will be an 'HTTP::Daemon::ClientConn' object
-which is another 'IO::Socket::INET' subclass. Calling the get_request()
+which is another 'IO::Socket::IP' subclass. Calling the get_request()
method on this object will read data from the client and return an
'HTTP::Request' object. The ClientConn object also provide methods to send
back various responses.
++++++ HTTP-Daemon-6.04.tar.gz -> HTTP-Daemon-6.05.tar.gz ++++++
++++ 3859 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-jupyter_client for openSUSE:Factory checked in at 2019-07-30 14:01:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter_client (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter_client.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter_client"
Tue Jul 30 14:01:55 2019 rev:10 rq:719302 version:5.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter_client/python-jupyter_client-doc.changes 2019-05-22 11:05:14.598574957 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter_client.new.4126/python-jupyter_client-doc.changes 2019-07-30 14:01:56.468975287 +0200
@@ -1,0 +2,16 @@
+Sat Jul 27 23:06:22 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 5.3.1
+ * Fix bug with control channel socket introduced in 5.3.0
+- Update to 5.3.0
+ + New Features:
+ * Multiprocessing and Threading support
+ * Setup package long_description
+ + Changes:
+ * Control channel now in the public API
+ * Closing Jupyter Client is now faster
+ * Pip support improvements
+ + Breaking changes:
+ * Dropped support for Python 3.3 and 3.4 (upstream packages dropped support already)
+
+-------------------------------------------------------------------
python-jupyter_client.changes: same change
Old:
----
jupyter_client-5.2.4.tar.gz
New:
----
jupyter_client-5.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter_client-doc.spec ++++++
--- /var/tmp/diff_new_pack.UZLBXb/_old 2019-07-30 14:01:57.336974693 +0200
+++ /var/tmp/diff_new_pack.UZLBXb/_new 2019-07-30 14:01:57.348974685 +0200
@@ -23,7 +23,7 @@
%bcond_without html
%bcond_without tests
Name: python-jupyter_client-doc
-Version: 5.2.4
+Version: 5.3.1
Release: 0
Summary: Documentation for the Jupyter client libraries
License: BSD-3-Clause
++++++ python-jupyter_client.spec ++++++
--- /var/tmp/diff_new_pack.UZLBXb/_old 2019-07-30 14:01:57.424974633 +0200
+++ /var/tmp/diff_new_pack.UZLBXb/_new 2019-07-30 14:01:57.432974628 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-jupyter_client
-Version: 5.2.4
+Version: 5.3.1
Release: 0
Summary: Jupyter protocol implementation and client libraries
License: BSD-3-Clause
++++++ jupyter_client-5.2.4.tar.gz -> jupyter_client-5.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/PKG-INFO new/jupyter_client-5.3.1/PKG-INFO
--- old/jupyter_client-5.2.4/PKG-INFO 2018-12-10 15:25:49.000000000 +0100
+++ new/jupyter_client-5.3.1/PKG-INFO 2019-07-09 23:25:14.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyter_client
-Version: 5.2.4
+Version: 5.3.1
Summary: Jupyter protocol implementation and client libraries
Home-page: https://jupyter.org
Author: Jupyter Development Team
@@ -9,7 +9,53 @@
Project-URL: Documentation, https://jupyter-client.readthedocs.io
Project-URL: Source, https://github.com/jupyter/jupyter_client/
Project-URL: Tracker, https://github.com/jupyter/jupyter_client/issues
-Description: UNKNOWN
+Description: # Jupyter Client
+
+ [![Code Health](https://landscape.io/github/jupyter/jupyter_client/master/landscape.svg?style=flat)](https://landscape.io/github/jupyter/jupyter_client/master)
+
+
+ `jupyter_client` contains the reference implementation of the [Jupyter protocol][].
+ It also provides client and kernel management APIs for working with kernels.
+
+ It also provides the `jupyter kernelspec` entrypoint
+ for installing kernelspecs for use with Jupyter frontends.
+
+ [Jupyter protocol]: https://jupyter-client.readthedocs.io/en/latest/messaging.html
+
+
+ # Development Setup
+
+ The [Jupyter Contributor Guides](http://jupyter.readthedocs.io/en/latest/contributor/content-contributor.html) provide extensive information on contributing code or documentation to Jupyter projects. The limited instructions below for setting up a development environment are for your convenience.
+
+ ## Coding
+
+ You'll need Python and `pip` on the search path. Clone the Jupyter Client git repository to your computer, for example in `/my/project/jupyter_client`.
+ Now create an [editable install](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs)
+ and download the dependencies of code and test suite by executing:
+
+ cd /my/projects/jupyter_client/
+ pip install -e .[test]
+ py.test
+
+ The last command runs the test suite to verify the setup. During development, you can pass filenames to `py.test`, and it will execute only those tests.
+
+ ## Documentation
+
+ The documentation of Jupyter Client is generated from the files in `docs/` using Sphinx. Instructions for setting up Sphinx with a selection of optional modules are in the [Documentation Guide](http://jupyter.readthedocs.io/en/latest/contrib_docs/index.html). You'll also need the `make` command.
+ For a minimal Sphinx installation to process the Jupyter Client docs, execute:
+
+ pip install ipykernel sphinx sphinx_rtd_theme
+
+ The following commands build the documentation in HTML format and check for broken links:
+
+ cd /my/projects/jupyter_client/docs/
+ make html linkcheck
+
+ Point your browser to the following URL to access the generated documentation:
+
+ _file:///my/projects/jupyter\_client/docs/\_build/html/index.html_
+
+
Keywords: Interactive,Interpreter,Shell,Web
Platform: Linux
Platform: Mac OS X
@@ -24,5 +70,6 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Description-Content-Type: text/markdown
Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/docs/changelog.rst new/jupyter_client-5.3.1/docs/changelog.rst
--- old/jupyter_client-5.2.4/docs/changelog.rst 2018-12-10 15:22:46.000000000 +0100
+++ new/jupyter_client-5.3.1/docs/changelog.rst 2019-07-09 23:23:30.000000000 +0200
@@ -4,6 +4,30 @@
Changes in Jupyter Client
=========================
+5.3.1
+=====
+
+- Fix bug with control channel socket introduced in 5.3.0 (:ghpull:`456`).
+
+5.3.0
+=====
+`5.3.0 on GitHub <https://github.com/jupyter/jupyter_client/milestones/5.3.0>`__
+
+New Features:
+
+- Multiprocessing and Threading support (:ghpull:`437`) and (:ghpull:`450`)
+- Setup package long_description (:ghpull:`411`)
+
+Changes:
+
+- Control channel now in the public API (:ghpull:`447`)
+- Closing Jupyter Client is now faster (:ghpull:`420`)
+- Pip support improvements (:ghpull:`421`)
+
+Breaking changes:
+
+- Dropped support for Python 3.3 and 3.4 (upstream packages dropped support already)
+
5.2.4
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/docs/messaging.rst new/jupyter_client-5.3.1/docs/messaging.rst
--- old/jupyter_client-5.2.4/docs/messaging.rst 2017-11-22 12:54:35.000000000 +0100
+++ new/jupyter_client-5.3.1/docs/messaging.rst 2019-07-09 22:04:55.000000000 +0200
@@ -351,9 +351,9 @@
# should not send these messages.
'allow_stdin' : True,
- # A boolean flag, which, if True, does not abort the execution queue, if an exception is encountered.
- # This allows the queued execution of multiple execute_requests, even if they generate exceptions.
- 'stop_on_error' : False,
+ # A boolean flag, which, if True, aborts the execution queue if an exception is encountered.
+ # If False, queued execute_requests will execute even if this request generates an exception.
+ 'stop_on_error' : True,
}
.. versionchanged:: 5.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/_version.py new/jupyter_client-5.3.1/jupyter_client/_version.py
--- old/jupyter_client-5.2.4/jupyter_client/_version.py 2018-12-10 15:20:11.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/_version.py 2019-07-09 23:24:11.000000000 +0200
@@ -1,4 +1,4 @@
-version_info = (5, 2, 4)
+version_info = (5, 3, 1)
__version__ = '.'.join(map(str, version_info))
protocol_version_info = (5, 3)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/channels.py new/jupyter_client-5.3.1/jupyter_client/channels.py
--- old/jupyter_client-5.2.4/jupyter_client/channels.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/channels.py 2019-07-09 22:04:55.000000000 +0200
@@ -7,7 +7,7 @@
import atexit
import errno
-from threading import Thread
+from threading import Thread, Event
import time
import zmq
@@ -73,6 +73,7 @@
# running is False until `.start()` is called
self._running = False
+ self._exit = Event()
# don't start paused
self._pause = False
self.poller = zmq.Poller()
@@ -138,7 +139,7 @@
while self._running:
if self._pause:
# just sleep, and skip the rest of the loop
- time.sleep(self.time_to_dead)
+ self._exit.wait(self.time_to_dead)
continue
since_last_heartbeat = 0.0
@@ -155,7 +156,7 @@
# sleep the remainder of the cycle
remainder = self.time_to_dead - (time.time() - request_time)
if remainder > 0:
- time.sleep(remainder)
+ self._exit.wait(remainder)
continue
else:
# nothing was received within the time limit, signal heart failure
@@ -184,6 +185,7 @@
def stop(self):
"""Stop the channel's event loop and join its thread."""
self._running = False
+ self._exit.set()
self.join()
self.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/client.py new/jupyter_client-5.3.1/jupyter_client/client.py
--- old/jupyter_client-5.2.4/jupyter_client/client.py 2018-07-30 11:52:36.000000000 +0200
+++ new/jupyter_client-5.3.1/jupyter_client/client.py 2019-07-08 22:06:08.000000000 +0200
@@ -51,7 +51,7 @@
# The PyZMQ Context to use for communication with the kernel.
context = Instance(zmq.Context)
def _context_default(self):
- return zmq.Context.instance()
+ return zmq.Context()
# The classes to use for the various channels
shell_channel_class = Type(ChannelABC)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/ioloop/manager.py new/jupyter_client-5.3.1/jupyter_client/ioloop/manager.py
--- old/jupyter_client-5.2.4/jupyter_client/ioloop/manager.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/ioloop/manager.py 2019-07-09 22:04:55.000000000 +0200
@@ -56,6 +56,7 @@
self._restarter.stop()
connect_shell = as_zmqstream(KernelManager.connect_shell)
+ connect_control = as_zmqstream(KernelManager.connect_control)
connect_iopub = as_zmqstream(KernelManager.connect_iopub)
connect_stdin = as_zmqstream(KernelManager.connect_stdin)
connect_hb = as_zmqstream(KernelManager.connect_hb)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/manager.py new/jupyter_client-5.3.1/jupyter_client/manager.py
--- old/jupyter_client-5.2.4/jupyter_client/manager.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/manager.py 2019-07-09 22:42:35.000000000 +0200
@@ -39,7 +39,7 @@
# The PyZMQ Context to use for communication with the kernel.
context = Instance(zmq.Context)
def _context_default(self):
- return zmq.Context.instance()
+ return zmq.Context()
# the class to create with our `client` method
client_class = DottedObjectName('jupyter_client.blocking.BlockingKernelClient')
@@ -207,7 +207,7 @@
def _connect_control_socket(self):
if self._control_socket is None:
- self._control_socket = self.connect_control()
+ self._control_socket = self._create_connected_socket('control')
self._control_socket.linger = 100
def _close_control_socket(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/multikernelmanager.py new/jupyter_client-5.3.1/jupyter_client/multikernelmanager.py
--- old/jupyter_client-5.2.4/jupyter_client/multikernelmanager.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/multikernelmanager.py 2019-07-09 22:04:55.000000000 +0200
@@ -47,7 +47,7 @@
)
kernel_spec_manager = Instance(KernelSpecManager, allow_none=True)
-
+
kernel_manager_class = DottedObjectName(
"jupyter_client.ioloop.IOLoopKernelManager", config=True,
help="""The kernel manager class. This is configurable to allow
@@ -63,7 +63,7 @@
context = Instance('zmq.Context')
def _context_default(self):
- return zmq.Context.instance()
+ return zmq.Context()
connection_dir = Unicode('')
@@ -274,6 +274,22 @@
Parameters
==========
+ kernel_id : uuid
+ The id of the kernel
+ identity : bytes (optional)
+ The zmq identity of the socket
+
+ Returns
+ =======
+ stream : zmq Socket or ZMQStream
+ """
+
+ @kernel_method
+ def connect_control(self, kernel_id, identity=None):
+ """Return a zmq Socket connected to the control channel.
+
+ Parameters
+ ==========
kernel_id : uuid
The id of the kernel
identity : bytes (optional)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/session.py new/jupyter_client-5.3.1/jupyter_client/session.py
--- old/jupyter_client-5.2.4/jupyter_client/session.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/session.py 2019-07-09 22:04:55.000000000 +0200
@@ -186,7 +186,7 @@
# not configurable:
context = Instance('zmq.Context')
def _context_default(self):
- return zmq.Context.instance()
+ return zmq.Context()
session = Instance('jupyter_client.session.Session',
allow_none=True)
@@ -300,10 +300,10 @@
"""
debug = Bool(False, config=True, help="""Debug output in the Session""")
-
+
check_pid = Bool(True, config=True,
help="""Whether to check PID to protect against calls after fork.
-
+
This check can be disabled if fork-safety is handled elsewhere.
""")
@@ -387,9 +387,9 @@
digest_mod = Any()
def _digest_mod_default(self):
return hashlib.sha256
-
+
auth = Instance(hmac.HMAC, allow_none=True)
-
+
def _new_auth(self):
if self.key:
self.auth = hmac.HMAC(self.key, digestmod=self.digest_mod)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/tests/test_kernelmanager.py new/jupyter_client-5.3.1/jupyter_client/tests/test_kernelmanager.py
--- old/jupyter_client-5.2.4/jupyter_client/tests/test_kernelmanager.py 2017-08-08 17:56:46.000000000 +0200
+++ new/jupyter_client-5.3.1/jupyter_client/tests/test_kernelmanager.py 2019-07-08 22:06:08.000000000 +0200
@@ -11,6 +11,9 @@
from subprocess import PIPE
import sys
import time
+import threading
+import multiprocessing as mp
+import pytest
from unittest import TestCase
from traitlets.config.loader import Config
@@ -28,7 +31,7 @@
def tearDown(self):
self.env_patch.stop()
-
+
def _install_test_kernel(self):
kernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', 'signaltest')
os.makedirs(kernel_dir)
@@ -127,3 +130,118 @@
self.assertTrue(km.is_alive())
self.assertTrue(kc.is_alive())
+
+(a)pytest.mark.parallel
+class TestParallel:
+
+ @pytest.fixture(autouse=True)
+ def env(self):
+ env_patch = test_env()
+ env_patch.start()
+ yield
+ env_patch.stop()
+
+ @pytest.fixture(params=['tcp', 'ipc'])
+ def transport(self, request):
+ return request.param
+
+ @pytest.fixture
+ def config(self, transport):
+ c = Config()
+ c.transport = transport
+ if transport == 'ipc':
+ c.ip = 'test'
+ return c
+
+ def _install_test_kernel(self):
+ kernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', 'signaltest')
+ os.makedirs(kernel_dir)
+ with open(pjoin(kernel_dir, 'kernel.json'), 'w') as f:
+ f.write(json.dumps({
+ 'argv': [sys.executable,
+ '-m', 'jupyter_client.tests.signalkernel',
+ '-f', '{connection_file}'],
+ 'display_name': "Signal Test Kernel",
+ }))
+
+ def test_start_sequence_kernels(self, config):
+ """Ensure that a sequence of kernel startups doesn't break anything."""
+
+ self._install_test_kernel()
+ self._run_signaltest_lifecycle(config)
+ self._run_signaltest_lifecycle(config)
+ self._run_signaltest_lifecycle(config)
+
+ def test_start_parallel_thread_kernels(self, config):
+ self._install_test_kernel()
+ self._run_signaltest_lifecycle(config)
+
+ thread = threading.Thread(target=self._run_signaltest_lifecycle, args=(config,))
+ thread2 = threading.Thread(target=self._run_signaltest_lifecycle, args=(config,))
+ try:
+ thread.start()
+ thread2.start()
+ finally:
+ thread.join()
+ thread2.join()
+
+ def test_start_parallel_process_kernels(self, config):
+ self._install_test_kernel()
+
+ self._run_signaltest_lifecycle(config)
+ thread = threading.Thread(target=self._run_signaltest_lifecycle, args=(config,))
+ proc = mp.Process(target=self._run_signaltest_lifecycle, args=(config,))
+ try:
+ thread.start()
+ proc.start()
+ finally:
+ thread.join()
+ proc.join()
+
+ assert proc.exitcode == 0
+
+ def test_start_sequence_process_kernels(self, config):
+ self._install_test_kernel()
+ self._run_signaltest_lifecycle(config)
+ proc = mp.Process(target=self._run_signaltest_lifecycle, args=(config,))
+ try:
+ proc.start()
+ finally:
+ proc.join()
+
+ assert proc.exitcode == 0
+
+ def _prepare_kernel(self, km, startup_timeout=TIMEOUT, **kwargs):
+ km.start_kernel(**kwargs)
+ kc = km.client()
+ kc.start_channels()
+ try:
+ kc.wait_for_ready(timeout=startup_timeout)
+ except RuntimeError:
+ kc.stop_channels()
+ km.shutdown_kernel()
+ raise
+
+ return kc
+
+ def _run_signaltest_lifecycle(self, config=None):
+ km = KernelManager(config=config, kernel_name='signaltest')
+ kc = self._prepare_kernel(km, stdout=PIPE, stderr=PIPE)
+
+ def execute(cmd):
+ kc.execute(cmd)
+ reply = kc.get_shell_msg(TIMEOUT)
+ content = reply['content']
+ assert content['status'] == 'ok'
+ return content
+
+ execute("start")
+ assert km.is_alive()
+ execute('check')
+ assert km.is_alive()
+
+ km.restart_kernel(now=True)
+ assert km.is_alive()
+ execute('check')
+
+ km.shutdown_kernel()
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/tests/test_multikernelmanager.py new/jupyter_client-5.3.1/jupyter_client/tests/test_multikernelmanager.py
--- old/jupyter_client-5.2.4/jupyter_client/tests/test_multikernelmanager.py 2017-08-08 17:56:46.000000000 +0200
+++ new/jupyter_client-5.3.1/jupyter_client/tests/test_multikernelmanager.py 2019-07-08 22:07:24.000000000 +0200
@@ -1,14 +1,21 @@
"""Tests for the notebook kernel and session manager."""
-from subprocess import PIPE
+import os
import time
-from unittest import TestCase
+import threading
+import multiprocessing as mp
+from subprocess import PIPE
+from unittest import TestCase
from traitlets.config.loader import Config
-from ..localinterfaces import localhost
from jupyter_client import KernelManager
from jupyter_client.multikernelmanager import MultiKernelManager
+
from .utils import skip_win32
+from ..localinterfaces import localhost
+
+TIMEOUT = 30
+
class TestKernelManager(TestCase):
@@ -83,3 +90,43 @@
def test_ipc_cinfo(self):
km = self._get_ipc_km()
self._run_cinfo(km, 'ipc', 'test')
+
+ def test_start_sequence_tcp_kernels(self):
+ """Ensure that a sequence of kernel startups doesn't break anything."""
+ self._run_lifecycle(self._get_tcp_km())
+ self._run_lifecycle(self._get_tcp_km())
+ self._run_lifecycle(self._get_tcp_km())
+
+
+ def test_start_sequence_tcp_kernels(self):
+ """Ensure that a sequence of kernel startups doesn't break anything."""
+ self._run_lifecycle(self._get_ipc_km())
+ self._run_lifecycle(self._get_ipc_km())
+ self._run_lifecycle(self._get_ipc_km())
+
+ def test_start_parallel_thread_kernels(self):
+ self.test_tcp_lifecycle()
+
+ thread = threading.Thread(target=self.test_tcp_lifecycle)
+ thread2 = threading.Thread(target=self.test_tcp_lifecycle)
+ try:
+ thread.start()
+ thread2.start()
+ finally:
+ thread.join()
+ thread2.join()
+
+ def test_start_parallel_process_kernels(self):
+ self.test_tcp_lifecycle()
+
+ thread = threading.Thread(target=self.test_tcp_lifecycle)
+ proc = mp.Process(target=self.test_tcp_lifecycle)
+
+ try:
+ thread.start()
+ proc.start()
+ finally:
+ thread.join()
+ proc.join()
+
+ assert proc.exitcode == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client/tests/test_session.py new/jupyter_client-5.3.1/jupyter_client/tests/test_session.py
--- old/jupyter_client-5.2.4/jupyter_client/tests/test_session.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client/tests/test_session.py 2019-07-09 22:04:55.000000000 +0200
@@ -83,7 +83,7 @@
self.assertIsInstance(self.session.auth, hmac.HMAC)
def test_send(self):
- ctx = zmq.Context.instance()
+ ctx = zmq.Context()
A = ctx.socket(zmq.PAIR)
B = ctx.socket(zmq.PAIR)
A.bind("inproc://test")
@@ -316,7 +316,7 @@
self._datetime_test(session)
def test_send_raw(self):
- ctx = zmq.Context.instance()
+ ctx = zmq.Context()
A = ctx.socket(zmq.PAIR)
B = ctx.socket(zmq.PAIR)
A.bind("inproc://test")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client.egg-info/PKG-INFO new/jupyter_client-5.3.1/jupyter_client.egg-info/PKG-INFO
--- old/jupyter_client-5.2.4/jupyter_client.egg-info/PKG-INFO 2018-12-10 15:25:48.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client.egg-info/PKG-INFO 2019-07-09 23:25:14.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyter-client
-Version: 5.2.4
+Version: 5.3.1
Summary: Jupyter protocol implementation and client libraries
Home-page: https://jupyter.org
Author: Jupyter Development Team
@@ -9,7 +9,53 @@
Project-URL: Documentation, https://jupyter-client.readthedocs.io
Project-URL: Source, https://github.com/jupyter/jupyter_client/
Project-URL: Tracker, https://github.com/jupyter/jupyter_client/issues
-Description: UNKNOWN
+Description: # Jupyter Client
+
+ [![Code Health](https://landscape.io/github/jupyter/jupyter_client/master/landscape.svg?style=flat)](https://landscape.io/github/jupyter/jupyter_client/master)
+
+
+ `jupyter_client` contains the reference implementation of the [Jupyter protocol][].
+ It also provides client and kernel management APIs for working with kernels.
+
+ It also provides the `jupyter kernelspec` entrypoint
+ for installing kernelspecs for use with Jupyter frontends.
+
+ [Jupyter protocol]: https://jupyter-client.readthedocs.io/en/latest/messaging.html
+
+
+ # Development Setup
+
+ The [Jupyter Contributor Guides](http://jupyter.readthedocs.io/en/latest/contributor/content-contributor.html) provide extensive information on contributing code or documentation to Jupyter projects. The limited instructions below for setting up a development environment are for your convenience.
+
+ ## Coding
+
+ You'll need Python and `pip` on the search path. Clone the Jupyter Client git repository to your computer, for example in `/my/project/jupyter_client`.
+ Now create an [editable install](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs)
+ and download the dependencies of code and test suite by executing:
+
+ cd /my/projects/jupyter_client/
+ pip install -e .[test]
+ py.test
+
+ The last command runs the test suite to verify the setup. During development, you can pass filenames to `py.test`, and it will execute only those tests.
+
+ ## Documentation
+
+ The documentation of Jupyter Client is generated from the files in `docs/` using Sphinx. Instructions for setting up Sphinx with a selection of optional modules are in the [Documentation Guide](http://jupyter.readthedocs.io/en/latest/contrib_docs/index.html). You'll also need the `make` command.
+ For a minimal Sphinx installation to process the Jupyter Client docs, execute:
+
+ pip install ipykernel sphinx sphinx_rtd_theme
+
+ The following commands build the documentation in HTML format and check for broken links:
+
+ cd /my/projects/jupyter_client/docs/
+ make html linkcheck
+
+ Point your browser to the following URL to access the generated documentation:
+
+ _file:///my/projects/jupyter\_client/docs/\_build/html/index.html_
+
+
Keywords: Interactive,Interpreter,Shell,Web
Platform: Linux
Platform: Mac OS X
@@ -24,5 +70,6 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Description-Content-Type: text/markdown
Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/jupyter_client.egg-info/requires.txt new/jupyter_client-5.3.1/jupyter_client.egg-info/requires.txt
--- old/jupyter_client-5.2.4/jupyter_client.egg-info/requires.txt 2018-12-10 15:25:48.000000000 +0100
+++ new/jupyter_client-5.3.1/jupyter_client.egg-info/requires.txt 2019-07-09 23:25:14.000000000 +0200
@@ -8,9 +8,4 @@
ipykernel
ipython
mock
-
-[test:(python_version >= "3.4" or python_version == "2.7")]
pytest
-
-[test:python_version == "3.3"]
-pytest<3.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_client-5.2.4/setup.py new/jupyter_client-5.3.1/setup.py
--- old/jupyter_client-5.2.4/setup.py 2018-12-10 15:19:44.000000000 +0100
+++ new/jupyter_client-5.3.1/setup.py 2019-07-09 22:04:55.000000000 +0200
@@ -16,8 +16,8 @@
import sys
v = sys.version_info
-if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)):
- error = "ERROR: %s requires Python version 2.7 or 3.3 or above." % name
+if v[:2] < (2, 7) or (v[0] >= 3 and v[:2] < (3, 5)):
+ error = "ERROR: %s requires Python version 2.7 or 3.5 or above." % name
print(error, file=sys.stderr)
sys.exit(1)
@@ -61,6 +61,8 @@
version = version_ns['__version__'],
packages = packages,
description = 'Jupyter protocol implementation and client libraries',
+ long_description=open('README.md').read(),
+ long_description_content_type='text/markdown',
author = 'Jupyter Development Team',
author_email = 'jupyter(a)googlegroups.com',
url = 'https://jupyter.org',
@@ -91,11 +93,9 @@
'python-dateutil>=2.1',
'tornado>=4.1',
],
- python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*',
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
extras_require = {
- 'test': ['ipykernel', 'ipython', 'mock'],
- 'test:python_version == "3.3"': ['pytest<3.3.0'],
- 'test:(python_version >= "3.4" or python_version == "2.7")': ['pytest'],
+ 'test': ['ipykernel', 'ipython', 'mock', 'pytest'],
},
cmdclass = {
'bdist_egg': bdist_egg if 'bdist_egg' in sys.argv else bdist_egg_disabled,
1
0
Hello community,
here is the log from the commit of package qalculate for openSUSE:Factory checked in at 2019-07-30 14:01:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qalculate (Old)
and /work/SRC/openSUSE:Factory/.qalculate.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qalculate"
Tue Jul 30 14:01:49 2019 rev:27 rq:719258 version:3.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/qalculate/qalculate.changes 2019-06-01 10:14:02.462735663 +0200
+++ /work/SRC/openSUSE:Factory/.qalculate.new.4126/qalculate.changes 2019-07-30 14:01:51.412978747 +0200
@@ -1,0 +2,18 @@
+Sat Jul 27 07:47:57 UTC 2019 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Update to 3.3.0
+
* Support for number bases > 32, as well as negative and non-integer number
+
bases
+ * Support for all number bases, including non-numerical, and specification of
+ digits in base() function
+ * dBm and dBW units
+ * Support both micro sign and small mu as symbol for micro prefix
+ * New programming keypad icon
+ * Import definitions action in GUI
+ * Fix parsing of "0x80 mod 3" and similar
+ * Reduce length of expressions in warnings and errors (primarily when using
+ high precision)
+ * Improved handling of interval arithmetic for cubic equations
+ * Minor bug fixes and feature improvements
+
+-------------------------------------------------------------------
Old:
----
libqalculate-3.2.0.tar.gz
New:
----
libqalculate-3.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qalculate.spec ++++++
--- /var/tmp/diff_new_pack.U1IAVs/_old 2019-07-30 14:01:52.128978257 +0200
+++ /var/tmp/diff_new_pack.U1IAVs/_new 2019-07-30 14:01:52.132978254 +0200
@@ -19,7 +19,7 @@
%define major 21
%define libname libqalculate
Name: qalculate
-Version: 3.2.0
+Version: 3.3.0
Release: 0
Summary: Multi-purpose desktop calulator application
License: GPL-2.0-or-later
++++++ libqalculate-3.2.0.tar.gz -> libqalculate-3.3.0.tar.gz ++++++
++++ 45371 lines of diff (skipped)
1
0