openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2017
- 2 participants
- 2028 discussions
Hello community,
here is the log from the commit of package selinux-policy for openSUSE:Factory checked in at 2017-03-31 15:08:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/selinux-policy (Old)
and /work/SRC/openSUSE:Factory/.selinux-policy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "selinux-policy"
Fri Mar 31 15:08:32 2017 rev:28 rq:482447 version:20140730
Changes:
--------
--- /work/SRC/openSUSE:Factory/selinux-policy/selinux-policy.changes 2015-08-27 08:57:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.selinux-policy.new/selinux-policy.changes 2017-03-31 15:08:35.455989842 +0200
@@ -1,0 +2,39 @@
+Wed Mar 15 21:50:32 UTC 2017 - mwilck(a)suse.com
+
+- POLCYVER depends both on the libsemanage/policycoreutils version
+ and the kernel. The former is more important for us, kernel seems
+ to have all necessary features in Leap 42.1 already.
+
+- Replaced = runtime dependencies on checkpolicy/policycoreutils
+ with "=". 2.5 policy is not supposed to work with 2.3 tools,
+ The runtime policy tools need to be same the policy was built with.
+
+-------------------------------------------------------------------
+Wed Mar 15 15:16:20 UTC 2017 - mwilck(a)suse.com
+
+- Changes required by policycoreutils update to 2.5
+ * lots of spec file content needs to be conditional on
+ policycoreutils version.
+
+- Specific policycoreutils 2.5 related changes:
+ * modules moved from /etc/selinux to /var/lib/selinux
+ (https://github.com/SELinuxProject/selinux/wiki/Policy-Store-Migration)
+ * module path now includes includes priority. Users override default
+ policies by setting higher priority. Thus installed policy modules can be
+ fully verified by RPM.
+ * Installed modules have a different format and path.
+ Raw bzip2 doesn't suffice to create them any more, but we can process them
+ all in a single semodule -i command.
+
+- Policy version depends on kernel / distro version
+ * do not touch policy.<version>, rather fail if it's not created
+
+- Enabled building mls policy for Leap (not for SLES)
+
+- Other
+ * Bug: "sandbox.disabled" should be "sandbox.pp.disabled" for old policycoreutils
+ * Bug: (minimum) additional modules that need to be activated: postfix
+ (required by apache), plymouthd (required by getty)
+ * Cleanup: /etc -> %{sysconfdir} etc.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ selinux-policy.spec ++++++
--- /var/tmp/diff_new_pack.MOokgA/_old 2017-03-31 15:08:38.511557851 +0200
+++ /var/tmp/diff_new_pack.MOokgA/_new 2017-03-31 15:08:38.515557285 +0200
@@ -1,7 +1,7 @@
#
# spec file for package selinux-policy
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,14 +25,100 @@
%define BUILD_DOC 1
%define BUILD_TARGETED 1
%define BUILD_MINIMUM 1
-%if 0%{suse_version} == 1315
+%if 0%{suse_version} == 1315 && 0%{is_opensuse} == 0
%define BUILD_MLS 0
%else
%define BUILD_MLS 1
%endif
+
+%if 0%{?suse_version} >= 1330 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200 )
+%else
+%endif
+
+%define POLICYCOREUTILSVER %(rpm -q --qf %%{version} policycoreutils)
+%define CHECKPOLICYVER %POLICYCOREUTILSVER
+
+%define coreutils_ge() %{lua: if (rpm.vercmp(rpm.expand("%POLICYCOREUTILSVER"), rpm.expand("%1")) >= 0) then print "1" else print "0" end }
+
+# conditional stuff depending on policycoreutils version
+# See https://github.com/SELinuxProject/selinux/wiki/Policy-Store-Migration
+%if %{coreutils_ge 2.5}
+
+# Policy version, see https://selinuxproject.org/page/NB_PolicyType#Policy_Versions
+# It depends on the kernel, but apparently more so on the libsemanage version.
+%define POLICYVER 30
+
+# macros calling module_store have to be defined using global, not define, and
+# "lazy" evaluation
+%global module_store() %{_localstatedir}/lib/selinux/%%{1}
+%global policy_prio 100
+%global module_dir active/modules/%{policy_prio}
+%global module_disabled() %{module_store %%{1}}/active/modules/disabled/%%{2}
+
+%global install_pp() \
+ (cd %{buildroot}/%{_usr}/share/selinux/%1/ \
+ /usr/sbin/semodule -s %%{1} -X %{policy_prio} -n -p %{buildroot} -i *.pp \
+ rm -f *pp*);
+
+# FixMe 170315: None of these exist any more. Are they necessary?
+%global files_base_pp() %nil
+%global touch_file_contexts() touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.local
+%global files_file_contexts() %nil
+%global mkdir_other() \
+ %{__mkdir} -p %{buildroot}%{module_store %%1}/active/modules/disabled
+%global files_other() \
+ %dir %{module_store %%1}/active/modules \
+ %dir %{module_store %%1}/active/modules/disabled \
+ %{module_disabled %%1 sandbox}
+%global files_dot_bin() %nil
+%global rm_selinux_mod() rm -rf %%1
+
+%else
+# Policy version, see https://selinuxproject.org/page/NB_PolicyType#Policy_Versions
+# It depends on the kernel, but apparently more so on the libsemanage version.
%define POLICYVER 29
-%define POLICYCOREUTILSVER 2.3
-%define CHECKPOLICYVER 2.3
+
+%global module_store() %{_sysconfdir}/selinux/%%{1}/modules
+%global module_dir active/modules
+%global module_disabled() %{module_store %%{1}}/active/modules/%%{2}.pp.disabled
+
+# FixMe 170315: Why is bzip2 used here rather than semodule -i?
+%global install_pp() \
+ (cd %{buildroot}/%{_usr}/share/selinux/%%1/ \
+ bzip2 -c base.pp > %{buildroot}/%{_sysconfdir}/selinux/%%1/modules/active/base.pp \
+ rm -f base.pp \
+ for i in *.pp; do \
+ bzip2 -c $i > %{buildroot}/%{_sysconfdir}/selinux/%%1/modules/active/modules/$i \
+ done \
+ rm -f *pp* );
+
+# FixMe 170315:
+# Why is base.pp installed in a different path than other modules?
+# Requirement of policycoreutils 2.3 ??
+%global files_base_pp() %verify(not md5 size mtime) %{module_store %%{1}}/active/base.pp
+
+# FixMe 170315: do we really need these?
+%global touch_file_contexts() \
+ touch %{buildroot}%{_sysconfdir}/selinux/%%1/modules/active/file_contexts.local \
+ touch %{buildroot}%{_sysconfdir}/selinux/%%1/modules/active/file_contexts.homedirs.bin \
+ touch %{buildroot}%{_sysconfdir}/selinux/%%1/modules/active/file_contexts.bin;
+
+%global mkdir_other() %nil
+
+# FixMe 170315: do we really need these?
+%global files_file_contexts() \
+ %verify(not md5 size mtime) %{_sysconfdir}/selinux/%%1/modules/active/file_contexts.homedirs \
+ %verify(not md5 size mtime) %{_sysconfdir}/selinux/%%1/modules/active/file_contexts.template
+
+# FixMe 170315: do we really need these?
+%global files_other() \
+ %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/selinux/%%1/modules/active/seusers.final \
+ %verify(not md5 size mtime) %{_sysconfdir}/selinux/%%1/modules/active/netfilter_contexts
+
+%global files_dot_bin() %ghost %{module_store %%{1}}/active/*.bin
+%global rm_selinux_mod() rm -f %%{1}.pp
+
+%endif
Summary: SELinux policy configuration
License: GPL-2.0+
@@ -121,12 +207,12 @@
BuildRequires: %fillup_prereq
BuildRequires: %insserv_prereq
BuildRequires: bzip2
-BuildRequires: checkpolicy >= %{CHECKPOLICYVER}
+BuildRequires: checkpolicy
BuildRequires: gawk
BuildRequires: libxml2-tools
BuildRequires: m4
-BuildRequires: policycoreutils >= %{POLICYCOREUTILSVER}
-BuildRequires: policycoreutils-python >= %{POLICYCOREUTILSVER}
+BuildRequires: policycoreutils
+BuildRequires: policycoreutils-python
BuildRequires: python
BuildRequires: python-xml
#BuildRequires: selinux-policy-devel
@@ -139,14 +225,14 @@
# for audit2allow
Recommends: policycoreutils-python
-%define makeCmds() \
-make UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 bare \
-make UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 conf \
+%global makeCmds() \
+make SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 bare \
+make SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 conf \
cp -f selinux_config/booleans-%1.conf ./policy/booleans.conf \
cp -f selinux_config/users-%1 ./policy/users \
#cp -f selinux_config/modules-%1-base.conf ./policy/modules.conf \
-%define makeModulesConf() \
+%global makeModulesConf() \
cp -f selinux_config/modules-%1-%2.conf ./policy/modules-base.conf \
cp -f selinux_config/modules-%1-%2.conf ./policy/modules.conf \
if [ "%3" = "contrib" ];then \
@@ -154,71 +240,63 @@
cat selinux_config/modules-%1-%3.conf >> ./policy/modules.conf; \
fi; \
-%define installCmds() \
-make UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 SEMOD_EXP="/usr/bin/semodule_expand -a" base.pp \
-make validate UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 SEMOD_EXP="/usr/bin/semodule_expand -a" modules \
-make UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} MLS_CATS=1024 MCS_CATS=1024 install \
-make UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} MLS_CATS=1024 MCS_CATS=1024 install-appconfig \
+%global installCmds() \
+make SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 SEMOD_EXP="/usr/bin/semodule_expand -a" base.pp \
+make validate SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 SEMOD_EXP="/usr/bin/semodule_expand -a" modules \
+make SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} MLS_CATS=1024 MCS_CATS=1024 install \
+make SYSTEMD=y UNK_PERMS=%4 NAME=%1 TYPE=%2 DISTRO=%{distro} UBAC=n DIRECT_INITRC=%3 MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} MLS_CATS=1024 MCS_CATS=1024 install-appconfig \
%{__mkdir} -p %{buildroot}/%{_sysconfdir}/selinux/%1/logins \
%{__mkdir} -p %{buildroot}/%{_sysconfdir}/selinux/%1/policy \
-%{__mkdir} -p %{buildroot}/%{_sysconfdir}/selinux/%1/modules/active/modules \
+%{__mkdir} -p %{buildroot}/%{module_store %%{1}}/%{module_dir} \
%{__mkdir} -p %{buildroot}/%{_sysconfdir}/selinux/%1/contexts/files \
-touch %{buildroot}/%{_sysconfdir}/selinux/%1/modules/semanage.read.LOCK \
-touch %{buildroot}/%{_sysconfdir}/selinux/%1/modules/semanage.trans.LOCK \
+%{mkdir_other %%1} \
+touch %{buildroot}/%{module_store %%{1}}/semanage.read.LOCK \
+touch %{buildroot}/%{module_store %%{1}}/semanage.trans.LOCK \
rm -rf %{buildroot}%{_sysconfdir}/selinux/%1/booleans \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} \
touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.subs \
+%{touch_file_contexts %%1} \
install -m0644 selinux_config/securetty_types-%1 %{buildroot}%{_sysconfdir}/selinux/%1/contexts/securetty_types \
install -m0644 selinux_config/file_contexts.subs_dist %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files \
install -m0644 selinux_config/setrans-%1.conf %{buildroot}%{_sysconfdir}/selinux/%1/setrans.conf \
install -m0644 selinux_config/customizable_types %{buildroot}%{_sysconfdir}/selinux/%1/contexts/customizable_types \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/seusers \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/file_contexts.local \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/nodes.local \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/users_extra.local \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/users.local \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/file_contexts.homedirs.bin \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/file_contexts.bin \
+touch %{buildroot}%{module_store %%{1}}/active/seusers \
+touch %{buildroot}%{module_store %%{1}}/active/nodes.local \
+touch %{buildroot}%{module_store %%{1}}/active/users_extra.local \
+touch %{buildroot}%{module_store %%{1}}/active/users.local \
cp %{SOURCE23} %{buildroot}%{_sysconfdir}/selinux/%1 \
-bzip2 -c %{buildroot}/%{_usr}/share/selinux/%1/base.pp > %{buildroot}/%{_sysconfdir}/selinux/%1/modules/active/base.pp \
-rm -f %{buildroot}/%{_usr}/share/selinux/%1/base.pp \
-for i in %{buildroot}/%{_usr}/share/selinux/%1/*.pp; do bzip2 -c $i > %{buildroot}/%{_sysconfdir}/selinux/%1/modules/active/modules/`basename $i`; done \
-rm -f %{buildroot}/%{_usr}/share/selinux/%1/*pp* \
-touch %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/modules/sandbox.disabled \
-/usr/sbin/semodule -s %1 -n -B -p %{buildroot}; \
+%install_pp %%1 \
+touch %{buildroot}%{module_disabled %%1 sandbox} \
+/usr/sbin/semodule -s %%1 -n -B -p %{buildroot}; \
/usr/bin/sha512sum %{buildroot}%{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} | cut -d' ' -f 1 > %{buildroot}%{_sysconfdir}/selinux/%1/.policy.sha512; \
rm -rf %{buildroot}%{_sysconfdir}/selinux/%1/contexts/netfilter_contexts \
rm -f %{buildroot}/%{_sysconfigdir}/selinux/%1/modules/active/policy.kern \
-ln -sf /etc/selinux/%1/policy/policy.%{POLICYVER} %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/policy.kern \
+ln -sf %{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} %{buildroot}%{module_store %%{1}}/active/policy.kern \
%nil
-%define fileList() \
+%global fileList() \
%defattr(-,root,root) \
%dir %{_usr}/share/selinux/%1 \
%dir %{_sysconfdir}/selinux/%1 \
%config(noreplace) %{_sysconfdir}/selinux/%1/setrans.conf \
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/seusers \
%dir %{_sysconfdir}/selinux/%1/logins \
-%dir %{_sysconfdir}/selinux/%1/modules \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/semanage.read.LOCK \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/semanage.trans.LOCK \
-%dir %attr(700,root,root) %dir %{_sysconfdir}/selinux/%1/modules/active \
-%dir %{_sysconfdir}/selinux/%1/modules/active/modules \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/policy.kern \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/commit_num \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/base.pp \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/file_contexts \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/file_contexts.homedirs \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/file_contexts.template \
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/seusers.final \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/netfilter_contexts \
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/users_extra \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/homedir_template \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/modules/*.pp \
-%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/modules/active/modules/sandbox.disabled \
-%ghost %{_sysconfdir}/selinux/%1/modules/active/*.local \
-%ghost %{_sysconfdir}/selinux/%1/modules/active/*.bin \
-%ghost %{_sysconfdir}/selinux/%1/modules/active/seusers \
+%dir %{module_store %%{1}} \
+%verify(not md5 size mtime) %{module_store %%{1}}/semanage.read.LOCK \
+%verify(not md5 size mtime) %{module_store %%{1}}/semanage.trans.LOCK \
+%dir %attr(700,root,root) %dir %{module_store %%{1}}/active \
+%dir %{module_store %%{1}}/%{module_dir} \
+%verify(not md5 size mtime) %{module_store %%{1}}/active/policy.kern \
+%verify(not md5 size mtime) %{module_store %%{1}}/active/commit_num \
+%{files_base_pp %%1} \
+%verify(not md5 size mtime) %{module_store %%{1}}/active/file_contexts \
+%{files_file_contexts %%1} \
+%{files_other %%1} \
+%config(noreplace) %verify(not md5 size mtime) %{module_store %%{1}}/active/users_extra \
+%verify(not md5 size mtime) %{module_store %%{1}}/active/homedir_template \
+%{module_store %%{1}}/%{module_dir}/* \
+%ghost %{module_store %%{1}}/active/*.local \
+%{files_dot_bin %%1} \
+%ghost %{module_store %%{1}}/active/seusers \
%dir %{_sysconfdir}/selinux/%1/policy/ \
%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} \
%{_sysconfdir}/selinux/%1/.policy.sha512 \
@@ -258,35 +336,35 @@
/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null; \
rm -f ${FILE_CONTEXT}.pre; \
fi; \
- /sbin/restorecon -e /run/media -R /root /var/log /var/run /etc/passwd* /etc/group* /etc/*shadow* 2> /dev/null; \
+ /sbin/restorecon -e /run/media -R /root /var/log /var/run %{_sysconfdir}/passwd* %{_sysconfdir}/group* %{_sysconfdir}/*shadow* 2> /dev/null; \
/sbin/restorecon -R /home/*/.cache /home/*/.config 2> /dev/null || true; \
fi;
-%define preInstall() \
-if [ $1 -ne 1 ] && [ -s /etc/selinux/config ]; then \
+%global preInstall() \
+if [ $1 -ne 1 ] && [ -s %{_sysconfdir}/selinux/config ]; then \
. %{_sysconfdir}/selinux/config; \
- FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \
- if [ "${SELINUXTYPE}" = %1 -a -f ${FILE_CONTEXT} ]; then \
+ FILE_CONTEXT=%{_sysconfdir}/selinux/%%1/contexts/files/file_contexts; \
+ if [ "${SELINUXTYPE}" = %%1 -a -f ${FILE_CONTEXT} ]; then \
[ -f ${FILE_CONTEXT}.pre ] || cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.pre; \
fi; \
- touch /etc/selinux/%1/.rebuild; \
- if [ -e /etc/selinux/%1/.policy.sha512 ]; then \
- sha512=`sha512sum /etc/selinux/%1/modules/active/policy.kern | cut -d ' ' -f 1`; \
- checksha512=`cat /etc/selinux/%1/.policy.sha512`; \
+ touch %{_sysconfdir}/selinux/%%1/.rebuild; \
+ if [ -e %{_sysconfdir}/selinux/%%1/.policy.sha512 ]; then \
+ sha512=`sha512sum %{module_store %%{1}}/active/policy.kern | cut -d ' ' -f 1`; \
+ checksha512=`cat %{_sysconfdir}/selinux/%%1/.policy.sha512`; \
if [ "$sha512" = "$checksha512" ] ; then \
- rm /etc/selinux/%1/.rebuild; \
+ rm %{_sysconfdir}/selinux/%%1/.rebuild; \
fi; \
fi; \
fi;
-%define postInstall() \
+%global postInstall() \
. %{_sysconfdir}/selinux/config; \
-if [ -e /etc/selinux/%2/.rebuild ]; then \
- rm /etc/selinux/%2/.rebuild; \
- (cd /etc/selinux/%2/modules/active/modules; rm -f shutdown.pp amavis.pp clamav.pp gnomeclock.pp matahari.pp xfs.pp kudzu.pp kerneloops.pp execmem.pp openoffice.pp ada.pp tzdata.pp hal.pp hotplug.pp howl.pp java.pp mono.pp moilscanner.pp gamin.pp audio_entropy.pp audioentropy.pp iscsid.pp polkit_auth.pp polkit.pp rtkit_daemon.pp ModemManager.pp telepathysofiasip.pp ethereal.pp passanger.pp qpidd.pp pyzor.pp razor.pp pki-selinux.pp phpfpm.pp consoletype.pp ctdbd.pp fcoemon.pp isnsd.pp l2tp.pp rgmanager.pp corosync.pp aisexec.pp pacemaker.pp ) \
- /usr/sbin/semodule -B -n -s %2; \
+if [ -e %{_sysconfdir}/selinux/%%2/.rebuild ]; then \
+ rm %{_sysconfdir}/selinux/%%2/.rebuild; \
+ (cd %{module_store %%2}/%{module_dir}; for _mod in shutdown amavis clamav gnomeclock matahari xfs kudzu kerneloops execmem openoffice ada tzdata hal hotplug howl java mono moilscanner gamin audio_entropy audioentropy iscsid polkit_auth polkit rtkit_daemon ModemManager telepathysofiasip ethereal passanger qpidd pyzor razor pki-selinux phpfpm consoletype ctdbd fcoemon isnsd l2tp rgmanager corosync aisexec pacemaker; do %{rm_selinux_mod ${_mod}}; done ) \
+ /usr/sbin/semodule -B -n -s %%2; \
else \
- touch /etc/selinux/%2/modules/active/modules/sandbox.disabled \
+ touch %{module_disabled %%2 sandbox} \
fi; \
if [ "${SELINUXTYPE}" = "%2" ]; then \
if selinuxenabled; then \
@@ -308,9 +386,9 @@
fi;
%define modulesList() \
-awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s.pp ", $1 }' ./policy/modules-base.conf > %{buildroot}/%{_usr}/share/selinux/%1/modules-base.lst \
+awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s ", $1 }' ./policy/modules-base.conf > %{buildroot}/%{_usr}/share/selinux/%1/modules-base.lst \
if [ -e ./policy/modules-contrib.conf ];then \
- awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s.pp ", $1 }' ./policy/modules-contrib.conf > %{buildroot}/%{_usr}/share/selinux/%1/modules-contrib.lst; \
+ awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s ", $1 }' ./policy/modules-contrib.conf > %{buildroot}/%{_usr}/share/selinux/%1/modules-contrib.lst; \
fi;
%files
@@ -422,8 +500,8 @@
# Install devel
mkdir -p %{buildroot}%{_mandir}
cp -R man/* %{buildroot}%{_mandir}
-make UNK_PERMS=allow NAME=targeted TYPE=mcs DISTRO=%{distro} UBAC=n DIRECT_INITRC=n MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} PKGNAME=%{name}-%{version} MLS_CATS=1024 MCS_CATS=1024 install-docs
-make UNK_PERMS=allow NAME=targeted TYPE=mcs DISTRO=%{distro} UBAC=n DIRECT_INITRC=n MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} PKGNAME=%{name}-%{version} MLS_CATS=1024 MCS_CATS=1024 install-headers
+make SYSTEMD=y UNK_PERMS=allow NAME=targeted TYPE=mcs DISTRO=%{distro} UBAC=n DIRECT_INITRC=n MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} PKGNAME=%{name}-%{version} MLS_CATS=1024 MCS_CATS=1024 install-docs
+make SYSTEMD=y UNK_PERMS=allow NAME=targeted TYPE=mcs DISTRO=%{distro} UBAC=n DIRECT_INITRC=n MONOLITHIC=%{monolithic} DESTDIR=%{buildroot} PKGNAME=%{name}-%{version} MLS_CATS=1024 MCS_CATS=1024 install-headers
mkdir %{buildroot}%{_usr}/share/selinux/devel/
mv %{buildroot}%{_usr}/share/selinux/targeted/include %{buildroot}%{_usr}/share/selinux/devel/include
chmod +x %{buildroot}%{_usr}/share/selinux/devel/include/support/segenxml.py
@@ -440,23 +518,23 @@
%post
%{fillup_only}
-if [ ! -s /etc/selinux/config ]; then
+if [ ! -s %{_sysconfdir}/selinux/config ]; then
# new install
- ln -sf /etc/sysconfig/selinux-policy /etc/selinux/config
- restorecon /etc/selinux/config 2> /dev/null || :
+ ln -sf %{_sysconfdir}/sysconfig/selinux-policy %{_sysconfdir}/selinux/config
+ restorecon %{_sysconfdir}/selinux/config 2> /dev/null || :
else
- . /etc/sysconfig/selinux-policy
+ . %{_sysconfdir}/sysconfig/selinux-policy
# if first time update booleans.local needs to be copied to sandbox
- [ -f /etc/selinux/${SELINUXTYPE}/booleans.local ] && mv /etc/selinux/${SELINUXTYPE}/booleans.local /etc/selinux/targeted/modules/active/
- [ -f /etc/selinux/${SELINUXTYPE}/seusers ] && cp -f /etc/selinux/${SELINUXTYPE}/seusers /etc/selinux/${SELINUXTYPE}/modules/active/seusers
+ [ -f %{_sysconfdir}/selinux/${SELINUXTYPE}/booleans.local ] && mv %{_sysconfdir}/selinux/${SELINUXTYPE}/booleans.local %{module_store targeted}/active/
+ [ -f %{_sysconfdir}/selinux/${SELINUXTYPE}/seusers ] && cp -f %{_sysconfdir}/selinux/${SELINUXTYPE}/seusers %{module_store ${SELINUXTYPE}}/active/seusers
fi
exit 0
%postun
if [ $1 = 0 ]; then
setenforce 0 2> /dev/null
- if [ -s /etc/selinux/config ]; then
- sed -i --follow-symlinks 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
+ if [ -s %{_sysconfdir}/selinux/config ]; then
+ sed -i --follow-symlinks 's/^SELINUX=.*/SELINUX=disabled/g' %{_sysconfdir}/selinux/config
fi
fi
exit 0
@@ -524,7 +602,6 @@
%files targeted
%defattr(-,root,root,-)
-%config(noreplace) %{_sysconfdir}/selinux/targeted/contexts/users/unconfined_u
%fileList targeted
%{_usr}/share/selinux/targeted/modules-base.lst
%{_usr}/share/selinux/targeted/modules-contrib.lst
@@ -535,7 +612,7 @@
Summary: SELinux minimum base policy
Group: System/Management
Provides: selinux-policy-base = %{version}-%{release}
-Requires(post): policycoreutils-python >= %{POLICYCOREUTILSVER}
+Requires(post): policycoreutils-python = %{POLICYCOREUTILSVER}
Requires(pre): coreutils
Requires(pre): selinux-policy = %{version}-%{release}
Requires: selinux-policy = %{version}-%{release}
@@ -555,12 +632,12 @@
basepackages=`cat /usr/share/selinux/minimum/modules-base.lst`
if [ $1 -eq 1 ]; then
for p in $contribpackages; do
- touch /etc/selinux/minimum/modules/active/modules/$p.disabled
+ touch %{module_disabled minimum $p}
done
# this is temporarily needed to make minimum policy work without errors. Will be included
# into the proper places later on
-for p in $basepackages apache.pp dbus.pp inetd.pp kerberos.pp mta.pp nis.pp nscd.pp cron.pp; do
- rm -f /etc/selinux/minimum/modules/active/modules/$p.disabled
+for p in $basepackages plymouthd postfix apache dbus inetd kerberos mta nis nscd cron; do
+ rm -f %{module_disabled minimum $p}
done
# those are default anyway
# /usr/sbin/semanage -S minimum -i - << __eof
@@ -572,10 +649,10 @@
else
instpackages=`cat /usr/share/selinux/minimum/instmodules.lst`
for p in $contribpackages; do
- touch /etc/selinux/minimum/modules/active/modules/$p.disabled
+ touch %{module_disabled minimum $p}
done
for p in $instpackages apache dbus inetd kerberos mta nis; do
- rm -f /etc/selinux/minimum/modules/active/modules/$p.pp.disabled
+ rm -f %{module_disabled minimum $p}
done
/usr/sbin/semodule -B -s minimum
%relabel minimum
@@ -584,7 +661,6 @@
%files minimum
%defattr(-,root,root,-)
-%config(noreplace) %{_sysconfdir}/selinux/minimum/contexts/users/unconfined_u
%fileList minimum
%{_usr}/share/selinux/minimum/modules-base.lst
%{_usr}/share/selinux/minimum/modules-contrib.lst
@@ -596,9 +672,9 @@
Group: System/Management
Provides: selinux-policy-base = %{version}-%{release}
Obsoletes: selinux-policy-mls-sources < 2
-Requires: policycoreutils-newrole >= %{POLICYCOREUTILSVER}
+Requires: policycoreutils-newrole = %{POLICYCOREUTILSVER}
Requires: setransd
-Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER}
+Requires(pre): policycoreutils = %{POLICYCOREUTILSVER}
Requires(pre): coreutils
Requires(pre): selinux-policy = %{version}-%{release}
Requires: selinux-policy = %{version}-%{release}
1
0
Hello community,
here is the log from the commit of package boo for openSUSE:Factory checked in at 2017-03-31 15:08:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/boo (Old)
and /work/SRC/openSUSE:Factory/.boo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boo"
Fri Mar 31 15:08:29 2017 rev:24 rq:482439 version:0.9.3.3457
Changes:
--------
--- /work/SRC/openSUSE:Factory/boo/boo.changes 2011-09-23 01:52:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.boo.new/boo.changes 2017-03-31 15:08:31.876495904 +0200
@@ -1,0 +2,5 @@
+Thu Mar 23 15:14:15 UTC 2017 - kstreitova(a)suse.com
+
+- cleanup with spec-cleaner
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ boo.spec ++++++
--- /var/tmp/diff_new_pack.bHHXBA/_old 2017-03-31 15:08:32.544401477 +0200
+++ /var/tmp/diff_new_pack.bHHXBA/_new 2017-03-31 15:08:32.544401477 +0200
@@ -1,7 +1,7 @@
#
# spec file for package boo
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,29 +16,28 @@
#
-
-Name: boo
-Version: 0.9.3.3457
-Release: 1
%define _version 2_0_9_3
%define _version_short 0.9.3
+# gtksourceview is required so that we can put the sourceview lang definitions
+# in the right location
+# On older versions of suse, this was defined as /opt/gnome... make it cross distro
+%define gtksourceview_prefix %(pkg-config --variable=prefix gtksourceview-1.0)
+%define mime_info_prefix %(pkg-config --variable=prefix shared-mime-info)
+Name: boo
+Version: 0.9.3.3457
+Release: 0
+Summary: A CLI Scripting Language
License: MIT
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: boo-%{version}.tar.bz2
-Patch1: boo-pkgconfig_path_fix.patch
Group: Development/Languages/Other
-Summary: A CLI Scripting Language
-BuildArch: noarch
Url: http://boo.codehaus.org/Home
-BuildRequires: mono-devel
+Source0: boo-%{version}.tar.bz2
+Patch1: boo-pkgconfig_path_fix.patch
BuildRequires: gtksourceview18-devel
+BuildRequires: mono-devel
BuildRequires: shared-mime-info
Requires: %{name}-%{_version} = %{version}
-# gtksourceview is required so that we can put the sourceview lang definitions
-# in the right location
-# On older versions of suse, this was defined as /opt/gnome... make it cross distro
-%define gtksourceview_prefix %(pkg-config --variable=prefix gtksourceview-1.0)
-%define mime_info_prefix %(pkg-config --variable=prefix shared-mime-info)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
%description
Boo is a new object oriented statically typed programming language for
@@ -46,7 +45,6 @@
special focus on language and compiler extensibility.
%package devel
-License: MIT
Summary: A CLI Scripting Language
Group: Development/Languages/Other
Requires: boo = %{version}
@@ -57,7 +55,6 @@
special focus on language and compiler extensibility.
%package 2_0_9_3
-License: MIT
Summary: A CLI Scripting Language
Group: Development/Languages/Other
@@ -75,7 +72,7 @@
make %{?_smp_mflags}
%install
-make install DESTDIR=%{buildroot}
+%make_install
mv %{buildroot}%{_prefix}/lib/pkgconfig %{buildroot}%{_datadir}/
# boo.lang is provided by gtksourceview
rm -rf %{buildroot}%{_datadir}/gtksourceview-1.0
1
0
Hello community,
here is the log from the commit of package awesome for openSUSE:Factory checked in at 2017-03-31 15:08:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/awesome (Old)
and /work/SRC/openSUSE:Factory/.awesome.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "awesome"
Fri Mar 31 15:08:27 2017 rev:18 rq:482437 version:4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/awesome/awesome.changes 2017-03-12 20:05:10.059843346 +0100
+++ /work/SRC/openSUSE:Factory/.awesome.new/awesome.changes 2017-03-31 15:08:30.296719250 +0200
@@ -1,0 +2,7 @@
+Sun Mar 19 15:12:35 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 4.1:
+ * See https://awesomewm.org/apidoc/documentation/89-NEWS.md.html#v41
+- Use tarball signing.
+
+-------------------------------------------------------------------
Old:
----
awesome-4.0.tar.xz
New:
----
awesome-4.1.tar.xz
awesome-4.1.tar.xz.asc
awesome.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ awesome.spec ++++++
--- /var/tmp/diff_new_pack.P697pz/_old 2017-03-31 15:08:31.136600509 +0200
+++ /var/tmp/diff_new_pack.P697pz/_new 2017-03-31 15:08:31.136600509 +0200
@@ -17,20 +17,22 @@
Name: awesome
-Version: 4.0
+Version: 4.1
Release: 0
Summary: Highly configurable tiling and floating Window Manager
License: GPL-2.0+
Group: System/GUI/Other
Url: https://awesomewm.org/
Source: https://github.com/awesomeWM/awesome-releases/raw/master/%{name}-%{version}…
+Source1: https://github.com/awesomeWM/awesome-releases/raw/master/%{name}-%{version}…
+Source2: %{name}.keyring
BuildRequires: ImageMagick
BuildRequires: asciidoc
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: grep
-BuildRequires: lua-lgi
+BuildRequires: lua-lgi >= 0.8.0
BuildRequires: pkgconfig
BuildRequires: xmlto
BuildRequires: Lua(devel) >= 5.3
@@ -112,7 +114,7 @@
%files
%defattr(-,root,root)
%doc LICENSE README.md
-%{_docdir}/%{name}
+%doc %{_docdir}/%{name}/
%dir %{_sysconfdir}/xdg/%{name}/
%{_bindir}/%{name}*
%{_datadir}/%{name}/
++++++ awesome-4.0.tar.xz -> awesome-4.1.tar.xz ++++++
++++ 22023 lines of diff (skipped)
++++++ awesome.keyring ++++++
pub rsa2048 2009-05-09 [SC] [expires: 2018-12-07]
2BB3 2F88 FF3D 1E76 E682 303F 22E4 28EB CB8F CB06
uid [ unknown] Uli Schlachter <psychon(a)znc.in>
uid [ unknown] Uli Schlachter (jabber) <psychon(a)jabber.ccc.de>
sub rsa2048 2009-05-09 [E] [expires: 2018-12-07]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=sU9k
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package pencil for openSUSE:Factory checked in at 2017-03-31 15:08:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pencil (Old)
and /work/SRC/openSUSE:Factory/.pencil.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pencil"
Fri Mar 31 15:08:25 2017 rev:2 rq:482433 version:2.0.21
Changes:
--------
--- /work/SRC/openSUSE:Factory/pencil/pencil.changes 2017-03-24 02:20:50.434974951 +0100
+++ /work/SRC/openSUSE:Factory/.pencil.new/pencil.changes 2017-03-31 15:08:29.052895099 +0200
@@ -1,0 +2,6 @@
+Thu Mar 23 16:57:36 UTC 2017 - jengelh(a)inai.de
+
+- Trim filler words from description.
+- Replace %__-type macro indirections.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pencil.spec ++++++
--- /var/tmp/diff_new_pack.CRQUW5/_old 2017-03-31 15:08:29.820786536 +0200
+++ /var/tmp/diff_new_pack.CRQUW5/_new 2017-03-31 15:08:29.820786536 +0200
@@ -32,8 +32,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
-Pencil is built for the purpose of providing a free and open-source GUI prototyping tool
-that people can easily install and use to create mockups in popular desktop platforms.
+Pencil is a GUI prototyping tool that can be used to create mockups.
Top features:
* Built-in stencils for diagraming and prototyping
@@ -45,7 +44,6 @@
* Standard drawing operations: aligning, z-ordering, scaling, rotating...
* Cross-platforms
* Adding external objects
- * And much more...
This is a fork of the dead original project at http://pencil.evolus.vn/.
@@ -60,7 +58,7 @@
%install
cd build
-%{__install} -v -d %{buildroot}
+install -v -d %{buildroot}
cp -r Outputs/LinuxPkg/* %{buildroot}
%suse_update_desktop_file -r %{name} Graphics 2DGraphics Development Design
1
0
Hello community,
here is the log from the commit of package perl-Math-BigInt for openSUSE:Factory checked in at 2017-03-31 15:08:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Math-BigInt (Old)
and /work/SRC/openSUSE:Factory/.perl-Math-BigInt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Math-BigInt"
Fri Mar 31 15:08:23 2017 rev:31 rq:482419 version:1.999811
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Math-BigInt/perl-Math-BigInt.changes 2017-02-15 10:06:49.616636155 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Math-BigInt.new/perl-Math-BigInt.changes 2017-03-31 15:08:27.141165376 +0200
@@ -1,0 +2,49 @@
+Fri Mar 17 06:58:23 UTC 2017 - coolo(a)suse.com
+
+- updated to 1.999811
+ see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
+
+ 2017-03-15 v1.999811 pjacklam
+
+ * Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
+ methods resulting in loss of accuracy. This bug was introduced in bug in
+ Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
+ this bug was also present in the newer to_hex(), to_oct(), and to_bin()
+ methods. This shows the bug, as it did not print "0xffff...":
+
+ print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
+
+ * Fix incorrect formatting in the output from the Math::BigFloat methods
+ to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
+ added when it shouldn't have been.
+
+ * Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
+ as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
+
+ * "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
+
+-------------------------------------------------------------------
+Fri Mar 3 06:57:10 UTC 2017 - coolo(a)suse.com
+
+- updated to 1.999810
+ see /usr/share/doc/packages/perl-Math-BigInt/CHANGES
+
+ 2017-03-01 v1.999810 pjacklam
+
+ * CPAN RT #120240 revealed that the problems with undefined values is still
+ present. After a close examination, I believe the only way to get this
+ really working is to to make blog() call objectify() differently depending
+ on whether the base for the logarithm is undefined or not. That way we can
+ avoid objectify() converting the undefined value to a zero. Ideally, we
+ should warn about undefined values when used in any other context, but we'll
+ handle that in a later release. See also the related changelog entry for
+ v1.999801.
+
+ * Fix the way the argument count is computed in objectify(). When an argument
+ count of 0 is given, it means that we should objectify all input arguments.
+ However, it turned out that the actual argument count was computed
+ incorrectly.
+
+ * Fix CPAN RT #120242 rearding c3 method resolution.
+
+-------------------------------------------------------------------
Old:
----
Math-BigInt-1.999809.tar.gz
New:
----
Math-BigInt-1.999811.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Math-BigInt.spec ++++++
--- /var/tmp/diff_new_pack.ho2bGh/_old 2017-03-31 15:08:27.753078865 +0200
+++ /var/tmp/diff_new_pack.ho2bGh/_new 2017-03-31 15:08:27.757078299 +0200
@@ -17,14 +17,14 @@
Name: perl-Math-BigInt
-Version: 1.999809
+Version: 1.999811
Release: 0
%define cpan_name Math-BigInt
Summary: Arbitrary size integer/float math package
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Math-BigInt/
-Source0: http://www.cpan.org/authors/id/P/PJ/PJACKLAM/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/P/PJ/PJACKLAM/%{cpan_name}-%{version}.…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -64,6 +64,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc BUGS CHANGES CREDITS examples GOALS HISTORY LICENSE NEW README TODO
+%doc BUGS CHANGES CREDITS examples GOALS HISTORY NEW README TODO
+%license LICENSE
%changelog
++++++ Math-BigInt-1.999809.tar.gz -> Math-BigInt-1.999811.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/CHANGES new/Math-BigInt-1.999811/CHANGES
--- old/Math-BigInt-1.999809/CHANGES 2017-02-10 12:01:15.000000000 +0100
+++ new/Math-BigInt-1.999811/CHANGES 2017-03-15 11:21:43.000000000 +0100
@@ -1,3 +1,40 @@
+2017-03-15 v1.999811 pjacklam
+
+ * Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
+ methods resulting in loss of accuracy. This bug was introduced in bug in
+ Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
+ this bug was also present in the newer to_hex(), to_oct(), and to_bin()
+ methods. This shows the bug, as it did not print "0xffff...":
+
+ print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
+
+ * Fix incorrect formatting in the output from the Math::BigFloat methods
+ to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
+ added when it shouldn't have been.
+
+ * Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
+ as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
+
+ * "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
+
+2017-03-01 v1.999810 pjacklam
+
+ * CPAN RT #120240 revealed that the problems with undefined values is still
+ present. After a close examination, I believe the only way to get this
+ really working is to to make blog() call objectify() differently depending
+ on whether the base for the logarithm is undefined or not. That way we can
+ avoid objectify() converting the undefined value to a zero. Ideally, we
+ should warn about undefined values when used in any other context, but we'll
+ handle that in a later release. See also the related changelog entry for
+ v1.999801.
+
+ * Fix the way the argument count is computed in objectify(). When an argument
+ count of 0 is given, it means that we should objectify all input arguments.
+ However, it turned out that the actual argument count was computed
+ incorrectly.
+
+ * Fix CPAN RT #120242 rearding c3 method resolution.
+
2017-02-10 v1.999809 pjacklam
* When a new method is added to Math::BigInt or Math::BigFloat, and this new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/MANIFEST.SKIP new/Math-BigInt-1.999811/MANIFEST.SKIP
--- old/Math-BigInt-1.999809/MANIFEST.SKIP 2016-07-11 13:08:02.000000000 +0200
+++ new/Math-BigInt-1.999811/MANIFEST.SKIP 2017-03-01 12:54:11.000000000 +0100
@@ -10,3 +10,4 @@
\.*tmp
.*\.patch\z
^Math-BigInt-
+~\z
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/META.json new/Math-BigInt-1.999811/META.json
--- old/Math-BigInt-1.999809/META.json 2017-02-10 12:06:49.000000000 +0100
+++ new/Math-BigInt-1.999811/META.json 2017-03-15 11:25:23.000000000 +0100
@@ -39,6 +39,6 @@
}
},
"release_status" : "stable",
- "version" : "1.999809",
+ "version" : "1.999811",
"x_serialization_backend" : "JSON::PP version 2.27400"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/META.yml new/Math-BigInt-1.999811/META.yml
--- old/Math-BigInt-1.999809/META.yml 2017-02-10 12:06:47.000000000 +0100
+++ new/Math-BigInt-1.999811/META.yml 2017-03-15 11:25:20.000000000 +0100
@@ -21,5 +21,5 @@
Math::Complex: '1.39'
Test::More: '0.94'
perl: '5.006001'
-version: '1.999809'
+version: '1.999811'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/SIGNATURE new/Math-BigInt-1.999811/SIGNATURE
--- old/Math-BigInt-1.999809/SIGNATURE 2017-02-10 12:06:53.000000000 +0100
+++ new/Math-BigInt-1.999811/SIGNATURE 2017-03-15 11:26:48.000000000 +0100
@@ -15,15 +15,15 @@
Hash: SHA1
SHA1 20104176cd4b0623c201cdb2c9583056898b2afc BUGS
-SHA1 427947bca6aaab32da506d0dff040b01c0cefb37 CHANGES
+SHA1 3688157c3c5e324465ac2a102b4ca0368874bc62 CHANGES
SHA1 a40e6f05bfd2a3e0542cf9e4971b1d48100eb2fd CREDITS
SHA1 8d0b726d78afa344fb12508e1b027079699570e4 GOALS
SHA1 fe61299e80a1dca48fbaa33f0869e3238ec07c70 HISTORY
SHA1 d7c83d8f89b92a3262a01eb2778d39402e77263a LICENSE
SHA1 66ec462f7cac003832200f3132b2426d5b1c4edd MANIFEST
-SHA1 86df44fbe1ea7a68897113f0e327d0f0c25b91e3 MANIFEST.SKIP
-SHA1 84f0993213e2fbd080c9c66017e4e3d8825b14e5 META.json
-SHA1 b2b0aa6dbb414625563c42f0e7411dd3f4e080c3 META.yml
+SHA1 5e76f3cc33453fc0617509755b82695402ca81c5 MANIFEST.SKIP
+SHA1 3814f79c63b8f54416fd59033e199fbdf9ef9bbb META.json
+SHA1 37e9b7a5b2d6102fe58eb6e98cc40d93ca76b7d6 META.yml
SHA1 64057848e0b32a6dc4666981c40443fad32197ff Makefile.PL
SHA1 4e2191d1724e699862efc5350f480c8e02755112 NEW
SHA1 813c62e6d3edd18b7b634765ecbd75b2cd6389a0 README
@@ -31,21 +31,21 @@
SHA1 a8ffc7d3270e481c9d24603a74ba2c0f46cae0e3 examples/1000.txt
SHA1 3295c03031e6a50199c1acc743a3f3276e6ae59d examples/bigprimes.pl
SHA1 989bfc0ad145d0f42b1eb65e83d9de018a7ee150 examples/prime.pl
-SHA1 707e4ea0932aab1bd3d8314b539344a20753446d lib/Math/BigFloat.pm
-SHA1 3e54ce7b99815eaad5d0a27574ea3bbb7fca4e93 lib/Math/BigInt.pm
-SHA1 ba034b5b2f2167bc9a16bf051282dcf394abe7c2 lib/Math/BigInt/Calc.pm
-SHA1 40cfd23d1bbe9da59e0e42187aeb345c9e2ca97b lib/Math/BigInt/CalcEmu.pm
-SHA1 b8ef5b71c4d65e813a096823dd5e67d936db8667 lib/Math/BigInt/Lib.pm
+SHA1 c7dbeb239c255749eac2a61266830bcdba464f66 lib/Math/BigFloat.pm
+SHA1 95ecb2c5618146b7cf8e42260567dd8c23246ede lib/Math/BigInt.pm
+SHA1 1c5c504e33b3bbf83ccc4448f5b839b7c7f4a5a5 lib/Math/BigInt/Calc.pm
+SHA1 5c8bcc7494ea09bbe4345f950a3f7bf890b0e478 lib/Math/BigInt/CalcEmu.pm
+SHA1 41b9aa1fd37a233e9d7af2de0d09b9e0f1ff551b lib/Math/BigInt/Lib.pm
SHA1 385cc7ed3bf3e6290640b9880445ca9a3dea629e t/00sig.t
SHA1 062a7e33e6697b19e002cdb11f3c648fe6669139 t/01load.t
SHA1 b2ed9206ca5b69ec3b8bbf850bf4b6dfde518e7e t/02pod.t
SHA1 47c879490e1a6229d0464805679c67660af7b4b3 t/03podcov.t
-SHA1 a323fbde83f97abdedc14ff923a2ecabb1333e2d t/Math/BigFloat/Subclass.pm
+SHA1 ed28da618fe54da4ab6262d2459896b61c38b597 t/Math/BigFloat/Subclass.pm
SHA1 079c95d9ecb1e4c0a863c60d66c15c407b162ad9 t/Math/BigInt/BareCalc.pm
SHA1 e8bff535d485feb97b03fe8217f3446a28d82fe8 t/Math/BigInt/Lib/Minimal.pm
SHA1 e7eef054ec92ff5d259edfb9b39c932db74ffad3 t/Math/BigInt/Lib/TestUtil.pm
SHA1 54f99a0bf52a848dbf34e459daef0df4694e543a t/Math/BigInt/Scalar.pm
-SHA1 69c77dbdb12adb852836eaebb0c6957154de4e19 t/Math/BigInt/Subclass.pm
+SHA1 3f15444c9efd2720beab72481ce950192932794f t/Math/BigInt/Subclass.pm
SHA1 6d11459530fb13a9e3c490cc3cb9040f9b78cdb4 t/_e_math.t
SHA1 0d67c764487923bd2427c7ac20778308bea548d6 t/alias.inc
SHA1 bcf4632983c6b52fcc7d694a60899576a4ec8fbe t/author-batan-mbf.t
@@ -155,8 +155,8 @@
SHA1 75a086f2d747b58afb4fb2de412b2217b2cf11f0 t/author-numify-mbf.t
SHA1 dc386a2bd21a363c42f3dcbf7e9745632cd3d633 t/author-numify-mbi.t
SHA1 096ed0c89fca2f4be7ee211521dbc74a2cd39eaf t/author-relop-mbi-mbf.t
-SHA1 9bcf9f3a49e5e1bee5223ad95548affb1d2bc02e t/bare_mbf.t
-SHA1 2a141825c46936a62db3568227923e7153c982ec t/bare_mbi.t
+SHA1 590c5c6aae1b8af3a65115f2cc511994a08d44fd t/bare_mbf.t
+SHA1 4730c87b2161836f3ad9fc20c836fcb8680779db t/bare_mbi.t
SHA1 f172265d69c5dc6879cb650b5ba1f34374104616 t/bare_mif.t
SHA1 75daf2820044e03c6a073e2633122c1182da018c t/bdstr-mbf.t
SHA1 7e5d1349b113ad024efe066e42a50bc9ff595550 t/bdstr-mbi.t
@@ -164,11 +164,11 @@
SHA1 ed5547fcac28f575d1bbd2e3e5f6fe5f6146c321 t/bestr-mbi.t
SHA1 96bd46866ad45ceed4eedc1c33a3105ee1ae2bc5 t/bfib-mbi.t
SHA1 e6bd71c0d21c7199106b5580e2fbd186b6b01d29 t/big_pi_e.t
-SHA1 709cef0e13fd2a85f007482877bfdcf42bf5f8d4 t/bigfltpm.inc
-SHA1 b79b49c9653b1ab538753a9857d3bd1dc134f1a0 t/bigfltpm.t
+SHA1 b6e1b050cc36155e07df1e6f3b495c9f8a15a192 t/bigfltpm.inc
+SHA1 9ce986af92d35f94702607dcb4346e4f242a42b2 t/bigfltpm.t
SHA1 b601bb8f081b3e2c5626995e66f3fe1cdef8af6e t/bigintc.t
-SHA1 f05bb12c2eaafa41b4409146cc160d37d8424670 t/bigintpm.inc
-SHA1 635900d55b826d5221ef77bc760f498718e77810 t/bigintpm.t
+SHA1 b27b994895f5f08dc63f93ce42b5952520f29820 t/bigintpm.inc
+SHA1 ebc6a2433d3cafabb0ee182e59fd3627145e8f46 t/bigintpm.t
SHA1 9aac2eda0e723298c8f9ddadffde39a8c16fb171 t/bigints.t
SHA1 3f4bf6d2717d47117ab987cc6ff8d38991cdd383 t/biglog.t
SHA1 128c6cb0ef562637e7b44bafa83188b058392392 t/bigroot.t
@@ -179,7 +179,7 @@
SHA1 c97164e3ae794f8d2f141be42e5f7af4f2dd674b t/bsstr-mbi.t
SHA1 dcaf0d82455c9a814da942383cbceb2da7ad3a4c t/calling-class-methods.t
SHA1 63e873c5cdcccfb338fb9220d33904027865e9cf t/calling-instance-methods.t
-SHA1 0b78fc72dafd67450fac6f35b8cd2ef312523fcd t/calling.t
+SHA1 738f639a5d08f788760977c8838e51ecf2663f6a t/calling.t
SHA1 c403d1c64ae6c3b803fc8cd0d10a1df15219057f t/config.t
SHA1 af01ecfb6f43bb518c67185eb063c196e2dbdc48 t/const_mbf.t
SHA1 17eb15c35392945a5b3ed2b711f7d166fca294de t/constant.t
@@ -221,28 +221,28 @@
SHA1 a23c4c5027ff03a39504f43936de66606bb11703 t/sparts-mbf.t
SHA1 f766d72f97efd1328b8bc18edd0f9a2b5550c870 t/sparts-mbi.t
SHA1 ab253275ec4288308f6ea6ecf0744e24cb3c356a t/sub_ali.t
-SHA1 7b25cae704b5574d658858700ff3624fc563e722 t/sub_mbf.t
-SHA1 c5d499796b7ceafad0e228828619514df4773df4 t/sub_mbi.t
+SHA1 3a71b6973d0621a741e13dcd5390000c6c576086 t/sub_mbf.t
+SHA1 e094f0cfd091f662cbc1f67a0a31705e41c9232c t/sub_mbi.t
SHA1 8a1adad6483302054e1c14af6e09fb72e8bfec91 t/sub_mif.t
SHA1 b9f56157a8517bce2e7b1bae4c989d58546f5b2c t/trap.t
SHA1 308a86ca4f8be1884927b2f2303f6af1cdc75403 t/upgrade.inc
SHA1 bf2b5c05eabe003ec82a46e0ae931f609ec3b896 t/upgrade.t
SHA1 df0e45b746691e397ed8e80d88df15459b349483 t/upgrade2.t
-SHA1 12b27f15d45fd7dd1c69b5b678373fcba7e6a04d t/upgradef.t
+SHA1 257bcadfc428cc61445eb24c57b515449c24e636 t/upgradef.t
SHA1 69b741efceefd35226a10e8daccf30805bbfb447 t/use.t
SHA1 4929caee039e617d8ced7339e8e99b8a18330b56 t/use_lib1.t
SHA1 32d44e17e2a03d0c5abe72b1414e79bf02ea821e t/use_lib2.t
SHA1 ccc05714cf95f7394dd51a0bf976e74e8f62dfe7 t/use_lib3.t
SHA1 5b4760d5c552d8857a665180a444a98fb5017ca2 t/use_lib4.t
SHA1 6f8e43710067bed0b0872fafdeb751c9a68732c4 t/use_mbfw.t
-SHA1 0a82a7eb45e422b6fb8301400fdd98f8a3ec5886 t/with_sub.t
+SHA1 d54fb22dd59d13eab7ee2cc04d05bba5401a5099 t/with_sub.t
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBAgAGBQJYnZ7KAAoJEGcmPl2fr166Hy8H/ihoEd++XQ6mgj2tw71IEgTq
-IyJoUAhd7YsXBB1lRbpq3uGKUifvY/BBtTShdp+eGOS/bd5SFtBavw0npyyrBMCI
-wtDgH57B5lexpV0RW4irkQqM48sHWC74HXhc/Wv66d2q7k6Z+IOed+r4po3kGz9a
-rVOC67Lu7d/8Cl0OoW6GSbwtMbzva7JyFT85Q8F1TLGxT7uuxiPLXq5+ky0OmEbz
-tFwjUFLQK37zRawb0hbMJztnMYCg7KvfkWSyTtXjg+XT/+txXUP3udGULM/pywco
-Xi4Su2I60Cn67NM5WX1tYNwvxU4ULsx6kJiesGvHuR5x6DQ7S4dmMHkeSnn5PHo=
-=LUnS
+iQEcBAEBAgAGBQJYyRaUAAoJEGcmPl2fr166VZUIAJBK4p/1MTcOr0f3QqGRs9Y1
+yiTLJBajV7sFJCmo+7erQYpZs+qrwP5O4ycLuAmFH0J4g63Cdnfe8PQx2JD91LCO
+6jK+88ZgJomcORdKhKfK+SniMpY3VaY/FwWHAK1K+nLmWbS1I8hVwoEuS1FAbhlk
+ydFKpak9JIEHjPsgsZjAo1thK560+MJnphRFixa7uFsYMtd72UkQdG7HngTTCx6I
+mnoaPWb0fFxisApXB8JhNMKCS4TZSiodBJEWoBMhwGtBkn4Szw3Jy7XUrZ9r+RWa
+NkPdF5dF5dq/4YaN4N6RMeIG5FQK3B0NWsJSQWnivtESe6Zai79C/NpTLpv0Iek=
+=wZed
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/lib/Math/BigFloat.pm new/Math-BigInt-1.999811/lib/Math/BigFloat.pm
--- old/Math-BigInt-1.999809/lib/Math/BigFloat.pm 2017-02-06 16:38:47.000000000 +0100
+++ new/Math-BigInt-1.999811/lib/Math/BigFloat.pm 2017-03-15 10:37:34.000000000 +0100
@@ -19,7 +19,7 @@
use Carp ();
use Math::BigInt ();
-our $VERSION = '1.999809';
+our $VERSION = '1.999811';
require Exporter;
our @ISA = qw/Math::BigInt/;
@@ -2143,16 +2143,24 @@
}
sub blog {
- my ($class, $x, $base, $a, $p, $r) = ref($_[0]) ? (ref($_[0]), @_) : objectify(2, @_);
-
- # If called as $x -> blog() or $x -> blog(undef), don't objectify the
- # undefined base, since undef signals that the base is Euler's number.
- #unless (ref($x) && !defined($base)) {
- # # objectify is costly, so avoid it
- # if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
- # ($class, $x, $base, $a, $p, $r) = objectify(2, @_);
- # }
- #}
+ # Return the logarithm of the operand. If a second operand is defined, that
+ # value is used as the base, otherwise the base is assumed to be Euler's
+ # constant.
+
+ my ($class, $x, $base, $a, $p, $r);
+
+ # Don't objectify the base, since an undefined base, as in $x->blog() or
+ # $x->blog(undef) signals that the base is Euler's number.
+
+ if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) {
+ # E.g., Math::BigFloat->blog(256, 2)
+ ($class, $x, $base, $a, $p, $r) =
+ defined $_[2] ? objectify(2, @_) : objectify(1, @_);
+ } else {
+ # E.g., Math::BigFloat::blog(256, 2) or $x->blog(2)
+ ($class, $x, $base, $a, $p, $r) =
+ defined $_[1] ? objectify(2, @_) : objectify(1, @_);
+ }
return $x if $x->modify('blog');
@@ -4033,10 +4041,11 @@
sub to_hex {
# return number as hexadecimal string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
- return '0x0' if $x->is_zero();
+ return '0' if $x->is_zero();
return $nan if $x->{_es} ne '+'; # how to do 1e-1 in hex?
@@ -4044,12 +4053,13 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->to_hex();
+ my $str = $MBI->_to_hex($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub to_oct {
# return number as octal digit string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
@@ -4061,16 +4071,17 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->to_oct();
+ my $str = $MBI->_to_oct($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub to_bin {
# return number as binary digit string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
- return '0b0' if $x->is_zero();
+ return '0' if $x->is_zero();
return $nan if $x->{_es} ne '+'; # how to do 1e-1 in binary?
@@ -4078,12 +4089,13 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->to_bin();
+ my $str = $MBI->_to_bin($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub as_hex {
# return number as hexadecimal string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
@@ -4095,16 +4107,17 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->as_hex();
+ my $str = $MBI->_as_hex($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub as_oct {
# return number as octal digit string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
- return '0' if $x->is_zero();
+ return '00' if $x->is_zero();
return $nan if $x->{_es} ne '+'; # how to do 1e-1 in octal?
@@ -4112,12 +4125,13 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->as_oct();
+ my $str = $MBI->_as_oct($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub as_bin {
# return number as binary digit string (only for integers defined)
+
my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
@@ -4129,8 +4143,8 @@
if (! $MBI->_is_zero($x->{_e})) { # > 0
$z = $MBI->_lsft($z, $x->{_e}, 10);
}
- $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
- $z->as_bin();
+ my $str = $MBI->_as_bin($z);
+ return $x->{sign} eq '-' ? "-$str" : $str;
}
sub numify {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/lib/Math/BigInt/Calc.pm new/Math-BigInt-1.999811/lib/Math/BigInt/Calc.pm
--- old/Math-BigInt-1.999809/lib/Math/BigInt/Calc.pm 2017-02-06 16:38:37.000000000 +0100
+++ new/Math-BigInt-1.999811/lib/Math/BigInt/Calc.pm 2017-03-15 10:37:26.000000000 +0100
@@ -7,7 +7,7 @@
use Carp;
use Math::BigInt::Lib;
-our $VERSION = '1.999809';
+our $VERSION = '1.999811';
our @ISA = ('Math::BigInt::Lib');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/lib/Math/BigInt/CalcEmu.pm new/Math-BigInt-1.999811/lib/Math/BigInt/CalcEmu.pm
--- old/Math-BigInt-1.999809/lib/Math/BigInt/CalcEmu.pm 2017-02-06 16:38:34.000000000 +0100
+++ new/Math-BigInt-1.999811/lib/Math/BigInt/CalcEmu.pm 2017-03-15 10:37:19.000000000 +0100
@@ -4,7 +4,7 @@
use strict;
use warnings;
-our $VERSION = '1.999809';
+our $VERSION = '1.999811';
package Math::BigInt;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/lib/Math/BigInt/Lib.pm new/Math-BigInt-1.999811/lib/Math/BigInt/Lib.pm
--- old/Math-BigInt-1.999809/lib/Math/BigInt/Lib.pm 2017-02-06 16:38:12.000000000 +0100
+++ new/Math-BigInt-1.999811/lib/Math/BigInt/Lib.pm 2017-03-15 10:37:16.000000000 +0100
@@ -4,7 +4,7 @@
use strict;
use warnings;
-our $VERSION = '1.999809';
+our $VERSION = '1.999811';
use Carp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/lib/Math/BigInt.pm new/Math-BigInt-1.999811/lib/Math/BigInt.pm
--- old/Math-BigInt-1.999809/lib/Math/BigInt.pm 2017-02-10 10:34:43.000000000 +0100
+++ new/Math-BigInt-1.999811/lib/Math/BigInt.pm 2017-03-15 10:37:31.000000000 +0100
@@ -20,7 +20,7 @@
use Carp ();
-our $VERSION = '1.999809';
+our $VERSION = '1.999811';
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(objectify bgcd blcm);
@@ -2385,14 +2385,19 @@
# value is used as the base, otherwise the base is assumed to be Euler's
# constant.
+ my ($class, $x, $base, @r);
+
# Don't objectify the base, since an undefined base, as in $x->blog() or
# $x->blog(undef) signals that the base is Euler's number.
- # set up parameters
- my ($class, $x, $base, @r) = (undef, @_);
- # objectify is costly, so avoid it
- if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
- ($class, $x, $base, @r) = objectify(2, @_);
+ if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) {
+ # E.g., Math::BigInt->blog(256, 2)
+ ($class, $x, $base, @r) =
+ defined $_[2] ? objectify(2, @_) : objectify(1, @_);
+ } else {
+ # E.g., Math::BigInt::blog(256, 2) or $x->blog(2)
+ ($class, $x, $base, @r) =
+ defined $_[1] ? objectify(2, @_) : objectify(1, @_);
}
return $x if $x->modify('blog');
@@ -3750,7 +3755,8 @@
# Class->badd(Class->(1), 2); => classname x (scalar), ref x, scalar y
# Math::BigInt::badd(1, 2); => scalar x, scalar y
- # A shortcut for the common case $x->unary_op():
+ # A shortcut for the common case $x->unary_op(), in which case the argument
+ # list is (0, $x) or (1, $x).
return (ref($_[1]), $_[1]) if @_ == 2 && ($_[0] || 0) == 1 && ref($_[1]);
@@ -3763,7 +3769,6 @@
# Get the number of arguments to objectify.
my $count = shift;
- $count ||= @_;
# Initialize the output array.
@@ -3773,17 +3778,18 @@
# class name. Otherwise, if the first argument looks like a class name,
# then use that as our class name. Otherwise, use the default class name.
- {
- if (ref($a[0])) { # reference?
- unshift @a, ref($a[0]);
- last;
- }
- if ($a[0] =~ /^[A-Z].*::/) { # string with class name?
- last;
- }
- unshift @a, $class; # default class name
+ my $class;
+ if (ref($a[0])) { # reference?
+ $class = ref($a[0]);
+ } elsif ($a[0] =~ /^[A-Z].*::/) { # string with class name?
+ $class = shift @a;
+ } else {
+ $class = __PACKAGE__; # default class name
}
+ $count ||= @a;
+ unshift @a, $class;
+
no strict 'refs';
# What we upgrade to, if anything.
@@ -3801,12 +3807,6 @@
for my $i (1 .. $count) {
- # Don't do anything with undefs. This special treatment is necessary
- # because blog() might have a second operand which is undef, to signify
- # that the default Euler base should be used.
-
- next unless defined $a[$i];
-
my $ref = ref $a[$i];
# Perl scalars are fed to the appropriate constructor.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/Math/BigFloat/Subclass.pm new/Math-BigInt-1.999811/t/Math/BigFloat/Subclass.pm
--- old/Math-BigInt-1.999809/t/Math/BigFloat/Subclass.pm 2016-07-11 13:08:05.000000000 +0200
+++ new/Math-BigInt-1.999811/t/Math/BigFloat/Subclass.pm 2017-02-28 09:16:32.000000000 +0100
@@ -14,9 +14,9 @@
our ($accuracy, $precision, $round_mode, $div_scale);
-our @ISA = qw(Exporter Math::BigFloat);
+our @ISA = qw(Math::BigFloat Exporter);
-our $VERSION = "0.06";
+our $VERSION = "0.07";
use overload; # inherit overload from BigInt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/Math/BigInt/Subclass.pm new/Math-BigInt-1.999811/t/Math/BigInt/Subclass.pm
--- old/Math-BigInt-1.999809/t/Math/BigInt/Subclass.pm 2016-07-11 13:08:05.000000000 +0200
+++ new/Math-BigInt-1.999811/t/Math/BigInt/Subclass.pm 2017-02-28 09:16:33.000000000 +0100
@@ -14,10 +14,10 @@
our $lib;
our ($accuracy, $precision, $round_mode, $div_scale);
-our @ISA = qw(Exporter Math::BigInt);
+our @ISA = qw(Math::BigInt Exporter);
our @EXPORT_OK = qw(bgcd objectify);
-our $VERSION = "0.05";
+our $VERSION = "0.06";
use overload; # inherit overload from BigInt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bare_mbf.t new/Math-BigInt-1.999811/t/bare_mbf.t
--- old/Math-BigInt-1.999809/t/bare_mbf.t 2016-12-31 09:38:11.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bare_mbf.t 2017-03-14 18:01:36.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 2436;
+use Test::More tests => 2482;
use lib 't';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bare_mbi.t new/Math-BigInt-1.999811/t/bare_mbi.t
--- old/Math-BigInt-1.999809/t/bare_mbi.t 2016-11-21 14:31:19.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bare_mbi.t 2017-03-14 18:01:36.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 3913; # tests in require'd file
+use Test::More tests => 3942; # tests in require'd file
use lib 't';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bigfltpm.inc new/Math-BigInt-1.999811/t/bigfltpm.inc
--- old/Math-BigInt-1.999809/t/bigfltpm.inc 2016-12-31 09:27:09.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bigfltpm.inc 2017-03-14 17:35:31.000000000 +0100
@@ -23,7 +23,6 @@
if (/^\$/) {
$setup = $_;
$setup =~ s/\$/\$${CLASS}::/g; # round_mode, div_scale
- #print "\$setup== $setup\n";
next;
}
@@ -38,7 +37,7 @@
$try = qq|\$x = $CLASS->new("$args[0]");|;
if ($f eq "bnorm") {
$try .= qq| \$x;|;
- } elsif ($f =~ /^is_(zero|one|negative|positive|odd|even|nan|int)$/) {
+ } elsif ($f =~ /^is_(zero|one|odd|even|negative|positive|nan|int)$/) {
$try .= qq| \$x->$f();|;
} elsif ($f eq "is_inf") {
$try .= qq| \$x->is_inf("$args[1]");|;
@@ -50,8 +49,12 @@
$try .= qq| \$x->accuracy($args[1]); \$x->precision($args[2]);|;
$try .= ' $x->bstr();';
# some unary ops
- } elsif ($f =~ /^b(nan|sstr|neg|floor|ceil|int|abs)$/) {
+ } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|exp|fac)$/) {
$try .= qq| \$x->$f();|;
+ } elsif ($f =~ /^(numify|length|as_number)$/) {
+ $try .= qq| \$x->$f();|;
+ } elsif ($f =~ /^(to|as)_(hex|oct|bin)$/) {
+ $try .= " \$x->$f();";
# overloaded functions
} elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) {
$try .= qq| \$x = $f(\$x);|;
@@ -65,14 +68,8 @@
} elsif ($f eq "mantissa") {
# ->bstr() to see if an object is returned
$try .= ' $x->mantissa()->bstr();';
- } elsif ($f =~ /^(numify|length|as_number|as_hex|as_bin)$/) {
- $try .= qq| \$x->$f();|;
} elsif ($f eq "bpi") {
$try .= qq| $CLASS->bpi(\$x);|;
- } elsif ($f eq "binc") {
- $try .= ' $x->binc();';
- } elsif ($f eq "bdec") {
- $try .= ' $x->bdec();';
} elsif ($f eq "bround") {
$try .= qq| $setup; \$x->bround($args[1]);|;
} elsif ($f eq "bfround") {
@@ -666,7 +663,7 @@
1::0
&brsft
-NaNbrsft:2:NaN
+invalid:2:NaN
0:2:0
1:1:0.5
2:1:1
@@ -675,7 +672,7 @@
32:3:4
&blsft
-NaNblsft:0:NaN
+invalid:0:NaN
2:1:4
4:3:32
5:3:40
@@ -685,7 +682,7 @@
&bnorm
1:1
-0:0
-bnormNaN:NaN
+invalid:NaN
+inf:inf
-inf:-inf
123:123
@@ -771,20 +768,74 @@
3:abc:inf
&as_hex
+128:0x80
+-128:-0x80
+0:0x0
+-0:0x0
+1:0x1
+0x123456789123456789:0x123456789123456789
+inf:inf
-inf:-inf
-hexNaN:NaN
-0:0x0
-5:0x5
--5:-0x5
+invalid:NaN
&as_bin
+128:0b10000000
+-128:-0b10000000
+0:0b0
+-0:0b0
+1:0b1
+0b1010111101010101010110110110110110101:0b1010111101010101010110110110110110101
+0x123456789123456789:0b100100011010001010110011110001001000100100011010001010110011110001001
+inf:inf
-inf:-inf
-hexNaN:NaN
-0:0b0
-5:0b101
--5:-0b101
+invalid:NaN
+
+&as_oct
+128:0200
+-128:-0200
+0:00
+-0:00
+1:01
+0b1010111101010101010110110110110110101:01275252666665
+0x123456789123456789:044321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_hex
+128:80
+-128:-80
+0:0
+-0:0
+1:1
+0x123456789123456789:123456789123456789
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_bin
+128:10000000
+-128:-10000000
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1010111101010101010110110110110110101
+0x123456789123456789:100100011010001010110011110001001000100100011010001010110011110001001
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_oct
+128:200
+-128:-200
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1275252666665
+0x123456789123456789:44321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
&numify
# uses bsstr() so 5 => 5e+0 to be compatible w/ Perls output
@@ -936,7 +987,7 @@
$div_scale = 40
&bneg
-bnegNaN:NaN
+invalid:NaN
+inf:-inf
-inf:inf
+0:0
@@ -948,7 +999,7 @@
-123456.789:123456.789
&babs
-babsNaN:NaN
+invalid:NaN
+inf:inf
-inf:inf
+0:0
@@ -964,7 +1015,7 @@
+inf:5:inf
-inf:5:-inf
0:5:0
-NaNfround:5:NaN
+invalid:5:NaN
+10123456789:5:10123000000
-10123456789:5:-10123000000
+10123456789.123:5:10123000000
@@ -1040,7 +1091,7 @@
+inf:5:inf
-inf:5:-inf
0:5:0
-NaNffround:5:NaN
+invalid:5:NaN
+1.23:-1:1.2
+1.234:-1:1.2
+1.2345:-1:1.2
@@ -1172,9 +1223,9 @@
0.01234567:-12:0.012345670000
&bcmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:+0:
-+0:bcmpNaN:
+invalid:invalid:
+invalid:+0:
++0:invalid:
+0:+0:0
-1:+0:-1
+0:-1:1
@@ -1245,9 +1296,9 @@
NaN:-inf:
&bacmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:+0:
-+0:bcmpNaN:
+invalid:invalid:
+invalid:+0:
++0:invalid:
+0:+0:0
-1:+0:1
+0:-1:-1
@@ -1314,13 +1365,13 @@
5:-inf:-1
-1:-inf:-1
# return undef
-+inf:bacmpNaN:
-bacmpNaN:inf:
--inf:bacmpNaN:
-bacmpNaN:-inf:
++inf:invalid:
+invalid:inf:
+-inf:invalid:
+invalid:-inf:
&bdec
-bdecNaN:NaN
+invalid:NaN
+inf:inf
-inf:-inf
+0:-1
@@ -1336,7 +1387,7 @@
99:98
&binc
-bincNaN:NaN
+invalid:NaN
+inf:inf
-inf:-inf
+0:1
@@ -1358,10 +1409,10 @@
-inf:+inf:NaN
+inf:+inf:inf
-inf:-inf:-inf
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
+0:+0:0
+1:+0:1
+0:+1:1
@@ -1406,10 +1457,10 @@
-inf:+inf:-inf
+inf:+inf:NaN
-inf:-inf:NaN
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
+0:+0:0
+1:+0:1
+0:+1:-1
@@ -1450,10 +1501,10 @@
abc:+0:0:NaN
+0:abc:0:NaN
+0:0:abc:NaN
-NaNmul:+inf:0:NaN
-NaNmul:-inf:0:NaN
--inf:NaNmul:0:NaN
-+inf:NaNmul:0:NaN
+invalid:+inf:0:NaN
+invalid:-inf:0:NaN
+-inf:invalid:0:NaN
++inf:invalid:0:NaN
+inf:+inf:0:inf
+inf:-inf:0:-inf
-inf:+inf:0:-inf
@@ -1518,10 +1569,10 @@
abc:abc:NaN
abc:+0:NaN
+0:abc:NaN
-+inf:NaNmul:NaN
-+inf:NaNmul:NaN
-NaNmul:+inf:NaN
-NaNmul:-inf:NaN
++inf:invalid:NaN
++inf:invalid:NaN
+invalid:+inf:NaN
+invalid:-inf:NaN
+inf:+inf:inf
+inf:-inf:-inf
+inf:-inf:-inf
@@ -1899,7 +1950,7 @@
2:0
&is_int
-NaNis_int:0
+invalid:0
0:1
1:1
2:1
@@ -1955,7 +2006,7 @@
123:123 0
-123:-123 0
-1200:-12 2
-NaNparts:NaN NaN
+invalid:NaN NaN
+inf:inf inf
-inf:-inf inf
@@ -1967,7 +2018,7 @@
-1200:2
+inf:inf
-inf:inf
-NaNexponent:NaN
+invalid:NaN
&mantissa
0:0
@@ -1977,7 +2028,7 @@
-1200:-12
+inf:inf
-inf:-inf
-NaNmantissa:NaN
+invalid:NaN
&length
123:3
@@ -1987,7 +2038,7 @@
12345678901234567890:20
&is_zero
-NaNzero:0
+invalid:0
+inf:0
-inf:0
0:1
@@ -1995,7 +2046,7 @@
1:0
&is_one
-NaNone:0
+invalid:0
+inf:0
-inf:0
0:0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bigfltpm.t new/Math-BigInt-1.999811/t/bigfltpm.t
--- old/Math-BigInt-1.999809/t/bigfltpm.t 2016-12-31 09:38:32.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bigfltpm.t 2017-03-14 17:35:00.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 2436 # tests in require'd file
+use Test::More tests => 2482 # tests in require'd file
+ 19; # tests in this file
use Math::BigInt only => 'Calc';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bigintpm.inc new/Math-BigInt-1.999811/t/bigintpm.inc
--- old/Math-BigInt-1.999809/t/bigintpm.inc 2016-12-31 10:05:26.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bigintpm.inc 2017-03-14 17:35:31.000000000 +0100
@@ -77,29 +77,27 @@
} elsif ($f eq "bone") {
$try .= qq| \$x->bone("$args[1]");|;
# some unary ops
- } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|fac)$/) {
+ } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|exp|fac)$/) {
$try .= " \$x->$f();";
- # overloaded functions
- } elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) {
- $try .= " \$x = $f(\$x);";
} elsif ($f =~ /^(numify|length|stringify)$/) {
$try .= " \$x->$f();";
} elsif ($f =~ /^(to|as)_(hex|oct|bin)$/) {
$try .= " \$x->$f();";
- } elsif ($f eq "exponent") {
- # ->bstr() to see if an object is returned
- $try .= ' $x = $x->exponent()->bstr();';
- } elsif ($f eq "mantissa") {
- # ->bstr() to see if an object is returned
- $try .= ' $x = $x->mantissa()->bstr();';
+ # overloaded functions
+ } elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) {
+ $try .= " \$x = $f(\$x);";
} elsif ($f eq "parts") {
$try .= ' ($m, $e) = $x->parts();';
# ->bstr() to see if an object is returned
$try .= ' $m = $m->bstr(); $m = "NaN" if !defined $m;';
$try .= ' $e = $e->bstr(); $e = "NaN" if !defined $e;';
$try .= ' "$m,$e";';
- } elsif ($f eq "bexp") {
- $try .= " \$x->bexp();";
+ } elsif ($f eq "exponent") {
+ # ->bstr() to see if an object is returned
+ $try .= ' $x = $x->exponent()->bstr();';
+ } elsif ($f eq "mantissa") {
+ # ->bstr() to see if an object is returned
+ $try .= ' $x = $x->mantissa()->bstr();';
} elsif ($f eq "bpi") {
$try .= " $CLASS\->bpi(\$x);";
} else {
@@ -997,9 +995,9 @@
&blog
#
-NaNlog:2:NaN
-122:NaNlog:NaN
-NaNlog1:NaNlog:NaN
+invalid:2:NaN
+122:invalid:NaN
+invalid:invalid:NaN
#
122:inf:0
inf:122:inf
@@ -1069,7 +1067,7 @@
1:0
+inf:0
-inf:1
-NaNneg:0
+invalid:0
&is_positive
0:0
@@ -1077,12 +1075,12 @@
1:1
+inf:1
-inf:0
-NaNneg:0
+invalid:0
&is_int
-inf:0
+inf:0
-NaNis_int:0
+invalid:0
1:1
0:1
123e12:1
@@ -1126,9 +1124,9 @@
-987654321:+123456789:1
-123:+4567889:-1
# NaNs
-acmpNaN:123:
-123:acmpNaN:
-acmpNaN:acmpNaN:
+invalid:123:
+123:invalid:
+invalid:invalid:
# infinity
+inf:+inf:0
-inf:-inf:0
@@ -1390,8 +1388,8 @@
&bone
2:+:1
2:-:-1
-boneNaN:-:-1
-boneNaN:+:1
+invalid:-:-1
+invalid:+:1
2:abc:1
3::1
@@ -1500,7 +1498,7 @@
-100:-100
&bneg
-bnegNaN:NaN
+invalid:NaN
+inf:-inf
-inf:inf
abd:NaN
@@ -1511,7 +1509,7 @@
-123456789:123456789
&babs
-babsNaN:NaN
+invalid:NaN
+inf:inf
-inf:inf
0:0
@@ -1529,9 +1527,9 @@
-123456789:-1
&bcmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:0:
-0:bcmpNaN:
+invalid:invalid:
+invalid:0:
+0:invalid:
0:0:0
-1:0:-1
0:-1:1
@@ -1597,10 +1595,10 @@
-inf:+inf:NaN
+inf:+inf:inf
-inf:-inf:-inf
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
0:0:0
1:0:1
0:1:1
@@ -1724,10 +1722,10 @@
abc:+0:0:NaN
+0:abc:0:NaN
+0:0:abc:NaN
-NaNmul:+inf:0:NaN
-NaNmul:-inf:0:NaN
--inf:NaNmul:0:NaN
-+inf:NaNmul:0:NaN
+invalid:+inf:0:NaN
+invalid:-inf:0:NaN
+-inf:invalid:0:NaN
++inf:invalid:0:NaN
+inf:+inf:0:inf
+inf:-inf:0:-inf
-inf:+inf:0:-inf
@@ -1784,10 +1782,10 @@
abc:abc:NaN
abc:+0:NaN
+0:abc:NaN
-NaNmul:+inf:NaN
-NaNmul:-inf:NaN
--inf:NaNmul:NaN
-+inf:NaNmul:NaN
+invalid:+inf:NaN
+invalid:-inf:NaN
+-inf:invalid:NaN
++inf:invalid:NaN
+inf:+inf:inf
+inf:-inf:-inf
-inf:+inf:-inf
@@ -2814,7 +2812,7 @@
&bfac
-1:NaN
-NaNfac:NaN
+invalid:NaN
+inf:inf
-inf:NaN
0:1
@@ -3084,7 +3082,7 @@
&bround
$round_mode("trunc")
0:12:0
-NaNbround:12:NaN
+invalid:12:NaN
+inf:12:inf
-inf:12:-inf
1234:0:1234
@@ -3185,7 +3183,7 @@
&is_zero
0:1
-NaNzero:0
+invalid:0
+inf:0
-inf:0
123:0
@@ -3194,7 +3192,7 @@
&is_one
0:0
-NaNone:0
+invalid:0
+inf:0
-inf:0
1:1
@@ -3205,7 +3203,7 @@
# floor, ceil, and int are pretty pointless in integer space, but play safe
&bfloor
0:0
-NaNfloor:NaN
+invalid:NaN
+inf:inf
-inf:-inf
-1:-1
@@ -3215,7 +3213,7 @@
abc:NaN
&bceil
-NaNceil:NaN
+invalid:NaN
+inf:inf
-inf:-inf
0:0
@@ -3244,7 +3242,7 @@
0x123456789123456789:0x123456789123456789
+inf:inf
-inf:-inf
-NaNas_hex:NaN
+invalid:NaN
&as_bin
128:0b10000000
@@ -3256,7 +3254,7 @@
0x123456789123456789:0b100100011010001010110011110001001000100100011010001010110011110001001
+inf:inf
-inf:-inf
-NaNas_bin:NaN
+invalid:NaN
&as_oct
128:0200
@@ -3268,7 +3266,42 @@
0x123456789123456789:044321263611044321263611
+inf:inf
-inf:-inf
-NaNas_oct:NaN
+invalid:NaN
+
+&to_hex
+128:80
+-128:-80
+0:0
+-0:0
+1:1
+0x123456789123456789:123456789123456789
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_bin
+128:10000000
+-128:-10000000
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1010111101010101010110110110110110101
+0x123456789123456789:100100011010001010110011110001001000100100011010001010110011110001001
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_oct
+128:200
+-128:-200
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1275252666665
+0x123456789123456789:44321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
# overloaded functions
&log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/bigintpm.t new/Math-BigInt-1.999811/t/bigintpm.t
--- old/Math-BigInt-1.999809/t/bigintpm.t 2016-11-23 15:01:53.000000000 +0100
+++ new/Math-BigInt-1.999811/t/bigintpm.t 2017-03-14 17:35:00.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 3913 # tests in require'd file
+use Test::More tests => 3942 # tests in require'd file
+ 20; # tests in this file
use Math::BigInt only => 'Calc';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/calling.t new/Math-BigInt-1.999811/t/calling.t
--- old/Math-BigInt-1.999809/t/calling.t 2017-02-06 16:38:08.000000000 +0100
+++ new/Math-BigInt-1.999811/t/calling.t 2017-03-15 10:37:06.000000000 +0100
@@ -6,7 +6,7 @@
use warnings;
use lib 't';
-my $VERSION = '1.999809'; # adjust manually to match latest release
+my $VERSION = '1.999811'; # adjust manually to match latest release
use Test::More tests => 5;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/sub_mbf.t new/Math-BigInt-1.999811/t/sub_mbf.t
--- old/Math-BigInt-1.999809/t/sub_mbf.t 2016-12-31 09:58:03.000000000 +0100
+++ new/Math-BigInt-1.999811/t/sub_mbf.t 2017-03-14 18:00:12.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 2436 # tests in require'd file
+use Test::More tests => 2482 # tests in require'd file
+ 6; # tests in this file
use lib 't';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/sub_mbi.t new/Math-BigInt-1.999811/t/sub_mbi.t
--- old/Math-BigInt-1.999809/t/sub_mbi.t 2016-07-11 13:08:07.000000000 +0200
+++ new/Math-BigInt-1.999811/t/sub_mbi.t 2017-03-14 18:00:12.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-use Test::More tests => 3913 # tests in require'd file
+use Test::More tests => 3942 # tests in require'd file
+ 5; # tests in this file
use lib 't';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/upgradef.t new/Math-BigInt-1.999811/t/upgradef.t
--- old/Math-BigInt-1.999809/t/upgradef.t 2016-07-11 13:08:07.000000000 +0200
+++ new/Math-BigInt-1.999811/t/upgradef.t 2017-02-28 09:16:33.000000000 +0100
@@ -10,7 +10,7 @@
use Math::BigFloat;
require Exporter;
-our @ISA = qw/Exporter Math::BigFloat/;
+our @ISA = qw/Math::BigFloat Exporter/;
use overload;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Math-BigInt-1.999809/t/with_sub.t new/Math-BigInt-1.999811/t/with_sub.t
--- old/Math-BigInt-1.999809/t/with_sub.t 2016-12-31 09:38:45.000000000 +0100
+++ new/Math-BigInt-1.999811/t/with_sub.t 2017-03-14 18:56:45.000000000 +0100
@@ -5,7 +5,7 @@
use strict;
use warnings;
-use Test::More tests => 2436 # tests in require'd file
+use Test::More tests => 2482 # tests in require'd file
+ 1; # tests in this file
use Math::BigFloat with => 'Math::BigInt::Subclass',
1
0
Hello community,
here is the log from the commit of package kdevelop5-plugin-python3 for openSUSE:Factory checked in at 2017-03-31 15:08:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdevelop5-plugin-python3 (Old)
and /work/SRC/openSUSE:Factory/.kdevelop5-plugin-python3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdevelop5-plugin-python3"
Fri Mar 31 15:08:17 2017 rev:7 rq:482361 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdevelop5-plugin-python3/kdevelop5-plugin-python3.changes 2017-03-12 20:02:07.625658050 +0100
+++ /work/SRC/openSUSE:Factory/.kdevelop5-plugin-python3.new/kdevelop5-plugin-python3.changes 2017-03-31 15:08:23.793638642 +0200
@@ -1,0 +2,9 @@
+Thu Mar 23 14:46:43 UTC 2017 - wbauer(a)tmo.at
+
+- New upstream release 5.1.0
+ * For a list of changes, see:
+ https://www.kdevelop.org/news/kdevelop-510-released
+- Drop build-with-py36.diff, included upstream
+- Adjust minimum python3 version, 3.4.3 and higher is supported now
+
+-------------------------------------------------------------------
Old:
----
build-with-py36.diff
kdev-python-5.0.4.tar.xz
New:
----
kdev-python-5.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdevelop5-plugin-python3.spec ++++++
--- /var/tmp/diff_new_pack.6mnC4Q/_old 2017-03-31 15:08:24.389554392 +0200
+++ /var/tmp/diff_new_pack.6mnC4Q/_new 2017-03-31 15:08:24.389554392 +0200
@@ -17,19 +17,15 @@
%define rname kdev-python
-%define rversion 5.0
+%define rversion 5.1
Name: kdevelop5-plugin-python3
-Version: 5.0.4
+Version: 5.1.0
Release: 0
Summary: Python support for KDevelop
License: GPL-2.0+
Group: Development/Tools/IDE
Url: http://www.kdevelop.org
Source0: %{rname}-%{version}.tar.xz
-%if 0%{?suse_version} > 1320
-#PATCH-FIX-UPSTREAM build-with-py36.diff - Add Python 3.6 support from the 50-python36 branch
-Patch0: build-with-py36.diff
-%endif
BuildRequires: extra-cmake-modules
BuildRequires: fdupes
BuildRequires: grantlee5-devel
@@ -48,8 +44,8 @@
BuildRequires: ktexteditor-devel
BuildRequires: kwindowsystem-devel
BuildRequires: pkgconfig
-BuildRequires: python3 >= 3.5.0
-BuildRequires: python3-devel >= 3.5.0
+BuildRequires: python3 >= 3.4.3
+BuildRequires: python3-devel >= 3.4.3
BuildRequires: threadweaver-devel
BuildRequires: pkgconfig(Qt5Concurrent) >= 5.2.0
BuildRequires: pkgconfig(Qt5Quick) >= 5.2.0
@@ -83,9 +79,6 @@
%prep
%setup -q -n %{rname}-%{version}
-%if 0%{?suse_version} > 1320
-%patch0 -p1
-%endif
%build
%cmake_kf5 -d build
++++++ kdev-python-5.0.4.tar.xz -> kdev-python-5.1.0.tar.xz ++++++
++++ 24425 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package perl-Wx for openSUSE:Factory checked in at 2017-03-31 15:08:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Wx (Old)
and /work/SRC/openSUSE:Factory/.perl-Wx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Wx"
Fri Mar 31 15:08:20 2017 rev:6 rq:482416 version:0.9928
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Wx/perl-Wx.changes 2016-11-28 15:06:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Wx.new/perl-Wx.changes 2017-03-31 15:08:25.241433956 +0200
@@ -1,0 +2,11 @@
+Sun Mar 19 17:21:08 UTC 2017 - stefan.bruens(a)rwth-aachen.de
+
+- Add 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch:
+ sort config dictionaries to make builds deterministic
+- Add 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch:
+ Feed sorted output to XSpp
+- Add 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch:
+ Wx_Exp.pm was incomplete, as the generator script was run to early
+ Fixes https://rt.cpan.org/Public/Bug/Display.html?id=120657
+
+-------------------------------------------------------------------
New:
----
0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch
0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch
0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Wx.spec ++++++
--- /var/tmp/diff_new_pack.U5Ft1o/_old 2017-03-31 15:08:25.837349706 +0200
+++ /var/tmp/diff_new_pack.U5Ft1o/_new 2017-03-31 15:08:25.841349141 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Wx
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,9 +27,12 @@
Source0: http://www.cpan.org/authors/id/M/MD/MDOOTSON/%{cpan_name}-%{version}.tar.gz
Source1: perl-Wx-rpmlintrc
Source2: cpanspec.yml
+# Needed for reproducible build
+Patch0: 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch
+Patch1: 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch
+# Fix for incomplete Wx_Exp.pm, https://rt.cpan.org/Public/Bug/Display.html?id=120657
+Patch2: 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: perl
-BuildRequires: perl-macros
BuildRequires: perl(Alien::wxWidgets) >= 0.25
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.46
BuildRequires: perl(ExtUtils::ParseXS) >= 3.15
@@ -58,6 +61,9 @@
%prep
%setup -q -n %{cpan_name}-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
++++++ 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch ++++++
>From cfb24d6c3de259ad46fdc96099419fed22636c28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens(a)rwth-aachen.de>
Date: Tue, 21 Feb 2017 06:37:03 +0100
Subject: [PATCH 1/2] Sort output of dumped dictionaries for reproducible
builds
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
By default, dictionaries are dumped in hash order, with a random hash
initialization value.
Also sort export list and make entries unique, exports may be declared
in multiple files.
Signed-off-by: Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
---
build/Wx/build/MakeMaker/Any_OS.pm | 2 ++
build/Wx/build/Options.pm | 2 ++
script/fix_alien_path.pl | 2 ++
script/make_exp_list.pl | 13 ++++++++++---
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/build/Wx/build/MakeMaker/Any_OS.pm b/build/Wx/build/MakeMaker/Any_OS.pm
index 55d3b7b..5dd2a2f 100644
--- a/build/Wx/build/MakeMaker/Any_OS.pm
+++ b/build/Wx/build/MakeMaker/Any_OS.pm
@@ -200,6 +200,8 @@ sub postamble_core {
# strictly necessary, but it's better to keep them in case the
# dependencies here are changed
require Data::Dumper;
+ # sort output for reproducible builds
+ $Data::Dumper::Sortkeys = 1;
Wx::build::Utils::write_string( 'files.lst',
Data::Dumper->Dump( [ \%files ] ) );
# $exp and fix_alien depend on wxt_copy_files to ensure that blib/lib/Wx
diff --git a/build/Wx/build/Options.pm b/build/Wx/build/Options.pm
index 578bec5..a0fb8da 100644
--- a/build/Wx/build/Options.pm
+++ b/build/Wx/build/Options.pm
@@ -163,6 +163,8 @@ sub write_config_file {
my $file = shift;
require Data::Dumper;
+ # sort output for reproducible builds
+ $Data::Dumper::Sortkeys = 1;
my $str = Data::Dumper->Dump( [ { extra_libs => $extra_libs,
extra_cflags => $extra_cflags,
alien_key => $alien_key,
diff --git a/script/fix_alien_path.pl b/script/fix_alien_path.pl
index 99aca90..83266a7 100644
--- a/script/fix_alien_path.pl
+++ b/script/fix_alien_path.pl
@@ -30,6 +30,8 @@ my $key = Alien::wxWidgets->key;
my $version = Alien::wxWidgets->version;
my @libs = Alien::wxWidgets->library_keys;
my %libs; @libs{@libs} = Alien::wxWidgets->shared_libraries( @libs );
+# sort output for reproducible builds
+$Data::Dumper::Sortkeys = 1;
my $libs = Data::Dumper::Dumper( \%libs );
my $keyd;
diff --git a/script/make_exp_list.pl b/script/make_exp_list.pl
index 211a484..9b32dbd 100644
--- a/script/make_exp_list.pl
+++ b/script/make_exp_list.pl
@@ -22,6 +22,11 @@ my %packages;
my $tag;
my $package;
+sub unique_sorted {
+ my %v = %{ { map { ($_ => 1) } @{$_[0]} } };
+ sort keys %v;
+}
+
sub add_to_exports {
my( $values, $tags ) = @_;
@@ -91,11 +96,12 @@ package Wx::Wx_Exp; # for RPM
EOT
foreach my $package ( sort keys %packages ) {
-print OUT <<EOT;
+ my @exp = unique_sorted( $packages{$package}{exp_ok} );
+ print OUT <<EOT;
package ${package};
-push \@EXPORT_OK, qw(@{$packages{$package}{exp_ok}});
+push \@EXPORT_OK, qw(@exp);
\$EXPORT_TAGS{'everything'} = \\\@EXPORT_OK;
@@ -103,8 +109,9 @@ EOT
foreach my $tag ( sort keys %{ $packages{$package}{tags} } ) {
next unless length $tag;
+ my @pkgtags = unique_sorted( $packages{$package}{tags}{$tag} );
print OUT <<EOT;
-\$EXPORT_TAGS{'$tag'} = [ qw(@{ $packages{$package}{tags}{$tag} }) ];
+\$EXPORT_TAGS{'$tag'} = [ qw(@pkgtags) ];
EOT
}
}
--
2.11.1
++++++ 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch ++++++
>From bebdd9566fb806cb29aeaa8256658f583def4f48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=83=C2=BCns?= <stefan.bruens(a)rwth-aachen.de>
Date: Sun, 19 Mar 2017 05:45:08 +0100
Subject: [PATCH] fix incomplete Wx_Exp.pm due to missing dependecy in
generated Makefile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
---
build/Wx/build/MakeMaker/Any_OS.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/Wx/build/MakeMaker/Any_OS.pm b/build/Wx/build/MakeMaker/Any_OS.pm
index 5dd2a2f..2671339 100644
--- a/build/Wx/build/MakeMaker/Any_OS.pm
+++ b/build/Wx/build/MakeMaker/Any_OS.pm
@@ -122,7 +122,7 @@ sub depend_core {
my %files = $this->files_to_install();
my %depend = ( _depend_common( $this ),
- $exp => join( ' ', $this->files_with_constants, ),
+ $exp => join( ' ', $this->files_with_constants, 'subdirs', ),
'wxt_fix_alien' => 'pm_to_blib',
'pm_to_blib' => 'wxt_copy_files',
'blibdirs' => 'wxt_copy_files',
--
2.12.0
++++++ 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch ++++++
>From 5b46e838686eaf039942892dbe471c48e8818bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens(a)rwth-aachen.de>
Date: Mon, 27 Feb 2017 20:47:08 +0100
Subject: [PATCH 2/2] Provide overload methods to XSpp in sorted order
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
---
build/Wx/XSP/Overload.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/Wx/XSP/Overload.pm b/build/Wx/XSP/Overload.pm
index 34f89e9..40e1c77 100644
--- a/build/Wx/XSP/Overload.pm
+++ b/build/Wx/XSP/Overload.pm
@@ -85,7 +85,7 @@ sub post_process {
$node->add_methods( ExtUtils::XSpp::Node::Raw->new( rows => [ '#include "cpp/overload.h"' ] ) );
}
- foreach my $method_name ( @ovl_methods ) {
+ foreach my $method_name ( sort @ovl_methods ) {
_add_overload( $self, $node, $all_methods{$method_name} );
}
}
--
2.11.1
++++++ cpanspec.yml ++++++
--- /var/tmp/diff_new_pack.U5Ft1o/_old 2017-03-31 15:08:25.917338398 +0200
+++ /var/tmp/diff_new_pack.U5Ft1o/_new 2017-03-31 15:08:25.917338398 +0200
@@ -3,7 +3,12 @@
no_testing: needs X
sources:
- perl-Wx-rpmlintrc
-#patches:
+patches:
+# Needed for reproducible build
+ 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch: -p1
+ 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch: -p1
+# Fix for incomplete Wx_Exp.pm, https://rt.cpan.org/Public/Bug/Display.html?id=120657
+ 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch: -p1
# foo.patch: -p1
# bar.patch:
preamble: |-
1
0
Hello community,
here is the log from the commit of package kdevelop5-plugin-php for openSUSE:Factory checked in at 2017-03-31 15:08:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdevelop5-plugin-php (Old)
and /work/SRC/openSUSE:Factory/.kdevelop5-plugin-php.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdevelop5-plugin-php"
Fri Mar 31 15:08:15 2017 rev:6 rq:482360 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdevelop5-plugin-php/kdevelop5-plugin-php.changes 2017-03-12 20:02:06.649796134 +0100
+++ /work/SRC/openSUSE:Factory/.kdevelop5-plugin-php.new/kdevelop5-plugin-php.changes 2017-03-31 15:08:22.613805444 +0200
@@ -1,0 +2,7 @@
+Thu Mar 23 14:45:18 UTC 2017 - wbauer(a)tmo.at
+
+- New upstream release 5.1.0
+ * For a list of changes, see:
+ https://www.kdevelop.org/news/kdevelop-510-released
+
+-------------------------------------------------------------------
Old:
----
kdev-php-5.0.4.tar.xz
New:
----
kdev-php-5.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdevelop5-plugin-php.spec ++++++
--- /var/tmp/diff_new_pack.2hQ6yc/_old 2017-03-31 15:08:23.253714975 +0200
+++ /var/tmp/diff_new_pack.2hQ6yc/_new 2017-03-31 15:08:23.257714409 +0200
@@ -1,7 +1,7 @@
#
# spec file for package kdevelop5-plugin-php
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
%define rname kdev-php
-%define rversion 5.0
+%define rversion 5.1
Name: kdevelop5-plugin-php
-Version: 5.0.4
+Version: 5.1.0
Release: 0
Summary: PHP plugin for Kdevelop5 Integrated Development Environment
License: GPL-2.0+
++++++ kdev-php-5.0.4.tar.xz -> kdev-php-5.1.0.tar.xz ++++++
++++ 3583 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package kdevelop5 for openSUSE:Factory checked in at 2017-03-31 15:08:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdevelop5 (Old)
and /work/SRC/openSUSE:Factory/.kdevelop5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdevelop5"
Fri Mar 31 15:08:13 2017 rev:6 rq:482359 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdevelop5/kdevelop5.changes 2017-03-12 20:02:03.682216046 +0100
+++ /work/SRC/openSUSE:Factory/.kdevelop5.new/kdevelop5.changes 2017-03-31 15:08:17.746493573 +0200
@@ -1,0 +2,8 @@
+Thu Mar 23 14:35:29 UTC 2017 - wbauer(a)tmo.at
+
+- New upstream release 5.1.0
+ * For a list of changes, see:
+ https://www.kdevelop.org/news/kdevelop-510-released
+- Add okteta-devel BuildRequires to re-enable the okteta plugin
+
+-------------------------------------------------------------------
Old:
----
kdevelop-5.0.4.tar.xz
New:
----
kdevelop-5.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdevelop5.spec ++++++
--- /var/tmp/diff_new_pack.CIyz8d/_old 2017-03-31 15:08:18.410399711 +0200
+++ /var/tmp/diff_new_pack.CIyz8d/_new 2017-03-31 15:08:18.414399147 +0200
@@ -1,7 +1,7 @@
#
# spec file for package kdevelop5
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
%define rname kdevelop
-%define rversion 5.0
+%define rversion 5.1
Name: kdevelop5
-Version: 5.0.4
+Version: 5.1.0
Release: 0
Summary: C++ IDE using KDE technologies based on KDevelop Platform
License: GPL-2.0+
@@ -55,6 +55,7 @@
BuildRequires: kxmlgui-devel >= 5.16.0
BuildRequires: libksysguard5-devel
BuildRequires: llvm-clang-devel
+BuildRequires: okteta-devel
BuildRequires: pkgconfig
BuildRequires: plasma-framework-devel
BuildRequires: shared-mime-info
@@ -111,27 +112,29 @@
%install
%kf5_makeinstall -C build
+ %find_lang kdevclang %{name}.lang
%find_lang kdevcmake %{name}.lang
%find_lang kdevcmakebuilder %{name}.lang
- %find_lang kdevcpp %{name}.lang
+ %find_lang kdevcppcheck %{name}.lang
%find_lang kdevcustombuildsystem %{name}.lang
+ %find_lang kdevcustomdefinesandincludes %{name}.lang
%find_lang kdevcustommake %{name}.lang
+ %find_lang kdevdebuggercommon %{name}.lang
%find_lang kdevelop %{name}.lang
%find_lang kdevexecuteplasmoid %{name}.lang
%find_lang kdevformatters %{name}.lang
%find_lang kdevgdb %{name}.lang
%find_lang kdevghprovider %{name}.lang
%find_lang kdevkdeprovider %{name}.lang
+ %find_lang kdevlldb %{name}.lang
%find_lang kdevmakebuilder %{name}.lang
%find_lang kdevmanpage %{name}.lang
%find_lang kdevninja %{name}.lang
%find_lang kdevokteta %{name}.lang
- %find_lang kdevqthelp %{name}.lang
- %find_lang kdevqmakemanager %{name}.lang
%find_lang kdevqmakebuilder %{name}.lang
+ %find_lang kdevqmakemanager %{name}.lang
%find_lang kdevqmljs %{name}.lang
- %find_lang kdevclang %{name}.lang
- %find_lang kdevcustomdefinesandincludes %{name}.lang
+ %find_lang kdevqthelp %{name}.lang
%find_lang plasma_applet_kdevelopsessions %{name}.lang
%find_lang plasma_runner_kdevelopsessions %{name}.lang
@@ -140,7 +143,7 @@
%files
%defattr(-,root,root)
-%doc COPYING* README
+%doc COPYING* README.md
%dir %{_kf5_iconsdir}/hicolor/256x256
%dir %{_kf5_iconsdir}/hicolor/256x256/apps
%{_kf5_applicationsdir}/*kdevelop*.desktop
@@ -158,6 +161,7 @@
%{_kf5_sharedir}/kdev*/
%{_kf5_sharedir}/mime/packages/kdevelop.xml
%{_kf5_sharedir}/mime/packages/kdevelopinternal.xml
+%{_kf5_kxmlguidir}/kdevcppcheck/
%files lang -f %{name}.lang
%defattr(-,root,root)
++++++ kdevelop-5.0.4.tar.xz -> kdevelop-5.1.0.tar.xz ++++++
++++ 308137 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package kdevplatform for openSUSE:Factory checked in at 2017-03-31 15:08:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdevplatform (Old)
and /work/SRC/openSUSE:Factory/.kdevplatform.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdevplatform"
Fri Mar 31 15:08:11 2017 rev:64 rq:482358 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdevplatform/kdevplatform.changes 2017-03-12 20:02:00.750630865 +0100
+++ /work/SRC/openSUSE:Factory/.kdevplatform.new/kdevplatform.changes 2017-03-31 15:08:13.999023382 +0200
@@ -1,0 +2,7 @@
+Thu Mar 23 14:30:35 UTC 2017 - wbauer(a)tmo.at
+
+- New upstream release 5.1.0
+ * For a list of changes, see:
+ https://www.kdevelop.org/news/kdevelop-510-released
+
+-------------------------------------------------------------------
Old:
----
kdevplatform-5.0.4.tar.xz
New:
----
kdevplatform-5.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdevplatform.spec ++++++
--- /var/tmp/diff_new_pack.P7JtZH/_old 2017-03-31 15:08:15.474814737 +0200
+++ /var/tmp/diff_new_pack.P7JtZH/_new 2017-03-31 15:08:15.478814173 +0200
@@ -16,10 +16,10 @@
#
-%define rversion 5.0
+%define rversion 5.1
%define libkdev_major 10
Name: kdevplatform
-Version: 5.0.4
+Version: 5.1.0
Release: 0
Summary: Base Package for Integrated Development Environments
License: GPL-2.0+
@@ -33,31 +33,31 @@
%endif
BuildRequires: extra-cmake-modules >= 0.0.9
BuildRequires: grantlee5-devel
-BuildRequires: karchive-devel >= 5.16.0
-BuildRequires: kcmutils-devel >= 5.16.0
-BuildRequires: kconfig-devel >= 5.16.0
-BuildRequires: kdeclarative-devel >= 5.16.0
+BuildRequires: karchive-devel >= 5.18.0
+BuildRequires: kcmutils-devel >= 5.18.0
+BuildRequires: kconfig-devel >= 5.18.0
+BuildRequires: kdeclarative-devel >= 5.18.0
BuildRequires: kf5-filesystem
-BuildRequires: kguiaddons-devel >= 5.16.0
-BuildRequires: ki18n-devel >= 5.16.0
-BuildRequires: kiconthemes-devel >= 5.16.0
-BuildRequires: kio-devel >= 5.16.0
-BuildRequires: kitemmodels-devel >= 5.16.0
-BuildRequires: kitemviews-devel >= 5.16.0
-BuildRequires: kjobwidgets-devel >= 5.16.0
-BuildRequires: knewstuff-devel >= 5.16.0
-BuildRequires: knotifications-devel >= 5.16.0
-BuildRequires: knotifyconfig-devel >= 5.16.0
-BuildRequires: kparts-devel >= 5.16.0
-BuildRequires: kservice-devel >= 5.16.0
-BuildRequires: ktexteditor-devel >= 5.16.0
-BuildRequires: kwidgetsaddons-devel >= 5.16.0
-BuildRequires: kwindowsystem-devel >= 5.16.0
-BuildRequires: kxmlgui-devel >= 5.16.0
+BuildRequires: kguiaddons-devel >= 5.18.0
+BuildRequires: ki18n-devel >= 5.18.0
+BuildRequires: kiconthemes-devel >= 5.18.0
+BuildRequires: kio-devel >= 5.18.0
+BuildRequires: kitemmodels-devel >= 5.18.0
+BuildRequires: kitemviews-devel >= 5.18.0
+BuildRequires: kjobwidgets-devel >= 5.18.0
+BuildRequires: knewstuff-devel >= 5.18.0
+BuildRequires: knotifications-devel >= 5.18.0
+BuildRequires: knotifyconfig-devel >= 5.18.0
+BuildRequires: kparts-devel >= 5.18.0
+BuildRequires: kservice-devel >= 5.18.0
+BuildRequires: ktexteditor-devel >= 5.18.0
+BuildRequires: kwidgetsaddons-devel >= 5.18.0
+BuildRequires: kwindowsystem-devel >= 5.18.0
+BuildRequires: kxmlgui-devel >= 5.18.0
BuildRequires: libkomparediff2-kf5-devel
-BuildRequires: sonnet-devel >= 5.16.0
+BuildRequires: sonnet-devel >= 5.18.0
BuildRequires: subversion-devel
-BuildRequires: threadweaver-devel >= 5.16.0
+BuildRequires: threadweaver-devel >= 5.18.0
BuildRequires: pkgconfig(Qt5Concurrent) >= 5.4.0
BuildRequires: pkgconfig(Qt5Core) >= 5.4.0
BuildRequires: pkgconfig(Qt5DBus) >= 5.4.0
@@ -115,6 +115,7 @@
%find_lang kdevkonsole %{name}.lang
%find_lang kdevopenwith %{name}.lang
%find_lang kdevpatchreview %{name}.lang
+ %find_lang kdevperforce %{name}.lang
%find_lang kdevplatform %{name}.lang
%find_lang kdevproblemreporter %{name}.lang
%find_lang kdevprojectfilter %{name}.lang
@@ -171,7 +172,7 @@
%files
%defattr(-,root,root)
-%doc COPYING* README
+%doc COPYING* README.md
%{_kf5_bindir}/kdev_dbus_socket_transformer
%{_kf5_bindir}/kdev_format_source
%{_kf5_bindir}/kdevplatform_shell_environment.sh
@@ -181,5 +182,6 @@
%{_kf5_servicetypesdir}/
%{_kf5_sharedir}/kdevcodegen/
%{_kf5_sharedir}/kdevcodeutils/
+%{_kf5_sharedir}/kdevplatform/
%changelog
++++++ kdevplatform-5.0.4.tar.xz -> kdevplatform-5.1.0.tar.xz ++++++
++++ 208234 lines of diff (skipped)
1
0