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
April 2015
- 1 participants
- 1958 discussions
Hello community,
here is the log from the commit of package libmng for openSUSE:Factory checked in at 2015-04-30 11:50:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmng (Old)
and /work/SRC/openSUSE:Factory/.libmng.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmng"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmng/libmng.changes 2014-06-19 13:08:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libmng.new/libmng.changes 2015-04-30 11:50:05.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Apr 27 13:52:20 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 2.0.3
+ * More changes to libmng_types.h.
+- Cleanup spec file with spec-cleaner
+- Remove old obsolete/provide
+- Use %cmake macro when building
+- Remove no longer needed fix-header-include.patch
+
+-------------------------------------------------------------------
Old:
----
fix-header-include.patch
libmng-2.0.2.tar.xz
New:
----
libmng-2.0.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmng.spec ++++++
--- /var/tmp/diff_new_pack.fKBBHn/_old 2015-04-30 11:50:06.000000000 +0200
+++ /var/tmp/diff_new_pack.fKBBHn/_new 2015-04-30 11:50:06.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libmng
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,59 +16,44 @@
#
+%define lname libmng2
Name: libmng
-Version: 2.0.2
+Version: 2.0.3
Release: 0
Summary: Library for Support of MNG and JNG Formats
License: Zlib
Group: Development/Libraries/C and C++
-%define lname libmng2
+Url: http://www.libmng.com/
+Source0: http://downloads.sourceforge.net/project/%{name}/%{name}-devel/%{version}/%…
+Source1: baselibs.conf
+Patch0: libmng-1.0.9-dont-leak-zlib-streams.diff
BuildRequires: cmake
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: man
BuildRequires: pkg-config
BuildRequires: zlib-devel
-# bug437293
-%ifarch ppc64
-Obsoletes: libmng-64bit
-%endif
-#
-Url: http://www.libmng.com/
-Source0: http://downloads.sourceforge.net/project/%{name}/%{name}-devel/%{version}/%…
-Source1: baselibs.conf
-Patch0: libmng-1.0.9-dont-leak-zlib-streams.diff
-# PATCH-FIX-UPSTREAM fix-header-include.patch -- make libmng_types header usable to outside packages/libraries
-Patch1: fix-header-include.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This library can handle MNG and JNG formats that contain animated
pictures. These formats should replace the GIF format.
-%package -n %lname
+%package -n %{lname}
Summary: Library for Support of MNG and JNG Formats
Group: System/Libraries
-# O/P added 2011-11-29
-Obsoletes: libmng < %{version}-%{release}
-Provides: libmng = %{version}-%{release}
-%description -n %lname
+%description -n %{lname}
This library can handle MNG and JNG formats that contain animated
pictures. These formats should replace the GIF format.
%package devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
-Requires: %lname = %{version}
+Requires: %{lname} = %{version}
Requires: libjpeg-devel
Requires: liblcms2-devel
Requires: zlib-devel
-# bug437293
-%ifarch ppc64
-Obsoletes: libmng-devel-64bit
-%endif
-#
%description devel
This library can handle MNG and JNG formats which contain animated
@@ -79,33 +64,27 @@
%prep
%setup -q
%patch0
-%patch1 -p1
%build
# This is not zlib licensed and unused, just as a caution, bnc#744320
rm -rf contrib
-export CXXFLAGS="%{optflags}"
-export CFLAGS="$CXXFLAGS"
-mkdir build && cd build && \
-cmake -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DCMAKE_BUILD_TYPE:STRING=Release \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+%cmake \
-DCMAKE_SKIP_RPATH=ON \
- -DMNG_INSTALL_DOC_DIR=%{_datadir}/doc/packages/%{name} \
+ -DMNG_INSTALL_DOC_DIR=%{_docdir}/%{name} \
-DBUILD_MAN=ON \
-DBUILD_STATIC_LIBS=OFF ..
make %{?_smp_mflags}
%install
-%make_install -C build
+%cmake_install
-%post -n %lname -p /sbin/ldconfig
+%post -n %{lname} -p /sbin/ldconfig
-%postun -n %lname -p /sbin/ldconfig
+%postun -n %{lname} -p /sbin/ldconfig
-%files -n %lname
+%files -n %{lname}
%defattr(-,root,root)
%doc LICENSE README doc/doc.readme doc/libmng.txt
%{_libdir}/libmng.so.*
@@ -113,7 +92,7 @@
%files devel
%defattr(-,root,root)
%{_includedir}/*.h
-%doc %{_mandir}/*/*
+%{_mandir}/*/*
%doc %{_docdir}/libmng/
%{_libdir}/pkgconfig/libmng.pc
%{_libdir}/libmng.so
++++++ libmng-1.0.9-dont-leak-zlib-streams.diff ++++++
--- /var/tmp/diff_new_pack.fKBBHn/_old 2015-04-30 11:50:06.000000000 +0200
+++ /var/tmp/diff_new_pack.fKBBHn/_new 2015-04-30 11:50:06.000000000 +0200
@@ -1,7 +1,8 @@
-diff -ur libmng-orig/libmng_zlib.c libmng-1.0.10/libmng_zlib.c
---- libmng_zlib.c 2005-12-15 00:53:13.000000000 +0100
-+++ libmng_zlib.c 2007-07-19 13:17:44.000000000 +0200
-@@ -162,6 +162,9 @@
+Index: libmng_zlib.c
+===================================================================
+--- libmng_zlib.c.orig
++++ libmng_zlib.c
+@@ -163,6 +163,9 @@ mng_retcode mngzlib_inflateinit (mng_dat
#ifdef MNG_SUPPORT_TRACE
MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEINIT, MNG_LC_START);
#endif
++++++ libmng-2.0.2.tar.xz -> libmng-2.0.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/CHANGES new/libmng-2.0.3/CHANGES
--- old/libmng-2.0.2/CHANGES 2013-01-20 05:31:41.000000000 +0100
+++ new/libmng-2.0.3/CHANGES 2015-04-20 21:02:40.000000000 +0200
@@ -1,3 +1,7 @@
+2.0.3 (15.11.2014)
+---------------------------
+[szukw000(a)arcor.de] More changes to libmng_types.h.
+
2.0.1 (19.01.2013)
---------------------------
[szukw000(a)arcor.de] There has been a change in JPEG version 9:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/Makefile new/libmng-2.0.3/Makefile
--- old/libmng-2.0.2/Makefile 2013-03-05 14:44:16.000000000 +0100
+++ new/libmng-2.0.3/Makefile 2015-04-20 21:06:47.000000000 +0200
@@ -34,10 +34,10 @@
esac; \
test $$am__dry = yes; \
}
-pkgdatadir = $(datadir)/libmng-2.0.2
-pkgincludedir = $(includedir)/libmng-2.0.2
-pkglibdir = $(libdir)/libmng-2.0.2
-pkglibexecdir = $(libexecdir)/libmng-2.0.2
+pkgdatadir = $(datadir)/libmng-2.0.3
+pkgincludedir = $(includedir)/libmng-2.0.3
+pkglibdir = $(libdir)/libmng-2.0.3
+pkglibexecdir = $(libexecdir)/libmng-2.0.3
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -202,14 +202,14 @@
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
-ACLOCAL = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing aclocal-1.13
+ACLOCAL = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AR = ar
AS = as
-AUTOCONF = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoconf
-AUTOHEADER = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoheader
-AUTOMAKE = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing automake-1.13
+AUTOCONF = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoconf
+AUTOHEADER = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoheader
+AUTOMAKE = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing automake-1.13
AWK = gawk
CC = gcc
CCDEPMODE = depmode=none
@@ -242,7 +242,7 @@
LIPO =
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing makeinfo
+MAKEINFO = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing makeinfo
MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p
MNG_MAJOR_NR = 2
@@ -254,24 +254,24 @@
OBJEXT = o
OTOOL =
OTOOL64 =
-PACKAGE = libmng-2.0.2
+PACKAGE = libmng-2.0.3
PACKAGE_BUGREPORT = png-mng-implement(a)lists.sourceforge.net
PACKAGE_NAME = libmng
-PACKAGE_STRING = libmng 2.0.2
-PACKAGE_TARNAME = libmng-2.0.2
+PACKAGE_STRING = libmng 2.0.3
+PACKAGE_TARNAME = libmng-2.0.3
PACKAGE_URL = http://www.libmng.com/
-PACKAGE_VERSION = 2.0.2
+PACKAGE_VERSION = 2.0.3
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
-VERSION = 2.0.2
-abs_builddir = /sources/LIB/MNG/libmng-2.0.2
-abs_srcdir = /sources/LIB/MNG/libmng-2.0.2
-abs_top_builddir = /sources/LIB/MNG/libmng-2.0.2
-abs_top_srcdir = /sources/LIB/MNG/libmng-2.0.2
+VERSION = 2.0.3
+abs_builddir = /sources/LIB/MNG/libmng-2.0.3
+abs_srcdir = /sources/LIB/MNG/libmng-2.0.3
+abs_top_builddir = /sources/LIB/MNG/libmng-2.0.3
+abs_top_srcdir = /sources/LIB/MNG/libmng-2.0.3
ac_ct_AR = ar
ac_ct_CC = gcc
ac_ct_DUMPBIN =
@@ -300,7 +300,7 @@
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = ${SHELL} /sources/LIB/MNG/libmng-2.0.2/install-sh
+install_sh = ${SHELL} /sources/LIB/MNG/libmng-2.0.3/install-sh
libdir = /usr/lib64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
@@ -327,9 +327,9 @@
# include the app subdirectories in the distribution
EXTRA_DIST = makefiles doc contrib
-# libmng release 2.0.2
+# libmng release 2.0.3
libmng_la_LDFLAGS = \
- -version-number 2:0:2
+ -version-number 2.0.3
lib_LTLIBRARIES = libmng.la
include_HEADERS = libmng.h libmng_conf.h libmng_types.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/README.version new/libmng-2.0.3/README.version
--- old/libmng-2.0.2/README.version 2013-03-05 12:19:47.000000000 +0100
+++ new/libmng-2.0.3/README.version 2015-04-20 21:06:10.000000000 +0200
@@ -1,25 +1,25 @@
-Version changes - here 2.0.2 - must be written into the following files:
+Version changes - here 2.0.3 - must be written into the following files:
libmng.h :
=======================
-#define MNG_VERSION_TEXT "2.0.2"
+#define MNG_VERSION_TEXT "2.0.3"
CMake/vers.cmake:
=======================
SET(MNG_VERSION_MAJOR 2)
SET(MNG_VERSION_MINOR 0)
-SET(MNG_VERSION_PATCH 2)
+SET(MNG_VERSION_PATCH 3)
makefiles/configure.ac :
=======================
define([MAJ_NR],[2])
define([MIN_NR],[0])
-define([REL_NR],[2])
+define([REL_NR],[3])
makefiles/version.mak :
=======================
MNGMAJ = 2
MNGMIN = 0
-MNGREL = 2
-MNGVER = 2.0.2
+MNGREL = 3
+MNGVER = 2.0.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/config.h new/libmng-2.0.3/config.h
--- old/libmng-2.0.2/config.h 2013-03-05 14:44:16.000000000 +0100
+++ new/libmng-2.0.3/config.h 2015-04-20 21:11:29.000000000 +0200
@@ -96,13 +96,13 @@
#define MNG_VERSION_MINOR 0
/* PATCH number of version */
-#define MNG_VERSION_RELEASE 2
+#define MNG_VERSION_RELEASE 3
/* eg. libmng.so.1 */
#define MNG_VERSION_SO 2
/* Name of package */
-#define PACKAGE "libmng-2.0.2"
+#define PACKAGE "libmng-2.0.3"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
@@ -111,22 +111,22 @@
#define PACKAGE_NAME "libmng"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libmng 2.0.2"
+#define PACKAGE_STRING "libmng 2.0.3"
/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "libmng-2.0.2"
+#define PACKAGE_TARNAME "libmng-2.0.3"
/* Define to the home page for this package. */
#define PACKAGE_URL "http://www.libmng.com/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.0.2"
+#define PACKAGE_VERSION "2.0.3"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "2.0.2"
+#define VERSION "2.0.3"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/config.log new/libmng-2.0.3/config.log
--- old/libmng-2.0.2/config.log 2013-03-05 14:44:17.000000000 +0100
+++ new/libmng-2.0.3/config.log 2015-04-20 21:10:53.000000000 +0200
@@ -1,7 +1,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libmng configure 2.0.2, which was
+It was created by libmng configure 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/usr --libdir=/usr/lib64 --with-lcms2
@@ -233,16 +233,16 @@
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libmng"
-| #define PACKAGE_TARNAME "libmng-2.0.2"
-| #define PACKAGE_VERSION "2.0.2"
-| #define PACKAGE_STRING "libmng 2.0.2"
+| #define PACKAGE_TARNAME "libmng-2.0.3"
+| #define PACKAGE_VERSION "2.0.3"
+| #define PACKAGE_STRING "libmng 2.0.3"
| #define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
| #define PACKAGE_URL "http://www.libmng.com/"
-| #define PACKAGE "libmng-2.0.2"
-| #define VERSION "2.0.2"
+| #define PACKAGE "libmng-2.0.3"
+| #define VERSION "2.0.3"
| #define MNG_VERSION_MAJOR 2
| #define MNG_VERSION_MINOR 0
-| #define MNG_VERSION_RELEASE 2
+| #define MNG_VERSION_RELEASE 3
| #define MNG_VERSION_SO 2
| #define MNG_VERSION_DLL 2
| /* end confdefs.h. */
@@ -257,16 +257,16 @@
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libmng"
-| #define PACKAGE_TARNAME "libmng-2.0.2"
-| #define PACKAGE_VERSION "2.0.2"
-| #define PACKAGE_STRING "libmng 2.0.2"
+| #define PACKAGE_TARNAME "libmng-2.0.3"
+| #define PACKAGE_VERSION "2.0.3"
+| #define PACKAGE_STRING "libmng 2.0.3"
| #define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
| #define PACKAGE_URL "http://www.libmng.com/"
-| #define PACKAGE "libmng-2.0.2"
-| #define VERSION "2.0.2"
+| #define PACKAGE "libmng-2.0.3"
+| #define VERSION "2.0.3"
| #define MNG_VERSION_MAJOR 2
| #define MNG_VERSION_MINOR 0
-| #define MNG_VERSION_RELEASE 2
+| #define MNG_VERSION_RELEASE 3
| #define MNG_VERSION_SO 2
| #define MNG_VERSION_DLL 2
| /* end confdefs.h. */
@@ -371,16 +371,16 @@
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libmng"
-| #define PACKAGE_TARNAME "libmng-2.0.2"
-| #define PACKAGE_VERSION "2.0.2"
-| #define PACKAGE_STRING "libmng 2.0.2"
+| #define PACKAGE_TARNAME "libmng-2.0.3"
+| #define PACKAGE_VERSION "2.0.3"
+| #define PACKAGE_STRING "libmng 2.0.3"
| #define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
| #define PACKAGE_URL "http://www.libmng.com/"
-| #define PACKAGE "libmng-2.0.2"
-| #define VERSION "2.0.2"
+| #define PACKAGE "libmng-2.0.3"
+| #define VERSION "2.0.3"
| #define MNG_VERSION_MAJOR 2
| #define MNG_VERSION_MINOR 0
-| #define MNG_VERSION_RELEASE 2
+| #define MNG_VERSION_RELEASE 3
| #define MNG_VERSION_SO 2
| #define MNG_VERSION_DLL 2
| #define STDC_HEADERS 1
@@ -411,16 +411,16 @@
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libmng"
-| #define PACKAGE_TARNAME "libmng-2.0.2"
-| #define PACKAGE_VERSION "2.0.2"
-| #define PACKAGE_STRING "libmng 2.0.2"
+| #define PACKAGE_TARNAME "libmng-2.0.3"
+| #define PACKAGE_VERSION "2.0.3"
+| #define PACKAGE_STRING "libmng 2.0.3"
| #define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
| #define PACKAGE_URL "http://www.libmng.com/"
-| #define PACKAGE "libmng-2.0.2"
-| #define VERSION "2.0.2"
+| #define PACKAGE "libmng-2.0.3"
+| #define VERSION "2.0.3"
| #define MNG_VERSION_MAJOR 2
| #define MNG_VERSION_MINOR 0
-| #define MNG_VERSION_RELEASE 2
+| #define MNG_VERSION_RELEASE 3
| #define MNG_VERSION_SO 2
| #define MNG_VERSION_DLL 2
| #define STDC_HEADERS 1
@@ -466,22 +466,22 @@
configure:12314: gcc -o conftest -g -O2 conftest.c >&5
conftest.c:52:6: warning: conflicting types for built-in function 'pow' [enabled by default]
/tmp/cczAyzTf.o: In function `main':
-/sources/LIB/MNG/libmng-2.0.2/conftest.c:63: undefined reference to `pow'
+/sources/LIB/MNG/libmng-2.0.3/conftest.c:63: undefined reference to `pow'
collect2: error: ld returned 1 exit status
configure:12314: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libmng"
-| #define PACKAGE_TARNAME "libmng-2.0.2"
-| #define PACKAGE_VERSION "2.0.2"
-| #define PACKAGE_STRING "libmng 2.0.2"
+| #define PACKAGE_TARNAME "libmng-2.0.3"
+| #define PACKAGE_VERSION "2.0.3"
+| #define PACKAGE_STRING "libmng 2.0.3"
| #define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
| #define PACKAGE_URL "http://www.libmng.com/"
-| #define PACKAGE "libmng-2.0.2"
-| #define VERSION "2.0.2"
+| #define PACKAGE "libmng-2.0.3"
+| #define VERSION "2.0.3"
| #define MNG_VERSION_MAJOR 2
| #define MNG_VERSION_MINOR 0
-| #define MNG_VERSION_RELEASE 2
+| #define MNG_VERSION_RELEASE 3
| #define MNG_VERSION_SO 2
| #define MNG_VERSION_DLL 2
| #define STDC_HEADERS 1
@@ -592,7 +592,7 @@
## Running config.status. ##
## ---------------------- ##
-This file was extended by libmng config.status 2.0.2, which was
+This file was extended by libmng config.status 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
@@ -710,7 +710,7 @@
## Output variables. ##
## ----------------- ##
-ACLOCAL='${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing aclocal-1.13'
+ACLOCAL='${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
@@ -721,9 +721,9 @@
AM_V='$(V)'
AR='ar'
AS='as'
-AUTOCONF='${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoconf'
-AUTOHEADER='${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoheader'
-AUTOMAKE='${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing automake-1.13'
+AUTOCONF='${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoconf'
+AUTOHEADER='${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoheader'
+AUTOMAKE='${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing automake-1.13'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=none'
@@ -755,7 +755,7 @@
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
-MAKEINFO='${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing makeinfo'
+MAKEINFO='${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
MNG_MAJOR_NR='2'
@@ -767,20 +767,20 @@
OBJEXT='o'
OTOOL64=''
OTOOL=''
-PACKAGE='libmng-2.0.2'
+PACKAGE='libmng-2.0.3'
PACKAGE_BUGREPORT='png-mng-implement(a)lists.sourceforge.net'
PACKAGE_NAME='libmng'
-PACKAGE_STRING='libmng 2.0.2'
-PACKAGE_TARNAME='libmng-2.0.2'
+PACKAGE_STRING='libmng 2.0.3'
+PACKAGE_TARNAME='libmng-2.0.3'
PACKAGE_URL='http://www.libmng.com/'
-PACKAGE_VERSION='2.0.2'
+PACKAGE_VERSION='2.0.3'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
-VERSION='2.0.2'
+VERSION='2.0.3'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_DUMPBIN=''
@@ -814,7 +814,7 @@
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
-install_sh='${SHELL} /sources/LIB/MNG/libmng-2.0.2/install-sh'
+install_sh='${SHELL} /sources/LIB/MNG/libmng-2.0.3/install-sh'
libdir='/usr/lib64'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
@@ -837,16 +837,16 @@
/* confdefs.h */
#define PACKAGE_NAME "libmng"
-#define PACKAGE_TARNAME "libmng-2.0.2"
-#define PACKAGE_VERSION "2.0.2"
-#define PACKAGE_STRING "libmng 2.0.2"
+#define PACKAGE_TARNAME "libmng-2.0.3"
+#define PACKAGE_VERSION "2.0.3"
+#define PACKAGE_STRING "libmng 2.0.3"
#define PACKAGE_BUGREPORT "png-mng-implement(a)lists.sourceforge.net"
#define PACKAGE_URL "http://www.libmng.com/"
-#define PACKAGE "libmng-2.0.2"
-#define VERSION "2.0.2"
+#define PACKAGE "libmng-2.0.3"
+#define VERSION "2.0.3"
#define MNG_VERSION_MAJOR 2
#define MNG_VERSION_MINOR 0
-#define MNG_VERSION_RELEASE 2
+#define MNG_VERSION_RELEASE 3
#define MNG_VERSION_SO 2
#define MNG_VERSION_DLL 2
#define STDC_HEADERS 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/config.status new/libmng-2.0.3/config.status
--- old/libmng-2.0.2/config.status 2013-03-05 14:44:16.000000000 +0100
+++ new/libmng-2.0.3/config.status 2015-04-20 21:09:06.000000000 +0200
@@ -380,7 +380,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libmng $as_me 2.0.2, which was
+This file was extended by libmng $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -430,7 +430,7 @@
ac_cs_config="'--prefix=/usr' '--libdir=/usr/lib64' '--with-lcms2'"
ac_cs_version="\
-libmng config.status 2.0.2
+libmng config.status 2.0.3
configured by ./configure, generated by GNU Autoconf 2.69,
with options \"$ac_cs_config\"
@@ -438,7 +438,7 @@
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-ac_pwd='/sources/LIB/MNG/libmng-2.0.2'
+ac_pwd='/sources/LIB/MNG/libmng-2.0.3'
srcdir='.'
INSTALL='/usr/bin/ginstall -c'
MKDIR_P='/usr/bin/mkdir -p'
@@ -732,8 +732,8 @@
fi
- PACKAGE='libmng-2.0.2'
- VERSION='2.0.2'
+ PACKAGE='libmng-2.0.3'
+ VERSION='2.0.3'
TIMESTAMP=''
RM='rm -f'
ofile='libtool'
@@ -882,14 +882,14 @@
S["MKDIR_P"]="/usr/bin/mkdir -p"
S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s"
S["STRIP"]="strip"
-S["install_sh"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/install-sh"
-S["MAKEINFO"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing makeinfo"
-S["AUTOHEADER"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoheader"
-S["AUTOMAKE"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing automake-1.13"
-S["AUTOCONF"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing autoconf"
-S["ACLOCAL"]="${SHELL} /sources/LIB/MNG/libmng-2.0.2/missing aclocal-1.13"
-S["VERSION"]="2.0.2"
-S["PACKAGE"]="libmng-2.0.2"
+S["install_sh"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/install-sh"
+S["MAKEINFO"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing makeinfo"
+S["AUTOHEADER"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoheader"
+S["AUTOMAKE"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing automake-1.13"
+S["AUTOCONF"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing autoconf"
+S["ACLOCAL"]="${SHELL} /sources/LIB/MNG/libmng-2.0.3/missing aclocal-1.13"
+S["VERSION"]="2.0.3"
+S["PACKAGE"]="libmng-2.0.3"
S["CYGPATH_W"]="echo"
S["am__isrc"]=""
S["INSTALL_DATA"]="${INSTALL} -m 644"
@@ -930,9 +930,9 @@
S["exec_prefix"]="${prefix}"
S["PACKAGE_URL"]="http://www.libmng.com/"
S["PACKAGE_BUGREPORT"]="png-mng-implement(a)lists.sourceforge.net"
-S["PACKAGE_STRING"]="libmng 2.0.2"
-S["PACKAGE_VERSION"]="2.0.2"
-S["PACKAGE_TARNAME"]="libmng-2.0.2"
+S["PACKAGE_STRING"]="libmng 2.0.3"
+S["PACKAGE_VERSION"]="2.0.3"
+S["PACKAGE_TARNAME"]="libmng-2.0.3"
S["PACKAGE_NAME"]="libmng"
S["PATH_SEPARATOR"]=":"
S["SHELL"]="/bin/sh"
@@ -978,13 +978,13 @@
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
D["PACKAGE_NAME"]=" \"libmng\""
-D["PACKAGE_TARNAME"]=" \"libmng-2.0.2\""
-D["PACKAGE_VERSION"]=" \"2.0.2\""
-D["PACKAGE_STRING"]=" \"libmng 2.0.2\""
+D["PACKAGE_TARNAME"]=" \"libmng-2.0.3\""
+D["PACKAGE_VERSION"]=" \"2.0.3\""
+D["PACKAGE_STRING"]=" \"libmng 2.0.3\""
D["PACKAGE_BUGREPORT"]=" \"png-mng-implement(a)lists.sourceforge.net\""
D["PACKAGE_URL"]=" \"http://www.libmng.com/\""
-D["PACKAGE"]=" \"libmng-2.0.2\""
-D["VERSION"]=" \"2.0.2\""
+D["PACKAGE"]=" \"libmng-2.0.3\""
+D["VERSION"]=" \"2.0.3\""
D["MNG_VERSION_MAJOR"]=" 2"
D["MNG_VERSION_MINOR"]=" 0"
D["MNG_VERSION_RELEASE"]=" 2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/configure new/libmng-2.0.3/configure
--- old/libmng-2.0.2/configure 2013-03-05 13:13:02.000000000 +0100
+++ new/libmng-2.0.3/configure 2015-04-20 21:12:06.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libmng 2.0.2.
+# Generated by GNU Autoconf 2.69 for libmng 2.0.3.
#
# Report bugs to <png-mng-implement(a)lists.sourceforge.net>.
#
@@ -589,9 +589,9 @@
# Identity of this package.
PACKAGE_NAME='libmng'
-PACKAGE_TARNAME='libmng-2.0.2'
-PACKAGE_VERSION='2.0.2'
-PACKAGE_STRING='libmng 2.0.2'
+PACKAGE_TARNAME='libmng-2.0.3'
+PACKAGE_VERSION='2.0.3'
+PACKAGE_STRING='libmng 2.0.3'
PACKAGE_BUGREPORT='png-mng-implement(a)lists.sourceforge.net'
PACKAGE_URL='http://www.libmng.com/'
@@ -1327,7 +1327,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libmng 2.0.2 to adapt to many kinds of systems.
+\`configure' configures libmng 2.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1375,7 +1375,7 @@
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libmng-2.0.2]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/libmng-2.0.3]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@@ -1397,7 +1397,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libmng 2.0.2:";;
+ short | recursive ) echo "Configuration of libmng 2.0.3:";;
esac
cat <<\_ACEOF
@@ -1516,7 +1516,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libmng configure 2.0.2
+libmng configure 2.0.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1885,7 +1885,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libmng $as_me 2.0.2, which was
+It was created by libmng $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2761,8 +2761,8 @@
# Define the identity of the package.
- PACKAGE='libmng-2.0.2'
- VERSION='2.0.2'
+ PACKAGE='libmng-2.0.3'
+ VERSION='2.0.3'
cat >>confdefs.h <<_ACEOF
@@ -2818,7 +2818,7 @@
$as_echo "#define MNG_VERSION_MINOR 0" >>confdefs.h
-$as_echo "#define MNG_VERSION_RELEASE 2" >>confdefs.h
+$as_echo "#define MNG_VERSION_RELEASE 3" >>confdefs.h
$as_echo "#define MNG_VERSION_SO 2" >>confdefs.h
@@ -7311,7 +7311,7 @@
fi
if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ # ISC 2.0.3 stdlib.h does not declare free, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -12161,7 +12161,7 @@
fi
if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ # ISC 2.0.3 stdlib.h does not declare free, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -13331,7 +13331,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libmng $as_me 2.0.2, which was
+This file was extended by libmng $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13398,7 +13398,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libmng config.status 2.0.2
+libmng config.status 2.0.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/libmng.h new/libmng-2.0.3/libmng.h
--- old/libmng-2.0.2/libmng.h 2013-03-05 12:14:06.000000000 +0100
+++ new/libmng-2.0.3/libmng.h 2015-04-20 21:08:32.000000000 +0200
@@ -446,7 +446,7 @@
/* * * */
/* ************************************************************************** */
-#define MNG_VERSION_TEXT "2.0.2"
+#define MNG_VERSION_TEXT "2.0.3"
#define MNG_VERSION_BETA MNG_FALSE
MNG_EXT mng_pchar MNG_DECL mng_version_text (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/libmng.pc new/libmng-2.0.3/libmng.pc
--- old/libmng-2.0.2/libmng.pc 2013-03-05 14:44:16.000000000 +0100
+++ new/libmng-2.0.3/libmng.pc 2015-04-20 21:09:24.000000000 +0200
@@ -5,7 +5,7 @@
Name: libmng
Description: Loads PNG/MNG/JNG files
-Version: 2.0.2
+Version: 2.0.3
Libs: -L${libdir} -lmng
Libs.private: -lz -lm -ljpeg -llcms2
Cflags: -I${includedir}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/libmng_types.h new/libmng-2.0.3/libmng_types.h
--- old/libmng-2.0.2/libmng_types.h 2013-01-20 04:45:24.000000000 +0100
+++ new/libmng-2.0.3/libmng_types.h 2015-04-20 21:17:32.000000000 +0200
@@ -5,7 +5,7 @@
/* * * */
/* * project : libmng * */
/* * file : libmng_types.h copyright (c) 2000-2007 G.Juyn * */
-/* * version : 1.0.10 * */
+/* * version : 2.0.3 * */
/* * * */
/* * purpose : type specifications * */
/* * * */
@@ -126,6 +126,7 @@
/* * 1.0.10 - 04/12/2007 - G.Juyn * */
/* * - added support for ANG proposal * */
/* * * */
+/* * 2.0.3 - 11/15/2014 * */
/* ************************************************************************** */
#ifndef _libmng_types_h_
@@ -200,10 +201,14 @@
#endif
#define JPEG_INTERNAL_OPTIONS /* for RGB_PIXELSIZE */
/* There has been a change in jpeg-9 : */
-#ifndef _WIN32
+#if !defined(HAVE_BOOLEAN) && !defined(_WIN32)
#define HAVE_BOOLEAN
+#endif
+#ifndef _WIN32
typedef int boolean;
#endif
+/* For jpegsrc.v09a: */
+#include <stdio.h>
#include <jpeglib.h>
#endif /* MNG_INCLUDE_IJG6B */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmng-2.0.2/libtool new/libmng-2.0.3/libtool
--- old/libmng-2.0.2/libtool 2013-03-05 14:44:17.000000000 +0100
+++ new/libmng-2.0.3/libtool 2015-04-20 21:13:37.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
# libtool - Provide generalized library-building support services.
-# Generated automatically by config.status (libmng-2.0.2) 2.0.2
+# Generated automatically by config.status (libmng-2.0.3) 2.0.3
# Libtool was configured on host mary:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
1
0
Hello community,
here is the log from the commit of package imlib2 for openSUSE:Factory checked in at 2015-04-30 11:49:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/imlib2 (Old)
and /work/SRC/openSUSE:Factory/.imlib2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "imlib2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/imlib2/imlib2.changes 2015-03-29 20:14:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.imlib2.new/imlib2.changes 2015-04-30 11:49:57.000000000 +0200
@@ -1,0 +2,28 @@
+Mon Apr 27 17:59:10 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 1.4.7
+ * Prevent division-by-zero crashes
+ * imlib_conv: Use proper buffer size to prevent invalid write of
+ size one
+ * loader_gif: Don't read uninitilized memory in case of invalid
+ input
+ * loader_gif(): Abort gif parsing if DGifGetLine() fails
+ * Fix segfault when opening input/queue/id:000007,src:000000,
+ op:flip1,pos:51 with feh
+ * Make IMAGE_DIMENSIONS_OK() more restrictive
+ * load_pnm: Deal with fread() errors consistently
+ * __imlib_LoadImage(): Additionally check loader_ret to detect
+ loader failures
+ * loader_tga: Abort file loading if the file obviously isn't
+ large enough
+ * imlib_save_image(): Check loader return code for errors
+ * loader_tga.c: Properly signal if decoding uncompressed BGRA
+ data failed
+ * loader_tga.c: Properly signal if decoding RLE compressed data
+ failed
+ * imlib_save_image_with_error_return(): Check loader return code
+ to prevent use of unitialized memor
+ * load_gif: Make sure rows isn't used partly unitialized
+- Drop imlib2-giflib5.patch
+
+-------------------------------------------------------------------
Old:
----
imlib2-1.4.6.tar.bz2
imlib2-giflib5.patch
New:
----
imlib2-1.4.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ imlib2.spec ++++++
--- /var/tmp/diff_new_pack.inmeOL/_old 2015-04-30 11:49:57.000000000 +0200
+++ /var/tmp/diff_new_pack.inmeOL/_new 2015-04-30 11:49:57.000000000 +0200
@@ -18,7 +18,7 @@
%define lname libImlib2-1
Name: imlib2
-Version: 1.4.6
+Version: 1.4.7
Release: 0
Summary: Image handling and conversion library
License: BSD-3-Clause
@@ -26,7 +26,6 @@
Url: http://sourceforge.net/projects/enlightenment/
Source: http://downloads.sourceforge.net/project/enlightenment/imlib2-src/%{version…
Patch1: imlib2-bswap.patch
-Patch2: imlib2-giflib5.patch
BuildRequires: freetype2-devel
BuildRequires: giflib-devel
BuildRequires: libid3tag-devel
@@ -98,7 +97,6 @@
%prep
%setup -q
%patch1
-%patch2 -p1
%build
%if 0%{?suse_version} >= 1140
++++++ imlib2-1.4.6.tar.bz2 -> imlib2-1.4.7.tar.bz2 ++++++
++++ 31054 lines of diff (skipped)
++++++ imlib2-bswap.patch ++++++
--- /var/tmp/diff_new_pack.inmeOL/_old 2015-04-30 11:49:58.000000000 +0200
+++ /var/tmp/diff_new_pack.inmeOL/_new 2015-04-30 11:49:58.000000000 +0200
@@ -1,3 +1,5 @@
+Index: src/lib/grab.c
+===================================================================
--- src/lib/grab.c.orig
+++ src/lib/grab.c
@@ -1,3 +1,7 @@
@@ -8,15 +10,15 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
-@@ -8,6 +12,7 @@
- #include <sys/shm.h>
+@@ -9,6 +13,7 @@
+
#include "grab.h"
#include "ximage.h"
+#include <byteswap.h>
static char _x_err = 0;
static DATA8 rtab[256], gtab[256], btab[256];
-@@ -54,14 +59,8 @@ __imlib_GrabXImageToRGBA(DATA32 * data,
+@@ -53,14 +58,8 @@ __imlib_GrabXImageToRGBA(DATA32 * data,
if ((depth == 24) && (xim->bits_per_pixel == 32))
depth = 25; /* fake depth meaning 24 bit in 32 bpp ximage */
/* data needs swapping */
@@ -33,6 +35,8 @@
#ifdef WORDS_BIGENDIAN
if (xim->bitmap_bit_order == LSBFirst)
+Index: src/modules/loaders/loader_argb.c
+===================================================================
--- src/modules/loaders/loader_argb.c.orig
+++ src/modules/loaders/loader_argb.c
@@ -1,10 +1,10 @@
@@ -52,9 +56,11 @@
char
load(ImlibImage * im, ImlibProgressFunction progress,
+Index: configure.ac
+===================================================================
--- configure.ac.orig
+++ configure.ac
-@@ -14,7 +14,9 @@ AM_CONFIG_HEADER(config.h)
+@@ -11,7 +11,9 @@ AM_INIT_AUTOMAKE(1.6 dist-bzip2)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_C_BIGENDIAN
@@ -64,7 +70,9 @@
+AC_SYS_LARGEFILE
AM_PROG_AS
- dnl Set default visibility to hidden?
+ AC_HEADER_STDC
+Index: src/lib/blend.c
+===================================================================
--- src/lib/blend.c.orig
+++ src/lib/blend.c
@@ -1,3 +1,7 @@
@@ -73,8 +81,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/color.c
+===================================================================
--- src/lib/color.c.orig
+++ src/lib/color.c
@@ -1,3 +1,7 @@
@@ -85,6 +95,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/lib/color_helpers.c
+===================================================================
--- src/lib/color_helpers.c.orig
+++ src/lib/color_helpers.c
@@ -1,3 +1,7 @@
@@ -95,6 +107,8 @@
#include "color_helpers.h"
/*
* Color space conversion helper routines
+Index: src/lib/colormod.c
+===================================================================
--- src/lib/colormod.c.orig
+++ src/lib/colormod.c
@@ -1,3 +1,7 @@
@@ -103,8 +117,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "file.h"
+
+ #include <math.h>
+Index: src/lib/context.c
+===================================================================
--- src/lib/context.c.orig
+++ src/lib/context.c
@@ -1,3 +1,7 @@
@@ -115,6 +131,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/lib/draw.c
+===================================================================
--- src/lib/draw.c.orig
+++ src/lib/draw.c
@@ -1,3 +1,7 @@
@@ -125,6 +143,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/lib/dynamic_filters.c
+===================================================================
--- src/lib/dynamic_filters.c.orig
+++ src/lib/dynamic_filters.c
@@ -1,3 +1,7 @@
@@ -133,8 +153,10 @@
+#endif
+
#include "common.h"
- #include <stdio.h>
- #include <stdlib.h>
+
+ #include <ctype.h>
+Index: src/lib/ellipse.c
+===================================================================
--- src/lib/ellipse.c.orig
+++ src/lib/ellipse.c
@@ -1,3 +1,7 @@
@@ -143,8 +165,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/file.c
+===================================================================
--- src/lib/file.c.orig
+++ src/lib/file.c
@@ -1,3 +1,7 @@
@@ -153,8 +177,10 @@
+#endif
+
#include "common.h"
- #include <stdio.h>
+
#include <ctype.h>
+Index: src/lib/filter.c
+===================================================================
--- src/lib/filter.c.orig
+++ src/lib/filter.c
@@ -1,3 +1,7 @@
@@ -163,16 +189,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
---- src/lib/format.c.orig
-+++ src/lib/format.c
-@@ -1 +1,5 @@
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "format.h"
+
+ #include "blend.h"
+Index: src/lib/grad.c
+===================================================================
--- src/lib/grad.c.orig
+++ src/lib/grad.c
@@ -1,3 +1,7 @@
@@ -181,8 +201,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "file.h"
+
+ #include <math.h>
+Index: src/lib/image.c
+===================================================================
--- src/lib/image.c.orig
+++ src/lib/image.c
@@ -1,3 +1,7 @@
@@ -191,8 +213,10 @@
+#endif
+
#include "common.h"
- #include <time.h>
- #include <string.h>
+
+ #include <ctype.h>
+Index: src/lib/line.c
+===================================================================
--- src/lib/line.c.orig
+++ src/lib/line.c
@@ -1,3 +1,7 @@
@@ -201,8 +225,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/polygon.c
+===================================================================
--- src/lib/polygon.c.orig
+++ src/lib/polygon.c
@@ -1,3 +1,7 @@
@@ -211,8 +237,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/rectangle.c
+===================================================================
--- src/lib/rectangle.c.orig
+++ src/lib/rectangle.c
@@ -1,3 +1,7 @@
@@ -221,8 +249,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/rend.c
+===================================================================
--- src/lib/rend.c.orig
+++ src/lib/rend.c
@@ -1,3 +1,7 @@
@@ -233,6 +263,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/lib/rgba.c
+===================================================================
--- src/lib/rgba.c.orig
+++ src/lib/rgba.c
@@ -1,3 +1,7 @@
@@ -243,6 +275,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/lib/rgbadraw.c
+===================================================================
--- src/lib/rgbadraw.c.orig
+++ src/lib/rgbadraw.c
@@ -1,3 +1,7 @@
@@ -251,8 +285,10 @@
+#endif
+
#include "common.h"
+
#include <math.h>
- #include "colormod.h"
+Index: src/lib/rotate.c
+===================================================================
--- src/lib/rotate.c.orig
+++ src/lib/rotate.c
@@ -1,3 +1,7 @@
@@ -261,8 +297,10 @@
+#endif
+
#include "common.h"
- #include "rotate.h"
+
#include "blend.h"
+Index: src/lib/scale.c
+===================================================================
--- src/lib/scale.c.orig
+++ src/lib/scale.c
@@ -1,3 +1,7 @@
@@ -271,8 +309,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include <assert.h>
+Index: src/lib/script.c
+===================================================================
--- src/lib/script.c.orig
+++ src/lib/script.c
@@ -1,3 +1,7 @@
@@ -281,8 +321,10 @@
+#endif
+
#include "common.h"
- #include <stdio.h>
- #include <stdlib.h>
+
+ #include <ctype.h>
+Index: src/lib/span.c
+===================================================================
--- src/lib/span.c.orig
+++ src/lib/span.c
@@ -1,3 +1,7 @@
@@ -291,8 +333,10 @@
+#endif
+
#include "common.h"
- #include "colormod.h"
- #include "image.h"
+
+ #include "blend.h"
+Index: src/lib/updates.c
+===================================================================
--- src/lib/updates.c.orig
+++ src/lib/updates.c
@@ -1,3 +1,7 @@
@@ -301,8 +345,10 @@
+#endif
+
#include "common.h"
- #include "updates.h"
+ #include "updates.h"
+Index: src/lib/ximage.c
+===================================================================
--- src/lib/ximage.c.orig
+++ src/lib/ximage.c
@@ -1,3 +1,7 @@
@@ -313,6 +359,8 @@
#include "common.h"
#ifdef BUILD_X11
#include <X11/Xlib.h>
+Index: src/modules/filters/filter_bumpmap.c
+===================================================================
--- src/modules/filters/filter_bumpmap.c.orig
+++ src/modules/filters/filter_bumpmap.c
@@ -1,3 +1,7 @@
@@ -323,6 +371,8 @@
#include "filter_common.h"
#include <string.h>
#include <math.h>
+Index: src/modules/filters/filter_colormod.c
+===================================================================
--- src/modules/filters/filter_colormod.c.orig
+++ src/modules/filters/filter_colormod.c
@@ -1,3 +1,7 @@
@@ -333,6 +383,8 @@
#include "filter_common.h"
#include <string.h>
#include <math.h>
+Index: src/modules/filters/filter_test.c
+===================================================================
--- src/modules/filters/filter_test.c.orig
+++ src/modules/filters/filter_test.c
@@ -1,3 +1,7 @@
@@ -342,7 +394,9 @@
+
#include "filter_common.h"
#include <string.h>
-
+ #include <Imlib2.h>
+Index: src/modules/loaders/loader_bmp.c
+===================================================================
--- src/modules/loaders/loader_bmp.c.orig
+++ src/modules/loaders/loader_bmp.c
@@ -8,6 +8,10 @@
@@ -356,6 +410,8 @@
#include "loader_common.h"
#include <sys/stat.h>
+Index: src/modules/loaders/loader_bz2.c
+===================================================================
--- src/modules/loaders/loader_bz2.c.orig
+++ src/modules/loaders/loader_bz2.c
@@ -1,3 +1,7 @@
@@ -366,6 +422,8 @@
#include "loader_common.h"
#include <bzlib.h>
#include <sys/types.h>
+Index: src/modules/loaders/loader_gif.c
+===================================================================
--- src/modules/loaders/loader_gif.c.orig
+++ src/modules/loaders/loader_gif.c
@@ -1,3 +1,7 @@
@@ -376,6 +434,8 @@
#include "loader_common.h"
#include <sys/types.h>
#include <sys/stat.h>
+Index: src/modules/loaders/loader_id3.c
+===================================================================
--- src/modules/loaders/loader_id3.c.orig
+++ src/modules/loaders/loader_id3.c
@@ -1,3 +1,7 @@
@@ -386,6 +446,8 @@
#include "loader_common.h"
#include <sys/types.h>
#include <sys/stat.h>
+Index: src/modules/loaders/loader_jpeg.c
+===================================================================
--- src/modules/loaders/loader_jpeg.c.orig
+++ src/modules/loaders/loader_jpeg.c
@@ -1,3 +1,7 @@
@@ -396,6 +458,8 @@
#include "loader_common.h"
#include <jpeglib.h>
#include <setjmp.h>
+Index: src/modules/loaders/loader_lbm.c
+===================================================================
--- src/modules/loaders/loader_lbm.c.orig
+++ src/modules/loaders/loader_lbm.c
@@ -11,6 +11,10 @@
@@ -409,6 +473,8 @@
#include "loader_common.h"
#define L2RLONG(a) ((((long)((a)[0]) & 0xff) << 24) + (((long)((a)[1]) & 0xff) << 16) + (((long)((a)[2]) & 0xff) << 8) + ((long)((a)[3]) & 0xff))
+Index: src/modules/loaders/loader_png.c
+===================================================================
--- src/modules/loaders/loader_png.c.orig
+++ src/modules/loaders/loader_png.c
@@ -1,3 +1,7 @@
@@ -419,6 +485,8 @@
#include "loader_common.h"
#include <png.h>
+Index: src/modules/loaders/loader_pnm.c
+===================================================================
--- src/modules/loaders/loader_pnm.c.orig
+++ src/modules/loaders/loader_pnm.c
@@ -1,3 +1,7 @@
@@ -429,6 +497,8 @@
#include "loader_common.h"
#include <ctype.h>
+Index: src/modules/loaders/loader_tga.c
+===================================================================
--- src/modules/loaders/loader_tga.c.orig
+++ src/modules/loaders/loader_tga.c
@@ -9,6 +9,10 @@
@@ -440,8 +510,10 @@
+#endif
+
#include "loader_common.h"
+ #include <fcntl.h>
#include <sys/stat.h>
- #include <sys/mman.h>
+Index: src/modules/loaders/loader_tiff.c
+===================================================================
--- src/modules/loaders/loader_tiff.c.orig
+++ src/modules/loaders/loader_tiff.c
@@ -1,6 +1,10 @@
@@ -455,6 +527,8 @@
#include "loader_common.h"
#include <setjmp.h>
#include <stdarg.h>
+Index: src/modules/loaders/loader_xpm.c
+===================================================================
--- src/modules/loaders/loader_xpm.c.orig
+++ src/modules/loaders/loader_xpm.c
@@ -1,3 +1,7 @@
@@ -465,6 +539,8 @@
#include "loader_common.h"
#include <sys/types.h>
#include <sys/stat.h>
+Index: src/modules/loaders/loader_zlib.c
+===================================================================
--- src/modules/loaders/loader_zlib.c.orig
+++ src/modules/loaders/loader_zlib.c
@@ -1,3 +1,7 @@
1
0
Hello community,
here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2015-04-30 11:49:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
and /work/SRC/openSUSE:Factory/.resource-agents.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "resource-agents"
Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes 2015-04-10 09:47:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.resource-agents.new/resource-agents.changes 2015-04-30 11:49:48.000000000 +0200
@@ -1,0 +2,23 @@
+Tue Apr 21 06:11:26 UTC 2015 - kgronlund(a)suse.com
+
+- Update to version 3.9.6+git.1429568091.f79322c:
+ + Medium: multiple: make sure that the pidfile directory exist
+ + orainstance.sh: Fix process name grep in exit_idle
+ + Low: pgsql: fix check_wal_receiver to prevent incorrect "ERROR" status display and output WARN log in the master
+ + Low: allow rgmanager lvm agent to handle hostname aliases
+ + Fix rmq_join_list to only return online nodes
+ + Medium: pgsql: Support replication slots
+ + Low: pgsql: add validation check for replication slot.
+ + Low: redis: smarter config argument default
+ + Fix: redis: reliable shutdown.
+ + Low: redis: loosen advertised default monitor timeout seconds
+ + Fix: redis: do not attempt to demote if redis is dead
+ + Low: redis: make sure to always delete master score on stop
+ + Low: redis: reconnect to new master after promotion
+ + High: redis: only connect to active master instances
+ + High: redis: wait_last_known_master option for redis agent.
+ + Low: redis: prevent bash syntax errors and lower priority some log messages
+ + High: galera: retrieve last sequence number without using read-only mode
+ + Fix return code in asterisk_monitor #2
+
+-------------------------------------------------------------------
Old:
----
resource-agents-3.9.6+git.1427133197.6897c9c.tar.xz
New:
----
resource-agents-3.9.6+git.1429568091.f79322c.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ resource-agents.spec ++++++
--- /var/tmp/diff_new_pack.wdnVcs/_old 2015-04-30 11:49:49.000000000 +0200
+++ /var/tmp/diff_new_pack.wdnVcs/_new 2015-04-30 11:49:49.000000000 +0200
@@ -48,7 +48,7 @@
Summary: Open Source HA Reusable Cluster Resource Scripts
License: GPL-2.0 and LGPL-2.1+ and GPL-3.0+
Group: Productivity/Clustering/HA
-Version: 3.9.6+git.1427133197.6897c9c
+Version: 3.9.6+git.1429568091.f79322c
Release: 0
Url: http://linux-ha.org/
Source: resource-agents-%{version}.tar.xz
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.wdnVcs/_old 2015-04-30 11:49:49.000000000 +0200
+++ /var/tmp/diff_new_pack.wdnVcs/_new 2015-04-30 11:49:49.000000000 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/resource-agents.git</param>
- <param name="changesrevision">6897c9c43948a71b865b8f9ca42103f180208f9d</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">f79322cf2ce0094c266515e9242dbdbde3a7db72</param></service></servicedata>
\ No newline at end of file
++++++ resource-agents-3.9.6+git.1427133197.6897c9c.tar.xz -> resource-agents-3.9.6+git.1429568091.f79322c.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/apache new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/apache
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/apache 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/apache 2015-04-21 08:11:26.000000000 +0200
@@ -593,6 +593,7 @@
ocf_exit_reason "Configuration file $CONFIGFILE not found!"
return $OCF_ERR_INSTALLED
fi
+ ocf_mkstatedir root 755 `dirname $PidFile` || return $OCF_ERR_INSTALLED
return $OCF_SUCCESS
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/asterisk new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/asterisk
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/asterisk 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/asterisk 2015-04-21 08:11:26.000000000 +0200
@@ -286,8 +286,13 @@
rc=$?
if [ $rc -ne 0 ]; then
- ocf_log err "Failed to connect to the Asterisk PBX"
- return $OCF_ERR_GENERIC
+ if [ "$__OCF_ACTION" = "start" ]; then
+ ocf_log info "Asterisk PBX not running yet"
+ return $OCF_NOT_RUNNING;
+ else
+ ocf_log err "Failed to connect to the Asterisk PBX"
+ return $OCF_ERR_GENERIC;
+ fi
fi
# Optionally check the monitor URI with sipsak
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/galera new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/galera
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/galera 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/galera 2015-04-21 08:11:26.000000000 +0200
@@ -443,19 +443,18 @@
ocf_exit_reason "Failure, Attempted to promote Master instance of $OCF_RESOURCE_INSTANCE before bootstrap node has been detected."
return $OCF_ERR_GENERIC
fi
-
fi
- # make sure the read only instance is stopped
- mysql_common_stop
- rc=$?
- if [ $rc -ne $OCF_SUCCESS ] && [ $rc -ne $OCF_NOT_RUNNING ]; then
- ocf_exit_reason "Failed to stop read-only galera instance during promotion to Master"
- return $rc
+ galera_monitor
+ if [ $? -eq $OCF_RUNNING_MASTER ]; then
+ if ocf_is_true $bootstrap; then
+ promote_everyone
+ clear_bootstrap_node
+ ocf_log info "boostrap node already up, promoting the rest of the galera instances."
+ fi
+ return $OCF_SUCCESS
fi
- sleep 4
-
mysql_common_prepare_dirs
mysql_common_start "$extra_opts"
rc=$?
@@ -510,14 +509,14 @@
# if this node was previously a bootstrap node, that is no longer the case.
clear_bootstrap_node
+ clear_last_commit
- # start again in slave mode so the new last commit is recorded
+ # record last commit by "starting" galera. start is just detection of the last sequence number
galera_start
}
galera_start()
{
- local extra_opts='--read-only=true'
local last_commit
echo $OCF_RESKEY_wsrep_cluster_address | grep -q $NODENAME
@@ -526,22 +525,39 @@
return $OCF_ERR_CONFIGURED
fi
- mysql_common_prepare_dirs
- mysql_common_start "$extra_opts"
-
- is_readonly
- if [ $? -ne 0 ]; then
- ocf_exit_reason "Slave instance did not start correctly in read-only mode, Make sure local galera.cnf does not have wsrep_cluster_address set."
+ galera_monitor
+ if [ $? -eq $OCF_RUNNING_MASTER ]; then
+ ocf_exit_reason "master galera instance started outside of the cluster's control"
return $OCF_ERR_GENERIC
fi
- ocf_log info "attempting to detect last commit version"
- while [ -z "$last_commit" ]; do
- last_commit=$(get_status_variable "wsrep_last_committed")
- if [ -z "$last_commit" ]; then
- sleep 1
+ mysql_common_prepare_dirs
+
+ ocf_log info "attempting to detect last commit version by reading ${OCF_RESKEY_datadir}/grastate.dat"
+ last_commit="$(cat ${OCF_RESKEY_datadir}/grastate.dat | sed -n 's/^seqno.\s*\(.*\)\s*$/\1/p')"
+ if [ -z "$last_commit" ] || [ "$last_commit" = "-1" ]; then
+ ocf_log info "now attempting to detect last commit version using 'mysqld_safe --wsrep-recover'"
+ local tmp=$(mktemp)
+ ${OCF_RESKEY_binary} --defaults-file=$OCF_RESKEY_config \
+ --pid-file=$OCF_RESKEY_pid \
+ --socket=$OCF_RESKEY_socket \
+ --datadir=$OCF_RESKEY_datadir \
+ --user=$OCF_RESKEY_user \
+ --wsrep-recover > $tmp 2>&1
+
+ last_commit="$(cat $tmp | sed -n 's/.*WSREP\:\s*[R|r]ecovered\s*position.*\:\(.*\)\s*$/\1/p')"
+ rm -f $tmp
+
+ if [ "$last_commit" = "-1" ]; then
+ last_commit="0"
fi
- done
+ fi
+
+ if [ -z "$last_commit" ]; then
+ ocf_exit_reason "Unable to detect last known write sequence number"
+ clear_last_commit
+ return $OCF_ERR_GENERIC
+ fi
ocf_log info "Last commit version found: $last_commit"
set_last_commit $last_commit
@@ -567,28 +583,40 @@
if ocf_is_probe; then
status_loglevel="info"
fi
-
+
mysql_common_status $status_loglevel
rc=$?
- # If status returned an error, return that immediately
- if [ $rc -ne $OCF_SUCCESS ]; then
+ if [ $rc -eq $OCF_NOT_RUNNING ]; then
+ last_commit=$(get_last_commit $node)
+ if [ -n "$last_commit" ]; then
+ # if last commit is set, this instance is considered started in slave mode
+ rc=$OCF_SUCCESS
+ master_exists
+ if [ $? -ne 0 ]; then
+ detect_first_master
+ else
+ # a master instance exists and is healthy, promote this
+ # local read only instance
+ # so it can join the master galera cluster.
+ set_master_score
+ fi
+ fi
+ return $rc
+ elif [ $rc -ne $OCF_SUCCESS ]; then
return $rc
fi
+ # if we make it here, mysql is running. Check cluster status now.
+
echo $OCF_RESKEY_wsrep_cluster_address | grep -q $NODENAME
if [ $? -ne 0 ]; then
ocf_exit_reason "local node <${NODENAME}> is started, but is not a member of the wsrep_cluster_address <${OCF_RESKEY_wsrep_cluster_address}>"
return $OCF_ERR_GENERIC
fi
- is_readonly
- if [ $? -ne 0 ]; then
- is_primary
- if [ $? -ne 0 ]; then
- ocf_exit_reason "local node <${NODENAME}> is neither in primary mode nor in read_only mode. Unknown state."
- return $OCF_ERR_GENERIC
- fi
+ is_primary
+ if [ $? -eq 0 ]; then
if ocf_is_probe; then
# restore master score during probe
@@ -596,18 +624,10 @@
set_master_score
fi
rc=$OCF_RUNNING_MASTER
- else
- master_exists
- if [ $? -ne 0 ]; then
- detect_first_master
- else
- # a master instance exists and is healthy, promote this
- # local read only instance
- # so it can join the master galera cluster.
- set_master_score
- fi
+ else
+ ocf_exit_reason "local node <${NODENAME}> is started, but not in primary mode. Unknown state."
+ rc=$OCF_ERR_GENERIC
fi
- # TODO look at what is done in the wait script
return $rc
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/named new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/named
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/named 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/named 2015-04-21 08:11:26.000000000 +0200
@@ -229,6 +229,9 @@
return $OCF_ERR_CONFIGURED
fi
+ # make sure that the pidfile directory exists
+ ocf_mkstatedir $OCF_RESKEY_named_user 755 `dirname $OCF_RESKEY_named_pidfile` || return $OCF_ERR_INSTALLED
+
return $OCF_SUCCESS
}
@@ -487,3 +490,5 @@
*)
exit $OCF_ERR_UNIMPLEMENTED;;
esac
+
+# vim:ts=4:sw=4:et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/ocf-shellfuncs.in new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/ocf-shellfuncs.in
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/ocf-shellfuncs.in 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/ocf-shellfuncs.in 2015-04-21 08:11:26.000000000 +0200
@@ -748,6 +748,87 @@
}
#
+# create a given status directory
+# if the directory path doesn't start with $HA_VARRUN, then
+# we return with error (most of the calls would be with the user
+# supplied configuration, hence we need to do necessary
+# protection)
+# used mostly for PID files
+#
+# usage: ocf_mkstatedir owner permissions path
+#
+# owner: user.group
+# permissions: permissions
+# path: directory path
+#
+# example:
+# ocf_mkstatedir named 755 `dirname $pidfile`
+#
+ocf_mkstatedir()
+{
+ local owner
+ local perms
+ local path
+
+ owner=$1
+ perms=$2
+ path=$3
+
+ test -d $path && return 0
+ [ $(id -u) = 0 ] || return 1
+
+ case $path in
+ $HA_VARRUN/*) : this path is ok ;;
+ *) ocf_log err "cannot create $path (does not start with $HA_VARRUN)"
+ return 1
+ ;;
+ esac
+
+ mkdir -p $path &&
+ chown $owner $path &&
+ chmod $perms $path
+}
+
+#
+# create a unique status directory in $HA_VARRUN
+# used mostly for PID files
+# the directory is by default set to
+# $HA_VARRUN/$OCF_RESOURCE_INSTANCE
+# the directory name is printed to stdout
+#
+# usage: ocf_unique_rundir owner permissions name
+#
+# owner: user.group (default: "root")
+# permissions: permissions (default: "755")
+# name: some unique string (default: "$OCF_RESOURCE_INSTANCE")
+#
+# to use the default either don't set the parameter or set it to
+# empty string ("")
+# example:
+#
+# STATEDIR=`ocf_unique_rundir named "" myownstatedir`
+#
+ocf_unique_rundir()
+{
+ local path
+ local owner
+ local perms
+ local name
+
+ owner=${1:-"root"}
+ perms=${2:-"755"}
+ name=${3:-"$OCF_RESOURCE_INSTANCE"}
+ path=$HA_VARRUN/$name
+ if [ ! -d $path ]; then
+ [ $(id -u) = 0 ] || return 1
+ mkdir -p $path &&
+ chown $owner $path &&
+ chmod $perms $path || return 1
+ fi
+ echo $path
+}
+
+#
# RA tracing may be turned on by setting OCF_TRACE_RA
# the trace output will be saved to OCF_TRACE_FILE, if set, or
# by default to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/pgsql new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/pgsql
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/pgsql 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/pgsql 2015-04-21 08:11:26.000000000 +0200
@@ -64,6 +64,7 @@
OCF_RESKEY_xlog_check_count_default="3"
OCF_RESKEY_crm_attr_timeout_default="5"
OCF_RESKEY_stop_escalate_in_slave_default=30
+OCF_RESKEY_replication_slot_name_default=""
: ${OCF_RESKEY_pgctl=${OCF_RESKEY_pgctl_default}}
: ${OCF_RESKEY_psql=${OCF_RESKEY_psql_default}}
@@ -96,6 +97,7 @@
: ${OCF_RESKEY_xlog_check_count=${OCF_RESKEY_xlog_check_count_default}}
: ${OCF_RESKEY_crm_attr_timeout=${OCF_RESKEY_crm_attr_timeout_default}}
: ${OCF_RESKEY_stop_escalate_in_slave=${OCF_RESKEY_stop_escalate_in_slave_default}}
+: ${OCF_RESKEY_replication_slot_name=${OCF_RESKEY_replication_slot_name_default}}
usage() {
cat <<EOF
@@ -361,6 +363,25 @@
<content type="boolean" default="${OCF_RESKEY_restart_on_promote_default}" />
</parameter>
+<parameter name="replication_slot_name" unique="0" required="0">
+<longdesc lang="en">
+Set this option when using replication slots.
+When the master node has 1 slave node,one replication slot would be created with the name "replication_slot_name".
+When the master node has 2 or more slave nodes,the replication slots would be created for each node, with the name adding the node name as postfix.
+For example, replication_slot_name is "sample" and 2 slaves which are "node_a" and "node_b" connect to
+their slots, the slots names are "sample_node_a" and "sample_node_b".
+
+pgsql RA doesn't monitor and delete the repliation slot.
+When the slave node has been disconnected in failure or the like, execute one of the following manually.
+Otherwise it may eventually cause a disk full because the master node will continue to accumulate the unsent WAL.
+1. recover and reconnect the slave node to the master node as soon as possible.
+2. delete the slot on the master node by following psql command.
+$ select pg_drop_replication_slot('replication_slot_name');
+</longdesc>
+<shortdesc lang="en">replication_slot_name</shortdesc>
+<content type="string" default="${OCF_RESKEY_replication_slot_name_default}" />
+</parameter>
+
<parameter name="tmpdir" unique="0" required="0">
<longdesc lang="en">
Path to temporary directory.
@@ -404,7 +425,10 @@
If this is true, RA checks wal_receiver process on monitor
and notifies its status using "(resource name)-receiver-status" attribute.
It's useful for checking whether PostgreSQL (hot standby) connects to primary.
-The attribute shows status as "normal" or "ERROR".
+The attribute shows status as "normal" or "normal (master)" or "ERROR".
+Note that if you configure PostgreSQL as master/slave resource, then
+wal receiver is not running in the master and the attribute shows status as
+"normal (master)" consistently because it is normal status.
</longdesc>
<shortdesc lang="en">check_wal_receiver</shortdesc>
<content type="boolean" default="${OCF_RESKEY_check_wal_receiver_default}" />
@@ -562,6 +586,17 @@
ocf_log debug "PostgreSQL still hasn't started yet. Waiting..."
done
+ # create replication slot on the master and slave nodes.
+ # creating slot on the slave node is in preparation for failover.
+ if use_replication_slot; then
+ create_replication_slot
+ rc=$?
+ if [ $rc -eq $OCF_ERR_GENERIC ]; then
+ ocf_exit_reason ocf_exit_reason "PostgreSQL can't create replication_slot."
+ return $OCF_ERR_GENERIC
+ fi
+ fi
+
ocf_log info "PostgreSQL is started."
return $rc
}
@@ -820,13 +855,21 @@
pgsql_wal_receiver_status() {
local PID
local receiver_parent_pids
+ local pgsql_real_monitor_status=$1
PID=`head -n 1 $PIDFILE`
receiver_parent_pids=`ps -ef | tr -s " " | grep "[w]al receiver process" | cut -d " " -f 3`
+
if echo "$receiver_parent_pids" | grep -q -w "$PID" ; then
attrd_updater -n "$PGSQL_WAL_RECEIVER_STATUS_ATTR" -v "normal" -q
return 0
fi
+
+ if [ $pgsql_real_monitor_status -eq "$OCF_RUNNING_MASTER" ]; then
+ attrd_updater -n "$PGSQL_WAL_RECEIVER_STATUS_ATTR" -v "normal (master)" -q
+ return 0
+ fi
+
attrd_updater -n "$PGSQL_WAL_RECEIVER_STATUS_ATTR" -v "ERROR" -q
ocf_log warn "wal receiver process is not running"
return 1
@@ -850,10 +893,6 @@
return $OCF_NOT_RUNNING
fi
- if ocf_is_true ${OCF_RESKEY_check_wal_receiver}; then
- pgsql_wal_receiver_status
- fi
-
if is_replication; then
#Check replication state
output=`su $OCF_RESKEY_pgdba -c "cd $OCF_RESKEY_pgdata; \
@@ -943,6 +982,11 @@
pgsql_real_monitor
rc=$?
+
+ if ocf_is_true ${OCF_RESKEY_check_wal_receiver}; then
+ pgsql_wal_receiver_status $rc
+ fi
+
if ! is_replication; then
return $rc
else
@@ -1226,6 +1270,82 @@
return 1
}
+use_replication_slot() {
+ if [ -n "$OCF_RESKEY_replication_slot_name" ]; then
+ return 0
+ fi
+
+ return 1
+}
+
+create_replication_slot_name() {
+ local number_of_nodes=0
+ local target
+ local replication_slot_name
+ local replication_slot_name_list_tmp
+ local replication_slot_name_list
+
+ if [ -n "$NODE_LIST" ]; then
+ number_of_nodes=`echo $NODE_LIST | wc -w`
+ fi
+
+ # If the number of nodes 2 or less, Master node has 1 or less Slave node.
+ # The Master node should have 1 slot for the Slave, which is named "$OCF_RES_KEY_replication_slot_name".
+ if [ $number_of_nodes -le 2 ]; then
+ replication_slot_name_list="$OCF_RESKEY_replication_slot_name"
+
+ # If the number of nodes 3 or more, the Master has some Slave nodes.
+ # The Master node should have some slots equal to the number of Slaves, and
+ # the Slave nodes connect to their dedicated slot on the Master.
+ # To ensuring that the slots name are each unique, add postfix to $OCF_RESKEY_replication_slot.
+ # The postfix is "_$target".
+ else
+ for target in $NODE_LIST
+ do
+ if [ "$target" != "$NODENAME" ]; then
+ replication_slot_name="$OCF_RESKEY_replication_slot_name"_"$target"
+ replication_slot_name_list_tmp="$replication_slot_name_list"
+ replication_slot_name_list="$replication_slot_name_list_tmp $replication_slot_name"
+ fi
+ done
+ fi
+
+ echo $replication_slot_name_list
+}
+
+create_replication_slot() {
+ local replication_slot_name
+ local replication_slot_name_list
+ local output
+ local rc
+ local CREATE_REPLICATION_SLOT_sql
+
+ replication_slot_name_list=`create_replication_slot_name`
+ ocf_log debug "replication slot names are $replication_slot_name_list."
+
+ for replication_slot_name in $replication_slot_name_list
+ do
+ # create replication slot when the same name slot is not exists.
+ # If the same name slot is already exists, don't create new slot and reuse the old slot.
+ CREATE_REPLICATION_SLOT_sql="SELECT pg_create_physical_replication_slot('$replication_slot_name') \
+ FROM (VALUES (1)) AS t \
+ WHERE NOT EXISTS (SELECT * FROM pg_replication_slots WHERE slot_name = '$replication_slot_name');"
+
+ output=`su $OCF_RESKEY_pgdba -c "cd $OCF_RESKEY_pgdata; \
+ $OCF_RESKEY_psql $psql_options -U $OCF_RESKEY_pgdba \
+ -Atc \"$CREATE_REPLICATION_SLOT_sql\""`
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ ocf_log info "PostgreSQL creates or alredy exist the replication slot($replication_slot_name)"
+ else
+ ocf_exit_reason "$output"
+ return $OCF_ERR_GENERIC
+ fi
+ done
+
+ return 0
+}
+
get_my_location() {
local rc
local output
@@ -1340,6 +1460,8 @@
}
user_recovery_conf() {
+ local number_of_nodes
+
# put archive_cleanup_command and recovery_end_command only when defined by user
if [ -n "$OCF_RESKEY_archive_cleanup_command" ]; then
echo "archive_cleanup_command = '${OCF_RESKEY_archive_cleanup_command}'"
@@ -1347,6 +1469,15 @@
if [ -n "$OCF_RESKEY_recovery_end_command" ]; then
echo "recovery_end_command = '${OCF_RESKEY_recovery_end_command}'"
fi
+
+ if use_replication_slot; then
+ number_of_nodes=`echo $NODE_LIST | wc -w`
+ if [ $number_of_nodes -le 2 ]; then
+ echo "primary_slot_name = '${OCF_RESKEY_replication_slot_name}'"
+ else
+ echo "primary_slot_name = '${OCF_RESKEY_replication_slot_name}_$NODENAME'"
+ fi
+ fi
}
make_recovery_conf() {
@@ -1688,6 +1819,14 @@
return $OCF_ERR_CONFIGURED
fi
fi
+
+ if use_replication_slot; then
+ ocf_version_cmp "$version" "9.4"
+ if [ $? -eq 0 -o $? -eq 3 ]; then
+ ocf_exit_reason "Replication slot needs PostgreSQL 9.4 or higher."
+ return $OCF_ERR_CONFIGURED
+ fi
+ fi
return $OCF_SUCCESS
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/rabbitmq-cluster new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/rabbitmq-cluster
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/rabbitmq-cluster 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/rabbitmq-cluster 2015-04-21 08:11:26.000000000 +0200
@@ -104,7 +104,7 @@
rmq_join_list()
{
- cibadmin -Q 2>/dev/null | grep "$RMQ_CRM_ATTR_COOKIE" | sed -n -e "s/^.*value=.\(.*\)\".*$/\1/p"
+ cibadmin -Q --xpath "//node_state[@crmd='online']//nvpair[@name='$RMQ_CRM_ATTR_COOKIE']" | grep "$RMQ_CRM_ATTR_COOKIE" | sed -n -e "s/^.*value=.\(.*\)\".*$/\1/p"
}
rmq_write_nodename()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/redis new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/redis
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/redis 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/redis 2015-04-21 08:11:26.000000000 +0200
@@ -4,13 +4,22 @@
: ${OCF_RESKEY_bin:=/usr/bin/redis-server}
: ${OCF_RESKEY_client_bin:=/usr/bin/redis-cli}
-: ${OCF_RESKEY_config:=/etc/redis/redis.conf}
: ${OCF_RESKEY_user:=redis}
: ${OCF_RESKEY_rundir:=/var/run/redis}
: ${OCF_RESKEY_pidfile_name:=redis-server.pid}
: ${OCF_RESKEY_socket_name:=redis.sock}
: ${OCF_RESKEY_port:=6379}
+if [ -z "$OCF_RESKEY_config" ]; then
+ if [ -f "/etc/redis.conf" ]; then
+ OCF_RESKEY_config="/etc/redis.conf"
+ else
+ OCF_RESKEY_config="/etc/redis/redis.conf"
+ fi
+fi
+
+CHECK_SLAVE_STATE=0
+
REDIS_SERVER="$OCF_RESKEY_bin"
REDIS_CLIENT="$OCF_RESKEY_client_bin"
REDIS_CONFIG="$OCF_RESKEY_config"
@@ -102,15 +111,26 @@
<shortdesc lang="en">Replication port</shortdesc>
<content type="string" default="${OCF_RESKEY_port}"/>
</parameter>
+
+<parameter name="wait_last_known_master" unique="0" required="0">
+<longdesc lang="en">
+During redis cluster bootstrap, wait for the last known master to be
+promoted before allowing any other instances in the cluster to be
+promoted. This lessens the risk of data loss when persistent data
+is in use.
+</longdesc>
+<shortdesc lang="en">Wait for last known master</shortdesc>
+<content type="boolean" default="false"/>
+</parameter>
</parameters>
<actions>
<action name="start" timeout="120" />
<action name="stop" timeout="120" />
<action name="status" timeout="60" />
-<action name="monitor" depth="0" timeout="30" interval="20" />
-<action name="monitor" role="Master" depth="0" timeout="30" interval="20" />
-<action name="monitor" role="Slave" depth="0" timeout="30" interval="60" />
+<action name="monitor" depth="0" timeout="60" interval="45" />
+<action name="monitor" role="Master" depth="0" timeout="60" interval="20" />
+<action name="monitor" role="Slave" depth="0" timeout="60" interval="60" />
<action name="promote" timeout="120" />
<action name="demote" timeout="120" />
<action name="notify" timeout="90" />
@@ -121,21 +141,110 @@
EOI
}
+INSTANCE_ATTR_NAME=`echo ${OCF_RESOURCE_INSTANCE}| awk -F : '{print $1}'`
+CRM_ATTR_REPL_INFO="${HA_SBIN_DIR}/crm_attribute --type crm_config --name ${INSTANCE_ATTR_NAME}_REPL_INFO -s redis_replication"
+MASTER_HOST=""
+MASTER_ACTIVE_CACHED=""
+MASTER_ACTIVE=""
+
+master_is_active()
+{
+ if [ -z "$MASTER_ACTIVE_CACHED" ]; then
+ # determine if a master instance is already up and is healthy
+ crm_mon --as-xml | grep "resource.*id=\"${OCF_RESOURCE_INSTANCE}\".*role=\"Master\".*active=\"true\".*orphaned=\"false\".*failed=\"false\"" > /dev/null 2>&1
+ MASTER_ACTIVE=$?
+ MASTER_ACTIVE_CACHED="true"
+ fi
+ return $MASTER_ACTIVE
+}
+
+function set_master()
+{
+ MASTER_HOST="$1"
+ ${CRM_ATTR_REPL_INFO} -v "$1" -q
+}
+
+function last_known_master()
+{
+ if [ -z "$MASTER_HOST" ]; then
+ MASTER_HOST="$(${CRM_ATTR_REPL_INFO} --query -q 2>/dev/null)"
+ fi
+ echo "$MASTER_HOST"
+}
+
function crm_master_reboot() {
"${HA_SBIN_DIR}/crm_master" -l reboot "$@"
}
+function calculate_score()
+{
+ perf_score="$1"
+ connected_clients="$2"
+
+ if ocf_is_true "$OCF_RESKEY_wait_last_known_master"; then
+ # only set perferred score by slave_priority if
+ # we are not waiting for the last known master. Otherwise
+ # we want the agent to have complete control over the scoring.
+ perf_score=""
+ connected_clients="0"
+ fi
+
+ if [[ -z "$perf_score" ]]; then
+ if [[ "$(last_known_master)" == "$NODENAME" ]]; then
+ perf_score=1000
+ else
+ perf_score=1
+ fi
+ fi
+ perf_score=$(( perf_score + connected_clients ))
+ echo "$perf_score"
+}
+
+function set_score()
+{
+ local score="$1"
+
+ if ocf_is_true "$OCF_RESKEY_wait_last_known_master" && ! master_is_active; then
+ local last_master="$(last_known_master)"
+ if [ -n "$last_master" ] && [[ "$last_master" != "$NODENAME" ]]; then
+ ocf_log info "Postponing setting master score for ${NODENAME} until last known master instance [${last_master}] is promoted"
+ return
+ fi
+ fi
+
+ ocf_log debug "monitor: Setting master score to '$score'"
+ crm_master_reboot -v "$score"
+}
+
function redis_client() {
ocf_log debug "redis_client: '$REDIS_CLIENT' -s '$REDIS_SOCKET' $@"
"$REDIS_CLIENT" -s "$REDIS_SOCKET" "$@" | sed 's/\r//'
}
-function monitor() {
+function simple_status() {
+ local pid
+
+ if ! [ -f "$REDIS_PIDFILE" ]; then
+ return $OCF_NOT_RUNNING
+ fi
+
pid="$(<"$REDIS_PIDFILE")"
pidof "$REDIS_SERVER" | grep -q "\<$pid\>" || return $OCF_NOT_RUNNING
ocf_log debug "monitor: redis-server running under pid $pid"
+ return $OCF_SUCCESS
+}
+
+function monitor() {
+ local res
+
+ simple_status
+ res=$?
+ if (( res != OCF_SUCCESS )); then
+ return $res
+ fi
+
typeset -A info
while read line; do
[[ "$line" == "#"* ]] && continue
@@ -144,7 +253,6 @@
info[$key]="$value"
done < <(redis_client info)
if [[ -z "${info[role]}" ]]; then
- pidof "$REDIS_SERVER" | grep -q "\<$pid\>" || return $OCF_NOT_RUNNING
ocf_log err "monitor: Could not get role from \`$REDIS_CLIENT -s $REDIS_SOCKET info\`"
return $OCF_ERR_GENERIC
fi
@@ -154,32 +262,26 @@
# If score isn't set we the redis setting 'slave_priority'.
# If that isn't set, we default to 1000 for a master, and 1 for slave.
# We then add 1 for each connected client
- score="$(crm_master_reboot --get-value --quiet)"
+ score="$(crm_master_reboot --get-value --quiet 2>/dev/null)"
if [[ -z "$score" ]]; then
- score="${info[slave_priority]}"
- if [[ -z "$score" ]]; then
- if [[ "${info[role]}" == "master" ]]; then
- score=1000
- else
- score=1
- fi
- fi
- score=$(( score + info[connected_clients] ))
- ocf_log debug "monitor: Setting master score to '$score'"
- crm_master_reboot -v "$score"
+ score=$(calculate_score "${info[slave_priority]}" "${info[connected_clients]}")
+ set_score "$score"
fi
if [[ "${info[role]}" == "master" ]]; then
+ if ocf_is_probe; then
+ set_master "$NODENAME"
+ fi
return $OCF_RUNNING_MASTER
fi
- if [[ -n "$CHECK_SLAVE_STATE" ]]; then
+ if [ "$CHECK_SLAVE_STATE" -eq 1 ]; then
if [[ "${info[master_link_status]}" != "up" ]]; then
- ocf_log err "monitor: Slave mode link has failed (link=${info[master_link_status]})"
+ ocf_log info "monitor: Slave mode link has not yet been established (link=${info[master_link_status]})"
return $OCF_ERR_GENERIC
fi
- if [[ "${info[master_host]}" != "${OCF_RESKEY_CRM_meta_notify_master_uname}" ]]; then
- ocf_log err "monitor: Slave mode current master does not match running master. current=${info[master_host]}, running=${OCF_RESKEY_CRM_meta_notify_master_uname}"
+ if [[ "${info[master_host]}" != "$(last_known_master)" ]]; then
+ ocf_log err "monitor: Slave mode current master does not match running master. current=${info[master_host]}, running=$(last_known_master)"
return $OCF_ERR_GENERIC
fi
fi
@@ -246,6 +348,7 @@
if (( status == OCF_NOT_RUNNING )); then
ocf_log info "stop: redis is already stopped"
+ crm_master_reboot -D
return $OCF_SUCCESS
fi
@@ -253,16 +356,12 @@
kill -TERM "$pid"
while true; do
- monitor
+ simple_status
status=$?
if (( status == OCF_NOT_RUNNING )); then
crm_master_reboot -D
return $OCF_SUCCESS
fi
- if (( status != OCF_RUNNING_MASTER )) && (( status != OCF_SUCCESS )) && (( status != OCF_ERR_GENERIC )); then # we allow OCF_ERR_GENERIC because monitor can generate an error if we probe redis in the middle of shutdown (the socket won't be responding but the process is up)
- ocf_log err "stop: Unknown error while stopping"
- return $OCF_ERR_GENERIC
- fi
sleep 1
done
}
@@ -273,6 +372,7 @@
if (( status == OCF_RUNNING_MASTER )); then
ocf_log info "promote: Already running as master"
+ set_master "$NODENAME"
return $OCF_SUCCESS
elif (( status != OCF_SUCCESS )); then
ocf_log err "promote: Node is not running as a slave"
@@ -284,6 +384,7 @@
monitor
status=$?
if (( status == OCF_RUNNING_MASTER )); then
+ set_master "$NODENAME"
return $OCF_SUCCESS
fi
@@ -292,22 +393,33 @@
}
function demote() {
- CHECK_SLAVE_STATE=1 monitor
+ local master_host
+ local master_port
+
+ CHECK_SLAVE_STATE=1
+ monitor
status=$?
if (( status == OCF_SUCCESS )); then
ocf_log info "demote: Already running as slave"
return $OCF_SUCCESS
+ elif (( status == OCF_NOT_RUNNING )); then
+ ocf_log err "demote: Failed to demote, redis not running."
+ return $OCF_NOT_RUNNING
fi
- master_host="${OCF_RESKEY_CRM_meta_notify_promote_uname// /}"
- : "${master_host:=${OCF_RESKEY_CRM_meta_notify_master_uname// /}}"
+ master_host="$(last_known_master)"
master_port="${REDIS_REPLICATION_PORT}"
# The elected master has to remain a slave during startup.
# During this period a placeholder master host is assigned.
- current_host="$(crm_node -n)"
- if [[ "$master_host" == "$current_host" ]]; then
+ if [ -z "$master_host" ] || [[ "$master_host" == "$NODENAME" ]]; then
+ CHECK_SLAVE_STATE=0
+ master_host="no-such-master"
+ elif ! master_is_active; then
+ # no master has been promoted yet. we'll be notified when the
+ # master starts.
+ CHECK_SLAVE_STATE=0
master_host="no-such-master"
fi
@@ -315,12 +427,17 @@
redis_client slaveof "$master_host" "$master_port"
- monitor
- status=$?
+ # wait briefly for the slave to connect to the master
+ for (( c=1; c <= 20; c++ ))
+ do
+ monitor
+ status=$?
+ if (( status == OCF_SUCCESS )); then
+ return $OCF_SUCCESS
+ fi
+ sleep 1
+ done
- if (( status == OCF_SUCCESS )); then
- return $OCF_SUCCESS
- fi
ocf_log err "demote: Unexpected error setting slave mode (status=$status)"
return $OCF_ERR_GENERIC
}
@@ -332,6 +449,8 @@
monitor
status=$?
if (( status == OCF_SUCCESS )); then # were a slave
+ # calling demote updates the slave's connection
+ # to the newly appointed Master instance.
demote
fi
;;
@@ -358,6 +477,8 @@
fi
}
+NODENAME=$(ocf_local_nodename)
+
ocf_log debug "action=${1:-$__OCF_ACTION} notify_type=${OCF_RESKEY_CRM_meta_notify_type} notify_operation=${OCF_RESKEY_CRM_meta_notify_operation} master_host=${OCF_RESKEY_CRM_meta_notify_master_uname} slave_host=${OCF_RESKEY_CRM_meta_notify_slave_uname} promote_host=${OCF_RESKEY_CRM_meta_notify_promote_uname} demote_host=${OCF_RESKEY_CRM_meta_notify_demote_uname}; params: bin=${OCF_RESKEY_bin} client_bin=${OCF_RESKEY_client_bin} config=${OCF_RESKEY_config} user=${OCF_RESKEY_user} rundir=${OCF_RESKEY_rundir} port=${OCF_RESKEY_port}"
case "${1:-$__OCF_ACTION}" in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/zabbixserver new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/zabbixserver
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/heartbeat/zabbixserver 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/heartbeat/zabbixserver 2015-04-21 08:11:26.000000000 +0200
@@ -130,26 +130,6 @@
}
#
-# Check if PID directory exists
-#
-check_piddir() {
- local piddir
- local severity
-
- # lower severity to info during probe
- severity=err
- ocf_is_probe && severity=info
-
- piddir=`dirname ${OCF_RESKEY_pid}`
- if [ ! -d $piddir ]; then
- ocf_log $severity "PID directory ${piddir} doesn't exist"
- return 1
- fi
-
- return 0
-}
-
-#
# Check for the server configuration file
#
check_config() {
@@ -322,9 +302,8 @@
# validate configuration
#
zabbixserver_validate_all() {
- check_piddir || return $OCF_ERR_INSTALLED
check_config $OCF_RESKEY_config || return $OCF_ERR_INSTALLED
-
+ ocf_mkstatedir root 755 `dirname $OCF_RESKEY_pid` || return $OCF_ERR_INSTALLED
return $OCF_SUCCESS
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/orainstance.sh new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/orainstance.sh
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/orainstance.sh 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/orainstance.sh 2015-04-21 08:11:26.000000000 +0200
@@ -216,7 +216,7 @@
declare -i n=0
ocf_log debug "Waiting for Oracle processes for $ORACLE_SID to terminate..."
- while ps ax | grep $ORACLE_SID | grep -v grep | grep -q -v $LSNR_PROCNAME; do
+ while ps ax | grep ora_.*_${ORACLE_SID} | grep -v grep | grep -q -v $LSNR_PROCNAME; do
if [ $n -ge 90 ]; then
ocf_log debug "Timed out while waiting for Oracle processes for $ORACLE_SID to terminate"
force_cleanup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/postgres-8.metadata new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/postgres-8.metadata
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/postgres-8.metadata 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/postgres-8.metadata 2015-04-21 08:11:26.000000000 +0200
@@ -51,18 +51,6 @@
<content type="string" default="-D /var/lib/pgsql/data"/>
</parameter>
- <parameter name="shutdown_wait">
- <longdesc lang="en">
- Wait X seconds for correct end of service shutdown.
- This option is ignored in current release.
- </longdesc>
- <shortdesc lang="en">
- Wait X seconds for correct end of service shutdown
- This option is ignored in current release.
- </shortdesc>
- <content type="integer" />
- </parameter>
-
<parameter name="startup_wait">
<longdesc lang="en">
Wait X seconds for correct end of service startup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/utils/fs-lib.sh new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/utils/fs-lib.sh
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/utils/fs-lib.sh 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/utils/fs-lib.sh 2015-04-21 08:11:26.000000000 +0200
@@ -763,7 +763,7 @@
# Agent-specific force unmount logic, if required
-# return = nonzero if successful, or 0 if unsuccessful
+# return = 0 if successful, or nonzero if unsuccessful
# (unsuccessful = try harder)
do_force_unmount() {
return 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/utils/member_util.sh new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/utils/member_util.sh
--- old/resource-agents-3.9.6+git.1427133197.6897c9c/rgmanager/src/resources/utils/member_util.sh 2015-04-07 15:45:11.000000000 +0200
+++ new/resource-agents-3.9.6+git.1429568091.f79322c/rgmanager/src/resources/utils/member_util.sh 2015-04-21 08:11:26.000000000 +0200
@@ -30,6 +30,9 @@
#
is_node_member_clustat()
{
+ local node="$1"
+ local output_list
+
# Still having a tag while (a) online but (b) not running pacemaker
# (e.g. crm_node) or rgmanager not considered adequate for things like
# the LVM agent - so we use corosync-quorumtool instead. The function
@@ -51,8 +54,19 @@
# 1 1 rhel7-1.priv.redhat.com
# 2 1 rhel7-2.priv.redhat.com
#
- corosync-quorumtool -l | grep -v "^Nodeid" | grep -i " $1\$" &> /dev/null
- return $?
+
+ output_list=$(corosync-quorumtool -l | grep -v "^Nodeid")
+
+ # first try searching for the node in the output as both a FQDN or shortname
+ echo "$output_list" | grep -i -e " $node\$" -e " $node\..*\$" &> /dev/null && return 0
+
+ # if the node was not found in the quorum list, try any known aliases found in /etc/hosts
+ for alias in $(cat /etc/hosts | grep -e "\s$node\s" -e "\s$node\$" | tail -n 1 | sed 's/\t/ /g' | cut -f2- -d " ");
+ do
+ echo "$output_list" | grep -i -e " $alias\$" &> /dev/null && return 0
+ done
+
+ return 1
}
1
0
Hello community,
here is the log from the commit of package alsa-utils for openSUSE:Factory checked in at 2015-04-30 11:49:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-utils (Old)
and /work/SRC/openSUSE:Factory/.alsa-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-utils/alsa-utils.changes 2015-03-05 18:15:42.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.alsa-utils.new/alsa-utils.changes 2015-04-30 11:49:40.000000000 +0200
@@ -1,0 +2,9 @@
+Mon Apr 27 21:41:13 CEST 2015 - tiwai(a)suse.de
+
+- Backport upstream fixes, including the fix for alsa-info
+ (boo#928394):
+ 0001-amixer-Don-t-set-only-the-first-item-in-sset_enum.patch
+ 0002-amixer-expand-local-storage-for-item-name-according-.patch
+ 0003-alsa-info-Don-t-try-update-when-wget-isn-t-available.patch
+
+-------------------------------------------------------------------
New:
----
0001-amixer-Don-t-set-only-the-first-item-in-sset_enum.patch
0002-amixer-expand-local-storage-for-item-name-according-.patch
0003-alsa-info-Don-t-try-update-when-wget-isn-t-available.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-utils.spec ++++++
--- /var/tmp/diff_new_pack.fb79iX/_old 2015-04-30 11:49:41.000000000 +0200
+++ /var/tmp/diff_new_pack.fb79iX/_new 2015-04-30 11:49:41.000000000 +0200
@@ -45,6 +45,9 @@
Source1: 01beep.conf
# Patch: alsa-utils-git-fixes.diff
# upstream fix patches
+Patch1: 0001-amixer-Don-t-set-only-the-first-item-in-sset_enum.patch
+Patch2: 0002-amixer-expand-local-storage-for-item-name-according-.patch
+Patch3: 0003-alsa-info-Don-t-try-update-when-wget-isn-t-available.patch
#
Patch99: alsa-utils-gettext-version-removal.diff
BuildRequires: alsa-devel
@@ -72,6 +75,9 @@
sed -i -e's/EXTRA_DIST= config.rpath /EXTRA_DIST=/' Makefile.am
# rm -f po/Makefile* po/*.gmo po/*.pot po/*.header po/stamp-*
# patch -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
#
%if 0%{?suse_version} < 1020
%patch99 -p1
++++++ 0001-amixer-Don-t-set-only-the-first-item-in-sset_enum.patch ++++++
>From 1a19ec15385033b59ebfffec954034680575a003 Mon Sep 17 00:00:00 2001
From: Peter Meerwald <p.meerwald(a)bct-electronic.com>
Date: Tue, 3 Mar 2015 18:39:52 +0100
Subject: [PATCH 1/3] amixer: Don't set only the first item in sset_enum()
Signed-off-by: Peter Meerwald <pmeerw(a)pmeerw.net>
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
amixer/amixer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index ed60e7c3a960..36c92eb99bc9 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -1278,7 +1278,7 @@ static int get_enum_item_index(snd_mixer_elem_t *elem, char **ptrp)
static int sset_enum(snd_mixer_elem_t *elem, unsigned int argc, char **argv)
{
- unsigned int idx, chn = 0;
+ unsigned int idx, item = 0;
int check_flag = ignore_error ? 0 : -1;
for (idx = 1; idx < argc; idx++) {
@@ -1287,7 +1287,7 @@ static int sset_enum(snd_mixer_elem_t *elem, unsigned int argc, char **argv)
int ival = get_enum_item_index(elem, &ptr);
if (ival < 0)
return check_flag;
- if (snd_mixer_selem_set_enum_item(elem, chn, ival) >= 0)
+ if (snd_mixer_selem_set_enum_item(elem, item++, ival) >= 0)
check_flag = 1;
/* skip separators */
while (*ptr == ',' || isspace(*ptr))
--
2.3.5
++++++ 0002-amixer-expand-local-storage-for-item-name-according-.patch ++++++
>From f3abdeea00ef7cc07cb44aa43701a278b9c4692f Mon Sep 17 00:00:00 2001
From: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
Date: Thu, 9 Apr 2015 01:30:56 +0900
Subject: [PATCH 2/3] amixer: expand local storage for item name according to
kernel code
According to kernel code (snd_ctl_elem_init_enum_names() in
sound/core/control.c), the maximum length of item name is 63 characters
(+ 1 terminator = 64 bytes). But current amixer implementation
uses 40 bytes. This causes name truncation and fail to operation.
This commit fixes this bug by expanding the length of local variables.
Signed-off-by: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
amixer/amixer.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index 36c92eb99bc9..db1849333da3 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -812,7 +812,11 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
if (snd_mixer_selem_is_enumerated(elem)) {
int i, items;
unsigned int idx;
- char itemname[40];
+ /*
+ * See snd_ctl_elem_init_enum_names() in
+ * sound/core/control.c.
+ */
+ char itemname[64];
items = snd_mixer_selem_get_enum_items(elem);
printf(" Items:");
for (i = 0; i < items; i++) {
@@ -1255,7 +1259,9 @@ static int get_enum_item_index(snd_mixer_elem_t *elem, char **ptrp)
{
char *ptr = *ptrp;
int items, i, len;
- char name[40];
+
+ /* See snd_ctl_elem_init_enum_names() in sound/core/control.c. */
+ char name[64];
items = snd_mixer_selem_get_enum_items(elem);
if (items <= 0)
@@ -1264,6 +1270,7 @@ static int get_enum_item_index(snd_mixer_elem_t *elem, char **ptrp)
for (i = 0; i < items; i++) {
if (snd_mixer_selem_get_enum_item_name(elem, i, sizeof(name)-1, name) < 0)
continue;
+
len = strlen(name);
if (! strncmp(name, ptr, len)) {
if (! ptr[len] || ptr[len] == ',' || ptr[len] == '\n') {
--
2.3.5
++++++ 0003-alsa-info-Don-t-try-update-when-wget-isn-t-available.patch ++++++
>From 8188c2466a7d2179aba4e243ff2b85363961f9f1 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Mon, 27 Apr 2015 21:27:05 +0200
Subject: [PATCH 3/3] alsa-info: Don't try update when wget isn't available
... otherwise it overwrites a zero size file. Also add a check of
zero size file in the update procedure, too.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
alsa-info/alsa-info.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/alsa-info/alsa-info.sh b/alsa-info/alsa-info.sh
index acd849588141..0bc4cd0612fb 100755
--- a/alsa-info/alsa-info.sh
+++ b/alsa-info/alsa-info.sh
@@ -35,6 +35,8 @@ BGTITLE="ALSA-Info v $SCRIPT_VERSION"
PASTEBINKEY="C9cRIO8m/9y8Cs0nVs0FraRx7U0pHsuc"
#Define some simple functions
+WGET=$(which wget 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
+
pbcheck(){
[[ $UPLOAD = "no" ]] && return
@@ -46,10 +48,12 @@ pbcheck(){
}
update() {
+ test -z "$WGET" -o ! -x "$WGET" && return
+
SHFILE=`mktemp -t alsa-info.XXXXXXXXXX` || exit 1
wget -O $SHFILE "http://www.alsa-project.org/alsa-info.sh" >/dev/null 2>&1
REMOTE_VERSION=`grep SCRIPT_VERSION $SHFILE |head -n1 |sed 's/.*=//'`
- if [ "$REMOTE_VERSION" != "$SCRIPT_VERSION" ]; then
+ if [ -s "$SHFILE" -a "$REMOTE_VERSION" != "$SCRIPT_VERSION" ]; then
if [[ -n $DIALOG ]]
then
OVERWRITE=
@@ -831,8 +835,7 @@ if [ "$UPLOAD" = "no" ]; then
fi # UPLOAD
#Test that wget is installed, and supports --post-file. Upload $FILE if it does, and prompt user to upload file if it doesnt.
-if
-WGET=$(which wget 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null); [[ -n "${WGET}" ]] && [[ -x "${WGET}" ]] && [[ `wget --help |grep post-file` ]]
+if [[ -n "${WGET}" ]] && [[ -x "${WGET}" ]] && [[ `wget --help |grep post-file` ]]
then
if [[ -n $DIALOG ]]
--
2.3.5
1
0
Hello community,
here is the log from the commit of package tcpdump for openSUSE:Factory checked in at 2015-04-30 11:49:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tcpdump (Old)
and /work/SRC/openSUSE:Factory/.tcpdump.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcpdump"
Changes:
--------
--- /work/SRC/openSUSE:Factory/tcpdump/tcpdump.changes 2015-04-22 01:14:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.tcpdump.new/tcpdump.changes 2015-04-30 11:49:29.000000000 +0200
@@ -1,0 +2,9 @@
+Sun Apr 26 18:51:40 UTC 2015 - astieger(a)suse.com
+
+- tcpdump 4.7.4:
+ * PPKI to Router Protocol: Fix Segmentation Faults and other problems
+ * RPKI to Router Protocol: print strings with fn_printn()
+ * wb: fix some bounds checks
+ (previously patched in, removed CVE-2015-3138.patch)
+
+-------------------------------------------------------------------
Old:
----
CVE-2015-3138.patch
tcpdump-4.7.3.tar.gz
tcpdump-4.7.3.tar.gz.sig
New:
----
tcpdump-4.7.4.tar.gz
tcpdump-4.7.4.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcpdump.spec ++++++
--- /var/tmp/diff_new_pack.weaWI1/_old 2015-04-30 11:49:30.000000000 +0200
+++ /var/tmp/diff_new_pack.weaWI1/_new 2015-04-30 11:49:30.000000000 +0200
@@ -20,7 +20,7 @@
# for pcap_set_tstamp_precision()
%define min_libpcap_version 1.7.2
Name: tcpdump
-Version: 4.7.3
+Version: 4.7.4
Release: 0
Summary: A Packet Sniffer
License: BSD-3-Clause
@@ -30,7 +30,6 @@
Source1: tcpdump-qeth
Source2: http://www.tcpdump.org/release/%{name}-%{version}.tar.gz.sig
Source3: http://www.tcpdump.org/tcpdump-workers.asc#/%{name}.keyring
-Patch0: CVE-2015-3138.patch
BuildRequires: libpcap-devel >= %{min_libpcap_version}
BuildRequires: libsmi-devel
BuildRequires: openssl-devel
@@ -43,7 +42,6 @@
%prep
%setup -q
-%patch0 -p1
%build
export CFLAGS="%{optflags} -Wall -DGUESS_TSO -fstack-protector -fno-strict-aliasing"
++++++ tcpdump-4.7.3.tar.gz -> tcpdump-4.7.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/CHANGES new/tcpdump-4.7.4/CHANGES
--- old/tcpdump-4.7.3/CHANGES 2015-03-11 01:47:37.000000000 +0100
+++ new/tcpdump-4.7.4/CHANGES 2015-04-22 22:33:01.000000000 +0200
@@ -1,8 +1,14 @@
-Monday March. 11, 2015 guy(a)alum.mit.edu
+Friday April 10, 2015 guy(a)alum.mit.edu
+ Summary for 4.7.4 tcpdump release
+ RPKI to Router Protocol: Fix Segmentation Faults and other problems
+ RPKI to Router Protocol: print strings with fn_printn()
+ wb: fix some bounds checks
+
+Wednesday March 11, 2015 mcr(a)sandelman.ca
Summary for 4.7.3 tcpdump release
Capsicum fixes for FreeBSD 10
-Monday March. 10, 2015 guy(a)alum.mit.edu
+Tuesday March 10, 2015 mcr(a)sandelman.ca
Summary for 4.7.2 tcpdump release
DCCP: update Packet Types with RFC4340/IANA names
fixes for CVE-2015-0261: IPv6 mobility header check issue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/VERSION new/tcpdump-4.7.4/VERSION
--- old/tcpdump-4.7.3/VERSION 2015-03-11 01:44:05.000000000 +0100
+++ new/tcpdump-4.7.4/VERSION 2015-04-22 22:32:26.000000000 +0200
@@ -1 +1 @@
-4.7.3
+4.7.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/netdissect.h new/tcpdump-4.7.4/netdissect.h
--- old/tcpdump-4.7.3/netdissect.h 2015-03-11 01:40:50.000000000 +0100
+++ new/tcpdump-4.7.4/netdissect.h 2015-04-22 22:32:16.000000000 +0200
@@ -81,9 +81,9 @@
char *buf, size_t bufsize);
/* tok2str is deprecated */
-extern const char *tok2str(const struct tok *, const char *, int);
-extern char *bittok2str(const struct tok *, const char *, int);
-extern char *bittok2str_nosep(const struct tok *, const char *, int);
+extern const char *tok2str(const struct tok *, const char *, u_int);
+extern char *bittok2str(const struct tok *, const char *, u_int);
+extern char *bittok2str_nosep(const struct tok *, const char *, u_int);
typedef struct netdissect_options netdissect_options;
@@ -293,7 +293,6 @@
extern int fn_print(netdissect_options *, const u_char *, const u_char *);
extern int fn_printn(netdissect_options *, const u_char *, u_int, const u_char *);
extern int fn_printzp(netdissect_options *, const u_char *, u_int, const u_char *);
-extern const char *tok2str(const struct tok *, const char *, int);
/*
* Flags for txtproto_print().
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/print-isoclns.c new/tcpdump-4.7.4/print-isoclns.c
--- old/tcpdump-4.7.3/print-isoclns.c 2015-03-11 01:36:52.000000000 +0100
+++ new/tcpdump-4.7.4/print-isoclns.c 2015-04-22 22:32:16.000000000 +0200
@@ -3093,14 +3093,18 @@
ND_PRINT((ndo, "(unverified)"));
} else {
unsigned char *truncated = "trunc";
- //printf("\nosi_print_cksum: %p %u %u %u\n", pptr, checksum_offset, length, ndo->ndo_snaplen);
- //ND_TCHECK2(pptr, checksum_offset+length);
+#if 0
+ printf("\nosi_print_cksum: %p %u %u %u\n", pptr, checksum_offset, length, ndo->ndo_snaplen);
+ ND_TCHECK2(pptr, checksum_offset+length);
+#endif
calculated_checksum = create_osi_cksum(pptr, checksum_offset, length);
if (checksum == calculated_checksum) {
ND_PRINT((ndo, " (correct)"));
} else {
truncated = "incorrect";
- //trunc:
+#if 0
+ trunc:
+#endif
ND_PRINT((ndo, " (%s should be 0x%04x)", truncated, calculated_checksum));
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/print-rpki-rtr.c new/tcpdump-4.7.4/print-rpki-rtr.c
--- old/tcpdump-4.7.3/print-rpki-rtr.c 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/print-rpki-rtr.c 2015-04-22 22:32:16.000000000 +0200
@@ -178,7 +178,7 @@
pdu_header = (rpki_rtr_pdu *)tptr;
pdu_type = pdu_header->pdu_type;
pdu_len = EXTRACT_32BITS(pdu_header->length);
- ND_TCHECK2(tptr, pdu_len);
+ ND_TCHECK2(*tptr, pdu_len);
hexdump = FALSE;
ND_PRINT((ndo, "%sRPKI-RTRv%u, %s PDU (%u), length: %u",
@@ -251,10 +251,10 @@
{
rpki_rtr_pdu_error_report *pdu;
u_int encapsulated_pdu_length, text_length, tlen, error_code;
- u_char buf[80];
pdu = (rpki_rtr_pdu_error_report *)tptr;
encapsulated_pdu_length = EXTRACT_32BITS(pdu->encapsulated_pdu_length);
+ ND_TCHECK2(*tptr, encapsulated_pdu_length);
tlen = pdu_len;
error_code = EXTRACT_16BITS(pdu->pdu_header.u.error_code);
@@ -287,11 +287,10 @@
tptr += 4;
tlen -= 4;
}
- printf("text_length: %u tlen %u\n", text_length, tlen);
+ ND_TCHECK2(*tptr, text_length);
if (text_length && (text_length <= tlen )) {
- memcpy(buf, tptr, min(sizeof(buf)-1, text_length));
- buf[text_length] = '\0';
- ND_PRINT((ndo, "%sError text: %s", indent_string(indent+2), buf));
+ ND_PRINT((ndo, "%sError text: ", indent_string(indent+2)));
+ fn_printn(ndo, tptr, text_length, ndo->ndo_snapend);
}
}
break;
@@ -337,13 +336,13 @@
pdu_header = (rpki_rtr_pdu *)tptr;
pdu_type = pdu_header->pdu_type;
pdu_len = EXTRACT_32BITS(pdu_header->length);
+ ND_TCHECK2(*tptr, pdu_len);
/* infinite loop check */
if (!pdu_type || !pdu_len) {
break;
}
- ND_TCHECK2(*tptr, pdu_len);
if (tlen < pdu_len) {
goto trunc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/print-wb.c new/tcpdump-4.7.4/print-wb.c
--- old/tcpdump-4.7.3/print-wb.c 2014-11-13 12:02:47.000000000 +0100
+++ new/tcpdump-4.7.4/print-wb.c 2015-04-22 22:32:16.000000000 +0200
@@ -202,7 +202,7 @@
len -= sizeof(*io) * nid;
io = (struct id_off *)(id + 1);
cp = (char *)(io + nid);
- if (!ND_TTEST2(cp, len)) {
+ if (ND_TTEST2(cp, len)) {
ND_PRINT((ndo, "\""));
fn_print(ndo, (u_char *)cp, (u_char *)cp + len);
ND_PRINT((ndo, "\""));
@@ -267,7 +267,7 @@
}
n = EXTRACT_32BITS(&prep->pp_n);
ps = (const struct pgstate *)(prep + 1);
- while (--n >= 0 && !ND_TTEST(*ps)) {
+ while (--n >= 0 && ND_TTEST(*ps)) {
const struct id_off *io, *ie;
char c = '<';
@@ -276,7 +276,7 @@
ipaddr_string(ndo, &ps->page.p_sid),
EXTRACT_32BITS(&ps->page.p_uid)));
io = (struct id_off *)(ps + 1);
- for (ie = io + ps->nid; io < ie && !ND_TTEST(*io); ++io) {
+ for (ie = io + ps->nid; io < ie && ND_TTEST(*io); ++io) {
ND_PRINT((ndo, "%c%s:%u", c, ipaddr_string(ndo, &io->id),
EXTRACT_32BITS(&io->off)));
c = ',';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tcpdump.c new/tcpdump-4.7.4/tcpdump.c
--- old/tcpdump-4.7.3/tcpdump.c 2015-03-11 01:44:53.000000000 +0100
+++ new/tcpdump-4.7.4/tcpdump.c 2015-04-22 22:32:16.000000000 +0200
@@ -2220,9 +2220,6 @@
dump_packet_and_trunc(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
{
struct dump_info *dump_info;
-#ifdef HAVE_CAPSICUM
- cap_rights_t rights;
-#endif
++packets_captured;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday2.out new/tcpdump-4.7.4/tests/kday2.out
--- old/tcpdump-4.7.3/tests/kday2.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday2.out 2015-04-22 22:32:16.000000000 +0200
@@ -22,6 +22,13 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x7767), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x8900), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x8900), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 21
+ Error code: Unknown (66), Encapsulated PDU length: 37|trunc
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday3.out new/tcpdump-4.7.4/tests/kday3.out
--- old/tcpdump-4.7.3/tests/kday3.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday3.out 2015-04-22 22:32:16.000000000 +0200
@@ -7,7 +7,17 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x7767), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x0cf1), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2381534627 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x0cf1), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2381534627 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 12
+ -----encapsulated PDU-----|trunc|trunc
+ [|RPKI-RTR]
IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52)
204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 0, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0
IP (tos 0x10, ttl 62, id 62920, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 4504 (->451a)!)
@@ -15,6 +25,17 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x8d67), ack 1, win 1040, options [nop,nop,TS val 647770294 ecr 2364773722], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xa6b3), seq 0:347, ack 1, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xa6b3), seq 0:347, ack 1, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 37
+ -----encapsulated PDU-----|trunc|trunc
+ RPKI-RTRv9, Unknown PDU (51), length: 32
+ 0x0000: 0933 84cc 0000 0020 9f00 1649 d1c8 546c
+ 0x0010: ff13 1980 100f fc85 8b00 0055 0000 0101
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday4.out new/tcpdump-4.7.4/tests/kday4.out
--- old/tcpdump-4.7.3/tests/kday4.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday4.out 2015-04-22 22:32:16.000000000 +0200
@@ -6,7 +6,18 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52)
204.9.54.80.55936 > 204.9.55.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x725a), ack 3589495407, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xcd5f), seq 3589495407:3589495754, ack 370436242, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xcd5f), seq 3589495407:3589495754, ack 370436242, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 58f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 37
+ -----encapsulated PDU-----|trunc|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 12
+ -----encapsulated PDU-----|trunc|trunc
[|RPKI-RTR]
IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52)
204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 1819218606, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0
@@ -15,7 +26,19 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x8d67), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364773722], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xfa70), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xfa70), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv197, Unknown PDU (100), length: 60
+ 0x0000: c564 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 37
+ -----encapsulated PDU-----|trunc|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 12
+ -----encapsulated PDU-----|trunc|trunc
+ [|RPKI-RTR]
IP truncated-ip - 768 bytes missing! (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 820, bad cksum 3da6 (->3aa6)!)
204.9.51.132.50079 > 204.9.54.80.22: Flags [.], seq 0:768, ack 1, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 768
IP (tos 0x6,ECT(0), ttl 62, id 62920, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 4504 (->4524)!)
@@ -23,6 +46,15 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x8d67), ack 1, win 1040, options [nop,nop,TS val 647770294 ecr 2364773722], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x3f28), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x3f28), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 100
+ Error text: ^@^@^@M-^?M-^?^_^[pM-xWM-nhMM-}M_M-YM-=M-G^I0M-,M-^AvM-3mM-L^Q:M-?^RM-^QM-q^FNM-^aM-tbM-^WM-/M-D9M-$^MM-9zM-%hs3M-hA^J^@B^@^@^@B^@^@^@%M-Dz^HM-i^RM-^DM-5M-^\M->0H^H^@E^P^@4M-}&@^@>^F
+ RPKI-RTRv115, Error Report PDU (10), length: 66|trunc
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday5.out new/tcpdump-4.7.4/tests/kday5.out
--- old/tcpdump-4.7.3/tests/kday5.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday5.out 2015-04-22 22:32:16.000000000 +0200
@@ -22,6 +22,14 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x7767), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x183a), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2351322531 ecr 3084508609], length 347|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x183a), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2351322531 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 80
+ Error text: M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-CM-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9M-9^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^V^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J^J
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday7.out new/tcpdump-4.7.4/tests/kday7.out
--- old/tcpdump-4.7.3/tests/kday7.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday7.out 2015-04-22 22:32:16.000000000 +0200
@@ -6,7 +6,18 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52)
204.9.54.80.55936 > 204.9.55.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x725a), ack 3589495407, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xcd5f), seq 3589495407:3589495754, ack 370436242, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xcd5f), seq 3589495407:3589495754, ack 370436242, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 58f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 37
+ -----encapsulated PDU-----|trunc|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 12
+ -----encapsulated PDU-----|trunc|trunc
[|RPKI-RTR]
IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52)
204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 1819218606, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0
@@ -15,7 +26,19 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x8d67), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364773722], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xfa86), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xfa86), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv197, Unknown PDU (100), length: 60
+ 0x0000: c564 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 37
+ -----encapsulated PDU-----|trunc|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 12
+ -----encapsulated PDU-----|trunc|trunc
+ [|RPKI-RTR]
IP truncated-ip - 768 bytes missing! (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 820, bad cksum 3da6 (->3aa6)!)
204.9.51.132.50079 > 204.9.54.80.22: Flags [.], seq 0:768, ack 1, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 768
IP (tos 0x6,ECT(0), ttl 62, id 62920, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 4504 (->4524)!)
@@ -23,6 +46,14 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x8d67), ack 1, win 1040, options [nop,nop,TS val 647770294 ecr 2364773722], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x4ba9), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0x4ba9), seq 0:347, ack 4294959105, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 100|trunc
+ RPKI-RTRv115, Error Report PDU (10), length: 66|trunc
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/tests/kday8.out new/tcpdump-4.7.4/tests/kday8.out
--- old/tcpdump-4.7.3/tests/kday8.out 2015-03-09 20:07:01.000000000 +0100
+++ new/tcpdump-4.7.4/tests/kday8.out 2015-04-22 22:32:16.000000000 +0200
@@ -22,6 +22,13 @@
IP (tos 0x0, ttl 64, id 63178, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 3e8c (->438c)!)
204.9.64.80.55936 > 204.9.40.10.443: Flags [.], cksum 0x0594 (incorrect -> 0x7767), ack 3587398274, win 1040, options [nop,nop,TS val 647770294 ecr 2364779354], length 0
IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, bad cksum a46b (->a474)!)
- 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xed9b), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347|trunc|trunc
+ 204.0.55.10.323 > 204.9.54.80.55936: Flags [P.], cksum 0xc9b6 (incorrect -> 0xed9b), seq 3589495407:3589495754, ack 370428050, win 1040, options [nop,nop,TS val 2364757411 ecr 3084508609], length 347
+ RPKI-RTRv177, Unknown PDU (100), length: 60
+ 0x0000: b164 003c 0000 003c 0000 00ff ff1f 1b70
+ 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176
+ 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297
+ 0x0030: afc4 39a4 0db9 7aa5 6873 33e8
+ RPKI-RTRv65, Error Report PDU (10), length: 66
+ Error code: Unknown (66), Encapsulated PDU length: 80|trunc
[|RPKI-RTR]
EXIT CODE 00000100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tcpdump-4.7.3/util.c new/tcpdump-4.7.4/util.c
--- old/tcpdump-4.7.3/util.c 2014-11-13 12:02:47.000000000 +0100
+++ new/tcpdump-4.7.4/util.c 2015-04-22 22:32:16.000000000 +0200
@@ -337,7 +337,7 @@
*/
const char *
tok2str(register const struct tok *lp, register const char *fmt,
- register int v)
+ register u_int v)
{
static char buf[4][128];
static int idx = 0;
@@ -355,12 +355,12 @@
*/
static char *
bittok2str_internal(register const struct tok *lp, register const char *fmt,
- register int v, register int sep)
+ register u_int v, const char *sep)
{
static char buf[256]; /* our stringbuffer */
int buflen=0;
- register int rotbit; /* this is the bit we rotate through all bitpositions */
- register int tokval;
+ register u_int rotbit; /* this is the bit we rotate through all bitpositions */
+ register u_int tokval;
const char * sepstr = "";
while (lp != NULL && lp->s != NULL) {
@@ -375,7 +375,7 @@
/* ok we have found something */
buflen+=snprintf(buf+buflen, sizeof(buf)-buflen, "%s%s",
sepstr, lp->s);
- sepstr = sep ? ", " : "";
+ sepstr = sep;
break;
}
rotbit=rotbit<<1; /* no match - lets shift and try again */
@@ -385,7 +385,7 @@
if (buflen == 0)
/* bummer - lets print the "unknown" message as advised in the fmt string if we got one */
- (void)snprintf(buf, sizeof(buf), fmt == NULL ? "#%d" : fmt, v);
+ (void)snprintf(buf, sizeof(buf), fmt == NULL ? "#%08x" : fmt, v);
return (buf);
}
@@ -395,9 +395,9 @@
*/
char *
bittok2str_nosep(register const struct tok *lp, register const char *fmt,
- register int v)
+ register u_int v)
{
- return (bittok2str_internal(lp, fmt, v, 0));
+ return (bittok2str_internal(lp, fmt, v, ""));
}
/*
@@ -406,9 +406,9 @@
*/
char *
bittok2str(register const struct tok *lp, register const char *fmt,
- register int v)
+ register u_int v)
{
- return (bittok2str_internal(lp, fmt, v, 1));
+ return (bittok2str_internal(lp, fmt, v, ", "));
}
/*
1
0
Hello community,
here is the log from the commit of package powertop for openSUSE:Factory checked in at 2015-04-30 11:49:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/powertop (Old)
and /work/SRC/openSUSE:Factory/.powertop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "powertop"
Changes:
--------
--- /work/SRC/openSUSE:Factory/powertop/powertop.changes 2015-04-25 16:45:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.powertop.new/powertop.changes 2015-04-30 11:49:20.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 27 10:38:27 UTC 2015 - zaitor(a)opensuse.org
+
+- Exchange xterm for xterm-bin Requires, as the xterm.desktop file
+ is not needed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ powertop.spec ++++++
--- /var/tmp/diff_new_pack.4R6Bv8/_old 2015-04-30 11:49:20.000000000 +0200
+++ /var/tmp/diff_new_pack.4R6Bv8/_new 2015-04-30 11:49:20.000000000 +0200
@@ -38,7 +38,7 @@
BuildRequires: pkgconfig(libnl-genl-3.0)
BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(zlib)
-Requires: xterm
+Requires: xterm-bin
Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
1
0
Hello community,
here is the log from the commit of package rpmlint-mini for openSUSE:Factory checked in at 2015-04-30 11:49:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint-mini (Old)
and /work/SRC/openSUSE:Factory/.rpmlint-mini.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint-mini"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint-mini/rpmlint-mini.changes 2014-05-23 15:00:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint-mini.new/rpmlint-mini.changes 2015-04-30 11:49:11.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 20 15:33:21 UTC 2015 - lnussel(a)suse.de
+
+- add lib-dynload/unicodedata.so required by rpmlint 1.6
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint-mini.spec ++++++
--- /var/tmp/diff_new_pack.B5l1zx/_old 2015-04-30 11:49:12.000000000 +0200
+++ /var/tmp/diff_new_pack.B5l1zx/_new 2015-04-30 11:49:12.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rpmlint-mini
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
++++++ rpmlint-deps.txt ++++++
--- /var/tmp/diff_new_pack.B5l1zx/_old 2015-04-30 11:49:12.000000000 +0200
+++ /var/tmp/diff_new_pack.B5l1zx/_new 2015-04-30 11:49:12.000000000 +0200
@@ -72,16 +72,18 @@
lib-dynload/_bisect.so
lib-dynload/_collections.so
lib-dynload/cStringIO.so
+lib-dynload/_ctypes.so
lib-dynload/_functools.so
lib-dynload/_io.so
+lib-dynload/itertools.so
lib-dynload/_locale.so
lib-dynload/_md5.so
-lib-dynload/_ctypes.so
lib-dynload/operator.so
lib-dynload/pyexpat.so
lib-dynload/rpmmodule.so
lib-dynload/rpm.pyo
lib-dynload/rpm.so
+lib-dynload/unicodedata.so
lib-dynload/_sha256.so
lib-dynload/_sha512.so
lib-dynload/_sha.so
@@ -92,9 +94,8 @@
lib-dynload/strop.so
lib-dynload/_struct.so
lib-dynload/time.so
-lib-dynload/zlib.so
-lib-dynload/itertools.so
lib-dynload/_weakref.so
+lib-dynload/zlib.so
linecachemodule.so
linecache.pyo
linecache.so
1
0
Hello community,
here is the log from the commit of package parted for openSUSE:Factory checked in at 2015-04-30 10:50:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/parted (Old)
and /work/SRC/openSUSE:Factory/.parted.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "parted"
Changes:
--------
--- /work/SRC/openSUSE:Factory/parted/parted.changes 2015-04-27 12:59:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.parted.new/parted.changes 2015-04-30 10:50:39.000000000 +0200
@@ -2,64 +1,0 @@
-Wed Feb 11 15:01:56 UTC 2015 - puzel(a)suse.com
-
-- Update to parted-3.2; Notable changes:
- - Added new partition type flag, esp, to set the type to 0xEF on
- MS-DOS. Also aliased to boot on GPT to set the UEFI ESP GUID.
- - You can now choose to ignore errors about partitions that
- overlap, or are longer than the disk. This allows you to use
- parted to repair the problem.
- - When attempting to manipulate a mounted partition, parted now
- issues a warning that you can choose to ignore, instead of an
- error.
- - When creating a loop label, it automatically comes with a
- partition using the whole disk.
- - parted -l no longer lists device-mapper devices other than
- dmraid whole disks.
- - Added new Linux-specific partition GUID type code
- (0FC63DAF-8483-4772-8E79-3D69D8477DE4) for Linux filesystem
- data on GPT disks. This type code is now assigned as the
- default partition type code for new partitions holding Linux
- filesystems.
- - Added new "msftdata" flag to identify partitions holding NTFS
- or FAT filesystems on GPT disks. This flag corresponds to a
- GPT type code of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
- ("Microsoft Basic Data"). Since Linux filesystem partitions
- formerly used this type code, this flag may optionally be set
- on Linux partitions to make the partition table type codes
- match former configurations in case the new Linux filesystem
- type code causes problems with some utility. Note that this
- flag cannot be removed from NTFS or FAT partitions within
- parted except by setting a competing flag, such as "boot"
- (which sets the type code used by EFI System partitions) or
- "msftres" (which sets the "Microsoft Reserved" type code).
- - Many bugfixes (see /usr/share/doc/packages/parted/NEWS)
-- merge parted-fix-cciss-partition-naming.patch,
- libparted-fix-mmcblk-partition-name.patch,
- fix-dm-partition-name.patch
- into libparted-partition-naming.patch
-- Add parted-resize-alias-to-resizepart.patch
-- Add libparted-avoid-libdevice-mapper-warnings.patch
-- drop patches (in upstream):
- - fix-error-informing-the-kernel.patch
- - Fix-help-text-for-disk_-set-toggle.patch
- - libparted-Avoid-dasd-as-default-disk-type-while-probe.patch
- - libparted-add-support-for-EAV-DASD-partitions.patch
- - libparted-add-support-for-implicit-FBA-DASD-partition.patch
- - libparted-copy-pmbr_boot-when-duplicating-GPT-disk.patch
- - libparted-initialize-dasd-part-type.patch
- - libparted-mklabel-to-support-EAV-DASD.patch
- - libparted-mklabel-to-support-EDEV-DASD.patch
- - parted-Add-Intel-Rapid-Start-Technology-partition.patch
- - parted-GPT-add-support-for-PReP-GUID.patch
- - parted-btrfs-support.patch
- - parted-resize-command.patch
-- drop do-not-create-dm-nodes.patch: Not needed anymore since
- parted DM handling has been reworked.
-- modified more-reliable-informing-the-kernel.patch: No longer
- call 'udevadm settle' as it was causing issues.
-- add patches from upstream (post-3.2):
- - lib-fs-resize-prevent-crash-resizing-FAT16.patch
- - libparted-device-mapper-uses-512b-sectors.patch
- - parted-dont-crash-in-disk_set-when-disk-label-not-found.patch
-- refresh patches
-
--------------------------------------------------------------------
Old:
----
lib-fs-resize-prevent-crash-resizing-FAT16.patch
libparted-avoid-libdevice-mapper-warnings.patch
libparted-device-mapper-uses-512b-sectors.patch
libparted-partition-naming.patch
parted-3.2.tar.xz
parted-3.2.tar.xz.sig
parted-dont-crash-in-disk_set-when-disk-label-not-found.patch
parted-resize-alias-to-resizepart.patch
New:
----
Fix-help-text-for-disk_-set-toggle.patch
do-not-create-dm-nodes.patch
fix-dm-partition-name.patch
fix-error-informing-the-kernel.patch
libparted-Avoid-dasd-as-default-disk-type-while-probe.patch
libparted-add-support-for-EAV-DASD-partitions.patch
libparted-add-support-for-implicit-FBA-DASD-partition.patch
libparted-copy-pmbr_boot-when-duplicating-GPT-disk.patch
libparted-fix-mmcblk-partition-name.patch
libparted-initialize-dasd-part-type.patch
libparted-mklabel-to-support-EAV-DASD.patch
libparted-mklabel-to-support-EDEV-DASD.patch
parted-3.1.tar.xz
parted-3.1.tar.xz.sig
parted-Add-Intel-Rapid-Start-Technology-partition.patch
parted-GPT-add-support-for-PReP-GUID.patch
parted-btrfs-support.patch
parted-fix-cciss-partition-naming.patch
parted-resize-command.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ parted.spec ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package parted
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: parted
-Version: 3.2
+Version: 3.1
Release: 0
Summary: GNU partitioner
License: GPL-3.0+
@@ -34,26 +34,39 @@
# Other patches
Patch10: hfs_fix.dif
Patch11: parted-wipeaix.patch
-Patch12: libparted-partition-naming.patch
+Patch12: fix-error-informing-the-kernel.patch
+#PATCH-FEATURE-SUSE fix-dm-partition-name.patch bnc471440,447591 petr.uzel(a)suse.cz
+Patch13: fix-dm-partition-name.patch
+Patch14: parted-fix-cciss-partition-naming.patch
+Patch15: libparted-fix-mmcblk-partition-name.patch
+#PATCH-FEATURE-SUSE do-not-create-dm-nodes.patch bnc#501773 petr.uzel(a)suse.cz
+Patch16: do-not-create-dm-nodes.patch
#PATCH-FEATURE-SUSE more-reliable-informing-the-kernel.patch bnc#657360 petr.uzel(a)suse.cz
-Patch13: more-reliable-informing-the-kernel.patch
-Patch14: parted-gpt-mbr-sync.patch
-Patch15: libparted-ppc-prepboot-in-syncmbr.patch
-Patch16: parted-workaround-windows7-gpt-implementation.patch
-Patch17: dummy-bootcode-only-for-x86.patch
-Patch18: parted-type.patch
-Patch19: parted-mac.patch
-Patch20: libparted-dasd-do-not-use-first-tracks.patch
-Patch21: libparted-use-BLKRRPART-for-DASD.patch.patch
-Patch22: libparted-allow-bigger-snap-radius-if-cylinders-are-used.patch
-Patch23: libparted-make-BLKRRPART-more-robust.patch
-Patch24: libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.patch
-Patch25: libparted-dasd-implicit-partition-disk-flag.patch
-Patch26: lib-fs-resize-prevent-crash-resizing-FAT16.patch
-Patch27: parted-dont-crash-in-disk_set-when-disk-label-not-found.patch
-Patch28: libparted-device-mapper-uses-512b-sectors.patch
-Patch29: parted-resize-alias-to-resizepart.patch
-Patch30: libparted-avoid-libdevice-mapper-warnings.patch
+Patch17: more-reliable-informing-the-kernel.patch
+Patch19: parted-gpt-mbr-sync.patch
+Patch20: libparted-ppc-prepboot-in-syncmbr.patch
+Patch21: parted-workaround-windows7-gpt-implementation.patch
+Patch22: dummy-bootcode-only-for-x86.patch
+Patch23: parted-type.patch
+Patch24: parted-mac.patch
+Patch25: parted-Add-Intel-Rapid-Start-Technology-partition.patch
+Patch26: parted-btrfs-support.patch
+Patch27: parted-GPT-add-support-for-PReP-GUID.patch
+Patch28: parted-resize-command.patch
+Patch29: libparted-dasd-do-not-use-first-tracks.patch
+Patch30: libparted-initialize-dasd-part-type.patch
+Patch31: libparted-use-BLKRRPART-for-DASD.patch.patch
+Patch32: libparted-copy-pmbr_boot-when-duplicating-GPT-disk.patch
+Patch33: Fix-help-text-for-disk_-set-toggle.patch
+Patch34: libparted-allow-bigger-snap-radius-if-cylinders-are-used.patch
+Patch35: libparted-add-support-for-implicit-FBA-DASD-partition.patch
+Patch36: libparted-add-support-for-EAV-DASD-partitions.patch
+Patch37: libparted-mklabel-to-support-EAV-DASD.patch
+Patch38: libparted-Avoid-dasd-as-default-disk-type-while-probe.patch
+Patch39: libparted-mklabel-to-support-EDEV-DASD.patch
+Patch40: libparted-make-BLKRRPART-more-robust.patch
+Patch41: libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.patch
+Patch42: libparted-dasd-implicit-partition-disk-flag.patch
Patch100: parted-fatresize-autoconf.patch
Requires: /sbin/udevadm
BuildRequires: check-devel
@@ -115,7 +128,6 @@
%patch15 -p1
%patch16 -p1
%patch17 -p1
-%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
@@ -128,6 +140,18 @@
%patch28 -p1
%patch29 -p1
%patch30 -p1
+%patch31 -p1
+%patch32 -p1
+%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
%patch100 -p1
%build
++++++ Fix-help-text-for-disk_-set-toggle.patch ++++++
>From 3e005b4644d2a97da85c251f93d32d93e94bcccf Mon Sep 17 00:00:00 2001
From: Phillip Susi <psusi(a)ubuntu.com>
Date: Mon, 24 Feb 2014 11:29:43 -0500
Subject: [PATCH] Fix help text for disk_{set,toggle}
Fix the help text to show *disk* flags instead of partition flags.
---
parted/parted.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
Index: parted-3.1/parted/parted.c
===================================================================
--- parted-3.1.orig/parted/parted.c
+++ parted-3.1/parted/parted.c
@@ -144,6 +144,7 @@ static const char* number_msg = N_(
static const char* label_type_msg_start = N_("LABEL-TYPE is one of: ");
static const char* flag_msg_start = N_("FLAG is one of: ");
+static const char* disk_flag_msg_start = N_("FLAG is one of: ");
static const char* unit_msg_start = N_("UNIT is one of: ");
static const char* min_or_opt_msg = N_("desired alignment: minimum or optimal");
static const char* part_type_msg = N_("PART-TYPE is one of: primary, logical, "
@@ -170,6 +171,7 @@ static const char* copyright_msg = N_(
static char* label_type_msg;
static char* flag_msg;
+static char* disk_flag_msg;
static char* unit_msg;
static char* mkpart_fs_type_msg;
@@ -1845,6 +1847,7 @@ _init_messages ()
PedFileSystemAlias* fs_alias;
PedDiskType* disk_type;
PedPartitionFlag part_flag;
+ PedDiskFlag disk_flag;
PedUnit unit;
/* flags */
@@ -1863,6 +1866,22 @@ _init_messages ()
flag_msg = str_list_convert (list);
str_list_destroy (list);
+/* disk flags */
+ first = 1;
+ list = str_list_create (_(disk_flag_msg_start), NULL);
+ for (disk_flag = ped_disk_flag_next (0); disk_flag;
+ disk_flag = ped_disk_flag_next (disk_flag)) {
+ if (first)
+ first = 0;
+ else
+ str_list_append (list, ", ");
+ str_list_append (list,
+ _(ped_disk_flag_get_name (disk_flag)));
+ }
+ str_list_append (list, "\n");
+
+ disk_flag_msg = str_list_convert (list);
+ str_list_destroy (list);
/* units */
first = 1;
@@ -2055,7 +2074,7 @@ command_register (commands, command_crea
str_list_create (
_("disk_set FLAG STATE change the FLAG on selected device"),
NULL),
- str_list_create (flag_msg, _(state_msg), NULL), 1));
+ str_list_create (disk_flag_msg, _(state_msg), NULL), 1));
command_register (commands, command_create (
str_list_create_unique ("disk_toggle", _("disk_toggle"), NULL),
@@ -2064,7 +2083,7 @@ command_register (commands, command_crea
_("disk_toggle [FLAG] toggle the state of FLAG on "
"selected device"),
NULL),
- str_list_create (flag_msg, NULL), 1));
+ str_list_create (disk_flag_msg, NULL), 1));
command_register (commands, command_create (
str_list_create_unique ("set", _("set"), NULL),
++++++ do-not-create-dm-nodes.patch ++++++
---
libparted/arch/linux.c | 45 ++++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 17 deletions(-)
Index: parted-3.1/libparted/arch/linux.c
===================================================================
--- parted-3.1.orig/libparted/arch/linux.c
+++ parted-3.1/libparted/arch/linux.c
@@ -33,6 +33,7 @@
#include <stdio.h>
#include <syscall.h>
#include <unistd.h>
+#include <stdlib.h>
#include <stdbool.h>
#include <dirent.h>
#include <sys/ioctl.h>
@@ -2858,29 +2859,39 @@ err:
static int
_dm_reread_part_table (PedDisk* disk)
{
- int largest_partnum = ped_disk_get_last_partition_num (disk);
- if (largest_partnum <= 0)
- return 1;
-
- int rc = 1;
- int last = PED_MIN (largest_partnum, 16);
- int i;
+ int dev_minor;
+ int dev_major;
+ struct stat dev_stat;
+ char name_buf[40];
+ FILE* f;
sync();
- if (!_dm_remove_parts(disk->dev))
- rc = 0;
- for (i = 1; i <= last; i++) {
- PedPartition* part;
+ /* Issue uevent for the device */
+ if (!_device_stat (disk->dev, &dev_stat))
+ return 0;
- part = ped_disk_get_partition (disk, i);
- if (!part)
- continue;
+ dev_major = major (dev_stat.st_rdev);
+ dev_minor = minor (dev_stat.st_rdev);
- if (!_dm_add_partition (disk, part))
- rc = 0;
+ snprintf (name_buf, sizeof (name_buf),
+ "/sys/dev/block/%d:%d/uevent", dev_major, dev_minor);
+
+ if ((f = fopen (name_buf, "w")) == NULL)
+ return 0;
+
+ if (fputs ("change", f) == EOF)
+ return 0;
+
+ fclose(f);
+
+ /* Wait for udev to finish */
+ if (system ("/sbin/udevadm settle --timeout=20") != 0) {
+ /* udevadm settle failed - let's sleep for a while */
+ sleep (2);
}
- return rc;
+
+ return 1;
}
#endif
++++++ dummy-bootcode-only-for-x86.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/dos.c | 7 +++++++
1 file changed, 7 insertions(+)
-Index: parted-3.2/libparted/labels/dos.c
+Index: parted-3.1/libparted/labels/dos.c
===================================================================
---- parted-3.2.orig/libparted/labels/dos.c
-+++ parted-3.2/libparted/labels/dos.c
-@@ -1285,6 +1285,12 @@ msdos_write (const PedDisk* disk)
+--- parted-3.1.orig/libparted/labels/dos.c
++++ parted-3.1/libparted/labels/dos.c
+@@ -1260,6 +1260,12 @@ msdos_write (const PedDisk* disk)
return 0;
DosRawTable *table = (DosRawTable *) s0;
@@ -19,7 +19,7 @@
/* either no bootrecord at all, or AIX IPL signature ... */
if ( (!table->boot_code[0]) ||
( table->boot_code[0] == (char) 0xc9 &&
-@@ -1295,6 +1301,7 @@ msdos_write (const PedDisk* disk)
+@@ -1270,6 +1276,7 @@ msdos_write (const PedDisk* disk)
memset (table->boot_code, 0, 512);
memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE));
}
++++++ fatresize-0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fatresize/fatresize.c new/fatresize/fatresize.c
--- old/fatresize/fatresize.c 2015-03-25 08:02:50.000000000 +0100
+++ new/fatresize/fatresize.c 2014-01-24 13:43:42.000000000 +0100
@@ -1,4 +1,3 @@
-#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
++++++ fix-dm-partition-name.patch ++++++
---
libparted/arch/linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: parted-3.1/libparted/arch/linux.c
===================================================================
--- parted-3.1.orig/libparted/arch/linux.c
+++ parted-3.1/libparted/arch/linux.c
@@ -2243,7 +2243,7 @@ _device_get_part_path (PedDevice *dev, i
|| dev->type == PED_DEVICE_CPQARRAY
|| dev->type == PED_DEVICE_ATARAID
|| isdigit (dev->path[path_len - 1])
- ? "p" : "");
+ ? "_part" : "");
result = zasprintf ("%s%s%d", dev->path, p, num);
}
++++++ fix-error-informing-the-kernel.patch ++++++
---
libparted/arch/linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: parted-3.1/libparted/arch/linux.c
===================================================================
--- parted-3.1.orig/libparted/arch/linux.c
+++ parted-3.1/libparted/arch/linux.c
@@ -2370,7 +2370,7 @@ _blkpg_add_partition (PedDisk* disk, con
linux_part.start = part->geom.start * disk->dev->sector_size;
/* see fs/partitions/msdos.c:msdos_partition(): "leave room for LILO" */
if (part->type & PED_PARTITION_EXTENDED)
- linux_part.length = part->geom.length == 1 ? 512 : 1024;
+ linux_part.length = PED_SECTOR_SIZE_DEFAULT;
else
linux_part.length = part->geom.length * disk->dev->sector_size;
linux_part.pno = part->num;
++++++ hfs_fix.dif ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/mac.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
-Index: parted-3.2/libparted/labels/mac.c
+Index: parted-3.1/libparted/labels/mac.c
===================================================================
---- parted-3.2.orig/libparted/labels/mac.c
-+++ parted-3.2/libparted/labels/mac.c
-@@ -467,7 +467,7 @@ _rawpart_is_void (MacRawPartition* raw_p
+--- parted-3.1.orig/libparted/labels/mac.c
++++ parted-3.1/libparted/labels/mac.c
+@@ -468,7 +468,7 @@ _rawpart_is_void (MacRawPartition* raw_p
return _rawpart_cmp_type (raw_part, "Apple_Void");
}
@@ -15,7 +15,7 @@
* doesn't represent a partition at all. NOTE: some people make Apple_Free
* partitions with MacOS, because they can't select another type. So, if the
* name is anything other than "Extra" or "", it is treated as a "real"
-@@ -530,6 +530,13 @@ _rawpart_analyse (MacRawPartition* raw_p
+@@ -533,6 +533,13 @@ _rawpart_analyse (MacRawPartition* raw_p
if (!part)
goto error;
++++++ libparted-Avoid-dasd-as-default-disk-type-while-probe.patch ++++++
>From 0673dabee6f5b19317b0d85e399e9f876a2c2ea7 Mon Sep 17 00:00:00 2001
From: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
Date: Wed, 21 Aug 2013 16:37:17 -0700
Subject: [PATCH] libparted: Avoid dasd as default disk type while probe
This patch avoids setting 'dasd' as a default disk type for
'disk image file' at the time of probe.
Signed-off-by: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
---
include/parted/fdasd.in.h | 1 +
libparted/labels/fdasd.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/parted/fdasd.in.h b/include/parted/fdasd.in.h
index 3692596..6f6a7e0 100644
--- a/include/parted/fdasd.in.h
+++ b/include/parted/fdasd.in.h
@@ -261,6 +261,7 @@ typedef struct fdasd_anchor {
struct fdasd_hd_geometry geo;
unsigned int label_block;
unsigned int FBA_layout;
+ bool is_file;
} fdasd_anchor_t;
enum offset {lower, upper};
diff --git a/libparted/labels/fdasd.c b/libparted/labels/fdasd.c
index b58b2be..7de5f34 100644
--- a/libparted/labels/fdasd.c
+++ b/libparted/labels/fdasd.c
@@ -301,6 +301,7 @@ fdasd_initialize_anchor (fdasd_anchor_t * anc)
}
anc->hw_cylinders = 0;
anc->formatted_cylinders = 0;
+ anc->is_file = 0;
}
/*
@@ -890,7 +891,7 @@ fdasd_check_volume (fdasd_anchor_t *anc, int fd)
/* Some times LDL formatted disks does not
contain any volume label */
return 1;
- } else {
+ } else if (! anc->is_file) {
/* didn't find VOL1 volume label */
anc->formatted_cylinders = anc->hw_cylinders;
anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
@@ -974,6 +975,7 @@ fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int f)
dasd_info.FBA_layout = 0;
anc->hw_cylinders = ((st.st_size / blksize) / anc->geo.sectors) /
anc->geo.heads;
+ anc->is_file = 1;
} else {
if (ioctl(f, HDIO_GETGEO, &anc->geo) != 0)
fdasd_error(anc, unable_to_ioctl,
@@ -995,6 +997,8 @@ fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int f)
anc->hw_cylinders = characteristics->long_no_cyl;
else
anc->hw_cylinders = characteristics->no_cyl;
+
+ anc->is_file = 0;
}
anc->dev_type = dasd_info.dev_type;
--
1.8.4.5
++++++ libparted-add-support-for-EAV-DASD-partitions.patch ++++++
++++ 1071 lines (skipped)
++++++ libparted-add-support-for-implicit-FBA-DASD-partition.patch ++++++
>From f70ff1fc474764c3a71318ddb4e0d26afc52ac47 Mon Sep 17 00:00:00 2001
From: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
Date: Wed, 21 Aug 2013 16:09:56 -0700
Subject: [PATCH] libparted: add support for implicit FBA DASD partitions
Fixed Block Access (FBA) DASDs are mainframe-specific disk devices
which are layed out as a sequence of 512-byte sectors. In contrast
to ECKD DASDs, these disks do not require formatting and resemble
the LBA layout of non-mainframe disks. Despite this resemblance,
the Linux kernel applies special handling during partition detection
for FBA DASDs, resulting in a single, immutable partition being
reported.
While actual FBA DASD hardware is no longer available, the z/VM
hypervisor can simulate FBA DASD disks, backed by either ECKD or
SCSI devices.
This patch adds support for recognizing FBA DASD partitions
to parted.
Signed-off-by: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar(a)linux.vnet.ibm.com>
---
include/parted/fdasd.in.h | 2 +
libparted/labels/dasd.c | 63 +++++++++++++++++++++++++++++++++++++++-------
libparted/labels/fdasd.c | 5 +++
3 files changed, 61 insertions(+), 9 deletions(-)
Index: parted-3.1/include/parted/fdasd.in.h
===================================================================
--- parted-3.1.orig/include/parted/fdasd.in.h
+++ parted-3.1/include/parted/fdasd.in.h
@@ -194,6 +194,8 @@ typedef struct fdasd_anchor {
volume_label_t *vlabel;
config_data_t confdata[USABLE_PARTITIONS];
struct fdasd_hd_geometry geo;
+ unsigned int label_block;
+ unsigned int FBA_layout;
} fdasd_anchor_t;
enum offset {lower, upper};
Index: parted-3.1/libparted/labels/dasd.c
===================================================================
--- parted-3.1.orig/libparted/labels/dasd.c
+++ parted-3.1/libparted/labels/dasd.c
@@ -71,6 +71,7 @@ typedef struct {
typedef struct {
unsigned int format_type;
+ unsigned int label_block;
volume_label_t vlabel;
} DasdDiskSpecific;
@@ -151,6 +152,7 @@ dasd_alloc (const PedDevice* dev)
/* CDL format, newer */
disk_specific->format_type = 2;
+ disk_specific->label_block = 2;
/* Setup volume label (for fresh disks) */
snprintf(volser, sizeof(volser), "0X%04X", arch_specific->devno);
@@ -226,7 +228,9 @@ dasd_probe (const PedDevice *dev)
fdasd_check_api_version(&anchor, arch_specific->fd);
- if (fdasd_check_volume(&anchor, arch_specific->fd))
+ /* Labels are required on CDL formatted DASDs. */
+ if (fdasd_check_volume(&anchor, arch_specific->fd) &&
+ anchor.FBA_layout == 0)
goto error_cleanup;
fdasd_cleanup(&anchor);
@@ -273,17 +277,53 @@ dasd_read (PedDisk* disk)
fdasd_initialize_anchor(&anchor);
fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd);
+ disk_specific->label_block = anchor.label_block;
+
+ if ((anchor.geo.cylinders * anchor.geo.heads) > BIG_DISK_SIZE)
+ anchor.big_disk++;
/* check dasd for labels and vtoc */
- if (fdasd_check_volume(&anchor, arch_specific->fd))
- goto error_close_dev;
+ if (fdasd_check_volume(&anchor, arch_specific->fd)) {
+ DasdPartitionData* dasd_data;
+
+ /* Kernel partitioning code will report 'implicit' partitions
+ * for non-CDL format DASDs even when there is no
+ * label/VTOC. */
+ if (anchor.FBA_layout == 0)
+ goto error_close_dev;
+
+ disk_specific->format_type = 1;
+
+ /* Register implicit partition */
+ ped_disk_delete_all (disk);
+
+ start = (PedSector) arch_specific->real_sector_size /
+ (PedSector) disk->dev->sector_size *
+ (PedSector) (anchor.label_block + 1);
+ end = disk->dev->length - 1;
+ part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL,
+ start, end);
+ if (!part)
+ goto error_close_dev;
+
+ part->num = 1;
+ part->fs_type = ped_file_system_probe (&part->geom);
+ dasd_data = part->disk_specific;
+ dasd_data->raid = 0;
+ dasd_data->lvm = 0;
+ dasd_data->type = 0;
+
+ if (!ped_disk_add_partition (disk, part, NULL))
+ goto error_close_dev;
+
+ fdasd_cleanup(&anchor);
+
+ return 1;
+ }
/* Save volume label (read by fdasd_check_volume) for writing */
memcpy(&disk_specific->vlabel, anchor.vlabel, sizeof(volume_label_t));
- if ((anchor.geo.cylinders * anchor.geo.heads) > BIG_DISK_SIZE)
- anchor.big_disk++;
-
ped_disk_delete_all (disk);
bool is_ldl = strncmp(anchor.vlabel->volkey,
@@ -348,7 +388,7 @@ dasd_read (PedDisk* disk)
/ (long long) disk->dev->sector_size
* (long long) (cms_ptr->block_count - 1) - 1;
- part = ped_partition_new (disk, PED_PARTITION_PROTECTED, NULL, start, end);
+ part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, end);
if (!part)
goto error_close_dev;
@@ -926,7 +966,12 @@ dasd_alloc_metadata (PedDisk* disk)
the start of the first partition */
if (disk_specific->format_type == 1) {
part = ped_disk_get_partition(disk, 1);
- vtoc_end = part->geom.start - 1;
+ if (part)
+ vtoc_end = part->geom.start - 1;
+ else
+ vtoc_end = (PedSector) arch_specific->real_sector_size /
+ (PedSector) disk->dev->sector_size *
+ (PedSector) disk_specific->label_block;
}
else {
if (disk->dev->type == PED_DEVICE_FILE)
@@ -946,7 +991,7 @@ dasd_alloc_metadata (PedDisk* disk)
goto error;
}
- if (disk_specific->format_type == 1) {
+ if (disk_specific->format_type == 1 && part) {
/*
For LDL or CMS there may be trailing metadata as well.
For example: the last block of a CMS reserved file,
Index: parted-3.1/libparted/labels/fdasd.c
===================================================================
--- parted-3.1.orig/libparted/labels/fdasd.c
+++ parted-3.1/libparted/labels/fdasd.c
@@ -721,6 +721,7 @@ fdasd_check_volume (fdasd_anchor_t *anc,
unsigned long b = -1;
char str[LINE_LENGTH];
+ memset(v, 0, sizeof(volume_label_t));
vtoc_read_volume_label (fd, anc->label_pos, v);
if (strncmp(v->vollbl, vtoc_ebcdic_enc ("VOL1", str, 4), 4) == 0) {
@@ -800,6 +801,8 @@ fdasd_get_geometry (const PedDevice *dev
dasd_info.dev_type = 13200;
dasd_info.label_block = 2;
dasd_info.devno = 513;
+ dasd_info.label_block = 2;
+ dasd_info.FBA_layout = 0;
} else {
if (ioctl(f, HDIO_GETGEO, &anc->geo) != 0)
fdasd_error(anc, unable_to_ioctl,
@@ -820,6 +823,8 @@ fdasd_get_geometry (const PedDevice *dev
anc->label_pos = dasd_info.label_block * blksize;
anc->devno = dasd_info.devno;
anc->fspace_trk = anc->geo.cylinders * anc->geo.heads - FIRST_USABLE_TRK;
+ anc->label_block = dasd_info.label_block;
+ anc->FBA_layout = dasd_info.FBA_layout;
}
/*
++++++ libparted-copy-pmbr_boot-when-duplicating-GPT-disk.patch ++++++
>From c261a9b340e2982a49e055ea6332fd0f49f3d531 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl(a)redhat.com>
Date: Wed, 11 Sep 2013 12:24:51 -0700
Subject: [PATCH] libparted: copy pmbr_boot when duplicating GPT disk
* libparted/labels/gpt.c (gpt_duplicate): copy pmbr_boot flag
---
libparted/labels/gpt.c | 1 +
1 file changed, 1 insertion(+)
Index: parted-3.1/libparted/labels/gpt.c
===================================================================
--- parted-3.1.orig/libparted/labels/gpt.c
+++ parted-3.1/libparted/labels/gpt.c
@@ -660,6 +660,7 @@ gpt_duplicate (const PedDisk *disk)
old_disk_data->data_area.length);
new_disk_data->entry_count = old_disk_data->entry_count;
new_disk_data->uuid = old_disk_data->uuid;
+ new_disk_data->pmbr_boot = old_disk_data->pmbr_boot;
return new_disk;
}
++++++ libparted-dasd-do-not-use-first-tracks.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/dasd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-Index: parted-3.2/libparted/labels/dasd.c
+Index: parted-3.1/libparted/labels/dasd.c
===================================================================
---- parted-3.2.orig/libparted/labels/dasd.c
-+++ parted-3.2/libparted/labels/dasd.c
-@@ -844,7 +844,8 @@ _primary_constraint (PedDisk* disk)
+--- parted-3.1.orig/libparted/labels/dasd.c
++++ parted-3.1/libparted/labels/dasd.c
+@@ -803,7 +803,8 @@ _primary_constraint (PedDisk* disk)
if (!ped_alignment_init (&end_align, -1,
disk->dev->hw_geom.sectors * sector_size))
return NULL;
++++++ libparted-fix-mmcblk-partition-name.patch ++++++
---
libparted/arch/linux.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: parted-3.1/libparted/arch/linux.c
===================================================================
--- parted-3.1.orig/libparted/arch/linux.c
+++ parted-3.1/libparted/arch/linux.c
@@ -2240,7 +2240,8 @@ _device_get_part_path (PedDevice *dev, i
(int) (path_len - 5), dev->path, num);
} else {
const char *p;
- if (dev->type == PED_DEVICE_CPQARRAY)
+ if (dev->type == PED_DEVICE_CPQARRAY ||
+ dev->type == PED_DEVICE_SDMMC)
p = "p";
else
p = (dev->type == PED_DEVICE_DAC960
++++++ libparted-initialize-dasd-part-type.patch ++++++
---
libparted/labels/dasd.c | 2 ++
1 file changed, 2 insertions(+)
Index: parted-3.1/libparted/labels/dasd.c
===================================================================
--- parted-3.1.orig/libparted/labels/dasd.c
+++ parted-3.1/libparted/labels/dasd.c
@@ -659,6 +659,8 @@ dasd_partition_new (const PedDisk* disk,
goto error;
part->disk_specific = ped_malloc (sizeof (DasdPartitionData));
+ if (part->disk_specific)
+ memset(part->disk_specific, 0, sizeof(DasdPartitionData));
return part;
error:
++++++ libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -14,15 +14,15 @@
libparted/unit.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-Index: parted-3.2/libparted/unit.c
+Index: parted-3.1/libparted/unit.c
===================================================================
---- parted-3.2.orig/libparted/unit.c
-+++ parted-3.2/libparted/unit.c
+--- parted-3.1.orig/libparted/unit.c
++++ parted-3.1/libparted/unit.c
@@ -551,7 +551,9 @@ ped_unit_parse_custom (const char* str,
do not use 4MiB as the range. Rather, presume that they
are specifying precisely the starting or ending number,
and treat "4MiB" just as we would treat "4194304B". */
-- if (is_power_of_2 (unit_size) && unit != PED_UNIT_PERCENT)
+- if (is_power_of_2 (unit_size))
+ if (is_power_of_2 (unit_size) &&
+ unit != PED_UNIT_PERCENT &&
+ unit != PED_UNIT_CYLINDER)
++++++ libparted-mklabel-to-support-EAV-DASD.patch ++++++
>From 95649fc7d025a68074c8a00581bd24d2bd7751bc Mon Sep 17 00:00:00 2001
From: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
Date: Wed, 21 Aug 2013 16:36:08 -0700
Subject: [PATCH] libparted: mklabel to support EAV DASD
Extended Address Volume (EAV) DASDs are ECKD DASDs with more than
65520 cylinders. This patch adds support for mklabel to properly
handle unformatted EAV DASDs.
Signed-off-by: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
---
include/parted/fdasd.in.h | 1 -
libparted/labels/fdasd.c | 92 +++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 90 insertions(+), 3 deletions(-)
diff --git a/include/parted/fdasd.in.h b/include/parted/fdasd.in.h
index b4e7dd1..3692596 100644
--- a/include/parted/fdasd.in.h
+++ b/include/parted/fdasd.in.h
@@ -288,7 +288,6 @@ void fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd);
void fdasd_check_api_version (fdasd_anchor_t *anc, int fd);
int fdasd_check_volume (fdasd_anchor_t *anc, int fd);
int fdasd_write_labels (fdasd_anchor_t *anc, int fd);
-int fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc);
void fdasd_recreate_vtoc(fdasd_anchor_t *anc);
partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc,
unsigned int start, unsigned int stop);
diff --git a/libparted/labels/fdasd.c b/libparted/labels/fdasd.c
index 2735b2a..b58b2be 100644
--- a/libparted/labels/fdasd.c
+++ b/libparted/labels/fdasd.c
@@ -581,6 +581,22 @@ fdasd_recreate_vtoc (fdasd_anchor_t *anc)
anc->vtoc_changed++;
}
+ /*
+ * initialize the VOL1 volume label
+ */
+static void
+fdasd_init_volume_label(fdasd_anchor_t *anc, int fd)
+{
+ volume_label_t *vlabel = anc->vlabel;
+
+ vtoc_volume_label_init(vlabel);
+ vtoc_volume_label_set_key(vlabel, "VOL1");
+ vtoc_volume_label_set_label(vlabel, "VOL1");
+
+ vtoc_set_cchhb(&vlabel->vtoc, VTOC_START_CC, VTOC_START_HH, 0x01);
+}
+
+
/*
* sets some important partition data
* (like used, start_trk, end_trk, len_trk)
@@ -769,6 +785,52 @@ fdasd_process_valid_vtoc (fdasd_anchor_t * anc, unsigned long b, int fd)
fdasd_update_partition_info (anc);
}
+static void
+fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc)
+{
+ PDEBUG
+ anc->formatted_cylinders = anc->hw_cylinders;
+ anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
+ - FIRST_USABLE_TRK;
+ vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+ anc->geo.cylinders, anc->formatted_cylinders,
+ anc->geo.heads, anc->geo.sectors,
+ anc->blksize, anc->dev_type);
+
+ vtoc_init_format5_label(anc->f5);
+ vtoc_init_format7_label(anc->f7);
+
+ vtoc_set_freespace(anc->f4, anc->f5, anc->f7, '+', anc->verbose,
+ FIRST_USABLE_TRK,
+ anc->formatted_cylinders * anc->geo.heads - 1,
+ anc->formatted_cylinders, anc->geo.heads);
+
+ vtoc_set_cchhb(&anc->vlabel->vtoc, VTOC_START_CC, VTOC_START_HH, 0x01);
+}
+
+/*
+ * we have a invalid FMT4 DSCB and therefore we will re-create the VTOC
+ */
+static void
+fdasd_process_invalid_vtoc(fdasd_anchor_t *anc)
+{
+ anc->formatted_cylinders = anc->hw_cylinders;
+ anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
+ - FIRST_USABLE_TRK;
+ vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+ anc->geo.cylinders, anc->formatted_cylinders,
+ anc->geo.heads, anc->geo.sectors,
+ anc->blksize, anc->dev_type);
+
+ vtoc_init_format5_label(anc->f5);
+ vtoc_init_format7_label(anc->f7);
+ vtoc_set_freespace(anc->f4, anc->f5, anc->f7, '+', anc->verbose,
+ FIRST_USABLE_TRK,
+ anc->formatted_cylinders * anc->geo.heads - 1,
+ anc->formatted_cylinders, anc->geo.heads);
+}
+
+
static int
fdasd_valid_vtoc_pointer(fdasd_anchor_t *anc, unsigned long b, int fd)
{
@@ -781,6 +843,8 @@ fdasd_valid_vtoc_pointer(fdasd_anchor_t *anc, unsigned long b, int fd)
if (anc->f4->DS4IDFMT == 0xf4) {
fdasd_process_valid_vtoc (anc, b, fd);
return 0;
+ } else {
+ fdasd_process_invalid_vtoc(anc);
}
if (strncmp(anc->vlabel->volkey, vtoc_ebcdic_enc("LNX1",str,4),4) == 0 ||
strncmp(anc->vlabel->volkey, vtoc_ebcdic_enc("CMS1",str,4),4) == 0)
@@ -817,13 +881,37 @@ fdasd_check_volume (fdasd_anchor_t *anc, int fd)
else
return 0;
} else {
- return 1;
+ fdasd_invalid_vtoc_pointer(anc);
}
} else if (strncmp (v->volkey, vtoc_ebcdic_enc ("LNX1", str, 4), 4) == 0 ||
strncmp (v->volkey, vtoc_ebcdic_enc ("CMS1", str, 4), 4) == 0) {
return 0;
- }
+ } else if (anc->FBA_layout == 1) {
+ /* Some times LDL formatted disks does not
+ contain any volume label */
+ return 1;
+ } else {
+ /* didn't find VOL1 volume label */
+ anc->formatted_cylinders = anc->hw_cylinders;
+ anc->fspace_trk = anc->formatted_cylinders * anc->geo.heads
+ - FIRST_USABLE_TRK;
+
+ fdasd_init_volume_label(anc, fd);
+ vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS,
+ anc->geo.cylinders, anc->formatted_cylinders,
+ anc->geo.heads, anc->geo.sectors,
+ anc->blksize, anc->dev_type);
+
+ vtoc_init_format5_label(anc->f5);
+ vtoc_init_format7_label(anc->f7);
+
+ vtoc_set_freespace(anc->f4, anc->f5, anc->f7, '+',
+ anc->verbose, FIRST_USABLE_TRK,
+ anc->formatted_cylinders * anc->geo.heads - 1,
+ anc->formatted_cylinders, anc->geo.heads);
+ return 0;
+ }
return 1;
}
--
1.8.4.5
++++++ libparted-mklabel-to-support-EDEV-DASD.patch ++++++
>From bdb439f660344404f27084c48fe7b9429436b9e9 Mon Sep 17 00:00:00 2001
From: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
Date: Wed, 21 Aug 2013 16:37:17 -0700
Subject: [PATCH] libparted: mklabel to support EDEV DASD
Fixed Block Access (FBA) DASDs are mainframe-specific disk devices
which are layed out as a sequence of 512-byte sectors. This patch adds
support for mklabel to properly handle FBA devices.
Signed-off-by: Nageswara R Sastry <rnsastry(a)linux.vnet.ibm.com>
---
libparted/labels/fdasd.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/libparted/labels/fdasd.c b/libparted/labels/fdasd.c
index 7de5f34..1f87937 100644
--- a/libparted/labels/fdasd.c
+++ b/libparted/labels/fdasd.c
@@ -870,19 +870,21 @@ fdasd_check_volume (fdasd_anchor_t *anc, int fd)
vtoc_read_volume_label (fd, anc->label_pos, v);
if (strncmp(v->vollbl, vtoc_ebcdic_enc ("VOL1", str, 4), 4) == 0) {
- /* found VOL1 volume label */
- b = (cchhb2blk (&v->vtoc, &anc->geo) - 1) * anc->blksize;
-
- if (b > 0) {
- int rc;
- rc = fdasd_valid_vtoc_pointer (anc, b, fd);
-
- if (rc < 0)
- return 1;
- else
- return 0;
- } else {
- fdasd_invalid_vtoc_pointer(anc);
+ if (anc->FBA_layout != 1 ) {
+ /* found VOL1 volume label */
+ b = (cchhb2blk (&v->vtoc, &anc->geo) - 1) * anc->blksize;
+
+ if (b > 0) {
+ int rc;
+ rc = fdasd_valid_vtoc_pointer (anc, b, fd);
+
+ if (rc < 0)
+ return 1;
+ else
+ return 0;
+ } else {
+ fdasd_invalid_vtoc_pointer(anc);
+ }
}
} else if (strncmp (v->volkey, vtoc_ebcdic_enc ("LNX1", str, 4), 4) == 0 ||
strncmp (v->volkey, vtoc_ebcdic_enc ("CMS1", str, 4), 4) == 0) {
--
1.8.4.5
++++++ libparted-ppc-prepboot-in-syncmbr.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/gpt.c | 3 +++
1 file changed, 3 insertions(+)
-Index: parted-3.2/libparted/labels/gpt.c
+Index: parted-3.1/libparted/labels/gpt.c
===================================================================
---- parted-3.2.orig/libparted/labels/gpt.c
-+++ parted-3.2/libparted/labels/gpt.c
-@@ -1216,6 +1216,9 @@ _part_to_ostype (PedPartition* part)
+--- parted-3.1.orig/libparted/labels/gpt.c
++++ parted-3.1/libparted/labels/gpt.c
+@@ -1183,6 +1183,9 @@ _part_to_ostype (PedPartition* part)
if (strncmp (part->fs_type->name, "hfs", 3) == 0) return 0xaf;
if (strstr (part->fs_type->name, "swap")) return 0x82;
}
++++++ libparted-use-BLKRRPART-for-DASD.patch.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -12,12 +12,12 @@
libparted/arch/linux.c | 50 ++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 41 insertions(+), 9 deletions(-)
-Index: parted-3.2/libparted/arch/linux.c
+Index: parted-3.1/libparted/arch/linux.c
===================================================================
---- parted-3.2.orig/libparted/arch/linux.c
-+++ parted-3.2/libparted/arch/linux.c
-@@ -3097,6 +3097,34 @@ _disk_sync_part_table (PedDisk* disk)
- }
+--- parted-3.1.orig/libparted/arch/linux.c
++++ parted-3.1/libparted/arch/linux.c
+@@ -2898,6 +2898,34 @@ _dm_reread_part_table (PedDisk* disk)
+ #endif
static int
+_kernel_reread_part_table (PedDevice* dev)
@@ -51,9 +51,9 @@
_have_blkpg ()
{
static int have_blkpg = -1;
-@@ -3114,15 +3142,19 @@ static int
- linux_disk_commit (PedDisk* disk)
- {
+@@ -2919,15 +2947,19 @@ linux_disk_commit (PedDisk* disk)
+ return _dm_reread_part_table (disk);
+ #endif
if (disk->dev->type != PED_DEVICE_FILE) {
-
- /* We now require BLKPG support. If this assertion fails,
++++++ more-reliable-informing-the-kernel.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -7,36 +7,42 @@
# 1. increase the max sleep time if partition is busy from 1 to 2 seconds
# 2. do not inform the kernel when only partition flags change - kernel
# does not care about the flags
+# 3. call 'udevadm settle' before doing BLKPG_DEL_PARTITION ioctl()
---
- libparted/arch/linux.c | 2 +-
+ libparted/arch/linux.c | 4 +++-
parted/parted.c | 28 +++++++++++++++++++++++++++-
- 2 files changed, 28 insertions(+), 2 deletions(-)
+ 2 files changed, 30 insertions(+), 2 deletions(-)
-Index: parted-3.2/libparted/arch/linux.c
+Index: parted-3.1/libparted/arch/linux.c
===================================================================
---- parted-3.2.orig/libparted/arch/linux.c
-+++ parted-3.2/libparted/arch/linux.c
-@@ -3011,7 +3011,7 @@ _disk_sync_part_table (PedDisk* disk)
- /* Attempt to remove the partition, retrying for
- up to max_sleep_seconds upon any failure due to EBUSY. */
- unsigned int sleep_microseconds = 10000;
-- unsigned int max_sleep_seconds = 1;
-+ unsigned int max_sleep_seconds = 2;
- unsigned int n_sleep = (max_sleep_seconds
- * 1000000 / sleep_microseconds);
- do {
-Index: parted-3.2/parted/parted.c
+--- parted-3.1.orig/libparted/arch/linux.c
++++ parted-3.1/libparted/arch/linux.c
+@@ -2585,10 +2585,12 @@ _disk_sync_part_table (PedDisk* disk)
+ if (!errnums)
+ goto cleanup;
+
++ system("/sbin/udevadm settle --timeout=20");
++
+ /* Attempt to remove each and every partition, retrying for
+ up to max_sleep_seconds upon any failure due to EBUSY. */
+ unsigned int sleep_microseconds = 10000;
+- unsigned int max_sleep_seconds = 1;
++ unsigned int max_sleep_seconds = 2;
+ unsigned int n_sleep = (max_sleep_seconds
+ * 1000000 / sleep_microseconds);
+ int i;
+Index: parted-3.1/parted/parted.c
===================================================================
---- parted-3.2.orig/parted/parted.c
-+++ parted-3.2/parted/parted.c
-@@ -266,6 +266,32 @@ _disk_warn_loss (PedDisk* disk)
+--- parted-3.1.orig/parted/parted.c
++++ parted-3.1/parted/parted.c
+@@ -258,6 +258,32 @@ _disk_warn_loss (PedDisk* disk)
disk->dev->path) == PED_EXCEPTION_YES;
}
+/*
-+ * Copied from ped_disk_commit(), but with removed the call to
-+ * ped_disk_commit_to_os(). This is used in do_set() - BLKPG* ioctls() do not
-+ * care about the partition flags anyway.
++ * Copied from ped_disk_commit() but removed the ped_disk_commit_to_os. We use
++ * this function in do_set - BLKPG* ioctls() does not care about the partition
++ * flags anyway.
+ */
+static int
+ped_disk_commit_just_to_disk (PedDisk* disk)
@@ -62,12 +68,12 @@
/* This function changes "sector" to "new_sector" if the new value lies
* within the required range.
*/
-@@ -1735,7 +1761,7 @@ do_set (PedDevice** dev, PedDisk **diskp
+@@ -1643,7 +1669,7 @@ do_set (PedDevice** dev)
if (!ped_partition_set_flag (part, flag, state))
- goto error;
-- if (!ped_disk_commit (*diskp))
-+ if (!ped_disk_commit_just_to_disk (*diskp))
- goto error;
+ goto error_destroy_disk;
+- if (!ped_disk_commit (disk))
++ if (!ped_disk_commit_just_to_disk (disk))
+ goto error_destroy_disk;
+ ped_disk_destroy (disk);
- if ((*dev)->type != PED_DEVICE_FILE)
++++++ parted-2.4-ncursesw6.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:41.000000000 +0200
@@ -2,11 +2,11 @@
configure.ac | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-Index: parted-3.2/configure.ac
+Index: parted-3.1/configure.ac
===================================================================
---- parted-3.2.orig/configure.ac
-+++ parted-3.2/configure.ac
-@@ -165,7 +165,8 @@ AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT"
+--- parted-3.1.orig/configure.ac
++++ parted-3.1/configure.ac
+@@ -164,7 +164,8 @@ AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT"
dnl Check for programs.
AC_ISC_POSIX
@@ -16,7 +16,7 @@
AC_PROG_GCC_TRADITIONAL
AM_PROG_CC_C_O
-@@ -377,7 +378,7 @@ dnl Check for termcap
+@@ -371,7 +372,7 @@ dnl Check for termcap
if test "$with_readline" = yes; then
OLD_LIBS="$LIBS"
LIBS=""
++++++ parted-3.2.tar.xz -> parted-3.1.tar.xz ++++++
++++ 139045 lines of diff (skipped)
++++++ parted-Add-Intel-Rapid-Start-Technology-partition.patch ++++++
>From e6a23531e0cb40c2cc75f1e8fbb86ab872cb6f1b Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl(a)redhat.com>
Date: Mon, 26 Aug 2013 16:27:00 -0700
Subject: [PATCH 65/69] libparted: Add Intel Rapid Start Technology partition
flag.
This adds support for the irst partition type flag. Sets the type to
0x84 on MS-DOS and D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593 on GPT.
---
doc/C/parted.8 | 2 +-
include/parted/disk.in.h | 5 +++--
libparted/disk.c | 2 ++
libparted/labels/dos.c | 21 +++++++++++++++++++++
libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
5 files changed, 64 insertions(+), 3 deletions(-)
Index: parted-3.1/doc/C/parted.8
===================================================================
--- parted-3.1.orig/doc/C/parted.8
+++ parted-3.1/doc/C/parted.8
@@ -104,7 +104,7 @@ or an LVM logical volume if necessary.
.B set \fIpartition\fP \fIflag\fP \fIstate\fP
Change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP.
Supported flags are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba",
-"legacy_boot" and "palo".
+"legacy_boot", "irst" and "palo".
\fIstate\fP should be either "on" or "off".
.TP
.B unit \fIunit\fP
Index: parted-3.1/include/parted/disk.in.h
===================================================================
--- parted-3.1.orig/include/parted/disk.in.h
+++ parted-3.1/include/parted/disk.in.h
@@ -73,10 +73,11 @@ enum _PedPartitionFlag {
PED_PARTITION_APPLE_TV_RECOVERY=13,
PED_PARTITION_DIAG=14,
PED_PARTITION_LEGACY_BOOT=15,
- PED_PARTITION_TYPE=16
+ PED_PARTITION_TYPE=16,
+ PED_PARTITION_IRST=17
};
#define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT
-#define PED_PARTITION_LAST_FLAG PED_PARTITION_TYPE
+#define PED_PARTITION_LAST_FLAG PED_PARTITION_IRST
enum _PedDiskTypeFeature {
PED_DISK_TYPE_EXTENDED=1, /**< supports extended partitions */
Index: parted-3.1/libparted/disk.c
===================================================================
--- parted-3.1.orig/libparted/disk.c
+++ parted-3.1/libparted/disk.c
@@ -2474,6 +2474,8 @@ ped_partition_flag_get_name (PedPartitio
return N_("diag");
case PED_PARTITION_LEGACY_BOOT:
return N_("legacy_boot");
+ case PED_PARTITION_IRST:
+ return N_("irst");
default:
ped_exception_throw (
Index: parted-3.1/libparted/labels/dos.c
===================================================================
--- parted-3.1.orig/libparted/labels/dos.c
+++ parted-3.1/libparted/labels/dos.c
@@ -85,6 +85,7 @@ static const char MBR_BOOT_CODE[] = {
#define PARTITION_LDM 0x42
#define PARTITION_LINUX_SWAP 0x82
#define PARTITION_LINUX 0x83
+#define PARTITION_IRST 0x84
#define PARTITION_LINUX_EXT 0x85
#define PARTITION_LINUX_LVM 0x8e
#define PARTITION_HFS 0xaf
@@ -159,6 +160,7 @@ typedef struct {
int palo;
int prep;
int diag;
+ int irst;
OrigState* orig; /* used for CHS stuff */
} DosPartitionData;
@@ -924,6 +926,7 @@ raw_part_parse (const PedDisk* disk, con
dos_data->lba = raw_part_is_lba (raw_part);
dos_data->palo = raw_part->type == PARTITION_PALO;
dos_data->prep = raw_part->type == PARTITION_PREP;
+ dos_data->irst = raw_part->type == PARTITION_IRST;
dos_data->orig = ped_malloc (sizeof (OrigState));
if (!dos_data->orig) {
ped_partition_destroy (part);
@@ -1339,6 +1342,7 @@ msdos_partition_new (const PedDisk* disk
dos_data->lba = 0;
dos_data->palo = 0;
dos_data->prep = 0;
+ dos_data->irst = 0;
} else {
part->disk_specific = NULL;
}
@@ -1374,6 +1378,7 @@ msdos_partition_duplicate (const PedPart
new_dos_data->lba = old_dos_data->lba;
new_dos_data->palo = old_dos_data->palo;
new_dos_data->prep = old_dos_data->prep;
+ new_dos_data->irst = old_dos_data->irst;
if (old_dos_data->orig) {
new_dos_data->orig = ped_malloc (sizeof (OrigState));
@@ -1422,6 +1427,7 @@ msdos_partition_set_system (PedPartition
dos_data->lvm = 0;
dos_data->palo = 0;
dos_data->prep = 0;
+ dos_data->irst = 0;
if (dos_data->lba)
dos_data->system = PARTITION_EXT_LBA;
else
@@ -1454,6 +1460,10 @@ msdos_partition_set_system (PedPartition
dos_data->system = PARTITION_PREP;
return 1;
}
+ if (dos_data->irst) {
+ dos_data->system = PARTITION_IRST;
+ return 1;
+ }
if (!fs_type)
dos_data->system = PARTITION_LINUX;
@@ -1490,6 +1500,7 @@ clear_flags (DosPartitionData *dos_data)
dos_data->lvm = 0;
dos_data->palo = 0;
dos_data->prep = 0;
+ dos_data->irst = 0;
dos_data->raid = 0;
}
@@ -1572,6 +1583,12 @@ msdos_partition_set_flag (PedPartition*
dos_data->prep = state;
return ped_partition_set_system (part, part->fs_type);
+ case PED_PARTITION_IRST:
+ if (state)
+ clear_flags (dos_data);
+ dos_data->irst = state;
+ return ped_partition_set_system (part, part->fs_type);
+
default:
return 0;
}
@@ -1617,6 +1634,9 @@ msdos_partition_get_flag (const PedParti
case PED_PARTITION_PREP:
return dos_data->prep;
+ case PED_PARTITION_IRST:
+ return dos_data->irst;
+
default:
return 0;
}
@@ -1640,6 +1660,7 @@ msdos_partition_is_flag_available (const
case PED_PARTITION_TYPE:
case PED_PARTITION_PALO:
case PED_PARTITION_PREP:
+ case PED_PARTITION_IRST:
case PED_PARTITION_DIAG:
return 1;
Index: parted-3.1/libparted/labels/gpt.c
===================================================================
--- parted-3.1.orig/libparted/labels/gpt.c
+++ parted-3.1/libparted/labels/gpt.c
@@ -142,6 +142,10 @@ typedef struct
((efi_guid_t) { PED_CPU_TO_LE32 (0x5265636F), PED_CPU_TO_LE16 (0x7665), \
PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \
{ 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }})
+#define PARTITION_IRST_GUID \
+ ((efi_guid_t) { PED_CPU_TO_LE32 (0xD3BFE2DE), PED_CPU_TO_LE16 (0x3DAF), \
+ PED_CPU_TO_LE16 (0x11DF), 0xba, 0x40, \
+ { 0xE3, 0xA5, 0x56, 0xD8, 0x95, 0x93 }})
struct __attribute__ ((packed)) _GuidPartitionTableHeader_t
{
@@ -283,6 +287,7 @@ typedef struct _GPTPartitionData
int atvrecv;
int msftrecv;
int legacy_boot;
+ int irst;
} GPTPartitionData;
static PedDiskType gpt_disk_type;
@@ -885,6 +890,7 @@ _parse_part_entry (PedDisk *disk, GuidPa
= gpt_part_data->hidden = gpt_part_data->msftres
= gpt_part_data->msftrecv
= gpt_part_data->legacy_boot
+ = gpt_part_data->irst
= gpt_part_data->bios_grub = gpt_part_data->atvrecv = 0;
if (pte->Attributes.RequiredToFunction & 0x1)
@@ -908,6 +914,8 @@ _parse_part_entry (PedDisk *disk, GuidPa
gpt_part_data->msftrecv = 1;
else if (!guid_cmp (gpt_part_data->type, PARTITION_APPLE_TV_RECOVERY_GUID))
gpt_part_data->atvrecv = 1;
+ else if (!guid_cmp (gpt_part_data->type, PARTITION_IRST_GUID))
+ gpt_part_data->irst = 1;
return part;
}
@@ -1531,6 +1539,7 @@ gpt_partition_new (const PedDisk *disk,
gpt_part_data->msftrecv = 0;
gpt_part_data->atvrecv = 0;
gpt_part_data->legacy_boot = 0;
+ gpt_part_data->irst = 0;
uuid_generate ((unsigned char *) &gpt_part_data->uuid);
swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid));
memset (gpt_part_data->name, 0, sizeof gpt_part_data->name);
@@ -1634,6 +1643,11 @@ gpt_partition_set_system (PedPartition *
gpt_part_data->type = PARTITION_APPLE_TV_RECOVERY_GUID;
return 1;
}
+ if (gpt_part_data->irst)
+ {
+ gpt_part_data->type = PARTITION_IRST_GUID;
+ return 1;
+ }
if (fs_type)
{
@@ -1774,6 +1788,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_BIOS_GRUB:
@@ -1785,6 +1800,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_RAID:
@@ -1796,6 +1812,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_LVM:
@@ -1807,6 +1824,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_HPSERVICE:
@@ -1818,6 +1836,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_MSFT_RESERVED:
@@ -1829,6 +1848,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftrecv
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_DIAG:
@@ -1840,6 +1860,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftres
+ = gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_APPLE_TV_RECOVERY:
@@ -1851,8 +1872,21 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftres
+ = gpt_part_data->irst
= gpt_part_data->msftrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
+ case PED_PARTITION_IRST:
+ gpt_part_data->irst = state;
+ if (state)
+ gpt_part_data->boot
+ = gpt_part_data->raid
+ = gpt_part_data->lvm
+ = gpt_part_data->bios_grub
+ = gpt_part_data->hp_service
+ = gpt_part_data->msftres
+ = gpt_part_data->msftrecv
+ = gpt_part_data->atvrecv = 0;
+ return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_HIDDEN:
gpt_part_data->hidden = state;
return 1;
@@ -1897,6 +1931,8 @@ gpt_partition_get_flag (const PedPartiti
return gpt_part_data->hidden;
case PED_PARTITION_LEGACY_BOOT:
return gpt_part_data->legacy_boot;
+ case PED_PARTITION_IRST:
+ return gpt_part_data->irst;
case PED_PARTITION_SWAP:
case PED_PARTITION_LBA:
case PED_PARTITION_ROOT:
@@ -1922,6 +1958,7 @@ gpt_partition_is_flag_available (const P
case PED_PARTITION_APPLE_TV_RECOVERY:
case PED_PARTITION_HIDDEN:
case PED_PARTITION_LEGACY_BOOT:
+ case PED_PARTITION_IRST:
return 1;
case PED_PARTITION_SWAP:
case PED_PARTITION_ROOT:
++++++ parted-GPT-add-support-for-PReP-GUID.patch ++++++
>From d151cc20af79c89383ffacc89c1f646f831fc3e6 Mon Sep 17 00:00:00 2001
From: Daniel Battaiola Kreling <dbkreling(a)br.ibm.com>
Date: Mon, 7 Oct 2013 11:51:50 +0530
Subject: [PATCH] GPT: add support for PReP GUID
PReP (PowerPC Reference Platform) boot partition is the first partition used in
PowerPC platform for containing the bootable kernel or bootloader. The firmware
searches for this partition and jumps to it for booting. So far no GUID was
specified for this partition type and hence booting from GPT disk was not
supported on this platform. A new GUID 9e1a2d38-c612-4316-aa26-8b49521e5a8b for
PReP partition is proposed to be included in GPT.
---
NEWS | 7 +++++++
doc/parted.texi | 2 +-
libparted/labels/gpt.c | 38 ++++++++++++++++++++++++++++++++++++++
3 files changed, 46 insertions(+), 1 deletion(-)
Index: parted-3.1/NEWS
===================================================================
--- parted-3.1.orig/NEWS
+++ parted-3.1/NEWS
@@ -1,5 +1,12 @@
GNU parted NEWS -*- outline -*-
+* Noteworthy changes post release 3.1
+
+** New features
+
+ Add support for prep flag to GPT to select PowerPC Reference Platform
+ boot partition type.
+
* Noteworthy changes in release 3.1 (2012-03-02) [stable]
** New features
Index: parted-3.1/doc/parted.texi
===================================================================
--- parted-3.1.orig/doc/parted.texi
+++ parted-3.1/doc/parted.texi
@@ -822,7 +822,7 @@ physical volume.
by the Linux/PA-RISC boot loader, palo.
@item PREP
-(MS-DOS) - this flag can be enabled so that the partition can be used
+(MS-DOS, GPT) - this flag can be enabled so that the partition can be used
as a PReP boot partition on PowerPC PReP or IBM RS6K/CHRP hardware.
@item DIAG
Index: parted-3.1/libparted/labels/gpt.c
===================================================================
--- parted-3.1.orig/libparted/labels/gpt.c
+++ parted-3.1/libparted/labels/gpt.c
@@ -142,6 +142,10 @@ typedef struct
((efi_guid_t) { PED_CPU_TO_LE32 (0x5265636F), PED_CPU_TO_LE16 (0x7665), \
PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \
{ 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }})
+#define PARTITION_PREP_GUID \
+ ((efi_guid_t) { PED_CPU_TO_LE32 (0x9e1a2d38), PED_CPU_TO_LE16 (0xc612), \
+ PED_CPU_TO_LE16 (0x4316), 0xaa, 0x26, \
+ { 0x8b, 0x49, 0x52, 0x1e, 0x5a, 0x8b }})
#define PARTITION_IRST_GUID \
((efi_guid_t) { PED_CPU_TO_LE32 (0xD3BFE2DE), PED_CPU_TO_LE16 (0x3DAF), \
PED_CPU_TO_LE16 (0x11DF), 0xba, 0x40, \
@@ -287,6 +291,7 @@ typedef struct _GPTPartitionData
int atvrecv;
int msftrecv;
int legacy_boot;
+ int prep;
int irst;
} GPTPartitionData;
@@ -890,6 +895,7 @@ _parse_part_entry (PedDisk *disk, GuidPa
= gpt_part_data->hidden = gpt_part_data->msftres
= gpt_part_data->msftrecv
= gpt_part_data->legacy_boot
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->bios_grub = gpt_part_data->atvrecv = 0;
@@ -914,6 +920,8 @@ _parse_part_entry (PedDisk *disk, GuidPa
gpt_part_data->msftrecv = 1;
else if (!guid_cmp (gpt_part_data->type, PARTITION_APPLE_TV_RECOVERY_GUID))
gpt_part_data->atvrecv = 1;
+ else if (!guid_cmp (gpt_part_data->type, PARTITION_PREP_GUID))
+ gpt_part_data->prep = 1;
else if (!guid_cmp (gpt_part_data->type, PARTITION_IRST_GUID))
gpt_part_data->irst = 1;
@@ -1539,6 +1547,7 @@ gpt_partition_new (const PedDisk *disk,
gpt_part_data->msftrecv = 0;
gpt_part_data->atvrecv = 0;
gpt_part_data->legacy_boot = 0;
+ gpt_part_data->prep = 0;
gpt_part_data->irst = 0;
uuid_generate ((unsigned char *) &gpt_part_data->uuid);
swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid));
@@ -1613,6 +1622,11 @@ gpt_partition_set_system (PedPartition *
gpt_part_data->type = PARTITION_RAID_GUID;
return 1;
}
+ if (gpt_part_data->prep)
+ {
+ gpt_part_data->type = PARTITION_PREP_GUID;
+ return 1;
+ }
if (gpt_part_data->boot)
{
gpt_part_data->type = PARTITION_SYSTEM_GUID;
@@ -1788,6 +1802,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1800,6 +1815,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1812,6 +1828,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1824,6 +1841,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1836,6 +1854,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1848,6 +1867,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1860,6 +1880,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftres
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
@@ -1872,9 +1893,22 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->bios_grub
= gpt_part_data->hp_service
= gpt_part_data->msftres
+ = gpt_part_data->prep
= gpt_part_data->irst
= gpt_part_data->msftrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
+ case PED_PARTITION_PREP:
+ gpt_part_data->prep = state;
+ if (state)
+ gpt_part_data->boot
+ = gpt_part_data->raid
+ = gpt_part_data->lvm
+ = gpt_part_data->bios_grub
+ = gpt_part_data->hp_service
+ = gpt_part_data->msftres
+ = gpt_part_data->msftrecv
+ = gpt_part_data->atvrecv = 0;
+ return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_IRST:
gpt_part_data->irst = state;
if (state)
@@ -1885,6 +1919,7 @@ gpt_partition_set_flag (PedPartition *pa
= gpt_part_data->hp_service
= gpt_part_data->msftres
= gpt_part_data->msftrecv
+ = gpt_part_data->prep
= gpt_part_data->atvrecv = 0;
return gpt_partition_set_system (part, part->fs_type);
case PED_PARTITION_HIDDEN:
@@ -1931,6 +1966,8 @@ gpt_partition_get_flag (const PedPartiti
return gpt_part_data->hidden;
case PED_PARTITION_LEGACY_BOOT:
return gpt_part_data->legacy_boot;
+ case PED_PARTITION_PREP:
+ return gpt_part_data->prep;
case PED_PARTITION_IRST:
return gpt_part_data->irst;
case PED_PARTITION_SWAP:
@@ -1959,6 +1996,7 @@ gpt_partition_is_flag_available (const P
case PED_PARTITION_HIDDEN:
case PED_PARTITION_LEGACY_BOOT:
case PED_PARTITION_IRST:
+ case PED_PARTITION_PREP:
return 1;
case PED_PARTITION_SWAP:
case PED_PARTITION_ROOT:
++++++ parted-btrfs-support.patch ++++++
commit 85e5fcd1bb0fe91d8908e8a638e9827979b6feff
Author: Luca Bruno <lucab(a)debian.org>
Date: Thu Feb 12 15:15:30 2009 +0100
Initial btrfs support, only recognize it for now
Add initial btrfs support to libparted; just discovering
the declared magic entry at the right place to recognize
filesystem type, for the moment.
Signed-off-by: Luca Bruno <lucab(a)debian.org>
---
libparted/fs/Makefile.am | 1
libparted/fs/btrfs/btrfs.c | 96 ++
libparted/libparted.c | 4
4 files changed, 1933 insertions(+)
Index: parted-3.1/libparted/fs/Makefile.am
===================================================================
--- parted-3.1.orig/libparted/fs/Makefile.am
+++ parted-3.1/libparted/fs/Makefile.am
@@ -25,6 +25,7 @@ libfs_la_SOURCES = \
amiga/asfs.c \
amiga/asfs.h \
amiga/a-interface.c \
+ btrfs/btrfs.c \
ext2/ext2.h \
ext2/ext2_fs.h \
ext2/interface.c \
Index: parted-3.1/libparted/fs/btrfs/btrfs.c
===================================================================
--- /dev/null
+++ parted-3.1/libparted/fs/btrfs/btrfs.c
@@ -0,0 +1,96 @@
+/*
+ libparted - a library for manipulating disk partitions
+ Copyright (C) 2009 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#include <parted/parted.h>
+#include <parted/endian.h>
+
+#if ENABLE_NLS
+# include <libintl.h>
+# define _(String) dgettext (PACKAGE, String)
+#else
+# define _(String) (String)
+#endif /* ENABLE_NLS */
+
+#include <unistd.h>
+
+#define BTRFS_BLOCK_SIZES ((int[2]){1024, 0})
+#define BTRFS_SUPER_INFO_SIZE 4096
+#define BTRFS_SUPER_INFO_OFFSET (64 * 1024)
+
+//Should be definitive, as of v0.18
+#define BTRFS_SIGNATURE 0x4D5F53665248425F
+
+static PedGeometry*
+btrfs_probe (PedGeometry* geom)
+{
+ char buf[BTRFS_SUPER_INFO_SIZE];
+
+ uint64_t magic;
+
+ if (!ped_geometry_read (geom, buf,
+ (BTRFS_SUPER_INFO_OFFSET / 512),
+ (BTRFS_SUPER_INFO_SIZE / 512)))
+ return 0;
+
+ memcpy(&magic, buf + 64, sizeof(uint64_t));
+
+ if (magic == PED_CPU_TO_LE64(BTRFS_SIGNATURE))
+ return ped_geometry_new (geom->dev, geom->start, geom->length);
+ else
+ return NULL;
+}
+
+#ifndef DISCOVER_ONLY
+static int
+btrfs_clobber (PedGeometry* geom)
+{
+ char buf[BTRFS_SUPER_INFO_SIZE];
+
+ memset (buf, 0, BTRFS_SUPER_INFO_SIZE);
+ return ped_geometry_write (geom, buf,
+ (BTRFS_SUPER_INFO_OFFSET / 512),
+ (BTRFS_SUPER_INFO_SIZE / 512));
+}
+#endif /* !DISCOVER_ONLY */
+
+static PedFileSystemOps btrfs_ops = {
+ probe: btrfs_probe,
+};
+
+static PedFileSystemType btrfs_type = {
+ next: NULL,
+ ops: &btrfs_ops,
+ name: "btrfs",
+ block_sizes: BTRFS_BLOCK_SIZES
+};
+
+void
+ped_file_system_btrfs_init ()
+{
+ ped_file_system_type_register (&btrfs_type);
+}
+
+void
+ped_file_system_btrfs_done ()
+{
+ ped_file_system_type_unregister (&btrfs_type);
+}
+
+
Index: parted-3.1/libparted/libparted.c
===================================================================
--- parted-3.1.orig/libparted/libparted.c
+++ parted-3.1/libparted/libparted.c
@@ -109,6 +109,7 @@ extern void ped_file_system_hfs_init (vo
extern void ped_file_system_fat_init (void);
extern void ped_file_system_ext2_init (void);
extern void ped_file_system_nilfs2_init (void);
+extern void ped_file_system_btrfs_init (void);
static void
init_file_system_types ()
@@ -124,6 +125,7 @@ init_file_system_types ()
ped_file_system_fat_init ();
ped_file_system_ext2_init ();
ped_file_system_nilfs2_init ();
+ ped_file_system_btrfs_init ();
}
extern void ped_disk_aix_done ();
@@ -185,6 +187,7 @@ extern void ped_file_system_ntfs_done (v
extern void ped_file_system_reiserfs_done (void);
extern void ped_file_system_ufs_done (void);
extern void ped_file_system_xfs_done (void);
+extern void ped_file_system_btrfs_done (void);
extern void ped_file_system_amiga_done (void);
static void
@@ -200,6 +203,7 @@ done_file_system_types ()
ped_file_system_reiserfs_done ();
ped_file_system_ufs_done ();
ped_file_system_xfs_done ();
+ ped_file_system_btrfs_done ();
ped_file_system_amiga_done ();
}
++++++ parted-fix-cciss-partition-naming.patch ++++++
---
libparted/arch/linux.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Index: parted-3.1/libparted/arch/linux.c
===================================================================
--- parted-3.1.orig/libparted/arch/linux.c
+++ parted-3.1/libparted/arch/linux.c
@@ -2239,8 +2239,11 @@ _device_get_part_path (PedDevice *dev, i
result = zasprintf ("%.*s/part%d",
(int) (path_len - 5), dev->path, num);
} else {
- char const *p = (dev->type == PED_DEVICE_DAC960
- || dev->type == PED_DEVICE_CPQARRAY
+ const char *p;
+ if (dev->type == PED_DEVICE_CPQARRAY)
+ p = "p";
+ else
+ p = (dev->type == PED_DEVICE_DAC960
|| dev->type == PED_DEVICE_ATARAID
|| isdigit (dev->path[path_len - 1])
? "_part" : "");
++++++ parted-gpt-mbr-sync.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:42.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/gpt.c | 240 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 236 insertions(+), 4 deletions(-)
-Index: parted-3.2/libparted/labels/gpt.c
+Index: parted-3.1/libparted/labels/gpt.c
===================================================================
---- parted-3.2.orig/libparted/labels/gpt.c
-+++ parted-3.2/libparted/labels/gpt.c
-@@ -305,6 +305,7 @@ typedef struct _GPTPartitionData
+--- parted-3.1.orig/libparted/labels/gpt.c
++++ parted-3.1/libparted/labels/gpt.c
+@@ -286,6 +286,7 @@ typedef struct _GPTPartitionData
} GPTPartitionData;
static PedDiskType gpt_disk_type;
@@ -14,7 +14,7 @@
static inline uint32_t
pth_get_size (const PedDevice *dev)
-@@ -473,8 +474,50 @@ _pmbr_is_valid (const LegacyMBR_t *mbr)
+@@ -454,8 +455,50 @@ _pmbr_is_valid (const LegacyMBR_t *mbr)
return 0;
}
@@ -64,10 +64,10 @@
-gpt_probe (const PedDevice *dev)
+_gpt_probe_generic(const PedDevice *dev)
{
+ GuidPartitionTableHeader_t *gpt = NULL;
int gpt_sig_found = 0;
-
@@ -508,6 +551,19 @@ gpt_probe (const PedDevice *dev)
- return gpt_sig_found;
+ return ok;
}
+static int
@@ -86,7 +86,7 @@
static PedDisk *
gpt_alloc (const PedDevice *dev)
{
-@@ -553,6 +609,36 @@ error:
+@@ -546,6 +602,36 @@ error:
}
static PedDisk *
@@ -123,7 +123,7 @@
gpt_duplicate (const PedDisk *disk)
{
PedDisk *new_disk;
-@@ -963,7 +1049,7 @@ gpt_read (PedDisk *disk)
+@@ -930,7 +1016,7 @@ gpt_read (PedDisk *disk)
/* motivation: let the user decide about the pmbr... during
ped_disk_probe(), they probably didn't get a choice... */
@@ -132,7 +132,7 @@
goto error;
GuidPartitionTableHeader_t *gpt = NULL;
-@@ -1120,11 +1206,59 @@ error:
+@@ -1087,11 +1173,59 @@ error:
return 0;
}
@@ -193,7 +193,7 @@
/* The UEFI spec is not clear about what to do with the following
elements of the Protective MBR (pmbr): BootCode (0-440B),
UniqueMBRSignature (440B-444B) and Unknown (444B-446B).
-@@ -1138,6 +1272,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_b
+@@ -1105,6 +1239,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_b
memset (pmbr->PartitionRecord, 0, sizeof pmbr->PartitionRecord);
pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE);
@@ -202,7 +202,7 @@
pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI;
pmbr->PartitionRecord[0].StartSector = 1;
pmbr->PartitionRecord[0].EndHead = 0xFE;
-@@ -1150,6 +1286,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_b
+@@ -1117,6 +1253,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_b
pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (dev->length - 1UL);
if (pmbr_boot)
pmbr->PartitionRecord[0].BootIndicator = 0x80;
@@ -263,7 +263,7 @@
int write_ok = ped_device_write (dev, pmbr, GPT_PMBR_LBA,
GPT_PMBR_SECTORS);
-@@ -1269,7 +1459,7 @@ gpt_write (const PedDisk *disk)
+@@ -1237,7 +1427,7 @@ gpt_write (const PedDisk *disk)
ptes_crc = efi_crc32 (ptes, ptes_bytes);
/* Write protective MBR */
@@ -272,7 +272,7 @@
goto error_free_ptes;
/* Write PTH and PTEs */
-@@ -2034,6 +2224,38 @@ static PedDiskOps gpt_disk_ops =
+@@ -1857,6 +2047,38 @@ static PedDiskOps gpt_disk_ops =
PT_op_function_initializers (gpt)
};
@@ -311,7 +311,7 @@
static PedDiskType gpt_disk_type =
{
next: NULL,
-@@ -2042,16 +2264,26 @@ static PedDiskType gpt_disk_type =
+@@ -1865,16 +2087,26 @@ static PedDiskType gpt_disk_type =
features: PED_DISK_TYPE_PARTITION_NAME
};
++++++ parted-mac.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:42.000000000 +0200
@@ -3,13 +3,13 @@
libparted/disk.c | 33 +++++++++++++++++++++++++++++++++
libparted/labels/mac.c | 34 +++++++++++++++++++++++++++++++++-
parted/parted.c | 12 ++++++++++++
- 4 files changed, 85 insertions(+), 3 deletions(-)
+ 5 files changed, 92 insertions(+), 5 deletions(-)
-Index: parted-3.2/include/parted/disk.in.h
+Index: parted-3.1/include/parted/disk.in.h
===================================================================
---- parted-3.2.orig/include/parted/disk.in.h
-+++ parted-3.2/include/parted/disk.in.h
-@@ -83,10 +83,11 @@ enum _PedPartitionFlag {
+--- parted-3.1.orig/include/parted/disk.in.h
++++ parted-3.1/include/parted/disk.in.h
+@@ -80,10 +80,11 @@ enum _PedPartitionFlag {
enum _PedDiskTypeFeature {
PED_DISK_TYPE_EXTENDED=1, /**< supports extended partitions */
@@ -23,16 +23,16 @@
struct _PedDisk;
struct _PedPartition;
-@@ -246,6 +247,8 @@ struct _PedDiskOps {
+@@ -243,6 +244,8 @@ struct _PedDiskOps {
/* other */
int (*alloc_metadata) (PedDisk* disk);
int (*get_max_primary_partition_count) (const PedDisk* disk);
-+ void (*partition_set_system_name) (PedPartition* part, const char* name);
-+ const char* (*partition_get_system_name) (const PedPartition* part);
++ void (*partition_set_system_name) (PedPartition* part, const char* name);
++ const char* (*partition_get_system_name) (const PedPartition* part);
bool (*get_max_supported_partition_count) (const PedDisk* disk,
int* supported);
PedAlignment *(*get_partition_alignment)(const PedDisk *disk);
-@@ -337,7 +340,9 @@ extern int ped_partition_is_flag_availab
+@@ -334,7 +337,9 @@ extern int ped_partition_is_flag_availab
extern int ped_partition_set_system (PedPartition* part,
const PedFileSystemType* fs_type);
extern int ped_partition_set_name (PedPartition* part, const char* name);
@@ -42,11 +42,11 @@
extern int ped_partition_is_busy (const PedPartition* part);
extern char* ped_partition_get_path (const PedPartition* part);
-Index: parted-3.2/libparted/disk.c
+Index: parted-3.1/libparted/disk.c
===================================================================
---- parted-3.2.orig/libparted/disk.c
-+++ parted-3.2/libparted/disk.c
-@@ -1184,6 +1184,39 @@ _disk_pop_update_mode (PedDisk* disk)
+--- parted-3.1.orig/libparted/disk.c
++++ parted-3.1/libparted/disk.c
+@@ -1180,6 +1180,39 @@ _disk_pop_update_mode (PedDisk* disk)
* @{
*/
@@ -86,12 +86,12 @@
PedPartition*
_ped_partition_alloc (const PedDisk* disk, PedPartitionType type,
const PedFileSystemType* fs_type,
-Index: parted-3.2/libparted/labels/mac.c
+Index: parted-3.1/libparted/labels/mac.c
===================================================================
---- parted-3.2.orig/libparted/labels/mac.c
-+++ parted-3.2/libparted/labels/mac.c
-@@ -1393,6 +1393,36 @@ mac_get_partition_alignment(const PedDis
- return ped_alignment_new(0, 1);
+--- parted-3.1.orig/libparted/labels/mac.c
++++ parted-3.1/libparted/labels/mac.c
+@@ -1395,6 +1395,36 @@ mac_get_partition_alignment(const PedDis
+ return ped_alignment_new(0, sector_size);
}
+/* we do not really want to call this ... yet */
@@ -127,7 +127,7 @@
static PedConstraint*
_primary_constraint (PedDisk* disk)
{
-@@ -1593,6 +1623,8 @@ static PedDiskOps mac_disk_ops = {
+@@ -1598,6 +1628,8 @@ static PedDiskOps mac_disk_ops = {
partition_set_name: mac_partition_set_name,
partition_get_name: mac_partition_get_name,
@@ -136,7 +136,7 @@
get_partition_alignment: mac_get_partition_alignment,
-@@ -1603,7 +1635,7 @@ static PedDiskType mac_disk_type = {
+@@ -1608,7 +1640,7 @@ static PedDiskType mac_disk_type = {
next: NULL,
name: "mac",
ops: &mac_disk_ops,
@@ -145,11 +145,11 @@
};
void
-Index: parted-3.2/parted/parted.c
+Index: parted-3.1/parted/parted.c
===================================================================
---- parted-3.2.orig/parted/parted.c
-+++ parted-3.2/parted/parted.c
-@@ -888,6 +888,7 @@ static char*
+--- parted-3.1.orig/parted/parted.c
++++ parted-3.1/parted/parted.c
+@@ -889,6 +889,7 @@ static char*
partition_print_flags (PedPartition const *part)
{
int xtype;
@@ -157,7 +157,7 @@
char *res = xstrdup ("");
if (!part)
return res;
-@@ -920,6 +921,17 @@ partition_print_flags (PedPartition cons
+@@ -921,6 +922,17 @@ partition_print_flags (PedPartition cons
}
}
++++++ parted-resize-command.patch ++++++
---
parted/parted.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
Index: parted-3.1/parted/parted.c
===================================================================
--- parted-3.1.orig/parted/parted.c
+++ parted-3.1/parted/parted.c
@@ -152,6 +152,9 @@ static const char* fs_type_msg_start = N
static const char* start_end_msg = N_("START and END are disk locations, such as "
"4GB or 10%. Negative values count from the end of the disk. "
"For example, -1s specifies exactly the last sector.\n");
+static const char* end_msg = N_("END is disk location, such as "
+ "4GB or 10%. Negative value counts from the end of the disk. "
+ "For example, -1s specifies exactly the last sector.\n");
static const char* state_msg = N_("STATE is one of: on, off\n");
static const char* device_msg = N_("DEVICE is usually /dev/hda or /dev/sda\n");
static const char* name_msg = N_("NAME is any word you want\n");
@@ -461,6 +464,21 @@ constraint_from_start_end (PedDevice* de
range_start, range_end, 1, dev->length);
}
+static PedConstraint*
+constraint_from_start_end_fixed_start (PedDevice* dev, PedSector start_sector,
+ PedGeometry* range_end)
+{
+ PedGeometry range_start;
+ range_start.dev = dev;
+ range_start.start = start_sector;
+ range_start.end = start_sector;
+ range_start.length = 1;
+
+ return ped_constraint_new (ped_alignment_any, ped_alignment_any,
+ &range_start, range_end, 1, dev->length);
+}
+
+
void
help_on (char* topic)
{
@@ -1527,6 +1545,66 @@ error:
return 0;
}
+
+static int
+do_resize (PedDevice** dev)
+{
+ PedDisk *disk;
+ PedPartition *part = NULL;
+ PedSector start, end, oldend;
+ PedGeometry *range_end = NULL;
+ PedConstraint* constraint;
+
+ disk = ped_disk_new (*dev);
+ if (!disk)
+ goto error;
+
+ if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT))
+ if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT,
+ alignment == ALIGNMENT_CYLINDER))
+ goto error;
+
+ if (!command_line_get_partition (_("Partition number?"), disk, &part))
+ goto error;
+ if (!_partition_warn_busy (part))
+ goto error;
+
+ start = part->geom.start;
+ end = oldend = part->geom.end;
+ if (!command_line_get_sector (_("End?"), *dev, &end, &range_end, NULL))
+ goto error;
+ /* Do not move start of the partition */
+ constraint = constraint_from_start_end_fixed_start (*dev, start, range_end);
+ if (!ped_disk_set_partition_geom (disk, part, constraint,
+ start, end))
+ goto error_destroy_constraint;
+ /* warn when shrinking partition - might lose data */
+ if (!opt_script_mode && (part->geom.end < oldend))
+ if (ped_exception_throw (
+ PED_EXCEPTION_WARNING,
+ PED_EXCEPTION_YES_NO,
+ _("Shrinking a partition can cause data loss, " \
+ "are you sure you want to continue?")) != PED_EXCEPTION_YES)
+ goto error_destroy_constraint;
+ ped_disk_commit (disk);
+ ped_constraint_destroy (constraint);
+ if (range_end != NULL)
+ ped_geometry_destroy (range_end);
+
+ if ((*dev)->type != PED_DEVICE_FILE)
+ disk_is_modified = 1;
+
+ return 1;
+
+error_destroy_constraint:
+ ped_constraint_destroy (constraint);
+error:
+ if (range_end != NULL)
+ ped_geometry_destroy (range_end);
+ return 0;
+}
+
+
static int
do_rm (PedDevice** dev)
{
@@ -1948,6 +2026,14 @@ NULL),
str_list_create (_(start_end_msg), NULL), 1));
command_register (commands, command_create (
+ str_list_create_unique ("resize", _("resize"), NULL),
+ do_resize,
+ str_list_create (
+_("resize NUMBER END change end sector of partition NUMBER"),
+NULL),
+ str_list_create (_(number_msg), _(end_msg), NULL), 1));
+
+command_register (commands, command_create (
str_list_create_unique ("rm", _("rm"), NULL),
do_rm,
str_list_create (
++++++ parted-type.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:42.000000000 +0200
@@ -2,33 +2,33 @@
include/parted/disk.in.h | 5 ++-
libparted/disk.c | 2 +
libparted/labels/dos.c | 8 ++++++
- parted/parted.c | 61 ++++++++++++++++++++++++++++++-----------------
+ parted/parted.c | 59 +++++++++++++++++++++++++++++++----------------
parted/ui.c | 3 ++
- 5 files changed, 56 insertions(+), 23 deletions(-)
+ 6 files changed, 58 insertions(+), 24 deletions(-)
-Index: parted-3.2/include/parted/disk.in.h
+Index: parted-3.1/include/parted/disk.in.h
===================================================================
---- parted-3.2.orig/include/parted/disk.in.h
-+++ parted-3.2/include/parted/disk.in.h
-@@ -75,10 +75,11 @@ enum _PedPartitionFlag {
- PED_PARTITION_LEGACY_BOOT=15,
- PED_PARTITION_MSFT_DATA=16,
- PED_PARTITION_IRST=17,
-- PED_PARTITION_ESP=18
-+ PED_PARTITION_ESP=18,
-+ PED_PARTITION_TYPE=19
+--- parted-3.1.orig/include/parted/disk.in.h
++++ parted-3.1/include/parted/disk.in.h
+@@ -72,10 +72,11 @@ enum _PedPartitionFlag {
+ PED_PARTITION_BIOS_GRUB=12,
+ PED_PARTITION_APPLE_TV_RECOVERY=13,
+ PED_PARTITION_DIAG=14,
+- PED_PARTITION_LEGACY_BOOT=15
++ PED_PARTITION_LEGACY_BOOT=15,
++ PED_PARTITION_TYPE=16
};
#define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT
--#define PED_PARTITION_LAST_FLAG PED_PARTITION_ESP
+-#define PED_PARTITION_LAST_FLAG PED_PARTITION_LEGACY_BOOT
+#define PED_PARTITION_LAST_FLAG PED_PARTITION_TYPE
enum _PedDiskTypeFeature {
PED_DISK_TYPE_EXTENDED=1, /**< supports extended partitions */
-Index: parted-3.2/libparted/disk.c
+Index: parted-3.1/libparted/disk.c
===================================================================
---- parted-3.2.orig/libparted/disk.c
-+++ parted-3.2/libparted/disk.c
-@@ -2388,6 +2388,8 @@ ped_partition_flag_get_name (PedPartitio
+--- parted-3.1.orig/libparted/disk.c
++++ parted-3.1/libparted/disk.c
+@@ -2427,6 +2427,8 @@ ped_partition_flag_get_name (PedPartitio
return N_("lba");
case PED_PARTITION_HPSERVICE:
return N_("hp-service");
@@ -37,11 +37,11 @@
case PED_PARTITION_PALO:
return N_("palo");
case PED_PARTITION_PREP:
-Index: parted-3.2/libparted/labels/dos.c
+Index: parted-3.1/libparted/labels/dos.c
===================================================================
---- parted-3.2.orig/libparted/labels/dos.c
-+++ parted-3.2/libparted/labels/dos.c
-@@ -1550,6 +1550,10 @@ msdos_partition_set_flag (PedPartition*
+--- parted-3.1.orig/libparted/labels/dos.c
++++ parted-3.1/libparted/labels/dos.c
+@@ -1509,6 +1509,10 @@ msdos_partition_set_flag (PedPartition*
disk = part->disk;
switch (flag) {
@@ -52,7 +52,7 @@
case PED_PARTITION_HIDDEN:
if (part->type == PED_PARTITION_EXTENDED) {
ped_exception_throw (
-@@ -1657,6 +1661,9 @@ msdos_partition_get_flag (const PedParti
+@@ -1604,6 +1608,9 @@ msdos_partition_get_flag (const PedParti
case PED_PARTITION_LBA:
return dos_data->lba;
@@ -62,19 +62,19 @@
case PED_PARTITION_PALO:
return dos_data->palo;
-@@ -1689,6 +1696,7 @@ msdos_partition_is_flag_available (const
+@@ -1630,6 +1637,7 @@ msdos_partition_is_flag_available (const
case PED_PARTITION_RAID:
case PED_PARTITION_LVM:
case PED_PARTITION_LBA:
+ case PED_PARTITION_TYPE:
case PED_PARTITION_PALO:
case PED_PARTITION_PREP:
- case PED_PARTITION_IRST:
-Index: parted-3.2/parted/parted.c
+ case PED_PARTITION_DIAG:
+Index: parted-3.1/parted/parted.c
===================================================================
---- parted-3.2.orig/parted/parted.c
-+++ parted-3.2/parted/parted.c
-@@ -887,28 +887,40 @@ error:
+--- parted-3.1.orig/parted/parted.c
++++ parted-3.1/parted/parted.c
+@@ -888,28 +888,40 @@ error:
static char*
partition_print_flags (PedPartition const *part)
{
@@ -134,33 +134,32 @@
}
static int
-@@ -1726,12 +1738,19 @@ do_set (PedDevice** dev, PedDisk **diskp
- goto error;
+@@ -1660,12 +1672,19 @@ do_set (PedDevice** dev)
+ goto error_destroy_disk;
if (!command_line_get_part_flag (_("Flag to Invert?"), part, &flag))
- goto error;
-- state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0);
-+ if( flag == PED_PARTITION_TYPE )
-+ state = ped_partition_get_flag (part, flag);
-+ else
-+ state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0);
+ goto error_destroy_disk;
++ if( flag == PED_PARTITION_TYPE )
++ state = ped_partition_get_flag (part, flag);
++ else
+ state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0);
- if (!is_toggle_mode) {
+ if (!is_toggle_mode && flag != PED_PARTITION_TYPE ) {
if (!command_line_get_state (_("New state?"), &state))
- goto error;
+ goto error_destroy_disk;
}
-+ else if( flag == PED_PARTITION_TYPE ) {
-+ if (!command_line_get_integer (_("New type?"), &state))
-+ goto error;
-+ }
++ else if( flag == PED_PARTITION_TYPE ) {
++ if (!command_line_get_integer (_("New type?"), &state))
++ goto error_destroy_disk;
++ }
if (!ped_partition_set_flag (part, flag, state))
- goto error;
-Index: parted-3.2/parted/ui.c
+ goto error_destroy_disk;
+Index: parted-3.1/parted/ui.c
===================================================================
---- parted-3.2.orig/parted/ui.c
-+++ parted-3.2/parted/ui.c
-@@ -913,6 +913,9 @@ command_line_get_integer (const char* pr
+--- parted-3.1.orig/parted/ui.c
++++ parted-3.1/parted/ui.c
+@@ -917,6 +917,9 @@ command_line_get_integer (const char* pr
NULL, 1);
if (!input)
return 0;
++++++ parted-wipeaix.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:42.000000000 +0200
@@ -2,11 +2,11 @@
libparted/labels/dos.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
-Index: parted-3.2/libparted/labels/dos.c
+Index: parted-3.1/libparted/labels/dos.c
===================================================================
---- parted-3.2.orig/libparted/labels/dos.c
-+++ parted-3.2/libparted/labels/dos.c
-@@ -1285,7 +1285,13 @@ msdos_write (const PedDisk* disk)
+--- parted-3.1.orig/libparted/labels/dos.c
++++ parted-3.1/libparted/labels/dos.c
+@@ -1260,7 +1260,13 @@ msdos_write (const PedDisk* disk)
return 0;
DosRawTable *table = (DosRawTable *) s0;
++++++ parted-workaround-windows7-gpt-implementation.patch ++++++
--- /var/tmp/diff_new_pack.7UnezW/_old 2015-04-30 10:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.7UnezW/_new 2015-04-30 10:50:42.000000000 +0200
@@ -3,11 +3,11 @@
libparted/labels/gpt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: parted-3.2/libparted/labels/gpt.c
+Index: parted-3.1/libparted/labels/gpt.c
===================================================================
---- parted-3.2.orig/libparted/labels/gpt.c
-+++ parted-3.2/libparted/labels/gpt.c
-@@ -508,7 +508,7 @@ _has_hybrid_pmbr (const PedDevice *dev)
+--- parted-3.1.orig/libparted/labels/gpt.c
++++ parted-3.1/libparted/labels/gpt.c
+@@ -489,7 +489,7 @@ _has_hybrid_pmbr (const PedDevice *dev)
if ((mbr.PartitionRecord[0].OSType == EFI_PMBR_OSTYPE_EFI) &&
(mbr.PartitionRecord[0].StartingLBA == PED_CPU_TO_LE32(1)) &&
1
0
Hello community,
here is the log from the commit of package patchinfo.3720 for openSUSE:13.2:Update checked in at 2015-04-29 15:02:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/patchinfo.3720 (Old)
and /work/SRC/openSUSE:13.2:Update/.patchinfo.3720.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchinfo.3720"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_patchinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _patchinfo ++++++
<patchinfo incident="3720">
<category>recommended</category>
<rating>moderate</rating>
<packager>jsegitz</packager>
<summary>Recommended udpate for rsyslog</summary>
<description>This recommended udpate for rsyslog fixes the following issue:
- Adjusted apparmor profile to prevent aa-genprof failures (bnc#925512)</description>
<issue tracker="bnc" id="925512">AppArmor profile for rsyslog prevents profile creation</issue>
</patchinfo>
1
0
Hello community,
here is the log from the commit of package curl for openSUSE:13.2:Update checked in at 2015-04-29 10:04:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/curl (Old)
and /work/SRC/openSUSE:13.2:Update/.curl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "curl"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.oqLO8E/_old 2015-04-29 10:04:42.000000000 +0200
+++ /var/tmp/diff_new_pack.oqLO8E/_new 2015-04-29 10:04:42.000000000 +0200
@@ -1 +1 @@
-<link package='curl.3486' cicount='copy' />
+<link package='curl.3717' cicount='copy' />
1
0