openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2016
- 1 participants
- 1523 discussions
Hello community,
here is the log from the commit of package linuxrc for openSUSE:Factory checked in at 2016-01-30 11:34:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linuxrc (Old)
and /work/SRC/openSUSE:Factory/.linuxrc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2016-01-21 23:41:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.linuxrc.new/linuxrc.changes 2016-01-30 11:34:39.000000000 +0100
@@ -1,0 +2,19 @@
+Thu Jan 28 10:00:17 UTC 2016 - snwint(a)suse.com
+
+- ensure we activate the correct interface when using vlan
+- fix routing config when using vlan (bsc#961624)
+- 5.0.68
+
+-------------------------------------------------------------------
+Wed Jan 27 09:05:17 UTC 2016 - snwint(a)suse.com
+
+- Modified file.c to only accept valid types of OsaInterface (bsc#937437)
+- 5.0.67
+
+-------------------------------------------------------------------
+Tue Jan 26 11:00:19 UTC 2016 - snwint(a)suse.com
+
+- documented linuxrc/yast interface
+- 5.0.66
+
+-------------------------------------------------------------------
Old:
----
linuxrc-5.0.65.tar.xz
New:
----
linuxrc-5.0.68.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.KNSZj7/_old 2016-01-30 11:34:40.000000000 +0100
+++ /var/tmp/diff_new_pack.KNSZj7/_new 2016-01-30 11:34:40.000000000 +0100
@@ -25,7 +25,7 @@
Summary: SUSE Installation Program
License: GPL-3.0+
Group: System/Boot
-Version: 5.0.65
+Version: 5.0.68
Release: 0
Source: %{name}-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ linuxrc-5.0.65.tar.xz -> linuxrc-5.0.68.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.65/VERSION new/linuxrc-5.0.68/VERSION
--- old/linuxrc-5.0.65/VERSION 2016-01-19 09:57:06.000000000 +0100
+++ new/linuxrc-5.0.68/VERSION 2016-01-28 10:56:46.000000000 +0100
@@ -1 +1 @@
-5.0.65
+5.0.68
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.65/changelog new/linuxrc-5.0.68/changelog
--- old/linuxrc-5.0.65/changelog 2016-01-19 09:57:06.000000000 +0100
+++ new/linuxrc-5.0.68/changelog 2016-01-28 10:56:46.000000000 +0100
@@ -1,3 +1,13 @@
+2016-01-25: 5.0.68
+ - ensure we activate the correct interface when using vlan
+ - fix routing config when using vlan (bsc #961624)
+
+2016-01-25: 5.0.67
+ - Modified file.c to only accept valid types of OsaInterface (bsc #937437)
+
+2016-01-26: 5.0.66
+ - documented linuxrc/yast interface
+
2016-01-19: 5.0.65
- squashfs.ko might depend on lz4_decompress (bsc #962493)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.65/file.c new/linuxrc-5.0.68/file.c
--- old/linuxrc-5.0.65/file.c 2016-01-19 09:57:06.000000000 +0100
+++ new/linuxrc-5.0.68/file.c 2016-01-28 10:56:46.000000000 +0100
@@ -1235,7 +1235,14 @@
if(f->is.numeric) config.hwp.protocol = f->nvalue + 1;
break;
case key_osainterface:
- if(*f->value) config.hwp.interface=file_sym2num(f->value);
+ if(*f->value) {
+ config.hwp.interface=file_sym2num(f->value);
+ if(config.hwp.interface != di_osa_lcs &&
+ config.hwp.interface != di_osa_qdio) {
+ log_show("\n*** The OsaInterface type of \"%s\" is not valid. Ignoring it.\n", f->value);
+ config.hwp.interface=0;
+ }
+ }
break;
/*
* The layer2 attribute is handled specially. We use IFNOTAUTO later on in net.c,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.65/linuxrc_yast_interface.txt new/linuxrc-5.0.68/linuxrc_yast_interface.txt
--- old/linuxrc-5.0.65/linuxrc_yast_interface.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/linuxrc-5.0.68/linuxrc_yast_interface.txt 2016-01-28 10:56:46.000000000 +0100
@@ -0,0 +1,301 @@
+linuxrc - yast interface
+========================
+
+linuxrc communicates with yast via two files:
+
+(1) /etc/install.inf
+ This file is written before linuxrc starts yast and contains a number of
+ variable settings in a 'key: value' (one per line) format.
+ yast is quite picky when parsing this file and makes e.g. a difference
+ between a missing key and a key set to 0.
+
+(2) /etc/yast.inf
+ This file is written by yast when it exits and tells linuxrc what it should
+ do or whether there was some error.
+ Entries are also in a 'key: value' format.
+
+
+*** Note ***
+
+ This document describes the settings in both file from a developer's
+ perspective. At some places, I've added some additional remarks between
+ dashes ('-') when something needs further clarification.
+
+ This covers the current situation (master branch in git). In the past
+ linuxrc used to put also a number of network config settings into
+ install.inf, but this is no longer the case.
+
+
+= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+
+yast.inf
+--------
+
+# char* config.new_root
+# int config.restart_method
+# action, linuxrc should take
+# if device, it's put into config.new_root and we chroot there and start
+# else, set config.restart_method: reboot = 1, halt = 2, kexec = 3
+# - I think yast never puts a device here -
+Root: reboot|halt|kexec|<device to start from>
+
+# char* config.keymap
+# load keymap
+# if set, takes the keyboard setting from yast
+# - unused by yast? -
+Keytable: %s
+
+# config.language = set_langidbyname(char*)
+# set language
+# if set, takes the lang setting from yast
+# - unused by yast? -
+Language: %s
+
+# int config.rebootmsg
+# - obsolete -
+# that's really an obscue feature showing a popup asking the user to
+# remove CD or floppy when the machine is about to reboot
+RebootMsg: %d
+
+# int config.aborted
+# != 0 indicates to linuxrc that yast bas been (deliberately) aborted
+# linuxrc then shows no error message
+Aborted: %d
+
+
+*** Note ***
+
+ (1) at least 'Root' || 'Aborted' should be set
+
+ (2) linuxrc also checks the yast exit code
+
+ (3) Keytable and Language _can_ be set (don't know if they still are) to
+ tell linuxrc the current settings. linuxrc in turn will pass them on via
+ install.inf in case the user runs yast again. linuxrc itself does not care
+ about the Language setting (no translations any longer).
+
+
+= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+
+install.inf
+-----------
+
+# if != 0, linuxrc was in manual mode
+# (yes, it can be > 1)
+# - only s390x people seem to use manual mode regularly (because they
+# strictly do what's documented); I would question that yast2 working specially
+# when manual mode was active [showing extra dialogs] is still justified) -
+Manual: %d
+
+# the current locale (default to en_US)
+Locale: %s
+
+# console keyboard mapping, if linuxrc did change it (e.g. de-latin1-nodeadkeys)
+# else the entry is missing
+Keytable: %s
+
+# console device name if it's a serial line (e.g. /dev/ttyS0)
+# else the entry is missing
+Console: %s
+
+# 0 or 1, indicating that linuxrc left the install repo mounted at /var/adm/mount
+# - does it really matter? yast unmounts the repo anyway at startup, or not? -
+Sourcemounted: %s
+
+# the install repo location in URI form
+# - that was used sometime in the past, I think it's obsolete -
+# the relevant entry is ZyppRepoURL
+RepoURL: %s
+
+# the install repo location in URI form for libzypp
+ZyppRepoURL: %s
+
+# whether to verify ssl certificates
+# Use boot option ssl.certs=0 to get this.
+# In some (test) setups it's useful to disable the checks.
+# The entry is missing (there's no 'ssl_verify: yes' or so) if cert checks
+# are active (the default).
+ssl_verify: no
+
+# the repo device/partition for a local install, without leading '/dev/'
+# e.g. disk/by-id/ata-WDC_WD10EARS-00Y4B2_WD-WCAV587297-part2
+# missing for a network install
+# - obsolete, go for ZyppRepoURL -
+Device: %s
+
+# proxy setting, if any was specified
+# else the entry is missing
+ProxyURL: %s
+
+# the hostname as set by dhcp or by 'hostname=foo' boot option
+# entry is missing if unset
+Hostname: %s
+
+# URL for registration server, use 'regurl' boot option to set
+# fate#303335
+# entry is missing if unset
+# - code for this is at a strange place in linuxrc, should be moved -
+regurl: %s
+
+# certificates for registration server, use 'regcert' boot option to set
+# fate#303335
+# entry is missing if unset
+# - code for this is at a strange place in linuxrc, should be moved -
+regcert: %s
+
+# URL for uploadeing supportconfig data, use 'supporturl' boot option to set
+# fate#305180
+# entry is missing if unset
+# - code for this is at a strange place in linuxrc, should be moved -
+supporturl: %s
+
+# list of modules, separated by spaces (e.g.: scsi_dh st sg) that
+# were needed to activate the hardware so far
+InitrdModules: %s
+
+# for each module in InitrdModules that was loaded using special parameters,
+# list module followed by parameter string
+# e.g.: foo xxx=1 bar=5
+# there's a separate 'Options' line for each such module
+Options: %s
+
+# if(config.restart_method)
+# - obsolete - (technically impossible to actually see this entry)
+Reboot: Reboot|Halt|kexec
+
+# set via 'loghost' boot option
+# entry is missing if unset
+# - this is unused by linuxrc and just passed on -
+LogHost: %s
+
+# this entry is always there
+# - makes no sense, can we get rid of it? -
+Keyboard: 1
+
+# base dir where we look for driver updates
+# e.g. /linux/suse/x86_64-13.2
+# entry is always defined
+UpdateDir: %s
+
+# a driver update has been used
+# - obsolete? -
+YaST2update: 0|1
+
+# 1: yast should run in text mode (ncurses)
+Textmode: 0|1
+
+# autoyast URL
+# entry is missing if unset
+AutoYaST: %s
+
+# free memory in kiB
+MemFree: %d
+
+# 1: do a VNC install
+VNC: 0|1
+
+# VNC password
+# entry is missing if unset
+VNCPassword: %s
+
+# IP or DISPLAY var to use for X11 connection
+# e.g. 10.0.0.1 or 10.10.0.1:2
+# (at least I _think_ the ':port' notation is allowed in recent yast versions)
+# this is basically used only on s390x
+# entry is missing if unset
+Display_IP: %s
+
+# 1: yast is accessed via SSH
+# see also 'SSHD' below
+UseSSH: 0|1
+
+# 1: an SSH server should be started
+# see also 'UseSSH' above
+# note: up to SLE12/oS13.2 there was only 'UseSSH' implicitly starting sshd;
+# now both have been logically separated and you can get sshd running without
+# forcing yast into ssh mode (useful for debugging)
+SSHD: 0|1
+
+# 1: don't start any shells on some consoles during installation (security considerations)
+# entry is missing if unset (0)
+NoShell: 1
+
+# build ID of initrd
+# I can't think of any use for this
+# - obsolete? -
+# entry is missing if unset
+InitrdID: %s
+
+# build Id of inst-sys
+# I can't think of any use for this
+# - obsolete? -
+# entry is missing if unset
+InstsysID: %s
+
+# 1: activate iscsi config dialogs
+# the value is auto-detected and can be overridden with 'withiscsi' boot option
+WithiSCSI: 0|1
+
+# 1: activate fcoe config dialogs
+# the value is auto-detected and can be overridden with 'withfcoe' boot option
+WithFCoE: 0|1
+
+# 1: start shell before and after running yast (for debugging)
+StartShell: %d
+
+# value of the 'y2gdb' boot option, just passed on to yast
+# no idea if that is still used by yast
+# - obsolete? -
+Y2GDB: 0|1
+
+# value of 'kexecreboot' boot option, just passed on to yast
+# (boot installed system using kexec, default = 1)
+kexec_reboot: 0|1
+
+# 1: configure as an EFI system
+# the value is auto-detected and can be overridden with 'efi' boot option
+EFI: %d
+
+# 1: yast should do an upgrade
+# entry is missing if unset (0)
+Upgrade: 1
+
+# set via 'rootpassword' boot option
+# if set to 'ask', linuxrc will show a dialog asking for a password
+# this should be used a temporary root password for the target system
+# - ??? is this really used ??? -
+# entry is missing if unset
+RootPassword: %s
+
+# set via 'brokenmodules' boot option
+# comma(,)-separated list of modules that must not be loaded
+# - is this actually used by yast? -
+# entry is missing if unset
+BrokenModules: %s
+
+# braille device tyde (e.g. ht30)
+# - still used? -
+# entry is missing if 'Brailledevice' is unset
+Braille: %s
+
+# device braille line is connected to
+# - still used? -
+# entry is missing if unset
+Brailledevice: %s
+
+# any options mentioned in the 'ptoptions' boot option that were set
+# please check https://en.opensuse.org/SDB:Linuxrc#p_ptoptions for some explanation
+# e.g.:
+FOO: %s
+
+# any boot options linuxrc didn't handle and that should probably
+# be kept for the target system boot config
+# entry is missing if unset
+Cmdline: %s
+
+
+*** Note ***
+
+ There may be some more entries in install.inf but they are put there by
+ some inst-sys scripts and not linuxrc.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.65/net.c new/linuxrc-5.0.68/net.c
--- old/linuxrc-5.0.65/net.c 2016-01-19 09:57:06.000000000 +0100
+++ new/linuxrc-5.0.68/net.c 2016-01-28 10:56:46.000000000 +0100
@@ -259,7 +259,15 @@
return 1;
}
- net_wicked_up(config.ifcfg.manual->device);
+ char *ifname = NULL;
+
+ str_copy(&ifname, config.ifcfg.manual->device);
+
+ if(config.ifcfg.manual->vlan) strprintf(&ifname, "%s.%s", ifname, config.ifcfg.manual->vlan);
+
+ net_wicked_up(ifname);
+
+ str_copy(&ifname, NULL);
return 0;
}
@@ -1176,16 +1184,24 @@
strprintf(&ifcfg->type, "dhcp%s", type);
ifcfg->flags = config.ifcfg.manual->flags;
+ str_copy(&ifcfg->vlan, config.ifcfg.manual->vlan);
cfg_ok = ifcfg_write(device, ifcfg, 0);
free(ifcfg->type);
+ free(ifcfg->vlan);
free(ifcfg);
ifcfg = NULL;
if(!cfg_ok) return;
- strprintf(&buf, "Sending DHCP%s request to %s...", type, device);
+ char *ifname = NULL;
+
+ str_copy(&ifname, device);
+
+ if(config.ifcfg.manual->vlan) strprintf(&ifname, "%s.%s", ifname, config.ifcfg.manual->vlan);
+
+ strprintf(&buf, "Sending DHCP%s request to %s...", type, ifname);
log_show_maybe(!config.win, "%s\n", buf);
if(config.win) {
dia_info(&win, buf, MSGTYPE_INFO);
@@ -1194,19 +1210,19 @@
net_apply_ethtool(device, NULL);
- net_wicked_up(device);
+ net_wicked_up(ifname);
if(config.net.ipv4) {
- snprintf(file, sizeof file, "/run/wicked/leaseinfo.%s.dhcp.ipv4", device);
+ snprintf(file, sizeof file, "/run/wicked/leaseinfo.%s.dhcp.ipv4", ifname);
parse_leaseinfo(file);
}
if(!got_ip && config.net.ipv6) {
- snprintf(file, sizeof file, "/run/wicked/leaseinfo.%s.dhcp.ipv6", device);
+ snprintf(file, sizeof file, "/run/wicked/leaseinfo.%s.dhcp.ipv6", ifname);
parse_leaseinfo(file);
}
- if(slist_getentry(config.ifcfg.if_up, device)) got_ip = 1;
+ if(slist_getentry(config.ifcfg.if_up, ifname)) got_ip = 1;
if(config.win) win_close(&win);
@@ -1241,6 +1257,8 @@
else {
log_show_maybe(!config.win, "no/incomplete answer.\n");
}
+
+ str_copy(&ifname, NULL);
}
@@ -2229,11 +2247,11 @@
// set explicit route to gw unless gw is in the same ipv4 subnet
// note: we might as well set it always
if(!compare_subnet(v4_ip, sl1->key, v4_prefix)) {
- strprintf(&sl->key, "%s - - %s", sl1->key, device);
+ strprintf(&sl->key, "%s - - %s%s", sl1->key, device, vlan ?: "");
sl = slist_append(&sl_ifroute, slist_new());
}
- strprintf(&sl->key, "default %s - %s", sl1->key, device);
+ strprintf(&sl->key, "default %s - %s%s", sl1->key, device, vlan ?: "");
}
slist_free(sl0);
1
0
Hello community,
here is the log from the commit of package dhcp for openSUSE:Factory checked in at 2016-01-30 11:34:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dhcp (Old)
and /work/SRC/openSUSE:Factory/.dhcp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dhcp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dhcp/dhcp.changes 2015-10-17 16:36:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dhcp.new/dhcp.changes 2016-01-30 11:34:35.000000000 +0100
@@ -1,0 +2,14 @@
+Tue Jan 26 17:16:45 CET 2016 - ndas(a)suse.de
+
+- Update to dhcp-4.3.3-P1 correcting bounds checking when
+ receiving a packet (bsc#961305,CVE-2015-8605,ISC-Bugs#41267).
+- adjusted interval check.
+ [*0019-dhcp-4.2.4-P1-interval.patch]
+- Fixed improper lease duration checking. Also added fixes for integer
+ overflows in the date and time handling code(bsc#936923, bsc#880984).
+ [+0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch]
+- fixed service files to start dhcpd after slapd (bsc#956159)
+- dhclient-script: complain in the log about conflicts, added
+ a see log messages to the dhclient log message (bsc#960506)
+ [* 0018-client-fail-on-script-pre-init-error-bsc-912098.patch]
+-------------------------------------------------------------------
Old:
----
dhcp-4.3.3.tar.gz
dhcp-4.3.3.tar.gz.asc
New:
----
0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch
dhcp-4.3.3-P1.tar.gz
dhcp-4.3.3-P1.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dhcp.spec ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dhcp
#
-# 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
@@ -16,7 +16,7 @@
#
-%define isc_version 4.3.3
+%define isc_version 4.3.3-P1
%define susefw2dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
%define omc_prefix /usr/share/omc
%define omc_svcdir %{omc_prefix}/svcinfo.d
@@ -41,7 +41,7 @@
%endif
BuildRequires: dos2unix
BuildRequires: libtool
-Version: 4.3.3
+Version: 4.3.3.P1
Release: 0
Summary: Common Files Used by ISC DHCP Software
License: BSD-3-Clause
@@ -118,6 +118,7 @@
Patch18: 0018-client-fail-on-script-pre-init-error-bsc-912098.patch
# PATCH-FIX-SLE dhcp-4.2.4-P1-interval bsc#947780
Patch19: 0019-dhcp-4.2.4-P1-interval.patch
+Patch20: 0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch
##
PreReq: /bin/touch /sbin/chkconfig sysconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -249,6 +250,7 @@
%patch17 -p1
%patch18 -p1
%patch19 -p1
+%patch20 -p1
##
find . -type f -name \*.cat\* -exec rm -f {} \;
dos2unix contrib/ms2isc/*
++++++ 0018-client-fail-on-script-pre-init-error-bsc-912098.patch ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -40,7 +40,7 @@
+ }
+ }
+ if (failed) {
-+ log_fatal("%s: unable to pre-init requested interfaces",
++ log_fatal("%s: unable to pre-init requested interfaces -- see log messages",
+ path_dhclient_script);
}
}
++++++ 0019-dhcp-4.2.4-P1-interval.patch ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -4,7 +4,7 @@
isc_time_nowplusinterval() is not safe with 64-bit time_t (#662254, #789601)
-References: bsc#947780
+References: bsc#947780, bsc#880984
Index: dhcp-4.2.4-P2/common/dispatch.c
===================================================================
--- dhcp-4.2.4-P2.orig/common/dispatch.c
@@ -31,3 +31,20 @@
status = isc_time_nowplusinterval(&expires, &interval);
if (status != ISC_R_SUCCESS) {
/*
+From: Nirmoy Das <ndas(a)suse.de>
+Date: Tue, 26 Jan 2016 13:36:28 +0100
+Subject: [PATCH] adjusted interval check
+
+Index: dhcp-4.3.3/common/dispatch.c
+===================================================================
+--- dhcp-4.3.3.orig/common/dispatch.c
++++ dhcp-4.3.3/common/dispatch.c
+@@ -349,7 +349,7 @@ void add_timeout (when, where, what, ref
+ * gone by since the last call to gettimeofday() and the one in
+ * isc_time_nowplusinterval().
+ */
+- if (sec > TIME_MAX)
++ if (sec > TIME_MAX - 9)
+ sec = TIME_MAX - 9;
+
+ isc_interval_set(&interval, sec, usec * 1000);
++++++ 0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch ++++++
From: Marius Tomaschewski <mt(a)suse.de>
Date: Tue, 12 Jan 2016 15:42:22 +0100
Subject: [PATCH] fixed improper lease duration checking.
References: bsc#936923, bsc#880984
year 2038 is EOT only for 32 bit machine. This patch checks
wordsize and do a proper EOT checking on lease duration. It
also fixes integer overflows in the date and time handling code.
diff --git a/common/parse.c b/common/parse.c
index 22e7d58..e9e53a4 100644
--- a/common/parse.c
+++ b/common/parse.c
@@ -939,7 +939,7 @@ TIME
parse_date_core(cfile)
struct parse *cfile;
{
- int guess;
+ long guess;
int tzoff, year, mon, mday, hour, min, sec;
const char *val;
enum dhcp_token token;
@@ -966,7 +966,7 @@ parse_date_core(cfile)
}
skip_token(&val, NULL, cfile); /* consume number */
- guess = atoi(val);
+ guess = atol(val);
return((TIME)guess);
}
@@ -1113,11 +1113,22 @@ parse_date_core(cfile)
* overflow issues. We could try and be more precise but there
* doesn't seem to be a good reason to worry about it and waste
* the cpu looking at the rest of the date. */
- if (year >= 138)
- return(MAX_TIME);
-
+ if (sizeof(time_t) == 8) {
+ /* 2038 is not an issue on 64bit. time calculations
+ * start to fail at almost INT_MAX (- some guard) */
+ if (year > 0x7fff0000)
+ return(MAX_TIME);
+ } else {
+ /* assume 32bit with end in 2038 */
+ if (year >= 138)
+ return(MAX_TIME);
+ }
+ /* I don't think we need to care about lease starts before 1900 */
+ if (year < 0)
+ return((TIME)0);
+
/* Guess the time value... */
- guess = ((((((365 * (year - 70) + /* Days in years since '70 */
+ guess = ((((((365 * ((long)year - 70) + /* Days in years since '70 */
(year - 69) / 4 + /* Leap days since '70 */
(mon /* Days in months this year */
? months [mon - 1]
diff --git a/includes/dhcpd.h b/includes/dhcpd.h
index 4270edc..1af4c5b 100644
--- a/includes/dhcpd.h
+++ b/includes/dhcpd.h
@@ -1561,7 +1561,7 @@ typedef unsigned char option_mask [16];
#define DHCPD_LOG_FACILITY LOG_DAEMON
#endif
-#define MAX_TIME 0x7fffffff
+#define MAX_TIME LONG_MAX
#define MIN_TIME 0
#ifdef USE_LOG_PID
++++++ dhclient-script ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -73,14 +73,26 @@
{
local _id=`/usr/bin/systemctl --no-pager -p Id show network.service 2>/dev/null`
case "${_id#Id=}" in
- # wicked is using an another dhcp client
- wicked.service) return 1 ;;
+ # wicked is using an another dhcp client - dhclient
+ # is not supported with enabled wicked and disabled.
+ wicked.service)
+ logger -t "${0##*/}" -p daemon.error -- \
+ "dhclient conflicts with enabled ${_id#Id=} and disabled"
+ return 1
+ ;;
- # NetworkManager is using another script
- #NetworkManager.service) return 1 ;;
+ # NetworkManager is using an another script
+ # [disarmed except maintainer requests it]
+ #NetworkManager.service)
+ # logger -t "${0##*/}" -p daemon.error -- \
+ # "dhclient-script conflicts with enabled ${_id#Id=} script and disabled"
+ # return 1
+ #;;
- # sysconfig network were using it, other?
- network.service|*) return 0 ;;
+ # sysconfig network [gone] were using it, other?
+ network.service|*)
+ return 0
+ ;;
esac
}
++++++ dhcpd.service ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -1,7 +1,7 @@
[Unit]
Description=ISC DHCPv4 Server
Before=multi-user.target
-After=remote-fs.target network.target nss-lookup.target time-sync.target ldap.service ndsd.service
+After=remote-fs.target network.target nss-lookup.target time-sync.target slapd.service sssd.service ndsd.service
[Service]
Type=forking
++++++ dhcpd6.service ++++++
--- /var/tmp/diff_new_pack.FAsUde/_old 2016-01-30 11:34:37.000000000 +0100
+++ /var/tmp/diff_new_pack.FAsUde/_new 2016-01-30 11:34:37.000000000 +0100
@@ -1,7 +1,7 @@
[Unit]
Description=ISC DHCPv6 Server
Before=multi-user.target
-After=remote-fs.target network.target nss-lookup.target time-sync.target ldap.service ndsd.service
+After=remote-fs.target network.target nss-lookup.target time-sync.target slapd.service sssd.service ndsd.service
[Service]
Type=forking
1
0
Hello community,
here is the log from the commit of package libxcb for openSUSE:Factory checked in at 2016-01-30 11:34:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxcb (Old)
and /work/SRC/openSUSE:Factory/.libxcb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxcb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxcb/libxcb.changes 2015-09-11 09:02:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libxcb.new/libxcb.changes 2016-01-30 11:34:31.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Dec 23 23:16:43 UTC 2015 - eich(a)suse.com
+
+- n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch:
+ If auth with credentials for hostname fails retry with XAUTHLOCALHOSTNAME
+ (boo#906622).
+
+-------------------------------------------------------------------
New:
----
n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxcb.spec ++++++
--- /var/tmp/diff_new_pack.qhJXIc/_old 2016-01-30 11:34:32.000000000 +0100
+++ /var/tmp/diff_new_pack.qhJXIc/_new 2016-01-30 11:34:32.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libxcb
#
-# 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
@@ -31,7 +31,7 @@
Source: %{name}-%{version}.tar.bz2
Source1: baselibs.conf
Patch1: bug-262309_xcb-xauthlocalhostname.diff
-
+Patch2: n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.57
BuildRequires: automake
@@ -401,6 +401,7 @@
%prep
%setup -q
%patch -P 1 -p0
+%patch2 -p1
%build
./autogen.sh
++++++ n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch ++++++
From: Egbert Eich <eich(a)suse.de>
Date: Thu Dec 24 00:11:43 2015 +0100
Subject: [PATCH]If auth with credentials for hostname fails retry with XAUTHLOCALHOSTNAME
Patch-mainline: never
References: boo#906622
Signed-off-by: Egbert Eich <eich(a)suse.com>
Signed-off-by: Egbert Eich <eich(a)suse.de>
---
src/xcb_auth.c | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/xcb_auth.c b/src/xcb_auth.c
index 6eb6528..777c772 100644
--- a/src/xcb_auth.c
+++ b/src/xcb_auth.c
@@ -109,7 +109,7 @@ static int authname_match(enum auth_protos kind, char *name, size_t namelen)
#define SIN6_ADDR(s) (&((struct sockaddr_in6 *)s)->sin6_addr)
-static Xauth *get_authptr(struct sockaddr *sockname, int display)
+static Xauth *get_authptr(struct sockaddr *sockname, int display, int *stage)
{
char *addr = 0;
int addrlen = 0;
@@ -119,6 +119,8 @@ static Xauth *get_authptr(struct sockaddr *sockname, int display)
int dispbuflen;
Xauth *authptr = NULL;
+ if (*stage == 2)
+ return NULL;
family = FamilyLocal; /* 256 */
switch(sockname->sa_family)
{
@@ -161,10 +163,13 @@ static Xauth *get_authptr(struct sockaddr *sockname, int display)
addrlen = strlen(addr);
}
- authptr = XauGetBestAuthByAddr (family,
- (unsigned short) addrlen, addr,
- (unsigned short) dispbuflen, dispbuf,
- N_AUTH_PROTOS, authnames, authnameslen);
+ if (*stage == 0) {
+ authptr = XauGetBestAuthByAddr (family,
+ (unsigned short) addrlen, addr,
+ (unsigned short) dispbuflen, dispbuf,
+ N_AUTH_PROTOS, authnames, authnameslen);
+ *stage = 1;
+ }
// && !phostname
if ((!authptr || !authptr->data_length) && family == FamilyLocal) {
if ( (addr = getenv("XAUTHLOCALHOSTNAME")) ) {
@@ -172,6 +177,7 @@ static Xauth *get_authptr(struct sockaddr *sockname, int display)
(unsigned short) strlen(addr), addr,
(unsigned short) dispbuflen, dispbuf,
N_AUTH_PROTOS, authnames, authnameslen);
+ *stage = 2;
}
}
return authptr;
@@ -328,6 +334,7 @@ int _xcb_get_auth_info(int fd, xcb_auth_info_t *info, int display)
int gotsockname = 0;
Xauth *authptr = 0;
int ret = 1;
+ int stage = 0;
/* Some systems like hpux or Hurd do not expose peer names
* for UNIX Domain Sockets, but this is irrelevant,
@@ -344,8 +351,8 @@ int _xcb_get_auth_info(int fd, xcb_auth_info_t *info, int display)
}
gotsockname = 1;
}
-
- authptr = get_authptr(sockname, display);
+retry:
+ authptr = get_authptr(sockname, display, &stage);
if (authptr == 0)
{
free(sockname);
@@ -371,7 +378,10 @@ int _xcb_get_auth_info(int fd, xcb_auth_info_t *info, int display)
if(!ret)
{
free(info->name);
- goto no_auth; /* cannot build auth record */
+ info->name = 0;
+ info->namelen = 0;
+ XauDisposeAuth(authptr);
+ goto retry; /* cannot build auth record */
}
free(sockname);
1
0
Hello community,
here is the log from the commit of package gegl for openSUSE:Factory checked in at 2016-01-30 11:34:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gegl (Old)
and /work/SRC/openSUSE:Factory/.gegl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gegl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gegl/gegl.changes 2014-10-29 21:09:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gegl.new/gegl.changes 2016-01-30 11:34:27.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Jan 26 14:00:45 UTC 2016 - idonmez(a)suse.com
+
+- Add gegl-0.2.0-linker-flags.patch to add -lm to linker flags
+
+-------------------------------------------------------------------
New:
----
gegl-0.2.0-linker-flags.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gegl.spec ++++++
--- /var/tmp/diff_new_pack.4W4tgM/_old 2016-01-30 11:34:28.000000000 +0100
+++ /var/tmp/diff_new_pack.4W4tgM/_new 2016-01-30 11:34:28.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gegl
#
-# Copyright (c) 2014 SUSE LINUX Products 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
@@ -34,6 +34,8 @@
# Use rpmbuild -D 'BUILD_ORIG 1' -D 'BUILD_ORIG_ADDON 1' to build patched build plus original as addon.
# PATCH-FIX-UPSTREAM sutesparse changed UF_long for SuiteSparse_long
Patch2: gegl-UF_long.patch
+# PATCH-FIX-UPSTREAM gegl-0.2.0-linker-flags.patch idoenmez(a)suse.de -- Add -lm to linker flags
+Patch3: gegl-0.2.0-linker-flags.patch
BuildRequires: ImageMagick
BuildRequires: OpenEXR-devel
BuildRequires: SDL-devel
@@ -156,6 +158,7 @@
%if 0%{?suse_version} > 1310
%patch2 -p1
%endif
+%patch3 -p1
# docs-build-fix.diff
%build
++++++ gegl-0.2.0-linker-flags.patch ++++++
diff -urNp gegl-0.2.0.orig/bin/Makefile.in gegl-0.2.0/bin/Makefile.in
--- gegl-0.2.0.orig/bin/Makefile.in 2015-05-07 15:06:23.716649233 +0200
+++ gegl-0.2.0/bin/Makefile.in 2015-05-07 15:08:38.104260506 +0200
@@ -363,7 +363,7 @@ AM_CFLAGS = \
AM_LDFLAGS = \
$(no_undefined) ../gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO)
+ $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO) -lm
gegl_SOURCES = gegl.c gegl-options.c gegl-options.h gegl-path-smooth.c \
gegl-path-smooth.h $(am__append_1)
diff -urNp gegl-0.2.0.orig/examples/Makefile.in gegl-0.2.0/examples/Makefile.in
--- gegl-0.2.0.orig/examples/Makefile.in 2015-05-07 15:06:23.674649046 +0200
+++ gegl-0.2.0/examples/Makefile.in 2015-05-07 16:13:36.057203261 +0200
@@ -376,7 +376,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(DEP_CFLAGS) $(GTK_CFLAGS) $(BABL_CFLAGS) $(PNG_CFLAGS)
AM_LDFLAGS = \
$(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS)
+ $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS) -lm
all: all-recursive
diff -urNp gegl-0.2.0.orig/tools/Makefile.in gegl-0.2.0/tools/Makefile.in
--- gegl-0.2.0.orig/tools/Makefile.in 2015-05-07 15:06:23.716649233 +0200
+++ gegl-0.2.0/tools/Makefile.in 2015-05-07 15:31:43.643298848 +0200
@@ -394,7 +394,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS)
AM_LDFLAGS = \
$(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(BABL_LIBS)
+ $(DEP_LIBS) $(BABL_LIBS) -lm
@HAVE_EXIV2_TRUE@exp_combine_SOURCES = exp_combine.cpp
@HAVE_EXIV2_TRUE@exp_combine_LDADD = $(EXIV2_LIBS)
1
0
Hello community,
here is the log from the commit of package biosdevname for openSUSE:Factory checked in at 2016-01-30 11:34:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/biosdevname (Old)
and /work/SRC/openSUSE:Factory/.biosdevname.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "biosdevname"
Changes:
--------
--- /work/SRC/openSUSE:Factory/biosdevname/biosdevname.changes 2015-12-18 21:52:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.biosdevname.new/biosdevname.changes 2016-01-30 11:34:22.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Jan 17 10:14:18 UTC 2016 - mpluskal(a)suse.com
+
+- Update to 0.7.1
+ * no upstream changelog provided
+
+-------------------------------------------------------------------
Old:
----
biosdevname-0.6.2.tar.gz
New:
----
biosdevname-0.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ biosdevname.spec ++++++
--- /var/tmp/diff_new_pack.tF4W01/_old 2016-01-30 11:34:23.000000000 +0100
+++ /var/tmp/diff_new_pack.tF4W01/_new 2016-01-30 11:34:23.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package biosdevname
#
-# 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
@@ -18,7 +18,7 @@
%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
Name: biosdevname
-Version: 0.6.2
+Version: 0.7.1
Release: 0
Summary: Udev helper for naming devices per BIOS names
License: GPL-2.0
++++++ biosdevname-0.6.2.tar.gz -> biosdevname-0.7.1.tar.gz ++++++
++++ 17842 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/INSTALL new/biosdevname-0.7.1/INSTALL
--- old/biosdevname-0.6.2/INSTALL 2015-04-15 18:41:49.000000000 +0200
+++ new/biosdevname-0.7.1/INSTALL 2015-12-18 17:19:26.000000000 +0100
@@ -1,8 +1,8 @@
Installation Instructions
*************************
-Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
-Inc.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -226,11 +226,6 @@
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
- HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved. Use GNU `make'
-instead.
-
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
@@ -309,10 +304,9 @@
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation. Until the limitation is lifted, you can use
-this workaround:
+an Autoconf bug. Until the bug is fixed you can use this workaround:
- CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
@@ -368,3 +362,4 @@
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/biosdevname.spec.fedora new/biosdevname-0.7.1/biosdevname.spec.fedora
--- old/biosdevname-0.6.2/biosdevname.spec.fedora 2015-04-15 18:42:30.000000000 +0200
+++ new/biosdevname-0.7.1/biosdevname.spec.fedora 2015-12-18 17:25:10.000000000 +0100
@@ -1,5 +1,5 @@
Name: biosdevname
-Version: 0.6.2
+Version: 0.7.1
Release: 1%{?dist}
Summary: Udev helper for naming devices per BIOS names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/biosdevname.spec.suse new/biosdevname-0.7.1/biosdevname.spec.suse
--- old/biosdevname-0.6.2/biosdevname.spec.suse 2015-04-15 18:42:30.000000000 +0200
+++ new/biosdevname-0.7.1/biosdevname.spec.suse 2015-12-18 17:25:10.000000000 +0100
@@ -1,5 +1,5 @@
Name: biosdevname
-Version: 0.6.2
+Version: 0.7.1
Release: 1%{?dist}
Summary: Udev helper for naming devices per BIOS names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/compile new/biosdevname-0.7.1/compile
--- old/biosdevname-0.6.2/compile 2015-04-15 18:41:49.000000000 +0200
+++ new/biosdevname-0.7.1/compile 2015-12-18 17:19:26.000000000 +0100
@@ -1,9 +1,10 @@
#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
+# Wrapper for compilers which do not understand `-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2009-10-06.20; # UTC
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -28,224 +29,21 @@
# bugs to <bug-automake(a)gnu.org> or send patches to
# <automake-patches(a)gnu.org>.
-nl='
-'
-
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" "" $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
- file=$1
- case $file in
- / | /[!/]*) # absolute file, and not a UNC file
- if test -z "$file_conv"; then
- # lazily determine how to convert abs files
- case `uname -s` in
- MINGW*)
- file_conv=mingw
- ;;
- CYGWIN*)
- file_conv=cygwin
- ;;
- *)
- file_conv=wine
- ;;
- esac
- fi
- case $file_conv/,$2, in
- *,$file_conv,*)
- ;;
- mingw/*)
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
- ;;
- cygwin/*)
- file=`cygpath -m "$file" || echo "$file"`
- ;;
- wine/*)
- file=`winepath -w "$file" || echo "$file"`
- ;;
- esac
- ;;
- esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
- func_file_conv "$1"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
- lib=$1
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- lib=$dir/$lib.dll.lib
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- lib=$dir/$lib.lib
- break
- fi
- if test -f "$dir/lib$lib.a"; then
- found=yes
- lib=$dir/lib$lib.a
- break
- fi
- done
- IFS=$save_IFS
-
- if test "$found" != yes; then
- lib=$lib.lib
- fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
- # Assume a capable shell
- lib_path=
- shared=:
- linker_opts=
- for arg
- do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- eat=1
- case $2 in
- *.o | *.[oO][bB][jJ])
- func_file_conv "$2"
- set x "$@" -Fo"$file"
- shift
- ;;
- *)
- func_file_conv "$2"
- set x "$@" -Fe"$file"
- shift
- ;;
- esac
- ;;
- -I)
- eat=1
- func_file_conv "$2" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -I*)
- func_file_conv "${1#-I}" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -l)
- eat=1
- func_cl_dashl "$2"
- set x "$@" "$lib"
- shift
- ;;
- -l*)
- func_cl_dashl "${1#-l}"
- set x "$@" "$lib"
- shift
- ;;
- -L)
- eat=1
- func_cl_dashL "$2"
- ;;
- -L*)
- func_cl_dashL "${1#-L}"
- ;;
- -static)
- shared=false
- ;;
- -Wl,*)
- arg=${1#-Wl,}
- save_ifs="$IFS"; IFS=','
- for flag in $arg; do
- IFS="$save_ifs"
- linker_opts="$linker_opts $flag"
- done
- IFS="$save_ifs"
- ;;
- -Xlinker)
- eat=1
- linker_opts="$linker_opts $2"
- ;;
- -*)
- set x "$@" "$1"
- shift
- ;;
- *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
- func_file_conv "$1"
- set x "$@" -Tp"$file"
- shift
- ;;
- *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
- func_file_conv "$1" mingw
- set x "$@" "$file"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
- done
- if test -n "$linker_opts"; then
- linker_opts="-link$linker_opts"
- fi
- exec "$@" $linker_opts
- exit 1
-}
-
-eat=
-
case $1 in
'')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
+right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake(a)gnu.org>.
EOF
@@ -255,13 +53,11 @@
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
- func_cl_wrapper "$@" # Doesn't return...
- ;;
esac
ofile=
cfile=
+eat=
for arg
do
@@ -270,8 +66,8 @@
else
case $1 in
-o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- # So we strip '-o arg' only if arg is an object.
+ # configure might choose to run compile as `compile cc -o foo foo.c'.
+ # So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
@@ -298,10 +94,10 @@
done
if test -z "$ofile" || test -z "$cfile"; then
- # If no '-o' option was seen then we might have been invoked from a
+ # If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
- # '.c' file was seen then we are probably linking. That is also
+ # `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
@@ -310,7 +106,7 @@
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/config.h.in new/biosdevname-0.7.1/config.h.in
--- old/biosdevname-0.6.2/config.h.in 2015-04-15 18:41:48.000000000 +0200
+++ new/biosdevname-0.7.1/config.h.in 2015-12-18 17:19:26.000000000 +0100
@@ -123,7 +123,7 @@
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
-/* Define to 1 if `domain' is a member of `struct pci_dev'. */
+/* Define to 1 if `domain' is member of `struct pci_dev'. */
#undef HAVE_STRUCT_PCI_DEV_DOMAIN
/* Define to 1 if you have the <syslog.h> header file. */
@@ -132,9 +132,6 @@
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
@@ -193,9 +190,6 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
/* Define to the version of this package. */
#undef PACKAGE_VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/configure.ac new/biosdevname-0.7.1/configure.ac
--- old/biosdevname-0.6.2/configure.ac 2015-04-15 18:40:40.000000000 +0200
+++ new/biosdevname-0.7.1/configure.ac 2015-12-18 17:19:18.000000000 +0100
@@ -3,7 +3,7 @@
# vim:tw=0:ts=8:sw=8:et
AC_PREREQ(2.59)
-AC_INIT([biosdevname],[0.6.2],[Jordan_Hargrave(a)dell.com])
+AC_INIT([biosdevname],[0.7.1],[Jordan_Hargrave(a)dell.com])
AC_LANG([C])
AC_USE_SYSTEM_EXTENSIONS
AC_CONFIG_SRCDIR([src/read_proc.c])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/missing new/biosdevname-0.7.1/missing
--- old/biosdevname-0.6.2/missing 2015-04-15 18:41:49.000000000 +0200
+++ new/biosdevname-0.7.1/missing 2015-12-18 17:19:26.000000000 +0100
@@ -1,10 +1,11 @@
#! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common stub for a few missing GNU programs while installing.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -25,40 +26,69 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try '$0 --help' for more information"
+ echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
-case $1 in
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
- --is-lightweight)
- # Used by our autoconf macros to check whether the available missing
- # script is modern enough.
- exit 0
- ;;
+msg="missing on your system"
- --run)
- # Back-compat with the calling convention used by older automake.
- shift
- ;;
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
-to PROGRAM being missing or too old.
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal autoconf autoheader autom4te automake makeinfo
- bison yacc flex lex help2man
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
-'g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
Send bug reports to <bug-automake(a)gnu.org>."
exit $?
@@ -70,141 +100,272 @@
;;
-*)
- echo 1>&2 "$0: unknown '$1' option"
- echo 1>&2 "Try '$0 --help' for more information"
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
esac
-# Run the given program, remember its exit status.
-"$@"; st=$?
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
-# If it succeeded, we are done.
-test $st -eq 0 && exit 0
+ tar*)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
-# Also exit now if we it failed (or wasn't found), and '--version' was
-# passed; such an option is passed most likely to detect whether the
-# program is present and works.
-case $2 in --version|--help) exit $st;; esac
-
-# Exit code 63 means version mismatch. This often happens when the user
-# tries to use an ancient version of a tool on a file that requires a
-# minimum version.
-if test $st -eq 63; then
- msg="probably too old"
-elif test $st -eq 127; then
- # Program was missing.
- msg="missing on your system"
-else
- # Program was found and executed, but failed. Give up.
- exit $st
-fi
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar*)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
-
-program_details ()
-{
- case $1 in
- aclocal|automake)
- echo "The '$1' program is part of the GNU Automake package:"
- echo "<$gnu_software_URL/automake>"
- echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
- echo "<$gnu_software_URL/autoconf>"
- echo "<$gnu_software_URL/m4/>"
- echo "<$perl_URL>"
- ;;
- autoconf|autom4te|autoheader)
- echo "The '$1' program is part of the GNU Autoconf package:"
- echo "<$gnu_software_URL/autoconf/>"
- echo "It also requires GNU m4 and Perl in order to run:"
- echo "<$gnu_software_URL/m4/>"
- echo "<$perl_URL>"
- ;;
- esac
-}
-
-give_advice ()
-{
- # Normalize program name to check for.
- normalized_program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
- printf '%s\n' "'$1' is $msg."
-
- configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
- case $normalized_program in
- autoconf*)
- echo "You should only need it if you modified 'configure.ac',"
- echo "or m4 files included by it."
- program_details 'autoconf'
- ;;
- autoheader*)
- echo "You should only need it if you modified 'acconfig.h' or"
- echo "$configure_deps."
- program_details 'autoheader'
- ;;
- automake*)
- echo "You should only need it if you modified 'Makefile.am' or"
- echo "$configure_deps."
- program_details 'automake'
- ;;
- aclocal*)
- echo "You should only need it if you modified 'acinclude.m4' or"
- echo "$configure_deps."
- program_details 'aclocal'
- ;;
- autom4te*)
- echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
- program_details 'autom4te'
- ;;
- bison*|yacc*)
- echo "You should only need it if you modified a '.y' file."
- echo "You may want to install the GNU Bison package:"
- echo "<$gnu_software_URL/bison/>"
- ;;
- lex*|flex*)
- echo "You should only need it if you modified a '.l' file."
- echo "You may want to install the Fast Lexical Analyzer package:"
- echo "<$flex_URL>"
- ;;
- help2man*)
- echo "You should only need it if you modified a dependency" \
- "of a man page."
- echo "You may want to install the GNU Help2man package:"
- echo "<$gnu_software_URL/help2man/>"
- ;;
- makeinfo*)
- echo "You should only need it if you modified a '.texi' file, or"
- echo "any other file indirectly affecting the aspect of the manual."
- echo "You might want to install the Texinfo package:"
- echo "<$gnu_software_URL/texinfo/>"
- echo "The spurious makeinfo call might also be the consequence of"
- echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
- echo "want to install GNU make:"
- echo "<$gnu_software_URL/make/>"
- ;;
- *)
- echo "You might have modified some files without having the proper"
- echo "tools for further handling them. Check the 'README' file, it"
- echo "often tells you about the needed prerequisites for installing"
- echo "this package. You may also peek at any GNU archive site, in"
- echo "case some other package contains this missing '$1' program."
- ;;
- esac
-}
-
-give_advice "$1" | sed -e '1s/^/WARNING: /' \
- -e '2,$s/^/ /' >&2
-
-# Propagate the correct exit status (expected to be 127 for a program
-# not found, 63 for a program that failed due to version mismatch).
-exit $st
+exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/src/bios_dev_name.h new/biosdevname-0.7.1/src/bios_dev_name.h
--- old/biosdevname-0.6.2/src/bios_dev_name.h 2015-04-15 18:42:30.000000000 +0200
+++ new/biosdevname-0.7.1/src/bios_dev_name.h 2015-12-18 17:25:10.000000000 +0100
@@ -6,7 +6,7 @@
#ifndef GLUE_H_INCLUDED
#define GLUE_H_INCLUDED
-#define BIOSDEVNAME_VERSION "0.6.2"
+#define BIOSDEVNAME_VERSION "0.7.1"
struct bios_dev_name_opts {
int argc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/src/bios_device.c new/biosdevname-0.7.1/src/bios_device.c
--- old/biosdevname-0.6.2/src/bios_device.c 2014-11-19 17:04:18.000000000 +0100
+++ new/biosdevname-0.7.1/src/bios_device.c 2015-12-18 17:18:52.000000000 +0100
@@ -21,6 +21,7 @@
return;
list_for_each_entry_safe(dev, n, &state->bios_devices, node) {
list_del(&(dev->node));
+ free(dev->bios_name);
free(dev);
}
}
@@ -138,6 +139,7 @@
if (x->pcidev && !y->pcidev) return -1;
else if (!x->pcidev && y->pcidev) return 1;
+ else if (!x->pcidev && !y->pcidev) return 0;
a = x->pcidev;
b = y->pcidev;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/src/dmidecode/util.c new/biosdevname-0.7.1/src/dmidecode/util.c
--- old/biosdevname-0.6.2/src/dmidecode/util.c 2014-11-03 19:07:11.000000000 +0100
+++ new/biosdevname-0.7.1/src/dmidecode/util.c 2015-12-18 17:10:29.000000000 +0100
@@ -111,6 +111,7 @@
if((p=malloc(len))==NULL)
{
perror("malloc");
+ close(fd);
return NULL;
}
@@ -129,6 +130,7 @@
if(mmp==MAP_FAILED)
{
free(p);
+ close(fd);
return NULL;
}
@@ -145,18 +147,21 @@
fprintf(stderr, "%s: ", devmem);
perror("lseek");
free(p);
+ close(fd);
return NULL;
}
if(myread(fd, p, len, devmem)==-1)
{
free(p);
+ close(fd);
return NULL;
}
#endif /* USE_MMAP */
if(close(fd)==-1)
perror(devmem);
-
+
+ close(fd);
return p;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/src/eths.c new/biosdevname-0.7.1/src/eths.c
--- old/biosdevname-0.6.2/src/eths.c 2014-11-19 17:04:18.000000000 +0100
+++ new/biosdevname-0.7.1/src/eths.c 2015-12-18 17:10:29.000000000 +0100
@@ -198,6 +198,7 @@
/* Open control socket. */
fd = socket(AF_INET, SOCK_DGRAM, 0);
if (fd < 0) {
+ free(permaddr);
perror("Cannot get control socket");
return 1;
}
@@ -208,6 +209,7 @@
err = ioctl(fd, SIOCETHTOOL, &ifr);
if (err < 0) {
close(fd);
+ free(permaddr);
return err;
}
memcpy(buf, permaddr->data, min(permaddr->size, size));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/biosdevname-0.6.2/src/pci.c new/biosdevname-0.7.1/src/pci.c
--- old/biosdevname-0.6.2/src/pci.c 2015-04-15 18:37:58.000000000 +0200
+++ new/biosdevname-0.7.1/src/pci.c 2015-12-18 17:10:29.000000000 +0100
@@ -30,6 +30,7 @@
/* Borrowed from kernel vpd code */
#define PCI_VPD_LRDT 0x80
#define PCI_VPD_SRDT_END 0x78
+#define PCI_VPDI_TAG 0x82
#define PCI_VPDR_TAG 0x90
#define PCI_VPD_SRDT_LEN_MASK 0x7
@@ -37,9 +38,16 @@
#define PCI_VPD_SRDT_TAG_SIZE 1
#define PCI_VPD_INFO_FLD_HDR_SIZE 3
+struct vpd_tag
+{
+ char cc[2];
+ u8 len;
+ char data[1];
+};
+
static inline u16 pci_vpd_lrdt_size(const u8 *lrdt)
{
- return (u16)lrdt[1] + ((u16)lrdt[2] << 8L);
+ return (u16)lrdt[0] + ((u16)lrdt[1] << 8L);
}
static inline u8 pci_vpd_srdt_size(const u8* srdt)
@@ -47,78 +55,41 @@
return (*srdt) & PCI_VPD_SRDT_LEN_MASK;
}
-static inline u8 pci_vpd_info_field_size(const u8 *info_field)
-{
- return info_field[2];
-}
-
-static int pci_vpd_size(struct pci_device *pdev, int fd)
-{
- uint8_t buf[3], tag;
- int off;
-
- if (!is_pci_network(pdev))
- return 0;
- off = 0;
- for(;;) {
- if (pread(fd, buf, 1, off) != 1)
- break;
- if (buf[0] & PCI_VPD_LRDT) {
- tag = buf[0];
- if (pread(fd, buf, 3, off) != 3)
- break;
- off += PCI_VPD_LRDT_TAG_SIZE + pci_vpd_lrdt_size(buf);
- } else {
- tag = buf[0] & ~PCI_VPD_SRDT_LEN_MASK;
- off += PCI_VPD_SRDT_TAG_SIZE + pci_vpd_srdt_size(buf);
- }
- if (tag == 0 || tag == 0xFF || tag == PCI_VPD_SRDT_END || tag == PCI_VPDR_TAG)
- break;
- }
- return off;
-}
-
-static int pci_vpd_find_tag(const u8 *buf, unsigned int off, unsigned int len, u8 rdt)
-{
- int i;
-
- for (i = off; i < len;) {
- u8 val = buf[i];
-
- if (val & PCI_VPD_LRDT) {
- if (i + PCI_VPD_LRDT_TAG_SIZE > len)
- break;
- if (val == rdt)
- return i;
- i += PCI_VPD_LRDT_TAG_SIZE + pci_vpd_lrdt_size(&buf[i]);
- } else {
- u8 tag = val & ~PCI_VPD_SRDT_LEN_MASK;
-
- if (tag == rdt)
- return i;
- if (tag == PCI_VPD_SRDT_END)
- break;
- i += PCI_VPD_SRDT_TAG_SIZE + pci_vpd_srdt_size(&buf[i]);
- }
- }
- return -1;
-}
-
-/* Search for matching key/subkey in the VPD data */
-static int pci_vpd_find_info_subkey(const u8 *buf, unsigned int off, unsigned int len,
- const char *kw, const char *skw)
+static int pci_vpd_readtag(int fd, int *len)
{
- int i;
+ u8 tag, tlen[2];
- for (i = off; i + PCI_VPD_INFO_FLD_HDR_SIZE <= off+len;) {
- /* Match key and subkey names, can use * for regex */
- if ((kw[0] == '*' || buf[i+0] == kw[0]) &&
- (kw[1] == '*' || buf[i+1] == kw[1]) &&
- (skw[0] == '*' || !memcmp(&buf[i+3], skw, 3)))
- return i;
- i += PCI_VPD_INFO_FLD_HDR_SIZE + pci_vpd_info_field_size(&buf[i]);
- }
- return -1;
+ if (read(fd, &tag, 1) != 1)
+ return -1;
+ if (tag == 0x00 || tag == 0xFF || tag == 0x7F)
+ return -1;
+ if (tag & PCI_VPD_LRDT) {
+ if (read(fd, tlen, 2) != 2)
+ return -1;
+ *len = pci_vpd_lrdt_size(tlen);
+ /* Check length of VPD-R */
+ if (*len >= 1024)
+ return -1;
+ return tag;
+ }
+ *len = pci_vpd_srdt_size(&tag);
+ return (tag & ~0x7);
+}
+
+static void *pci_vpd_findtag(void *buf, int len, const char *sig)
+{
+ int off, siglen;
+ struct vpd_tag *t;
+
+ off = 0;
+ siglen = strlen(sig);
+ while (off < len) {
+ t = (struct vpd_tag *)((u8 *)buf + off);
+ if (!memcmp(t->data, sig, siglen))
+ return t;
+ off += (t->len + 3);
+ }
+ return NULL;
}
/* Add port identifier(s) to PCI device */
@@ -140,24 +111,35 @@
list_add_tail(&p->node, &pdev->ports);
}
-static void parse_dcm(struct libbiosdevname_state *state, int seg, int bus,
- const char *dcm, int len)
+static void parse_dcm(struct libbiosdevname_state *state, struct pci_device *pdev,
+ void *vpd, int len)
{
- int i;
- int port, devfn, pfi;
+ int i, port, devfn, pfi, step;
struct pci_device *vf;
+ struct vpd_tag *dcm;
+ const char *fmt;
- for (i=3; i<len; ) {
- if (!strncmp(dcm, "DCM", 3)) {
- sscanf(dcm+i, "%1x%1x%2x", &port, &devfn, &pfi);
- i += 10;
- } else if (!strncmp(dcm, "DC2", 3)) {
- sscanf(dcm+i, "%1x%2x%2x", &port, &devfn, &pfi);
- i += 11;
- } else {
+ fmt = "%1x%1x%2x";
+ step = 10;
+ dcm = pci_vpd_findtag(vpd, len, "DCM");
+ if (dcm == NULL) {
+ dcm = pci_vpd_findtag(vpd, len, "DC2");
+ if (dcm == NULL)
+ return;
+ fmt = "%1x%2x%2x";
+ step = 11;
+ }
+ for (i = 3; i < dcm->len; i += step) {
+ if (i+step > dcm->len) {
+ /* DCM is truncated */
return;
}
- if ((vf = find_pci_dev_by_pci_addr(state, seg, bus, devfn>>3, devfn & 7)) != NULL) {
+ if (sscanf(dcm->data+i, fmt, &port, &devfn, &pfi) != 3)
+ break;
+ vf = find_pci_dev_by_pci_addr(state, pdev->pci_dev->domain,
+ pdev->pci_dev->bus,
+ devfn >> 3, devfn & 7);
+ if (vf != NULL) {
add_port(vf, port, pfi);
if (vf->vpd_port == INT_MAX) {
vf->vpd_port = port;
@@ -167,66 +149,40 @@
}
}
-static int parse_vpd(struct libbiosdevname_state *state, struct pci_device *pdev, int len, unsigned char *vpd)
-{
- int i, j, isz, jsz;
-
- i = pci_vpd_find_tag(vpd, 0, len, PCI_VPDR_TAG);
- if (i < 0)
- return 1;
- isz = pci_vpd_lrdt_size(&vpd[i]);
- i += PCI_VPD_LRDT_TAG_SIZE;
-
- /* Lookup Version */
- j = pci_vpd_find_info_subkey(vpd, i, isz, "**", "DSV");
- if (j < 0)
- return 1;
- jsz = pci_vpd_info_field_size(&vpd[j]);
- j += PCI_VPD_INFO_FLD_HDR_SIZE;
- if ((memcmp(vpd+j+3, "1028VPDR.VER1.0", 15)) &&
- (memcmp(vpd+j+3, "1028VPDR.VER2.0", 15)))
- return 1;
-
- /* Lookup Port Mappings */
- j = pci_vpd_find_info_subkey(vpd, i, isz, "**", "DC2");
- if (j < 0) {
- j = pci_vpd_find_info_subkey(vpd, i, isz, "**", "DCM");
- if (j < 0)
- return 1;
- }
- jsz = pci_vpd_info_field_size(&vpd[j]);
- j += PCI_VPD_INFO_FLD_HDR_SIZE;
-
- parse_dcm(state, pdev->pci_dev->domain, pdev->pci_dev->bus,
- (char *)vpd+j, jsz);
- return 0;
-}
-
/* Read and parse PCI VPD section if it exists */
static int read_pci_vpd(struct libbiosdevname_state *state, struct pci_device *pdev)
{
char path[PATH_MAX];
char pci_name[16];
- int fd, rc=1;
+ int fd, len;
unsigned char *vpd;
- off_t size;
- ssize_t nrd;
+ if (!is_pci_network(pdev))
+ return 1;
unparse_pci_name(pci_name, sizeof(pci_name), pdev->pci_dev);
- snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/vpd", pci_name);
- if ((fd = open(path, O_RDONLY|O_SYNC)) >= 0) {
- size = pci_vpd_size(pdev, fd);
- if (size > 0) {
- vpd = malloc(size);
- if (vpd != NULL) {
- if ((nrd = pread(fd, vpd, size, 0)) > 0)
- rc = parse_vpd(state, pdev, nrd, vpd);
- free(vpd);
- }
- }
- close(fd);
+ snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/physfn/vpd", pci_name);
+ fd = open(path, O_RDONLY|O_SYNC);
+ if (fd < 0) {
+ snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/vpd", pci_name);
+ fd = open(path, O_RDONLY|O_SYNC);
+ if (fd < 0)
+ return 1;
}
- return rc;
+ if (pci_vpd_readtag(fd, &len) != PCI_VPDI_TAG)
+ goto done;
+ lseek(fd, len, SEEK_CUR);
+ if (pci_vpd_readtag(fd, &len) != PCI_VPDR_TAG)
+ goto done;
+ vpd = alloca(len);
+ if (read(fd, vpd, len) != len)
+ goto done;
+ /* Check for DELL VPD tag */
+ if (!pci_vpd_findtag(vpd, len, "DSV1028VPDR.VER"))
+ goto done;
+ parse_dcm(state, pdev, vpd, len);
+ done:
+ close(fd);
+ return 0;
}
static void set_pci_vpd_instance(struct libbiosdevname_state *state)
@@ -254,6 +210,10 @@
if (dev->pci_dev->vendor_id == 0x1969 ||
dev->pci_dev->vendor_id == 0x168c)
continue;
+ if (dev->vpd_port != INT_MAX) {
+ /* Ignore already parsed devices */
+ continue;
+ }
read_pci_vpd(state, dev);
}
@@ -636,7 +596,7 @@
snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/%s", pci_name, virtpath);
memset(cpath, 0, sizeof(cpath));
- if (readlink(path, cpath, sizeof(cpath)) < 0)
+ if (readlink(path, cpath, sizeof(cpath) - 1) < 0)
return;
if ((vf = find_dev_by_pci_name(state, cpath)) != NULL) {
vf->is_sriov_virtual_function = 1;
@@ -789,7 +749,7 @@
"SATA Controller",
"SAS Controller",
};
- if (type > 0 && type <= sizeof(msg))
+ if (type > 0 && type <= (sizeof(msg)/sizeof(msg[0])))
s += snprintf(s, size-(s-buf), "%s\n", msg[type-1]);
else
s += snprintf(s, size-(s-buf), "<OUT OF SPEC>\n");
++++++ biosdevname-pic.patch ++++++
--- /var/tmp/diff_new_pack.tF4W01/_old 2016-01-30 11:34:23.000000000 +0100
+++ /var/tmp/diff_new_pack.tF4W01/_new 2016-01-30 11:34:23.000000000 +0100
@@ -1,7 +1,7 @@
-Index: biosdevname-0.6.2/src/bios_dev_name.c
+Index: biosdevname-0.7.1/src/bios_dev_name.c
===================================================================
---- biosdevname-0.6.2.orig/src/bios_dev_name.c
-+++ biosdevname-0.6.2/src/bios_dev_name.c
+--- biosdevname-0.7.1.orig/src/bios_dev_name.c
++++ biosdevname-0.7.1/src/bios_dev_name.c
@@ -114,10 +114,21 @@ static u_int32_t
cpuid (u_int32_t eax, u_int32_t ecx)
{
++++++ udev-rule-path.patch ++++++
--- /var/tmp/diff_new_pack.tF4W01/_old 2016-01-30 11:34:23.000000000 +0100
+++ /var/tmp/diff_new_pack.tF4W01/_new 2016-01-30 11:34:23.000000000 +0100
@@ -1,8 +1,8 @@
-Index: biosdevname-0.6.1/configure.ac
+Index: biosdevname-0.7.1/configure.ac
===================================================================
---- biosdevname-0.6.1.orig/configure.ac 2014-12-01 16:05:47.000000000 +0100
-+++ biosdevname-0.6.1/configure.ac 2015-01-22 13:24:22.231621837 +0100
-@@ -66,20 +66,9 @@
+--- biosdevname-0.7.1.orig/configure.ac
++++ biosdevname-0.7.1/configure.ac
+@@ -66,20 +66,9 @@ AC_FUNC_STAT
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([dup2 gettimeofday memset munmap select socket strcasecmp strchr strdup strerror strncasecmp strpbrk strrchr strstr strtol strtoul])
@@ -26,11 +26,11 @@
RULEDIR=$(dirname $RULEDEST)
AC_SUBST(RULEDEST, $RULEDEST)
AC_SUBST(RULEDIR, $RULEDIR)
-Index: biosdevname-0.6.1/configure
+Index: biosdevname-0.7.1/configure
===================================================================
---- biosdevname-0.6.1.orig/configure 2014-12-01 16:06:21.000000000 +0100
-+++ biosdevname-0.6.1/configure 2015-01-22 13:48:51.915645203 +0100
-@@ -7305,18 +7305,7 @@
+--- biosdevname-0.7.1.orig/configure
++++ biosdevname-0.7.1/configure
+@@ -10560,18 +10560,7 @@ done
# this is ugly, but accounts for SLES 10, Red Hat/Fedora, and Ubuntu
# handles default udev rules as of udev 114 or thereabouts
1
0
Hello community,
here is the log from the commit of package fuse for openSUSE:Factory checked in at 2016-01-30 11:34:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fuse (Old)
and /work/SRC/openSUSE:Factory/.fuse.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fuse"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fuse/fuse.changes 2015-05-23 12:50:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fuse.new/fuse.changes 2016-01-30 11:34:17.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Jan 22 12:04:12 UTC 2016 - astieger(a)suse.com
+
+- fuse 2.9.5:
+ * fix warning in mount.c:receive_fd().
+ * fix possible memory leak.
+ * new upstream project and source URL
+ * add new maintainer keyring and verify source signature
+
+-------------------------------------------------------------------
Old:
----
fuse-2.9.4.tar.gz
New:
----
fuse-2.9.5.tar.gz
fuse-2.9.5.tar.gz.asc
fuse.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fuse.spec ++++++
--- /var/tmp/diff_new_pack.XN3HkZ/_old 2016-01-30 11:34:18.000000000 +0100
+++ /var/tmp/diff_new_pack.XN3HkZ/_new 2016-01-30 11:34:18.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fuse
#
-# 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
@@ -16,35 +16,38 @@
#
+%define tag 2_9_5
Name: fuse
+Version: 2.9.5
+Release: 0
Summary: User space File System
License: GPL-2.0+ and LGPL-2.1+
Group: System/Filesystems
-Version: 2.9.4
-Release: 0
-# http://downloads.sf.net/fuse/fuse-%%version.tar.gz
-Source: http://downloads.sourceforge.net/project/fuse/fuse-2.X/%{version}/%{name}-%…
+Url: https://github.com/libfuse/libfuse
+Source: https://github.com/libfuse/libfuse/releases/download/fuse_%{tag}/fuse-%{ver…
Source2: fuse.rpmlintrc
Source3: baselibs.conf
Source4: fuse.conf
-Patch: fuse-install-fix.diff
+Source5: https://github.com/libfuse/libfuse/releases/download/fuse_%{tag}/fuse-%{ver…
+Source6: fuse.keyring
+Patch0: fuse-install-fix.diff
Patch3: fusermount-compile-as-pie.patch
Patch4: aarch64-build-fix.patch
-Url: http://fuse.sourceforge.net
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+# FIXME: use proper Requires(pre/post/preun/...)
+PreReq: permissions
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1130
Requires: util-linux >= 2.18
%else
Requires: util-linux(fake+no-canonicalize)
%endif
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: libtool
-BuildRequires: pkgconfig
%if 0%{?suse_version} >= 1000
Supplements: filesystem(fuse)
%endif
-PreReq: permissions
%description
With FUSE, a user space program can export a file system through the
@@ -138,12 +141,12 @@
%prep
%setup -q
-%patch -p1
+%patch0 -p1
%patch3 -p1
%patch4
%build
-export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing"
+export CFLAGS="%{optflags} -g -fno-strict-aliasing"
export MOUNT_FUSE_PATH=%{_sbindir}
autoreconf -fi
%configure --with-pic \
@@ -154,30 +157,30 @@
make %{?_smp_mflags}
%install
-%makeinstall
-rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
-install -m644 -D %{S:4} $RPM_BUILD_ROOT/%{_sysconfdir}/fuse.conf
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
+rm -rf %{buildroot}/%{_sysconfdir}/init.d
+install -m644 -D %{SOURCE4} %{buildroot}/%{_sysconfdir}/fuse.conf
# Needed for OpenSUSE buildservice
-%if %suse_version <= 1020
-install -m644 -D util/udev.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/99-fuse.rules
+%if 0%{?suse_version} <= 1020
+install -m644 -D util/udev.rules %{buildroot}/%{_sysconfdir}/udev/rules.d/99-fuse.rules
%endif
-%{__rm} -f %{buildroot}%{_libdir}/*.la
+find %{buildroot} -type f -name "*.la" -delete -print
# not needed for fuse, might reappar in separate package:
-%{__rm} -f %{buildroot}/%{_libdir}/libulockmgr.a
+rm -f %{buildroot}/%{_libdir}/libulockmgr.a
#UsrMerge
-mkdir $RPM_BUILD_ROOT/sbin
-mkdir $RPM_BUILD_ROOT/%{_lib}
-%{__ln_s} -v %{_sbindir}/mount.fuse $RPM_BUILD_ROOT/sbin
-pushd $RPM_BUILD_ROOT/%{_libdir}
+mkdir %{buildroot}/sbin
+mkdir %{buildroot}/%{_lib}
+ln -s -v %{_sbindir}/mount.fuse %{buildroot}/sbin
+pushd %{buildroot}/%{_libdir}
for libname in $(ls *.so.*);do
-%{__ln_s} -v /%{_libdir}/$libname %{buildroot}/%{_lib}
+ln -s -v /%{_libdir}/$libname %{buildroot}/%{_lib}
done
popd
#EndUsrMerge
-(cd example && %{__make} clean)
-%{__rm} -rf example/.deps example/Makefile.am example/Makefile.in
-%{__rm} -rf doc/Makefile.am doc/Makefile.in doc/Makefile
+(cd example && make clean)
+rm -rf example/.deps example/Makefile.am example/Makefile.in
+rm -rf doc/Makefile.am doc/Makefile.in doc/Makefile
%post
%if 0%{?suse_version} >= 1140
@@ -185,6 +188,7 @@
%else
%run_permissions
%endif
+
%verifyscript
%verify_permissions -e %{_bindir}/fusermount
@@ -198,8 +202,8 @@
%files
%defattr(-,root,root)
-%doc AUTHORS ChangeLog FAQ NEWS README* COPYING*
-%if %suse_version <= 1020
+%doc AUTHORS ChangeLog NEWS README* COPYING*
+%if 0%{?suse_version} <= 1020
%dir %{_sysconfdir}/udev
%dir %{_sysconfdir}/udev/rules.d
%{_sysconfdir}/udev/rules.d/99-fuse.rules
++++++ fuse-2.9.4.tar.gz -> fuse-2.9.5.tar.gz ++++++
++++ 3875 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package pinentry for openSUSE:Factory checked in at 2016-01-30 11:34:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pinentry (Old)
and /work/SRC/openSUSE:Factory/.pinentry.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pinentry"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pinentry/pinentry.changes 2016-01-20 09:54:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pinentry.new/pinentry.changes 2016-01-30 11:34:12.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Jan 20 08:49:48 UTC 2016 - astieger(a)suse.com
+
+- completely rename to qt5 [boo#962076]
+- fix self-deprecation rpmlint warning
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pinentry.spec ++++++
--- /var/tmp/diff_new_pack.t1EGao/_old 2016-01-30 11:34:14.000000000 +0100
+++ /var/tmp/diff_new_pack.t1EGao/_new 2016-01-30 11:34:14.000000000 +0100
@@ -60,7 +60,7 @@
Provides: pinentry-qt = %{version}
Obsoletes: pinentry-qt <= 0.8.3
Provides: pinentry-qt4 = %{version}
-Obsoletes: pinentry-qt4 <= 0.9.7
+Obsoletes: pinentry-qt4 < 0.9.7
%description qt5
This is a collection of simple PIN or passphrase entry dialogs which
@@ -156,7 +156,8 @@
# remove symlink
rm -rf %{buildroot}%{_bindir}/pinentry
-# backward compatibility symlink
+# backward compatibility symlinks
+ln -s pinentry-qt %{buildroot}%{_bindir}/pinentry-qt5
ln -s pinentry-qt %{buildroot}%{_bindir}/pinentry-qt4
cp %{SOURCE3} %{buildroot}%{_bindir}
@@ -176,6 +177,7 @@
%files qt5
%defattr(-,root,root)
+%attr(755,root,root) %{_bindir}/pinentry-qt5
%attr(755,root,root) %{_bindir}/pinentry-qt4
%attr(755,root,root) %{_bindir}/pinentry-qt
++++++ pinentry ++++++
--- /var/tmp/diff_new_pack.t1EGao/_old 2016-01-30 11:34:14.000000000 +0100
+++ /var/tmp/diff_new_pack.t1EGao/_new 2016-01-30 11:34:14.000000000 +0100
@@ -15,7 +15,7 @@
# Boris Ranto <branto(a)redhat.com> 2014
# Andreas Stieger <andreas.stieger(a)gmx.de> 2014
#
-# use proper binary (pinentry-qt4, pinentry-qt, pinentry-gtk-2 or pinentry-curses)
+# use proper binary (pinentry-qt5, pinentry-qt, pinentry-gtk-2 or pinentry-curses)
kde_running=
arg=
@@ -56,10 +56,10 @@
if [ -n "$PINENTRY_BINARY" ];
then
export PINENTRY_BINARY="$PINENTRY_BINARY"
-# if KDE is detected and pinentry-qt4 exists, use pinentry-qt4
-elif [ -n "$kde_running" -a "$kde_ver"x = 4x -a -x /usr/bin/pinentry-qt4 ]
+# if KDE is detected and pinentry-qt5 exists, use pinentry-qt5
+elif [ -n "$kde_running" -a "$kde_ver"x = 4x -a -x /usr/bin/pinentry-qt5 ]
then
- export PINENTRY_BINARY="/usr/bin/pinentry-qt4"
+ export PINENTRY_BINARY="/usr/bin/pinentry-qt5"
# if KDE is detected and pinentry-qt exists, use pinentry-qt
elif [ -n "$kde_running" -a -x /usr/bin/pinentry-qt ]
then
@@ -72,10 +72,10 @@
elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-gtk-2 ]
then
export PINENTRY_BINARY="/usr/bin/pinentry-gtk-2"
-# otherwise test if pinentry-qt4 exists although KDE is not detected
-elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-qt4 ]
+# otherwise test if pinentry-qt5 exists although KDE is not detected
+elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-qt5 ]
then
- export PINENTRY_BINARY="/usr/bin/pinentry-qt4"
+ export PINENTRY_BINARY="/usr/bin/pinentry-qt5"
# otherwise test if pinentry-qt exists although KDE is not detected
elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-qt ]
then
1
0
Hello community,
here is the log from the commit of package babl for openSUSE:Factory checked in at 2016-01-30 11:34:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/babl (Old)
and /work/SRC/openSUSE:Factory/.babl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "babl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/babl/babl.changes 2015-02-16 07:36:10.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.babl.new/babl.changes 2016-01-30 11:34:09.000000000 +0100
@@ -1,0 +2,8 @@
+Thu Nov 26 03:30:16 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 0.1.14:
+ + sRGB precision tuning
+ + Stability fixes
+ + Locale fix for setting error tolerance.
+
+-------------------------------------------------------------------
Old:
----
babl-0.1.12.tar.bz2
New:
----
babl-0.1.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ babl.spec ++++++
--- /var/tmp/diff_new_pack.SkRpxR/_old 2016-01-30 11:34:09.000000000 +0100
+++ /var/tmp/diff_new_pack.SkRpxR/_new 2016-01-30 11:34:09.000000000 +0100
@@ -16,10 +16,9 @@
#
-
Name: babl
Url: http://gegl.org/babl/
-Version: 0.1.12
+Version: 0.1.14
Release: 0
Summary: Dynamic Pixel Format Translation Library
License: LGPL-3.0+
@@ -94,7 +93,7 @@
%files -n libbabl-0_1-0
%defattr(-,root,root)
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
+%doc AUTHORS COPYING NEWS README TODO
%{_libdir}/*.so.*
%{_libdir}/babl-0.1/
++++++ babl-0.1.12.tar.bz2 -> babl-0.1.14.tar.bz2 ++++++
++++ 15776 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package crash for openSUSE:Factory checked in at 2016-01-30 11:31:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
and /work/SRC/openSUSE:Factory/.crash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crash"
Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes 2015-09-13 09:45:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.crash.new/crash.changes 2016-01-30 11:31:52.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Jan 28 16:22:27 UTC 2016 - vbabka(a)suse.com
+
+- Upgrade to 7.1.4 from upstream. For a detailed changelog see
+
+ http://people.redhat.com/anderson/crash.changelog.html
+
+-------------------------------------------------------------------
Old:
----
crash-7.1.3.tar.gz
New:
----
crash-7.1.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.a9sSDc/_old 2016-01-30 11:31:53.000000000 +0100
+++ /var/tmp/diff_new_pack.a9sSDc/_new 2016-01-30 11:31:53.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package crash
#
-# 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
@@ -46,7 +46,7 @@
Summary: Crash utility for live systems; netdump, diskdump, LKCD or mcore dumpfiles
License: GPL-3.0+ and GFDL-1.2
Group: Development/Tools/Debuggers
-Version: 7.1.3
+Version: 7.1.4
Release: 0
Source: %{name}-%{version}.tar.gz
Source2: crash_whitepaper-%{whitepaper_version}.tar.bz2
++++++ crash-7.1.3.tar.gz -> crash-7.1.4.tar.gz ++++++
/work/SRC/openSUSE:Factory/crash/crash-7.1.3.tar.gz /work/SRC/openSUSE:Factory/.crash.new/crash-7.1.4.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package ghc-adjunctions for openSUSE:Factory checked in at 2016-01-30 11:31:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-adjunctions (Old)
and /work/SRC/openSUSE:Factory/.ghc-adjunctions.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-adjunctions"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-adjunctions/ghc-adjunctions.changes 2015-10-06 13:24:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-adjunctions.new/ghc-adjunctions.changes 2016-01-30 11:31:49.000000000 +0100
@@ -1,0 +2,7 @@
+Tue Jan 26 07:58:32 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 4.3
+* Removed a spurious superclass constraint for Applicative (StoreT g w)
+* comonad 5 support
+
+-------------------------------------------------------------------
Old:
----
adjunctions-4.2.2.tar.gz
New:
----
adjunctions-4.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-adjunctions.spec ++++++
--- /var/tmp/diff_new_pack.8r7GIm/_old 2016-01-30 11:31:50.000000000 +0100
+++ /var/tmp/diff_new_pack.8r7GIm/_new 2016-01-30 11:31:50.000000000 +0100
@@ -19,7 +19,7 @@
%global pkg_name adjunctions
Name: ghc-adjunctions
-Version: 4.2.2
+Version: 4.3
Release: 0
Summary: Adjunctions and representable functors
License: BSD-2-Clause
@@ -44,6 +44,7 @@
BuildRequires: ghc-semigroups-devel
BuildRequires: ghc-tagged-devel
BuildRequires: ghc-transformers-devel
+BuildRequires: ghc-transformers-compat-devel
BuildRequires: ghc-void-devel
# End cabal-rpm deps
++++++ adjunctions-4.2.2.tar.gz -> adjunctions-4.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/.travis.yml new/adjunctions-4.3/.travis.yml
--- old/adjunctions-4.2.2/.travis.yml 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/.travis.yml 2016-01-17 03:21:47.000000000 +0100
@@ -13,12 +13,12 @@
matrix:
include:
- - env: CABALVER=1.16 GHCVER=7.4.2
+ - env: CABALVER=1.24 GHCVER=7.4.2
compiler: ": #GHC 7.4.2"
- addons: {apt: {packages: [cabal-install-1.16,ghc-7.4.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- - env: CABALVER=1.16 GHCVER=7.6.3
+ addons: {apt: {packages: [cabal-install-1.24,ghc-7.4.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
+ - env: CABALVER=1.24 GHCVER=7.6.3
compiler: ": #GHC 7.6.3"
- addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
+ addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
- env: CABALVER=1.18 GHCVER=7.8.4
compiler: ": #GHC 7.8.4"
addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/CHANGELOG.markdown new/adjunctions-4.3/CHANGELOG.markdown
--- old/adjunctions-4.2.2/CHANGELOG.markdown 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/CHANGELOG.markdown 2016-01-17 03:21:47.000000000 +0100
@@ -1,3 +1,9 @@
+4.3
+---
+* Removed a spurious superclass constraint for `Applicative (StoreT g w)`
+* GHC 8 support
+* `comonad` 5 support
+
4.2.2
-----
* Builds clean on GHC 7.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/adjunctions.cabal new/adjunctions-4.3/adjunctions.cabal
--- old/adjunctions-4.2.2/adjunctions.cabal 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/adjunctions.cabal 2016-01-17 03:21:47.000000000 +0100
@@ -1,6 +1,6 @@
name: adjunctions
category: Data Structures, Adjunctions
-version: 4.2.2
+version: 4.3
license: BSD3
cabal-version: >= 1.6
license-file: LICENSE
@@ -40,20 +40,21 @@
UndecidableInstances
build-depends:
- array >= 0.3.0.2 && < 0.7,
- base >= 4 && < 5,
- comonad >= 4 && < 5,
- containers >= 0.3 && < 0.6,
- contravariant >= 1 && < 2,
- distributive >= 0.4 && < 1,
- free >= 4 && < 5,
- mtl >= 2.0.1 && < 2.3,
- profunctors >= 4 && < 6,
- tagged >= 0.7 && < 1,
- semigroupoids >= 4 && < 6,
- semigroups >= 0.11 && < 1,
- transformers >= 0.2 && < 0.5,
- void >= 0.5.5.1 && < 1
+ array >= 0.3.0.2 && < 0.7,
+ base >= 4 && < 5,
+ comonad >= 4 && < 6,
+ containers >= 0.3 && < 0.6,
+ contravariant >= 1 && < 2,
+ distributive >= 0.4 && < 1,
+ free >= 4 && < 5,
+ mtl >= 2.0.1 && < 2.3,
+ profunctors >= 4 && < 6,
+ tagged >= 0.7 && < 1,
+ semigroupoids >= 4 && < 6,
+ semigroups >= 0.11 && < 1,
+ transformers >= 0.2 && < 0.6,
+ transformers-compat >= 0.3 && < 1,
+ void >= 0.5.5.1 && < 1
exposed-modules:
Control.Comonad.Representable.Store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Control/Comonad/Representable/Store.hs new/adjunctions-4.3/src/Control/Comonad/Representable/Store.hs
--- old/adjunctions-4.2.2/src/Control/Comonad/Representable/Store.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Control/Comonad/Representable/Store.hs 2016-01-17 03:21:47.000000000 +0100
@@ -95,7 +95,7 @@
instance (ComonadApply w, Semigroup (Rep g), Representable g) => ComonadApply (StoreT g w) where
StoreT ff m <@> StoreT fa n = StoreT (apRep <$> ff <@> fa) (m <> n)
-instance (Applicative w, Semigroup (Rep g), Monoid (Rep g), Representable g) => Applicative (StoreT g w) where
+instance (Applicative w, Monoid (Rep g), Representable g) => Applicative (StoreT g w) where
pure a = StoreT (pure (pureRep a)) mempty
StoreT ff m <*> StoreT fa n = StoreT (apRep <$> ff <*> fa) (m `mappend` n)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Control/Monad/Representable/Reader.hs new/adjunctions-4.3/src/Control/Monad/Representable/Reader.hs
--- old/adjunctions-4.2.2/src/Control/Monad/Representable/Reader.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Control/Monad/Representable/Reader.hs 2016-01-17 03:21:47.000000000 +0100
@@ -77,7 +77,9 @@
ReaderT fm >>- f = ReaderT $ tabulate (\a -> index fm a >>- flip index a . getReaderT . f)
instance (Representable f, Monad m) => Monad (ReaderT f m) where
+#if __GLASGOW_HASKELL__ < 710
return = ReaderT . pureRep . return
+#endif
ReaderT fm >>= f = ReaderT $ tabulate (\a -> index fm a >>= flip index a . getReaderT . f)
#if __GLASGOW_HASKELL >= 704
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Control/Monad/Representable/State.hs new/adjunctions-4.3/src/Control/Monad/Representable/State.hs
--- old/adjunctions-4.2.2/src/Control/Monad/Representable/State.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Control/Monad/Representable/State.hs 2016-01-17 03:21:47.000000000 +0100
@@ -147,7 +147,9 @@
StateT m >>- f = StateT $ fmap (>>- rightAdjunctRep (runStateT . f)) m
instance (Representable g, Monad m) => Monad (StateT g m) where
+#if __GLASGOW_VERSION__ < 710
return = StateT . leftAdjunctRep return
+#endif
StateT m >>= f = StateT $ fmap (>>= rightAdjunctRep (runStateT . f)) m
instance Representable f => BindTrans (StateT f) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Control/Monad/Trans/Adjoint.hs new/adjunctions-4.3/src/Control/Monad/Trans/Adjoint.hs
--- old/adjunctions-4.2.2/src/Control/Monad/Trans/Adjoint.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Control/Monad/Trans/Adjoint.hs 2016-01-17 03:21:47.000000000 +0100
@@ -50,7 +50,7 @@
(<*>) = ap
instance (Adjunction f g, Monad m) => Monad (AdjointT f g m) where
- return = AdjointT . leftAdjunct return
+ return = pure
AdjointT m >>= f = AdjointT $ fmap (>>= rightAdjunct (runAdjointT . f)) m
-- | Exploiting this instance requires that we have the missing Traversables for Identity, (,)e and IdentityT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Control/Monad/Trans/Contravariant/Adjoint.hs new/adjunctions-4.3/src/Control/Monad/Trans/Contravariant/Adjoint.hs
--- old/adjunctions-4.2.2/src/Control/Monad/Trans/Contravariant/Adjoint.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Control/Monad/Trans/Contravariant/Adjoint.hs 2016-01-17 03:21:47.000000000 +0100
@@ -62,5 +62,5 @@
(<*>) = ap
instance (Adjunction f g, Comonad w) => Monad (AdjointT f g w) where
- return = AdjointT . leftAdjunct extract
+ return = pure
AdjointT m >>= f = AdjointT $ contramap (extend (rightAdjunct (runAdjointT . f))) m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Data/Functor/Adjunction.hs new/adjunctions-4.3/src/Data/Functor/Adjunction.hs
--- old/adjunctions-4.2.2/src/Data/Functor/Adjunction.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Data/Functor/Adjunction.hs 2016-01-17 03:21:47.000000000 +0100
@@ -48,10 +48,10 @@
import Control.Comonad.Trans.Traced
import Data.Functor.Identity
-import Data.Functor.Coproduct
import Data.Functor.Compose
import Data.Functor.Product
import Data.Functor.Rep
+import Data.Functor.Sum
import Data.Profunctor
import Data.Void
@@ -89,7 +89,7 @@
-- This can be used with the combinators from the @lens@ package.
--
-- @'adjuncted' :: 'Adjunction' f u => 'Iso'' (f a -> b) (a -> u b)@
-adjuncted :: (Adjunction f u, Profunctor p, Functor g)
+adjuncted :: (Adjunction f u, Profunctor p, Functor g)
=> p (a -> u b) (g (c -> u d)) -> p (f a -> b) (g (f c -> d))
adjuncted = dimap leftAdjunct (fmap rightAdjunct)
{-# INLINE adjuncted #-}
@@ -181,12 +181,10 @@
counit = rightAdjunct (rightAdjunct getCompose) . getCompose
instance (Adjunction f g, Adjunction f' g') =>
- Adjunction (Coproduct f f') (Product g g') where
- unit a = Pair (leftAdjunct left a) (leftAdjunct right a)
- counit = coproduct (rightAdjunct fstP) (rightAdjunct sndP)
- where
- fstP (Pair x _) = x
- sndP (Pair _ x) = x
+ Adjunction (Sum f f') (Product g g') where
+ unit a = Pair (leftAdjunct InL a) (leftAdjunct InR a)
+ counit (InL l) = rightAdjunct (\(Pair x _) -> x) l
+ counit (InR r) = rightAdjunct (\(Pair _ x) -> x) r
instance Adjunction f u =>
Adjunction (Free f) (Cofree u) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adjunctions-4.2.2/src/Data/Functor/Rep.hs new/adjunctions-4.3/src/Data/Functor/Rep.hs
--- old/adjunctions-4.2.2/src/Data/Functor/Rep.hs 2015-09-14 01:15:18.000000000 +0200
+++ new/adjunctions-4.3/src/Data/Functor/Rep.hs 2016-01-17 03:21:47.000000000 +0100
@@ -67,12 +67,16 @@
import Control.Comonad.Cofree
import Control.Monad.Trans.Identity
import Control.Monad.Reader
+#if MIN_VERSION_base(4,4,0)
+import Data.Complex
+#endif
import Data.Distributive
import Data.Functor.Bind
import Data.Functor.Identity
import Data.Functor.Compose
import Data.Functor.Extend
import Data.Functor.Product
+import qualified Data.Monoid as Monoid
import Data.Profunctor
import Data.Proxy
import Data.Sequence (Seq)
@@ -111,7 +115,7 @@
-- This can be used with the combinators from the @lens@ package.
--
-- @'tabulated' :: 'Representable' f => 'Iso'' ('Rep' f -> a) (f a)@
-tabulated :: (Representable f, Representable g, Profunctor p, Functor h)
+tabulated :: (Representable f, Representable g, Profunctor p, Functor h)
=> p (f a) (h (g b)) -> p (Rep f -> a) (h (Rep g -> b))
tabulated = dimap tabulate (fmap index)
{-# INLINE tabulated #-}
@@ -227,6 +231,28 @@
k Seq.:< ks -> index (index as k) ks
tabulate f = f Seq.empty :< tabulate (\k -> tabulate (f . (k Seq.<|)))
+instance Representable Monoid.Dual where
+ type Rep Monoid.Dual = ()
+ index (Monoid.Dual d) () = d
+ tabulate f = Monoid.Dual (f ())
+
+instance Representable Monoid.Product where
+ type Rep Monoid.Product = ()
+ index (Monoid.Product p) () = p
+ tabulate f = Monoid.Product (f ())
+
+instance Representable Monoid.Sum where
+ type Rep Monoid.Sum = ()
+ index (Monoid.Sum s) () = s
+ tabulate f = Monoid.Sum (f ())
+
+#if MIN_VERSION_base(4,4,0)
+instance Representable Complex where
+ type Rep Complex = Bool
+ index (r :+ i) key = if key then i else r
+ tabulate f = f False :+ f True
+#endif
+
newtype Co f a = Co { unCo :: f a } deriving Functor
instance Representable f => Representable (Co f) where
@@ -248,7 +274,7 @@
(>>-) = bindRep
instance Representable f => Monad (Co f) where
- return = pureRep
+ return = pure
(>>=) = bindRep
#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 704
1
0
Hello community,
here is the log from the commit of package digikam for openSUSE:Factory checked in at 2016-01-30 11:31:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/digikam (Old)
and /work/SRC/openSUSE:Factory/.digikam.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "digikam"
Changes:
--------
--- /work/SRC/openSUSE:Factory/digikam/digikam.changes 2016-01-23 01:13:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.digikam.new/digikam.changes 2016-01-30 11:31:46.000000000 +0100
@@ -1,0 +2,14 @@
+Fri Jan 29 16:56:31 UTC 2016 - dimstar(a)opensuse.org
+
+- Split out the five plugins that upstream ships with a
+ metainfo.xml file: color, decorate, enhance, fxfilters and
+ transform. All new subpackages for now supplement the main
+ package (which is equal to the main package recommending them).
+
+-------------------------------------------------------------------
+Mon Jan 25 11:51:03 UTC 2016 - alarrosa(a)suse.com
+
+- Add symlinks for solid actions so Plasma5 can use digikam to
+ import images from the device notifier applet
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ digikam.spec ++++++
--- /var/tmp/diff_new_pack.YRvdY1/_old 2016-01-30 11:31:49.000000000 +0100
+++ /var/tmp/diff_new_pack.YRvdY1/_new 2016-01-30 11:31:49.000000000 +0100
@@ -20,6 +20,7 @@
Version: 4.14.0
Release: 0
%define rversion 4.14.0
+%define libversion 15.12.0
Summary: A KDE Photo Manager
License: GPL-2.0+
Group: Productivity/Graphics/Viewers
@@ -130,6 +131,54 @@
%description doc
This package contains the documentation for digikam
+# split out Image modification plugins. Upstream ships them with a
+# .metainfo.xml file, which is meant to list them as extensions in a
+# Software center. The ones we want installed by default we tag as Supplements(%{name}.
+%package plugin-color
+Summary: DigiKam: ImagePlugin-Color
+License: GPL-2.0+
+Group: Productivity/Graphics/Viewers
+Supplements: %{name}
+
+%description plugin-color
+A tool to correct colors of image
+
+%package plugin-decorate
+Summary: DigiKam: ImagePlugin-Decorate
+License: GPL-2.0+
+Group: Productivity/Graphics/Viewers
+Supplements: %{name}
+
+%description plugin-decorate
+A tool to decorate an image
+
+%package plugin-enhance
+Summary: DigiKam: ImagePlugin-Enhance
+License: GPL-2.0+
+Group: Productivity/Graphics/Viewers
+Supplements: %{name}
+
+%description plugin-enhance
+digiKam plugin to enhance photographs
+
+%package plugin-fxfilters
+Summary: DigiKam: ImagePlugin-FxFilters
+License: GPL-2.0+
+Group: Productivity/Graphics/Viewers
+Supplements: %{name}
+
+%description plugin-fxfilters
+Special effect filters plugin for digiKam
+
+%package plugin-transform
+Summary: DigiKam: ImagePlugin-Color
+License: GPL-2.0+
+Group: Productivity/Graphics/Viewers
+Supplements: %{name}
+
+%description plugin-transform
+A tool to transform image geometry
+
# split out acquireimage plugin in order to allow the main
# kipi-plugins package to be included on livecd (acquireimage
# requires sane-backends, which is blocked for livecd)
@@ -185,6 +234,18 @@
#Require the lib for the shared icons
Requires: libKF5Kipi30_0_0
Requires: marble-data
+Obsoletes: libkexiv2 < %{libversion}
+Provides: libkexiv2 = %{libversion}
+Obsoletes: libkface3 < %{libversion}
+Provides: libkface3 = %{libversion}
+Obsoletes: libkgeomap2 < %{libversion}
+Provides: libkgeomap2 = %{libversion}
+Obsoletes: libkipi11 < %{libversion}
+Provides: libkipi11 = %{libversion}
+Obsoletes: libksane0 < %{libversion}
+Provides: libksane0 = %{libversion}
+Obsoletes: libmediawiki1 < %{libversion}
+Provides: libmediawiki1 = %{libversion}
%description libs
These are the libraries libkipi, libkdcraw, libkgeomap, libkexiv2, libksane and libkface which are
@@ -274,6 +335,14 @@
ln -s %{_kde4_iconsdir}/oxygen/scalable/apps/rawconverter.svgz
popd
+# symlink solid actions into place known to Plasma 5, remove once digikam is KF5-based
+mkdir -p %{buildroot}%{_datadir}/solid/actions
+pushd %{buildroot}%{_kde4_appsdir}/solid/actions/
+for i in *.desktop; do
+ln -s %{_kde4_appsdir}/solid/actions/$i %{buildroot}%{_datadir}/solid/actions/
+done
+popd
+
%fdupes -s %{buildroot}
%kde_post_install
@@ -295,6 +364,9 @@
%{_kde4_appsdir}/kconf_update/adjustlevelstool.upd
%{_kde4_appsdir}/showfoto/
%{_kde4_appsdir}/solid
+%dir %{_datadir}/solid
+%dir %{_datadir}/solid/actions
+%{_datadir}/solid/actions/*.desktop
%{_kde4_bindir}/cleanup_digikamdb
%{_kde4_bindir}/digikam
%{_kde4_bindir}/digitaglinktree
@@ -305,7 +377,6 @@
%{_kde4_iconsdir}/hicolor/*/apps/showfoto.*
%{_kde4_libdir}/libdigikamcore.so.*
%{_kde4_libdir}/libdigikamdatabase.so.*
-%{_kde4_modulesdir}/digikam*.so
%{_kde4_modulesdir}/kio_digikamalbums.so
%{_kde4_modulesdir}/kio_digikamdates.so
%{_kde4_modulesdir}/kio_digikammapimages.so
@@ -316,7 +387,31 @@
%dir %{_kde4_datadir}/appdata
%{_kde4_datadir}/appdata/digikam.appdata.xml
%{_kde4_datadir}/appdata/showfoto.appdata.xml
-%{_kde4_datadir}/appdata/digiKam-ImagePlugin*.metainfo.xml
+
+%files plugin-color
+%defattr(-,root,root)
+%{_kde4_modulesdir}/digikamimageplugin_color.so
+%{_kde4_datadir}/appdata/digiKam-ImagePlugin_Color.metainfo.xml
+
+%files plugin-decorate
+%defattr(-,root,root)
+%{_kde4_modulesdir}/digikamimageplugin_decorate.so
+%{_kde4_datadir}/appdata/digiKam-ImagePlugin_Decorate.metainfo.xml
+
+%files plugin-enhance
+%defattr(-,root,root)
+%{_kde4_modulesdir}/digikamimageplugin_enhance.so
+%{_kde4_datadir}/appdata/digiKam-ImagePlugin_Enhance.metainfo.xml
+
+%files plugin-fxfilters
+%defattr(-,root,root)
+%{_kde4_modulesdir}/digikamimageplugin_fxfilters.so
+%{_kde4_datadir}/appdata/digiKam-ImagePlugin_FxFilters.metainfo.xml
+
+%files plugin-transform
+%defattr(-,root,root)
+%{_kde4_modulesdir}/digikamimageplugin_transform.so
+%{_kde4_datadir}/appdata/digiKam-ImagePlugin_Transform.metainfo.xml
%files doc
%defattr(-,root,root,-)
1
0
Hello community,
here is the log from the commit of package vim for openSUSE:Factory checked in at 2016-01-30 11:31:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vim (Old)
and /work/SRC/openSUSE:Factory/.vim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vim/vim.changes 2016-01-15 10:40:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.vim.new/vim.changes 2016-01-30 11:31:41.000000000 +0100
@@ -1,0 +2,66 @@
+Fri Jan 29 08:45:41 UTC 2016 - idonmez(a)suse.com
+
+- Updated to revision 1194, fixes the following problems
+ * New lines in the viminfo file are dropped.
+ * Old style tests for the argument list.
+ * Generated function prototypes still have __ARGS().
+ * Wrong argument to assert_exception() causes a crash.
+ * Illegal memory access when using :copen and :cclose.
+ * When running gvim in the foreground some icons are missing.
+ * Recognizing <sid> does not work when the language is Turkish.
+ * Using searchpair() with a skip expression that uses syntax
+ highlighting sometimes doesn't work.
+ * Cannot define keyword characters for a syntax file.
+ * Can't sort on floating point numbers.
+ * Default features are conservative.
+ * Conflict for "chartab".
+ * Using the local value of 'errorformat' causes more problems than it solves.
+ * 'langmap' applies to the first character typed in Select mode.
+ * Langmap test fails with normal build.
+ * Autocommands triggered by quickfix cannot always get the current title value.
+ * No support for JSON.
+ * Build with normal features fails.
+ * Coverity warns for NULL pointer and ignoring return value.
+ * type() does not work for v:true, v:none, etc.
+ * Automatically generated function prototypes use __ARGS.
+ * No error for jsondecode('"').
+ * ":argadd" without argument is supposed to add the current buffer name to the arglist.
+ * Missing error number in MzScheme.
+ * Expressions "0 + v:true" and "'' . v:true" cause an error.
+ * No tests for "is" and "isnot" with the new variables.
+ * This doesn't give the right result: eval(string(v:true)).
+ * No test for new behavior of v:true et al.
+ * The +channel feature is not in :version output.
+ * empty() doesn't work for the new special variables.
+ * test_writefile and test_viml do not delete the tempfile.
+ * Crash with invalid argument to glob2regpat().
+ * free_tv() can't handle special variables.
+ * Error messages for security context are hard to translate.
+ * The channel feature isn't working yet.
+ * Can't build with FEAT_EVAL but without FEAT_MBYTE.
+ * Compiler warning for not using return value of fwrite().
+
+-------------------------------------------------------------------
+Mon Jan 18 20:34:16 UTC 2016 - idonmez(a)suse.com
+
+- Updated to revision 1130, fixes the following problems
+ * Repeating CTRL-A doesn't work.
+ * No tests for :hardcopy and related options.
+ * When making a change while need_wait_return is set there is a two second delay.
+ * With 'rightleft' and concealing the cursor may move to the wrong position.
+ * Vim can create a directory but not delete it.
+ * When using ":next" with an illegal file name no error is reported.
+ * Using {ns} in variable name does not work. (lilydjwg)
+ * delete() does not work well with symbolic links.
+ * delete(x, 'rf') does not delete files starting with a dot.
+ * No longer get "." and ".." in directory list.
+ * argidx() has a wrong value after ":%argdelete". (Yegappan Lakshmanan)
+ * delete(x, 'rf') fails if a directory is empty. (Lcd)
+ * Using ":argadd" when there are no arguments results in the second
+ argument to be the current one. (Yegappan Lakshmanan)
+ * There is no perleval().
+ * Can only get the directory of the current window.
+ * Python None value can't be converted to a Vim value.
+ * Memory leak in :vimgrep.
+
+-------------------------------------------------------------------
Old:
----
v7.4.1087.tar.gz
New:
----
v7.4.1194.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vim.spec ++++++
--- /var/tmp/diff_new_pack.F604HK/_old 2016-01-30 11:31:43.000000000 +0100
+++ /var/tmp/diff_new_pack.F604HK/_new 2016-01-30 11:31:43.000000000 +0100
@@ -17,7 +17,7 @@
%define pkg_version 7.4
-%define patchlevel 1087
+%define patchlevel 1194
%define VIM_SUBDIR vim74
%define site_runtimepath /usr/share/vim/site
%define make make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/current MAKE="make -e" %{?_smp_mflags}
@@ -300,6 +300,7 @@
#
# stupid helper
install -m 0755 %{SOURCE18} %{buildroot}%{_datadir}/vim/current/tools/missing-vim-client
+
# remove unecessary duplicate manpages
rm -rf %{buildroot}%{_mandir}/fr.ISO8859-1/
rm -rf %{buildroot}%{_mandir}/fr.UTF-8/
@@ -315,7 +316,10 @@
# remove some c source files
rm -f %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/*.c
rm -f %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/macros/maze/*.c
-#
+
+# Remove sample server to avoid python dependency
+rm %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/demoserver.py
+
# Create ghost files (see vim.conf)
mkdir -p %{buildroot}/var/run/vi.recover
++++++ v7.4.1087.tar.gz -> v7.4.1194.tar.gz ++++++
/work/SRC/openSUSE:Factory/vim/v7.4.1087.tar.gz /work/SRC/openSUSE:Factory/.vim.new/v7.4.1194.tar.gz differ: char 22, line 1
1
0
Hello community,
here is the log from the commit of package python3-Cython for openSUSE:Factory checked in at 2016-01-30 11:31:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-Cython (Old)
and /work/SRC/openSUSE:Factory/.python3-Cython.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-Cython"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-Cython/python3-Cython.changes 2015-10-22 12:57:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-Cython.new/python3-Cython.changes 2016-01-30 11:31:36.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Jan 28 12:48:45 UTC 2016 - rguenther(a)suse.com
+
+- Add python3-Cython-c++11.patch to fix complex math testcase compile
+ with GCC 6 defaulting to C++14. (bnc#963974)
+
+-------------------------------------------------------------------
New:
----
python3-Cython-c++11.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-Cython.spec ++++++
--- /var/tmp/diff_new_pack.8zaFKp/_old 2016-01-30 11:31:38.000000000 +0100
+++ /var/tmp/diff_new_pack.8zaFKp/_new 2016-01-30 11:31:38.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-Cython
#
-# 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
@@ -25,6 +25,7 @@
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/C/Cython/Cython-%{version}.tar.gz
Source1: python3-Cython-rpmlintrc
+Patch1: python3-Cython-c++11.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: fdupes
BuildRequires: gcc-c++
@@ -52,6 +53,7 @@
%prep
%setup -q -n Cython-%{version}
+%patch1
sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py # Fix non-executable scripts
# Fix EOL encoding
sed -i "s|\r||" Demos/callback/{README.txt,cheesefinder.h} Demos/embed/Makefile.{unix,msc.static} Doc/primes.c # Fix EOL encoding
++++++ python3-Cython-c++11.patch ++++++
--- Cython/Compiler/PyrexTypes.py.orig 2016-01-28 12:06:29.060198431 +0000
+++ Cython/Compiler/PyrexTypes.py 2016-01-28 12:07:24.296842892 +0000
@@ -1930,7 +1930,7 @@
#define __Pyx_CIMAG(z) ((z).imag)
#endif
-#if (defined(_WIN32) || defined(__clang__)) && defined(__cplusplus) && CYTHON_CCOMPLEX
+#if defined(__cplusplus) && (defined(_WIN32) || defined(__clang__) || __cplusplus >= 201103L) && CYTHON_CCOMPLEX
#define __Pyx_SET_CREAL(z,x) ((z).real(x))
#define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
#else
1
0
Hello community,
here is the log from the commit of package python3-six for openSUSE:Factory checked in at 2016-01-30 11:31:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-six (Old)
and /work/SRC/openSUSE:Factory/.python3-six.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-six"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-six/python3-six.changes 2016-01-23 01:04:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-six.new/python3-six.changes 2016-01-30 11:31:31.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Jan 28 11:06:19 UTC 2016 - tchvatal(a)suse.com
+
+- Fix issue with directory -> folder cpio error
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-six-doc.spec ++++++
--- /var/tmp/diff_new_pack.3JPvLg/_old 2016-01-30 11:31:32.000000000 +0100
+++ /var/tmp/diff_new_pack.3JPvLg/_new 2016-01-30 11:31:32.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-six-doc
#
-# 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
++++++ python3-six.spec ++++++
--- /var/tmp/diff_new_pack.3JPvLg/_old 2016-01-30 11:31:32.000000000 +0100
+++ /var/tmp/diff_new_pack.3JPvLg/_new 2016-01-30 11:31:32.000000000 +0100
@@ -50,6 +50,14 @@
# %check
# python3 test_six.py
+%pre
+# previous versions of the package installed .egg-info as a directory,
+# the new update now installs it as a file. Clean out the directory, should it
+# exist.
+if [ -d %{python3_sitelib}/six-%{version}-py%{py3_ver}.egg-info ]; then
+ rm -rf %{python3_sitelib}/six-%{version}-py%{py3_ver}.egg-info
+fi
+
%files
%defattr(-,root,root)
%doc LICENSE README
1
0
Hello community,
here is the log from the commit of package python3-Twisted for openSUSE:Factory checked in at 2016-01-30 11:31:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-Twisted (Old)
and /work/SRC/openSUSE:Factory/.python3-Twisted.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-Twisted"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-Twisted/python3-Twisted.changes 2015-10-20 16:22:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-Twisted.new/python3-Twisted.changes 2016-01-30 11:31:27.000000000 +0100
@@ -1,0 +2,65 @@
+Tue Dec 1 00:08:12 UTC 2015 - arun(a)gmx.de
+
+- specfile:
+ * README is now a .rst files
+ * added CONTRIBUTING to %doc
+ * packaged twistd
+
+- update to version 15.5.0:
+ * Features
+ + twisted.python.url is a new abstraction for URLs, supporting RFC
+ 3987 IRIs. (#5388)
+ + twisted.python.logfile is now ported to Python 3. (#6749)
+ + twisted.python.zippath has been ported to Python 3. (#6917)
+ + twisted.internet.ssl.CertificateOptions and
+ twisted.internet.ssl.optionsForClientTLS now take a
+ acceptableProtocols parameter that enables negotiation of the next
+ protocol to speak after the TLS handshake has completed. This field
+ advertises protocols over both NPN and ALPN. Also added new
+ INegotiated interface for TLS interfaces that support protocol
+ negotiation. This interface adds a negotiatedProtocol property that
+ reports what protocol, if any, was negotiated in the TLS handshake.
+ (#7860)
+ + twisted.python.urlpath.URLPath now operates correctly on Python 3,
+ using bytes instead of strings, and introduces the fromBytes
+ constructor to assist with creating them cross-version. (#7994)
+ + twisted.application.strports is now ported to Python 3. (#8011)
+ + twistd (the Twisted Daemon) is now ported to Python 3. (#8012)
+ + Python 3.5 is now supported on POSIX platforms. (#8042)
+ + twisted.internet.serialport is now ported on Python 3. (#8099)
+ * Bugfixes
+ + twisted.logger.formatEvent now can format an event if it was
+ flattened (twisted.logger.eventAsJSON does this) and has text after
+ the last replacement field. (#8003)
+ + twisted.cred.checkers.FilePasswordDB now logs an error if the
+ credentials db file does not exist, no longer raises an unhandled
+ error. (#8028)
+ + twisted.python.threadpool.ThreadPool now properly starts enough
+ threads to do any work scheduled before ThreadPool.start() is
+ called, such as when work is scheduled in the reactor via
+ reactor.callInThread() before reactor.run(). (#8090)
+ * Improved Documentation
+ + Twisted Development test standard documentation now contain
+ information about avoiding test data files. (#6535)
+ + The documentation for twisted.internet.defer.DeferredSemaphore now
+ describes the actual usage for limit and tokens instance
+ attributes. (#8024)
+ * Deprecations and Removals
+ + twisted.python._initgroups, a C extension, has been removed and
+ stdlib support is now always used instead. (#5861)
+ + Python 2.6 is no longer supported. (#8017)
+ + twisted.python.util.OrderedDict is now deprecated, and uses of it
+ in Twisted are replaced with collections.OrderedDict. (#8051)
+ + twisted.persisted.sob.load, twisted.persisted.sob.loadValueFromFile
+ and twisted.persisted.sob.Persistent.save() are now deprecated when
+ used with a passphrase. The encyption used by these methods are
+ weak. (#8081)
+ + twisted.internet.interfaces.IStreamClientEndpointStringParser has
+ been removed and Twisted will no longer use parsers implementing
+ this interface. (#8094)
+ * Other
+ + #5976, #6628, #6894, #6980, #7228, #7693, #7731, #7997, #8046,
+ #8054, #8056, #8060, #8063, #8064, #8068, #8072, #8091, #8095,
+ #8096, #8098, #8106
+
+-------------------------------------------------------------------
Old:
----
Twisted-15.4.0.tar.bz2
New:
----
Twisted-15.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-Twisted.spec ++++++
--- /var/tmp/diff_new_pack.6u0IPE/_old 2016-01-30 11:31:28.000000000 +0100
+++ /var/tmp/diff_new_pack.6u0IPE/_new 2016-01-30 11:31:28.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-Twisted
#
-# 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
@@ -17,7 +17,7 @@
Name: python3-Twisted
-Version: 15.4.0
+Version: 15.5.0
Release: 0
Url: http://twistedmatrix.com/
Summary: An asynchronous networking framework written in Python
@@ -73,8 +73,7 @@
# Prepare for update-alternatives usage
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-for p in trial ; do
-# Only trial supports Python 3 right now, others are coming
+for p in trial twistd; do
# for p in cftp ckeygen conch mailmail manhole pyhtmlizer tap2deb tap2rpm tkconch trial twistd ; do
mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{py3_ver}
ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
@@ -103,7 +102,8 @@
--slave %{_mandir}/man1/tap2deb.1.gz tap2deb.1.gz %{_mandir}/man1/tap2deb-%{py3_ver}.1.gz \
--slave %{_mandir}/man1/tap2rpm.1.gz tap2rpm.1.gz %{_mandir}/man1/tap2rpm-%{py3_ver}.1.gz \
--slave %{_mandir}/man1/tkconch.1.gz tkconch.1.gz %{_mandir}/man1/ctkconchftp-%{py3_ver}.1.gz \
- --slave %{_mandir}/man1/twistd.1.gz twistd.1.gz %{_mandir}/man1/twistd-%{py3_ver}.1.gz
+ --slave %{_mandir}/man1/twistd.1.gz twistd.1.gz %{_mandir}/man1/twistd-%{py3_ver}.1.gz \
+ --slave %{_bindir}/twistd twistd %{_bindir}/twistd-%{py3_ver}
# The remainder don't support Python 3.x yet:
# --slave %{_bindir}/cftp cftp %{_bindir}/cftp-%{py3_ver} \
@@ -115,11 +115,11 @@
# --slave %{_bindir}/tap2deb tap2deb %{_bindir}/tap2deb-%{py3_ver} \
# --slave %{_bindir}/tap2rpm tap2rpm %{_bindir}/tap2rpm-%{py3_ver} \
# --slave %{_bindir}/tkconch tkconch %{_bindir}/tkconch-%{py3_ver} \
-# --slave %{_bindir}/twistd twistd %{_bindir}/twistd-%{py3_ver} \
%postun
if [ $1 -eq 0 ] ; then
%_sbindir/update-alternatives --remove trial %{_bindir}/trial-%{py3_ver}
+ %_sbindir/update-alternatives --remove twistd %{_bindir}/twistd-%{py3_ver}
fi
%files doc
@@ -128,7 +128,7 @@
%files
%defattr(-,root,root,-)
-%doc LICENSE NEWS README
+%doc CONTRIBUTING LICENSE NEWS README.rst
# %{_bindir}/cftp
# %{_bindir}/ckeygen
# %{_bindir}/conch
@@ -139,7 +139,7 @@
# %{_bindir}/tap2rpm
# %{_bindir}/tkconch
%{_bindir}/trial
-# %{_bindir}/twistd
+%{_bindir}/twistd
# %{_bindir}/cftp-%{py3_ver}
# %{_bindir}/ckeygen-%{py3_ver}
# %{_bindir}/conch-%{py3_ver}
@@ -150,7 +150,7 @@
# %{_bindir}/tap2rpm-%{py3_ver}
# %{_bindir}/tkconch-%{py3_ver}
%{_bindir}/trial-%{py3_ver}
-# %{_bindir}/twistd-%{py3_ver}
+%{_bindir}/twistd-%{py3_ver}
%{_mandir}/man1/cftp.1.gz
%{_mandir}/man1/ckeygen.1.gz
%{_mandir}/man1/conch.1.gz
@@ -183,7 +183,7 @@
# %ghost %{_sysconfdir}/alternatives/tap2rpm
# %ghost %{_sysconfdir}/alternatives/tkconch
%ghost %{_sysconfdir}/alternatives/trial
-# %ghost %{_sysconfdir}/alternatives/twistd
+%ghost %{_sysconfdir}/alternatives/twistd
%ghost %{_sysconfdir}/alternatives/cftp.1.gz
%ghost %{_sysconfdir}/alternatives/ckeygen.1.gz
%ghost %{_sysconfdir}/alternatives/conch.1.gz
++++++ Twisted-15.4.0.tar.bz2 -> Twisted-15.5.0.tar.bz2 ++++++
++++ 31337 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python3-kombu for openSUSE:Factory checked in at 2016-01-30 11:31:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-kombu (Old)
and /work/SRC/openSUSE:Factory/.python3-kombu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-kombu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-kombu/python3-kombu.changes 2015-11-02 12:55:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-kombu.new/python3-kombu.changes 2016-01-30 11:31:23.000000000 +0100
@@ -1,0 +2,36 @@
+Wed Jan 27 04:42:10 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+
+- update to version 3.0.33:
+ * Now depends on :mod:`amqp` 1.4.9.
+ * Redis: Fixed problem with auxilliary connections causing the main
+ consumer connection to be closed (Issue #550).
+ * Qpid: No longer uses threads to operate, to ensure compatibility
+ with all environments (Issue #531).
+
+- changes from version 3.0.32:
+ * Redis: Fixed bug introduced in 3.0.31 where the redis transport
+ always connects to localhost, regardless of host setting.
+
+- changes from version 3.0.31:
+ * Redis: Fixed bug introduced in 3.0.30 where socket was prematurely
+ disconnected.
+ * Hub: Removed debug logging message: "Deregistered fd..." (Issue
+ #549).
+
+- changes from version 3.0.30:
+ * Fixes compatiblity with uuid in Python 2.7.11 and 3.5.1. Fix
+ contributed by Kai Groner.
+ * Redis transport: Attempt at fixing problem with hanging consumer
+ disconnected from server.
+ * Event loop: Attempt at fixing issue with 100% CPU when using the
+ Redis transport,
+ * Database transport: Fixed oracle compatiblity. An "ORA-00907:
+ missing right parenthesis" error could manifest when using an
+ Oracle database with the database transport. Fix contributed by
+ Deepak N.
+ * Documentation fixes Contributed by Tommaso Barbugli.
+
+-------------------------------------------------------------------
Old:
----
kombu-3.0.29.tar.gz
New:
----
kombu-3.0.33.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-kombu.spec ++++++
--- /var/tmp/diff_new_pack.IiprJn/_old 2016-01-30 11:31:24.000000000 +0100
+++ /var/tmp/diff_new_pack.IiprJn/_new 2016-01-30 11:31:24.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-kombu
#
-# 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
@@ -17,7 +17,7 @@
Name: python3-kombu
-Version: 3.0.29
+Version: 3.0.33
Release: 0
Summary: AMQP Messaging Framework for Python
License: BSD-3-Clause
++++++ kombu-3.0.29.tar.gz -> kombu-3.0.33.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/AUTHORS new/kombu-3.0.33/AUTHORS
--- old/kombu-3.0.29/AUTHORS 2015-10-26 18:58:25.000000000 +0100
+++ new/kombu-3.0.33/AUTHORS 2016-01-08 23:35:32.000000000 +0100
@@ -49,10 +49,13 @@
Franck Cuny <fcuny(a)saymedia.com>
Germán M. Bravo <german.mb(a)gmail.com>
Gregory Haskins <greg(a)greghaskins.com>
+Hank John <jindongh(a)gmail.com>
+haridsv
Hong Minhee <minhee(a)dahlia.kr>
Ian Eure <ian.eure(a)gmail.com>
Ian Struble <istruble(a)gmail.com>
Ionel Maries Cristian <contact(a)ionelmc.ro>
+iSlava <sig.crea(a)gmail.com>
James Saryerwinnie <js(a)jamesls.com>
James Turk <james.p.turk(a)gmail.com>
Jason Cater <jason(a)ncsfulfillment.com>
@@ -66,6 +69,8 @@
John Watson <john(a)disqus.com>
Jonathan Halcrow <jonathan.halcrow(a)gmail.com>
Joseph Crosland <jcrosland(a)flumotion.com>
+Joshua Harlow <harlowja(a)gmail.com>
+Kai Groner <kai(a)gronr.com>
Keith Fitzgerald <ghostrocket(a)me.com>
Kevin McCarthy <me(a)kevinmccarthy.org>
Kevin McDonald <k3vinmcdonald(a)gmail.com>
@@ -74,8 +79,10 @@
Mahendra M <Mahendra_M(a)infosys.com>
Marcin Lulek (ergo) <info(a)webreactor.eu>
Mark Lavin <mlavin(a)caktusgroup.com>
+markow <markow(a)red-sky.pl>
Matt Wise <wise(a)wiredgeek.net>
Maxime Rouyrre <rouyrre+git(a)gmail.com>
+mdk <luc.mdk(a)gmail.com>
Mher Movsisyan <mher.movsisyan(a)gmail.com>
Michael Barrett <mb(a)eventbrite.com>
Michael Nelson <michaeln(a)telesign.com>
@@ -123,6 +130,3 @@
Vincent Driessen <vincent(a)datafox.nl>
Zach Smith <zmsmith27(a)gmail.com>
Zhao Xiaohong <mrluanma(a)gmail.com>
-haridsv
-iSlava <sig.crea(a)gmail.com>
-markow <markow(a)red-sky.pl>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/Changelog new/kombu-3.0.33/Changelog
--- old/kombu-3.0.29/Changelog 2015-10-26 19:10:33.000000000 +0100
+++ new/kombu-3.0.33/Changelog 2016-01-09 03:36:24.000000000 +0100
@@ -4,6 +4,71 @@
Change history
================
+.. _version-3.0.33:
+
+3.0.33
+======
+:release-date: 2016-01-08 06:36 P.M PST
+:release-by: Ask Solem
+
+- Now depends on :mod:`amqp` 1.4.9.
+
+- Redis: Fixed problem with auxilliary connections causing the main
+ consumer connection to be closed (Issue #550).
+
+- Qpid: No longer uses threads to operate, to ensure compatibility with
+ all environments (Issue #531).
+
+.. _version-3.0.32:
+
+3.0.32
+======
+:release-date: 2015-12-16 02:29 P.M PST
+:release-by: Ask Solem
+
+- Redis: Fixed bug introduced in 3.0.31 where the redis transport always
+ connects to localhost, regardless of host setting.
+
+.. _version-3.0.31:
+
+3.0.31
+======
+:release-date: 2015-12-16 12:00 P.M PST
+:release-by: Ask Solem
+
+- Redis: Fixed bug introduced in 3.0.30 where socket was prematurely
+ disconnected.
+
+- Hub: Removed debug logging message: "Deregistered fd..." (Issue #549).
+
+.. _version-3.0.30:
+
+3.0.30
+======
+:release-date: 2015-12-07 12:28 A.M PST
+:release-by: Ask Solem
+
+- Fixes compatiblity with uuid in Python 2.7.11 and 3.5.1.
+
+ Fix contributed by Kai Groner.
+
+- Redis transport: Attempt at fixing problem with hanging consumer
+ after disconnected from server.
+
+- Event loop:
+ Attempt at fixing issue with 100% CPU when using the Redis transport,
+
+- Database transport: Fixed oracle compatiblity.
+
+ An "ORA-00907: missing right parenthesis" error could manifest when using
+ an Oracle database with the database transport.
+
+ Fix contributed by Deepak N.
+
+- Documentation fixes
+
+ Contributed by Tommaso Barbugli.
+
.. _version-3.0.29:
3.0.29
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/PKG-INFO new/kombu-3.0.33/PKG-INFO
--- old/kombu-3.0.29/PKG-INFO 2015-10-26 19:13:16.000000000 +0100
+++ new/kombu-3.0.33/PKG-INFO 2016-01-09 03:38:13.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: kombu
-Version: 3.0.29
+Version: 3.0.33
Summary: Messaging library for Python
Home-page: http://kombu.readthedocs.org
Author: Ask Solem
@@ -12,7 +12,7 @@
kombu - Messaging library for Python
========================================
- :Version: 3.0.29
+ :Version: 3.0.33
`Kombu` is a messaging library for Python.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/README.rst new/kombu-3.0.33/README.rst
--- old/kombu-3.0.29/README.rst 2015-10-26 19:10:16.000000000 +0100
+++ new/kombu-3.0.33/README.rst 2016-01-09 03:12:59.000000000 +0100
@@ -4,7 +4,7 @@
kombu - Messaging library for Python
========================================
-:Version: 3.0.29
+:Version: 3.0.33
`Kombu` is a messaging library for Python.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/docs/changelog.rst new/kombu-3.0.33/docs/changelog.rst
--- old/kombu-3.0.29/docs/changelog.rst 2015-10-26 19:10:33.000000000 +0100
+++ new/kombu-3.0.33/docs/changelog.rst 2016-01-09 03:36:24.000000000 +0100
@@ -4,6 +4,71 @@
Change history
================
+.. _version-3.0.33:
+
+3.0.33
+======
+:release-date: 2016-01-08 06:36 P.M PST
+:release-by: Ask Solem
+
+- Now depends on :mod:`amqp` 1.4.9.
+
+- Redis: Fixed problem with auxilliary connections causing the main
+ consumer connection to be closed (Issue #550).
+
+- Qpid: No longer uses threads to operate, to ensure compatibility with
+ all environments (Issue #531).
+
+.. _version-3.0.32:
+
+3.0.32
+======
+:release-date: 2015-12-16 02:29 P.M PST
+:release-by: Ask Solem
+
+- Redis: Fixed bug introduced in 3.0.31 where the redis transport always
+ connects to localhost, regardless of host setting.
+
+.. _version-3.0.31:
+
+3.0.31
+======
+:release-date: 2015-12-16 12:00 P.M PST
+:release-by: Ask Solem
+
+- Redis: Fixed bug introduced in 3.0.30 where socket was prematurely
+ disconnected.
+
+- Hub: Removed debug logging message: "Deregistered fd..." (Issue #549).
+
+.. _version-3.0.30:
+
+3.0.30
+======
+:release-date: 2015-12-07 12:28 A.M PST
+:release-by: Ask Solem
+
+- Fixes compatiblity with uuid in Python 2.7.11 and 3.5.1.
+
+ Fix contributed by Kai Groner.
+
+- Redis transport: Attempt at fixing problem with hanging consumer
+ after disconnected from server.
+
+- Event loop:
+ Attempt at fixing issue with 100% CPU when using the Redis transport,
+
+- Database transport: Fixed oracle compatiblity.
+
+ An "ORA-00907: missing right parenthesis" error could manifest when using
+ an Oracle database with the database transport.
+
+ Fix contributed by Deepak N.
+
+- Documentation fixes
+
+ Contributed by Tommaso Barbugli.
+
.. _version-3.0.29:
3.0.29
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/docs/introduction.rst new/kombu-3.0.33/docs/introduction.rst
--- old/kombu-3.0.29/docs/introduction.rst 2015-10-26 19:10:16.000000000 +0100
+++ new/kombu-3.0.33/docs/introduction.rst 2016-01-09 03:12:59.000000000 +0100
@@ -4,7 +4,7 @@
kombu - Messaging library for Python
========================================
-:Version: 3.0.29
+:Version: 3.0.33
`Kombu` is a messaging library for Python.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/docs/userguide/pools.rst new/kombu-3.0.33/docs/userguide/pools.rst
--- old/kombu-3.0.29/docs/userguide/pools.rst 2015-10-26 18:43:46.000000000 +0100
+++ new/kombu-3.0.33/docs/userguide/pools.rst 2016-01-08 23:35:32.000000000 +0100
@@ -155,7 +155,7 @@
from kombu import pools
from kombu import Connection
- connections = pools.Connection(limit=100)
+ connections = pools.Connections(limit=100)
producers = pools.Producers(limit=connections.limit)
connection = Connection('amqp://guest:guest@localhost:5672//')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/docs/userguide/serialization.rst new/kombu-3.0.33/docs/userguide/serialization.rst
--- old/kombu-3.0.29/docs/userguide/serialization.rst 2015-10-26 18:43:46.000000000 +0100
+++ new/kombu-3.0.33/docs/userguide/serialization.rst 2016-01-08 23:35:32.000000000 +0100
@@ -106,10 +106,10 @@
======================================
In some cases, you don't need your message data to be serialized. If you
-pass in a plain string or Unicode object as your message, then `Kombu` will
+pass in a plain string or Unicode object as your message and a custom `content_type`, then `Kombu` will
not waste cycles serializing/deserializing the data.
-You can optionally specify a `content_type` and `content_encoding`
+You can optionally specify a `content_encoding`
for the raw data::
>>> with open("~/my_picture.jpg", "rb") as fh:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/extra/appveyor/install.ps1 new/kombu-3.0.33/extra/appveyor/install.ps1
--- old/kombu-3.0.29/extra/appveyor/install.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/kombu-3.0.33/extra/appveyor/install.ps1 2015-12-30 00:12:28.000000000 +0100
@@ -0,0 +1,85 @@
+# Sample script to install Python and pip under Windows
+# Authors: Olivier Grisel and Kyle Kastner
+# License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
+
+$BASE_URL = "https://www.python.org/ftp/python/"
+$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
+$GET_PIP_PATH = "C:\get-pip.py"
+
+
+function DownloadPython ($python_version, $platform_suffix) {
+ $webclient = New-Object System.Net.WebClient
+ $filename = "python-" + $python_version + $platform_suffix + ".msi"
+ $url = $BASE_URL + $python_version + "/" + $filename
+
+ $basedir = $pwd.Path + "\"
+ $filepath = $basedir + $filename
+ if (Test-Path $filename) {
+ Write-Host "Reusing" $filepath
+ return $filepath
+ }
+
+ # Download and retry up to 5 times in case of network transient errors.
+ Write-Host "Downloading" $filename "from" $url
+ $retry_attempts = 3
+ for($i=0; $i -lt $retry_attempts; $i++){
+ try {
+ $webclient.DownloadFile($url, $filepath)
+ break
+ }
+ Catch [Exception]{
+ Start-Sleep 1
+ }
+ }
+ Write-Host "File saved at" $filepath
+ return $filepath
+}
+
+
+function InstallPython ($python_version, $architecture, $python_home) {
+ Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
+ if (Test-Path $python_home) {
+ Write-Host $python_home "already exists, skipping."
+ return $false
+ }
+ if ($architecture -eq "32") {
+ $platform_suffix = ""
+ } else {
+ $platform_suffix = ".amd64"
+ }
+ $filepath = DownloadPython $python_version $platform_suffix
+ Write-Host "Installing" $filepath "to" $python_home
+ $args = "/qn /i $filepath TARGETDIR=$python_home"
+ Write-Host "msiexec.exe" $args
+ Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
+ Write-Host "Python $python_version ($architecture) installation complete"
+ return $true
+}
+
+
+function InstallPip ($python_home) {
+ $pip_path = $python_home + "/Scripts/pip.exe"
+ $python_path = $python_home + "/python.exe"
+ if (-not(Test-Path $pip_path)) {
+ Write-Host "Installing pip..."
+ $webclient = New-Object System.Net.WebClient
+ $webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
+ Write-Host "Executing:" $python_path $GET_PIP_PATH
+ Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
+ } else {
+ Write-Host "pip already installed."
+ }
+}
+
+function InstallPackage ($python_home, $pkg) {
+ $pip_path = $python_home + "/Scripts/pip.exe"
+ & $pip_path install $pkg
+}
+
+function main () {
+ InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON
+ InstallPip $env:PYTHON
+ InstallPackage $env:PYTHON wheel
+}
+
+main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/extra/appveyor/run_with_compiler.cmd new/kombu-3.0.33/extra/appveyor/run_with_compiler.cmd
--- old/kombu-3.0.29/extra/appveyor/run_with_compiler.cmd 1970-01-01 01:00:00.000000000 +0100
+++ new/kombu-3.0.33/extra/appveyor/run_with_compiler.cmd 2015-12-30 00:12:28.000000000 +0100
@@ -0,0 +1,47 @@
+:: To build extensions for 64 bit Python 3, we need to configure environment
+:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
+::
+:: To build extensions for 64 bit Python 2, we need to configure environment
+:: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
+::
+:: 32 bit builds do not require specific environment configurations.
+::
+:: Note: this script needs to be run with the /E:ON and /V:ON flags for the
+:: cmd interpreter, at least for (SDK v7.0)
+::
+:: More details at:
+:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
+:: http://stackoverflow.com/a/13751649/163740
+::
+:: Author: Olivier Grisel
+:: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
+@ECHO OFF
+
+SET COMMAND_TO_RUN=%*
+SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
+
+SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
+IF %MAJOR_PYTHON_VERSION% == "2" (
+ SET WINDOWS_SDK_VERSION="v7.0"
+) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
+ SET WINDOWS_SDK_VERSION="v7.1"
+) ELSE (
+ ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
+ EXIT 1
+)
+
+IF "%PYTHON_ARCH%"=="64" (
+ ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
+ SET DISTUTILS_USE_SDK=1
+ SET MSSdk=1
+ "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
+ "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
+ ECHO Executing: %COMMAND_TO_RUN%
+ call %COMMAND_TO_RUN% || EXIT 1
+) ELSE (
+ ECHO Using default MSVC build environment for 32 bit architecture
+ ECHO Executing: %COMMAND_TO_RUN%
+ call %COMMAND_TO_RUN% || EXIT 1
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/__init__.py new/kombu-3.0.33/kombu/__init__.py
--- old/kombu-3.0.29/kombu/__init__.py 2015-10-26 19:10:12.000000000 +0100
+++ new/kombu-3.0.33/kombu/__init__.py 2016-01-09 03:12:55.000000000 +0100
@@ -11,7 +11,7 @@
'version_info_t', ('major', 'minor', 'micro', 'releaselevel', 'serial'),
)
-VERSION = version_info_t(3, 0, 29, '', '')
+VERSION = version_info_t(3, 0, 33, '', '')
__version__ = '{0.major}.{0.minor}.{0.micro}{0.releaselevel}'.format(VERSION)
__author__ = 'Ask Solem'
__contact__ = 'ask(a)celeryproject.org'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/async/hub.py new/kombu-3.0.33/kombu/async/hub.py
--- old/kombu-3.0.29/kombu/async/hub.py 2015-10-26 18:43:46.000000000 +0100
+++ new/kombu-3.0.33/kombu/async/hub.py 2016-01-08 23:35:32.000000000 +0100
@@ -30,6 +30,10 @@
_current_loop = None
+W_UNKNOWN_EVENT = """\
+Received unknown event %r for fd %r, please contact support!\
+"""
+
class Stop(BaseException):
"""Stops the event loop."""
@@ -146,12 +150,18 @@
logger.error('Error in timer: %r', exc, exc_info=1)
return min(delay or min_delay, max_delay)
+ def _remove_from_loop(self, fd):
+ try:
+ self._unregister(fd)
+ finally:
+ self._discard(fd)
+
def add(self, fd, callback, flags, args=(), consolidate=False):
fd = fileno(fd)
try:
self.poller.register(fd, flags)
except ValueError:
- self._discard(fd)
+ self._remove_from_loop(fd)
raise
else:
dest = self.readers if flags & READ else self.writers
@@ -163,8 +173,7 @@
def remove(self, fd):
fd = fileno(fd)
- self._unregister(fd)
- self._discard(fd)
+ self._remove_from_loop(fd)
def run_forever(self):
self._running = True
@@ -207,8 +216,7 @@
writable = fd in self.writers
on_write = self.writers.get(fd)
try:
- self._unregister(fd)
- self._discard(fd)
+ self._remove_from_loop(fd)
finally:
if writable:
cb, args = on_write
@@ -218,8 +226,7 @@
readable = fd in self.readers
on_read = self.readers.get(fd)
try:
- self._unregister(fd)
- self._discard(fd)
+ self._remove_from_loop(fd)
finally:
if readable:
cb, args = on_read
@@ -280,6 +287,7 @@
raise StopIteration()
for fd, event in events or ():
+ general_error = False
if fd in consolidate and \
writers.get(fd) is None:
to_consolidate.append(fd)
@@ -299,6 +307,12 @@
self.remove_writer(fd)
continue
elif event & ERR:
+ general_error = True
+ else:
+ logger.info(W_UNKNOWN_EVENT, event, fd)
+ general_error = True
+
+ if general_error:
try:
cb, cbargs = (readers.get(fd) or
writers.get(fd))
@@ -306,7 +320,9 @@
pass
if cb is None:
+ self.remove(fd)
continue
+
if isinstance(cb, generator):
try:
next(cb)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/five.py new/kombu-3.0.33/kombu/five.py
--- old/kombu-3.0.29/kombu/five.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/five.py 2016-01-08 23:35:32.000000000 +0100
@@ -41,13 +41,12 @@
import platform
SYSTEM = platform.system()
- has_ctypes = True
try:
import ctypes
- except ImportError:
- has_ctypes = False
+ except ImportError: # pragma: no cover
+ ctypes = None # noqa
- if SYSTEM == 'Darwin' and has_ctypes:
+ if SYSTEM == 'Darwin' and ctypes is not None:
from ctypes.util import find_library
libSystem = ctypes.CDLL(find_library('libSystem.dylib'))
CoreServices = ctypes.CDLL(find_library('CoreServices'),
@@ -61,7 +60,7 @@
def _monotonic():
return absolute_to_nanoseconds(mach_absolute_time()) * 1e-9
- elif SYSTEM == 'Linux' and has_ctypes:
+ elif SYSTEM == 'Linux' and ctypes is not None:
# from stackoverflow:
# questions/1205722/how-do-i-get-monotonic-time-durations-in-python
import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/tests/transport/test_qpid.py new/kombu-3.0.33/kombu/tests/transport/test_qpid.py
--- old/kombu-3.0.29/kombu/tests/transport/test_qpid.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/tests/transport/test_qpid.py 2016-01-08 23:35:32.000000000 +0100
@@ -4,7 +4,6 @@
import ssl
import socket
import sys
-import threading
import time
from collections import Callable
@@ -16,7 +15,7 @@
from kombu.five import Empty, keys, range, monotonic
from kombu.transport.qpid import (AuthenticationFailure, Channel, Connection,
ConnectionError, Message, NotFound, QoS,
- ReceiversMonitor, Transport)
+ Transport)
from kombu.transport.virtual import Base64
from kombu.tests.case import Case, Mock, case_no_pypy, case_no_python3
from kombu.tests.case import patch
@@ -855,9 +854,9 @@
self.mock_queue = Mock()
def tearDown(self):
- self.mock__has_queue.stop()
- self.mock__size.stop()
- self.mock__delete.stop()
+ self.patch__has_queue.stop()
+ self.patch__size.stop()
+ self.patch__delete.stop()
super(TestChannelQueueDelete, self).tearDown()
def test_checks_if_queue_exists(self):
@@ -1397,164 +1396,6 @@
@case_no_python3
@case_no_pypy
-class ReceiversMonitorTestBase(Case):
-
- def setUp(self):
- self.mock_session = Mock()
- self.mock_w = Mock()
- self.monitor = ReceiversMonitor(self.mock_session, self.mock_w)
-
-
-@case_no_python3
-@case_no_pypy
-class TestReceiversMonitorType(ReceiversMonitorTestBase):
-
- def test_qpid_messaging_receivers_monitor_subclass_of_threading(self):
- self.assertIsInstance(self.monitor, threading.Thread)
-
-
-@case_no_python3
-@case_no_pypy
-class TestReceiversMonitorInit(ReceiversMonitorTestBase):
-
- def setUp(self):
- thread___init___str = QPID_MODULE + '.threading.Thread.__init__'
- self.patch_parent___init__ = patch(thread___init___str)
- self.mock_Thread___init__ = self.patch_parent___init__.start()
- super(TestReceiversMonitorInit, self).setUp()
-
- def tearDown(self):
- self.patch_parent___init__.stop()
-
- def test_qpid_messaging_receivers_monitor_init_saves_session(self):
- self.assertIs(self.monitor._session, self.mock_session)
-
- def test_qpid_messaging_receivers_monitor_init_saves_fd(self):
- self.assertIs(self.monitor._w_fd, self.mock_w)
-
- def test_qpid_messaging_Receivers_monitor_init_calls_parent__init__(self):
- self.mock_Thread___init__.assert_called_once_with()
-
-
-@case_no_python3
-@case_no_pypy
-class TestReceiversMonitorRun(ReceiversMonitorTestBase):
-
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- def test_receivers_monitor_run_calls_monitor_receivers(
- self, mock_sleep, mock_monitor_receivers):
- mock_sleep.side_effect = BreakOutException()
- with self.assertRaises(BreakOutException):
- self.monitor.run()
- mock_monitor_receivers.assert_called_once_with()
-
- @patch(QPID_MODULE + '.SessionClosed', new=QpidException)
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- def test_receivers_monitor_run_exits_on_session_closed(
- self, mock_sleep, mock_monitor_receivers):
- mock_monitor_receivers.side_effect = QpidException()
- try:
- self.monitor.run()
- except Exception:
- self.fail('No exception should be raised here')
- mock_monitor_receivers.assert_called_once_with()
- mock_sleep.has_calls([])
-
- @patch.object(Transport, 'connection_errors', new=(BreakOutException, ))
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- @patch(QPID_MODULE + '.logger')
- def test_receivers_monitors_run_calls_logs_exception_and_sleeps(
- self, mock_logger, mock_sleep, mock_monitor_receivers):
- exc_to_raise = IOError()
- mock_monitor_receivers.side_effect = exc_to_raise
- mock_sleep.side_effect = BreakOutException()
- with self.assertRaises(BreakOutException):
- self.monitor.run()
- mock_logger.error.assert_called_once_with(exc_to_raise, exc_info=1)
- mock_sleep.assert_called_once_with(10)
-
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- def test_receivers_monitor_run_loops_when_exception_is_raised(
- self, mock_sleep, mock_monitor_receivers):
- def return_once_raise_on_second_call(*args):
- mock_sleep.side_effect = BreakOutException()
- mock_sleep.side_effect = return_once_raise_on_second_call
- with self.assertRaises(BreakOutException):
- self.monitor.run()
- mock_monitor_receivers.has_calls([call(), call()])
-
- @patch.object(Transport, 'recoverable_connection_errors',
- new=(QpidException, ))
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- @patch(QPID_MODULE + '.logger')
- @patch(QPID_MODULE + '.os.write')
- @patch(QPID_MODULE + '.sys.exc_info')
- def test_receivers_monitor_exits_when_recoverable_exception_raised(
- self, mock_sys_exc_info, mock_os_write, mock_logger, mock_sleep,
- mock_monitor_receivers):
- mock_monitor_receivers.side_effect = QpidException()
- mock_sleep.side_effect = BreakOutException()
- self.monitor.run()
- self.assertFalse(mock_logger.error.called)
-
- @patch.object(Transport, 'recoverable_connection_errors',
- new=(QpidException, ))
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- @patch(QPID_MODULE + '.logger')
- @patch(QPID_MODULE + '.os.write')
- def test_receivers_monitor_saves_exception_when_recoverable_exc_raised(
- self, mock_os_write, mock_logger, mock_sleep,
- mock_monitor_receivers):
- mock_monitor_receivers.side_effect = QpidException()
- mock_sleep.side_effect = BreakOutException()
- self.monitor.run()
- self.assertIs(
- self.mock_session.saved_exception,
- mock_monitor_receivers.side_effect,
- )
-
- @patch.object(Transport, 'recoverable_connection_errors',
- new=(QpidException, ))
- @patch.object(ReceiversMonitor, 'monitor_receivers')
- @patch(QPID_MODULE + '.time.sleep')
- @patch(QPID_MODULE + '.logger')
- @patch(QPID_MODULE + '.os.write')
- @patch(QPID_MODULE + '.sys.exc_info')
- def test_receivers_monitor_writes_e_to_pipe_when_recoverable_exc_raised(
- self, mock_sys_exc_info, mock_os_write, mock_logger, mock_sleep,
- mock_monitor_receivers):
- mock_monitor_receivers.side_effect = QpidException()
- mock_sleep.side_effect = BreakOutException()
- self.monitor.run()
- mock_os_write.assert_called_once_with(self.mock_w, 'e')
-
-
-@case_no_python3
-@case_no_pypy
-class TestReceiversMonitorMonitorReceivers(ReceiversMonitorTestBase):
-
- def test_receivers_monitor_monitor_receivers_calls_next_receivers(self):
- self.mock_session.next_receiver.side_effect = BreakOutException()
- with self.assertRaises(BreakOutException):
- self.monitor.monitor_receivers()
- self.mock_session.next_receiver.assert_called_once_with()
-
- def test_receivers_monitor_monitor_receivers_writes_to_fd(self):
- with patch(QPID_MODULE + '.os.write') as mock_os_write:
- mock_os_write.side_effect = BreakOutException()
- with self.assertRaises(BreakOutException):
- self.monitor.monitor_receivers()
- mock_os_write.assert_called_once_with(self.mock_w, '0')
-
-
-@case_no_python3
-@case_no_pypy
@disable_runtime_dependency_check
class TestTransportInit(Case):
@@ -1699,12 +1540,6 @@
self.transport = Transport(self.client)
self.mock_conn = Mock()
self.transport.Connection = self.mock_conn
- path_to_mock = QPID_MODULE + '.ReceiversMonitor'
- self.patcher = patch(path_to_mock)
- self.mock_ReceiverMonitor = self.patcher.start()
-
- def tearDown(self):
- self.patcher.stop()
def test_transport_establish_conn_new_option_overwrites_default(self):
self.client.userid = 'new-userid'
@@ -1863,22 +1698,7 @@
new_conn = self.transport.establish_connection()
self.assertIs(new_conn, self.mock_conn.return_value)
- def test_transport_establish_conn_creates_ReceiversMonitor(self):
- self.transport.establish_connection()
- self.mock_ReceiverMonitor.assert_called_once_with(
- self.transport.session, self.transport._w,
- )
-
- def test_transport_establish_conn_daemonizes_thread(self):
- self.transport.establish_connection()
- self.assertTrue(self.mock_ReceiverMonitor.return_value.daemon)
-
- def test_transport_establish_conn_starts_thread(self):
- self.transport.establish_connection()
- new_receiver_monitor = self.mock_ReceiverMonitor.return_value
- new_receiver_monitor.start.assert_called_once_with()
-
- def test_transport_establish_conn_ignores_hostname_if_not_localhost(self):
+ def test_transport_establish_conn_uses_hostname_if_not_default(self):
self.client.hostname = 'some_other_hostname'
self.transport.establish_connection()
self.mock_conn.assert_called_once_with(
@@ -1889,6 +1709,14 @@
transport='tcp',
)
+ def test_transport_sets_qpid_message_received_handler(self):
+ self.transport.establish_connection()
+ qpid_conn = self.mock_conn.return_value.get_qpid_connection
+ new_mock_session = qpid_conn.return_value.session.return_value
+ mock_set_callback = new_mock_session.set_message_received_handler
+ expected_callback = self.transport._qpid_session_ready
+ mock_set_callback.assert_called_once_with(expected_callback)
+
@case_no_python3
@case_no_pypy
@@ -1941,6 +1769,24 @@
@case_no_python3
@case_no_pypy
@disable_runtime_dependency_check
+class TestTransportQpidSessionReady(Case):
+
+ def setUp(self):
+ self.patch_a = patch(QPID_MODULE + '.os.write')
+ self.mock_os_write = self.patch_a.start()
+ self.transport = Transport(Mock())
+
+ def tearDown(self):
+ self.patch_a.stop()
+
+ def test_transport__qpid_session_ready_writes_symbol_to_fd(self):
+ self.transport._qpid_session_ready()
+ self.mock_os_write.assert_called_once_with(self.transport._w, '0')
+
+
+@case_no_python3
+@case_no_pypy
+@disable_runtime_dependency_check
class TestTransportOnReadable(Case):
def setUp(self):
@@ -1952,6 +1798,7 @@
def tearDown(self):
self.patch_a.stop()
+ self.patch_b.stop()
def test_transport_on_readable_reads_symbol_from_fd(self):
self.transport.on_readable(Mock(), Mock())
@@ -1971,16 +1818,6 @@
with self.assertRaises(IOError):
self.transport.on_readable(Mock(), Mock())
- def test_transport_on_readable_reads_e_off_of_pipe_raises_exc_info(self):
- self.transport.session = Mock()
- try:
- raise IOError()
- except Exception as error:
- self.transport.session.saved_exception = error
- self.mock_os_read.return_value = 'e'
- with self.assertRaises(IOError):
- self.transport.on_readable(Mock(), Mock())
-
@case_no_python3
@case_no_pypy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/tests/transport/test_redis.py new/kombu-3.0.33/kombu/tests/transport/test_redis.py
--- old/kombu-3.0.29/kombu/tests/transport/test_redis.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/tests/transport/test_redis.py 2016-01-09 03:35:11.000000000 +0100
@@ -5,6 +5,7 @@
from anyjson import dumps, loads
from collections import defaultdict
+from contextlib import contextmanager
from itertools import count
from kombu import Connection, Exchange, Queue, Consumer, Producer
@@ -18,6 +19,23 @@
)
+class JSONEqual(object):
+ # The order in which a dict is serialized to json depends on the hashseed
+ # so we have this to support json in .assert_has_call*.
+
+ def __init__(self, expected):
+ self.expected = expected
+
+ def __eq__(self, other):
+ return loads(other) == loads(self.expected)
+
+ def __str__(self):
+ return self.expected
+
+ def __repr__(self):
+ return '(json)%r' % (self.expected,)
+
+
class _poll(eventio._select):
def register(self, fd, flags):
@@ -171,6 +189,9 @@
return self
+ def __repr__(self):
+ return '<MockClient: %r' % (id(self),)
+
class Pipeline(object):
@@ -201,13 +222,21 @@
class Channel(redis.Channel):
+ Client = Client
- def _get_client(self):
+ def _get_async_client(self):
return Client
- def _get_pool(self):
+ def _create_client(self, async=False):
+ return Client()
+
+ def _get_pool(self, async=False):
return Mock()
+ @contextmanager
+ def conn_or_acquire(self, client=None):
+ yield client if client is not None else self._create_client()
+
def _get_response_error(self):
return ResponseError
@@ -280,8 +309,8 @@
self._pool = pool_at_init[0]
super(XChannel, self).__init__(*args, **kwargs)
- def _get_client(self):
- return lambda *_, **__: client
+ def _create_client(self, async=False):
+ return client
class XTransport(Transport):
Channel = XChannel
@@ -302,9 +331,9 @@
self.channel._pool = None
self.channel._after_fork()
- self.channel._pool = Mock(name='pool')
+ pool = self.channel._pool = Mock(name='pool')
self.channel._after_fork()
- self.channel._pool.disconnect.assert_called_with()
+ pool.disconnect.assert_called_with()
def test_next_delivery_tag(self):
self.assertNotEqual(
@@ -332,8 +361,10 @@
self.channel._do_restore_message(
pl2, 'ex', 'rkey', client,
)
+
client.rpush.assert_has_calls([
- call('george', spl2), call('elaine', spl2),
+ call('george', JSONEqual(spl2)),
+ call('elaine', JSONEqual(spl2)),
])
client.rpush.side_effect = KeyError()
@@ -347,7 +378,8 @@
message = Mock(name='message')
with patch('kombu.transport.redis.loads') as loads:
loads.return_value = 'M', 'EX', 'RK'
- client = self.channel.client = Mock(name='client')
+ client = self.channel._create_client = Mock(name='client')
+ client = client()
client.pipeline = ContextMock()
restore = self.channel._do_restore_message = Mock(
name='_do_restore_message',
@@ -376,7 +408,8 @@
restore.assert_called_with('M', 'EX', 'RK', client, False)
def test_qos_restore_visible(self):
- client = self.channel.client = Mock(name='client')
+ client = self.channel._create_client = Mock(name='client')
+ client = client()
def pipe(*args, **kwargs):
return Pipeline(client)
@@ -556,36 +589,37 @@
def test_put_fanout(self):
self.channel._in_poll = False
- c = self.channel.client = Mock()
+ c = self.channel._create_client = Mock()
body = {'hello': 'world'}
self.channel._put_fanout('exchange', body, '')
- c.publish.assert_called_with('exchange', dumps(body))
+ c().publish.assert_called_with('exchange', JSONEqual(dumps(body)))
def test_put_priority(self):
- client = self.channel.client = Mock(name='client')
+ client = self.channel._create_client = Mock(name='client')
msg1 = {'properties': {'delivery_info': {'priority': 3}}}
self.channel._put('george', msg1)
- client.lpush.assert_called_with(
- self.channel._q_for_pri('george', 3), dumps(msg1),
+ client().lpush.assert_called_with(
+ self.channel._q_for_pri('george', 3), JSONEqual(dumps(msg1)),
)
msg2 = {'properties': {'delivery_info': {'priority': 313}}}
self.channel._put('george', msg2)
- client.lpush.assert_called_with(
- self.channel._q_for_pri('george', 9), dumps(msg2),
+ client().lpush.assert_called_with(
+ self.channel._q_for_pri('george', 9), JSONEqual(dumps(msg2)),
)
msg3 = {'properties': {'delivery_info': {}}}
self.channel._put('george', msg3)
- client.lpush.assert_called_with(
- self.channel._q_for_pri('george', 0), dumps(msg3),
+ client().lpush.assert_called_with(
+ self.channel._q_for_pri('george', 0), JSONEqual(dumps(msg3)),
)
def test_delete(self):
x = self.channel
- self.channel._in_poll = False
+ x._create_client = Mock()
+ x._create_client.return_value = x.client
delete = x.client.delete = Mock()
srem = x.client.srem = Mock()
@@ -597,7 +631,8 @@
)
def test_has_queue(self):
- self.channel._in_poll = False
+ self.channel._create_client = Mock()
+ self.channel._create_client.return_value = self.channel.client
exists = self.channel.client.exists = Mock()
exists.return_value = True
self.assertTrue(self.channel._has_queue('foo'))
@@ -662,16 +697,16 @@
self.channel._rotate_cycle('elaine')
@skip_if_not_module('redis')
- def test_get_client(self):
+ def test_get_async_client(self):
import redis as R
- KombuRedis = redis.Channel._get_client(self.channel)
+ KombuRedis = redis.Channel._get_async_client(self.channel)
self.assertTrue(KombuRedis)
Rv = getattr(R, 'VERSION', None)
try:
R.VERSION = (2, 4, 0)
with self.assertRaises(VersionMismatch):
- redis.Channel._get_client(self.channel)
+ redis.Channel._get_async_client(self.channel)
finally:
if Rv is not None:
R.VERSION = Rv
@@ -682,24 +717,6 @@
self.assertIs(redis.Channel._get_response_error(self.channel),
ResponseError)
- def test_avail_client_when_not_in_poll(self):
- self.channel._in_poll = False
- c = self.channel.client = Mock()
-
- with self.channel.conn_or_acquire() as client:
- self.assertIs(client, c)
-
- def test_avail_client_when_in_poll(self):
- self.channel._in_poll = True
- self.channel._pool = Mock()
- cc = self.channel._create_client = Mock()
- client = cc.return_value = Mock()
-
- with self.channel.conn_or_acquire():
- pass
- self.channel.pool.release.assert_called_with(client.connection)
- cc.assert_called_with()
-
def test_register_with_event_loop(self):
transport = self.connection.transport
transport.cycle = Mock(name='cycle')
@@ -908,7 +925,7 @@
channel._get('does-not-exist')
channel.close()
- def test_get_client(self):
+ def test_get_async_client(self):
myredis, exceptions = _redis_modules()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/transport/django/managers.py new/kombu-3.0.33/kombu/transport/django/managers.py
--- old/kombu-3.0.29/kombu/transport/django/managers.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/transport/django/managers.py 2016-01-08 23:35:32.000000000 +0100
@@ -52,6 +52,8 @@
def select_for_update(qs):
+ if connection.vendor == 'oracle':
+ return qs
try:
return qs.select_for_update()
except AttributeError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/transport/qpid.py new/kombu-3.0.33/kombu/transport/qpid.py
--- old/kombu-3.0.29/kombu/transport/qpid.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/transport/qpid.py 2016-01-09 03:12:35.000000000 +0100
@@ -8,7 +8,6 @@
.. _`Qpid`: http://qpid.apache.org/
.. _`qpid-python`: http://pypi.python.org/pypi/qpid-python/
.. _`qpid-tools`: http://pypi.python.org/pypi/qpid-tools/
-.. _`Issue 2199`: https://github.com/celery/celery/issues/2199
The use this transport you must install the necessary dependencies. These
dependencies are available via PyPI and can be installed using the pip
@@ -22,11 +21,6 @@
to underlying dependencies not being compatible. This version is
tested and works with with Python 2.7.
-.. admonition:: Potential Deadlock
-
- This transport should be used with caution due to a known
- potential deadlock. See `Issue 2199`_ for more details.
-
Authentication
==============
@@ -79,13 +73,11 @@
"""
from __future__ import absolute_import
-import fcntl
import os
import select
import socket
import ssl
import sys
-import threading
import time
from itertools import count
@@ -94,6 +86,11 @@
import amqp.protocol
try:
+ import fcntl
+except ImportError:
+ fcntl = None # noqa
+
+try:
import qpidtoollibs
except ImportError: # pragma: no cover
qpidtoollibs = None # noqa
@@ -1327,81 +1324,6 @@
channel.connection = None
-class ReceiversMonitor(threading.Thread):
- """A monitoring thread that reads and handles messages from all receivers.
-
- A single instance of ReceiversMonitor is expected to be created by
- :class:`Transport`.
-
- In :meth:`monitor_receivers`, the thread monitors all receivers
- associated with the session created by the Transport using the blocking
- call to session.next_receiver(). When any receiver has messages
- available, a symbol '0' is written to the self._w_fd file descriptor. The
- :meth:`monitor_receivers` is designed not to exit, and loops over
- session.next_receiver() forever.
-
- The entry point of the thread is :meth:`run` which calls
- :meth:`monitor_receivers`.
-
- The thread is designed to be daemonized, and will be forcefully killed
- when all non-daemon threads have already exited.
- """
-
- def __init__(self, session, w):
- """Instantiate a ReceiversMonitor object
-
- :param session: The session which needs all of its receivers
- monitored.
- :type session: :class:`qpid.messaging.endpoints.Session`
- :param w: The file descriptor to write the '0' into when
- next_receiver unblocks.
- :type w: int
- """
- super(ReceiversMonitor, self).__init__()
- self._session = session
- self._w_fd = w
-
- def run(self):
- """Thread entry point for ReceiversMonitor
-
- Calls :meth:`monitor_receivers` with a log-and-reenter behavior for
- non connection errors. This guards against unexpected exceptions
- which could cause this thread to exit unexpectedly.
-
- A :class:`qpid.messaging.exceptions.SessionClosed` exception should
- cause this thread to exit. This is a normal exit condition and the
- thread is no longer needed.
-
- If a connection error occurs, the exception needs to be propagated
- to MainThread where the kombu exception handler can properly handle
- it. The exception is stored as saved_exception on the self._session
- object. The character 'e' is then written to the self.w_fd file
- descriptor and then this thread exits.
- """
- while True:
- try:
- self.monitor_receivers()
- except Transport.recoverable_connection_errors as exc:
- self._session.saved_exception = exc
- os.write(self._w_fd, 'e')
- break
- except SessionClosed:
- break
- except Exception as exc:
- logger.error(exc, exc_info=1)
- time.sleep(10)
-
- def monitor_receivers(self):
- """Monitor all receivers, and write to _w_fd when a message is ready.
-
- The call to next_receiver() blocks until a message is ready. Once a
- message is ready, write a '0' to _w_fd.
- """
- while True:
- self._session.next_receiver()
- os.write(self._w_fd, '0')
-
-
class Transport(base.Transport):
"""Kombu native transport for a Qpid broker.
@@ -1479,7 +1401,8 @@
self.verify_runtime_environment()
super(Transport, self).__init__(*args, **kwargs)
self.r, self._w = os.pipe()
- fcntl.fcntl(self.r, fcntl.F_SETFL, os.O_NONBLOCK)
+ if fcntl is not None:
+ fcntl.fcntl(self.r, fcntl.F_SETFL, os.O_NONBLOCK)
def verify_runtime_environment(self):
"""Verify that the runtime environment is acceptable.
@@ -1518,24 +1441,23 @@
'with your package manager. You can also try `pip install '
'qpid-python`.')
+ def _qpid_session_ready(self):
+ os.write(self._w, '0')
+
def on_readable(self, connection, loop):
"""Handle any messages associated with this Transport.
This method clears a single message from the externally monitored
file descriptor by issuing a read call to the self.r file descriptor
which removes a single '0' character that was placed into the pipe
- by :class:`ReceiversMonitor`. Once a '0' is read, all available
- events are drained through a call to :meth:`drain_events`.
+ by the Qpid session message callback handler. Once a '0' is read,
+ all available events are drained through a call to
+ :meth:`drain_events`.
The behavior of self.r is adjusted in __init__ to be non-blocking,
ensuring that an accidental call to this method when no more messages
will arrive will not cause indefinite blocking.
- If the self.r file descriptor receives the character 'e', an error
- occurred in the background thread, and this thread should raise the
- saved exception. The exception is stored as saved_exception on the
- session object.
-
Nothing is expected to be returned from :meth:`drain_events` because
:meth:`drain_events` handles messages by calling callbacks that are
maintained on the :class:`Connection` object. When
@@ -1570,9 +1492,7 @@
functionality.
:type loop: kombu.async.Hub
"""
- symbol = os.read(self.r, 1)
- if symbol == 'e':
- raise self.session.saved_exception
+ os.read(self.r, 1)
try:
self.drain_events(connection)
except socket.timeout:
@@ -1584,7 +1504,7 @@
Register the callback self.on_readable to be called when an
external epoll loop sees that the file descriptor registered is
ready for reading. The file descriptor is created by this Transport,
- and is updated by the ReceiversMonitor thread.
+ and is written to when a message is available.
Because supports_ev == True, Celery expects to call this method to
give the Transport an opportunity to register a read file descriptor
@@ -1680,9 +1600,7 @@
conn = self.Connection(**opts)
conn.client = self.client
self.session = conn.get_qpid_connection().session()
- monitor_thread = ReceiversMonitor(self.session, self._w)
- monitor_thread.daemon = True
- monitor_thread.start()
+ self.session.set_message_received_handler(self._qpid_session_ready)
return conn
def close_connection(self, connection):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/transport/redis.py new/kombu-3.0.33/kombu/transport/redis.py
--- old/kombu-3.0.29/kombu/transport/redis.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/transport/redis.py 2016-01-08 23:35:32.000000000 +0100
@@ -97,6 +97,11 @@
)
+def get_redis_ConnectionError():
+ from redis import exceptions
+ return exceptions.ConnectionError
+
+
class MutexHeld(Exception):
pass
@@ -373,6 +378,7 @@
_client = None
_subclient = None
+ _closing = False
supports_fanout = True
keyprefix_queue = '_kombu.binding.%s'
keyprefix_fanout = '/{db}.'
@@ -401,7 +407,10 @@
#: and binding keys (like a topic exchange but using PUB/SUB).
#: This will be enabled by default in a future version.
fanout_patterns = False
+
+ _async_pool = None
_pool = None
+ _disconnecting_pools = False
from_transport_options = (
virtual.Channel.from_transport_options +
@@ -427,7 +436,8 @@
self.QoS = virtual.QoS
self._queue_cycle = []
- self.Client = self._get_client()
+ self.AsyncClient = self._get_async_client()
+ self.Client = redis.Redis
self.ResponseError = self._get_response_error()
self.active_fanout_queues = set()
self.auto_delete_queues = set()
@@ -446,8 +456,7 @@
try:
self.client.info()
except Exception:
- if self._pool:
- self._pool.disconnect()
+ self._disconnect_pools()
raise
self.connection.cycle.add(self) # add to channel poller.
@@ -458,12 +467,28 @@
register_after_fork(self, self._after_fork)
def _after_fork(self):
- if self._pool is not None:
- self._pool.disconnect()
+ self._disconnect_pools()
+
+ def _disconnect_pools(self):
+ if not self._disconnecting_pools:
+ self._disconnecting_pools = True
+ try:
+ if self._async_pool is not None:
+ self._async_pool.disconnect()
+ if self._pool is not None:
+ self._pool.disconnect()
+ self._async_pool = self._pool = None
+ finally:
+ self._disconnecting_pools = False
def _on_connection_disconnect(self, connection):
+ self._in_poll = False
+ self._in_listen = False
if self.connection and self.connection.cycle:
self.connection.cycle._on_connection_disconnect(connection)
+ self._disconnect_pools()
+ if not self._closing:
+ raise get_redis_ConnectionError()
def _do_restore_message(self, payload, exchange, routing_key,
client=None, leftmost=False):
@@ -738,8 +763,8 @@
return sum(sizes[::2])
def close(self):
- if self._pool:
- self._pool.disconnect()
+ self._closing = True
+ self._disconnect_pools()
if not self.closed:
# remove from channel poller.
self.connection.cycle.discard(self)
@@ -776,7 +801,7 @@
))
return vhost
- def _connparams(self):
+ def _connparams(self, async=False):
conninfo = self.connection.client
connparams = {'host': conninfo.hostname or '127.0.0.1',
'port': conninfo.port or DEFAULT_PORT,
@@ -803,52 +828,48 @@
redis.Connection
)
- class Connection(connection_cls):
- def disconnect(self):
- channel._on_connection_disconnect(self)
- super(Connection, self).disconnect()
- connparams['connection_class'] = Connection
+ if async:
+ class Connection(connection_cls):
+ def disconnect(self):
+ super(Connection, self).disconnect()
+ channel._on_connection_disconnect(self)
+ connparams['connection_class'] = Connection
return connparams
- def _create_client(self):
+ def _create_client(self, async=False):
+ if async:
+ return self.AsyncClient(connection_pool=self.async_pool)
return self.Client(connection_pool=self.pool)
- def _get_pool(self):
- params = self._connparams()
+ def _get_pool(self, async=False):
+ params = self._connparams(async=async)
self.keyprefix_fanout = self.keyprefix_fanout.format(db=params['db'])
return redis.ConnectionPool(**params)
- def _get_client(self):
+ def _get_async_client(self):
if redis.VERSION < (2, 4, 4):
raise VersionMismatch(
'Redis transport requires redis-py versions 2.4.4 or later. '
'You have {0.__version__}'.format(redis))
- # KombuRedis maintains a connection attribute on it's instance and
+ # AsyncRedis maintains a connection attribute on it's instance and
# uses that when executing commands
# This was added after redis-py was changed.
- class KombuRedis(redis.Redis): # pragma: no cover
+ class AsyncRedis(redis.Redis): # pragma: no cover
def __init__(self, *args, **kwargs):
- super(KombuRedis, self).__init__(*args, **kwargs)
+ super(AsyncRedis, self).__init__(*args, **kwargs)
self.connection = self.connection_pool.get_connection('_')
- return KombuRedis
+ return AsyncRedis
@contextmanager
def conn_or_acquire(self, client=None):
if client:
yield client
else:
- if self._in_poll:
- client = self._create_client()
- try:
- yield client
- finally:
- self.pool.release(client.connection)
- else:
- yield self.client
+ yield self._create_client()
@property
def pool(self):
@@ -856,15 +877,21 @@
self._pool = self._get_pool()
return self._pool
+ @property
+ def async_pool(self):
+ if self._async_pool is None:
+ self._async_pool = self._get_pool(async=True)
+ return self._async_pool
+
@cached_property
def client(self):
"""Client used to publish messages, BRPOP etc."""
- return self._create_client()
+ return self._create_client(async=True)
@cached_property
def subclient(self):
"""Pub/Sub connection used to consume fanout queues."""
- client = self._create_client()
+ client = self._create_client(async=True)
pubsub = client.pubsub()
pool = pubsub.connection_pool
pubsub.connection = pool.get_connection('pubsub', pubsub.shard_hint)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu/utils/__init__.py new/kombu-3.0.33/kombu/utils/__init__.py
--- old/kombu-3.0.29/kombu/utils/__init__.py 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/kombu/utils/__init__.py 2016-01-08 23:35:32.000000000 +0100
@@ -16,7 +16,11 @@
from itertools import count, repeat
from functools import wraps
from time import sleep
-from uuid import UUID, uuid4 as _uuid4, _uuid_generate_random
+from uuid import UUID, uuid4
+try:
+ from uuid import _uuid_generate_random
+except ImportError:
+ _uuid_generate_random = None
from kombu.five import items, reraise, string_t
@@ -140,13 +144,12 @@
print(str(m).format(*fargs, **fkwargs), file=sys.stderr)
-def uuid4():
- # Workaround for http://bugs.python.org/issue4607
- if ctypes and _uuid_generate_random: # pragma: no cover
+if ctypes and _uuid_generate_random: # pragma: no cover
+ def uuid4():
+ # Workaround for http://bugs.python.org/issue4607
buffer = ctypes.create_string_buffer(16)
_uuid_generate_random(buffer)
return UUID(bytes=buffer.raw)
- return _uuid4()
def uuid():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu.egg-info/PKG-INFO new/kombu-3.0.33/kombu.egg-info/PKG-INFO
--- old/kombu-3.0.29/kombu.egg-info/PKG-INFO 2015-10-26 19:13:11.000000000 +0100
+++ new/kombu-3.0.33/kombu.egg-info/PKG-INFO 2016-01-09 03:38:05.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: kombu
-Version: 3.0.29
+Version: 3.0.33
Summary: Messaging library for Python
Home-page: http://kombu.readthedocs.org
Author: Ask Solem
@@ -12,7 +12,7 @@
kombu - Messaging library for Python
========================================
- :Version: 3.0.29
+ :Version: 3.0.33
`Kombu` is a messaging library for Python.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu.egg-info/SOURCES.txt new/kombu-3.0.33/kombu.egg-info/SOURCES.txt
--- old/kombu-3.0.29/kombu.egg-info/SOURCES.txt 2015-10-26 19:13:11.000000000 +0100
+++ new/kombu-3.0.33/kombu.egg-info/SOURCES.txt 2016-01-09 03:38:05.000000000 +0100
@@ -107,6 +107,8 @@
examples/simple_task_queue/tasks.py
examples/simple_task_queue/worker.py
extra/doc2ghpages
+extra/appveyor/install.ps1
+extra/appveyor/run_with_compiler.cmd
extra/release/bump_version.py
extra/release/doc4allmods
extra/release/flakeplus.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/kombu.egg-info/requires.txt new/kombu-3.0.33/kombu.egg-info/requires.txt
--- old/kombu-3.0.29/kombu.egg-info/requires.txt 2015-10-26 19:13:11.000000000 +0100
+++ new/kombu-3.0.33/kombu.egg-info/requires.txt 2016-01-09 03:38:05.000000000 +0100
@@ -1,5 +1,5 @@
anyjson>=0.3.3
-amqp>=1.4.7,<2.0
+amqp>=1.4.9,<2.0
[sqlalchemy]
sqlalchemy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kombu-3.0.29/requirements/default.txt new/kombu-3.0.33/requirements/default.txt
--- old/kombu-3.0.29/requirements/default.txt 2015-10-26 18:43:47.000000000 +0100
+++ new/kombu-3.0.33/requirements/default.txt 2016-01-09 03:06:52.000000000 +0100
@@ -1,2 +1,2 @@
anyjson>=0.3.3
-amqp>=1.4.7,<2.0
+amqp>=1.4.9,<2.0
1
0
Hello community,
here is the log from the commit of package python3-openpyxl for openSUSE:Factory checked in at 2016-01-30 11:31:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-openpyxl (Old)
and /work/SRC/openSUSE:Factory/.python3-openpyxl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-openpyxl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-openpyxl/python3-openpyxl.changes 2015-11-23 07:30:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-openpyxl.new/python3-openpyxl.changes 2016-01-30 11:31:18.000000000 +0100
@@ -1,0 +2,30 @@
+Wed Jan 27 04:41:00 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+
+- update to version 2.3.3:
+ * Bug fixes
+ + #540 Cannot read merged cells in read-only mode
+ + #565 Empty styled text blocks cannot be parsed
+ + #569 Issue warning rather than raise Exception raised for
+ unparsable definedNames
+ + #575 Cannot open workbooks with embdedded OLE files
+ + #584 Exception when saving borders with attribues
+ * Minor changes
+ + PR 103 Documentation about chart scaling and axis limits
+ + Raise an exception when trying to copy cells from other
+ workbooks.
+
+- changes from version 2.3.2:
+ * Bug fixes
+ + #554 Cannot add comments to a worksheet when preserving VBA
+ + #561 Exception when reading phonetic text
+ + #562 DARKBLUE is the same as RED
+ + #563 Minimum for row and column indexes not enforced
+ * Minor changes
+ + PR 97 One VML file per worksheet.
+ + PR 96 Correct descriptor for CharacterProperties.rtl
+ + #498 Metadata is not essential to use the package.
+
+-------------------------------------------------------------------
Old:
----
openpyxl-2.3.1.tar.gz
New:
----
openpyxl-2.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-openpyxl.spec ++++++
--- /var/tmp/diff_new_pack.vAkDUj/_old 2016-01-30 11:31:19.000000000 +0100
+++ /var/tmp/diff_new_pack.vAkDUj/_new 2016-01-30 11:31:19.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-openpyxl
#
-# 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
@@ -17,7 +17,7 @@
Name: python3-openpyxl
-Version: 2.3.1
+Version: 2.3.3
Release: 0
Summary: A Python library to read/write Excel 2007 xlsx/xlsm files
License: MIT and Python-2.0
++++++ openpyxl-2.3.1.tar.gz -> openpyxl-2.3.3.tar.gz ++++++
++++ 1979 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package fontforge for openSUSE:Factory checked in at 2016-01-30 11:31:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fontforge (Old)
and /work/SRC/openSUSE:Factory/.fontforge.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fontforge"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fontforge/fontforge.changes 2015-12-20 10:52:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fontforge.new/fontforge.changes 2016-01-30 11:31:14.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Jan 26 08:10:44 UTC 2016 - pgajdos(a)suse.com
+
+- do not crash on invalid input data (when eof reached) [bsc#963023]
+ + fontforge-eof-crash.patch
+
+-------------------------------------------------------------------
New:
----
fontforge-eof-crash.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fontforge.spec ++++++
--- /var/tmp/diff_new_pack.qLWnxt/_old 2016-01-30 11:31:16.000000000 +0100
+++ /var/tmp/diff_new_pack.qLWnxt/_new 2016-01-30 11:31:16.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fontforge
#
-# 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
@@ -32,6 +32,8 @@
# workardound for bug 930076, imho upstream should fix this
# https://github.com/fontforge/fontforge/issues/2270
Patch1: fontforge-version.patch
+# https://github.com/fontforge/fontforge/pull/2613, bsc#963023
+Patch2: fontforge-eof-crash.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cairo-devel
@@ -99,6 +101,7 @@
%setup -q
%patch0 -p1
%patch1
+%patch2
sed -i 's/\r$//' doc/html/{Big5.txt,corpchar.txt}
# workaround for bug 930076; we just need the _version_of_the_release_! (see also fontforge-version.patch) ---
grep 'doversion(FONTFORGE_MODTIME_STR)' fontforgeexe/startnoui.c && \
++++++ fontforge-eof-crash.patch ++++++
Index: fontforge/parsettf.c
===================================================================
--- fontforge/parsettf.c.orig 2016-01-26 09:01:44.025472518 +0100
+++ fontforge/parsettf.c 2016-01-26 09:04:24.853470665 +0100
@@ -5185,7 +5185,10 @@
/* the index table is backwards from the way I want to use it */
gcbig = 0;
for ( i=0; i<gc; ++i ) {
- indexes[val = getushort(ttf)] = i;
+ val = getushort(ttf);
+ if ( val<0 ) /* Don't crash on EOF */
+ break;
+ indexes[val] = i;
if ( val>=258 ) ++gcbig;
}
1
0
Hello community,
here is the log from the commit of package python3-pytest for openSUSE:Factory checked in at 2016-01-30 11:31:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pytest (Old)
and /work/SRC/openSUSE:Factory/.python3-pytest.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pytest"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pytest/python3-pytest-doc.changes 2016-01-05 21:53:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-pytest.new/python3-pytest-doc.changes 2016-01-30 11:31:09.000000000 +0100
@@ -1,0 +2,33 @@
+Tue Jan 26 03:48:38 UTC 2016 - arun(a)gmx.de
+
+- specfile:
+ * changes from zip to tar.gz
+
+- update to version 2.8.7:
+ * fix #1338: use predictable object resolution for monkeypatch
+
+- changes from version 2.8.6:
+ * fix #1259: allow for double nodeids in junitxml, this was a
+ regression failing plugins combinations like pytest-pep8 +
+ pytest-flakes
+ * Workaround for exception that occurs in pyreadline when using
+ --pdb with standard I/O capture enabled. Thanks Erik M. Bray for
+ the PR.
+ * fix #900: Better error message in case the target of a monkeypatch
+ call raises an ImportError.
+ * fix #1292: monkeypatch calls (setattr, setenv, etc.) are now
+ O(1). Thanks David R. MacIver for the report and Bruno Oliveira
+ for the PR.
+ * fix #1223: captured stdout and stderr are now properly displayed
+ before entering pdb when --pdb is used instead of being thrown
+ away. Thanks Cal Leeming for the PR.
+ * fix #1305: pytest warnings emitted during pytest_terminal_summary
+ are now properly displayed. Thanks Ionel Maries Cristian for the
+ report and Bruno Oliveira for the PR.
+ * fix #628: fixed internal UnicodeDecodeError when doctests contain
+ unicode. Thanks Jason R. Coombs for the report and Bruno Oliveira
+ for the PR.
+ * fix #1334: Add captured stdout to jUnit XML report on setup
+ error. Thanks Georgy Dyuldin for the PR.
+
+-------------------------------------------------------------------
python3-pytest.changes: same change
Old:
----
pytest-2.8.5.zip
New:
----
pytest-2.8.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pytest-doc.spec ++++++
--- /var/tmp/diff_new_pack.cE2bGJ/_old 2016-01-30 11:31:10.000000000 +0100
+++ /var/tmp/diff_new_pack.cE2bGJ/_new 2016-01-30 11:31:10.000000000 +0100
@@ -17,15 +17,14 @@
Name: python3-pytest-doc
-Version: 2.8.5
+Version: 2.8.7
Release: 0
Summary: Simple powerful testing with Python
License: MIT
Group: Development/Languages/Python
Url: http://pytest.org
-Source: http://pypi.python.org/packages/source/p/pytest/pytest-%{version}.zip
+Source: http://pypi.python.org/packages/source/p/pytest/pytest-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: unzip
# Documentation requirements:
BuildRequires: python3-Sphinx
BuildRequires: python3-py >= 1.4.22
++++++ python3-pytest.spec ++++++
--- /var/tmp/diff_new_pack.cE2bGJ/_old 2016-01-30 11:31:10.000000000 +0100
+++ /var/tmp/diff_new_pack.cE2bGJ/_new 2016-01-30 11:31:10.000000000 +0100
@@ -17,17 +17,16 @@
Name: python3-pytest
-Version: 2.8.5
+Version: 2.8.7
Release: 0
Summary: Simple powerful testing with Python
License: MIT
Group: Development/Languages/Python
Url: http://pytest.org
-Source: http://pypi.python.org/packages/source/p/pytest/pytest-%{version}.zip
+Source: http://pypi.python.org/packages/source/p/pytest/pytest-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python3
BuildRequires: python3-devel
-BuildRequires: unzip
# Test requirements:
%if 0%{?suse_version} <= 1310
# mock is built-in for python 3.4
1
0
Hello community,
here is the log from the commit of package python-Sphinx for openSUSE:Factory checked in at 2016-01-30 11:31:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Sphinx (Old)
and /work/SRC/openSUSE:Factory/.python-Sphinx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Sphinx"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Sphinx/python-Sphinx.changes 2016-01-20 09:53:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-Sphinx.new/python-Sphinx.changes 2016-01-30 11:31:05.000000000 +0100
@@ -1,0 +2,25 @@
+Mon Jan 25 10:56:43 UTC 2016 - michael(a)stroeder.com
+
+- requires python-pygments => 2.1
+- update to version 1.3.5:
+ * Fix line numbers was not shown on warnings in LaTeX and texinfo
+ builders
+ * Fix filenames were not shown on warnings of citations
+ * Fix line numbers was not shown on warnings in LaTeX and texinfo
+ builders
+ * Fix line numbers was not shown on warnings of indecies
+ * #2026: Fix LaTeX builder rais error if parsed-literal includes
+ links
+ * #2243: Ignore strange docstring types for classes, do not crash
+ * #2247: Fix #2205 breaks make html for definition list with
+ classifiers that contains regular-expression like string
+ * #1565: Show warning if Pygments throws an ErrorToken
+ * #2211: Fix paragraphs in table cell doesn't work in Latex output
+ * #2253: ":pyobject:" option of "literalinclude" directive can't
+ detect indented body block when the block starts with blank or
+ comment lines.
+ * Fix TOC is not shown when no ":maxdepth:" for toctrees (ref: #771)
+ * Fix warning message for ":numref:" if target is in orphaned doc
+ (ref: #2244)
+
+-------------------------------------------------------------------
Old:
----
Sphinx-1.3.4.tar.gz
New:
----
Sphinx-1.3.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Sphinx.spec ++++++
--- /var/tmp/diff_new_pack.CXtMY9/_old 2016-01-30 11:31:06.000000000 +0100
+++ /var/tmp/diff_new_pack.CXtMY9/_new 2016-01-30 11:31:06.000000000 +0100
@@ -17,7 +17,7 @@
Name: python-Sphinx
-Version: 1.3.4
+Version: 1.3.5
Release: 0
Url: http://sphinx-doc.org
Summary: Python documentation generator
@@ -37,7 +37,7 @@
BuildRequires: python-snowballstemmer
BuildRequires: python-sphinx_rtd_theme
# Testsuite requirements:
-BuildRequires: python-Pygments >= 2.0
+BuildRequires: python-Pygments >= 2.1
BuildRequires: python-nose
Requires(post): update-alternatives
Requires(postun): update-alternatives
++++++ Sphinx-1.3.4.tar.gz -> Sphinx-1.3.5.tar.gz ++++++
++++ 3202 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-Pygments for openSUSE:Factory checked in at 2016-01-30 11:30:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Pygments (Old)
and /work/SRC/openSUSE:Factory/.python-Pygments.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Pygments"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Pygments/python-Pygments.changes 2015-03-16 06:58:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-Pygments.new/python-Pygments.changes 2016-01-30 11:31:01.000000000 +0100
@@ -1,0 +2,29 @@
+Mon Jan 25 14:47:30 UTC 2016 - michael(a)stroeder.com
+
+- Update to version 2.1
+ - Added styles:
+ * Lovelace (PR#456)
+ * Algol and Algol-nu (#1090)
+ - Added formatters:
+ * IRC (PR#458)
+ * True color (24-bit) terminal ANSI sequences (#1142)
+ (formatter alias: "16m")
+ - New "filename" option for HTML formatter (PR#527).
+ - Improved performance of the HTML formatter for long lines (PR#504).
+ - Updated autopygmentize script (PR#445).
+ - Fixed style inheritance for non-standard token types in HTML output.
+ - Added support for async/await to Python 3 lexer.
+ - Rewrote linenos option for TerminalFormatter (it's better, but slightly
+ different output than before) (#1147).
+ - Javascript lexer now supports most of ES6 (#1100).
+ - Cocoa builtins updated for iOS 8.1 (PR#433).
+ - Combined BashSessionLexer and ShellSessionLexer, new version should support
+ the prompt styles of either.
+ - Added option to pygmentize to show a full traceback on exceptions.
+ - Fixed incomplete output on Windows and Python 3 (e.g. when using iPython
+ Notebook) (#1153).
+ - Allowed more traceback styles in Python console lexer (PR#253).
+ - Added decorators to TypeScript (PR#509).
+ - Fix highlighting of certain IRC logs formats (#1076).
+
+-------------------------------------------------------------------
Old:
----
Pygments-2.0.2.tar.gz
New:
----
Pygments-2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Pygments.spec ++++++
--- /var/tmp/diff_new_pack.i3Ax6t/_old 2016-01-30 11:31:02.000000000 +0100
+++ /var/tmp/diff_new_pack.i3Ax6t/_new 2016-01-30 11:31:02.000000000 +0100
@@ -17,7 +17,7 @@
Name: python-Pygments
-Version: 2.0.2
+Version: 2.1
Release: 0
Url: http://pygments.org
Summary: Pygments is a syntax highlighting package written in Python
++++++ Pygments-2.0.2.tar.gz -> Pygments-2.1.tar.gz ++++++
++++ 193310 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libinput for openSUSE:Factory checked in at 2016-01-30 11:30:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libinput (Old)
and /work/SRC/openSUSE:Factory/.libinput.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinput"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libinput/libinput.changes 2015-12-27 01:58:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libinput.new/libinput.changes 2016-01-30 11:30:56.000000000 +0100
@@ -1,0 +2,11 @@
+Mon Jan 25 15:38:41 UTC 2016 - zaitor(a)opensuse.org
+
+- Update to version 1.1.5:
+ * This release fixes a disable-while-typing issue on the Macbook
+ Pro and works around some middle-finger tap issues on semi-mt
+ devices. Unfortunately, due to the inconsistent (and often
+ garbage) data that semi-mt touchpads send we had to resort to
+ disabling pinch gestures on those devices to make three-finger
+ taps reliable.
+
+-------------------------------------------------------------------
Old:
----
libinput-1.1.4.tar.xz
libinput-1.1.4.tar.xz.sig
New:
----
libinput-1.1.5.tar.xz
libinput-1.1.5.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libinput.spec ++++++
--- /var/tmp/diff_new_pack.MM8xCH/_old 2016-01-30 11:30:57.000000000 +0100
+++ /var/tmp/diff_new_pack.MM8xCH/_new 2016-01-30 11:30:57.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libinput
#
-# 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
@@ -18,8 +18,8 @@
Name: libinput
%define lname libinput10
-%define rversion 1.1.4
-Version: 1.1.4
+%define rversion 1.1.5
+Version: 1.1.5
Release: 0
Summary: Input device and event processing library
License: MIT
++++++ libinput-1.1.4.tar.xz -> libinput-1.1.5.tar.xz ++++++
++++ 8130 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package openldap2 for openSUSE:Factory checked in at 2016-01-30 11:30:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openldap2 (Old)
and /work/SRC/openSUSE:Factory/.openldap2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openldap2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openldap2/openldap2-client.changes 2015-12-06 07:38:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openldap2.new/openldap2-client.changes 2016-01-30 11:30:52.000000000 +0100
@@ -2 +2,42 @@
-Wed Dec 2 12:51:10 UTC 2015 - hguo(a)suse.com
+Mon Jan 25 14:10:12 UTC 2016 - hguo(a)suse.com
+
+- Relabel patch 0011-Enforce-minimum-DH-size-of-1024.patch
+ into 0010-Enforce-minimum-DH-size-of-1024.patch
+
+-------------------------------------------------------------------
+Tue Dec 8 11:36:16 UTC 2015 - michael(a)stroeder.com
+
+- Upgrade to upstream 2.4.43 release with accumulated bug fixes.
+- Still build on SLES12
+- Loadable backend and overlay modules are now installed
+ into arch-specific path %{_libdir}/openldap
+- All backends and overlays as modules for smaller memory footprint
+ on memory constrained systems
+- Added extra package for back-sock
+- Consequent use of %{_rundir} everywhere
+- Rely on upstream ./configure script instead of any other
+ macro foo
+- Dropped linking with libwrap
+- Dropped 0004-libldap-use-gethostbyname_r.dif because this
+ work-around for nss_ldap is obsolete
+- New sub-package openldap2-contrib with selected contrib/ overlays
+- Replaced addonschema.tar.gz with separate schema sources
+- Updated ldapns.schema from recent slapo-nssov source tree
+- Added symbolic link to slapd executable in /usr/sbin/
+- Added more complex example configuration file
+ /etc/openldap/slapd.conf.example
+- Set OPENLDAP_START_LDAPI="yes" in /etc/sysconfig/openldap
+- Set OPENLDAP_REGISTER_SLP="no" in /etc/sysconfig/openldap
+- Added patch for OpenLDAP ITS#7796 to avoid excessive
+ "not index" logging:
+ 0011-openldap-re24-its7796.patch
+- Replaced openldap-rc.tgz with single source files
+- Added soft dependency (Recommends) to cyrus-sasl
+- Added soft dependency (Recommends) to cyrus-sasl-devel
+ to openldap2-devel
+- Added patch for OpenLDAP ITS#8336 (assert in liblmdb):
+ 0012-openldap-re24-its8336.patch
+- Remove obsolete patch 0001-build-adjustments.dif
+
+-------------------------------------------------------------------
+Wed Dec 2 12:50:47 UTC 2015 - hguo(a)suse.com
@@ -39 +80 @@
-Thu Oct 1 11:08:59 UTC 2015 - hguo(a)suse.com
+Thu Oct 1 11:08:41 UTC 2015 - hguo(a)suse.com
--- /work/SRC/openSUSE:Factory/openldap2/openldap2.changes 2015-12-06 07:38:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openldap2.new/openldap2.changes 2016-01-30 11:30:52.000000000 +0100
@@ -1,0 +2,41 @@
+Mon Jan 25 14:10:12 UTC 2016 - hguo(a)suse.com
+
+- Relabel patch 0011-Enforce-minimum-DH-size-of-1024.patch
+ into 0010-Enforce-minimum-DH-size-of-1024.patch
+
+-------------------------------------------------------------------
+Tue Dec 8 11:36:16 UTC 2015 - michael(a)stroeder.com
+
+- Upgrade to upstream 2.4.43 release with accumulated bug fixes.
+- Still build on SLES12
+- Loadable backend and overlay modules are now installed
+ into arch-specific path %{_libdir}/openldap
+- All backends and overlays as modules for smaller memory footprint
+ on memory constrained systems
+- Added extra package for back-sock
+- Consequent use of %{_rundir} everywhere
+- Rely on upstream ./configure script instead of any other
+ macro foo
+- Dropped linking with libwrap
+- Dropped 0004-libldap-use-gethostbyname_r.dif because this
+ work-around for nss_ldap is obsolete
+- New sub-package openldap2-contrib with selected contrib/ overlays
+- Replaced addonschema.tar.gz with separate schema sources
+- Updated ldapns.schema from recent slapo-nssov source tree
+- Added symbolic link to slapd executable in /usr/sbin/
+- Added more complex example configuration file
+ /etc/openldap/slapd.conf.example
+- Set OPENLDAP_START_LDAPI="yes" in /etc/sysconfig/openldap
+- Set OPENLDAP_REGISTER_SLP="no" in /etc/sysconfig/openldap
+- Added patch for OpenLDAP ITS#7796 to avoid excessive
+ "not index" logging:
+ 0011-openldap-re24-its7796.patch
+- Replaced openldap-rc.tgz with single source files
+- Added soft dependency (Recommends) to cyrus-sasl
+- Added soft dependency (Recommends) to cyrus-sasl-devel
+ to openldap2-devel
+- Added patch for OpenLDAP ITS#8336 (assert in liblmdb):
+ 0012-openldap-re24-its8336.patch
+- Remove obsolete patch 0001-build-adjustments.dif
+
+-------------------------------------------------------------------
Old:
----
0001-build-adjustments.dif
0004-libldap-use-gethostbyname_r.dif
0010-Revert-Revert-ITS-8240-remove-obsolete-assert.patch
0011-Enforce-minimum-DH-size-of-1024.patch
README.dynamic-overlays
addonschema.tar.gz
openldap-2.4.42.tgz
openldap-rc.tgz
New:
----
0010-Enforce-minimum-DH-size-of-1024.patch
0011-openldap-re24-its7796.patch
0012-openldap-re24-its8336.patch
README.module-loading
SuSEfirewall2.openldap
ldapns.schema
openldap-2.4.43.tgz
rfc2307bis.schema
slapd.conf.example
slapd.service
start
sysconfig.openldap
yast.schema
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openldap2-client.spec ++++++
--- /var/tmp/diff_new_pack.UGwmDj/_old 2016-01-30 11:30:55.000000000 +0100
+++ /var/tmp/diff_new_pack.UGwmDj/_new 2016-01-30 11:30:55.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package openldap2-client
#
-# 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
@@ -17,52 +17,59 @@
%define run_test_suite 0
-%define version_main 2.4.42
+%define version_main 2.4.43
-%if ! %{defined _rundir}
-%define _rundir %{_localstatedir}/run
+%if %{suse_version} >= 1310 && %{suse_version} != 1315
+%define _rundir /run/slapd
+%else
+%define _rundir /var/run/slapd
%endif
Name: openldap2-client
Summary: The OpenLDAP commandline client tools
License: OLDAP-2.8
Group: Productivity/Networking/LDAP/Clients
-Version: 2.4.42
+Version: %{version_main}
Release: 0
Url: http://www.openldap.org
Source: openldap-%{version_main}.tgz
-Source1: openldap-rc.tgz
-Source2: addonschema.tar.gz
Source3: DB_CONFIG
Source4: sasl-slapd.conf
-Source5: README.dynamic-overlays
+Source5: README.module-loading
Source6: schema2ldif
Source7: baselibs.conf
-Patch1: 0001-build-adjustments.dif
+Source9: ldapns.schema
+Source10: rfc2307bis.schema
+Source11: yast.schema
+Source12: slapd.conf.example
+Source13: start
+Source14: slapd.service
+Source15: SuSEfirewall2.openldap
+Source16: sysconfig.openldap
Patch2: 0002-slapd.conf.dif
Patch3: 0003-LDAPI-socket-location.dif
-Patch4: 0004-libldap-use-gethostbyname_r.dif
Patch5: 0005-pie-compile.dif
Patch6: 0006-No-Build-date-and-time-in-binaries.dif
Patch7: 0007-Recover-on-DB-version-change.dif
Patch8: 0008-In-monitor-backend-do-not-return-Connection0-entries.patch
Patch9: 0009-Fix-ldap-host-lookup-ipv6.patch
-Patch10: 0010-Revert-Revert-ITS-8240-remove-obsolete-assert.patch
-Patch11: 0011-Enforce-minimum-DH-size-of-1024.patch
+Patch10: 0010-Enforce-minimum-DH-size-of-1024.patch
+Patch11: 0011-openldap-re24-its7796.patch
+Patch12: 0012-openldap-re24-its8336.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cyrus-sasl-devel
BuildRequires: groff
BuildRequires: libopenssl-devel
BuildRequires: libtool
+Requires: libldap-2_4-2 = %{version_main}
+Recommends: cyrus-sasl
%if "%{name}" == "openldap2"
BuildRequires: db-devel
BuildRequires: openslp-devel
-BuildRequires: tcpd-devel
BuildRequires: unixODBC-devel
Conflicts: openldap
-Requires: libldap-2_4-2 = %{version_main}
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
-%if 0%{?suse_version} >= 1140
+%if %{suse_version} >= 1310 && %{suse_version} != 1315
# avoid cycle with krb5
BuildRequires: krb5-mini
BuildRequires: pkgconfig(systemd)
@@ -70,7 +77,6 @@
%endif
%else
Conflicts: openldap-client
-Requires: libldap-2_4-2 = %{version_main}
%endif
# For /usr/bin/strings
Requires(pre): binutils
@@ -78,10 +84,10 @@
%if "%{name}" == "openldap2"
%description
-The Lightweight Directory Access Protocol (LDAP) is used to access
-online directory services. It runs directly over TCP and can be used to
-access a stand-alone LDAP directory service or to access a directory
-service that has an X.500 back-end.
+OpenLDAP is a client and server reference implementation of the
+Lightweight Directory Access Protocol v3 (LDAPv3).
+
+The server provides several database backends and overlays.
%package -n openldap2-back-perl
Summary: OpenLDAP Perl Back-End
@@ -93,6 +99,16 @@
The OpenLDAP Perl back-end allows you to execute Perl code specific to
different LDAP operations.
+%package -n openldap2-back-sock
+Summary: OpenLDAP Socket Back-End
+Group: Productivity/Networking/LDAP/Servers
+Requires: openldap2 = %{version_main}
+Provides: openldap2:/usr/share/man/man5/slapd-sock.5.gz
+
+%description -n openldap2-back-sock
+The OpenLDAP socket back-end allows you to handle LDAP requests and
+results with an external process listening on a Unix domain socket.
+
%package -n openldap2-back-meta
Summary: OpenLDAP Meta Back-End
Group: Productivity/Networking/LDAP/Servers
@@ -115,6 +131,25 @@
stored in a Relational (SQL) Database as an LDAP subtree without the need
to do any programming.
+%package -n openldap2-contrib
+Summary: OpenLDAP Contrib Modules
+Group: Productivity/Networking/LDAP/Servers
+Requires: openldap2 = %{version_main}
+
+%description -n openldap2-contrib
+Various overlays found in contrib/:
+allop
+allowed Generates attributes indicating access rights
+autogroup
+cloak
+denyop
+lastbind writes last bind timestamp to entry
+noopsrch handles no-op search control
+nops
+pw-sha2 generates/validates SHA-2 password hashes
+pw-pbkdf2 generates/validates PBKDF2 password hashes
+smbk5pwd generates Samba3 password hashes (heimdal krb disabled)
+
%package -n openldap2-doc
Summary: OpenLDAP Documentation
Group: Documentation/Other
@@ -126,6 +161,7 @@
%description -n openldap2-doc
The OpenLDAP Admin Guide plus a set of OpenLDAP related IETF internet drafts
+
Authors:
--------
The OpenLDAP Project <project(a)openldap.org>
@@ -145,6 +181,7 @@
#
Conflicts: openldap-devel
Requires: libldap-2_4-2 = %{version_main}
+Recommends: cyrus-sasl-devel
%description -n openldap2-devel
This package provides the OpenLDAP libraries, header files, and
@@ -171,11 +208,10 @@
%endif
%prep
-%setup -q -n openldap-%{version_main} -a1 -a2
-%patch1 -p1
+%setup -q -n openldap-%{version_main}
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
@@ -183,48 +219,66 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
cp %{SOURCE5} .
%build
-%{?suse_update_config:%{suse_update_config -f build}}
-libtoolize --force
-autoreconf
-export CFLAGS="$RPM_OPT_FLAGS -Wno-format-extra-args -fno-strict-aliasing -DLDAP_DEPRECATED -DLDAP_CONNECTIONLESS -DSLAP_CONFIG_DELETE"
+# %{?suse_update_config:%{suse_update_config -f build}}
+#libtoolize --force
+#autoreconf
+# export CFLAGS="${RPM_OPT_FLAGS} -Wno-format-extra-args -fno-strict-aliasing -DNDEBUG -DSLAP_CONFIG_DELETE -DSLAP_SCHEMA_EXPOSE -DLDAP_COLLECTIVE_ATTRIBUTES"
+export CFLAGS="-Wno-format-extra-args -fno-strict-aliasing -DNDEBUG -DSLAP_CONFIG_DELETE -DSLAP_SCHEMA_EXPOSE -DLDAP_COLLECTIVE_ATTRIBUTES"
export STRIP=""
-%configure \
- --localstatedir=%{_rundir}/slapd \
- --libexecdir=/usr/lib/openldap \
- --enable-wrappers \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=%{_sysconfdir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
+ --localstatedir=%{_rundir} \
+ --enable-wrappers=no \
--enable-spasswd \
--enable-modules \
--enable-shared \
--enable-dynamic \
- --with-tls \
+ --with-tls=openssl \
--with-cyrus-sasl \
--enable-crypt \
--enable-ipv6=yes \
%if "%{name}" == "openldap2"
--enable-aci \
- --enable-bdb \
- --enable-hdb \
+ --enable-bdb=mod \
+ --enable-hdb=mod \
--enable-rewrite \
- --enable-ldap=yes \
+ --enable-ldap=mod \
--enable-meta=mod \
- --enable-monitor=yes \
+ --enable-monitor=mod \
--enable-perl=mod \
+ --enable-sock=mod \
--enable-sql=mod \
- --enable-mdb=yes \
+ --enable-mdb=mod \
+ --enable-relay=mod \
--enable-slp \
--enable-overlays=mod \
- --enable-syncprov=yes \
- --enable-ppolicy=yes \
+ --enable-syncprov=mod \
+ --enable-ppolicy=mod \
%else
--disable-slapd \
%endif
--enable-lmpasswd \
- --with-yielding-select
+ --with-yielding-select \
+ || cat config.log
make depend
make %{?_smp_mflags}
+%if "%{name}" == "openldap2"
+# Build selected contrib overlays
+for SLAPO_NAME in allowed allop autogroup lastbind nops denyop cloak noopsrch passwd/sha2 passwd/pbkdf2
+do
+ make -C contrib/slapd-modules/${SLAPO_NAME} %{?_smp_mflags} "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}"
+done
+# One more level up needed because of passwd/sha2
+# slapo-smbk5pwd only for Samba password hashes
+make -C contrib/slapd-modules/smbk5pwd %{?_smp_mflags} "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" DEFS="-DDO_SAMBA" HEIMDAL_LIB=""
+%endif
%check
%if %run_test_suite
@@ -252,50 +306,67 @@
%endif
%install
-mkdir -p $RPM_BUILD_ROOT/usr/lib/openldap/
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
-make STRIP="" DESTDIR=$RPM_BUILD_ROOT install
-install -m 755 start $RPM_BUILD_ROOT/usr/lib/openldap/start
-install -m 644 slapd.service $RPM_BUILD_ROOT/%{_unitdir}
-mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/openldap/slapd.d
-mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2
-install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2/slapd.conf
-install -m 755 -d $RPM_BUILD_ROOT/var/lib/ldap
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/liblber.so*
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap_r.so*
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap.so*
-install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/usr/sbin/schema2ldif
+mkdir -p ${RPM_BUILD_ROOT}/%{_libdir}/openldap
+mkdir -p ${RPM_BUILD_ROOT}/usr/lib/openldap
+mkdir -p ${RPM_BUILD_ROOT}/usr/sbin
+mkdir -p ${RPM_BUILD_ROOT}/%{_unitdir}
+make STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+# Additional symbolic link to slapd executable in /usr/sbin/
+%if "%{name}" == "openldap2"
+ln -s %{_libdir}/slapd ${RPM_BUILD_ROOT}/usr/sbin/slapd
+%endif
+%if "%{name}" == "openldap2"
+# Install selected contrib overlays
+for SLAPO_NAME in allowed allop autogroup lastbind nops denyop cloak noopsrch passwd/sha2 passwd/pbkdf2
+do
+ make -C contrib/slapd-modules/${SLAPO_NAME} STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+done
+# slapo-smbk5pwd only for Samba password hashes
+make -C contrib/slapd-modules/smbk5pwd STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+%endif
+install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}/usr/lib/openldap/start
+install -m 644 %{SOURCE14} ${RPM_BUILD_ROOT}/%{_unitdir}
+mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/slapd.d
+mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/sasl2
+install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_sysconfdir}/sasl2/slapd.conf
+install -m 755 -d ${RPM_BUILD_ROOT}/var/lib/ldap
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/liblber.so*
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/libldap_r.so*
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/libldap.so*
+install -m 755 %{SOURCE6} ${RPM_BUILD_ROOT}/usr/sbin/schema2ldif
%if "%{name}" == "openldap2"
%define DOCDIR %{_defaultdocdir}/%{name}
-mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
-install -m 644 sysconfig.openldap $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.openldap
-install -m 644 *.schema $RPM_BUILD_ROOT/etc/openldap/schema
-install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG
-install -m 644 $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG.example
-install -d $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/
-install -m 644 SuSEfirewall2.openldap $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/openldap
+mkdir -p ${RPM_BUILD_ROOT}/var/adm/fillup-templates
+install -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.openldap
+install -m 644 %{SOURCE9} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE10} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE12} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap
+install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}/var/lib/ldap/DB_CONFIG
+install -m 644 ${RPM_BUILD_ROOT}/etc/openldap/DB_CONFIG.example ${RPM_BUILD_ROOT}/var/lib/ldap/DB_CONFIG.example
+install -d ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/
+install -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/openldap
rm -f `find doc/guide ! -name *.html -a ! -name *.gif -a ! -name *.png -a ! -type d`
rm -rf doc/guide/release
-install -d $RPM_BUILD_ROOT/%{DOCDIR}/adminguide \
- $RPM_BUILD_ROOT/%{DOCDIR}/images \
- $RPM_BUILD_ROOT/%{DOCDIR}/drafts
-install -m 644 doc/guide/admin/* $RPM_BUILD_ROOT/%{DOCDIR}/adminguide
-install -m 644 doc/guide/images/*.gif $RPM_BUILD_ROOT/%{DOCDIR}/images
-install -m 644 doc/drafts/* $RPM_BUILD_ROOT/%{DOCDIR}/drafts
+install -d ${RPM_BUILD_ROOT}/%{DOCDIR}/adminguide \
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/images \
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/drafts
+install -m 644 doc/guide/admin/* ${RPM_BUILD_ROOT}/%{DOCDIR}/adminguide
+install -m 644 doc/guide/images/*.gif ${RPM_BUILD_ROOT}/%{DOCDIR}/images
+install -m 644 doc/drafts/* ${RPM_BUILD_ROOT}/%{DOCDIR}/drafts
install -m 644 ANNOUNCEMENT \
COPYRIGHT \
LICENSE \
README \
CHANGES \
%{SOURCE5} \
- $RPM_BUILD_ROOT/%{DOCDIR}
+ ${RPM_BUILD_ROOT}/%{DOCDIR}
install -m 644 servers/slapd/slapd.ldif \
- $RPM_BUILD_ROOT/%{DOCDIR}/slapd.ldif.default
-rm -f $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example
-rm -f $RPM_BUILD_ROOT/etc/openldap/schema/README
-rm -f $RPM_BUILD_ROOT/etc/openldap/slapd.ldif*
-rm -f $RPM_BUILD_ROOT%{_rundir}/slapd/openldap-data/DB_CONFIG.example
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/slapd.ldif.default
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/DB_CONFIG.example
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/schema/README
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/slapd.ldif*
+rm -f ${RPM_BUILD_ROOT}/%{_rundir}/openldap-data/DB_CONFIG.example
mv servers/slapd/back-sql/rdbms_depend servers/slapd/back-sql/examples
# Provide SUSE policy symlink /usr/sbin/rcFOO -> /etc/init.d/FOO
# /usr/sbin/service exists only since openSUSE 12.3:
@@ -305,16 +376,15 @@
ln -s /sbin/service %{buildroot}%{_sbindir}/rcslapd
%endif
%endif
-rm -f $RPM_BUILD_ROOT/usr/lib/openldap/modules/*.a
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-dnssrv.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-ndb.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-null.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-passwd.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-shell.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-sock.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-tcl.5
+rm -f ${RPM_BUILD_ROOT}/%{_libdir}/openldap/*.a
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-dnssrv.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-ndb.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-null.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-passwd.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-shell.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-tcl.5
# Remove *.la files, libtool does not handle this correct
-rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/lib*.la
#put filelists into files
cat >openldap2.filelist <<EOF
@@ -328,36 +398,45 @@
%dir /etc/openldap/schema
%config /etc/openldap/schema/*.schema
%config /etc/openldap/schema/*.ldif
-%config(noreplace) %attr(640, root, ldap) /etc/openldap/slapd.conf
+%config(noreplace) %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf
%config(noreplace) %attr(640, ldap, ldap) /var/lib/ldap/DB_CONFIG
%config /var/lib/ldap/DB_CONFIG.example
-%attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.default
+%config %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.default
+%config %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.example
%config(noreplace) /etc/sasl2/slapd.conf
%dir /usr/lib/openldap
-%dir /usr/lib/openldap/modules
-/usr/lib/openldap/modules/accesslog*
-/usr/lib/openldap/modules/auditlog*
-/usr/lib/openldap/modules/collect*
-/usr/lib/openldap/modules/constraint*
-/usr/lib/openldap/modules/dds*
-/usr/lib/openldap/modules/deref*
-/usr/lib/openldap/modules/dyngroup*
-/usr/lib/openldap/modules/dynlist*
-/usr/lib/openldap/modules/memberof*
-/usr/lib/openldap/modules/pcache*
-/usr/lib/openldap/modules/refint*
-/usr/lib/openldap/modules/retcode*
-/usr/lib/openldap/modules/rwm*
-/usr/lib/openldap/modules/seqmod*
-/usr/lib/openldap/modules/sssvlv*
-/usr/lib/openldap/modules/translucent*
-/usr/lib/openldap/modules/unique*
-/usr/lib/openldap/modules/valsort*
-/usr/lib/openldap/slapd
+%dir /%{_libdir}/openldap
+%{_libdir}/openldap/back_bdb*
+%{_libdir}/openldap/back_hdb*
+%{_libdir}/openldap/back_ldap*
+%{_libdir}/openldap/back_mdb*
+%{_libdir}/openldap/back_monitor*
+%{_libdir}/openldap/back_relay*
+%{_libdir}/openldap/accesslog*
+%{_libdir}/openldap/auditlog*
+%{_libdir}/openldap/collect*
+%{_libdir}/openldap/constraint*
+%{_libdir}/openldap/dds*
+%{_libdir}/openldap/deref*
+%{_libdir}/openldap/dyngroup*
+%{_libdir}/openldap/dynlist*
+%{_libdir}/openldap/memberof*
+%{_libdir}/openldap/pcache*
+%{_libdir}/openldap/ppolicy*
+%{_libdir}/openldap/refint*
+%{_libdir}/openldap/retcode*
+%{_libdir}/openldap/rwm*
+%{_libdir}/openldap/seqmod*
+%{_libdir}/openldap/sssvlv*
+%{_libdir}/openldap/syncprov*
+%{_libdir}/openldap/translucent*
+%{_libdir}/openldap/unique*
+%{_libdir}/openldap/valsort*
+%{_libdir}/slapd
/usr/lib/openldap/start
-/usr/lib/systemd/system/slapd.service
-%dir %attr(0700, ldap, ldap) /var/lib/ldap
-%dir %attr(0755, ldap, ldap) %ghost %{_rundir}/slapd
+%{_unitdir}/slapd.service
+%dir %attr(0750, ldap, ldap) /var/lib/ldap
+%ghost %attr(0750, ldap, ldap) %{_rundir}
%doc %{_mandir}/man8/sl*
%doc %{_mandir}/man5/slapd.*
%doc %{_mandir}/man5/slapd-bdb.*
@@ -417,20 +496,37 @@
%_libdir/libldap*.a
EOF
cat > openldap2-back-perl.filelist <<EOF
-/usr/lib/openldap/modules/back_perl*
+%{_libdir}/openldap/back_perl*
%doc %{_mandir}/man5/slapd-perl.*
EOF
+cat > openldap2-back-sock.filelist <<EOF
+%{_libdir}/openldap/back_sock*
+%doc %{_mandir}/man5/slapd-sock.*
+EOF
cat > openldap2-back-meta.filelist <<EOF
-/usr/lib/openldap/modules/back_meta*
+%{_libdir}/openldap/back_meta*
%doc %{_mandir}/man5/slapd-meta.*
EOF
cat > openldap2-back-sql.filelist <<EOF
-/usr/lib/openldap/modules/back_sql*
+%{_libdir}/openldap/back_sql*
%doc %{_mandir}/man5/slapd-sql.*
%doc servers/slapd/back-sql/examples
%doc servers/slapd/back-sql/docs/bugs
%doc servers/slapd/back-sql/docs/install
EOF
+cat > openldap2-contrib.filelist <<EOF
+%{_libdir}/openldap/allowed.*
+%{_libdir}/openldap/allop.*
+%{_libdir}/openldap/autogroup.*
+%{_libdir}/openldap/lastbind.*
+%{_libdir}/openldap/noopsrch.*
+%{_libdir}/openldap/nops.*
+%{_libdir}/openldap/pw-sha2.*
+%{_libdir}/openldap/pw-pbkdf2.*
+%{_libdir}/openldap/denyop.*
+%{_libdir}/openldap/cloak.*
+%{_libdir}/openldap/smbk5pwd.*
+EOF
cat >openldap2-doc.filelist <<EOF
%dir %{DOCDIR}
%doc %{DOCDIR}/drafts
@@ -442,20 +538,20 @@
cat openldap2-client.filelist libldap.filelist openldap2-devel.filelist \
openldap2-devel-static.filelist |
%else
-cat openldap2.filelist openldap2-back-perl.filelist \
+cat openldap2.filelist openldap2-back-perl.filelist openldap2-back-sock.filelist \
openldap2-back-meta.filelist openldap2-back-sql.filelist \
- openldap2-doc.filelist compat-libldap.filelist |
+ openldap2-doc.filelist openldap2-contrib.filelist |
%endif
grep -v "%dir " |sed -e "s|^.* ||" |grep "^/" |while read name ; do
- rm -rf $RPM_BUILD_ROOT$name
+ rm -rf ${RPM_BUILD_ROOT}${name}
done
%if "%{name}" == "openldap2"
%pre
/usr/sbin/groupadd -g 70 -o -r ldap || :
-/usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/bash -c "User for OpenLDAP" -d /var/lib/ldap ldap || :
+/usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/false -c "User for OpenLDAP" -d /var/lib/ldap ldap || :
if /usr/bin/chkconfig ldap 2>&1 | grep -q on; then
- touch /var/run/enable_slapd_service
+ touch %{_rundir}/enable_slapd_service
fi
%service_add_pre slapd.service
@@ -467,7 +563,7 @@
%{fillup_only -n openldap ldap}
%{remove_and_set -n openldap OPENLDAP_RUN_DB_RECOVER}
%service_add_post slapd.service
-if [ -f /var/run/enable_slapd_service ]; then
+if [ -f %{_rundir}/enable_slapd_service ]; then
/usr/bin/systemctl --quiet enable slapd
fi
@@ -483,6 +579,9 @@
%files -n openldap2-back-perl -f openldap2-back-perl.filelist
%defattr(-,root,root)
+%files -n openldap2-back-sock -f openldap2-back-sock.filelist
+%defattr(-,root,root)
+
%files -n openldap2-back-meta -f openldap2-back-meta.filelist
%defattr(-,root,root)
@@ -492,6 +591,9 @@
%files -n openldap2-doc -f openldap2-doc.filelist
%defattr(-,root,root)
+%files -n openldap2-contrib -f openldap2-contrib.filelist
+%defattr(-,root,root)
+
%else
%post -n libldap-2_4-2 -p /sbin/ldconfig
++++++ openldap2.spec ++++++
--- /var/tmp/diff_new_pack.UGwmDj/_old 2016-01-30 11:30:55.000000000 +0100
+++ /var/tmp/diff_new_pack.UGwmDj/_new 2016-01-30 11:30:55.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package openldap2
#
-# 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
@@ -17,52 +17,59 @@
%define run_test_suite 0
-%define version_main 2.4.42
+%define version_main 2.4.43
-%if ! %{defined _rundir}
-%define _rundir %{_localstatedir}/run
+%if %{suse_version} >= 1310 && %{suse_version} != 1315
+%define _rundir /run/slapd
+%else
+%define _rundir /var/run/slapd
%endif
Name: openldap2
Summary: The OpenLDAP Server
License: OLDAP-2.8
Group: Productivity/Networking/LDAP/Clients
-Version: 2.4.42
+Version: %{version_main}
Release: 0
Url: http://www.openldap.org
Source: openldap-%{version_main}.tgz
-Source1: openldap-rc.tgz
-Source2: addonschema.tar.gz
Source3: DB_CONFIG
Source4: sasl-slapd.conf
-Source5: README.dynamic-overlays
+Source5: README.module-loading
Source6: schema2ldif
Source7: baselibs.conf
-Patch1: 0001-build-adjustments.dif
+Source9: ldapns.schema
+Source10: rfc2307bis.schema
+Source11: yast.schema
+Source12: slapd.conf.example
+Source13: start
+Source14: slapd.service
+Source15: SuSEfirewall2.openldap
+Source16: sysconfig.openldap
Patch2: 0002-slapd.conf.dif
Patch3: 0003-LDAPI-socket-location.dif
-Patch4: 0004-libldap-use-gethostbyname_r.dif
Patch5: 0005-pie-compile.dif
Patch6: 0006-No-Build-date-and-time-in-binaries.dif
Patch7: 0007-Recover-on-DB-version-change.dif
Patch8: 0008-In-monitor-backend-do-not-return-Connection0-entries.patch
Patch9: 0009-Fix-ldap-host-lookup-ipv6.patch
-Patch10: 0010-Revert-Revert-ITS-8240-remove-obsolete-assert.patch
-Patch11: 0011-Enforce-minimum-DH-size-of-1024.patch
+Patch10: 0010-Enforce-minimum-DH-size-of-1024.patch
+Patch11: 0011-openldap-re24-its7796.patch
+Patch12: 0012-openldap-re24-its8336.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cyrus-sasl-devel
BuildRequires: groff
BuildRequires: libopenssl-devel
BuildRequires: libtool
+Requires: libldap-2_4-2 = %{version_main}
+Recommends: cyrus-sasl
%if "%{name}" == "openldap2"
BuildRequires: db-devel
BuildRequires: openslp-devel
-BuildRequires: tcpd-devel
BuildRequires: unixODBC-devel
Conflicts: openldap
-Requires: libldap-2_4-2 = %{version_main}
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
-%if 0%{?suse_version} >= 1140
+%if %{suse_version} >= 1310 && %{suse_version} != 1315
# avoid cycle with krb5
BuildRequires: krb5-mini
BuildRequires: pkgconfig(systemd)
@@ -70,7 +77,6 @@
%endif
%else
Conflicts: openldap-client
-Requires: libldap-2_4-2 = %{version_main}
%endif
# For /usr/bin/strings
Requires(pre): binutils
@@ -78,10 +84,10 @@
%if "%{name}" == "openldap2"
%description
-The Lightweight Directory Access Protocol (LDAP) is used to access
-online directory services. It runs directly over TCP and can be used to
-access a stand-alone LDAP directory service or to access a directory
-service that has an X.500 back-end.
+OpenLDAP is a client and server reference implementation of the
+Lightweight Directory Access Protocol v3 (LDAPv3).
+
+The server provides several database backends and overlays.
%package -n openldap2-back-perl
Summary: OpenLDAP Perl Back-End
@@ -93,6 +99,16 @@
The OpenLDAP Perl back-end allows you to execute Perl code specific to
different LDAP operations.
+%package -n openldap2-back-sock
+Summary: OpenLDAP Socket Back-End
+Group: Productivity/Networking/LDAP/Servers
+Requires: openldap2 = %{version_main}
+Provides: openldap2:/usr/share/man/man5/slapd-sock.5.gz
+
+%description -n openldap2-back-sock
+The OpenLDAP socket back-end allows you to handle LDAP requests and
+results with an external process listening on a Unix domain socket.
+
%package -n openldap2-back-meta
Summary: OpenLDAP Meta Back-End
Group: Productivity/Networking/LDAP/Servers
@@ -115,6 +131,25 @@
stored in a Relational (SQL) Database as an LDAP subtree without the need
to do any programming.
+%package -n openldap2-contrib
+Summary: OpenLDAP Contrib Modules
+Group: Productivity/Networking/LDAP/Servers
+Requires: openldap2 = %{version_main}
+
+%description -n openldap2-contrib
+Various overlays found in contrib/:
+allop
+allowed Generates attributes indicating access rights
+autogroup
+cloak
+denyop
+lastbind writes last bind timestamp to entry
+noopsrch handles no-op search control
+nops
+pw-sha2 generates/validates SHA-2 password hashes
+pw-pbkdf2 generates/validates PBKDF2 password hashes
+smbk5pwd generates Samba3 password hashes (heimdal krb disabled)
+
%package -n openldap2-doc
Summary: OpenLDAP Documentation
Group: Documentation/Other
@@ -126,6 +161,7 @@
%description -n openldap2-doc
The OpenLDAP Admin Guide plus a set of OpenLDAP related IETF internet drafts
+
Authors:
--------
The OpenLDAP Project <project(a)openldap.org>
@@ -145,6 +181,7 @@
#
Conflicts: openldap-devel
Requires: libldap-2_4-2 = %{version_main}
+Recommends: cyrus-sasl-devel
%description -n openldap2-devel
This package provides the OpenLDAP libraries, header files, and
@@ -171,11 +208,10 @@
%endif
%prep
-%setup -q -n openldap-%{version_main} -a1 -a2
-%patch1 -p1
+%setup -q -n openldap-%{version_main}
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
@@ -183,49 +219,65 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
cp %{SOURCE5} .
%build
-%{?suse_update_config:%{suse_update_config -f build}}
-libtoolize --force
-autoreconf
-export CFLAGS="$RPM_OPT_FLAGS -Wno-format-extra-args -fno-strict-aliasing -DLDAP_DEPRECATED -DLDAP_CONNECTIONLESS -DSLAP_CONFIG_DELETE"
+# %{?suse_update_config:%{suse_update_config -f build}}
+#libtoolize --force
+#autoreconf
+# export CFLAGS="${RPM_OPT_FLAGS} -Wno-format-extra-args -fno-strict-aliasing -DNDEBUG -DSLAP_CONFIG_DELETE -DSLAP_SCHEMA_EXPOSE -DLDAP_COLLECTIVE_ATTRIBUTES"
+export CFLAGS="-Wno-format-extra-args -fno-strict-aliasing -DNDEBUG -DSLAP_CONFIG_DELETE -DSLAP_SCHEMA_EXPOSE -DLDAP_COLLECTIVE_ATTRIBUTES"
export STRIP=""
-%configure \
- --localstatedir=%{_rundir}/slapd \
- --libexecdir=/usr/lib/openldap \
- --enable-wrappers \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=%{_sysconfdir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
+ --localstatedir=%{_rundir} \
+ --enable-wrappers=no \
--enable-spasswd \
--enable-modules \
--enable-shared \
--enable-dynamic \
- --with-tls \
+ --with-tls=openssl \
--with-cyrus-sasl \
--enable-crypt \
--enable-ipv6=yes \
%if "%{name}" == "openldap2"
--enable-aci \
- --enable-bdb \
- --enable-hdb \
+ --enable-bdb=mod \
+ --enable-hdb=mod \
--enable-rewrite \
- --enable-ldap=yes \
+ --enable-ldap=mod \
--enable-meta=mod \
- --enable-monitor=yes \
+ --enable-monitor=mod \
--enable-perl=mod \
+ --enable-sock=mod \
--enable-sql=mod \
- --enable-mdb=yes \
+ --enable-mdb=mod \
+ --enable-relay=mod \
--enable-slp \
--enable-overlays=mod \
- --enable-syncprov=yes \
- --enable-ppolicy=yes \
+ --enable-syncprov=mod \
+ --enable-ppolicy=mod \
%else
--disable-slapd \
%endif
--enable-lmpasswd \
- --with-yielding-select
+ --with-yielding-select \
+ || cat config.log
make depend
make %{?_smp_mflags}
%if "%{name}" == "openldap2"
+# Build selected contrib overlays
+for SLAPO_NAME in allowed allop autogroup lastbind nops denyop cloak noopsrch passwd/sha2 passwd/pbkdf2
+do
+ make -C contrib/slapd-modules/${SLAPO_NAME} %{?_smp_mflags} "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}"
+done
+# One more level up needed because of passwd/sha2
+# slapo-smbk5pwd only for Samba password hashes
+make -C contrib/slapd-modules/smbk5pwd %{?_smp_mflags} "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" DEFS="-DDO_SAMBA" HEIMDAL_LIB=""
%endif
%check
@@ -254,50 +306,67 @@
%endif
%install
-mkdir -p $RPM_BUILD_ROOT/usr/lib/openldap/
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
-make STRIP="" DESTDIR=$RPM_BUILD_ROOT install
-install -m 755 start $RPM_BUILD_ROOT/usr/lib/openldap/start
-install -m 644 slapd.service $RPM_BUILD_ROOT/%{_unitdir}
-mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/openldap/slapd.d
-mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2
-install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2/slapd.conf
-install -m 755 -d $RPM_BUILD_ROOT/var/lib/ldap
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/liblber.so*
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap_r.so*
-chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap.so*
-install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/usr/sbin/schema2ldif
+mkdir -p ${RPM_BUILD_ROOT}/%{_libdir}/openldap
+mkdir -p ${RPM_BUILD_ROOT}/usr/lib/openldap
+mkdir -p ${RPM_BUILD_ROOT}/usr/sbin
+mkdir -p ${RPM_BUILD_ROOT}/%{_unitdir}
+make STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+# Additional symbolic link to slapd executable in /usr/sbin/
+%if "%{name}" == "openldap2"
+ln -s %{_libdir}/slapd ${RPM_BUILD_ROOT}/usr/sbin/slapd
+%endif
+%if "%{name}" == "openldap2"
+# Install selected contrib overlays
+for SLAPO_NAME in allowed allop autogroup lastbind nops denyop cloak noopsrch passwd/sha2 passwd/pbkdf2
+do
+ make -C contrib/slapd-modules/${SLAPO_NAME} STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+done
+# slapo-smbk5pwd only for Samba password hashes
+make -C contrib/slapd-modules/smbk5pwd STRIP="" "DESTDIR=${RPM_BUILD_ROOT}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}" install
+%endif
+install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}/usr/lib/openldap/start
+install -m 644 %{SOURCE14} ${RPM_BUILD_ROOT}/%{_unitdir}
+mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/slapd.d
+mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/sasl2
+install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_sysconfdir}/sasl2/slapd.conf
+install -m 755 -d ${RPM_BUILD_ROOT}/var/lib/ldap
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/liblber.so*
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/libldap_r.so*
+chmod a+x ${RPM_BUILD_ROOT}/%{_libdir}/libldap.so*
+install -m 755 %{SOURCE6} ${RPM_BUILD_ROOT}/usr/sbin/schema2ldif
%if "%{name}" == "openldap2"
%define DOCDIR %{_defaultdocdir}/%{name}
-mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
-install -m 644 sysconfig.openldap $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.openldap
-install -m 644 *.schema $RPM_BUILD_ROOT/etc/openldap/schema
-install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG
-install -m 644 $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG.example
-install -d $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/
-install -m 644 SuSEfirewall2.openldap $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/openldap
+mkdir -p ${RPM_BUILD_ROOT}/var/adm/fillup-templates
+install -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.openldap
+install -m 644 %{SOURCE9} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE10} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap/schema
+install -m 644 %{SOURCE12} ${RPM_BUILD_ROOT}%{_sysconfdir}/openldap
+install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}/var/lib/ldap/DB_CONFIG
+install -m 644 ${RPM_BUILD_ROOT}/etc/openldap/DB_CONFIG.example ${RPM_BUILD_ROOT}/var/lib/ldap/DB_CONFIG.example
+install -d ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/
+install -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/openldap
rm -f `find doc/guide ! -name *.html -a ! -name *.gif -a ! -name *.png -a ! -type d`
rm -rf doc/guide/release
-install -d $RPM_BUILD_ROOT/%{DOCDIR}/adminguide \
- $RPM_BUILD_ROOT/%{DOCDIR}/images \
- $RPM_BUILD_ROOT/%{DOCDIR}/drafts
-install -m 644 doc/guide/admin/* $RPM_BUILD_ROOT/%{DOCDIR}/adminguide
-install -m 644 doc/guide/images/*.gif $RPM_BUILD_ROOT/%{DOCDIR}/images
-install -m 644 doc/drafts/* $RPM_BUILD_ROOT/%{DOCDIR}/drafts
+install -d ${RPM_BUILD_ROOT}/%{DOCDIR}/adminguide \
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/images \
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/drafts
+install -m 644 doc/guide/admin/* ${RPM_BUILD_ROOT}/%{DOCDIR}/adminguide
+install -m 644 doc/guide/images/*.gif ${RPM_BUILD_ROOT}/%{DOCDIR}/images
+install -m 644 doc/drafts/* ${RPM_BUILD_ROOT}/%{DOCDIR}/drafts
install -m 644 ANNOUNCEMENT \
COPYRIGHT \
LICENSE \
README \
CHANGES \
%{SOURCE5} \
- $RPM_BUILD_ROOT/%{DOCDIR}
+ ${RPM_BUILD_ROOT}/%{DOCDIR}
install -m 644 servers/slapd/slapd.ldif \
- $RPM_BUILD_ROOT/%{DOCDIR}/slapd.ldif.default
-rm -f $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example
-rm -f $RPM_BUILD_ROOT/etc/openldap/schema/README
-rm -f $RPM_BUILD_ROOT/etc/openldap/slapd.ldif*
-rm -f $RPM_BUILD_ROOT%{_rundir}/slapd/openldap-data/DB_CONFIG.example
+ ${RPM_BUILD_ROOT}/%{DOCDIR}/slapd.ldif.default
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/DB_CONFIG.example
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/schema/README
+rm -f ${RPM_BUILD_ROOT}/etc/openldap/slapd.ldif*
+rm -f ${RPM_BUILD_ROOT}/%{_rundir}/openldap-data/DB_CONFIG.example
mv servers/slapd/back-sql/rdbms_depend servers/slapd/back-sql/examples
# Provide SUSE policy symlink /usr/sbin/rcFOO -> /etc/init.d/FOO
# /usr/sbin/service exists only since openSUSE 12.3:
@@ -307,16 +376,15 @@
ln -s /sbin/service %{buildroot}%{_sbindir}/rcslapd
%endif
%endif
-rm -f $RPM_BUILD_ROOT/usr/lib/openldap/modules/*.a
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-dnssrv.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-ndb.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-null.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-passwd.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-shell.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-sock.5
-rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-tcl.5
+rm -f ${RPM_BUILD_ROOT}/%{_libdir}/openldap/*.a
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-dnssrv.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-ndb.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-null.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-passwd.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-shell.5
+rm -f ${RPM_BUILD_ROOT}/usr/share/man/man5/slapd-tcl.5
# Remove *.la files, libtool does not handle this correct
-rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/lib*.la
#put filelists into files
cat >openldap2.filelist <<EOF
@@ -330,36 +398,45 @@
%dir /etc/openldap/schema
%config /etc/openldap/schema/*.schema
%config /etc/openldap/schema/*.ldif
-%config(noreplace) %attr(640, root, ldap) /etc/openldap/slapd.conf
+%config(noreplace) %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf
%config(noreplace) %attr(640, ldap, ldap) /var/lib/ldap/DB_CONFIG
%config /var/lib/ldap/DB_CONFIG.example
-%attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.default
+%config %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.default
+%config %attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.example
%config(noreplace) /etc/sasl2/slapd.conf
%dir /usr/lib/openldap
-%dir /usr/lib/openldap/modules
-/usr/lib/openldap/modules/accesslog*
-/usr/lib/openldap/modules/auditlog*
-/usr/lib/openldap/modules/collect*
-/usr/lib/openldap/modules/constraint*
-/usr/lib/openldap/modules/dds*
-/usr/lib/openldap/modules/deref*
-/usr/lib/openldap/modules/dyngroup*
-/usr/lib/openldap/modules/dynlist*
-/usr/lib/openldap/modules/memberof*
-/usr/lib/openldap/modules/pcache*
-/usr/lib/openldap/modules/refint*
-/usr/lib/openldap/modules/retcode*
-/usr/lib/openldap/modules/rwm*
-/usr/lib/openldap/modules/seqmod*
-/usr/lib/openldap/modules/sssvlv*
-/usr/lib/openldap/modules/translucent*
-/usr/lib/openldap/modules/unique*
-/usr/lib/openldap/modules/valsort*
-/usr/lib/openldap/slapd
+%dir /%{_libdir}/openldap
+%{_libdir}/openldap/back_bdb*
+%{_libdir}/openldap/back_hdb*
+%{_libdir}/openldap/back_ldap*
+%{_libdir}/openldap/back_mdb*
+%{_libdir}/openldap/back_monitor*
+%{_libdir}/openldap/back_relay*
+%{_libdir}/openldap/accesslog*
+%{_libdir}/openldap/auditlog*
+%{_libdir}/openldap/collect*
+%{_libdir}/openldap/constraint*
+%{_libdir}/openldap/dds*
+%{_libdir}/openldap/deref*
+%{_libdir}/openldap/dyngroup*
+%{_libdir}/openldap/dynlist*
+%{_libdir}/openldap/memberof*
+%{_libdir}/openldap/pcache*
+%{_libdir}/openldap/ppolicy*
+%{_libdir}/openldap/refint*
+%{_libdir}/openldap/retcode*
+%{_libdir}/openldap/rwm*
+%{_libdir}/openldap/seqmod*
+%{_libdir}/openldap/sssvlv*
+%{_libdir}/openldap/syncprov*
+%{_libdir}/openldap/translucent*
+%{_libdir}/openldap/unique*
+%{_libdir}/openldap/valsort*
+%{_libdir}/slapd
/usr/lib/openldap/start
-/usr/lib/systemd/system/slapd.service
-%dir %attr(0700, ldap, ldap) /var/lib/ldap
-%dir %attr(0755, ldap, ldap) %ghost %{_rundir}/slapd
+%{_unitdir}/slapd.service
+%dir %attr(0750, ldap, ldap) /var/lib/ldap
+%ghost %attr(0750, ldap, ldap) %{_rundir}
%doc %{_mandir}/man8/sl*
%doc %{_mandir}/man5/slapd.*
%doc %{_mandir}/man5/slapd-bdb.*
@@ -380,11 +457,6 @@
%doc %{DOCDIR}/CHANGES
%doc %{DOCDIR}/slapd.ldif.default
EOF
-%if %suse_version < 1130
-cat >>openldap2.filelist <<EOF
-/usr/sbin/openldap-2.3-slapcat
-EOF
-%endif
#
#
cat > openldap2-client.filelist <<EOF
@@ -424,20 +496,37 @@
%_libdir/libldap*.a
EOF
cat > openldap2-back-perl.filelist <<EOF
-/usr/lib/openldap/modules/back_perl*
+%{_libdir}/openldap/back_perl*
%doc %{_mandir}/man5/slapd-perl.*
EOF
+cat > openldap2-back-sock.filelist <<EOF
+%{_libdir}/openldap/back_sock*
+%doc %{_mandir}/man5/slapd-sock.*
+EOF
cat > openldap2-back-meta.filelist <<EOF
-/usr/lib/openldap/modules/back_meta*
+%{_libdir}/openldap/back_meta*
%doc %{_mandir}/man5/slapd-meta.*
EOF
cat > openldap2-back-sql.filelist <<EOF
-/usr/lib/openldap/modules/back_sql*
+%{_libdir}/openldap/back_sql*
%doc %{_mandir}/man5/slapd-sql.*
%doc servers/slapd/back-sql/examples
%doc servers/slapd/back-sql/docs/bugs
%doc servers/slapd/back-sql/docs/install
EOF
+cat > openldap2-contrib.filelist <<EOF
+%{_libdir}/openldap/allowed.*
+%{_libdir}/openldap/allop.*
+%{_libdir}/openldap/autogroup.*
+%{_libdir}/openldap/lastbind.*
+%{_libdir}/openldap/noopsrch.*
+%{_libdir}/openldap/nops.*
+%{_libdir}/openldap/pw-sha2.*
+%{_libdir}/openldap/pw-pbkdf2.*
+%{_libdir}/openldap/denyop.*
+%{_libdir}/openldap/cloak.*
+%{_libdir}/openldap/smbk5pwd.*
+EOF
cat >openldap2-doc.filelist <<EOF
%dir %{DOCDIR}
%doc %{DOCDIR}/drafts
@@ -449,32 +538,20 @@
cat openldap2-client.filelist libldap.filelist openldap2-devel.filelist \
openldap2-devel-static.filelist |
%else
-cat openldap2.filelist openldap2-back-perl.filelist \
+cat openldap2.filelist openldap2-back-perl.filelist openldap2-back-sock.filelist \
openldap2-back-meta.filelist openldap2-back-sql.filelist \
- openldap2-doc.filelist
+ openldap2-doc.filelist openldap2-contrib.filelist |
%endif
grep -v "%dir " |sed -e "s|^.* ||" |grep "^/" |while read name ; do
- rm -rf $RPM_BUILD_ROOT$name
+ rm -rf ${RPM_BUILD_ROOT}${name}
done
%if "%{name}" == "openldap2"
%pre
/usr/sbin/groupadd -g 70 -o -r ldap || :
-/usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/bash -c "User for OpenLDAP" -d /var/lib/ldap ldap || :
-# try to figure out if a db update is needed
-if [ ${1:-0} -gt 1 ] && [ -f /usr/lib/openldap/slapd ] &&
- /usr/bin/strings /usr/lib/openldap/slapd | \
- grep "slapd 2.3" 2>&1 > /dev/null;
-then
- # create a backup of the schema shipped with 2.3
- # at least core.schema changed between 2.3 and 2.4
- TEMPDIR=`mktemp -d /etc/openldap/schema.backup.XXXXXX`
- echo "Schema backup created in $TEMPDIR"
- cp -p --remove-destination /etc/openldap/schema/* $TEMPDIR
- echo $TEMPDIR > /etc/openldap/UPDATE_NEEDED ;
-fi
+/usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/false -c "User for OpenLDAP" -d /var/lib/ldap ldap || :
if /usr/bin/chkconfig ldap 2>&1 | grep -q on; then
- touch /var/run/enable_slapd_service
+ touch %{_rundir}/enable_slapd_service
fi
%service_add_pre slapd.service
@@ -486,7 +563,7 @@
%{fillup_only -n openldap ldap}
%{remove_and_set -n openldap OPENLDAP_RUN_DB_RECOVER}
%service_add_post slapd.service
-if [ -f /var/run/enable_slapd_service ]; then
+if [ -f %{_rundir}/enable_slapd_service ]; then
/usr/bin/systemctl --quiet enable slapd
fi
@@ -502,6 +579,9 @@
%files -n openldap2-back-perl -f openldap2-back-perl.filelist
%defattr(-,root,root)
+%files -n openldap2-back-sock -f openldap2-back-sock.filelist
+%defattr(-,root,root)
+
%files -n openldap2-back-meta -f openldap2-back-meta.filelist
%defattr(-,root,root)
@@ -511,6 +591,9 @@
%files -n openldap2-doc -f openldap2-doc.filelist
%defattr(-,root,root)
+%files -n openldap2-contrib -f openldap2-contrib.filelist
+%defattr(-,root,root)
+
%else
%post -n libldap-2_4-2 -p /sbin/ldconfig
++++++ 0002-slapd.conf.dif ++++++
--- /var/tmp/diff_new_pack.UGwmDj/_old 2016-01-30 11:30:55.000000000 +0100
+++ /var/tmp/diff_new_pack.UGwmDj/_new 2016-01-30 11:30:55.000000000 +0100
@@ -1,35 +1,38 @@
-From a8be17d4a1db1c6ee24b328f3f34e21ccb02ca3f Mon Sep 17 00:00:00 2001
-From: Ralf Haferkamp <rhafer(a)suse.de>
-Date: Wed, 16 Jun 2010 14:05:49 +0200
-Subject: slapd.conf
-
-
diff --git a/servers/slapd/slapd.conf b/servers/slapd/slapd.conf
-index 4938b85..9caf292 100644
+index 4938b85..b9bec75 100644
--- a/servers/slapd/slapd.conf
+++ b/servers/slapd/slapd.conf
-@@ -3,6 +3,10 @@
+@@ -2,7 +2,11 @@
+ # See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
- include %SYSCONFDIR%/schema/core.schema
-+include %SYSCONFDIR%/schema/cosine.schema
-+include %SYSCONFDIR%/schema/inetorgperson.schema
-+include %SYSCONFDIR%/schema/rfc2307bis.schema
-+include %SYSCONFDIR%/schema/yast.schema
+-include %SYSCONFDIR%/schema/core.schema
++include /etc/openldap/schema/core.schema
++include /etc/openldap/schema/cosine.schema
++include /etc/openldap/schema/inetorgperson.schema
++include /etc/openldap/schema/rfc2307bis.schema
++include /etc/openldap/schema/yast.schema
# Define global ACLs to disable default read access.
-@@ -10,8 +14,8 @@ include %SYSCONFDIR%/schema/core.schema
+@@ -10,13 +14,13 @@ include %SYSCONFDIR%/schema/core.schema
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
-pidfile %LOCALSTATEDIR%/run/slapd.pid
-argsfile %LOCALSTATEDIR%/run/slapd.args
-+pidfile %LOCALSTATEDIR%/slapd.pid
-+argsfile %LOCALSTATEDIR%/slapd.args
++pidfile /run/slapd/slapd.pid
++argsfile /run/slapd/slapd.args
# Load dynamic backend modules:
- # modulepath %MODULEDIR%
+-# modulepath %MODULEDIR%
++# modulepath /usr/lib/openldap
+ # moduleload back_bdb.la
+-# moduleload back_hdb.la
++moduleload back_hdb.la
+ # moduleload back_ldap.la
+
+ # Sample security restrictions
@@ -26,20 +30,30 @@ argsfile %LOCALSTATEDIR%/run/slapd.args
# security ssf=1 update_ssf=112 simple_bind=64
@@ -75,9 +78,12 @@
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
-@@ -52,6 +66,8 @@ argsfile %LOCALSTATEDIR%/run/slapd.args
+@@ -50,8 +64,10 @@ argsfile %LOCALSTATEDIR%/run/slapd.args
+ # BDB database definitions
+ #######################################################################
- database bdb
+-database bdb
++database hdb
suffix "dc=my-domain,dc=com"
+checkpoint 1024 5
+cachesize 10000
@@ -92,6 +98,3 @@
+directory /var/lib/ldap
# Indices to maintain
index objectClass eq
---
-1.7.10.4
-
++++++ 0011-Enforce-minimum-DH-size-of-1024.patch -> 0010-Enforce-minimum-DH-size-of-1024.patch ++++++
++++++ 0011-openldap-re24-its7796.patch ++++++
diff --git a/servers/slapd/back-bdb/filterindex.c b/servers/slapd/back-bdb/filterindex.c
index 71e3ea4..bafef72 100644
--- a/servers/slapd/back-bdb/filterindex.c
+++ b/servers/slapd/back-bdb/filterindex.c
@@ -741,7 +741,7 @@ equality_candidates(
&db, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= bdb_equality_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -858,7 +858,7 @@ approx_candidates(
&db, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= bdb_approx_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -978,7 +978,7 @@ substring_candidates(
&db, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= bdb_substring_candidates: (%s) not indexed\n",
sub->sa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -1095,7 +1095,7 @@ inequality_candidates(
&db, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= bdb_inequality_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
diff --git a/servers/slapd/back-mdb/filterindex.c b/servers/slapd/back-mdb/filterindex.c
index 58c1cc8..20c58b7 100644
--- a/servers/slapd/back-mdb/filterindex.c
+++ b/servers/slapd/back-mdb/filterindex.c
@@ -709,7 +709,7 @@ equality_candidates(
&dbi, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= mdb_equality_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -825,7 +825,7 @@ approx_candidates(
&dbi, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= mdb_approx_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -944,7 +944,7 @@ substring_candidates(
&dbi, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= mdb_substring_candidates: (%s) not indexed\n",
sub->sa_desc->ad_cname.bv_val, 0, 0 );
return 0;
@@ -1060,7 +1060,7 @@ inequality_candidates(
&dbi, &mask, &prefix );
if ( rc == LDAP_INAPPROPRIATE_MATCHING ) {
- Debug( LDAP_DEBUG_ANY,
+ Debug( LDAP_DEBUG_TRACE,
"<= mdb_inequality_candidates: (%s) not indexed\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
return 0;
++++++ 0012-openldap-re24-its8336.patch ++++++
>From fd7bfbc0df0ade534bea84914d385ecf2a73f678 Mon Sep 17 00:00:00 2001
From: Howard Chu <hyc(a)openldap.org>
Date: Tue, 8 Dec 2015 18:17:24 +0000
Subject: ITS#8336 fix page_search_root assert on FreeDB
Let "illegal" branch pages thru on the FreeDB - the condition
is only temporary and will be fixed by the time rebalance finishes.
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index fa0c9e5..a624cba 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -5279,7 +5279,11 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags)
indx_t i;
DPRINTF(("branch page %"Z"u has %u keys", mp->mp_pgno, NUMKEYS(mp)));
- mdb_cassert(mc, NUMKEYS(mp) > 1);
+ /* Don't assert on branch pages in the FreeDB. We can get here
+ * while in the process of rebalancing a FreeDB branch page; we must
+ * let that proceed. ITS#8336
+ */
+ mdb_cassert(mc, !mc->mc_dbi || NUMKEYS(mp) > 1);
DPRINTF(("found index 0 to page %"Z"u", NODEPGNO(NODEPTR(mp, 0))));
if (flags & (MDB_PS_FIRST|MDB_PS_LAST)) {
++++++ README.module-loading ++++++
All of the OpenLDAP backends (except back-config) and overlays are now
compiled as dynamic modules in our packages. If you want to use any of
these in your setup make sure to put the correct "olcModuleLoad" or
"moduleload" statements in your configuration.
For details please see the slapd-config(5) and slapd.conf(5) manpages
(depending on which config mechanism you use).
For a list of the included dynamic modules list all modules files:
ls /usr/lib*/openldap/*.so
Or just the backend files:
ls /usr/lib*/openldap/back_*.so
Documentations for the overlays can be found in the respective man pages or
the OpenLDAP Administration Guide which is part of the "openldap2-doc"
package.
Backend man-pages:
man 5 slapo-<back_name>
Overlays man-pages:
man 5 slapo-<name>
++++++ SuSEfirewall2.openldap ++++++
## Name: OpenLDAP Server
## Description: Opens ports for the OpenLDAP Server (slapd).
# space separated list of allowed TCP ports
TCP="ldap ldaps"
# space separated list of allowed UDP ports
UDP="ldap"
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP broadcast ports
BROADCAST=""
++++++ ldapns.schema ++++++
# $Id: ldapns.schema,v 1.3 2003/05/29 12:57:29 lukeh Exp $
# LDAP Name Service Additional Schema
# http://www.iana.org/assignments/gssapi-service-names
attributetype ( 1.3.6.1.4.1.5322.17.2.1 NAME 'authorizedService'
DESC 'IANA GSS-API authorized service name'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
objectclass ( 1.3.6.1.4.1.5322.17.1.1 NAME 'authorizedServiceObject'
DESC 'Auxiliary object class for adding authorizedService attribute'
SUP top
AUXILIARY
MAY authorizedService )
objectclass ( 1.3.6.1.4.1.5322.17.1.2 NAME 'hostObject'
DESC 'Auxiliary object class for adding host attribute'
SUP top
AUXILIARY
MAY host )
++++++ openldap-2.4.42.tgz -> openldap-2.4.43.tgz ++++++
++++ 6915 lines of diff (skipped)
++++++ rfc2307bis.schema ++++++
# builtin
#
#attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
# DESC 'An integer uniquely identifying a user in an administrative domain'
# EQUALITY integerMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
# SINGLE-VALUE )
# builtin
#
#attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
# DESC 'An integer uniquely identifying a group in an
# administrative domain'
# EQUALITY integerMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
# SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
DESC 'The GECOS field; the common name'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'
DESC 'The absolute path to the home directory'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell'
DESC 'The path to the login shell'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup'
EQUALITY caseExactIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple'
DESC 'Netgroup triple'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort'
DESC 'Service port number'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol'
DESC 'Service protocol name'
SUP name )
attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber'
DESC 'IP protocol number'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber'
DESC 'ONC RPC number'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber'
DESC 'IPv4 addresses as a dotted decimal omitting leading
zeros or IPv6 addresses as defined in RFC2373'
SUP name )
attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber'
DESC 'IP network as a dotted decimal, eg. 192.168,
omitting leading zeros'
SUP name
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber'
DESC 'IP netmask as a dotted decimal, eg. 255.255.255.0,
omitting leading zeros'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress'
DESC 'MAC address in maximal, colon separated hex
notation, eg. 00:00:92:90:ee:e2'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter'
DESC 'rpc.bootparamd parameter'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile'
DESC 'Boot image name'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName'
DESC 'Name of a A generic NIS map'
SUP name )
attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry'
DESC 'A generic NIS entry'
EQUALITY caseExactIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.28 NAME 'nisPublicKey'
DESC 'NIS public key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.29 NAME 'nisSecretKey'
DESC 'NIS secret key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.30 NAME 'nisDomain'
DESC 'NIS domain'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
attributetype ( 1.3.6.1.1.1.1.31 NAME 'automountMapName'
DESC 'automount Map Name'
EQUALITY caseExactIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.32 NAME 'automountKey'
DESC 'Automount Key value'
EQUALITY caseExactIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.33 NAME 'automountInformation'
DESC 'Automount information'
EQUALITY caseExactIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' SUP top AUXILIARY
DESC 'Abstraction of an account with POSIX attributes'
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
MAY ( userPassword $ loginShell $ gecos $
description ) )
objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount' SUP top AUXILIARY
DESC 'Additional attributes for shadow passwords'
MUST uid
MAY ( userPassword $ description $
shadowLastChange $ shadowMin $ shadowMax $
shadowWarning $ shadowInactive $
shadowExpire $ shadowFlag ) )
objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup' SUP top AUXILIARY
DESC 'Abstraction of a group of accounts'
MUST gidNumber
MAY ( userPassword $ memberUid $
description ) )
objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService' SUP top STRUCTURAL
DESC 'Abstraction an Internet Protocol service.
Maps an IP port and protocol (such as tcp or udp)
to one or more names; the distinguished value of
the cn attribute denotes the services canonical
name'
MUST ( cn $ ipServicePort $ ipServiceProtocol )
MAY description )
objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol' SUP top STRUCTURAL
DESC 'Abstraction of an IP protocol. Maps a protocol number
to one or more names. The distinguished value of the cn
attribute denotes the protocols canonical name'
MUST ( cn $ ipProtocolNumber )
MAY description )
objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc' SUP top STRUCTURAL
DESC 'Abstraction of an Open Network Computing (ONC)
[RFC1057] Remote Procedure Call (RPC) binding.
This class maps an ONC RPC number to a name.
The distinguished value of the cn attribute denotes
the RPC services canonical name'
MUST ( cn $ oncRpcNumber )
MAY description )
objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost' SUP top AUXILIARY
DESC 'Abstraction of a host, an IP device. The distinguished
value of the cn attribute denotes the hosts canonical
name. Device SHOULD be used as a structural class'
MUST ( cn $ ipHostNumber )
MAY ( userPassword $ l $ description $ manager ) )
objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork' SUP top STRUCTURAL
DESC 'Abstraction of a network. The distinguished value of
the cn attribute denotes the networks canonical name'
MUST ipNetworkNumber
MAY ( cn $ ipNetmaskNumber $ l $ description $ manager ) )
objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup' SUP top STRUCTURAL
DESC 'Abstraction of a netgroup. May refer to other netgroups'
MUST cn
MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )
objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap' SUP top STRUCTURAL
DESC 'A generic abstraction of a NIS map'
MUST nisMapName
MAY description )
objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject' SUP top STRUCTURAL
DESC 'An entry in a NIS map'
MUST ( cn $ nisMapEntry $ nisMapName )
MAY description )
objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device' SUP top AUXILIARY
DESC 'A device with a MAC address; device SHOULD be
used as a structural class'
MAY macAddress )
objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice' SUP top AUXILIARY
DESC 'A device with boot parameters; device SHOULD be
used as a structural class'
MAY ( bootFile $ bootParameter ) )
objectclass ( 1.3.6.1.1.1.2.14 NAME 'nisKeyObject' SUP top AUXILIARY
DESC 'An object with a public and secret key'
MUST ( cn $ nisPublicKey $ nisSecretKey )
MAY ( uidNumber $ description ) )
objectclass ( 1.3.6.1.1.1.2.15 NAME 'nisDomainObject' SUP top AUXILIARY
DESC 'Associates a NIS domain with a naming context'
MUST nisDomain )
objectclass ( 1.3.6.1.1.1.2.16 NAME 'automountMap' SUP top STRUCTURAL
MUST ( automountMapName )
MAY description )
objectclass ( 1.3.6.1.1.1.2.17 NAME 'automount' SUP top STRUCTURAL
DESC 'Automount information'
MUST ( automountKey $ automountInformation )
MAY description )
## namedObject is needed for groups without members
objectclass ( 1.3.6.1.4.1.5322.13.1.1 NAME 'namedObject' SUP top
STRUCTURAL MAY cn )
++++++ slapd.conf.example ++++++
############################################################################
# See slapd.conf(5) for details on configuration options.
# This file SHOULD NOT be world readable.
#
# Important note:
# You surely have to adjust some settings to meet your (security)
# requirements.
# At least you should replace suffix "dc=example,dc=com" by
# something meaningful for your setup.
# If you plan to use OpenLDAP server as backend for Samba and/or Kerberos
# KDC then you MUST add decent ACLs for protecting user credentials!
#
# Read the man pages before changing something!
#
# You can debug the config by running (as root while slapd stopped):
# /usr/sbin/slapd -f /etc/openldap/slapd.conf -u ldap -g ldap -h "ldapi:/// ldap://127.0.0.1" -d 65535
############################################################################
#---------------------------------------------------------------------------
# slapd global parameters
#---------------------------------------------------------------------------
# serverID must be unique across all provider replicas
# for using multi-master replication (MMR)
serverID 99
# only alter this when you know what you're doing
#threads 4
# Run-time files
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
# for more debugging set:
#loglevel config stats stats2
loglevel stats
#---------------------------------------------------------------------------
# Load runtime loadable modules
#---------------------------------------------------------------------------
# Load additional backend modules installed by package 'openldap2'
# The following backends are statically built-in and therefore don't have
# to be loaded here:
# config, ldif, monitor, bdb, hdb, ldap, mdb, relay
#moduleload back_
#moduleload back_
#moduleload back_mdb
#moduleload back_meta
#moduleload back_sock
# Load additional overlay modules installed by package 'openldap2'
# The following overlay are statically built-in and therefore don't have
# to be loaded here:
# ppolicy, syncprov
#moduleload accesslog
#moduleload constraint
#moduleload dds
#moduleload deref
#moduleload dynlist
#moduleload memberof
moduleload refint
#moduleload sssvlv
#moduleload translucent
moduleload unique
#moduleload valsort
# Load additional overlay modules installed by package 'openldap2-contrib'
#moduleload allowed
#moduleload lastbind
#moduleload noopsrch
#moduleload pw-pbkdf2
#moduleload pw-sha2
#moduleload smbk5pwd
#---------------------------------------------------------------------------
# Include schema files
#---------------------------------------------------------------------------
# Schema files installed by package 'openldap2'
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/rfc2307bis.schema
include /etc/openldap/schema/ppolicy.schema
#include /etc/openldap/schema/yast.schema
# Schema file installed by package 'dhcp-server'
#include /etc/openldap/schema/dhcp.schema
# Schema file installed by package 'samba'
#include /etc/openldap/schema/samba3.schema
# Schema file installed by package 'krb5-plugin-kdb-ldap'
#include /usr/share/doc/packages/krb5/kerberos.schema
#---------------------------------------------------------------------------
# Transport Layer Security (TLS) configuration
#---------------------------------------------------------------------------
# require at least TLS 1.0 and highly secure ciphers
#TLSProtocolMin 3.1
#TLSCipherSuite HIGH:!SSLv3:!SSLv2:!ADH
# TLS certificate and key files
#TLSCACertificateFile /etc/ssl/ca-bundle.pem
#TLSCertificateFile /etc/openldap/ssl.crt/server.crt
#TLSCertificateKeyFile /etc/openldap/ssl.key/server.key
# For enabling Perfect Forward Secrecy (PFS), see dhparam(1)
#TLSDHParamFile /etc/openldap/ssl.key/dhparam
#---------------------------------------------------------------------------
# Password hashing
#---------------------------------------------------------------------------
#password-hash {CRYPT}
# Parameters for {CRYPT} scheme: SHA-512, 72 bits) of salt, 5000 iterations
#password-crypt-salt-format "$6$%.12s"
#---------------------------------------------------------------------------
# Security requirements
#---------------------------------------------------------------------------
#disallow bind_anon
#require bind LDAPv3 strong
# SSF value for ldapi://
localSSF 256
# minimum required SSF value (security strength factor)
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
#security ssf=128 update_ssf=256 simple_bind=128
security ssf=0
#---------------------------------------------------------------------------
# Global access control (ACLs)
#---------------------------------------------------------------------------
# Root DSE: allow anyone to read it
access to
dn.base=""
by * read
# Sub schema sub entry: allow anyone to read it
access to
dn.base="cn=Subschema"
by * read
#---------------------------------------------------------------------------
# Authz-DN mappings
#---------------------------------------------------------------------------
# If connected via IPC socket (ldapi:///) and SASL/EXTERNAL was used
# System user root is mapped to the rootdn in database dc=example,dc=com
# which has also read access on config and monitor databases
authz-regexp
"gidNumber=0\\+uidNumber=0,cn=peercred,cn=external,cn=auth"
"cn=root,dc=example,dc=com"
# Map local system user to LDAP entry
# if connected via IPC socket (ldapi:///) and SASL/EXTERNAL was used
authz-regexp
"gidnumber=([0-9]+)\\+uidnumber=([0-9]+),cn=peercred,cn=external,cn=auth"
"ldap:///dc=example,dc=com??sub?(&(objectClass=posixAccount)(uidNumber=$2)(gidNumber=$1))"
# this maps the attribute uid to a LDAP entry
# if one of the typical password-based SASL mechs was used
authz-regexp
"uid=([a-zA-Z0-9_-]+),cn=(DIGEST-MD5|CRAM-MD5|NTLM|PLAIN|LOGIN|SCRAM-SHA-1),cn=auth"
"ldap:///dc=example,dc=com??sub?(uid=$1)"
# this maps the attribute uid to a LDAP entry
# if one of the Kerberos based SASL mechs was used
#authz-regexp
# "uid=([a-zA-Z0-9_-]+),cn=(GSSAPI|GS2-KRB5|GS2-IAKERB),cn=auth"
# "ldap:///dc=example,dc=com??sub?(|(krbPrincipalName=$1)(krbPrincipalAlias=$1))"
# Map client cert subject DN to LDAP entry if SASL/EXTERNAL was used
#authz-regexp
# "(.+)"
# "ldap:///dc=example,dc=com??sub?(&(objectClass=pkiUser)(seeAlso=$1))"
#===========================================================================
# Database specific configuration sections below
# Required order of databases:
# config (first), ...others..., monitor (last)
#===========================================================================
#---------------------------------------------------------------------------
# cn=config // Configuration database (always first!)
# see slapd-config(5)
#---------------------------------------------------------------------------
database config
# Cleartext passwords, especially for the rootdn, should
# be avoid! See slappasswd(8) and slapd.conf(5) for details.
# Best thing is not to set rootpw at all!
# For local config access by root use LDAPI with SASL/EXTERNAL instead
# (see above).
#rootpw secret
access to
dn.subtree="cn=config"
by dn.exact="cn=root,dc=example,dc=com" manage
by group.base="cn=slapd admins,ou=groups,dc=example,dc=com" read
by * none
#---------------------------------------------------------------------------
# dc=example,dc=com // Example MDB database to be used by normal clients
# see slapd-mdb(5)
#---------------------------------------------------------------------------
database mdb
suffix "dc=example,dc=com"
# rootdn has to be set for overlays' internal operations
rootdn "cn=root,dc=example,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid! See slappasswd(8) and slapd.conf(5) for details.
# Best thing is not to set rootpw at all!
rootpw secret
# The database directory MUST exist prior to running slapd and
# SHOULD only be accessible by the slapd user 'ldap'.
# mkdir /var/lib/ldap/example-db && chown ldap:ldap /var/lib/ldap/example-db && chmod 0700 /var/lib/ldap/example-db
directory /var/lib/ldap/example-db
# Permissions of database files created
mode 0600
# extra information to be available in cn=monitor for this database
monitoring on
# Perform ACL checks on the content of a new entry being added
add_content_acl on
# backend-specific database parameters
checkpoint 1024 5
# 100 MB (you can raise the limit later)
maxsize 104857600
# Indices to maintain
#
# Whenever you change indexing configuration you have to re-run slapindex
# while slapd being stopped!
# Don't forget to fix ownership/permissions of newly generated index files
# afterwards!
# set always!
index objectClass eq
# for typical address book use
index cn,sn,givenName,mail eq,sub
# for user management
index uid,uidNumber,gidNumber eq
# for authz-regexp mapping of Kerberos principal name
#index krbPrincipalName,krbPrincipalAlias eq
# for authz-regexp mapping of client cert subject DNs
#index seeAlso eq
# for syncrepl
index entryUUID,entryCSN eq
# access control lists (ACLs) for dc=example,dc=com
# see slapd.access(5) for details on access control lists (ACLs)
# full read access also to 'userPassword' for group of replicas
# and control is forwarded to subsequent ACLs
access to
dn.subtree=dc=example,dc=com
by group.base="cn=slapd replicas,ou=groups,dc=example,dc=com" read
by * break
# write-only access to 'userPassword' for user, auth access else
access to
attrs=userPassword
by self =w
by * auth
# 'userPKCS' must only be accessible by self
access to
attrs=userPKCS12
by self write
by * none
# No access to history of passwords
#access to
# attrs=pwdHistory
# by * none
# Catch-all ACL for the rest
access to
dn.subtree=dc=example,dc=com
by group.base="cn=slapd admins,ou=groups,dc=example,dc=com" manage
by self read
by users read
by * auth
# see slapo-ppolicy(5)
overlay ppolicy
# Default password policy entry
#ppolicy_default cn=ppolicy-default,ou=policies,dc=example,dc=com
# Hash clear-text userPassword values sent in with add/modify operations
#ppolicy_hash_cleartext
# Return AccountLocked error code to client
#ppolicy_use_lockout
# see slapo-refint(5)
overlay refint
refint_attributes member seeAlso
refint_nothing cn=dummy
# Check sub-tree wide uniqueness of certain attributes
# see slapo-unique(5)
# you have to add eq-index for efficient uniqueness check!
# Note that filter part is currently ignored because of OpenLDAP ITS#6825
overlay unique
unique_uri "ldap:///dc=example,dc=com?uid,uidNumber,homeDirectory?sub"
unique_uri "ldap:///ou=groups,dc=example,dc=com?cn,gidNumber?sub?(|(objectClass=groupOfNames)(objectClass=posixGroup))"
#unique_uri "ldap:///dc=example,dc=com?krbPrincipalName,krbPrincipalAlias?sub"
#unique_uri "ldap:///dc=example,dc=com?ipHostNumber?sub"
#unique_uri "ldap:///dc=example,dc=com?employeeNumber?sub"
#unique_uri "ldap:///dc=example,dc=com?uniqueIdentifier?sub"
#overlay syncprov
#mirrormode on
#---------------------------------------------------------------------------
# cn=monitor // Monitoring database (always last!)
# see slapd-monitor(5)
#---------------------------------------------------------------------------
database monitor
access to
dn.subtree="cn=monitor"
by dn.exact="cn=root,dc=example,dc=com" write
by group.base="cn=slapd admins,ou=groups,dc=example,dc=com" write
by users read
++++++ slapd.service ++++++
[Unit]
Description=OpenLDAP Server Daemon
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/lib/openldap/start
[Install]
WantedBy=multi-user.target
++++++ start ++++++
#! /bin/sh
# Copyright (c) 1997-2000 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany.
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# Author: Carsten Hoeger
# Ralf Haferkamp
#
# /etc/init.d/ldap
#
### BEGIN INIT INFO
# Provides: ldap
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: OpenLDAP Server (slapd)
# Description: Start and Stop the OpenLDAP Server (slapd) to
# provide LDAP directory services.
### END INIT INFO
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
test -f /etc/sysconfig/openldap && . /etc/sysconfig/openldap
SLAPD_BIN=/usr/sbin/slapd
LDAP_URLS=""
LDAPS_URLS=""
LDAPI_URLS=""
SLAPD_CONFIG_ARG="-F /etc/openldap/slapd.d"
SLAPD_PID_DIR="/var/run/slapd/"
test -x $SLAPD_BIN || exit 5
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num><num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
# First reset status of this service
rc_reset
function init_ldap_listener_urls(){
case "$OPENLDAP_START_LDAP" in
[Yy][Ee][Ss])
if [ -n "$OPENLDAP_LDAP_INTERFACES" ]
then
for iface in $OPENLDAP_LDAP_INTERFACES ;do
LDAP_URLS="$LDAP_URLS ldap://$iface"
done
else
LDAP_URLS="ldap:///"
fi
;;
esac
}
function init_ldapi_listener_urls(){
case "$OPENLDAP_START_LDAPI" in
[Yy][Ee][Ss])
if [ -n "$OPENLDAP_LDAPI_INTERFACES" ]
then
for iface in $OPENLDAP_LDAPI_INTERFACES ;do
esc_iface=`echo "$iface" | sed -e s'/\\//\\%2f/'g`
LDAPI_URLS="$LDAPI_URLS ldapi://$esc_iface"
done
else
LDAPI_URLS="ldapi:///"
fi
;;
esac
}
function init_ldaps_listener_urls(){
case "$OPENLDAP_START_LDAPS" in
[Yy][Ee][Ss])
if [ -n "$OPENLDAP_LDAPS_INTERFACES" ]
then
for iface in $OPENLDAP_LDAPS_INTERFACES ;do
LDAPS_URLS="$LDAPS_URLS ldaps://$iface"
done
else
LDAPS_URLS="ldaps:///"
fi
;;
esac
}
function check_connection(){
SLAPD_TIMEOUT=10
START=$( date +%s)
while [ $(( $( date +%s) - ${START} )) -lt ${SLAPD_TIMEOUT} ]; do
ldapsearch -x -H "$LDAP_URLS $LDAPI_URLS $LDAPS_URLS" -b "" -s base &>/dev/null
LDAPSEARCH_RC=$?
if [ ${LDAPSEARCH_RC} -ge 0 ] && [ ${LDAPSEARCH_RC} -le 80 ] ; then break
else sleep 1
fi
done
}
depth=0;
function chown_database_dirs_bconfig() {
ldapdir=$(find $1 -type f -name "olcDatabase*" | xargs grep -i olcdbdirectory | awk '{print $2}')
for dir in $ldapdir; do
[ -d "$dir" ] && [ -n "$OPENLDAP_USER" ] && \
chown -R $OPENLDAP_USER $dir 2>/dev/null
[ -d "$dir" ] && [ -n "$OPENLDAP_GROUP" ] && \
chgrp -R $OPENLDAP_GROUP $dir 2>/dev/null
done
}
function chown_database_dirs() {
ldapdir=`grep ^directory $1 | awk '{print $2}'`
for dir in $ldapdir; do
[ -d "$dir" ] && [ -n "$OPENLDAP_USER" ] && \
chown -R $OPENLDAP_USER $dir 2>/dev/null
[ -d "$dir" ] && [ -n "$OPENLDAP_GROUP" ] && \
chgrp -R $OPENLDAP_GROUP $dir 2>/dev/null
done
includes=`grep ^include $1 | awk '{print $2}'`
if [ $depth -le 50 ]; then
depth=$(( $depth + 1 ));
for i in $includes; do
chown_database_dirs "$i" ;
done
fi
}
USER_CMD=""
GROUP_CMD=""
[ ! "x$OPENLDAP_USER" = "x" ] && USER_CMD="-u $OPENLDAP_USER"
[ ! "x$OPENLDAP_GROUP" = "x" ] && GROUP_CMD="-g $OPENLDAP_GROUP"
[ ! "x$OPENLDAP_CONFIG_BACKEND" = "xldap" ] && SLAPD_CONFIG_ARG="-f /etc/openldap/slapd.conf"
if [ -f /etc/openldap/UPDATE_NEEDED ]; then
rc_failed 6
echo " The configuration of your LDAP server needs to be updated."
echo " Please see /usr/share/doc/packages/openldap2/README.update"
echo " for details."
echo " After the update please remove the file:"
echo " /etc/openldap/UPDATE_NEEDED"
rc_status -v
exit
fi
# chown backend directories if OPENLDAP_CHOWN_DIRS ist set
if [ "$(echo "$OPENLDAP_CHOWN_DIRS" | tr 'A-Z' 'a-z')" = "yes" ]; then
if [ -n "$OPENLDAP_USER" -o -n "$OPENLDAP_GROUP" ]; then
if [ -n "$OPENLDAP_CONFIG_BACKEND" -a "$OPENLDAP_CONFIG_BACKEND" = "ldap" ]; then
chown -R $OPENLDAP_USER /etc/openldap/slapd.d 2>/dev/null
chgrp -R $OPENLDAP_GROUP /etc/openldap/slapd.d 2>/dev/null
chown_database_dirs_bconfig "/etc/openldap/slapd.d"
# assume back-config usage if slapd.conf is not present but slapd.d is
elif [ ! -f /etc/openldap/slapd.conf -a /etc/openldap/slapd.d ]; then
chown -R $OPENLDAP_USER /etc/openldap/slapd.d 2>/dev/null
chgrp -R $OPENLDAP_GROUP /etc/openldap/slapd.d 2>/dev/null
chown_database_dirs_bconfig "/etc/openldap/slapd.d"
else
chown_database_dirs "/etc/openldap/slapd.conf"
chgrp $OPENLDAP_GROUP /etc/openldap/slapd.conf 2>/dev/null
fi
if test -f /etc/sasl2/slapd.conf ; then
chgrp $OPENLDAP_GROUP /etc/sasl2/slapd.conf 2>/dev/null
chmod 640 /etc/sasl2/slapd.conf 2>/dev/null
fi
if [ -n "$OPENLDAP_KRB5_KEYTAB" ]; then
keytabfile=${OPENLDAP_KRB5_KEYTAB/#FILE:/}
if test -f $keytabfile ; then
chgrp $OPENLDAP_GROUP $keytabfile 2>/dev/null
chmod g+r $keytabfile 2>/dev/null
fi
fi
fi
fi
if [ -n "$OPENLDAP_KRB5_KEYTAB" ]; then
export KRB5_KTNAME=$OPENLDAP_KRB5_KEYTAB
fi
case "$OPENLDAP_REGISTER_SLP" in
[Yy][Ee][Ss])
SLAPD_SLP_REG="-o slp=on"
;;
*)
SLAPD_SLP_REG="-o slp=off"
;;
esac
init_ldap_listener_urls
init_ldapi_listener_urls
init_ldaps_listener_urls
if [ ! -d $SLAPD_PID_DIR ]; then
mkdir -p $SLAPD_PID_DIR
chown ldap:ldap $SLAPD_PID_DIR
fi
echo -n "Starting ldap-server"
exec $SLAPD_BIN -h "$LDAP_URLS $LDAPS_URLS $LDAPI_URLS" \
$SLAPD_CONFIG_ARG $USER_CMD $GROUP_CMD \
$OPENLDAP_SLAPD_PARAMS $SLAPD_SLP_REG
++++++ sysconfig.openldap ++++++
## Path: Network/LDAP
## Description: Basic Configuration of the OpenLDAP Directory Server
## Type: yesno
## Default: yes
## ServiceRestart: ldap
#
# If set to "no" the LDAP server will not accept any "normal" LDAP connections
# but just connections over "ldaps" or "ldapi". Setting this to "no" does only
# make sense when either OPENLDAP_START_LDAPS or OPENLDAP_START_LDAPI is set
# "yes".
#
OPENLDAP_START_LDAP="yes"
## Type: yesno
## Default: no
## ServiceRestart: ldap
#
# If set to "yes" the "ldap over ssl" feature of slapd will be enabled. Don't
# forget to add the "TLSCertificateFile" and "TLSCertificateKeyFile" options
# to the /etc/openldap/slapd.conf (man slapd.conf).
# Note: Don't confuse this with "START_TLS", the preferred method for
# making encrypted LDAP connections, which is enabled as soon as You
# specify "TLSCertificateFile" and "TLSCertificateKeyFile" in your config
# file
#
OPENLDAP_START_LDAPS="no"
## Type: yesno
## Default: no
## ServiceRestart: ldap
#
# If set to "yes", "ldap over IPC" feature of slapd will be enabled.
# The ldap server creates a Unix domain socket as /var/run/slapd/ldapi.
# Default: no
#
OPENLDAP_START_LDAPI="yes"
## Type: string
## Default: ""
## ServiceRestart: ldap
#
# If not empty, additional parameters for slapd daemon.
# Default: ""
#
OPENLDAP_SLAPD_PARAMS=""
## Type: string
## Default: ldap
## ServiceRestart: ldap
#
# specifies a user, as which the openldap server should be executed
# Default: ldap
#
OPENLDAP_USER="ldap"
## Type: string
## Default: ldap
## ServiceRestart: ldap
#
# specifies a group, as which the openldap server should be executed
# Default: ldap
#
OPENLDAP_GROUP="ldap"
## Type: yesno
## Default: yes
## ServiceRestart: ldap
#
# If set to "yes" the init scripts will change the owner/group of the
# different backend database directories (e.g. /var/lib/ldap) to the
# user/group specified above
#
OPENLDAP_CHOWN_DIRS="yes"
## Type: string
## Default: ""
## ServiceRestart: ldap
#
# Use this to specify the interfaces that the server such accept
# LDAP connections from. The values are specified in the format
# <address>:<port>, where address is an IP address and port is the
# portnumber, the daemon should listen to (defaulting to 389). If this
# parameter is empty the server will attach to all interfaces. This
# parameter is only evaluated if "OPENLDAP_START_LDAP" is set to
# "yes"
# Default: ""
#
OPENLDAP_LDAP_INTERFACES=""
## Type: string
## Default: ""
## ServiceRestart: ldap
#
# Use this to specify the interfaces that the server such accept
# LDAPS connections from. The values are specified in the format
# <address>:<port>, where address is an IP address and port is the
# portnumber, the daemon should listen to (defaulting to 636). If this
# parameter is empty the server will attach to all interfaces. This
# parameter is only evaluated if "OPENLDAP_START_LDAPS" is set to
# "yes"
# Default: ""
#
OPENLDAP_LDAPS_INTERFACES=""
## Type: string
## Default: ""
## ServiceRestart: ldap
#
# Use this to specify the paths of the Unix Domain Sockets that
# the server should create an accept incoming LDAPI connections
# on. This parameter is only evaluated if "OPENLDAP_START_LDAPI"
# is set to "yes".
# Default: ""
#
OPENLDAP_LDAPI_INTERFACES=""
## Type: yesno
## Default: "yes"
## ServiceRestart: ldap
#
# If set to "no" the LDAP server will not try itself at a running SLP
# daemon.
# Default: "yes"
#
OPENLDAP_REGISTER_SLP="no"
## Type: string
## Default: ""
## ServiceRestart: ldap
#
# Set this to the name of the keytab, if you want to use a non-default
# Kerberos Keytab. If OPENLDAP_CHOWN_DIRS is set to "yes" the permissions of
# this file will be changed so that the group OPENLDAP_GROUP has read
# access to the file.
# Example: OPENLDAP_KRB5_KEYTAB="FILE:/etc/openldap/krb5.keytab
# Default: ""
#
OPENLDAP_KRB5_KEYTAB=""
## Type: string
## Default: "files"
## ServiceRestart: ldap
#
# Here you can configure which of the configuration backends you want to
# use. Possible values are "files" for slapd.conf(5) styleconfiguration or
# "ldap" for the slapd-config(5) LDAP based configuration backend.
#
OPENLDAP_CONFIG_BACKEND=""
## Type: yesno
## Default: "yes"
## ServiceRestart: ldap
#
# Here you can configure if the slapd shall start with or without memory limit.
#
OPENLDAP_MEMORY_LIMIT="yes"
++++++ yast.schema ++++++
## Some macros
objectidentifier SUSE 1.3.6.1.4.1.7057
objectidentifier SUSE.YaST SUSE:10.1
objectidentifier SUSE.YaST.ModuleConfig SUSE:10.1.2
objectidentifier SUSE.YaST.ModuleConfig.OC SUSE.YaST.ModuleConfig:1
objectidentifier SUSE.YaST.ModuleConfig.Attr SUSE.YaST.ModuleConfig:2
# Attributes
# deprecated
#
#attributetype ( SUSE.YaST.ModuleConfig.Attr:1 NAME ( 'userConfigDn' )
# DESC 'Where is the configuration for user management stored'
# EQUALITY distinguishedNameMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:2 NAME ( 'suseDefaultBase' )
DESC 'Base DN where new Objects should be created by default'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:3 NAME ( 'suseNextUniqueId' )
DESC 'Next unused unique ID, can be used to generate directory wide uniqe IDs'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:4 NAME ( 'suseMinUniqueId' )
DESC 'lower Border for Unique IDs'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:5 NAME ( 'suseMaxUniqueId' )
DESC 'upper Border for Unique IDs'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:6 NAME ( 'suseDefaultTemplate' )
DESC 'The DN of a template that should be used by default'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:7 NAME ( 'suseSearchFilter' )
DESC 'Search filter to localize Objects'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
# deprecated
#
#attributetype ( SUSE.YaST.ModuleConfig.Attr:8 NAME ( 'DefaultObjectClass' )
# DESC 'ObjectClass that new Objects should use'
# EQUALITY caseIgnoreIA5Match
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
#
#attributetype ( SUSE.YaST.ModuleConfig.Attr:9 NAME ( 'suseRequiredAttribute' )
# DESC ''
# EQUALITY caseIgnoreIA5Match
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
#
#attributetype ( SUSE.YaST.ModuleConfig.Attr:10 NAME ( 'allowedAttribute' )
# DESC ''
# EQUALITY caseIgnoreIA5Match
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:11 NAME ( 'suseDefaultValue' )
DESC 'an Attribute-Value-Assertions to define defaults for specific Attributes'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:12 NAME ( 'suseNamingAttribute' )
DESC 'AttributeType that should be used as the RDN'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:15 NAME ( 'suseSecondaryGroup' )
DESC 'seconday group DN'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:16 NAME ( 'suseMinPasswordLength' )
DESC 'minimum Password length for new users'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:17 NAME ( 'suseMaxPasswordLength' )
DESC 'maximum Password length for new users'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:18 NAME ( 'susePasswordHash' )
DESC 'Hash method to use for new users'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:19 NAME ( 'suseSkelDir' )
DESC ''
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:20 NAME ( 'susePlugin' )
DESC 'plugin to use upon user/ group creation'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:21 NAME ( 'suseMapAttribute' )
DESC ''
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( SUSE.YaST.ModuleConfig.Attr:22 NAME ( 'suseImapServer' )
DESC ''
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:23 NAME ( 'suseImapAdmin' )
DESC ''
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:24 NAME ( 'suseImapDefaultQuota' )
DESC ''
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE )
attributetype ( SUSE.YaST.ModuleConfig.Attr:25 NAME ( 'suseImapUseSsl' )
DESC ''
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
SINGLE-VALUE )
# ObjectClasses
objectClass ( SUSE.YaST.ModuleConfig.OC:2 NAME 'suseModuleConfiguration'
SUP top STRUCTURAL
DESC 'Contains configuration of Management Modules'
MUST ( cn )
MAY ( suseDefaultBase ))
objectClass ( SUSE.YaST.ModuleConfig.OC:3 NAME 'suseUserConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of user management tools'
MAY ( suseMinPasswordLength $ suseMaxPasswordLength $
susePasswordHash $ suseSkelDir $ suseNextUniqueId $ suseMinUniqueId $
suseMaxUniqueId $ suseDefaultTemplate $ suseSearchFilter $
suseMapAttribute ))
objectClass ( SUSE.YaST.ModuleConfig.OC:4 NAME 'suseObjectTemplate'
SUP top STRUCTURAL
DESC 'Base Class for Object-Templates'
MUST ( cn )
MAY ( susePlugin $ suseDefaultValue $ suseNamingAttribute ))
objectClass ( SUSE.YaST.ModuleConfig.OC:5 NAME 'suseUserTemplate'
SUP suseObjectTemplate STRUCTURAL
DESC 'User object template'
MUST ( cn )
MAY ( suseSecondaryGroup ))
objectClass ( SUSE.YaST.ModuleConfig.OC:6 NAME 'suseGroupTemplate'
SUP suseObjectTemplate STRUCTURAL
DESC 'Group object template'
MUST ( cn ))
objectClass ( SUSE.YaST.ModuleConfig.OC:7 NAME 'suseGroupConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of user management tools'
MAY ( suseNextUniqueId $ suseMinUniqueId $ suseMaxUniqueId $
suseDefaultTemplate $ suseSearchFilter $ suseMapAttribute ))
objectClass ( SUSE.YaST.ModuleConfig.OC:8 NAME 'suseCaConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of CA management tools')
objectClass ( SUSE.YaST.ModuleConfig.OC:9 NAME 'suseDnsConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of mail server management tools')
objectClass ( SUSE.YaST.ModuleConfig.OC:10 NAME 'suseDhcpConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of DHCP server management tools')
objectClass ( SUSE.YaST.ModuleConfig.OC:11 NAME 'suseMailConfiguration'
SUP suseModuleConfiguration STRUCTURAL
DESC 'Configuration of IMAP user management tools'
MUST ( suseImapServer $ suseImapAdmin $ suseImapDefaultQuota $
suseImapUseSsl ))
1
0
Hello community,
here is the log from the commit of package apache-commons-logging for openSUSE:Factory checked in at 2016-01-30 11:30:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-commons-logging (Old)
and /work/SRC/openSUSE:Factory/.apache-commons-logging.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-commons-logging"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-commons-logging/apache-commons-logging.changes 2015-04-02 16:00:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.apache-commons-logging.new/apache-commons-logging.changes 2016-01-30 11:30:48.000000000 +0100
@@ -1,0 +2,7 @@
+Sun Jan 24 13:55:36 UTC 2016 - p.drouand(a)gmail.com
+
+- Update to version 1.2
+ see http://commons.apache.org/proper/commons-logging/changes-report.html
+ or RELEASE-NOTES.txt for details
+
+-------------------------------------------------------------------
Old:
----
commons-logging-1.1.3-src.tar.gz
commons-logging-1.1.3-src.tar.gz.asc
commons-logging-api-1.1.pom
New:
----
commons-logging-1.2-src.tar.gz
commons-logging-1.2-src.tar.gz.asc
commons-logging-1.2.pom
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-commons-logging.spec ++++++
--- /var/tmp/diff_new_pack.qDxKgr/_old 2016-01-30 11:30:49.000000000 +0100
+++ /var/tmp/diff_new_pack.qDxKgr/_new 2016-01-30 11:30:49.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package apache-commons-logging
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2000-2007, JPackage Project
#
# All modifications and additions to the file contributed by third parties
@@ -21,7 +21,7 @@
%define short_name commons-%{base_name}
%bcond_with java_bootstrap
Name: apache-%{short_name}
-Version: 1.1.3
+Version: 1.2
Release: 0
Summary: Apache Commons Logging
License: Apache-2.0
@@ -30,7 +30,7 @@
Source0: http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{vers…
Source1: http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{vers…
Source2: apache-commons-logging.keyring
-Source3: http://mirrors.ibiblio.org/pub/mirrors/maven2/%{short_name}/%{short_name}-a…
+Source3: http://central.maven.org/maven2/commons-logging/commons-logging/%{version}/…
Patch0: commons-logging-1.1.3-src-junit.diff
BuildRequires: ant
BuildRequires: apache-commons-parent
++++++ commons-logging-1.1.3-src.tar.gz -> commons-logging-1.2-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/NOTICE.txt new/commons-logging-1.2-src/NOTICE.txt
--- old/commons-logging-1.1.3-src/NOTICE.txt 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/NOTICE.txt 2014-07-05 20:11:36.000000000 +0200
@@ -1,5 +1,5 @@
Apache Commons Logging
-Copyright 2003-2013 The Apache Software Foundation
+Copyright 2003-2014 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/README.txt new/commons-logging-1.2-src/README.txt
--- old/commons-logging-1.1.3-src/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/commons-logging-1.2-src/README.txt 2014-07-05 20:11:36.000000000 +0200
@@ -0,0 +1,50 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+Logging
+-------
+
+Getting started:
+
+1) Build the jar file
+
+ If you have the source distribution you will need to build the jar file
+ using Maven 2/3. For instructions on downloading and installing Maven see
+ http://maven.apache.org/.
+
+ To build execute the command 'mvn package verify'.
+ The jar file will be built in the target directory.
+
+ Note: the unit tests are executed during the verify phase and require that
+ the respective jar files have been created successfully.
+
+2) Generate the documentation
+
+ Run the 'mvn verify site' command. The documentation will be written
+ to the target/site directory. The documentation has some examples of
+ how to use this package as well as a troubleshooting guide.
+
+3) Create source and binary distributions
+
+ Run the 'mvn verify site assembly:assembly' command. The source and binary
+ distributions are created in the 'target' directory.
+
+4) Use
+
+ Simply include the jar file built in step #1 in your classpath. Import the
+ classes that you want to use and you are ready to go!
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/RELEASE-NOTES.txt new/commons-logging-1.2-src/RELEASE-NOTES.txt
--- old/commons-logging-1.1.3-src/RELEASE-NOTES.txt 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/RELEASE-NOTES.txt 2014-07-05 20:11:36.000000000 +0200
@@ -1,22 +1,31 @@
Apache Commons Logging
- Version 1.1.3
+ Version 1.2
RELEASE NOTES
-The Commons Logging team is pleased to announce the release of Apache Commons Logging 1.1.3
+The Apache Commons Logging team is pleased to announce
+the release of Apache Commons Logging 1.2
-Commons Logging is a thin adapter allowing configurable bridging to other,
-well known logging systems.
+Apache Commons Logging is a thin adapter allowing configurable
+bridging to other, well known logging systems.
This is a maintenance release containing bug fixes.
+Java 1.2 or later is required.
Changes in this version include:
Fixed Bugs:
-o LOGGING-151: Use "org.apache.commons.logging" as bundle symbolic name. Thanks to Krzysztof Daniel.
+o LOGGING-37: Improve performance of LogFactory#getFactory() by calling
+ Thread#currentThread()#getContextClassLoader() directly instead
+ of using reflection. As a consequence support for JDK 1.1 has
+ been dropped. Thanks to Matthias Ernst, Archie Cobbs.
+o LOGGING-156: Fix SecurityAllowedTestCase when executed with OpenJDK 1.7 due
+ to an additional required RuntimePermission. Thanks to Mikolaj Izdebski.
+o LOGGING-157: Fix javadoc to comply with javadoc tool from jdk 1.8. Thanks to Ville Skyttä.
+
Historical list of changes: http://commons.apache.org/proper/commons-logging/changes-report.html
-For complete information on Commons Logging, including instructions on how to submit bug reports,
+For complete information on Apache Commons Logging, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Logging website:
http://commons.apache.org/proper/commons-logging/
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/build.xml new/commons-logging-1.2-src/build.xml
--- old/commons-logging-1.1.3-src/build.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/build.xml 2014-07-05 20:11:36.000000000 +0200
@@ -39,7 +39,7 @@
- the path to a 1.4 J2SDK. This will be used to compile those classes
- which require the 1.4 API.
-
- - $Id: build.xml 1483540 2013-05-16 20:03:52Z tn $
+ - $Id: build.xml 1608092 2014-07-05 18:11:22Z tn $
-->
<project name="Logging" default="all" basedir=".">
@@ -94,7 +94,7 @@
<property name="component.title" value="Logging Wrapper Library"/>
<!-- The current version number of this component -->
- <property name="component.version" value="1.1.3"/>
+ <property name="component.version" value="1.2"/>
<!-- The base directory for compilation targets -->
<property name="build.home" value="${basedir}/target"/>
@@ -106,7 +106,7 @@
<property name="dist.home" value="dist"/>
<!-- The base directory for releases -->
- <property name="artifacts.home" value="artifacts"/>
+ <property name="artifacts.home" value="artifacts"/>
<!-- The base directory for component sources -->
<property name="source.home" value="src/main/java"/>
@@ -130,7 +130,7 @@
<!-- ========== Compiler Defaults ========================================= -->
<!-- Version of java class files to generate. -->
- <property name="target.version" value="1.1"/>
+ <property name="target.version" value="1.2"/>
<!-- Version of java source to accept -->
<property name="source.version" value="1.2"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/pmd.xml new/commons-logging-1.2-src/pmd.xml
--- old/commons-logging-1.1.3-src/pmd.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/commons-logging-1.2-src/pmd.xml 2014-07-05 20:11:36.000000000 +0200
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<ruleset name="mybraces"
+ xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
+ <description>Excludes from default PMD rules.</description>
+ <rule ref="rulesets/java/unusedcode.xml">
+ <exclude name="UnnecessaryParentheses"/>
+ </rule>
+</ruleset>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/pom.xml new/commons-logging-1.2-src/pom.xml
--- old/commons-logging-1.1.3-src/pom.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/pom.xml 2014-07-05 20:11:36.000000000 +0200
@@ -26,14 +26,14 @@
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
- <version>28</version>
+ <version>34</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
- <name>Commons Logging</name>
- <version>1.1.3</version>
- <description>Commons Logging is a thin adapter allowing configurable bridging to other,
+ <name>Apache Commons Logging</name>
+ <version>1.2</version>
+ <description>Apache Commons Logging is a thin adapter allowing configurable bridging to other,
well known logging systems.</description>
<url>http://commons.apache.org/proper/commons-logging/</url>
@@ -375,6 +375,7 @@
<goal>verify</goal>
</goals>
<configuration>
+ <runOrder>${failsafe.runorder}</runOrder>
<includes>
<include>**/*TestCase.java</include>
</includes>
@@ -491,6 +492,27 @@
<artifactId>jdepend-maven-plugin</artifactId>
<version>2.0-beta-1</version>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>2.5.2</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>3.0.1</version>
+ <configuration>
+ <!-- targetJdk 1.1, 1.2 is not supported -->
+ <targetJdk>1.3</targetJdk>
+ <linkXref>true</linkXref>
+ <rulesets>
+ <ruleset>${basedir}/pmd.xml</ruleset>
+ </rulesets>
+ </configuration>
+ </plugin>
</plugins>
</reporting>
@@ -502,16 +524,18 @@
</distributionManagement>
<properties>
- <maven.compile.source>1.2</maven.compile.source>
- <maven.compile.target>1.1</maven.compile.target>
+ <maven.compiler.source>1.2</maven.compiler.source>
+ <maven.compiler.target>1.2</maven.compiler.target>
<commons.componentid>logging</commons.componentid>
- <commons.release.version>1.1.3</commons.release.version>
+ <commons.release.version>1.2</commons.release.version>
<commons.jira.id>LOGGING</commons.jira.id>
<commons.jira.pid>12310484</commons.jira.pid>
<!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC2</commons.rc.version>
<commons.surefire.version>2.12</commons.surefire.version>
- <skipSurefireReport>true</skipSurefireReport>
+ <skipSurefireReport>true</skipSurefireReport>
+ <!-- Allow default test run order to be changed -->
+ <failsafe.runorder>filesystem</failsafe.runorder>
<commons.osgi.import>
javax.servlet;version="[2.1.0, 3.0.0)";resolution:=optional,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/changes/changes.xml new/commons-logging-1.2-src/src/changes/changes.xml
--- old/commons-logging-1.1.3-src/src/changes/changes.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/changes/changes.xml 2014-07-05 20:11:36.000000000 +0200
@@ -43,6 +43,18 @@
<title>Release Notes</title>
</properties>
<body>
+ <release version="1.2" date="2014-07-11" description="This is a maintenance release containing bug fixes. Java 1.2 or later is required.">
+ <action issue="LOGGING-37" dev="tn" type="fix" due-to="Matthias Ernst,Archie Cobbs">
+ Improve performance of LogFactory#getFactory() by calling Thread#currentThread()#getContextClassLoader()
+ directly instead of using reflection. As a consequence support for JDK 1.1 has been dropped.
+ </action>
+ <action issue="LOGGING-156" dev="tn" type="fix" due-to="Mikolaj Izdebski">
+ Fix SecurityAllowedTestCase when executed with OpenJDK 1.7 due to an additional required RuntimePermission.
+ </action>
+ <action issue="LOGGING-157" dev="tn" type="fix" due-to="Ville Skyttä">
+ Fix javadoc to comply with javadoc tool from jdk 1.8.
+ </action>
+ </release>
<release version="1.1.3" date="2013-05-23" description="This is a maintenance release containing bug fixes.">
<action issue="LOGGING-151" dev="tn" type="fix" due-to="Krzysztof Daniel">
Use "org.apache.commons.logging" as bundle symbolic name.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/conf/MANIFEST.MF new/commons-logging-1.2-src/src/conf/MANIFEST.MF
--- old/commons-logging-1.1.3-src/src/conf/MANIFEST.MF 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/conf/MANIFEST.MF 2014-07-05 20:11:36.000000000 +0200
@@ -1,20 +1,20 @@
Manifest-Version: 1.0
-Export-Package: org.apache.commons.logging;version="1.1.3",org.apache.
- commons.logging.impl;version="1.1.3"
+Export-Package: org.apache.commons.logging;version="1.2.0",org.apache.
+ commons.logging.impl;version="1.2.0"
Implementation-Title: Commons Logging
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Specification-Title: Commons Logging
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-SymbolicName: org.apache.commons.logging
-X-Compile-Target-JDK: 1.1
-Implementation-Version: 1.1.3
+X-Compile-Target-JDK: 1.2
+Implementation-Version: 1.2
Specification-Vendor: The Apache Software Foundation
Bundle-Name: Commons Logging
Created-By: Apache Maven Bundle Plugin
X-Compile-Source-JDK: 1.2
Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 1.1.3
+Bundle-Version: 1.2.0
Bundle-ManifestVersion: 2
Bundle-Description: Commons Logging is a thin adapter allowing configu
rable bridging to other, well known logging systems.
@@ -25,4 +25,4 @@
.0.1]",org.apache.log4j;resolution:=optional;version="[1.2.15,2.0.0)"
Include-Resource: META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=
LICENSE.txt
-Specification-Version: 1.1.3
+Specification-Version: 1.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/main/assembly/src.xml new/commons-logging-1.2-src/src/main/assembly/src.xml
--- old/commons-logging-1.1.3-src/src/main/assembly/src.xml 2013-05-16 22:04:21.000000000 +0200
+++ new/commons-logging-1.2-src/src/main/assembly/src.xml 2014-07-05 20:11:36.000000000 +0200
@@ -28,8 +28,10 @@
<fileSet>
<includes>
<include>checkstyle.xml</include>
+ <include>README.txt</include>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
+ <include>pmd.xml</include>
<include>pom.xml</include>
<include>PROPOSAL.html</include>
<include>RELEASE-NOTES.txt</include>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/main/java/org/apache/commons/logging/Log.java new/commons-logging-1.2-src/src/main/java/org/apache/commons/logging/Log.java
--- old/commons-logging-1.1.3-src/src/main/java/org/apache/commons/logging/Log.java 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/main/java/org/apache/commons/logging/Log.java 2014-07-05 20:11:36.000000000 +0200
@@ -43,22 +43,80 @@
* to be logged).
* <p>
* For example,
- * <code><pre>
+ * <pre>
* if (log.isDebugEnabled()) {
* ... do something expensive ...
* log.debug(theResult);
* }
- * </pre></code>
+ * </pre>
* <p>
* Configuration of the underlying logging system will generally be done
* external to the Logging APIs, through whatever mechanism is supported by
* that system.
*
- * @version $Id: Log.java 1432663 2013-01-13 17:24:18Z tn $
+ * @version $Id: Log.java 1606045 2014-06-27 12:11:56Z tn $
*/
public interface Log {
- // ----------------------------------------------------- Logging Properties
+ /**
+ * Logs a message with debug log level.
+ *
+ * @param message log this message
+ */
+ void debug(Object message);
+
+ /**
+ * Logs an error with debug log level.
+ *
+ * @param message log this message
+ * @param t log this cause
+ */
+ void debug(Object message, Throwable t);
+
+ /**
+ * Logs a message with error log level.
+ *
+ * @param message log this message
+ */
+ void error(Object message);
+
+ /**
+ * Logs an error with error log level.
+ *
+ * @param message log this message
+ * @param t log this cause
+ */
+ void error(Object message, Throwable t);
+
+ /**
+ * Logs a message with fatal log level.
+ *
+ * @param message log this message
+ */
+ void fatal(Object message);
+
+ /**
+ * Logs an error with fatal log level.
+ *
+ * @param message log this message
+ * @param t log this cause
+ */
+ void fatal(Object message, Throwable t);
+
+ /**
+ * Logs a message with info log level.
+ *
+ * @param message log this message
+ */
+ void info(Object message);
+
+ /**
+ * Logs an error with info log level.
+ *
+ * @param message log this message
+ * @param t log this cause
+ */
+ void info(Object message, Throwable t);
/**
* Is debug logging currently enabled?
@@ -69,7 +127,7 @@
*
* @return true if debug is enabled in the underlying logger.
*/
- public boolean isDebugEnabled();
+ boolean isDebugEnabled();
/**
* Is error logging currently enabled?
@@ -80,7 +138,7 @@
*
* @return true if error is enabled in the underlying logger.
*/
- public boolean isErrorEnabled();
+ boolean isErrorEnabled();
/**
* Is fatal logging currently enabled?
@@ -91,7 +149,7 @@
*
* @return true if fatal is enabled in the underlying logger.
*/
- public boolean isFatalEnabled();
+ boolean isFatalEnabled();
/**
* Is info logging currently enabled?
@@ -102,7 +160,7 @@
*
* @return true if info is enabled in the underlying logger.
*/
- public boolean isInfoEnabled();
+ boolean isInfoEnabled();
/**
* Is trace logging currently enabled?
@@ -113,7 +171,7 @@
*
* @return true if trace is enabled in the underlying logger.
*/
- public boolean isTraceEnabled();
+ boolean isTraceEnabled();
/**
* Is warn logging currently enabled?
@@ -124,97 +182,35 @@
*
* @return true if warn is enabled in the underlying logger.
*/
- public boolean isWarnEnabled();
-
- // -------------------------------------------------------- Logging Methods
-
- /**
- * Log a message with trace log level.
- *
- * @param message log this message
- */
- public void trace(Object message);
-
- /**
- * Log an error with trace log level.
- *
- * @param message log this message
- * @param t log this cause
- */
- public void trace(Object message, Throwable t);
-
- /**
- * Log a message with debug log level.
- *
- * @param message log this message
- */
- public void debug(Object message);
-
- /**
- * Log an error with debug log level.
- *
- * @param message log this message
- * @param t log this cause
- */
- public void debug(Object message, Throwable t);
-
- /**
- * Log a message with info log level.
- *
- * @param message log this message
- */
- public void info(Object message);
-
- /**
- * Log an error with info log level.
- *
- * @param message log this message
- * @param t log this cause
- */
- public void info(Object message, Throwable t);
-
- /**
- * Log a message with warn log level.
- *
- * @param message log this message
- */
- public void warn(Object message);
-
- /**
- * Log an error with warn log level.
- *
- * @param message log this message
- * @param t log this cause
- */
- public void warn(Object message, Throwable t);
+ boolean isWarnEnabled();
/**
- * Log a message with error log level.
+ * Logs a message with trace log level.
*
* @param message log this message
*/
- public void error(Object message);
+ void trace(Object message);
/**
- * Log an error with error log level.
+ * Logs an error with trace log level.
*
* @param message log this message
* @param t log this cause
*/
- public void error(Object message, Throwable t);
+ void trace(Object message, Throwable t);
/**
- * Log a message with fatal log level.
+ * Logs a message with warn log level.
*
* @param message log this message
*/
- public void fatal(Object message);
+ void warn(Object message);
/**
- * Log an error with fatal log level.
+ * Logs an error with warn log level.
*
* @param message log this message
* @param t log this cause
*/
- public void fatal(Object message, Throwable t);
+ void warn(Object message, Throwable t);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/main/java/org/apache/commons/logging/LogFactory.java new/commons-logging-1.2-src/src/main/java/org/apache/commons/logging/LogFactory.java
--- old/commons-logging-1.1.3-src/src/main/java/org/apache/commons/logging/LogFactory.java 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/main/java/org/apache/commons/logging/LogFactory.java 2014-07-05 20:11:35.000000000 +0200
@@ -23,8 +23,6 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLConnection;
import java.security.AccessController;
@@ -42,7 +40,7 @@
* based on the SAXParserFactory and DocumentBuilderFactory implementations
* (corresponding to the JAXP pluggability APIs) found in Apache Xerces.
*
- * @version $Id: LogFactory.java 1449064 2013-02-22 14:49:22Z tn $
+ * @version $Id: LogFactory.java 1606041 2014-06-27 11:56:59Z tn $
*/
public abstract class LogFactory {
// Implementation note re AccessController usage
@@ -151,23 +149,23 @@
* classloaders to be substituted by an alternative implementation.
* <p>
* <strong>Note:</strong> <code>LogFactory</code> will print:
- * <code><pre>
- * [ERROR] LogFactory: Load of custom hashtable failed</em>
- * </pre></code>
+ * <pre>
+ * [ERROR] LogFactory: Load of custom hashtable failed
+ * </pre>
* to system error and then continue using a standard Hashtable.
* <p>
* <strong>Usage:</strong> Set this property when Java is invoked
* and <code>LogFactory</code> will attempt to load a new instance
* of the given implementation class.
* For example, running the following ant scriplet:
- * <code><pre>
+ * <pre>
* <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
* ...
* <sysproperty
* key="org.apache.commons.logging.LogFactory.HashtableImpl"
* value="org.apache.commons.logging.AltHashtable"/>
* </java>
- * </pre></code>
+ * </pre>
* will mean that <code>LogFactory</code> will load an instance of
* <code>org.apache.commons.logging.AltHashtable</code>.
* <p>
@@ -787,8 +785,6 @@
* or null if security doesn't allow it.
* @throws LogConfigurationException if there was some weird error while
* attempting to get the context classloader.
- * @throws SecurityException if the current java security policy doesn't
- * allow this class to access the context classloader.
*/
protected static ClassLoader getContextClassLoader() throws LogConfigurationException {
return directGetContextClassLoader();
@@ -807,8 +803,6 @@
* or null if security doesn't allow it.
* @throws LogConfigurationException if there was some weird error while
* attempting to get the context classloader.
- * @throws SecurityException if the current java security policy doesn't
- * allow this class to access the context classloader.
*/
private static ClassLoader getContextClassLoaderInternal() throws LogConfigurationException {
return (ClassLoader)AccessController.doPrivileged(
@@ -834,64 +828,27 @@
*
* @throws LogConfigurationException if a suitable class loader
* cannot be identified.
- * @throws SecurityException if the java security policy forbids
- * access to the context classloader from one of the classes in the
- * current call stack.
+ * @return the thread's context classloader or {@code null} if the java security
+ * policy forbids access to the context classloader from one of the classes
+ * in the current call stack.
* @since 1.1
*/
protected static ClassLoader directGetContextClassLoader() throws LogConfigurationException {
ClassLoader classLoader = null;
try {
- // Are we running on a JDK 1.2 or later system?
- final Method method = Thread.class.getMethod("getContextClassLoader", (Class[]) null);
-
- // Get the thread context class loader (if there is one)
- try {
- classLoader = (ClassLoader)method.invoke(Thread.currentThread(), (Object[]) null);
- } catch (IllegalAccessException e) {
- throw new LogConfigurationException
- ("Unexpected IllegalAccessException", e);
- } catch (InvocationTargetException e) {
- /**
- * InvocationTargetException is thrown by 'invoke' when
- * the method being invoked (getContextClassLoader) throws
- * an exception.
- *
- * getContextClassLoader() throws SecurityException when
- * the context class loader isn't an ancestor of the
- * calling class's class loader, or if security
- * permissions are restricted.
- *
- * In the first case (not related), we want to ignore and
- * keep going. We cannot help but also ignore the second
- * with the logic below, but other calls elsewhere (to
- * obtain a class loader) will trigger this exception where
- * we can make a distinction.
- */
- if (e.getTargetException() instanceof SecurityException) {
- // ignore
- } else {
- // Capture 'e.getTargetException()' exception for details
- // alternate: log 'e.getTargetException()', and pass back 'e'.
- throw new LogConfigurationException("Unexpected InvocationTargetException", e.getTargetException());
- }
- }
- } catch (NoSuchMethodException e) {
- // Assume we are running on JDK 1.1
- classLoader = getClassLoader(LogFactory.class);
-
- // We deliberately don't log a message here to outputStream;
- // this message would be output for every call to LogFactory.getLog()
- // when running on JDK1.1
- //
- // if (outputStream != null) {
- // outputStream.println(
- // "Method Thread.getContextClassLoader does not exist;"
- // + " assuming this is JDK 1.1, and that the context"
- // + " classloader is the same as the class that loaded"
- // + " the concrete LogFactory class.");
- // }
+ classLoader = Thread.currentThread().getContextClassLoader();
+ } catch (SecurityException ex) {
+ /**
+ * getContextClassLoader() throws SecurityException when
+ * the context class loader isn't an ancestor of the
+ * calling class's class loader, or if security
+ * permissions are restricted.
+ *
+ * We ignore this exception to be consistent with the previous
+ * behavior (e.g. 1.1.3 and earlier).
+ */
+ // ignore
}
// Return the selected class loader
@@ -951,8 +908,8 @@
* implementation class, loaded by the specified class loader.
* If that fails, try the class loader used to load this
* (abstract) LogFactory.
- * <p>
* <h2>ClassLoader conflicts</h2>
+ * <p>
* Note that there can be problems if the specified ClassLoader is not the
* same as the classloader that loaded this class, ie when loading a
* concrete LogFactory subclass via a context classloader.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/site/site.xml new/commons-logging-1.2-src/src/site/site.xml
--- old/commons-logging-1.1.3-src/src/site/site.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/site/site.xml 2014-07-05 20:11:35.000000000 +0200
@@ -39,8 +39,8 @@
href="/RELEASE-NOTES.txt"/>
<item name='JavaDoc (Latest release)'
href='/javadocs/api-release/index.html'/>
- <item name='JavaDoc (v1.1)'
- href='/javadocs/api-1.1/index.html'/>
+ <item name='JavaDoc (v1.1.3)'
+ href='/javadocs/api-1.1.3/index.html'/>
<item name='JavaDoc (v1.0.4)'
href='/javadocs/api-1.0.4/index.html'/>
</menu>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/site/xdoc/download_logging.xml new/commons-logging-1.2-src/src/site/xdoc/download_logging.xml
--- old/commons-logging-1.1.3-src/src/site/xdoc/download_logging.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/site/xdoc/download_logging.xml 2014-07-05 20:11:36.000000000 +0200
@@ -45,11 +45,11 @@
-->
<document>
<properties>
- <title>Download Commons Logging</title>
+ <title>Download Apache Commons Logging</title>
<author email="dev(a)commons.apache.org">Commons Documentation Team</author>
</properties>
<body>
- <section name="Download Commons Logging">
+ <section name="Download Apache Commons Logging">
<subsection name="Using a Mirror">
<p>
We recommend you use a mirror to download our release
@@ -95,32 +95,32 @@
</p>
</subsection>
</section>
- <section name="Commons Logging 1.1.3 ">
+ <section name="Apache Commons Logging 1.2 ">
<subsection name="Binaries">
<table>
<tr>
- <td><a href="[preferred]/commons/logging/binaries/commons-logging-1.1.3-bin.tar.gz">commons-logging-1.1.3-bin.tar.gz</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.3-b…">md5</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.3-b…">pgp</a></td>
+ <td><a href="[preferred]/commons/logging/binaries/commons-logging-1.2-bin.tar.gz">commons-logging-1.2-bin.tar.gz</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin…">md5</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin…">pgp</a></td>
</tr>
<tr>
- <td><a href="[preferred]/commons/logging/binaries/commons-logging-1.1.3-bin.zip">commons-logging-1.1.3-bin.zip</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.3-b…">md5</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.3-b…">pgp</a></td>
+ <td><a href="[preferred]/commons/logging/binaries/commons-logging-1.2-bin.zip">commons-logging-1.2-bin.zip</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin…">md5</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin…">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
- <td><a href="[preferred]/commons/logging/source/commons-logging-1.1.3-src.tar.gz">commons-logging-1.1.3-src.tar.gz</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.1.3-src…">md5</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.1.3-src…">pgp</a></td>
+ <td><a href="[preferred]/commons/logging/source/commons-logging-1.2-src.tar.gz">commons-logging-1.2-src.tar.gz</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.2-src.t…">md5</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.2-src.t…">pgp</a></td>
</tr>
<tr>
- <td><a href="[preferred]/commons/logging/source/commons-logging-1.1.3-src.zip">commons-logging-1.1.3-src.zip</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.1.3-src…">md5</a></td>
- <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.1.3-src…">pgp</a></td>
+ <td><a href="[preferred]/commons/logging/source/commons-logging-1.2-src.zip">commons-logging-1.2-src.zip</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.2-src.z…">md5</a></td>
+ <td><a href="http://www.apache.org/dist/commons/logging/source/commons-logging-1.2-src.z…">pgp</a></td>
</tr>
</table>
</subsection>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/site/xdoc/index.xml new/commons-logging-1.2-src/src/site/xdoc/index.xml
--- old/commons-logging-1.1.3-src/src/site/xdoc/index.xml 2013-05-16 22:04:22.000000000 +0200
+++ new/commons-logging-1.2-src/src/site/xdoc/index.xml 2014-07-05 20:11:36.000000000 +0200
@@ -81,6 +81,11 @@
Binary and source distributions are available
<a href="http://commons.apache.org/logging/download_logging.cgi">here</a>.
</p>
+ <subsection name='1.2 Release - July 2014'>
+ <p>The main purpose of the 1.2 release is to drop support for Java 1.1.</p>
+ <p>For a full list of changes since the 1.1.3 release, please refer to the
+ <a href="changes-report.html">change-report</a>.</p>
+ </subsection>
<subsection name='1.1.3 Release - May 2013'>
<p>The 1.1.3 release only updates the Bundle-SymbolicName in the manifest
to "org.apache.commons.logging".</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/AltHashtableTestCase.java new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/AltHashtableTestCase.java
--- old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/AltHashtableTestCase.java 2013-05-16 22:04:21.000000000 +0200
+++ new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/AltHashtableTestCase.java 2014-07-05 20:11:35.000000000 +0200
@@ -23,7 +23,7 @@
/**
* Test the ability to force the LogFactory class to use some
* arbitrary Hashtable implementation to store its mapping from
- * context-classloader -> LogFactory object.
+ * context-classloader -> LogFactory object.
*/
public class AltHashtableTestCase extends TestCase {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/DummyClass.java new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/DummyClass.java
--- old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/DummyClass.java 1970-01-01 01:00:00.000000000 +0100
+++ new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/DummyClass.java 2014-07-05 20:11:35.000000000 +0200
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE
+ * file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
+ * to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ * applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.apache.commons.logging.security;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DummyClass {
+
+ public DummyClass() {
+ Log log = LogFactory.getLog(DummyClass.class);
+ log.info("Some log message");
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/MockSecurityManager.java new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/MockSecurityManager.java
--- old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/MockSecurityManager.java 2013-05-16 22:04:21.000000000 +0200
+++ new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/MockSecurityManager.java 2014-07-05 20:11:35.000000000 +0200
@@ -95,6 +95,13 @@
return;
}
+ if (cname.equals("java.util.logging.Level") && stack[i].getMethodName().equals("getLocalizedLevelName")) {
+ // LOGGING-156: OpenJDK 1.7 JULI code (java.util.logging.Level#getLocalizedLevelName)
+ // calls ResourceBundle#getBundle() without using AccessController#doPrivileged()
+ // requiring RuntimePermission: "accessClassInPackage.sun.util.logging.resources"
+ return;
+ }
+
if (cname.equals("java.security.AccessController")) {
// Presumably method name equals "doPrivileged"
//
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/SecurityAllowedTestCase.java new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/SecurityAllowedTestCase.java
--- old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/SecurityAllowedTestCase.java 2013-05-16 22:04:21.000000000 +0200
+++ new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/SecurityAllowedTestCase.java 2014-07-05 20:11:35.000000000 +0200
@@ -125,7 +125,7 @@
// we better compare that we have no security exception during the call to log
// IBM JVM tries to load bundles during the invoke call, which increase the count
- assertEquals(untrustedCodeCount, mySecurityManager.getUntrustedCodeCount());
+ assertEquals("Untrusted code count", untrustedCodeCount, mySecurityManager.getUntrustedCodeCount());
} catch(Throwable t) {
// Restore original security manager so output can be generated; the
// PrintWriter constructor tries to read the line.separator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/SecurityForbiddenTestCase.java new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/SecurityForbiddenTestCase.java
--- old/commons-logging-1.1.3-src/src/test/java/org/apache/commons/logging/security/SecurityForbiddenTestCase.java 2013-05-16 22:04:21.000000000 +0200
+++ new/commons-logging-1.2-src/src/test/java/org/apache/commons/logging/security/SecurityForbiddenTestCase.java 2014-07-05 20:11:35.000000000 +0200
@@ -47,6 +47,7 @@
public class SecurityForbiddenTestCase extends TestCase
{
private SecurityManager oldSecMgr;
+ private ClassLoader otherClassLoader;
// Dummy special hashtable, so we can tell JCL to use this instead of
// the standard one.
@@ -75,6 +76,12 @@
public void setUp() {
// save security manager so it can be restored in tearDown
oldSecMgr = System.getSecurityManager();
+
+ PathableClassLoader classLoader = new PathableClassLoader(null);
+ classLoader.addLogicalLib("commons-logging");
+ classLoader.addLogicalLib("testclasses");
+
+ otherClassLoader = classLoader;
}
public void tearDown() {
@@ -131,4 +138,54 @@
fail("Unexpected exception:" + t.getMessage() + ":" + sw.toString());
}
}
+
+ /**
+ * Test what happens when JCL is run with absolutely no security
+ * privileges at all and a class loaded with a different classloader
+ * than the context classloader of the current thread tries to log something.
+ */
+ public void testContextClassLoader() {
+ System.setProperty(
+ LogFactory.HASHTABLE_IMPLEMENTATION_PROPERTY,
+ CustomHashtable.class.getName());
+ MockSecurityManager mySecurityManager = new MockSecurityManager();
+
+ System.setSecurityManager(mySecurityManager);
+
+ try {
+ // load a dummy class with another classloader
+ // to force a SecurityException when the LogFactory calls
+ // Thread.getCurrentThread().getContextClassLoader()
+ loadClass("org.apache.commons.logging.security.DummyClass", otherClassLoader);
+
+ System.setSecurityManager(oldSecMgr);
+ assertEquals(0, mySecurityManager.getUntrustedCodeCount());
+ } catch(Throwable t) {
+ // Restore original security manager so output can be generated; the
+ // PrintWriter constructor tries to read the line.separator
+ // system property.
+ System.setSecurityManager(oldSecMgr);
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ t.printStackTrace(pw);
+ fail("Unexpected exception:" + t.getMessage() + ":" + sw.toString());
+ }
+ }
+
+ /**
+ * Loads a class with the given classloader.
+ */
+ private Object loadClass(String name, ClassLoader classLoader) {
+ try {
+ Class clazz = classLoader.loadClass(name);
+ Object obj = clazz.newInstance();
+ return obj;
+ } catch ( Exception e ) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ e.printStackTrace(pw);
+ fail("Unexpected exception:" + e.getMessage() + ":" + sw.toString());
+ }
+ return null;
+ }
}
++++++ commons-logging-api-1.1.pom -> commons-logging-1.2.pom ++++++
++++ 652 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/apache-commons-logging/commons-logging-api-1.1.pom
++++ and /work/SRC/openSUSE:Factory/.apache-commons-logging.new/commons-logging-1.2.pom
1
0
Hello community,
here is the log from the commit of package python-keyring for openSUSE:Factory checked in at 2016-01-30 11:30:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keyring (Old)
and /work/SRC/openSUSE:Factory/.python-keyring.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keyring"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-keyring/python-keyring.changes 2015-12-21 12:03:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-keyring.new/python-keyring.changes 2016-01-30 11:30:43.000000000 +0100
@@ -1,0 +2,50 @@
+Tue Jan 12 16:56:53 UTC 2016 - michael(a)stroeder.com
+
+- update to upstream release 7.1.2
+- require Python 2.7+
+- require python-setuptools_scm 1.9+
+
+7.1
+* Issue #186: Removed preference for keyrings based on
+ ``XDG_CURRENT_DESKTOP`` as these values are to varied
+ to be a reliable indicator of which keyring implementation
+ might be preferable.
+
+7.0.2
+* Issue #187: Restore ``Keyring`` name in ``kwallet`` backend.
+ Users of keyring 6.1 or later should prefer an explicit reference
+ to DBusKeyring or QtKeyring instead.
+
+7.0.1
+* Issue #183 and Issue #185: Gnome keyring no longer relies
+ on environment variables, but instead relies on the GnomeKeyring
+ library to determine viability.
+
+7.0
+* Issue #99: Keyring now expects the config file to be located
+ in the XDG_CONFIG_HOME rather than XDG_DATA_HOME and will
+ fail to start if the config is found in the old location but not
+ the new. On systems where the two locations are distinct,
+ simply copy or symlink the config to remain compatible with
+ older versions or move the file to work only with 7.0 and later.
+* Replaced Pull Request #182 with a conditional SessionBus
+ construction, based on subsequent discussion.
+
+6.1.1
+* Pull Request #182: Prevent DBus from indicating as a viable
+ backend when no viable X DISPLAY variable is present.
+
+6.1
+* Pull Request #174: Add DBus backend for KWallet, preferred to Qt
+ backend. Theoretically, it should be auto-detected based on
+ available libraries and interchangeable with the Qt backend.
+
+6.0
+* Drop support for Python 2.6.
+
+5.7.1
+* Updated project metadata to match Github hosting and
+ generally refreshed the metadata structure to match
+ practices with other projects.
+
+-------------------------------------------------------------------
Old:
----
keyring-5.7.tar.gz
New:
----
keyring-7.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keyring.spec ++++++
--- /var/tmp/diff_new_pack.JKy6ry/_old 2016-01-30 11:30:45.000000000 +0100
+++ /var/tmp/diff_new_pack.JKy6ry/_new 2016-01-30 11:30:45.000000000 +0100
@@ -17,7 +17,7 @@
Name: python-keyring
-Version: 5.7
+Version: 7.1.2
Release: 0
Url: https://bitbucket.org/kang/python-keyring-lib
Summary: Store and access your passwords safely
@@ -25,9 +25,9 @@
Group: Development/Languages/Python
Source: https://pypi.python.org/packages/source/k/keyring/keyring-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
+BuildRequires: python-devel >= 2.7
BuildRequires: python-setuptools
-BuildRequires: python-setuptools_scm
+BuildRequires: python-setuptools_scm >= 1.9
# Test requirements:
BuildRequires: python-mock
BuildRequires: python-pytest
++++++ keyring-5.7.tar.gz -> keyring-7.1.2.tar.gz ++++++
++++ 2642 lines of diff (skipped)
1
0