openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2016
- 1 participants
- 1295 discussions
Hello community,
here is the log from the commit of package wlc for openSUSE:Factory checked in at 2016-06-02 09:38:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wlc (Old)
and /work/SRC/openSUSE:Factory/.wlc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wlc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wlc/wlc.changes 2016-05-08 10:46:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wlc.new/wlc.changes 2016-06-02 09:38:37.000000000 +0200
@@ -1,0 +2,14 @@
+Mon May 30 18:25:56 UTC 2016 - tcech(a)suse.com
+
+- drop build requirements of xcb-xevie and xcb-xprint
+
+-------------------------------------------------------------------
+Mon May 23 10:02:13 UTC 2016 - tcech(a)suse.com
+
+- bump to 0.0.3
+ view property related changes
+ bugfixes
+ build related improvements
+ use XDG_SEAT instead of seat0
+
+-------------------------------------------------------------------
Old:
----
wlc-0.0.2.tar.bz2
wlc-0.0.2.tar.bz2.asc
New:
----
wlc-0.0.3.tar.bz2
wlc-0.0.3.tar.bz2.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wlc.spec ++++++
--- /var/tmp/diff_new_pack.6cnqtA/_old 2016-06-02 09:38:38.000000000 +0200
+++ /var/tmp/diff_new_pack.6cnqtA/_new 2016-06-02 09:38:38.000000000 +0200
@@ -19,7 +19,7 @@
%define wayland_minimal 1.7.0
Name: wlc
-Version: 0.0.2
+Version: 0.0.3
Release: 0
Summary: A Wayland Compositor Library
License: MIT
@@ -66,12 +66,10 @@
BuildRequires: pkgconfig(xcb-shape)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(xcb-sync)
-BuildRequires: pkgconfig(xcb-xevie)
BuildRequires: pkgconfig(xcb-xf86dri)
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xcb-xinerama)
BuildRequires: pkgconfig(xcb-xkb)
-BuildRequires: pkgconfig(xcb-xprint)
BuildRequires: pkgconfig(xcb-xtest)
BuildRequires: pkgconfig(xcb-xv)
BuildRequires: pkgconfig(xcb-xvmc)
++++++ wlc-0.0.2.tar.bz2 -> wlc-0.0.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/CMakeLists.txt new/wlc-0.0.3/CMakeLists.txt
--- old/wlc-0.0.2/CMakeLists.txt 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/CMakeLists.txt 2016-05-22 21:15:27.000000000 +0200
@@ -1,5 +1,5 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
-PROJECT(wlc VERSION 0.0.2 LANGUAGES C)
+PROJECT(wlc VERSION 0.0.3 LANGUAGES C)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/CMake")
# Subprojects
@@ -23,6 +23,7 @@
include(test)
# Options
+OPTION(WLC_X11_SUPPORT "Build X11 backend and XWayland support" ON)
OPTION(WLC_BUILD_STATIC "Build wlc as static library" OFF)
OPTION(WLC_BUILD_EXAMPLES "Build wlc examples" ON)
OPTION(WLC_BUILD_TESTS "Build wlc tests" ON)
@@ -39,10 +40,12 @@
find_package(Udev REQUIRED)
find_package(LibInput REQUIRED)
-find_package(X11 COMPONENTS X11-xcb Xfixes)
-set_package_properties(X11 PROPERTIES TYPE RECOMMENDED PURPOSE "Enables X11 backend")
-find_package(XCB COMPONENTS xcb-ewmh xcb-composite xcb-xkb xcb-image xcb-xfixes)
-set_package_properties(XCB PROPERTIES TYPE RECOMMENDED PURPOSE "Enables Xwayland and X11 backend")
+if (WLC_X11_SUPPORT)
+ find_package(X11 REQUIRED COMPONENTS X11-xcb Xfixes)
+ set_package_properties(X11 PROPERTIES TYPE REQUIRED PURPOSE "Enables X11 backend")
+ find_package(XCB REQUIRED COMPONENTS xcb-ewmh xcb-composite xcb-xkb xcb-image xcb-xfixes)
+ set_package_properties(XCB PROPERTIES TYPE REQUIRED PURPOSE "Enables Xwayland and X11 backend")
+endif ()
find_package(GLESv2 REQUIRED)
set_package_properties(GLESv2 PROPERTIES TYPE REQUIRED PURPOSE "Enables OpenGL renderer")
find_package(EGL REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/README.rst new/wlc-0.0.3/README.rst
--- old/wlc-0.0.2/README.rst 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/README.rst 2016-05-22 21:15:27.000000000 +0200
@@ -40,6 +40,7 @@
static bool
view_created(wlc_handle view)
{
+ wlc_view_set_mask(view, wlc_output_get_mask(wlc_view_get_output(view)));
wlc_view_bring_to_front(view);
wlc_view_focus(view);
return true;
@@ -57,7 +58,7 @@
wlc_set_view_created_cb(view_created);
wlc_set_view_focus_cb(view_focus);
- if (!wlc_init2())
+ if (!wlc_init())
return EXIT_FAILURE;
wlc_run();
@@ -158,6 +159,10 @@
For now you can look at the `AUR recipe <https://aur.archlinux.org/packages/wlc-git/>`_ for a example.
+Releases are signed with `1AF6D26A <http://pgp.mit.edu/pks/lookup?op=vindex&search=0xF769BB961AF6D26A>`_ and published `on GitHub <https://github.com/Cloudef/wlc/releases>`_.
+
+All 0.0.x releases are considered unstable.
+
CONTRIBUTING
------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/include/wlc/wlc.h new/wlc-0.0.3/include/wlc/wlc.h
--- old/wlc-0.0.2/include/wlc/wlc.h 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/include/wlc/wlc.h 2016-05-22 21:15:27.000000000 +0200
@@ -56,6 +56,13 @@
WLC_BIT_POPUP = 1<<4, // xdg-shell, wl-shell popups
};
+/** wlc_set_view_properties_updated_cb(); */
+enum wlc_view_property_update_bit {
+ WLC_BIT_PROPERTY_TITLE = 1<<0,
+ WLC_BIT_PROPERTY_CLASS = 1<<1,
+ WLC_BIT_PROPERTY_APP_ID = 1<<2,
+};
+
/** wlc_view_set_geometry(); Edges in interface interface.view.request.resize function. */
enum wlc_resize_edge {
WLC_RESIZE_EDGE_NONE = 0,
@@ -176,6 +183,9 @@
/** View post render hook. */
void wlc_set_view_render_post_cb(void (*cb)(wlc_handle view));
+/** View properties (title, class, app_id) was updated */
+void wlc_set_view_properties_updated_cb(void (*cb)(wlc_handle view, uint32_t mask));
+
/** Key event was triggered, view handle will be zero if there was no focus. Return true to prevent sending the event to clients. */
void wlc_set_keyboard_key_cb(bool (*cb)(wlc_handle view, uint32_t time, const struct wlc_modifiers*, uint32_t key, enum wlc_key_state));
@@ -240,10 +250,10 @@
void* wlc_handle_get_user_data(wlc_handle handle);
/** Add fd to event loop. Return value of callback is unused, you should return 0. */
-WLC_NONULLV(3) struct wlc_event_source* wlc_event_loop_add_fd(int fd, uint32_t mask, int (*cb)(int fd, uint32_t mask, void *arg), void *arg);
+WLC_NONULLV(3) struct wlc_event_source* wlc_event_loop_add_fd(int fd, uint32_t mask, int (*cb)(int fd, uint32_t mask, void *userdata), void *userdata);
/** Add timer to event loop. Return value of callback is unused, you should return 0. */
-WLC_NONULLV(1) struct wlc_event_source* wlc_event_loop_add_timer(int (*cb)(void *arg), void *arg);
+WLC_NONULLV(1) struct wlc_event_source* wlc_event_loop_add_timer(int (*cb)(void *userdata), void *userdata);
/** Update timer to trigger after delay. Returns true on success. */
WLC_NONULL bool wlc_event_source_timer_update(struct wlc_event_source *source, int32_t ms_delay);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/lib/chck/chck/buffer/buffer.c new/wlc-0.0.3/lib/chck/chck/buffer/buffer.c
--- old/wlc-0.0.2/lib/chck/chck/buffer/buffer.c 2016-04-02 20:32:05.000000000 +0200
+++ new/wlc-0.0.3/lib/chck/chck/buffer/buffer.c 2016-04-16 16:31:49.000000000 +0200
@@ -413,7 +413,7 @@
chck_buffer_compress_zlib(struct chck_buffer *buf)
{
#if HAS_ZLIB
- size_t dsize, bsize;
+ uLongf dsize, bsize;
dsize = bsize = compressBound(buf->size);
void *compressed;
@@ -454,11 +454,11 @@
chck_buffer_decompress_zlib(struct chck_buffer *buf)
{
#if HAS_ZLIB
- size_t dsize, bsize;
+ uLongf dsize, bsize;
{
size_t sz;
- if (unlikely(chck_mul_ofsz(buf->size, 2, &sz)))
+ if (unlikely(chck_mul_ofsz(buf->size, 2, &sz)) || (uLongf)sz < sz)
return false;
dsize = bsize = sz;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/compositor/view.c new/wlc-0.0.3/src/compositor/view.c
--- old/wlc-0.0.2/src/compositor/view.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/compositor/view.c 2016-05-22 21:15:27.000000000 +0200
@@ -434,22 +434,28 @@
view->data.minimized = minimized;
}
-bool
-wlc_view_set_title_ptr(struct wlc_view *view, const char *title)
+void
+wlc_view_set_title_ptr(struct wlc_view *view, const char *title, size_t length)
{
- return (view ? chck_string_set_cstr(&view->data.title, title, true) : false);
+ if (view && !chck_cstrneq(view->data.title.data, title, length) && chck_string_set_cstr_with_length(&view->data.title, title, length, true)) {
+ WLC_INTERFACE_EMIT(view.properties_updated, convert_to_wlc_handle(view), WLC_BIT_PROPERTY_TITLE);
+ }
}
-bool
-wlc_view_set_class_ptr(struct wlc_view *view, const char *class_)
+void
+wlc_view_set_class_ptr(struct wlc_view *view, const char *class_, size_t length)
{
- return (view ? chck_string_set_cstr(&view->data._class, class_, true) : false);
+ if (view && !chck_cstrneq(view->data._class.data, class_, length) && chck_string_set_cstr_with_length(&view->data._class, class_, length, true)) {
+ WLC_INTERFACE_EMIT(view.properties_updated, convert_to_wlc_handle(view), WLC_BIT_PROPERTY_CLASS);
+ }
}
-bool
+void
wlc_view_set_app_id_ptr(struct wlc_view *view, const char *app_id)
{
- return (view ? chck_string_set_cstr(&view->data.app_id, app_id, true) : false);
+ if (view && !chck_cstreq(view->data.app_id.data, app_id) && chck_string_set_cstr(&view->data.app_id, app_id, true)) {
+ WLC_INTERFACE_EMIT(view.properties_updated, convert_to_wlc_handle(view), WLC_BIT_PROPERTY_APP_ID);
+ }
}
void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/compositor/view.h new/wlc-0.0.3/src/compositor/view.h
--- old/wlc-0.0.2/src/compositor/view.h 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/compositor/view.h 2016-05-22 21:15:27.000000000 +0200
@@ -95,8 +95,8 @@
void wlc_view_set_state_ptr(struct wlc_view *view, enum wlc_view_state_bit state, bool toggle);
void wlc_view_set_parent_ptr(struct wlc_view *view, struct wlc_view *parent);
void wlc_view_set_minimized_ptr(struct wlc_view *view, bool minimized);
-bool wlc_view_set_title_ptr(struct wlc_view *view, const char *title);
-bool wlc_view_set_class_ptr(struct wlc_view *view, const char *class_);
-bool wlc_view_set_app_id_ptr(struct wlc_view *view, const char *app_id);
+void wlc_view_set_title_ptr(struct wlc_view *view, const char *title, size_t length);
+void wlc_view_set_class_ptr(struct wlc_view *view, const char *class_, size_t length);
+void wlc_view_set_app_id_ptr(struct wlc_view *view, const char *app_id);
#endif /* _WLC_VIEW_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/internal.h new/wlc-0.0.3/src/internal.h
--- old/wlc-0.0.2/src/internal.h 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/internal.h 2016-05-22 21:15:27.000000000 +0200
@@ -81,6 +81,9 @@
/** Post render hook. */
void (*post)(wlc_handle view);
} render;
+
+ /** View properties (title, class, app_id) was updated */
+ void (*properties_updated)(wlc_handle view, uint32_t mask);
} view;
struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/platform/backend/drm.c new/wlc-0.0.3/src/platform/backend/drm.c
--- old/wlc-0.0.2/src/platform/backend/drm.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/platform/backend/drm.c 2016-05-22 21:15:27.000000000 +0200
@@ -373,7 +373,7 @@
info->height = connector->modes[i].vdisplay;
}
- wlc_log(WLC_LOG_INFO, "MODE: (%d) %ux%u %s", c, mode.width, mode.height, (mode.flags & WL_OUTPUT_MODE_CURRENT ? "*" : (mode.flags & WL_OUTPUT_MODE_PREFERRED ? "!" : "")));
+ wlc_log(WLC_LOG_INFO, "MODE: (%d) %ux%u@%u %s", c, mode.width, mode.height, mode.refresh, (mode.flags & WL_OUTPUT_MODE_CURRENT ? "*" : (mode.flags & WL_OUTPUT_MODE_PREFERRED ? "!" : "")));
wlc_output_information_add_mode(&info->info, &mode);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/resources/types/shell-surface.c new/wlc-0.0.3/src/resources/types/shell-surface.c
--- old/wlc-0.0.2/src/resources/types/shell-surface.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/resources/types/shell-surface.c 2016-05-22 21:15:27.000000000 +0200
@@ -143,14 +143,14 @@
wl_cb_shell_surface_set_title(struct wl_client *client, struct wl_resource *resource, const char *title)
{
(void)client;
- wlc_view_set_title_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), title);
+ wlc_view_set_title_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), title, strlen(title));
}
static void
wl_cb_shell_surface_set_class(struct wl_client *client, struct wl_resource *resource, const char *class_)
{
(void)client;
- wlc_view_set_class_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), class_);
+ wlc_view_set_class_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), class_, strlen(class_));
}
WLC_CONST const struct wl_shell_surface_interface*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/resources/types/surface.c new/wlc-0.0.3/src/resources/types/surface.c
--- old/wlc-0.0.2/src/resources/types/surface.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/resources/types/surface.c 2016-05-22 21:15:27.000000000 +0200
@@ -293,9 +293,11 @@
struct wlc_view *view = convert_from_wlc_handle(surface->view, "view");
struct wlc_geometry g, area;
+ struct wlc_size ssize = { 1, 1 };
+ wlc_size_max(&ssize, &surface->size, &ssize);
wlc_view_get_bounds(view, &g, &area);
- surface->coordinate_transform.w = (float)(area.size.w) / surface->size.w;
- surface->coordinate_transform.h = (float)(area.size.h) / surface->size.h;
+ surface->coordinate_transform.w = (float)(area.size.w) / ssize.w;
+ surface->coordinate_transform.h = (float)(area.size.h) / ssize.h;
}
surface->commit.attached = (buffer ? true : false);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/resources/types/xdg-surface.c new/wlc-0.0.3/src/resources/types/xdg-surface.c
--- old/wlc-0.0.2/src/resources/types/xdg-surface.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/resources/types/xdg-surface.c 2016-05-22 21:15:27.000000000 +0200
@@ -28,7 +28,7 @@
xdg_cb_surface_set_title(struct wl_client *client, struct wl_resource *resource, const char *title)
{
(void)client;
- wlc_view_set_title_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), title);
+ wlc_view_set_title_ptr(convert_from_wlc_handle((wlc_handle)wl_resource_get_user_data(resource), "view"), title, strlen(title));
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/session/fd.c new/wlc-0.0.3/src/session/fd.c
--- old/wlc-0.0.2/src/session/fd.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/session/fd.c 2016-05-22 21:15:27.000000000 +0200
@@ -216,7 +216,7 @@
}
if (!pfd) {
- wlc_log(WLC_LOG_WARN, "Tried to close fd that we did not open: (%zu, %zu)", st_dev, st_ino);
+ wlc_log(WLC_LOG_WARN, "Tried to close fd that we did not open: (%zu, %zu)", (size_t)st_dev, (size_t)st_ino);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/wlc.c new/wlc-0.0.3/src/wlc.c
--- old/wlc-0.0.2/src/wlc.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/wlc.c 2016-05-22 21:15:27.000000000 +0200
@@ -179,17 +179,17 @@
}
WLC_API struct wlc_event_source*
-wlc_event_loop_add_fd(int fd, uint32_t mask, int (*cb)(int fd, uint32_t mask, void *arg), void *arg)
+wlc_event_loop_add_fd(int fd, uint32_t mask, int (*cb)(int fd, uint32_t mask, void *userdata), void *userdata)
{
assert(wlc_event_loop());
- return (struct wlc_event_source*)wl_event_loop_add_fd(wlc_event_loop(), fd, mask, cb, arg);
+ return (struct wlc_event_source*)wl_event_loop_add_fd(wlc_event_loop(), fd, mask, cb, userdata);
}
WLC_API struct wlc_event_source*
-wlc_event_loop_add_timer(int (*cb)(void *arg), void *arg)
+wlc_event_loop_add_timer(int (*cb)(void *userdata), void *userdata)
{
assert(wlc_event_loop());
- return (struct wlc_event_source*)wl_event_loop_add_timer(wlc_event_loop(), cb, arg);
+ return (struct wlc_event_source*)wl_event_loop_add_timer(wlc_event_loop(), cb, userdata);
}
WLC_API bool
@@ -315,7 +315,9 @@
if (!privileged && !x11display && has_logind) {
if (!(wlc.display = wl_display_create()))
die("Failed to create wayland display");
- if (!(vt = wlc_logind_init("seat0")))
+
+ const char *xdg_seat = getenv("XDG_SEAT");
+ if (!(vt = wlc_logind_init(xdg_seat ? xdg_seat : "seat0")))
die("Failed to init logind");
}
#else
@@ -489,6 +491,12 @@
}
WLC_API void
+wlc_set_view_properties_updated_cb(void (*cb)(wlc_handle view, uint32_t mask))
+{
+ wlc.interface.view.properties_updated = cb;
+}
+
+WLC_API void
wlc_set_keyboard_key_cb(bool (*cb)(wlc_handle view, uint32_t time, const struct wlc_modifiers*, uint32_t key, enum wlc_key_state))
{
wlc.interface.keyboard.key = cb;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wlc-0.0.2/src/xwayland/xwm.c new/wlc-0.0.3/src/xwayland/xwm.c
--- old/wlc-0.0.2/src/xwayland/xwm.c 2016-04-15 22:59:16.000000000 +0200
+++ new/wlc-0.0.3/src/xwayland/xwm.c 2016-05-22 21:15:27.000000000 +0200
@@ -231,9 +231,9 @@
case XCB_ATOM_STRING:
// Class && Name
if (props[i].atom == XCB_ATOM_WM_CLASS) {
- chck_string_set_cstr_with_length(&view->data._class, xcb_get_property_value(reply), xcb_get_property_value_length(reply), true);
+ wlc_view_set_class_ptr(view, xcb_get_property_value(reply), xcb_get_property_value_length(reply));
} else if (props[i].atom == XCB_ATOM_WM_NAME) {
- chck_string_set_cstr_with_length(&view->data.title, xcb_get_property_value(reply), xcb_get_property_value_length(reply), true);
+ wlc_view_set_title_ptr(view, xcb_get_property_value(reply), xcb_get_property_value_length(reply));
}
break;
case XCB_ATOM_WINDOW:
1
0
Hello community,
here is the log from the commit of package iml for openSUSE:Factory checked in at 2016-06-02 09:38:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iml (Old)
and /work/SRC/openSUSE:Factory/.iml.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iml"
Changes:
--------
New Changes file:
--- /dev/null 2016-04-07 01:36:33.300037506 +0200
+++ /work/SRC/openSUSE:Factory/.iml.new/iml.changes 2016-06-02 09:38:34.000000000 +0200
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------
+Mon May 30 14:15:21 UTC 2016 - jengelh(a)inai.de
+
+- Switch from ATLAS to CBLAS
+
+-------------------------------------------------------------------
+Sun Mar 13 10:19:49 UTC 2016 - jengelh(a)inai.de
+
+- Update to new upstream release 1.0.5
+* This version incorporates a new functions kernelLong and kernelMP
+ into the library interface for computing a right kernel basis of
+ an integer matrix of type long and filled with GMP bignums,
+ respectively. The kernel basis returned can be optionally reduced
+ using lattice basis reduction. Unlike functions nullspaceLong and
+ nullspaceMP which only compute a basis for the rational nullspace,
+ functions kernelLong and kernelMP produce an integer basis for
+ the sublattice of all integer vectors in the right kernel of the
+ input matrix.
+
+-------------------------------------------------------------------
+Tue Jun 9 07:53:52 UTC 2015 - jengelh(a)inai.de
+
+- Use openSUSE's new ATLAS include path
+- Upstream has replaced the 1.0.4 tarball with a same-named update
+ which includes a new file, cblas.h. (We do not seem to use it
+ anyway, because of ATLAS.)
+
+-------------------------------------------------------------------
+Sat Aug 9 23:07:36 UTC 2014 - jengelh(a)inai.de
+
+- Update to new upstream release 1.0.4
+* fix some memleaks in nullspace.c
+* support CBLAS implementation other than ATLAS
+
+-------------------------------------------------------------------
+Thu May 23 16:41:28 UTC 2013 - dmitry_r(a)opensuse.org
+
+- Replace tarball by the original variant
+
+-------------------------------------------------------------------
+Sun May 19 21:22:23 UTC 2013 - jengelh(a)inai.de
+
+- Initial package (version 1.0.3) for build.opensuse.org
New:
----
iml-1.0.5.tar.bz2
iml.changes
iml.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iml.spec ++++++
#
# spec file for package iml
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: iml
%define lname libiml0
Version: 1.0.5
Release: 0
Summary: An Integer Matrix Library
License: BSD-3-Clause
Group: Productivity/Scientific/Math
Url: https://cs.uwaterloo.ca/~astorjoh/iml.html
Source: http://www.cs.uwaterloo.ca/~astorjoh/%name-%version.tar.bz2
BuildRequires: blas-devel
BuildRequires: cblas-devel
BuildRequires: gmp-devel >= 3.1.1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
IML package provides efficient routines to solve nonsingular systems
of linear equations, certified solve any shape systems of linear
equations, and perform mod p matrix operations, such as computing
row-echelon form, determinant, rank profile, inverse of a mod p
matrix.
%package -n %lname
Summary: An Integer Matrix Library
Group: System/Libraries
%description -n %lname
IML package provides efficient routines to solve nonsingular systems
of linear equations, certified solve any shape systems of linear
equations, and perform mod p matrix operations, such as computing
row-echelon form, determinant, rank profile, inverse of a mod p
matrix.
%package devel
Summary: Development files for IML, an Integer Matrix Library
Group: Development/Libraries/C and C++
Requires: %lname = %version
Requires: gmp-devel >= 3.3.1
%description devel
IML package provides efficient routines to solve nonsingular systems
of linear equations, certified solve any shape systems of linear
equations, and perform mod p matrix operations, such as computing
row-echelon form, determinant, rank profile, inverse of a mod p
matrix.
This subpackage contains the include files and library links for
developing against the IML library.
%prep
%setup -q
%build
%configure --enable-shared --disable-static --with-cblas="-lcblas -lblas"
make %{?_smp_mflags}
%check
make check %{?_smp_mflags}
%install
b="%buildroot"
make install DESTDIR="$b"
rm -f "$b/%_libdir"/*.la;
mkdir -p "$b/%_docdir"
mv "$b/%_datadir/iml" "$b/%_docdir/"
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%defattr(-,root,root)
%_libdir/libiml.so.0*
%files devel
%defattr(-,root,root)
%_includedir/iml.h
%_libdir/libiml.so
%_docdir/%name/
%changelog
1
0
Hello community,
here is the log from the commit of package sway for openSUSE:Factory checked in at 2016-06-02 09:38:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sway (Old)
and /work/SRC/openSUSE:Factory/.sway.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sway"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sway/sway.changes 2016-05-08 10:46:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sway.new/sway.changes 2016-06-02 09:38:31.000000000 +0200
@@ -1,0 +2,26 @@
+Mon May 23 12:57:09 UTC 2016 - tcech(a)suse.com
+
+- bump to 0.7
+ New Features
+ Bind actions to $mod+[scroll whell] via floating_scroll (thanks @Hummer12007!)
+ Set the acceleration profile for input devices via accel_profile (thanks @tajjada!)
+
+ Bugs Fixed
+ Window titles are updated when the application requests it (thanks @mikkeloscar!)
+ Screwing with the border settings on tabbed and stacking layouts caused breakage (thanks @tajjada!)
+ Several memory leaks, double frees, etc were fixed (thanks @neosilky!)
+ Several double closes, buffer overflows, etc were fixed (thanks @1ace!)
+ Many other small bugs were fixed (thanks @mikkeloscar, @xerpi, @1ace!)
+ Some typos were found and fixed in the man pages (thanks @cyberhuman!)
+
+ Changes
+ The hardcoded $mod+scroll actions introduced in sway 0.4 has been removed.
+ You can now use a relative path to your wallpaper (thanks @Hummer12007!)
+ ZSH completions are no longer included in the default build
+ Cairo and Pango are now required dependencies (previously they
+ were only required if you wanted swaybg or swaybar support)
+
+- match definition with declaration using patch
+ 0001-Match-definition-with-declaration.patch
+
+-------------------------------------------------------------------
Old:
----
0.6.tar.gz
sway-0.6.tar.gz.sig
New:
----
0.7.tar.gz
0001-Match-definition-with-declaration.patch
sway-0.7.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sway.spec ++++++
--- /var/tmp/diff_new_pack.Z5zg9G/_old 2016-06-02 09:38:32.000000000 +0200
+++ /var/tmp/diff_new_pack.Z5zg9G/_new 2016-06-02 09:38:32.000000000 +0200
@@ -17,7 +17,7 @@
Name: sway
-Version: 0.6
+Version: 0.7
Release: 0
Summary: Window manager for Wayland compatible with i3
License: MIT
@@ -26,12 +26,14 @@
Source0: https://github.com/SirCmpwn/sway/archive/%{version}.tar.gz
Source1: https://github.com/SirCmpwn/sway/releases/download/%{version}/%{name}-%{ver…
Source2: sway.keyring
+# PATCH-FIX-UPSTREAM - already accepted by upstream
+Patch0: 0001-Match-definition-with-declaration.patch
BuildRequires: asciidoc
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libxslt-tools
BuildRequires: pam-devel
-BuildRequires: pkg-config
+BuildRequires: pkgconfig
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(json-c)
@@ -51,10 +53,12 @@
%prep
%setup -q
+%patch0 -p1
%build
%cmake \
- -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir}
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
+ -Dzsh-completions=ON
make %{?_smp_mflags}
%install
++++++ 0.6.tar.gz -> 0.7.tar.gz ++++++
/work/SRC/openSUSE:Factory/sway/0.6.tar.gz /work/SRC/openSUSE:Factory/.sway.new/0.7.tar.gz differ: char 14, line 1
++++++ 0001-Match-definition-with-declaration.patch ++++++
>From eda741d177b784024e9d6c5d7fbcc67a41957bab Mon Sep 17 00:00:00 2001
From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= <sleep_walker(a)suse.com>
Date: Mon, 23 May 2016 14:42:03 +0200
Subject: [PATCH] Match definition with declaration
---
include/commands.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/commands.h b/include/commands.h
index 5fa66bb..cd0610f 100644
--- a/include/commands.h
+++ b/include/commands.h
@@ -59,6 +59,6 @@ void free_cmd_results(struct cmd_results *results);
*/
const char *cmd_results_to_json(struct cmd_results *results);
-void remove_view_from_scratchpad();
+void remove_view_from_scratchpad(swayc_t *);
#endif
--
2.8.2
1
0
Hello community,
here is the log from the commit of package python3-jupyter_qtconsole for openSUSE:Factory checked in at 2016-06-02 09:38:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-jupyter_qtconsole (Old)
and /work/SRC/openSUSE:Factory/.python3-jupyter_qtconsole.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-jupyter_qtconsole"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-jupyter_qtconsole/python3-jupyter_qtconsole-doc.changes 2016-03-26 15:22:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-jupyter_qtconsole.new/python3-jupyter_qtconsole-doc.changes 2016-06-02 09:38:28.000000000 +0200
@@ -1,0 +2,13 @@
+Mon May 9 20:04:45 UTC 2016 - toddrme2178(a)gmail.com
+
+- Update to 4.2.1
+ * Fix compatibility with some Qt bindings and traitlets ≥ 4.2.
+
+-------------------------------------------------------------------
+Sun May 8 07:13:15 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3-jupyter_qtconsole/python3-jupyter_qtconsole.changes 2016-03-26 15:22:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-jupyter_qtconsole.new/python3-jupyter_qtconsole.changes 2016-06-02 09:38:28.000000000 +0200
@@ -1,0 +2,13 @@
+Mon May 9 20:04:45 UTC 2016 - toddrme2178(a)gmail.com
+
+- Update to 4.2.1
+ * Fix compatibility with some Qt bindings and traitlets ≥ 4.2.
+
+-------------------------------------------------------------------
+Sun May 8 07:13:13 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+
+-------------------------------------------------------------------
Old:
----
qtconsole-4.2.0.tar.gz
New:
----
qtconsole-4.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-jupyter_qtconsole-doc.spec ++++++
--- /var/tmp/diff_new_pack.XAgQvQ/_old 2016-06-02 09:38:29.000000000 +0200
+++ /var/tmp/diff_new_pack.XAgQvQ/_new 2016-06-02 09:38:29.000000000 +0200
@@ -17,13 +17,15 @@
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
-%define build_pdf 1
+# PDF Documentation currently broken
+# %define build_pdf 1
+%define build_pdf 0
%else
%define build_pdf 0
%endif
Name: python3-jupyter_qtconsole-doc
-Version: 4.2.0
+Version: 4.2.1
Release: 0
Summary: Documentation for python3-jupyter_qtconsole
License: BSD-3-Clause
++++++ python3-jupyter_qtconsole.spec ++++++
--- /var/tmp/diff_new_pack.XAgQvQ/_old 2016-06-02 09:38:29.000000000 +0200
+++ /var/tmp/diff_new_pack.XAgQvQ/_new 2016-06-02 09:38:29.000000000 +0200
@@ -17,13 +17,13 @@
Name: python3-jupyter_qtconsole
-Version: 4.2.0
+Version: 4.2.1
Release: 0
Summary: Jupyter Qt console
License: BSD-3-Clause
Group: Development/Languages/Python
Url: http://jupyter.org
-Source: https://pypi.python.org/packages/source/q/qtconsole/qtconsole-%{version}.ta…
+Source: https://files.pythonhosted.org/packages/source/q/qtconsole/qtconsole-%{vers…
BuildRequires: desktop-file-utils
BuildRequires: hicolor-icon-theme
BuildRequires: python3-Pygments
++++++ qtconsole-4.2.0.tar.gz -> qtconsole-4.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconsole-4.2.0/PKG-INFO new/qtconsole-4.2.1/PKG-INFO
--- old/qtconsole-4.2.0/PKG-INFO 2016-02-23 09:02:11.000000000 +0100
+++ new/qtconsole-4.2.1/PKG-INFO 2016-03-30 18:36:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: qtconsole
-Version: 4.2.0
+Version: 4.2.1
Summary: Jupyter Qt console
Home-page: http://jupyter.org
Author: Jupyter Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconsole-4.2.0/docs/source/changelog.rst new/qtconsole-4.2.1/docs/source/changelog.rst
--- old/qtconsole-4.2.0/docs/source/changelog.rst 2016-02-23 09:00:10.000000000 +0100
+++ new/qtconsole-4.2.1/docs/source/changelog.rst 2016-03-30 18:14:33.000000000 +0200
@@ -5,6 +5,13 @@
.. _4.2:
+4.2.1
+-----
+
+`4.2.1 on GitHub <https://github.com/jupyter/qtconsole/milestones/4.2.1>`__
+
+Fix compatibility with some Qt bindings and traitlets ≥ 4.2.
+
4.2
---
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconsole-4.2.0/qtconsole/_version.py new/qtconsole-4.2.1/qtconsole/_version.py
--- old/qtconsole-4.2.0/qtconsole/_version.py 2016-02-23 09:01:47.000000000 +0100
+++ new/qtconsole-4.2.1/qtconsole/_version.py 2016-03-30 18:35:33.000000000 +0200
@@ -1,2 +1,2 @@
-version_info = (4, 2, 0)
+version_info = (4, 2, 1)
__version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconsole-4.2.0/qtconsole/console_widget.py new/qtconsole-4.2.1/qtconsole/console_widget.py
--- old/qtconsole-4.2.0/qtconsole/console_widget.py 2016-02-23 08:55:38.000000000 +0100
+++ new/qtconsole-4.2.1/qtconsole/console_widget.py 2016-03-30 18:11:36.000000000 +0200
@@ -15,7 +15,7 @@
from traitlets.config.configurable import LoggingConfigurable
from qtconsole.rich_text import HtmlExporter
-from qtconsole.util import MetaQObjectHasTraits, get_font
+from qtconsole.util import MetaQObjectHasTraits, get_font, superQ
from ipython_genutils.text import columnize
from traitlets import Bool, Enum, Integer, Unicode
from .ansi_code_processor import QtAnsiCodeProcessor
@@ -35,7 +35,7 @@
# Classes
#-----------------------------------------------------------------------------
-class ConsoleWidget(MetaQObjectHasTraits('NewBase', (LoggingConfigurable, QtGui.QWidget), {})):
+class ConsoleWidget(MetaQObjectHasTraits('NewBase', (LoggingConfigurable, superQ(QtGui.QWidget)), {})):
""" An abstract base class for console-type widgets. This class has
functionality for:
@@ -207,8 +207,9 @@
parent : QWidget, optional [default None]
The parent for this widget.
"""
- QtGui.QWidget.__init__(self, parent)
- LoggingConfigurable.__init__(self, **kw)
+ super(ConsoleWidget, self).__init__(**kw)
+ if parent:
+ self.setParent(parent)
# While scrolling the pager on Mac OS X, it tears badly. The
# NativeGesture is platform and perhaps build-specific hence
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconsole-4.2.0/qtconsole/util.py new/qtconsole-4.2.1/qtconsole/util.py
--- old/qtconsole-4.2.0/qtconsole/util.py 2015-07-20 21:59:46.000000000 +0200
+++ new/qtconsole-4.2.1/qtconsole/util.py 2016-03-30 18:11:36.000000000 +0200
@@ -45,8 +45,8 @@
# Classes
#-----------------------------------------------------------------------------
-class SuperQObject(QtCore.QObject):
- """ Permits the use of super() in class hierarchies that contain QObject.
+def superQ(QClass):
+ """ Permits the use of super() in class hierarchies that contain Qt classes.
Unlike QObject, SuperQObject does not accept a QObject parent. If it did,
super could not be emulated properly (all other classes in the heierarchy
@@ -56,22 +56,27 @@
This class is primarily useful for attaching signals to existing non-Qt
classes. See QtKernelManagerMixin for an example.
"""
+ class SuperQClass(QClass):
- def __new__(cls, *args, **kw):
- # We initialize QObject as early as possible. Without this, Qt complains
- # if SuperQObject is not the first class in the super class list.
- inst = QtCore.QObject.__new__(cls)
- QtCore.QObject.__init__(inst)
- return inst
-
- def __init__(self, *args, **kw):
- # Emulate super by calling the next method in the MRO, if there is one.
- mro = self.__class__.mro()
- for qt_class in QtCore.QObject.mro():
- mro.remove(qt_class)
- next_index = mro.index(SuperQObject) + 1
- if next_index < len(mro):
- mro[next_index].__init__(self, *args, **kw)
+ def __new__(cls, *args, **kw):
+ # We initialize QClass as early as possible. Without this, Qt complains
+ # if SuperQClass is not the first class in the super class list.
+ inst = QClass.__new__(cls)
+ QClass.__init__(inst)
+ return inst
+
+ def __init__(self, *args, **kw):
+ # Emulate super by calling the next method in the MRO, if there is one.
+ mro = self.__class__.mro()
+ for qt_class in QClass.mro():
+ mro.remove(qt_class)
+ next_index = mro.index(SuperQClass) + 1
+ if next_index < len(mro):
+ mro[next_index].__init__(self, *args, **kw)
+
+ return SuperQClass
+
+SuperQObject = superQ(QtCore.QObject)
#-----------------------------------------------------------------------------
# Functions
1
0
Hello community,
here is the log from the commit of package python3-jupyter_nbconvert for openSUSE:Factory checked in at 2016-06-02 09:38:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-jupyter_nbconvert (Old)
and /work/SRC/openSUSE:Factory/.python3-jupyter_nbconvert.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-jupyter_nbconvert"
Changes:
--------
New Changes file:
--- /dev/null 2016-04-07 01:36:33.300037506 +0200
+++ /work/SRC/openSUSE:Factory/.python3-jupyter_nbconvert.new/python3-jupyter_nbconvert-doc.changes 2016-06-02 09:38:24.000000000 +0200
@@ -0,0 +1,46 @@
+-------------------------------------------------------------------
+Wed May 18 17:52:29 UTC 2016 - toddrme2178(a)gmail.com
+
+- Update to 4.2.0
+ * Custom Exporters can be provided by external packages,
+ and registered with nbconvert via setuptools entrypoints.
+ * allow nbconvert reading from stdin with ``--stdin`` option (write into
+ notebook`` basename)
+ * Various ANSI-escape fixes and improvements
+ * Various LaTeX/PDF export fixes
+ * Various fixes and improvements for executing notebooks with ``--execute``.
+- Split documentation into own subpackage to avoid dependency loop
+ with python3-jupyter_nbsphinx.
+
+-------------------------------------------------------------------
+Sun May 8 07:13:12 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+
+-------------------------------------------------------------------
+Thu Jan 7 09:51:21 UTC 2016 - toddrme2178(a)gmail.com
+
+- Update to 4.1.0
+ * setuptools fixes for entrypoints on Windows
+ * various fixes for exporters, including slides, latex, and PDF
+ * fixes for exceptions met during execution
+ * include markdown outputs in markdown/html exports
+
+-------------------------------------------------------------------
+Thu Oct 22 13:25:38 UTC 2015 - toddrme2178(a)gmail.com
+
+- Don't try to build documentation on openSUSE 13.1,
+ it lacks necessary packages.
+
+-------------------------------------------------------------------
+Mon Oct 5 10:01:17 UTC 2015 - toddrme2178(a)gmail.com
+
+- Build documentation
+
+-------------------------------------------------------------------
+Thu Aug 13 12:02:41 UTC 2015 - toddrme2178(a)gmail.com
+
+- Initial version
+
--- /work/SRC/openSUSE:Factory/python3-jupyter_nbconvert/python3-jupyter_nbconvert.changes 2016-01-09 23:13:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-jupyter_nbconvert.new/python3-jupyter_nbconvert.changes 2016-06-02 09:38:24.000000000 +0200
@@ -1,0 +2,21 @@
+Wed May 18 17:52:29 UTC 2016 - toddrme2178(a)gmail.com
+
+- Update to 4.2.0
+ * Custom Exporters can be provided by external packages,
+ and registered with nbconvert via setuptools entrypoints.
+ * allow nbconvert reading from stdin with ``--stdin`` option (write into
+ notebook`` basename)
+ * Various ANSI-escape fixes and improvements
+ * Various LaTeX/PDF export fixes
+ * Various fixes and improvements for executing notebooks with ``--execute``.
+- Split documentation into own subpackage to avoid dependency loop
+ with python3-jupyter_nbsphinx.
+
+-------------------------------------------------------------------
+Sun May 8 07:13:12 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+
+-------------------------------------------------------------------
Old:
----
nbconvert-4.1.0.tar.gz
New:
----
nbconvert-4.2.0.tar.gz
python3-jupyter_nbconvert-doc.changes
python3-jupyter_nbconvert-doc.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-jupyter_nbconvert-doc.spec ++++++
#
# spec file for package python3-jupyter_nbconvert-doc
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
# PDF documentation currently broken
# %define build_pdf 1
%define build_pdf 0
%else
%define build_pdf 0
%endif
Name: python3-jupyter_nbconvert-doc
Version: 4.2.0
Release: 0
Summary: Documentation for python3-jupyter_nbconvert
License: BSD-3-Clause
Group: Documentation/Other
Url: http://jupyter.org
Source: https://files.pythonhosted.org/packages/source/n/nbconvert/nbconvert-%{vers…
BuildRequires: pandoc
BuildRequires: python3-jupyter_nbconvert
BuildRequires: python3-jupyter_nbsphinx
BuildRequires: python3-Sphinx
%if %{build_pdf}
BuildRequires: python3-Sphinx-latex
BuildRequires: texlive-bibtex
BuildRequires: texlive-makeindex
BuildRequires: tex(adjustbox.sty)
BuildRequires: tex(eurosym.sty)
BuildRequires: tex(ulem.sty)
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
Documentation and help files for python3-jupyter_nbconvert.
%package html
Summary: HTML documentation for python3-jupyter_nbconvert
Group: Documentation/HTML
Recommends: python3-jupyter_nbconvert = %{version}
%description html
Documentation and help files for python3-jupyter_nbconvert in HTML format.
%package pdf
Summary: PDF documentation for python3-jupyter_nbconvert
Group: Documentation/PDF
Recommends: python3-jupyter_nbconvert = %{version}
%description pdf
Documentation and help files for python3-jupyter_nbconvert in PDF format.
%prep
%setup -q -n nbconvert-%{version}
%build
# Nothing here
%install
# Build the documentation
pushd docs
export PYTHONPATH=%{buildroot}%{python3_sitelib}:$PYTHONPATH
export PATH=%{buildroot}%{_bindir}:$PATH
%if %{build_pdf}
make latexpdf
%endif
make html
rm -rf _build/html/.buildinfo
popd
%files html
%defattr(-,root,root,-)
%doc COPYING.md
%doc docs/build/html/
%if %{build_pdf}
%files pdf
%defattr(-,root,root,-)
%doc COPYING.md
%doc docs/build/latex/*.pdf
%endif
%changelog
++++++ python3-jupyter_nbconvert.spec ++++++
--- /var/tmp/diff_new_pack.X9m0Ks/_old 2016-06-02 09:38:25.000000000 +0200
+++ /var/tmp/diff_new_pack.X9m0Ks/_new 2016-06-02 09:38:25.000000000 +0200
@@ -17,16 +17,17 @@
Name: python3-jupyter_nbconvert
-Version: 4.1.0
+Version: 4.2.0
Release: 0
Summary: Converting Jupyter Notebooks
License: BSD-3-Clause
Group: Development/Languages/Python
Url: http://jupyter.org
-Source: https://pypi.python.org/packages/source/n/nbconvert/nbconvert-%{version}.ta…
+Source: https://files.pythonhosted.org/packages/source/n/nbconvert/nbconvert-%{vers…
BuildRequires: python3-Jinja2
BuildRequires: python3-Pygments
BuildRequires: python3-devel
+BuildRequires: python3-entrypoints
BuildRequires: python3-jupyter_client
BuildRequires: python3-jupyter_core
BuildRequires: python3-jupyter_nbformat
@@ -34,20 +35,14 @@
BuildRequires: python3-setuptools
BuildRequires: python3-tornado
BuildRequires: python3-traitlets
+# Tests hang on openSUSE 13.1
+%if 0%{?suse_version} && 0%{?suse_version} > 1310
# Testing requirements
BuildRequires: python3-jupyter_ipykernel
BuildRequires: python3-nose
-%if 0%{?suse_version} && 0%{?suse_version} > 1315
-# Documentation requirements
-BuildRequires: pandoc
-BuildRequires: python3-Sphinx
-BuildRequires: python3-Sphinx-latex
-BuildRequires: tex(adjustbox.sty)
-BuildRequires: tex(eurosym.sty)
-BuildRequires: tex(ulem.sty)
-BuildRequires: texlive-bibtex
-BuildRequires: texlive-makeindex
+BuildRequires: python3-testpath
%endif
+Requires: python3-entrypoints
Requires: python3-Jinja2
Requires: python3-Pygments
Requires: python3-jupyter_core
@@ -57,11 +52,6 @@
Recommends: pandoc
Recommends: python3-tornado
Recommends: python3-jupyter_client
-Recommends: texlive-bibtex
-Recommends: texlive-makeindex
-Recommends: tex(adjustbox.sty)
-Recommends: tex(eurosym.sty)
-Recommends: tex(ulem.sty)
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildConflicts: python3-buildservice-tweak
@@ -72,20 +62,6 @@
The jupyter nbconvert package converts notebooks to various other formats
via Jinja templates.
-%package doc-html
-Summary: HTML documentation for %{name}
-Recommends: %{name} = %{version}
-
-%description doc-html
-Documentation and help files for %{name} in HTML format
-
-%package doc-pdf
-Summary: HTML documentation for %{name}
-Recommends: %{name} = %{version}
-
-%description doc-pdf
-Documentation and help files for %{name} in PDF format
-
%prep
%setup -q -n nbconvert-%{version}
@@ -95,17 +71,6 @@
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
-%if 0%{?suse_version} && 0%{?suse_version} > 1315
-# Build the documentation
-pushd docs
-export PYTHONPATH=%{buildroot}%{python3_sitelib}:$PYTHONPATH
-export PATH=%{buildroot}%{_bindir}:$PATH
-make latexpdf
-make html
-rm -rf _build/html/.buildinfo
-popd
-%endif
-
mv %{buildroot}%{_bindir}/jupyter-nbconvert %{buildroot}%{_bindir}/jupyter3-nbconvert
ln -s -f %{_bindir}/jupyter3-nbconvert %{buildroot}%{_bindir}/jupyter-nbconvert-%{py3_ver}
@@ -127,11 +92,14 @@
%_sbindir/update-alternatives --remove jupyter-nbconvert %{_bindir}/jupyter-nbconvert-%{py3_ver}
fi
+# Tests hang on openSUSE 13.1
+%if 0%{?suse_version} && 0%{?suse_version} > 1310
%check
export LANG=en_US.UTF-8
export PYTHONPATH=%{buildroot}%{python3_sitelib}:$PYTHONPATH
export PATH=%{buildroot}%{_bindir}:$PATH
nosetests -e test_filename_spaces
+%endif
%files
%defattr(-,root,root,-)
@@ -142,16 +110,4 @@
%ghost %{_sysconfdir}/alternatives/jupyter-nbconvert
%{python3_sitelib}/*
-%if 0%{?suse_version} && 0%{?suse_version} > 1315
-%files doc-html
-%defattr(-,root,root,-)
-%doc COPYING.md
-%doc docs/build/html/
-
-%files doc-pdf
-%defattr(-,root,root,-)
-%doc COPYING.md
-%doc docs/build/latex/*.pdf
-%endif
-
%changelog
++++++ nbconvert-4.1.0.tar.gz -> nbconvert-4.2.0.tar.gz ++++++
++++ 25412 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python3-pandas for openSUSE:Factory checked in at 2016-06-02 09:38:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pandas (Old)
and /work/SRC/openSUSE:Factory/.python3-pandas.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pandas"
Changes:
--------
New Changes file:
--- /dev/null 2016-04-07 01:36:33.300037506 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pandas.new/python3-pandas-doc.changes 2016-06-02 09:38:20.000000000 +0200
@@ -0,0 +1,1069 @@
+-------------------------------------------------------------------
+Thu May 19 18:37:25 UTC 2016 - toddrme2178(a)gmail.com
+
+- Split documentation into own subpackage to speed up build.
+- Remove buildrequires for optional dependencies to speed up build.
+
+-------------------------------------------------------------------
+Sun May 15 04:32:39 UTC 2016 - arun(a)gmx.de
+
+- update to version 0.18.1:
+ (for a full changelog see http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#v0-18-1-may-3-2016)
+ * Highlights include:
+ + .groupby(...) has been enhanced to provide convenient syntax
+ when working with .rolling(..), .expanding(..) and .resample(..)
+ per group, see here
+ + pd.to_datetime() has gained the ability to assemble dates from a
+ DataFrame, see here
+ + Method chaining improvements, see here.
+ + Custom business hour offset, see here.
+ + Many bug fixes in the handling of sparse, see here
+ + Expanded the Tutorials section with a feature on modern pandas,
+ courtesy of @TomAugsburger. (GH13045).
+
+-------------------------------------------------------------------
+Sun May 8 07:03:41 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+
+-------------------------------------------------------------------
+Sat Mar 12 19:00:30 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+
+- update to version 0.18.0:
+ (for a full changelog see http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#v0-18-0-march-13-…)
+ * Highlights include:
+ + Moving and expanding window functions are now methods on Series
+ and DataFrame, similar to .groupby, see here.
+ + Adding support for a RangeIndex as a specialized form of the
+ Int64Index for memory savings, see here.
+ + API breaking change to the .resample method to make it more
+ .groupby like, see here.
+ + Removal of support for positional indexing with floats, which
+ was deprecated since 0.14.0. This will now raise a TypeError,
+ see here.
+ + The .to_xarray() function has been added for compatibility with
+ the xarray package, see here.
+ + The read_sas function has been enhanced to read sas7bdat files,
+ see here.
+ + Addition of the .str.extractall() method, and API changes to the
+ .str.extract() method and .str.cat() method.
+ + pd.test() top-level nose test runner is available (GH4327).
+
+-------------------------------------------------------------------
+Sun Nov 22 00:45:29 UTC 2015 - arun(a)gmx.de
+
+- update to version 0.17.1:
+ (for full changelog see http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#v0-17-1-november-…)
+ Highlights include:
+ * Support for Conditional HTML Formatting, see here
+ * Releasing the GIL on the csv reader & other ops, see here
+ * Fixed regression in DataFrame.drop_duplicates from 0.16.2, causing
+ incorrect results on integer values (GH11376)
+
+-------------------------------------------------------------------
+Sat Oct 10 16:39:41 UTC 2015 - arun(a)gmx.de
+
+- update to version 0.17.0:
+ (for full changelog see http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#v0-17-0-october-9…)
+ Highlights:
+ * Release the Global Interpreter Lock (GIL) on some cython
+ operations, see here
+ * Plotting methods are now available as attributes of the .plot
+ accessor, see here
+ * The sorting API has been revamped to remove some long-time
+ inconsistencies, see here
+ * Support for a datetime64[ns] with timezones as a first-class
+ dtype, see here
+ * The default for to_datetime will now be to raise when presented
+ with unparseable formats, previously this would return the
+ original input. Also, date parse functions now return consistent
+ results. See here
+ * The default for dropna in HDFStore has changed to False, to store
+ by default all rows even if they are all NaN, see here
+ * Datetime accessor (dt) now supports Series.dt.strftime to generate
+ formatted strings for datetime-likes, and Series.dt.total_seconds
+ to ge nerate each duration of the timedelta in seconds. See here
+ * Period and PeriodIndex can handle multiplied freq like 3D, which
+ corresponding to 3 days span. See here
+ * Development installed versions of pandas will now have PEP440
+ compliant version strings (GH9518)
+ * Development support for benchmarking with the Air Speed Velocity
+ library (GH8361)
+ * Support for reading SAS xport files, see here
+ * Documentation comparing SAS to pandas, see here
+ * Removal of the automatic TimeSeries broadcasting, deprecated since
+ 0.8.0, see here
+ * Display format with plain text can optionally align with Unicode
+ East Asian Width, see here
+ * Compatibility with Python 3.5 (GH11097)
+ * Compatibility with matplotlib 1.5.0 (GH11111)
+
+-------------------------------------------------------------------
+Wed Jul 29 08:50:55 UTC 2015 - toddrme2178(a)gmail.com
+
+- xlwt and boto are now available for python 3.
+
+-------------------------------------------------------------------
+Mon Jul 27 10:08:46 UTC 2015 - toddrme2178(a)gmail.com
+
+- Don't require HDF5 directly, the ambiguities should be and have
+ been fixed in the packages that require hdf5 directly, not here.
+
+-------------------------------------------------------------------
+Sun Jun 14 06:52:11 UTC 2015 - arun(a)gmx.de
+
+- update to version 0.16.2:
+ (see http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#v0-16-2-june-12-2…)
+ * Highlights
+ + A new pipe method
+ + Documentation on how to use numba with pandas
+ * Enhancements
+ + Added rsplit to Index/Series StringMethods (GH10303)
+ + Removed the hard-coded size limits on the DataFrame HTML
+ representation in the IPython notebook, and leave this to
+ IPython itself (only for IPython v3.0 or greater). This
+ eliminates the duplicate scroll bars that appeared in the
+ notebook with large frames (GH10231).
+
+ Note that the notebook has a toggle output scrolling feature to
+ limit the display of very large frames (by clicking left of the
+ output). You can also configure the way DataFrames are displayed
+ using the pandas options, see here here.
+ + axis parameter of DataFrame.quantile now accepts also index and
+ column. (GH9543)
+ * API Changes
+ + Holiday now raises NotImplementedError if both offset and
+ observance are used in the constructor instead of returning an
+ incorrect result (GH10217).
+ * Performance Improvements
+ + Improved Series.resample performance with dtype=datetime64[ns]
+ (GH7754)
+ + Increase performance of str.split when expand=True (GH10081)
+ * Bug Fixes
+ + Bug in Series.hist raises an error when a one row Series was
+ given (GH10214)
+ + Bug where HDFStore.select modifies the passed columns list
+ (GH7212)
+ + Bug in Categorical repr with display.width of None in Python 3
+ (GH10087)
+ + Bug in to_json with certain orients and a CategoricalIndex would
+ segfault (GH10317)
+ + Bug where some of the nan funcs do not have consistent return
+ dtypes (GH10251)
+ + Bug in DataFrame.quantile on checking that a valid axis was
+ passed (GH9543)
+ + Bug in groupby.apply aggregation for Categorical not preserving
+ categories (GH10138)
+ + Bug in to_csv where date_format is ignored if the datetime is
+ fractional (GH10209)
+ + Bug in DataFrame.to_json with mixed data types (GH10289)
+ + Bug in cache updating when consolidating (GH10264)
+ + Bug in mean() where integer dtypes can overflow (GH10172)
+ + Bug where Panel.from_dict does not set dtype when specified
+ (GH10058)
+ + Bug in Index.union raises AttributeError when passing
+ array-likes. (GH10149)
+ + Bug in Timestamp‘s’ microsecond, quarter, dayofyear, week and
+ daysinmonth properties return np.int type, not built-in
+ int. (GH10050)
+ + Bug in NaT raises AttributeError when accessing to daysinmonth,
+ dayofweek properties. (GH10096)
+ + Bug in Index repr when using the max_seq_items=None setting
+ (GH10182).
+ + Bug in getting timezone data with dateutil on various platforms
+ ( GH9059, GH8639, GH9663, GH10121)
+ + Bug in displaying datetimes with mixed frequencies; display ‘ms’
+ datetimes to the proper precision. (GH10170)
+ + Bug in setitem where type promotion is applied to the entire
+ block (GH10280)
+ + Bug in Series arithmetic methods may incorrectly hold names
+ (GH10068)
+ + Bug in GroupBy.get_group when grouping on multiple keys, one of
+ which is categorical. (GH10132)
+ + Bug in DatetimeIndex and TimedeltaIndex names are lost after
+ timedelta arithmetics ( GH9926)
+ + Bug in DataFrame construction from nested dict with datetime64
+ (GH10160)
+ + Bug in Series construction from dict with datetime64 keys
+ (GH9456)
+ + Bug in Series.plot(label="LABEL") not correctly setting the
+ label (GH10119)
+ + Bug in plot not defaulting to matplotlib axes.grid setting
+ (GH9792)
++++ 872 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.python3-pandas.new/python3-pandas-doc.changes
--- /work/SRC/openSUSE:Factory/python3-pandas/python3-pandas.changes 2016-05-16 12:04:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pandas.new/python3-pandas.changes 2016-06-02 09:38:20.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 19 18:37:25 UTC 2016 - toddrme2178(a)gmail.com
+
+- Split documentation into own subpackage to speed up build.
+- Remove buildrequires for optional dependencies to speed up build.
+
+-------------------------------------------------------------------
New:
----
python3-pandas-doc.changes
python3-pandas-doc.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pandas-doc.spec ++++++
#
# spec file for package python3-pandas-doc
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python3-pandas-doc
Version: 0.18.1
Release: 0
Summary: Documentation for python3-pandas
License: BSD-3-Clause
Group: Documentation/HTML
Url: http://pandas.pydata.org/
Source0: https://files.pythonhosted.org/packages/source/p/pandas/pandas-%{version}.t…
BuildRequires: python3-pandas = %{version}
BuildRequires: python3-Sphinx
Recommends: python3-pandas = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
Documentation, help files, and examples for python3-pandas.
%prep
%setup -q -n pandas-%{version}
%build
# Not needed
%install
pushd doc
python3 make.py html
popd
%files
%defattr(-,root,root)
%doc doc/build/html/
%changelog
++++++ python3-pandas.spec ++++++
--- /var/tmp/diff_new_pack.ndQlTm/_old 2016-06-02 09:38:21.000000000 +0200
+++ /var/tmp/diff_new_pack.ndQlTm/_new 2016-06-02 09:38:21.000000000 +0200
@@ -26,31 +26,18 @@
Source0: https://files.pythonhosted.org/packages/source/p/pandas/pandas-%{version}.t…
BuildRequires: fdupes
BuildRequires: gcc-c++
-BuildRequires: python3-Bottleneck
-BuildRequires: python3-Cython
-BuildRequires: python3-SQLAlchemy
-BuildRequires: python3-Sphinx
-BuildRequires: python3-beautifulsoup4
-BuildRequires: python3-boto
-BuildRequires: python3-dateutil
BuildRequires: python3-devel
-BuildRequires: python3-html5lib
-BuildRequires: python3-lxml
-BuildRequires: python3-matplotlib
-BuildRequires: python3-numexpr >= 2.1
+BuildRequires: python3-setuptools
+BuildRequires: python3-dateutil
BuildRequires: python3-numpy-devel >= 1.7.0
-BuildRequires: python3-openpyxl
BuildRequires: python3-pytz
-BuildRequires: python3-scipy
-BuildRequires: python3-setuptools
-BuildRequires: python3-tables >= 3.0.0
-BuildRequires: python3-xlrd
-BuildRequires: python3-xlwt
Requires: python3-dateutil
Requires: python3-numpy >= 1.7.0
Requires: python3-pytz
Recommends: python3-Bottleneck
+Recommends: python3-Jinja2
Recommends: python3-beautifulsoup4
+Recommends: python3-blosc
Recommends: python3-boto
Recommends: python3-html5lib
Recommends: python3-lxml
@@ -62,8 +49,11 @@
Recommends: python3-SQLAlchemy
Recommends: python3-statsmodels
Recommends: python3-tables >= 3.0.0
+Recommends: python3-xarray
Recommends: python3-xlrd
+Recommends: python3-xlsxwriter
Recommends: python3-xlwt
+Recommends: xclip
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -74,14 +64,6 @@
the broader goal of becoming the most powerful and flexible open source data
analysis / manipulation tool available in any language.
-%package doc
-Summary: Documentation for %{name}
-Group: Development/Libraries/Python
-Recommends: %{name} = %{version}
-
-%description doc
-Documentation, help files, and examples for %{name}
-
%prep
%setup -q -n pandas-%{version}
@@ -91,10 +73,6 @@
%install
python3 setup.py install --root %{buildroot} --prefix=%{_prefix}
-pushd doc
-python3 make.py html
-popd
-
rm -r %{buildroot}%{python3_sitearch}/pandas/tests
%fdupes %{buildroot}%{python3_sitearch}
@@ -103,17 +81,10 @@
%py3_compile .
popd
-%clean
-rm -rf %{buildroot}
-
%files
%defattr(-,root,root)
%doc LICENSE doc/README.rst RELEASE.md
%{python3_sitearch}/pandas
%{python3_sitearch}/pandas-%{version}-py%{py3_ver}.egg-info
-%files doc
-%defattr(-,root,root)
-%doc doc/build/html/
-
%changelog
1
0
Hello community,
here is the log from the commit of package rabbitmq-server for openSUSE:Factory checked in at 2016-06-02 09:38:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rabbitmq-server (Old)
and /work/SRC/openSUSE:Factory/.rabbitmq-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rabbitmq-server"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rabbitmq-server/rabbitmq-server.changes 2015-04-21 10:52:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rabbitmq-server.new/rabbitmq-server.changes 2016-06-02 09:38:17.000000000 +0200
@@ -1,0 +2,36 @@
+Thu Apr 14 14:30:39 UTC 2016 - aplanas(a)suse.com
+
+Fix bsc#973999
+- rabbitmq-server.service: increase NOFILE limit per documentation
+- rabbitqm-server.ocf: add OCF_RESKEY_limit_nofile parameter
+ default as 65535
+
+-------------------------------------------------------------------
+Mon Sep 28 10:01:29 UTC 2015 - dmueller(a)suse.com
+
+- rabbitmqctl: clear CMDLINE before appending
+
+-------------------------------------------------------------------
+Thu Sep 24 10:17:52 UTC 2015 - dmueller(a)suse.com
+
+- update to 3.5.4:
+ Runtime I/O thread pool size is now 64 instead of 30 by default.
+ This reduces time spent waiting for file I/O operations to complete
+ on machines with 8 or more cores.
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_4
+
+-------------------------------------------------------------------
+Wed Jun 24 13:22:48 UTC 2015 - dmueller(a)suse.com
+
+- rabbitmq-server.service: switch to type=Notify in order to
+ avoid cookie creation race
+
+-------------------------------------------------------------------
+Tue Jun 23 17:26:24 UTC 2015 - tbechtold(a)suse.com
+
+- update to 3.5.3:
+ 3.5.2 and 3.5.3 are bugfix releases. See:
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_2
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_3
+
+-------------------------------------------------------------------
Old:
----
rabbitmq-server-3.5.1.tar.gz
New:
----
rabbitmq-server-3.5.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rabbitmq-server.spec ++++++
--- /var/tmp/diff_new_pack.49YIfh/_old 2016-06-02 09:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.49YIfh/_new 2016-06-02 09:38:19.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rabbitmq-server
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
%endif
Name: rabbitmq-server
-Version: 3.5.1
+Version: 3.5.4
Release: 0
Summary: The RabbitMQ Server
License: MPL-1.1
@@ -62,6 +62,7 @@
BuildRequires: systemd
%{?systemd_requires}
%define have_systemd 1
+Requires: erlang-sd_notify
%else
Requires: %fillup_prereq
Requires: %insserv_prereq
++++++ no-remove-common.patch ++++++
--- /var/tmp/diff_new_pack.49YIfh/_old 2016-06-02 09:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.49YIfh/_new 2016-06-02 09:38:19.000000000 +0200
@@ -1,6 +1,8 @@
---- Makefile.orig 2013-03-13 11:32:13.354753804 +0100
-+++ Makefile 2013-03-13 11:32:32.695820378 +0100
-@@ -110,7 +110,6 @@
+Index: Makefile
+===================================================================
+--- Makefile.orig
++++ Makefile
+@@ -120,7 +120,6 @@ plugins:
mkdir -p $(PLUGINS_DIR)
PLUGINS_SRC_DIR="" $(MAKE) -C "$(PLUGINS_SRC_DIR)" plugins-dist PLUGINS_DIST_DIR="$(CURDIR)/$(PLUGINS_DIR)" VERSION=$(VERSION)
echo "Put your EZs here and use rabbitmq-plugins to enable them." > $(PLUGINS_DIR)/README
++++++ rabbitmq-script-wrapper ++++++
--- /var/tmp/diff_new_pack.49YIfh/_old 2016-06-02 09:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.49YIfh/_new 2016-06-02 09:38:19.000000000 +0200
@@ -16,13 +16,14 @@
##
# Escape spaces and quotes, because shell is revolting.
+CMDLINE=""
for arg in "$@" ; do
- # Escape quotes in parameters, so that they're passed through cleanly.
- arg=$(sed -e 's/"/\\"/g' <<-END
- $arg
- END
- )
- CMDLINE="${CMDLINE} \"${arg}\""
+ # Escape quotes in parameters, so that they're passed through cleanly.
+ arg=$(sed -e 's/"/\\"/g' <<-END
+$arg
+END
+ )
+ CMDLINE="${CMDLINE} \"${arg}\""
done
cd /var/lib/rabbitmq
++++++ rabbitmq-server-3.5.1.tar.gz -> rabbitmq-server-3.5.4.tar.gz ++++++
++++ 7953 lines of diff (skipped)
++++++ rabbitmq-server.ocf ++++++
--- /var/tmp/diff_new_pack.49YIfh/_old 2016-06-02 09:38:20.000000000 +0200
+++ /var/tmp/diff_new_pack.49YIfh/_new 2016-06-02 09:38:20.000000000 +0200
@@ -30,6 +30,7 @@
## OCF_RESKEY_mnesia_base
## OCF_RESKEY_server_start_args
## OCF_RESKEY_pid_file
+## OCF_RESKEY_limit_nofile
#######################################################################
# Initialization:
@@ -44,11 +45,13 @@
OCF_RESKEY_nodename_default="rabbit@localhost"
OCF_RESKEY_log_base_default="/var/log/rabbitmq"
OCF_RESKEY_pid_file_default="/var/run/rabbitmq/pid"
+OCF_RESKEY_limit_nofile_default="65535"
: ${OCF_RESKEY_server=${OCF_RESKEY_server_default}}
: ${OCF_RESKEY_ctl=${OCF_RESKEY_ctl_default}}
: ${OCF_RESKEY_nodename=${OCF_RESKEY_nodename_default}}
: ${OCF_RESKEY_log_base=${OCF_RESKEY_log_base_default}}
: ${OCF_RESKEY_pid_file=${OCF_RESKEY_pid_file_default}}
+: ${OCF_RESKEY_limit_nofile=${OCF_RESKEY_limit_nofile_default}}
meta_data() {
cat <<END
@@ -144,6 +147,14 @@
<content type="string" default="${OCF_RESKEY_pid_file_default}" />
</parameter>
+<parameter name="limit_nofile" unique="0" required="0">
+<longdesc lang="en">
+Soft and hard limit for NOFILE
+</longdesc>
+<shortdesc lang="en">NOFILE limit</shortdesc>
+<content type="string" default="${OCF_RESKEY_limit_nofile}" />
+</parameter>
+
</parameters>
<actions>
@@ -176,6 +187,7 @@
RABBITMQ_MNESIA_BASE=$OCF_RESKEY_mnesia_base
RABBITMQ_SERVER_START_ARGS=$OCF_RESKEY_server_start_args
RABBITMQ_PID_FILE=$OCF_RESKEY_pid_file
+RABBITMQ_LIMIT_NOFILE=$OCF_RESKEY_limit_nofile
[ ! -z $RABBITMQ_NODENAME ] && NODENAME_ARG="-n $RABBITMQ_NODENAME"
[ ! -z $RABBITMQ_NODENAME ] && export RABBITMQ_NODENAME
@@ -204,6 +216,10 @@
[ ! -z $RABBITMQ_PID_FILE ] && ensure_pid_dir && export RABBITMQ_PID_FILE
}
+set_limits() {
+ [ ! -z $RABBITMQ_LIMIT_NOFILE ] && ulimit -n $RABBITMQ_LIMIT_NOFILE
+}
+
rabbit_validate_partial() {
if [ ! -x $RABBITMQ_SERVER ]; then
ocf_log err "rabbitmq-server server $RABBITMQ_SERVER does not exist or is not executable";
@@ -276,6 +292,9 @@
export_vars
+ # RabbitMQ requires high soft and hard limits for NOFILE
+ set_limits
+
setsid sh -c "$RABBITMQ_SERVER > ${RABBITMQ_LOG_BASE}/startup_log 2> ${RABBITMQ_LOG_BASE}/startup_err" &
# Wait for the server to come up.
++++++ rabbitmq-server.service ++++++
--- /var/tmp/diff_new_pack.49YIfh/_old 2016-06-02 09:38:20.000000000 +0200
+++ /var/tmp/diff_new_pack.49YIfh/_new 2016-06-02 09:38:20.000000000 +0200
@@ -1,18 +1,16 @@
[Unit]
Description=RabbitMQ broker
-After=epmd.socket syslog.target network.target
-Requires=epmd.socket
+After=syslog.target network.target
[Service]
-Type=simple
+Type=notify
User=rabbitmq
Group=rabbitmq
-Environment=RABBITMQ_PID_FILE=/var/run/rabbitmq/pid
+LimitNOFILE=65535
+NotifyAccess=all
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/sbin/rabbitmq-server
-ExecStartPost=/usr/sbin/rabbitmqctl wait /var/run/rabbitmq/pid
ExecStop=/usr/sbin/rabbitmqctl stop
-ExecStopPost=/usr/bin/rm /var/run/rabbitmq/pid
[Install]
WantedBy=multi-user.target
1
0
Hello community,
here is the log from the commit of package hlint for openSUSE:Factory checked in at 2016-06-02 09:38:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hlint (Old)
and /work/SRC/openSUSE:Factory/.hlint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hlint"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hlint/hlint.changes 2016-03-26 15:22:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.hlint.new/hlint.changes 2016-06-02 09:38:07.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Mar 25 08:07:37 UTC 2016 - mimi.vx(a)gmail.com
+
+- updateto 1.9.32
+* require cpphs-1.20.1, has important fixes
+* treat select $ specially, as per esqueleto conventions
+* don't modify qualification on substitutions
+* add void/mapM_/forM_ hints
+
+-------------------------------------------------------------------
Old:
----
hlint-1.9.31.tar.gz
New:
----
hlint-1.9.32.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hlint.spec ++++++
--- /var/tmp/diff_new_pack.eDvk2K/_old 2016-06-02 09:38:08.000000000 +0200
+++ /var/tmp/diff_new_pack.eDvk2K/_new 2016-06-02 09:38:08.000000000 +0200
@@ -20,7 +20,7 @@
# no useful debuginfo for Haskell packages without C sources
%global debug_package %{nil}
Name: hlint
-Version: 1.9.31
+Version: 1.9.32
Release: 0
Summary: Source code suggestions
License: BSD-3-Clause
++++++ hlint-1.9.31.tar.gz -> hlint-1.9.32.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/CHANGES.txt new/hlint-1.9.32/CHANGES.txt
--- old/hlint-1.9.31/CHANGES.txt 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/CHANGES.txt 2016-03-23 11:47:29.000000000 +0100
@@ -1,5 +1,10 @@
Changelog for HLint
+1.9.32
+ #53, require cpphs-1.20.1, has important fixes
+ #224, treat select $ specially, as per esqueleto conventions
+ #231, don't modify qualification on substitutions
+ #229, add void/mapM_/forM_ hints
1.9.31
#222, don't suggest removing ~ if the Strict extension is on
1.9.30
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/README.md new/hlint-1.9.32/README.md
--- old/hlint-1.9.31/README.md 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/README.md 2016-03-23 11:47:29.000000000 +0100
@@ -209,7 +209,7 @@
warn = concat (map f x) ==> concatMap f x
-The line can be read as replace `concat (map f x)` with `concatMap f x`. All single-letter variables are treated as substitution parameters. For examples of more complex hints see the supplied hints file. In general, hints should not be given in point free style, as this reduces the power of the matching. Hints may start with `error`, `warn` or `suggest` to denote how severe they are by default. In addition, `hint` is a synonym for `suggest`. If you come up with interesting hints, please submit them for inclusion.
+This line can be read as replace `concat (map f x)` with `concatMap f x`. All single-letter variables are treated as substitution parameters. For examples of more complex hints see the supplied hints file. This hint will automatically match `concat . map f` and `concat $ map f x`, so there is no need to give eta-reduced variants of the hints. Hints may start with `error`, `warn` or `suggest` to denote how severe they are by default. In addition, `hint` is a synonym for `suggest`. If you come up with interesting hints, please submit them for inclusion.
You can search for possible hints to add from a source file with the `--find` flag, for example:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/data/Default.hs new/hlint-1.9.32/data/Default.hs
--- old/hlint-1.9.31/data/Default.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/data/Default.hs 2016-03-23 11:47:29.000000000 +0100
@@ -328,6 +328,12 @@
warn = a >> forever a ==> forever a where _ = noQuickCheck
hint = liftM2 id ==> ap where _ = noQuickCheck
warn = mapM (uncurry f) (zip l m) ==> zipWithM f l m where _ = noQuickCheck
+warn = mapM_ (void . f) ==> mapM_ f
+warn = mapM_ (void f) ==> mapM_ f
+warn = forM_ x (void . f) ==> forM_ x f
+warn = forM_ x (void f) ==> forM_ x f
+warn = void (mapM f x) ==> mapM_ f x
+warn = void (forM x f) ==> forM_ x f
-- STATE MONAD
@@ -724,5 +730,8 @@
main = DTL.concat $ map (`DTL.snoc` '-') [DTL.pack "one", DTL.pack "two", DTL.pack "three"]
import Text.Blaze.Html5.Attributes as A \
main = A.id (stringValue id')
+import Prelude((==)) \
+import qualified Prelude as P \
+main = P.length xs == 0 -- P.null xs
</TEST>
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/hlint.cabal new/hlint-1.9.32/hlint.cabal
--- old/hlint-1.9.31/hlint.cabal 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/hlint.cabal 2016-03-23 11:47:29.000000000 +0100
@@ -1,7 +1,7 @@
cabal-version: >= 1.8
build-type: Simple
name: hlint
-version: 1.9.31
+version: 1.9.32
license: BSD3
license-file: LICENSE
category: Development
@@ -47,7 +47,7 @@
build-depends:
base == 4.*, process, filepath, directory, containers,
transformers,
- cpphs >= 1.18.1,
+ cpphs >= 1.20.1,
cmdargs >= 0.10,
haskell-src-exts >= 1.17 && < 1.18,
uniplate >= 1.5,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/HSE/Bracket.hs new/hlint-1.9.32/src/HSE/Bracket.hs
--- old/hlint-1.9.31/src/HSE/Bracket.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/HSE/Bracket.hs 2016-03-23 11:47:29.000000000 +0100
@@ -1,6 +1,9 @@
{-# LANGUAGE PatternGuards, TypeSynonymInstances, FlexibleInstances #-}
-module HSE.Bracket where
+module HSE.Bracket(
+ Brackets(..),
+ paren, transformBracket, rebracket1, appsBracket
+ ) where
import HSE.Type
import HSE.Util
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/HSE/Match.hs new/hlint-1.9.32/src/HSE/Match.hs
--- old/hlint-1.9.31/src/HSE/Match.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/HSE/Match.hs 2016-03-23 11:47:29.000000000 +0100
@@ -1,6 +1,10 @@
{-# LANGUAGE ViewPatterns, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}
-module HSE.Match where
+module HSE.Match(
+ View(..), Named(..),
+ (~=), isSym,
+ App2(..), PVar_(..), Var_(..), PApp_(..)
+ ) where
import Data.Char
import HSE.Type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/HSE/Util.hs new/hlint-1.9.32/src/HSE/Util.hs
--- old/hlint-1.9.31/src/HSE/Util.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/HSE/Util.hs 2016-03-23 11:47:29.000000000 +0100
@@ -1,6 +1,6 @@
{-# LANGUAGE FlexibleContexts #-}
-module HSE.Util where
+module HSE.Util(module HSE.Util) where
import Control.Monad
import Data.List
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/Hint/Bracket.hs new/hlint-1.9.32/src/Hint/Bracket.hs
--- old/hlint-1.9.31/src/Hint/Bracket.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/Hint/Bracket.hs 2016-03-23 11:47:29.000000000 +0100
@@ -56,6 +56,9 @@
-- annotations
main = 1; {-# ANN module ("HLint: ignore Use camelCase" :: String) #-}
main = 1; {-# ANN module (1 + (2)) #-} -- 2
+
+-- special cases (from esqueleto, see #224)
+main = operate <$> (select $ from $ \user -> return $ user ^. UserEmail)
</TEST>
-}
@@ -134,6 +137,7 @@
++
[suggest "Move brackets to avoid $" x (t y) [r] |(t, e@(Paren _ (InfixApp _ a1 op1 a2))) <- splitInfix x
,opExp op1 ~= "$", isVar a1 || isApp a1 || isParen a1, not $ isAtom a2
+ ,not $ a1 ~= "select" -- special case for esqueleto, see #224
, let y = App an a1 (Paren an a2)
, let r = Replace Expr (toSS e) [("a", toSS a1), ("b", toSS a2)] "a (b)" ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/Hint/Match.hs new/hlint-1.9.32/src/Hint/Match.hs
--- old/hlint-1.9.31/src/Hint/Match.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/Hint/Match.hs 2016-03-23 11:47:29.000000000 +0100
@@ -104,9 +104,11 @@
let nm a b = scopeMatch (hintRuleScope,a) (s,b)
u <- unifyExp nm True hintRuleLHS x
u <- check u
+ -- need to check free vars before unqualification, but after subst (with e)
+ -- need to unqualify before substitution (with res)
let e = subst u hintRuleRHS
template = substT u hintRuleRHS
- let res = addBracket parent $ unqualify hintRuleScope s u $ performEval e
+ res = addBracket parent $ performEval $ subst u $ unqualify hintRuleScope s u hintRuleRHS
guard $ (freeVars e Set.\\ Set.filter (not . isUnifyVar) (freeVars hintRuleRHS))
`Set.isSubsetOf` freeVars x
-- check no unexpected new free variables
@@ -301,6 +303,7 @@
where
f (Qual _ (ModuleName _ [m]) x) | Just y <- fromNamed <$> lookup [m] subs
= if null y then UnQual an x else Qual an (ModuleName an y) x
+ f x@(UnQual _ (Ident _ s)) | isUnifyVar s = x
f x = scopeMove (from,x) to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/Main.hs new/hlint-1.9.32/src/Main.hs
--- old/hlint-1.9.31/src/Main.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/Main.hs 2016-03-23 11:47:29.000000000 +0100
@@ -1,5 +1,5 @@
-module Main where
+module Main(main) where
import Language.Haskell.HLint3
import Control.Monad
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hlint-1.9.31/src/Refact.hs new/hlint-1.9.32/src/Refact.hs
--- old/hlint-1.9.31/src/Refact.hs 2016-03-01 15:24:57.000000000 +0100
+++ new/hlint-1.9.32/src/Refact.hs 2016-03-23 11:47:29.000000000 +0100
@@ -1,4 +1,4 @@
-module Refact where
+module Refact(toRefactSrcSpan, toSS) where
import qualified Refact.Types as R
import HSE.All
1
0
Hello community,
here is the log from the commit of package python3-pyudev for openSUSE:Factory checked in at 2016-06-02 09:38:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pyudev (Old)
and /work/SRC/openSUSE:Factory/.python3-pyudev.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pyudev"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pyudev/python3-pyudev.changes 2016-02-08 09:48:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-pyudev.new/python3-pyudev.changes 2016-06-02 09:38:02.000000000 +0200
@@ -1,0 +2,17 @@
+Mon May 16 15:38:01 UTC 2016 - arun(a)gmx.de
+
+- update to version 0.20.0:
+ * Remove parsing code added in previous release.
+ * No longer do CI for Python 2.6.
+ * Eliminate all wildcard imports and __all__ statements.
+ * No longer use deprecated Device.from_sys_path() method.
+ * Minor pylint induced changes.
+ * Documentation fixes.
+
+-------------------------------------------------------------------
+Sun May 8 07:05:39 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * updated source url to files.pythonhosted.org
+
+-------------------------------------------------------------------
Old:
----
pyudev-0.19.0.tar.gz
New:
----
pyudev-0.20.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pyudev.spec ++++++
--- /var/tmp/diff_new_pack.OI6vNZ/_old 2016-06-02 09:38:03.000000000 +0200
+++ /var/tmp/diff_new_pack.OI6vNZ/_new 2016-06-02 09:38:03.000000000 +0200
@@ -17,13 +17,13 @@
Name: python3-pyudev
-Version: 0.19.0
+Version: 0.20.0
Release: 0
Summary: Udev bindings for Python
License: LGPL-2.1+
Group: Development/Libraries/Python
Url: http://pyudev.readthedocs.org/
-Source0: https://pypi.python.org/packages/source/p/pyudev/pyudev-%{version}.tar.gz
+Source0: https://files.pythonhosted.org/packages/source/p/pyudev/pyudev-%{version}.t…
BuildRequires: libudev-devel
BuildRequires: python3-Sphinx
BuildRequires: python3-devel
++++++ pyudev-0.19.0.tar.gz -> pyudev-0.20.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/CHANGES.rst new/pyudev-0.20.0/CHANGES.rst
--- old/pyudev-0.19.0/CHANGES.rst 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/CHANGES.rst 2016-04-29 23:17:02.000000000 +0200
@@ -1,4 +1,14 @@
-0.19.0 (Feb 3, 2015)
+0.20.0 (April 29, 2016)
+=======================
+
+- Remove parsing code added in previous release.
+- No longer do CI for Python 2.6.
+- Eliminate all wildcard imports and __all__ statements.
+- No longer use deprecated Device.from_sys_path() method.
+- Minor pylint induced changes.
+- Documentation fixes.
+
+0.19.0 (Feb 3, 2016)
==================
- Restore raising KeyError by Attributes.as* methods when attribute not found.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/PKG-INFO new/pyudev-0.20.0/PKG-INFO
--- old/pyudev-0.19.0/PKG-INFO 2016-02-03 15:39:22.000000000 +0100
+++ new/pyudev-0.20.0/PKG-INFO 2016-04-29 23:20:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyudev
-Version: 0.19.0
+Version: 0.20.0
Summary: A libudev binding
Home-page: http://pyudev.readthedocs.org/
Author: Sebastian Wiesner
@@ -63,7 +63,7 @@
The source code is hosted on GitHub_::
- git clone git://github.com/lunaryorn/pyudev.git
+ git clone git://github.com/pyudev/pyudev.git
Please fork the repository and send pull requests with your fixes or new
features, but respect the following guidelines:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/README.rst new/pyudev-0.20.0/README.rst
--- old/pyudev-0.19.0/README.rst 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/README.rst 2016-04-29 23:17:02.000000000 +0200
@@ -55,7 +55,7 @@
The source code is hosted on GitHub_::
- git clone git://github.com/lunaryorn/pyudev.git
+ git clone git://github.com/pyudev/pyudev.git
Please fork the repository and send pull requests with your fixes or new
features, but respect the following guidelines:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/doc/guide.rst new/pyudev-0.20.0/doc/guide.rst
--- old/pyudev-0.19.0/doc/guide.rst 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/doc/guide.rst 2016-04-29 23:17:02.000000000 +0200
@@ -245,7 +245,7 @@
>>> monitor.filter_by('block')
>>> for device in iter(monitor.poll, None):
... if 'ID_FS_TYPE' in device:
-... print('{0} partition {1}'.format(action, device.get('ID_FS_LABEL')))
+... print('{0} partition {1}'.format(device.action, device.get('ID_FS_LABEL')))
...
add partition MULTIBOOT
remove partition MULTIBOOT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/__init__.py new/pyudev-0.20.0/src/pyudev/__init__.py
--- old/pyudev-0.19.0/src/pyudev/__init__.py 2016-02-02 17:55:25.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/__init__.py 2016-04-29 23:17:02.000000000 +0200
@@ -34,16 +34,36 @@
.. moduleauthor:: Sebastian Wiesner <lunaryorn(a)gmail.com>
"""
-from __future__ import (print_function, division, unicode_literals,
- absolute_import)
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
-__all__ = ['Context', 'Device']
+from pyudev.device import Attributes
+from pyudev.device import Device
+from pyudev.device import Devices
+from pyudev.device import DeviceNotFoundAtPathError
+from pyudev.device import DeviceNotFoundByFileError
+from pyudev.device import DeviceNotFoundByNameError
+from pyudev.device import DeviceNotFoundByNumberError
+from pyudev.device import DeviceNotFoundError
+from pyudev.device import DeviceNotFoundInEnvironmentError
+from pyudev.device import Tags
+from pyudev.discover import DeviceFileHypothesis
+from pyudev.discover import DeviceNameHypothesis
+from pyudev.discover import DeviceNumberHypothesis
+from pyudev.discover import DevicePathHypothesis
+from pyudev.discover import Discovery
+
+from pyudev.core import Context
+from pyudev.core import Enumerator
+
+from pyudev.monitor import Monitor
+from pyudev.monitor import MonitorObserver
-from pyudev.device import *
-from pyudev.discover import *
-from pyudev.core import *
-from pyudev.monitor import *
from pyudev.version import __version__
from pyudev.version import __version_info__
+
+from pyudev._util import udev_version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_ctypeslib/_errorcheckers.py new/pyudev-0.20.0/src/pyudev/_ctypeslib/_errorcheckers.py
--- old/pyudev-0.19.0/src/pyudev/_ctypeslib/_errorcheckers.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_ctypeslib/_errorcheckers.py 2016-04-29 23:17:02.000000000 +0200
@@ -99,6 +99,7 @@
raised. Otherwise nothing happens.
"""
+ # pylint: disable=invalid-name
if not result:
errnum = get_errno()
if errnum != 0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_ctypeslib/libudev.py new/pyudev-0.20.0/src/pyudev/_ctypeslib/libudev.py
--- old/pyudev-0.19.0/src/pyudev/_ctypeslib/libudev.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_ctypeslib/libudev.py 2016-04-29 23:17:02.000000000 +0200
@@ -47,61 +47,64 @@
from ._errorcheckers import check_negative_errorcode
-class udev(Structure):
+class udev(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev`` structure.
"""
# pylint: disable=too-few-public-methods
pass
-udev_p = POINTER(udev)
+udev_p = POINTER(udev) # pylint: disable=invalid-name
-class udev_enumerate(Structure):
+class udev_enumerate(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev_enumerate`` structure.
"""
# pylint: disable=too-few-public-methods
+ pass
-udev_enumerate_p = POINTER(udev_enumerate)
+udev_enumerate_p = POINTER(udev_enumerate) # pylint: disable=invalid-name
-class udev_list_entry(Structure):
+class udev_list_entry(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev_list_entry`` structure.
"""
# pylint: disable=too-few-public-methods
+ pass
-udev_list_entry_p = POINTER(udev_list_entry)
+udev_list_entry_p = POINTER(udev_list_entry) # pylint: disable=invalid-name
-class udev_device(Structure):
+class udev_device(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev_device`` structure.
"""
# pylint: disable=too-few-public-methods
+ pass
-udev_device_p = POINTER(udev_device)
+udev_device_p = POINTER(udev_device) # pylint: disable=invalid-name
-class udev_monitor(Structure):
+class udev_monitor(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev_device`` structure.
"""
# pylint: disable=too-few-public-methods
-udev_monitor_p = POINTER(udev_monitor)
+udev_monitor_p = POINTER(udev_monitor) # pylint: disable=invalid-name
-class udev_hwdb(Structure):
+class udev_hwdb(Structure): # pylint: disable=invalid-name
"""
Dummy for ``udev_hwdb`` structure.
"""
# pylint: disable=too-few-public-methods
-udev_hwdb_p = POINTER(udev_hwdb)
+udev_hwdb_p = POINTER(udev_hwdb) # pylint: disable=invalid-name
-dev_t = c_ulonglong
+dev_t = c_ulonglong # pylint: disable=invalid-name
SIGNATURES = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_parsing/__init__.py new/pyudev-0.20.0/src/pyudev/_parsing/__init__.py
--- old/pyudev-0.19.0/src/pyudev/_parsing/__init__.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_parsing/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2015 mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-"""
- pyudev._parsing
- ===============
-
- Parsing various fields extracted by pyudev.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-__all__ = [
- 'Devlink',
- 'IdPathParse',
- 'IdPathParsers',
- 'PCIAddressParse'
-]
-
-from ._devlink import Devlink
-
-from ._id_path import IdPathParse
-from ._id_path import IdPathParsers
-
-from ._pci_address import PCIAddressParse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_parsing/_devlink.py new/pyudev-0.20.0/src/pyudev/_parsing/_devlink.py
--- old/pyudev-0.19.0/src/pyudev/_parsing/_devlink.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_parsing/_devlink.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,101 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2015 Anne Mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-"""
- pyudev.device._devlink
- ======================
-
- Simple Devlink class.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import os
-
-
-class Devlink(object):
- """
- Represents a device link.
- """
-
- def __init__(self, path):
- """
- Initializer
-
- :param str path: the full path of the device link
- """
- self._path = path
-
- def __str__(self):
- return self._path
-
- @property
- def path(self):
- """
- The full path of the device link.
-
- :returns: the full path
- :rtype: str
- """
- return self._path
-
- @property
- def has_category(self):
- """
- Whether this devlink has a category, like by-id, or by-path.
-
- :returns: True if the devlink has a category, otherwise False.
- :rtype: boolean
-
- This is decided by taking apart the path and looking for the lack
- of expected distinguishing features.
- """
- base = os.path.dirname(self._path)
- if not os.path.basename(base).startswith("by-"):
- return False
-
- return os.path.dirname(os.path.dirname(base)) == "/dev"
-
- @property
- def value(self):
- """
- The value of the devlink, which is the basename of the path.
-
- :returns: the basename, or None if this devlink has no category.
- :rtype: str or NoneType
- """
- if not self.has_category:
- return None
- return os.path.basename(self._path)
-
- @property
- def category(self):
- """
- The category of this device link.
-
- :returns: the category of the device link or None, if no category
- :rtype: str or NoneType
- """
- if not self.has_category:
- return None
- return os.path.basename(os.path.dirname(self._path))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_parsing/_id_path.py new/pyudev-0.20.0/src/pyudev/_parsing/_id_path.py
--- old/pyudev-0.19.0/src/pyudev/_parsing/_id_path.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_parsing/_id_path.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,171 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2015 mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-"""
- pyudev._parsing._id_path
- ========================
-
- Parsing the ID_PATH udev property.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-
-from collections import defaultdict
-
-from ._shared import Field
-from ._shared import Parser
-
-
-class IdPathParsers(object):
- """
- Aggregate parsers.
- """
- # pylint: disable=too-few-public-methods
-
- PARSERS = [
- Parser(r'acpi-%s', [Field('sys_name')]),
- Parser(r'ap-%s', [Field('sys_name')]),
- Parser(r'ata-%s', [Field('port_no')]),
- Parser(r'bcma-%s', [Field('core')]),
- Parser(r'cciss-disk%s', [Field('disk')]),
- Parser(r'ccw-%s', [Field('sys_name')]),
- Parser(r'ccwgroup-%s', [Field('sys_name')]),
- Parser(r'fc-%s-%s', [Field('port_name'), Field('lun')]),
- Parser(
- r'ip-%s:%s-iscsi-%s-%s',
- [
- Field('persistent_address'),
- Field('persistent_port'),
- Field('target_name'),
- Field('lun')
- ]
- ),
- Parser(r'iucv-%s', [Field('sys_name')]),
- Parser(r'nst%s', [Field('name')]),
- Parser(r'pci-%s', [Field('sys_name')]),
- Parser(r'platform-%s', [Field('sys_name')]),
- Parser(r'sas-%s-%s', [Field('sas_address'), Field('lun')]),
- Parser(
- r'sas-exp%s-phy%s-%s',
- [
- Field(
- 'sas_address',
- r'.*',
- 'sysfs sas_address attribute of expander'
- ),
- Field(
- 'phy_identifier',
- r'.*',
- 'sysfs phy_identifier attribute of target sas device'
- ),
- Field('lun', description='sysnum of device (0 if none)')
- ]
- ),
- Parser(
- r'sas-phy%s-%s',
- [
- Field(
- 'phy_identifier',
- r'.*',
- 'sysfs phy_identifier attribute of target sas device'
- ),
- Field('lun', description='sysnum of device (0 if none)')
- ]
- ),
- Parser(r'scm-%s', [Field('sys_name')]),
- Parser(
- r'scsi-%s:%s:%s:%s',
- [
- Field('host'),
- Field('bus'),
- Field('target'),
- Field('lun')
- ]
- ),
- Parser('serio-%s', [Field('sysnum')]),
- Parser('st%s', [Field('name')]),
- Parser('usb-0:%s', [Field('port')]),
- Parser('vmbus-%s-%s', [Field('guid'), Field('lun')]),
- Parser('xen-%s', [Field('sys_name')])
- ]
-
-
-class IdPathParse(object):
- """
- Manage the parsing of an ID_PATH value.
- """
- # pylint: disable=too-few-public-methods
-
- def __init__(self, parsers):
- """
- Initializer.
-
- :param parsers: parser objects to parse with
- :type parsers: list of Parser
- """
- self.parsers = parsers
-
- self._table = defaultdict(list)
- for parser in self.parsers:
- self._table[parser.prefix].append(parser)
-
- self._keys = self._table.keys()
-
- def _parse_one(self, value):
- """
- Parse the first part of the value.
-
- :param str value: the value to parse
- :returns: the result of parsing, may be several matches
- :rtype: list of parser * match pairs
- """
- keys = (key for key in self._keys if value.startswith(key))
- parsers = (p for key in keys for p in self._table[key])
- matches = ((p, p.regexp.match(value)) for p in parsers)
- return [(p, m) for (p, m) in matches if m is not None]
-
- def parse(self, value):
- """
- Parse the value.
-
- :param str value: the value to parse
- :returns: the result of parsing
- :rtype: list of list of parser * match pairs
-
- Returns the empty list if parsing fails.
-
- If multiple matches, picks the match with the longest matching prefix.
-
- There should not ever be a tie, because, if there are two equally
- long matching prefixes, only one can match.
- """
- match_list = []
- while value != '':
- matches = self._parse_one(value)
- if matches == []:
- return []
-
- (parser, best_match) = max(matches, key=lambda x: len(x[0].prefix))
- match_list.append((parser, best_match))
- value = value[len(best_match.group('total')):]
-
- return match_list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_parsing/_pci_address.py new/pyudev-0.20.0/src/pyudev/_parsing/_pci_address.py
--- old/pyudev-0.19.0/src/pyudev/_parsing/_pci_address.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_parsing/_pci_address.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,60 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2016 mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-"""
- pyudev._parsing._pci_address
- ============================
-
- Parsing a PCI address.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-
-from ._shared import Field
-from ._shared import Parser
-
-
-class PCIAddressParse(object):
- """
- Parse a pci address.
- """
- # pylint: disable=too-few-public-methods
-
- _PARSER = Parser(
- r'%s:%s:%s\.%s',
- [
- Field('domain', description='range 256'),
- Field('bus', description='range 256'),
- Field('device', description='range 32'),
- Field('function', description='range 8')
- ]
- )
-
- def parse(self, value):
- """
- Parse the value.
-
- :param str value: the value to parse
- :returns: the result of parsing
- :rtype: Parser * (Match or NoneType)
- """
- return (self._PARSER, self._PARSER.regexp.match(value))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_parsing/_shared.py new/pyudev-0.20.0/src/pyudev/_parsing/_shared.py
--- old/pyudev-0.19.0/src/pyudev/_parsing/_shared.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_parsing/_shared.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,118 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2016 mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-"""
- pyudev._parsing._shared
- =======================
-
- Some classes that parsers share.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-
-import re
-
-
-class Parser(object):
- """
- A parser for udev ID_PATH values.
- """
-
- def __init__(self, format_string, fields):
- """
- Initializer.
-
- :param str format_string: string used to format this id by udev
- :param fields: list of fields that fill the string
-
- ``format_string`` must content itself with basic C-style format
- codes, beginning with '%' as '%s', '%d'.
- """
- self.format_string = '%s' % format_string
- self.fields = fields
- self._prefix = self.format_string.split('%', 1)[0]
-
- substitution_list = [
- ('(?P<%s>%s)' % (f.name, f.regexp)) for f in self.fields
- ]
- regexp = self.format_string % tuple(substitution_list)
- self._regexp = re.compile('(?P<total>%s)' % regexp)
-
- @property
- def regexp(self):
- """
- The regular expression that should match this value.
-
- :returns: the regular expression that should match this value
- :rtype: compiled regular expression
-
- The regular expression uses ?P<name> syntax.
-
- If there is a match, match.groups('total') matches the entire matched
- string.
- """
- return self._regexp
-
- @property
- def prefix(self):
- """
- A partially distinguishing prefix.
-
- Some parsers may use the same prefix.
-
- :returns: a prefix that distinguishes the parser from other parsers
- """
- return self._prefix
-
- @property
- def keys(self):
- """
- Keys within the regular expression.
-
- :returns: a list of the keys useful for finding portions of a match
- :rtype: list of str
- """
- return [f.name for f in self.fields]
-
-
-class Field(object):
- """
- A field in an id_path.
- """
- # pylint: disable=too-few-public-methods
-
- def __init__(self, name, regexp=r'.*', description=None):
- """
- Initializer.
-
- :param str name: the name of the field
- :param str regexp: regular expression to match the field
-
- The best choice of regular expression may generally define a language
- that is a superset of the actual language of the field.
- Since the containing regular expression will constrain matches, the
- regular expression does not need to be the most precise.
- In general, '.*' may be good enough.
- """
- self.name = name
- self.regexp = regexp
- self.description = description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_qt_base.py new/pyudev-0.20.0/src/pyudev/_qt_base.py
--- old/pyudev-0.19.0/src/pyudev/_qt_base.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_qt_base.py 2016-04-29 23:17:02.000000000 +0200
@@ -32,7 +32,7 @@
import six
-from pyudev.core import Device
+from pyudev.device import Device
class MonitorObserverMixin(object):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/_util.py new/pyudev-0.20.0/src/pyudev/_util.py
--- old/pyudev-0.19.0/src/pyudev/_util.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/_util.py 2016-04-29 23:17:02.000000000 +0200
@@ -117,11 +117,6 @@
entry = libudev.udev_list_entry_get_next(entry)
-# for the sake of readability
-_is_char_device = stat.S_ISCHR
-_is_block_device = stat.S_ISBLK
-
-
def get_device_type(filename):
"""
Get the device type of a device file.
@@ -137,9 +132,9 @@
.. versionadded:: 0.15
"""
mode = os.stat(filename).st_mode
- if _is_char_device(mode):
+ if stat.S_ISCHR(mode):
return 'char'
- elif _is_block_device(mode):
+ elif stat.S_ISBLK(mode):
return 'block'
else:
raise ValueError('not a device file: {0!r}'.format(filename))
@@ -166,13 +161,13 @@
while True:
try:
return func(*args, **kwargs)
- except (OSError, IOError, select.error) as e:
+ except (OSError, IOError, select.error) as err:
# If this is not an IOError or OSError, it's the old select.error
# type, which means that the errno is only accessible via subscript
- if isinstance(e, (OSError, IOError)):
- error_code = e.errno
+ if isinstance(err, (OSError, IOError)):
+ error_code = err.errno
else:
- error_code = e.args[0]
+ error_code = err.args[0]
if error_code == errno.EINTR:
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/core.py new/pyudev-0.20.0/src/pyudev/core.py
--- old/pyudev-0.19.0/src/pyudev/core.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/core.py 2016-04-29 23:17:02.000000000 +0200
@@ -29,7 +29,7 @@
from __future__ import (print_function, division, unicode_literals,
absolute_import)
-from pyudev.device import Device
+from pyudev.device import Devices
from pyudev.device._errors import DeviceNotFoundAtPathError
from pyudev._ctypeslib.libudev import load_udev_library
@@ -37,9 +37,6 @@
from pyudev._util import ensure_unicode_string
from pyudev._util import property_value_to_bytes
from pyudev._util import udev_list_iterate
-from pyudev._util import udev_version
-
-__all__ = ['udev_version', 'Context', 'Enumerator']
class Context(object):
@@ -391,6 +388,6 @@
entry = self._libudev.udev_enumerate_get_list_entry(self)
for name, _ in udev_list_iterate(self._libudev, entry):
try:
- yield Device.from_sys_path(self.context, name)
+ yield Devices.from_sys_path(self.context, name)
except DeviceNotFoundAtPathError:
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/device/__init__.py new/pyudev-0.20.0/src/pyudev/device/__init__.py
--- old/pyudev-0.19.0/src/pyudev/device/__init__.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/device/__init__.py 2016-04-29 23:17:02.000000000 +0200
@@ -24,18 +24,6 @@
.. moduleauthor:: Sebastian Wiesner <lunaryorn(a)gmail.com>
"""
-__all__ = [
- 'Attributes',
- 'Device',
- 'Devices',
- 'DeviceNotFoundAtPathError',
- 'DeviceNotFoundByFileError',
- 'DeviceNotFoundByNameError',
- 'DeviceNotFoundByNumberError',
- 'DeviceNotFoundError',
- 'DeviceNotFoundInEnvironmentError',
- 'Tags'
-]
from ._device import Attributes
from ._device import Device
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/discover.py new/pyudev-0.20.0/src/pyudev/discover.py
--- old/pyudev-0.19.0/src/pyudev/discover.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/discover.py 2016-04-29 23:17:02.000000000 +0200
@@ -39,13 +39,6 @@
from pyudev.device import Devices
from pyudev.device import DeviceNotFoundError
-__all__ = [
- "DeviceFileHypothesis",
- "DeviceNameHypothesis",
- "DeviceNumberHypothesis",
- "DevicePathHypothesis",
- "Discovery"
-]
def wrap_exception(func):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/glib.py new/pyudev-0.20.0/src/pyudev/glib.py
--- old/pyudev-0.19.0/src/pyudev/glib.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/glib.py 2016-04-29 23:17:02.000000000 +0200
@@ -45,8 +45,10 @@
class _ObserverMixin(object):
"""Mixin to provide observer behavior to the old and the new API."""
+ # pylint: disable=too-few-public-methods
def _setup_observer(self, monitor):
+ # pylint: disable=attribute-defined-outside-init
self.monitor = monitor
self.event_source = None
self.enabled = True
@@ -66,12 +68,14 @@
@enabled.setter
def enabled(self, value):
if value and self.event_source is None:
+ # pylint: disable=attribute-defined-outside-init
self.event_source = glib.io_add_watch(
self.monitor, glib.IO_IN, self._process_udev_event)
elif not value and self.event_source is not None:
glib.source_remove(self.event_source)
def _process_udev_event(self, source, condition):
+ # pylint: disable=unused-argument
if condition == glib.IO_IN:
device = self.monitor.poll(timeout=0)
if device:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/monitor.py new/pyudev-0.20.0/src/pyudev/monitor.py
--- old/pyudev-0.19.0/src/pyudev/monitor.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/monitor.py 2016-04-29 23:17:02.000000000 +0200
@@ -34,17 +34,15 @@
from threading import Thread
from functools import partial
+from pyudev.device import Device
+
from pyudev._util import eintr_retry_call
from pyudev._util import ensure_byte_string
-from pyudev.core import Device
from pyudev._os import pipe
from pyudev._os import poll
-__all__ = ['Monitor', 'MonitorObserver']
-
-
class Monitor(object):
"""
A synchronous device event monitor.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev/version.py new/pyudev-0.20.0/src/pyudev/version.py
--- old/pyudev-0.19.0/src/pyudev/version.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev/version.py 2016-04-29 23:17:02.000000000 +0200
@@ -25,7 +25,7 @@
.. moduleauthor:: mulhern <amulhern(a)redhat.com>
"""
-__version_info__ = (0, 19, 0, '')
+__version_info__ = (0, 20, 0, '')
__version__ = "%s%s" % \
(
".".join(str(x) for x in __version_info__[:3]),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev.egg-info/PKG-INFO new/pyudev-0.20.0/src/pyudev.egg-info/PKG-INFO
--- old/pyudev-0.19.0/src/pyudev.egg-info/PKG-INFO 2016-02-03 15:38:59.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev.egg-info/PKG-INFO 2016-04-29 23:20:35.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyudev
-Version: 0.19.0
+Version: 0.20.0
Summary: A libudev binding
Home-page: http://pyudev.readthedocs.org/
Author: Sebastian Wiesner
@@ -63,7 +63,7 @@
The source code is hosted on GitHub_::
- git clone git://github.com/lunaryorn/pyudev.git
+ git clone git://github.com/pyudev/pyudev.git
Please fork the repository and send pull requests with your fixes or new
features, but respect the following guidelines:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/src/pyudev.egg-info/SOURCES.txt new/pyudev-0.20.0/src/pyudev.egg-info/SOURCES.txt
--- old/pyudev-0.19.0/src/pyudev.egg-info/SOURCES.txt 2016-02-03 15:38:59.000000000 +0100
+++ new/pyudev-0.20.0/src/pyudev.egg-info/SOURCES.txt 2016-04-29 23:20:36.000000000 +0200
@@ -60,11 +60,6 @@
src/pyudev/_os/__init__.py
src/pyudev/_os/pipe.py
src/pyudev/_os/poll.py
-src/pyudev/_parsing/__init__.py
-src/pyudev/_parsing/_devlink.py
-src/pyudev/_parsing/_id_path.py
-src/pyudev/_parsing/_pci_address.py
-src/pyudev/_parsing/_shared.py
src/pyudev/device/__init__.py
src/pyudev/device/_device.py
src/pyudev/device/_errors.py
@@ -79,7 +74,6 @@
tests/test_monitor.py
tests/test_observer.py
tests/test_observer_deprecated.py
-tests/test_parsing.py
tests/test_pypi.py
tests/test_util.py
tests/_device_tests/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/_device_tests/_attributes_tests.py new/pyudev-0.20.0/tests/_device_tests/_attributes_tests.py
--- old/pyudev-0.19.0/tests/_device_tests/_attributes_tests.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/_device_tests/_attributes_tests.py 2016-04-29 23:17:02.000000000 +0200
@@ -55,6 +55,10 @@
@given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA))
@settings(max_examples=5)
def test_getitem(self, a_context, device_datum):
+ """
+ Test that attribute value is the same as datum attribute value and
+ is instance of bytes.
+ """
device = Device.from_path(a_context, device_datum.device_path)
for key, value in non_volatile_attributes(device_datum.attributes):
raw_value = value.encode(sys.getfilesystemencoding())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/_device_tests/_device_tests.py new/pyudev-0.20.0/tests/_device_tests/_device_tests.py
--- old/pyudev-0.19.0/tests/_device_tests/_device_tests.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/_device_tests/_device_tests.py 2016-04-29 23:17:02.000000000 +0200
@@ -32,7 +32,6 @@
import gc
from datetime import timedelta
-from hypothesis import assume
from hypothesis import given
from hypothesis import settings
from hypothesis import strategies
@@ -382,14 +381,14 @@
@settings(max_examples=5)
def test_asint(self, a_context, device_datum):
device = Devices.from_path(a_context, device_datum.device_path)
- for property, value in device_datum.properties.items():
+ for prop, value in device_datum.properties.items():
try:
value = int(value)
except ValueError:
with pytest.raises(ValueError):
- device.asint(property)
+ device.asint(prop)
else:
- assert device.asint(property) == value
+ assert device.asint(prop) == value
@given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA))
@settings(max_examples=5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/conftest.py new/pyudev-0.20.0/tests/conftest.py
--- old/pyudev-0.19.0/tests/conftest.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/tests/conftest.py 2016-04-29 23:17:02.000000000 +0200
@@ -18,8 +18,6 @@
from __future__ import (print_function, division, unicode_literals,
absolute_import)
-import os
-
import pytest
import pyudev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/plugins/fake_monitor.py new/pyudev-0.20.0/tests/plugins/fake_monitor.py
--- old/pyudev-0.19.0/tests/plugins/fake_monitor.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/tests/plugins/fake_monitor.py 2016-04-29 23:17:02.000000000 +0200
@@ -34,7 +34,6 @@
from __future__ import (print_function, division, unicode_literals,
absolute_import)
-import sys
import os
from select import select
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_core.py new/pyudev-0.20.0/tests/test_core.py
--- old/pyudev-0.19.0/tests/test_core.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_core.py 2016-04-29 23:17:02.000000000 +0200
@@ -22,7 +22,6 @@
import random
import syslog
-import pytest
import mock
from pyudev import udev_version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_enumerate.py new/pyudev-0.20.0/tests/test_enumerate.py
--- old/pyudev-0.19.0/tests/test_enumerate.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_enumerate.py 2016-04-29 23:17:02.000000000 +0200
@@ -224,8 +224,8 @@
"""
properties = ('DEVTYPE', 'ID_TYPE')
devices = context.list_devices()
- for property in properties:
- devices.match_property(property, 'disk')
+ for prop in properties:
+ devices.match_property(prop, 'disk')
for device in devices:
assert (device.get('DEVTYPE') == 'disk' or
device.get('ID_TYPE') == 'disk')
@@ -233,8 +233,8 @@
def test_combined_matches_of_different_types(self, context):
properties = ('DEVTYPE', 'ID_TYPE')
devices = context.list_devices().match_subsystem('input')
- for property in properties:
- devices.match_property(property, 'disk')
+ for prop in properties:
+ devices.match_property(prop, 'disk')
devices = list(devices)
assert not devices
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_libudev.py new/pyudev-0.20.0/tests/test_libudev.py
--- old/pyudev-0.19.0/tests/test_libudev.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_libudev.py 2016-04-29 23:17:02.000000000 +0200
@@ -22,8 +22,6 @@
import re
import ctypes
-import pytest
-
from pyudev import _ctypeslib
from .utils import is_unicode_string
@@ -66,7 +64,7 @@
else:
if pattern.match(function.name):
return True
- else:
+ else: # pylint: disable=useless-else-on-loop
return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_monitor.py new/pyudev-0.20.0/tests/test_monitor.py
--- old/pyudev-0.19.0/tests/test_monitor.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_monitor.py 2016-04-29 23:17:02.000000000 +0200
@@ -19,7 +19,6 @@
from __future__ import (print_function, division, unicode_literals,
absolute_import)
-import errno
from datetime import datetime, timedelta
from contextlib import contextmanager
from select import select
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_parsing.py new/pyudev-0.20.0/tests/test_parsing.py
--- old/pyudev-0.19.0/tests/test_parsing.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_parsing.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,143 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2015 Anne Mulhern <amulhern(a)redhat.com>
-
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 2.1 of the License, or (at your
-# option) any later version.
-
-# This library 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 Lesser General Public License
-# for more details.
-
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-"""
- tests.test_parsing
- ==================
-
- Test parsing values that happen to be synthesized from other values
- such that they need to be parsed.
-
- .. moduleauthor:: mulhern <amulhern(a)redhat.com>
-"""
-
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-from itertools import groupby
-
-import pyudev
-
-from pyudev import _parsing
-
-import pytest
-
-from hypothesis import given
-from hypothesis import settings
-from hypothesis import strategies
-
-_CONTEXT = pyudev.Context()
-_DEVICES = _CONTEXT.list_devices()
-
-
-class TestIDPATH(object):
- """
- Test parsing ID_PATH values.
- """
- # pylint: disable=too-few-public-methods
-
- @given(
- strategies.sampled_from(_DEVICES).filter(
- lambda x: x.get('ID_PATH') is not None
- )
- )
- def test_parsing(self, a_device):
- """
- Test that parsing is satisfactory on all examples.
- """
- id_path = a_device.get('ID_PATH')
- parser = _parsing.IdPathParse(_parsing.IdPathParsers.PARSERS)
- result = parser.parse(id_path)
- assert isinstance(result, list) and result != []
-
- _devices = [d for d in _DEVICES if d.get('ID_SAS_PATH') is not None]
- @pytest.mark.skipif(
- len(_devices) == 0,
- reason="no devices with ID_SAS_PATH property"
- )
- @given(strategies.sampled_from(_devices))
- @settings(min_satisfying_examples=1)
- def test_parsing_sas_path(self, a_device):
- """
- Test that parsing is satisfactory on all examples.
- """
- id_path = a_device.get('ID_SAS_PATH')
- parser = _parsing.IdPathParse(_parsing.IdPathParsers.PARSERS)
- result = parser.parse(id_path)
- assert isinstance(result, list) and result != []
-
-
-class TestDevlinks(object):
- """
- Test ``Devlinks`` methods.
- """
- # pylint: disable=too-few-public-methods
-
- _devices = [d for d in _DEVICES if list(d.device_links)]
- @pytest.mark.skipif(
- len(_devices) == 0,
- reason="no devices with device links"
- )
- @given(strategies.sampled_from(_devices))
- @settings(max_examples=5, min_satisfying_examples=1)
- def test_devlinks(self, a_device):
- """
- Verify that device links are in "by-.*" categories or no category.
- """
- device_links = (_parsing.Devlink(d) for d in a_device.device_links)
-
- def sort_func(dl):
- """
- :returns: category of device link
- :rtype: str
- """
- key = dl.category
- return key if key is not None else ""
-
- devlinks = sorted(device_links, key=sort_func)
-
- categories = list(k for k, g in groupby(devlinks, sort_func))
- assert all(c == "" or c.startswith("by-") for c in categories)
-
- assert all((d.category is None and d.value is None) or \
- (d.category is not None and d.value is not None) \
- for d in devlinks)
-
- assert all(d.path == str(d) for d in devlinks)
-
-
-class TestPCIAddress(object):
- """
- Test parsing a PCI address object.
- """
- # pylint: disable=too-few-public-methods
-
- _devices = [d for d in _DEVICES if d.subsystem == 'pci']
- @pytest.mark.skipif(
- len(_devices) == 0,
- reason="no devices with subsystem pci"
- )
- @given(strategies.sampled_from(_devices))
- @settings(min_satisfying_examples=1)
- def test_parsing_pci(self, a_device):
- """
- Test correct parsing of pci-addresses.
- """
- assert _parsing.PCIAddressParse().parse(a_device.sys_name) is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/test_util.py new/pyudev-0.20.0/tests/test_util.py
--- old/pyudev-0.19.0/tests/test_util.py 2016-02-03 15:36:35.000000000 +0100
+++ new/pyudev-0.20.0/tests/test_util.py 2016-04-29 23:17:02.000000000 +0200
@@ -19,7 +19,6 @@
absolute_import)
import sys
-import errno
import pytest
from mock import Mock
@@ -123,9 +122,9 @@
raise ValueError('from function')
-_char_devices = list(_CONTEXT.list_devices(subsystem="tty"))
-(a)pytest.mark.skipif(len(_char_devices) == 0, reason='no tty devices')
-(a)given(strategies.sampled_from(_char_devices))
+_CHAR_DEVICES = list(_CONTEXT.list_devices(subsystem="tty"))
+(a)pytest.mark.skipif(len(_CHAR_DEVICES) == 0, reason='no tty devices')
+(a)given(strategies.sampled_from(_CHAR_DEVICES))
@settings(min_satisfying_examples=1, max_examples=5)
def test_get_device_type_character_device(a_device):
"""
@@ -133,9 +132,9 @@
"""
assert _util.get_device_type(a_device.device_node) == 'char'
-_block_devices = list(_CONTEXT.list_devices(subsystem="block"))
-(a)pytest.mark.skipif(len(_block_devices) == 0, reason='no block devices')
-(a)given(strategies.sampled_from(_block_devices))
+_BLOCK_DEVICES = list(_CONTEXT.list_devices(subsystem="block"))
+(a)pytest.mark.skipif(len(_BLOCK_DEVICES) == 0, reason='no block devices')
+(a)given(strategies.sampled_from(_BLOCK_DEVICES))
@settings(min_satisfying_examples=1, max_examples=5)
def test_get_device_type_block_device(a_device):
"""
@@ -167,6 +166,7 @@
import os, signal, select
def handle_alarm(signum, frame):
+ # pylint: disable=unused-argument
pass
orig_alarm = signal.getsignal(signal.SIGALRM)
@@ -181,7 +181,7 @@
# Ensure that a signal raises EINTR on Python < 3.5
if sys.version_info < (3, 5):
- with pytest.raises(select.error) as e:
+ with pytest.raises(select.error):
signal.alarm(1)
select.select([], [], [fd], 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyudev-0.19.0/tests/utils/libudev.py new/pyudev-0.20.0/tests/utils/libudev.py
--- old/pyudev-0.19.0/tests/utils/libudev.py 2016-02-02 17:19:29.000000000 +0100
+++ new/pyudev-0.20.0/tests/utils/libudev.py 2016-04-29 23:17:02.000000000 +0200
@@ -123,25 +123,25 @@
for symbol in self.tree.getroot():
self._symbol_table[symbol.get('id')] = symbol
- def _resolve_Function(self, symbol):
+ def _resolve_Function(self, symbol): # pylint: disable=invalid-name
return_type = self._resolve_symbol(symbol.get('returns'))
arguments = tuple(self._resolve_symbol(a.get('type'))
for a in symbol.findall('./Argument'))
return Function(symbol.get('name'), arguments, return_type)
- def _resolve_Struct(self, symbol):
+ def _resolve_Struct(self, symbol): # pylint: disable=invalid-name
return Struct(symbol.get('name'))
- def _resolve_FundamentalType(self, symbol):
+ def _resolve_FundamentalType(self, symbol): # pylint: disable=invalid-name
return FundamentalType(symbol.get('name'))
- def _resolve_CvQualifiedType(self, symbol):
+ def _resolve_CvQualifiedType(self, symbol): # pylint: disable=invalid-name
return CvQualifiedType(self._resolve_symbol(symbol.get('type')))
- def _resolve_PointerType(self, symbol):
+ def _resolve_PointerType(self, symbol): # pylint: disable=invalid-name
return PointerType(self._resolve_symbol(symbol.get('type')))
- def _resolve_Typedef(self, symbol):
+ def _resolve_Typedef(self, symbol): # pylint: disable=invalid-name
return Typedef(self._resolve_symbol(symbol.get('type')))
def _resolve_symbol(self, symbol):
1
0
Hello community,
here is the log from the commit of package python3-testtools-doc for openSUSE:Factory checked in at 2016-06-02 09:37:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-testtools-doc (Old)
and /work/SRC/openSUSE:Factory/.python3-testtools-doc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-testtools-doc"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="python3-testtools" cicount="copy" />
1
0