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
November 2014
- 1 participants
- 1346 discussions
Hello community,
here is the log from the commit of package btrfsprogs for openSUSE:Factory checked in at 2014-11-29 08:39:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old)
and /work/SRC/openSUSE:Factory/.btrfsprogs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "btrfsprogs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes 2014-11-11 09:59:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes 2014-11-29 08:39:48.000000000 +0100
@@ -1,0 +2,37 @@
+Wed Nov 19 00:00:01 CET 2014 - dsterba(a)suse.cz
+
+- version 3.17.2
+ - check improvements
+ - add ability to replace missing dir item/dir indexes
+ - fix missing inode items
+ - create missing root dirid
+ - corrupt block: enhancements for testing fsck
+ - zero-log: able to reset a fs with bogus log tree pointer (bko#72151)
+
+-------------------------------------------------------------------
+Wed Nov 19 00:00:00 CET 2014 - dsterba(a)suse.cz
+
+- package mkinitrd scripts conditionally (bsc#893577)
+- spec: minor updates
+
+-------------------------------------------------------------------
+Fri Nov 7 00:00:00 CET 2014 - dsterba(a)suse.cz
+
+- version 3.17.1
+ - fi df: argument handling
+ - fix linking with libbtrfs
+ - replace: better error reporting
+ - fi show: fixed stall if run concurrently with balance
+ - check: fixed argument parsing for --subvol-extents
+ - fi df: SI prefixes corrected
+- Added patches:
+ * fix-doc-build-on-SLE11SP3.diff
+- Removed patches:
+ * 0042-btrfs-progs-fix-linking-with-libbtrfs.patch
+ * 0043-btrfs-progs-libbtrfs-make-exported-headers-compatibl.patch
+- Modified patches:
+ * 0011-btrfs-progs-Enhance-the-command-btrfs-filesystem-df.patch
+ * 0012-btrfs-progs-Add-helpers-functions-to-handle-the-prin.patch
+ * 0019-btrfs-progs-add-original-df-and-rename-disk_usage-to.patch
+
+-------------------------------------------------------------------
Old:
----
0042-btrfs-progs-fix-linking-with-libbtrfs.patch
0043-btrfs-progs-libbtrfs-make-exported-headers-compatibl.patch
btrfs-progs-v3.17.tar.gz
New:
----
btrfs-progs-v3.17.2.tar.gz
fix-doc-build-on-SLE11SP3.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.NWl2TV/_old 2014-11-29 08:39:49.000000000 +0100
+++ /var/tmp/diff_new_pack.NWl2TV/_new 2014-11-29 08:39:49.000000000 +0100
@@ -16,9 +16,8 @@
#
-%define tar_version v3.17
Name: btrfsprogs
-Version: 3.17
+Version: 3.17.2
Release: 0
Summary: Utilities for the Btrfs filesystem
License: GPL-2.0
@@ -26,7 +25,8 @@
Url: http://btrfs.wiki.kernel.org/index.php/Main_Page
#Git-Web: http://git.kernel.org/cgit/linux/kernel/git/kdave/btrfs-progs.git
#Git-Clone: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs
-Source: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-prog…
+Source: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-prog…
+# support for mkinitrd in < 13.1
Source1: boot-btrfs.sh
Source4: setup-btrfs.sh
@@ -50,8 +50,6 @@
Patch29: 0029-btrfs-progs-replace-df_pretty_sizes-with-pretty_size.patch
Patch30: 0030-btrfs-progs-clean-up-return-codes-and-paths.patch
Patch31: 0031-btrfs-progs-move-global-reserve-to-overall-summary.patch
-Patch42: 0042-btrfs-progs-fix-linking-with-libbtrfs.patch
-Patch43: 0043-btrfs-progs-libbtrfs-make-exported-headers-compatibl.patch
Patch163: 0163-btrfs-progs-fsck-fix-segfault.patch
Patch167: 0167-Btrfs-progs-make-find_and_setup_root-return-an-error.patch
@@ -59,6 +57,7 @@
Patch169: 0169-btrfs-progs-Check-metadata-mirrors-in-find-root.patch
Patch1000: local-version-override.patch
+Patch1001: fix-doc-build-on-SLE11SP3.diff
BuildRequires: asciidoc
BuildRequires: libacl-devel
@@ -67,6 +66,9 @@
BuildRequires: libext2fs-devel
BuildRequires: libuuid-devel
BuildRequires: lzo-devel
+%if 0%{?suse_version} >= 1310
+BuildRequires: suse-module-tools
+%endif
BuildRequires: udev
BuildRequires: xmlto
BuildRequires: zlib-devel
@@ -95,7 +97,7 @@
build applications to interface with btrfs.
%prep
-%setup -q -n btrfs-progs-%{tar_version}
+%setup -q -n btrfs-progs-v%{version}
%patch10 -p1
%patch11 -p1
%patch12 -p1
@@ -116,13 +118,12 @@
%patch30 -p1
%patch31 -p1
%patch28 -p1
-%patch42 -p1
-%patch43 -p1
%patch163 -p1
%patch167 -p1
%patch168 -p1
%patch169 -p1
%patch1000 -p1
+%patch1001 -p1
%build
make %{?_smp_mflags} CFLAGS="%{optflags}" all btrfs-convert \
@@ -153,9 +154,11 @@
ln -s %{_sbindir}/btrfs-show-super %{buildroot}/sbin
ln -s %{_sbindir}/mkfs.btrfs %{buildroot}/sbin
ln -s %{_sbindir}/fsck.btrfs %{buildroot}/sbin
+%if 0%{?suse_version} < 1310
install -d -m0755 %{buildroot}/lib/mkinitrd/scripts/
install -m 0755 %{SOURCE1} %{buildroot}/lib/mkinitrd/scripts/
install -m 0755 %{SOURCE4} %{buildroot}/lib/mkinitrd/scripts/
+%endif
find %{buildroot} -type f -name "*.la" -delete -print
# don't install .a for now
rm -f %{buildroot}/%{_libdir}/*.a
@@ -175,6 +178,11 @@
%postun -n libbtrfs0 -p /sbin/ldconfig
+%if 0%{?suse_version} >= 1310
+%posttrans
+%{?regenerate_initrd_posttrans}
+%endif
+
%files
%defattr(-, root, root)
/sbin/fsck.btrfs
@@ -198,10 +206,12 @@
%{_sbindir}/mkfs.btrfs
%{_sbindir}/btrfs-debug-tree
%{_sbindir}/btrfs-show-super
+%if 0%{?suse_version} < 1310
%dir /lib/mkinitrd
%dir /lib/mkinitrd/scripts
/lib/mkinitrd/scripts/boot-btrfs.sh
/lib/mkinitrd/scripts/setup-btrfs.sh
+%endif
%{_bindir}/btrfs-map-logical
%{_mandir}/man8/btrfs-image.8.gz
%{_mandir}/man8/btrfsck.8.gz
++++++ 0011-btrfs-progs-Enhance-the-command-btrfs-filesystem-df.patch ++++++
--- /var/tmp/diff_new_pack.NWl2TV/_old 2014-11-29 08:39:49.000000000 +0100
+++ /var/tmp/diff_new_pack.NWl2TV/_new 2014-11-29 08:39:49.000000000 +0100
@@ -22,24 +22,23 @@
create mode 100644 cmds-fi-disk_usage.c
create mode 100644 cmds-fi-disk_usage.h
-diff --git a/Makefile b/Makefile
-index 9c69adae9050..a6c1ccede7c4 100644
---- a/Makefile
-+++ b/Makefile
-@@ -15,7 +15,7 @@ cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
+Index: btrfs-progs-v3.17.1/Makefile
+===================================================================
+--- btrfs-progs-v3.17.1.orig/Makefile
++++ btrfs-progs-v3.17.1/Makefile
+@@ -15,7 +15,7 @@ cmds_objects = cmds-subvolume.o cmds-fil
cmds-inspect.o cmds-balance.o cmds-send.o cmds-receive.o \
cmds-quota.o cmds-qgroup.o cmds-replace.o cmds-check.o \
cmds-restore.o cmds-rescue.o chunk-recover.o super-recover.o \
- cmds-property.o
+ cmds-property.o cmds-fi-disk_usage.o
libbtrfs_objects = send-stream.o send-utils.o rbtree.o btrfs-list.o crc32c.o \
- uuid-tree.o utils-lib.o
+ uuid-tree.o utils-lib.o rbtree-utils.o
libbtrfs_headers = send-stream.h send-utils.h send.h rbtree.h btrfs-list.h \
-diff --git a/cmds-fi-disk_usage.c b/cmds-fi-disk_usage.c
-new file mode 100644
-index 000000000000..7f4415666bd8
+Index: btrfs-progs-v3.17.1/cmds-fi-disk_usage.c
+===================================================================
--- /dev/null
-+++ b/cmds-fi-disk_usage.c
++++ btrfs-progs-v3.17.1/cmds-fi-disk_usage.c
@@ -0,0 +1,516 @@
+/*
+ * This program is free software; you can redistribute it and/or
@@ -557,11 +556,10 @@
+ return 0;
+}
+
-diff --git a/cmds-fi-disk_usage.h b/cmds-fi-disk_usage.h
-new file mode 100644
-index 000000000000..9f68bb342d52
+Index: btrfs-progs-v3.17.1/cmds-fi-disk_usage.h
+===================================================================
--- /dev/null
-+++ b/cmds-fi-disk_usage.h
++++ btrfs-progs-v3.17.1/cmds-fi-disk_usage.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2007 Oracle. All rights reserved.
@@ -588,10 +586,10 @@
+int cmd_filesystem_df(int argc, char **argv);
+
+#endif
-diff --git a/cmds-filesystem.c b/cmds-filesystem.c
-index ffa939c5b89a..91e4e2e5a881 100644
---- a/cmds-filesystem.c
-+++ b/cmds-filesystem.c
+Index: btrfs-progs-v3.17.1/cmds-filesystem.c
+===================================================================
+--- btrfs-progs-v3.17.1.orig/cmds-filesystem.c
++++ btrfs-progs-v3.17.1/cmds-filesystem.c
@@ -36,6 +36,7 @@
#include "volumes.h"
#include "version.h"
@@ -600,7 +598,7 @@
#include "list_sort.h"
#include "disk-io.h"
-@@ -112,6 +113,7 @@ static const char * const filesystem_cmd_group_usage[] = {
+@@ -121,6 +122,7 @@ static const char * const filesystem_cmd
NULL
};
@@ -608,15 +606,15 @@
static const char * const cmd_df_usage[] = {
"btrfs filesystem df [options] <path>",
"Show space usage information for a mount point",
-@@ -126,6 +128,7 @@ static const char * const cmd_df_usage[] = {
- "-t|--tbytes show sizes in TiB, or tB with --si",
+@@ -135,6 +137,7 @@ static const char * const cmd_df_usage[]
+ "-t|--tbytes show sizes in TiB, or TB with --si",
NULL
};
+#endif
static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
{
-@@ -175,6 +178,7 @@ static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
+@@ -184,6 +187,7 @@ static int get_df(int fd, struct btrfs_i
return 0;
}
@@ -624,7 +622,7 @@
static void print_df(struct btrfs_ioctl_space_args *sargs, unsigned unit_mode)
{
u64 i;
-@@ -269,6 +273,7 @@ static int cmd_df(int argc, char **argv)
+@@ -277,6 +281,7 @@ static int cmd_df(int argc, char **argv)
close_file_or_dir(fd, dirstream);
return !!ret;
}
@@ -632,7 +630,7 @@
static int match_search_item_kernel(__u8 *fsid, char *mnt, char *label,
char *search)
-@@ -1263,7 +1268,7 @@ static int cmd_label(int argc, char **argv)
+@@ -1275,7 +1280,7 @@ static int cmd_label(int argc, char **ar
const struct cmd_group filesystem_cmd_group = {
filesystem_cmd_group_usage, NULL, {
@@ -641,10 +639,10 @@
{ "show", cmd_show, cmd_show_usage, NULL, 0 },
{ "sync", cmd_sync, cmd_sync_usage, NULL, 0 },
{ "defragment", cmd_defrag, cmd_defrag_usage, NULL, 0 },
-diff --git a/ctree.h b/ctree.h
-index 89036defc396..5a60bd268871 100644
---- a/ctree.h
-+++ b/ctree.h
+Index: btrfs-progs-v3.17.1/ctree.h
+===================================================================
+--- btrfs-progs-v3.17.1.orig/ctree.h
++++ btrfs-progs-v3.17.1/ctree.h
@@ -842,9 +842,10 @@ struct btrfs_csum_item {
#define BTRFS_BLOCK_GROUP_RAID1 (1ULL << 4)
#define BTRFS_BLOCK_GROUP_DUP (1ULL << 5)
@@ -658,10 +656,10 @@
#define BTRFS_BLOCK_GROUP_TYPE_MASK (BTRFS_BLOCK_GROUP_DATA | \
BTRFS_BLOCK_GROUP_SYSTEM | \
-diff --git a/utils.c b/utils.c
-index 43b693c94039..cf0559d9c9dd 100644
---- a/utils.c
-+++ b/utils.c
+Index: btrfs-progs-v3.17.1/utils.c
+===================================================================
+--- btrfs-progs-v3.17.1.orig/utils.c
++++ btrfs-progs-v3.17.1/utils.c
@@ -38,6 +38,8 @@
#include <linux/kdev_t.h>
#include <limits.h>
@@ -671,7 +669,7 @@
#include "kerncompat.h"
#include "radix-tree.h"
#include "ctree.h"
-@@ -2475,3 +2477,12 @@ char* btrfs_group_profile_str(u64 flag)
+@@ -2493,3 +2495,12 @@ char* btrfs_group_profile_str(u64 flag)
}
}
@@ -684,11 +682,11 @@
+ else
+ return sfs.f_bsize * sfs.f_blocks;
+}
-diff --git a/utils.h b/utils.h
-index 0d202f6344c4..2976e11d7a93 100644
---- a/utils.h
-+++ b/utils.h
-@@ -133,6 +133,7 @@ int find_mount_root(const char *path, char **mount_root);
+Index: btrfs-progs-v3.17.1/utils.h
+===================================================================
+--- btrfs-progs-v3.17.1.orig/utils.h
++++ btrfs-progs-v3.17.1/utils.h
+@@ -134,6 +134,7 @@ int find_mount_root(const char *path, ch
int get_device_info(int fd, u64 devid,
struct btrfs_ioctl_dev_info_args *di_args);
int test_uuid_unique(char *fs_uuid);
@@ -696,6 +694,3 @@
int test_minimum_size(const char *file, u32 leafsize);
int test_issubvolname(const char *name);
---
-2.1.1
-
++++++ 0012-btrfs-progs-Add-helpers-functions-to-handle-the-prin.patch ++++++
--- /var/tmp/diff_new_pack.NWl2TV/_old 2014-11-29 08:39:49.000000000 +0100
+++ /var/tmp/diff_new_pack.NWl2TV/_new 2014-11-29 08:39:49.000000000 +0100
@@ -39,24 +39,23 @@
create mode 100644 string-table.c
create mode 100644 string-table.h
-diff --git a/Makefile b/Makefile
-index a6c1ccede7c4..7f76447e3c55 100644
---- a/Makefile
-+++ b/Makefile
-@@ -10,7 +10,7 @@ objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
+Index: btrfs-progs-v3.17.1/Makefile
+===================================================================
+--- btrfs-progs-v3.17.1.orig/Makefile
++++ btrfs-progs-v3.17.1/Makefile
+@@ -10,7 +10,7 @@ objects = ctree.o disk-io.o radix-tree.o
root-tree.o dir-item.o file-item.o inode-item.o inode-map.o \
extent-cache.o extent_io.o volumes.o utils.o repair.o \
qgroup.o raid6.o free-space-cache.o list_sort.o props.o \
-- ulist.o qgroup-verify.o backref.o rbtree-utils.o
-+ ulist.o qgroup-verify.o backref.o rbtree-utils.o string-table.o
+- ulist.o qgroup-verify.o backref.o
++ ulist.o qgroup-verify.o backref.o string-table.o
cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
cmds-inspect.o cmds-balance.o cmds-send.o cmds-receive.o \
cmds-quota.o cmds-qgroup.o cmds-replace.o cmds-check.o \
-diff --git a/string-table.c b/string-table.c
-new file mode 100644
-index 000000000000..701f2147a3cc
+Index: btrfs-progs-v3.17.1/string-table.c
+===================================================================
--- /dev/null
-+++ b/string-table.c
++++ btrfs-progs-v3.17.1/string-table.c
@@ -0,0 +1,156 @@
+/*
+ * This program is free software; you can redistribute it and/or
@@ -214,11 +213,10 @@
+ free(tab);
+
+}
-diff --git a/string-table.h b/string-table.h
-new file mode 100644
-index 000000000000..83c4425d5f76
+Index: btrfs-progs-v3.17.1/string-table.h
+===================================================================
--- /dev/null
-+++ b/string-table.h
++++ btrfs-progs-v3.17.1/string-table.h
@@ -0,0 +1,36 @@
+/*
+ * This program is free software; you can redistribute it and/or
@@ -256,6 +254,3 @@
+void table_free(struct string_table *);
+
+#endif
---
-2.1.1
-
++++++ 0019-btrfs-progs-add-original-df-and-rename-disk_usage-to.patch ++++++
--- /var/tmp/diff_new_pack.NWl2TV/_old 2014-11-29 08:39:49.000000000 +0100
+++ /var/tmp/diff_new_pack.NWl2TV/_new 2014-11-29 08:39:49.000000000 +0100
@@ -16,11 +16,11 @@
cmds-filesystem.c | 16 ++++------
3 files changed, 24 insertions(+), 84 deletions(-)
-diff --git a/cmds-fi-disk_usage.c b/cmds-fi-disk_usage.c
-index 9fd59bc1b5ae..683d6fb36de4 100644
---- a/cmds-fi-disk_usage.c
-+++ b/cmds-fi-disk_usage.c
-@@ -328,6 +328,8 @@ static struct btrfs_ioctl_space_args *load_space_info(int fd, char *path)
+Index: btrfs-progs-v3.17.1/cmds-fi-disk_usage.c
+===================================================================
+--- btrfs-progs-v3.17.1.orig/cmds-fi-disk_usage.c
++++ btrfs-progs-v3.17.1/cmds-fi-disk_usage.c
+@@ -328,6 +328,8 @@ static struct btrfs_ioctl_space_args *lo
return sargs;
}
@@ -93,7 +93,7 @@
/*
* Helper to sort the disk_info structure
-@@ -612,10 +559,10 @@ static u64 calc_chunk_size(struct chunk_info *ci)
+@@ -612,10 +559,10 @@ static u64 calc_chunk_size(struct chunk_
}
/*
@@ -106,7 +106,7 @@
struct btrfs_ioctl_space_args *sargs,
struct chunk_info *chunks_info_ptr,
int chunks_info_count,
-@@ -795,10 +742,10 @@ static void print_chunk_disks(u64 chunk_type,
+@@ -795,10 +742,10 @@ static void print_chunk_disks(u64 chunk_
}
/*
@@ -119,7 +119,7 @@
struct btrfs_ioctl_space_args *sargs,
struct chunk_info *info_ptr,
int info_count,
-@@ -839,7 +786,7 @@ static void _cmd_filesystem_disk_usage_linear(int mode,
+@@ -839,7 +786,7 @@ static void _cmd_filesystem_disk_usage_l
}
@@ -128,7 +128,7 @@
{
struct btrfs_ioctl_space_args *sargs = 0;
int info_count = 0;
-@@ -860,11 +807,11 @@ static int _cmd_filesystem_disk_usage(int fd, char *path, int mode, int tabular)
+@@ -860,11 +807,11 @@ static int _cmd_filesystem_disk_usage(in
}
if (tabular)
@@ -153,7 +153,7 @@
"Show in which disk the chunks are allocated.",
"",
"-b\tSet byte as unit",
-@@ -889,7 +836,7 @@ const char * const cmd_filesystem_disk_usage_usage[] = {
+@@ -889,7 +836,7 @@ const char * const cmd_filesystem_disk_u
NULL
};
@@ -162,7 +162,7 @@
{
int flags = DF_HUMAN_UNIT;
-@@ -909,12 +856,12 @@ int cmd_filesystem_disk_usage(int argc, char **argv)
+@@ -909,12 +856,12 @@ int cmd_filesystem_disk_usage(int argc,
tabular = 1;
break;
default:
@@ -177,7 +177,7 @@
for (i = optind; i < argc ; i++) {
int r, fd;
-@@ -928,7 +875,7 @@ int cmd_filesystem_disk_usage(int argc, char **argv)
+@@ -928,7 +875,7 @@ int cmd_filesystem_disk_usage(int argc,
argv[1]);
return 12;
}
@@ -186,10 +186,10 @@
close_file_or_dir(fd, dirstream);
if (r)
-diff --git a/cmds-fi-disk_usage.h b/cmds-fi-disk_usage.h
-index c315004cd806..95cf4aabefb4 100644
---- a/cmds-fi-disk_usage.h
-+++ b/cmds-fi-disk_usage.h
+Index: btrfs-progs-v3.17.1/cmds-fi-disk_usage.h
+===================================================================
+--- btrfs-progs-v3.17.1.orig/cmds-fi-disk_usage.h
++++ btrfs-progs-v3.17.1/cmds-fi-disk_usage.h
@@ -19,11 +19,8 @@
#ifndef __CMDS_FI_DISK_USAGE__
#define __CMDS_FI_DISK_USAGE__
@@ -204,11 +204,11 @@
extern const char * const cmd_device_disk_usage_usage[];
int cmd_device_disk_usage(int argc, char **argv);
-diff --git a/cmds-filesystem.c b/cmds-filesystem.c
-index 43d5c31dcbb0..6626c7c9eaa2 100644
---- a/cmds-filesystem.c
-+++ b/cmds-filesystem.c
-@@ -113,8 +113,7 @@ static const char * const filesystem_cmd_group_usage[] = {
+Index: btrfs-progs-v3.17.1/cmds-filesystem.c
+===================================================================
+--- btrfs-progs-v3.17.1.orig/cmds-filesystem.c
++++ btrfs-progs-v3.17.1/cmds-filesystem.c
+@@ -122,8 +122,7 @@ static const char * const filesystem_cmd
NULL
};
@@ -218,15 +218,15 @@
"btrfs filesystem df [options] <path>",
"Show space usage information for a mount point",
"-b|--raw raw numbers in bytes",
-@@ -128,7 +127,6 @@ static const char * const cmd_df_usage[] = {
- "-t|--tbytes show sizes in TiB, or tB with --si",
+@@ -137,7 +136,6 @@ static const char * const cmd_df_usage[]
+ "-t|--tbytes show sizes in TiB, or TB with --si",
NULL
};
-#endif
static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
{
-@@ -178,7 +176,6 @@ static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
+@@ -187,7 +185,6 @@ static int get_df(int fd, struct btrfs_i
return 0;
}
@@ -234,7 +234,7 @@
static void print_df(struct btrfs_ioctl_space_args *sargs, unsigned unit_mode)
{
u64 i;
-@@ -193,7 +190,7 @@ static void print_df(struct btrfs_ioctl_space_args *sargs, unsigned unit_mode)
+@@ -202,7 +199,7 @@ static void print_df(struct btrfs_ioctl_
}
}
@@ -243,7 +243,7 @@
{
struct btrfs_ioctl_space_args *sargs = NULL;
int ret;
-@@ -247,12 +244,12 @@ static int cmd_df(int argc, char **argv)
+@@ -255,12 +252,12 @@ static int cmd_df(int argc, char **argv)
units_set_mode(&unit_mode, UNITS_BINARY);
break;
default:
@@ -252,13 +252,13 @@
}
}
- if (check_argc_max(argc, optind + 1))
+ if (check_argc_exact(argc, optind + 1))
- usage(cmd_df_usage);
+ usage(cmd_filesystem_df_usage);
path = argv[optind];
-@@ -273,7 +270,6 @@ static int cmd_df(int argc, char **argv)
+@@ -281,7 +278,6 @@ static int cmd_df(int argc, char **argv)
close_file_or_dir(fd, dirstream);
return !!ret;
}
@@ -266,7 +266,7 @@
static int match_search_item_kernel(__u8 *fsid, char *mnt, char *label,
char *search)
-@@ -1275,8 +1271,8 @@ const struct cmd_group filesystem_cmd_group = {
+@@ -1287,8 +1283,8 @@ const struct cmd_group filesystem_cmd_gr
{ "balance", cmd_balance, NULL, &balance_cmd_group, 1 },
{ "resize", cmd_resize, cmd_resize_usage, NULL, 0 },
{ "label", cmd_label, cmd_label_usage, NULL, 0 },
@@ -277,6 +277,3 @@
NULL_CMD_STRUCT
}
---
-2.1.1
-
++++++ btrfs-progs-v3.17.tar.gz -> btrfs-progs-v3.17.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/.gitignore new/btrfs-progs-v3.17.2/.gitignore
--- old/btrfs-progs-v3.17/.gitignore 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/.gitignore 2014-11-19 17:44:56.000000000 +0100
@@ -1,6 +1,7 @@
*.o
*.static.o
*.o.d
+tags
.cc-defines.h
version.h
version
@@ -30,8 +31,11 @@
btrfs-zero-log
btrfs-corrupt-block
btrfs-select-super
+btrfs-calc-size
btrfstune
libbtrfs.a
libbtrfs.so
libbtrfs.so.0
libbtrfs.so.0.1
+library-test
+library-test-static
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/Documentation/btrfs-check.txt new/btrfs-progs-v3.17.2/Documentation/btrfs-check.txt
--- old/btrfs-progs-v3.17/Documentation/btrfs-check.txt 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/Documentation/btrfs-check.txt 2014-11-19 17:44:56.000000000 +0100
@@ -32,6 +32,8 @@
create a new extent tree.
--check-data-csum::
verify checkums of data blocks.
+--subvol-extents <subvolid>::
+show extent state for a subvolume.
EXIT STATUS
-----------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/Documentation/btrfs-filesystem.txt new/btrfs-progs-v3.17.2/Documentation/btrfs-filesystem.txt
--- old/btrfs-progs-v3.17/Documentation/btrfs-filesystem.txt 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/Documentation/btrfs-filesystem.txt 2014-11-19 17:44:56.000000000 +0100
@@ -35,11 +35,11 @@
-k|--kbytes::::
show sizes in KiB, or kB with --si
-m|--mbytes::::
-show sizes in MiB, or mB with --si
+show sizes in MiB, or MB with --si
-g|--gbytes::::
-show sizes in GiB, or gB with --si
+show sizes in GiB, or GB with --si
-t|--tbytes::::
-show sizes in TiB, or tB with --si
+show sizes in TiB, or TB with --si
If conflicting options are passed, the last one takes precedence.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/Makefile new/btrfs-progs-v3.17.2/Makefile
--- old/btrfs-progs-v3.17/Makefile 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/Makefile 2014-11-19 17:44:56.000000000 +0100
@@ -10,14 +10,14 @@
root-tree.o dir-item.o file-item.o inode-item.o inode-map.o \
extent-cache.o extent_io.o volumes.o utils.o repair.o \
qgroup.o raid6.o free-space-cache.o list_sort.o props.o \
- ulist.o qgroup-verify.o backref.o rbtree-utils.o
+ ulist.o qgroup-verify.o backref.o
cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
cmds-inspect.o cmds-balance.o cmds-send.o cmds-receive.o \
cmds-quota.o cmds-qgroup.o cmds-replace.o cmds-check.o \
cmds-restore.o cmds-rescue.o chunk-recover.o super-recover.o \
cmds-property.o
libbtrfs_objects = send-stream.o send-utils.o rbtree.o btrfs-list.o crc32c.o \
- uuid-tree.o utils-lib.o
+ uuid-tree.o utils-lib.o rbtree-utils.o
libbtrfs_headers = send-stream.h send-utils.h send.h rbtree.h btrfs-list.h \
crc32c.h list.h kerncompat.h radix-tree.h extent-cache.h \
extent_io.h ioctl.h ctree.h btrfsck.h version.h
@@ -50,6 +50,9 @@
btrfs btrfs-map-logical btrfs-image btrfs-zero-log btrfs-convert \
btrfs-find-root btrfstune btrfs-show-super
+progs_extra = btrfs-corrupt-block btrfs-fragments btrfs-calc-size \
+ btrfs-select-super
+
progs_static = $(foreach p,$(progs),$(p).static)
# external libs required by various binaries; for btrfs-foo,
@@ -240,6 +243,22 @@
@echo " [LD] $@"
$(Q)$(CC) $(CFLAGS) -o send-test $(objects) send-test.o $(LDFLAGS) $(LIBS) -lpthread
+library-test: $(libs_shared) library-test.o
+ @echo " [LD] $@"
+ $(Q)$(CC) $(CFLAGS) -o library-test library-test.o $(LDFLAGS) -lbtrfs
+
+library-test.static: $(libs_static) library-test.o
+ @echo " [LD] $@"
+ $(Q)$(CC) $(CFLAGS) -o library-test-static library-test.o $(LDFLAGS) $(libs_static)
+
+test-build:
+ $(MAKE) clean-all
+ $(MAKE) library-test
+ -$(MAKE) library-test.static
+ $(MAKE) -j 8 all
+ -$(MAKE) -j 8 static
+ $(MAKE) -j 8 $(progs_extra)
+
manpages:
$(Q)$(MAKE) $(MAKEOPTS) -C Documentation
@@ -247,11 +266,12 @@
clean: $(CLEANDIRS)
@echo "Cleaning"
- $(Q)rm -f $(progs) cscope.out *.o *.o.d btrfs-convert btrfs-image btrfs-select-super \
- btrfs-zero-log btrfstune dir-test ioctl-test quick-test send-test btrfsck \
- btrfs.static mkfs.btrfs.static btrfs-calc-size \
+ $(Q)rm -f $(progs) cscope.out *.o *.o.d \
+ dir-test ioctl-test quick-test send-test library-test library-test-static \
+ btrfs.static mkfs.btrfs.static \
version.h $(check_defs) \
- $(libs) $(lib_links)
+ $(libs) $(lib_links) \
+ $(progs_static) $(progs_extra)
clean-doc:
@echo "Cleaning Documentation"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/btrfs-corrupt-block.c new/btrfs-progs-v3.17.2/btrfs-corrupt-block.c
--- old/btrfs-progs-v3.17/btrfs-corrupt-block.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/btrfs-corrupt-block.c 2014-11-19 17:44:56.000000000 +0100
@@ -111,6 +111,7 @@
fprintf(stderr, "\t-I An item to corrupt (must also specify the field "
"to corrupt and a root+key for the item)\n");
fprintf(stderr, "\t-D Corrupt a dir item, must specify key and field\n");
+ fprintf(stderr, "\t-d Delete this item (must specify -K)\n");
exit(1);
}
@@ -811,6 +812,39 @@
return ret;
}
+static int delete_item(struct btrfs_root *root, struct btrfs_key *key)
+{
+ struct btrfs_trans_handle *trans;
+ struct btrfs_path *path;
+ int ret;
+
+ path = btrfs_alloc_path();
+ if (!path)
+ return -ENOMEM;
+
+ trans = btrfs_start_transaction(root, 1);
+ if (IS_ERR(trans)) {
+ btrfs_free_path(path);
+ fprintf(stderr, "Couldn't start transaction %ld\n",
+ PTR_ERR(trans));
+ return PTR_ERR(trans);
+ }
+
+ ret = btrfs_search_slot(trans, root, key, path, -1, 1);
+ if (ret) {
+ if (ret > 0)
+ ret = -ENOENT;
+ fprintf(stderr, "Error searching to node %d\n", ret);
+ goto out;
+ }
+ ret = btrfs_del_item(trans, root, path);
+ btrfs_mark_buffer_dirty(path->nodes[0]);
+out:
+ btrfs_commit_transaction(trans, root);
+ btrfs_free_path(path);
+ return ret;
+}
+
static struct option long_options[] = {
/* { "byte-count", 1, NULL, 'b' }, */
{ "logical", 1, NULL, 'l' },
@@ -828,6 +862,7 @@
{ "key", 1, NULL, 'K'},
{ "item", 0, NULL, 'I'},
{ "dir-item", 0, NULL, 'D'},
+ { "delete", 0, NULL, 'd'},
{ 0, 0, 0, 0}
};
@@ -993,6 +1028,7 @@
int chunk_tree = 0;
int corrupt_item = 0;
int corrupt_di = 0;
+ int delete = 0;
u64 metadata_block = 0;
u64 inode = 0;
u64 file_extent = (u64)-1;
@@ -1004,7 +1040,7 @@
while(1) {
int c;
- c = getopt_long(ac, av, "l:c:b:eEkuUi:f:x:m:K:ID", long_options,
+ c = getopt_long(ac, av, "l:c:b:eEkuUi:f:x:m:K:IDd", long_options,
&option_index);
if (c < 0)
break;
@@ -1060,6 +1096,8 @@
break;
case 'I':
corrupt_item = 1;
+ case 'd':
+ delete = 1;
break;
default:
print_usage();
@@ -1167,6 +1205,11 @@
if (!key.objectid)
print_usage();
ret = corrupt_btrfs_item(root, &key, field);
+ }
+ if (delete) {
+ if (!key.objectid)
+ print_usage();
+ ret = delete_item(root, &key);
goto out_close;
}
if (key.objectid || key.offset || key.type) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/btrfs-map-logical.c new/btrfs-progs-v3.17.2/btrfs-map-logical.c
--- old/btrfs-progs-v3.17/btrfs-map-logical.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/btrfs-map-logical.c 2014-11-19 17:44:56.000000000 +0100
@@ -76,8 +76,18 @@
(unsigned long long)eb->dev_bytenr, device->name);
kfree(multi);
- if (!copy || mirror_num == copy)
+ if (!copy || mirror_num == copy) {
ret = read_extent_from_disk(eb, 0, eb->len);
+ if (ret) {
+ fprintf(info_file,
+ "Error: failed to read extent: mirror %d logical %llu: %s\n",
+ mirror_num, (unsigned long long)eb->start,
+ strerror(-ret));
+ free_extent_buffer(eb);
+ eb = NULL;
+ break;
+ }
+ }
num_copies = btrfs_num_copies(&root->fs_info->mapping_tree,
eb->start, eb->len);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/btrfs-zero-log.c new/btrfs-progs-v3.17.2/btrfs-zero-log.c
--- old/btrfs-progs-v3.17/btrfs-zero-log.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/btrfs-zero-log.c 2014-11-19 17:44:56.000000000 +0100
@@ -61,7 +61,7 @@
goto out;
}
- root = open_ctree(av[1], 0, OPEN_CTREE_WRITES);
+ root = open_ctree(av[1], 0, OPEN_CTREE_WRITES | OPEN_CTREE_PARTIAL);
if (root == NULL)
return 1;
@@ -71,6 +71,7 @@
btrfs_set_super_log_root_level(root->fs_info->super_copy, 0);
btrfs_commit_transaction(trans, root);
close_ctree(root);
+ printf("Log root zero'ed\n");
out:
return !!ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-check.c new/btrfs-progs-v3.17.2/cmds-check.c
--- old/btrfs-progs-v3.17/cmds-check.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-check.c 2014-11-19 17:44:56.000000000 +0100
@@ -1727,6 +1727,61 @@
return ret;
}
+static int create_inode_item(struct btrfs_root *root,
+ struct inode_record *rec,
+ struct inode_backref *backref, int root_dir)
+{
+ struct btrfs_trans_handle *trans;
+ struct btrfs_inode_item inode_item;
+ time_t now = time(NULL);
+ int ret;
+
+ trans = btrfs_start_transaction(root, 1);
+ if (IS_ERR(trans)) {
+ ret = PTR_ERR(trans);
+ return ret;
+ }
+
+ fprintf(stderr, "root %llu inode %llu recreating inode item, this may "
+ "be incomplete, please check permissions and content after "
+ "the fsck completes.\n", (unsigned long long)root->objectid,
+ (unsigned long long)rec->ino);
+
+ memset(&inode_item, 0, sizeof(inode_item));
+ btrfs_set_stack_inode_generation(&inode_item, trans->transid);
+ if (root_dir)
+ btrfs_set_stack_inode_nlink(&inode_item, 1);
+ else
+ btrfs_set_stack_inode_nlink(&inode_item, rec->found_link);
+ btrfs_set_stack_inode_nbytes(&inode_item, rec->found_size);
+ if (rec->found_dir_item) {
+ if (rec->found_file_extent)
+ fprintf(stderr, "root %llu inode %llu has both a dir "
+ "item and extents, unsure if it is a dir or a "
+ "regular file so setting it as a directory\n",
+ (unsigned long long)root->objectid,
+ (unsigned long long)rec->ino);
+ btrfs_set_stack_inode_mode(&inode_item, S_IFDIR | 0755);
+ btrfs_set_stack_inode_size(&inode_item, rec->found_size);
+ } else if (!rec->found_dir_item) {
+ btrfs_set_stack_inode_size(&inode_item, rec->extent_end);
+ btrfs_set_stack_inode_mode(&inode_item, S_IFREG | 0755);
+ }
+ btrfs_set_stack_timespec_sec(&inode_item.atime, now);
+ btrfs_set_stack_timespec_nsec(&inode_item.atime, 0);
+ btrfs_set_stack_timespec_sec(&inode_item.ctime, now);
+ btrfs_set_stack_timespec_nsec(&inode_item.ctime, 0);
+ btrfs_set_stack_timespec_sec(&inode_item.mtime, now);
+ btrfs_set_stack_timespec_nsec(&inode_item.mtime, 0);
+ btrfs_set_stack_timespec_sec(&inode_item.otime, 0);
+ btrfs_set_stack_timespec_nsec(&inode_item.otime, 0);
+
+ ret = btrfs_insert_inode(trans, root, rec->ino, &inode_item);
+ BUG_ON(ret);
+ btrfs_commit_transaction(trans, root);
+ return 0;
+}
+
static int repair_inode_backrefs(struct btrfs_root *root,
struct inode_record *rec,
struct cache_tree *inode_cache,
@@ -1738,6 +1793,15 @@
int repaired = 0;
list_for_each_entry_safe(backref, tmp, &rec->backrefs, list) {
+ if (!delete && rec->ino == root_dirid) {
+ if (!rec->found_inode_item) {
+ ret = create_inode_item(root, rec, backref, 1);
+ if (ret)
+ break;
+ repaired++;
+ }
+ }
+
/* Index 0 for root dir's are special, don't mess with it */
if (rec->ino == root_dirid && backref->index == 0)
continue;
@@ -1772,6 +1836,45 @@
}
}
+ if (!delete && (!backref->found_dir_index &&
+ !backref->found_dir_item &&
+ backref->found_inode_ref)) {
+ struct btrfs_trans_handle *trans;
+ struct btrfs_key location;
+
+ location.objectid = rec->ino;
+ location.type = BTRFS_INODE_ITEM_KEY;
+ location.offset = 0;
+
+ trans = btrfs_start_transaction(root, 1);
+ if (IS_ERR(trans)) {
+ ret = PTR_ERR(trans);
+ break;
+ }
+ fprintf(stderr, "adding missing dir index/item pair "
+ "for inode %llu\n",
+ (unsigned long long)rec->ino);
+ ret = btrfs_insert_dir_item(trans, root, backref->name,
+ backref->namelen,
+ backref->dir, &location,
+ imode_to_type(rec->imode),
+ backref->index);
+ BUG_ON(ret);
+ btrfs_commit_transaction(trans, root);
+ repaired++;
+ }
+
+ if (!delete && (backref->found_inode_ref &&
+ backref->found_dir_index &&
+ backref->found_dir_item &&
+ !(backref->errors & REF_ERR_INDEX_UNMATCH) &&
+ !rec->found_inode_item)) {
+ ret = create_inode_item(root, rec, backref, 0);
+ if (ret)
+ break;
+ repaired++;
+ }
+
}
return ret ? ret : repaired;
}
@@ -1884,6 +1987,26 @@
error++;
}
} else {
+ if (repair) {
+ struct btrfs_trans_handle *trans;
+
+ trans = btrfs_start_transaction(root, 1);
+ if (IS_ERR(trans)) {
+ err = PTR_ERR(trans);
+ return err;
+ }
+
+ fprintf(stderr,
+ "root %llu missing its root dir, recreating\n",
+ (unsigned long long)root->objectid);
+
+ ret = btrfs_make_root_dir(trans, root, root_dirid);
+ BUG_ON(ret);
+
+ btrfs_commit_transaction(trans, root);
+ return -EAGAIN;
+ }
+
fprintf(stderr, "root %llu root dir %llu not found\n",
(unsigned long long)root->root_key.objectid,
(unsigned long long)root_dirid);
@@ -7544,7 +7667,7 @@
{ "init-extent-tree", 0, NULL, 0 },
{ "check-data-csum", 0, NULL, 0 },
{ "backup", 0, NULL, 0 },
- { "subvol-extents", no_argument, NULL, 'E' },
+ { "subvol-extents", 1, NULL, 'E' },
{ "qgroup-report", 0, NULL, 'Q' },
{ NULL, 0, NULL, 0}
};
@@ -7560,7 +7683,7 @@
"--init-extent-tree create a new extent tree",
"--check-data-csum verify checkums of data blocks",
"--qgroup-report print a report on qgroup consistency",
- "--subvol-extents print subvolume extents and sharing state",
+ "--subvol-extents <subvolid> print subvolume extents and sharing state",
NULL
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-device.c new/btrfs-progs-v3.17.2/cmds-device.c
--- old/btrfs-progs-v3.17/cmds-device.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-device.c 2014-11-19 17:44:56.000000000 +0100
@@ -205,7 +205,7 @@
static int cmd_scan_dev(int argc, char **argv)
{
- int i, fd, e;
+ int i;
int devstart = 1;
int all = 0;
int ret = 0;
@@ -235,28 +235,23 @@
if (all || argc == 1) {
printf("Scanning for Btrfs filesystems\n");
- ret = btrfs_scan_lblkid(BTRFS_UPDATE_KERNEL);
+ ret = btrfs_scan_lblkid();
if (ret)
fprintf(stderr, "ERROR: error %d while scanning\n", ret);
- goto out;
- }
-
- fd = open("/dev/btrfs-control", O_RDWR);
- if (fd < 0) {
- perror("failed to open /dev/btrfs-control");
- ret = 1;
+ ret = btrfs_register_all_devices();
+ if (ret)
+ fprintf(stderr, "ERROR: error %d while registering\n", ret);
goto out;
}
for( i = devstart ; i < argc ; i++ ){
- struct btrfs_ioctl_vol_args args;
char *path;
if (!is_block_device(argv[i])) {
fprintf(stderr,
"ERROR: %s is not a block device\n", argv[i]);
ret = 1;
- goto close_out;
+ goto out;
}
path = canonicalize_path(argv[i]);
if (!path) {
@@ -264,30 +259,17 @@
"ERROR: Could not canonicalize path '%s': %s\n",
argv[i], strerror(errno));
ret = 1;
- goto close_out;
+ goto out;
}
printf("Scanning for Btrfs filesystems in '%s'\n", path);
-
- strncpy_null(args.name, path);
- /*
- * FIXME: which are the error code returned by this ioctl ?
- * it seems that is impossible to understand if there no is
- * a btrfs filesystem from an I/O error !!!
- */
- ret = ioctl(fd, BTRFS_IOC_SCAN_DEV, &args);
- e = errno;
-
- if( ret < 0 ){
- fprintf(stderr, "ERROR: unable to scan the device '%s' - %s\n",
- path, strerror(e));
+ if (btrfs_register_one_device(path) != 0) {
+ ret = 1;
free(path);
- goto close_out;
+ goto out;
}
free(path);
}
-close_out:
- close(fd);
out:
return !!ret;
}
@@ -426,31 +408,37 @@
path, strerror(errno));
err = 1;
} else {
+ char *canonical_path;
+
+ canonical_path = canonicalize_path((char *)path);
+
if (args.nr_items >= BTRFS_DEV_STAT_WRITE_ERRS + 1)
printf("[%s].write_io_errs %llu\n",
- path,
+ canonical_path,
(unsigned long long) args.values[
BTRFS_DEV_STAT_WRITE_ERRS]);
if (args.nr_items >= BTRFS_DEV_STAT_READ_ERRS + 1)
printf("[%s].read_io_errs %llu\n",
- path,
+ canonical_path,
(unsigned long long) args.values[
BTRFS_DEV_STAT_READ_ERRS]);
if (args.nr_items >= BTRFS_DEV_STAT_FLUSH_ERRS + 1)
printf("[%s].flush_io_errs %llu\n",
- path,
+ canonical_path,
(unsigned long long) args.values[
BTRFS_DEV_STAT_FLUSH_ERRS]);
if (args.nr_items >= BTRFS_DEV_STAT_CORRUPTION_ERRS + 1)
printf("[%s].corruption_errs %llu\n",
- path,
+ canonical_path,
(unsigned long long) args.values[
BTRFS_DEV_STAT_CORRUPTION_ERRS]);
if (args.nr_items >= BTRFS_DEV_STAT_GENERATION_ERRS + 1)
printf("[%s].generation_errs %llu\n",
- path,
+ canonical_path,
(unsigned long long) args.values[
BTRFS_DEV_STAT_GENERATION_ERRS]);
+
+ free(canonical_path);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-filesystem.c new/btrfs-progs-v3.17.2/cmds-filesystem.c
--- old/btrfs-progs-v3.17/cmds-filesystem.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-filesystem.c 2014-11-19 17:44:56.000000000 +0100
@@ -53,6 +53,15 @@
static struct seen_fsid *seen_fsid_hash[SEEN_FSID_HASH_SIZE] = {NULL,};
+static int is_seen_fsid(u8 *fsid)
+{
+ u8 hash = fsid[0];
+ int slot = hash % SEEN_FSID_HASH_SIZE;
+ struct seen_fsid *seen = seen_fsid_hash[slot];
+
+ return seen ? 1 : 0;
+}
+
static int add_seen_fsid(u8 *fsid)
{
u8 hash = fsid[0];
@@ -119,11 +128,11 @@
"-h human friendly numbers, base 1024 (default)",
"-H human friendly numbers, base 1000",
"--iec use 1024 as a base (KiB, MiB, GiB, TiB)",
- "--si use 1000 as a base (kB, mB, gB, tB)",
+ "--si use 1000 as a base (kB, MB, GB, TB)",
"-k|--kbytes show sizes in KiB, or kB with --si",
- "-m|--mbytes show sizes in MiB, or mB with --si",
- "-g|--gbytes show sizes in GiB, or gB with --si",
- "-t|--tbytes show sizes in TiB, or tB with --si",
+ "-m|--mbytes show sizes in MiB, or MB with --si",
+ "-g|--gbytes show sizes in GiB, or GB with --si",
+ "-t|--tbytes show sizes in TiB, or TB with --si",
NULL
};
@@ -241,7 +250,6 @@
DIR *dirstream = NULL;
unsigned unit_mode = UNITS_DEFAULT;
- optind = 1;
while (1) {
int long_index;
static const struct option long_options[] = {
@@ -290,7 +298,7 @@
}
}
- if (check_argc_max(argc, optind + 1))
+ if (check_argc_exact(argc, optind + 1))
usage(cmd_df_usage);
path = argv[optind];
@@ -502,7 +510,10 @@
pretty_size(calc_used_bytes(space_info)));
for (i = 0; i < fs_info->num_devices; i++) {
+ char *canonical_path;
+
tmp_dev_info = (struct btrfs_ioctl_dev_info_args *)&dev_info[i];
+ canonical_path = canonicalize_path((char *)tmp_dev_info->path);
/* Add check for missing devices even mounted */
fd = open((char *)tmp_dev_info->path, O_RDONLY);
@@ -515,7 +526,9 @@
tmp_dev_info->devid,
pretty_size(tmp_dev_info->total_bytes),
pretty_size(tmp_dev_info->bytes_used),
- tmp_dev_info->path);
+ canonical_path);
+
+ free(canonical_path);
}
if (missing)
@@ -767,6 +780,10 @@
*found = 1;
}
+ /* skip all fs already shown as mounted fs */
+ if (is_seen_fsid(cur_fs->fsid))
+ continue;
+
fs_copy = malloc(sizeof(*fs_copy));
if (!fs_copy) {
ret = -ENOMEM;
@@ -936,7 +953,7 @@
goto out;
devs_only:
- ret = btrfs_scan_lblkid(!BTRFS_UPDATE_KERNEL);
+ ret = btrfs_scan_lblkid();
if (ret) {
fprintf(stderr, "ERROR: %d while scanning\n", ret);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-replace.c new/btrfs-progs-v3.17.2/cmds-replace.c
--- old/btrfs-progs-v3.17/cmds-replace.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-replace.c 2014-11-19 17:44:56.000000000 +0100
@@ -184,12 +184,17 @@
/* check for possible errors before backgrounding */
status_args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS;
+ status_args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT;
ret = ioctl(fdmnt, BTRFS_IOC_DEV_REPLACE, &status_args);
if (ret) {
fprintf(stderr,
- "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s, %s\n",
- path, strerror(errno),
- replace_dev_result2string(status_args.result));
+ "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s",
+ path, strerror(errno));
+ if (status_args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT)
+ fprintf(stderr, ", %s\n",
+ replace_dev_result2string(status_args.result));
+ else
+ fprintf(stderr, "\n");
goto leave_with_error;
}
@@ -302,13 +307,18 @@
}
start_args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_START;
+ start_args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT;
ret = ioctl(fdmnt, BTRFS_IOC_DEV_REPLACE, &start_args);
if (do_not_background) {
if (ret) {
fprintf(stderr,
- "ERROR: ioctl(DEV_REPLACE_START) failed on \"%s\": %s, %s\n",
- path, strerror(errno),
- replace_dev_result2string(start_args.result));
+ "ERROR: ioctl(DEV_REPLACE_START) failed on \"%s\": %s",
+ path, strerror(errno));
+ if (start_args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT)
+ fprintf(stderr, ", %s\n",
+ replace_dev_result2string(start_args.result));
+ else
+ fprintf(stderr, "\n");
if (errno == EOPNOTSUPP)
fprintf(stderr,
@@ -403,11 +413,16 @@
for (;;) {
args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS;
+ args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT;
ret = ioctl(fd, BTRFS_IOC_DEV_REPLACE, &args);
if (ret) {
- fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s, %s\n",
- path, strerror(errno),
- replace_dev_result2string(args.result));
+ fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s",
+ path, strerror(errno));
+ if (args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT)
+ fprintf(stderr, ", %s\n",
+ replace_dev_result2string(args.result));
+ else
+ fprintf(stderr, "\n");
return ret;
}
@@ -551,13 +566,18 @@
}
args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL;
+ args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT;
ret = ioctl(fd, BTRFS_IOC_DEV_REPLACE, &args);
e = errno;
close_file_or_dir(fd, dirstream);
if (ret) {
- fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_CANCEL) failed on \"%s\": %s, %s\n",
- path, strerror(e),
- replace_dev_result2string(args.result));
+ fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_CANCEL) failed on \"%s\": %s",
+ path, strerror(e));
+ if (args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT)
+ fprintf(stderr, ", %s\n",
+ replace_dev_result2string(args.result));
+ else
+ fprintf(stderr, "\n");
return 1;
}
if (args.result == BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-restore.c new/btrfs-progs-v3.17.2/cmds-restore.c
--- old/btrfs-progs-v3.17/cmds-restore.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-restore.c 2014-11-19 17:44:56.000000000 +0100
@@ -176,7 +176,7 @@
break;
}
- if (level == BTRFS_MAX_LEVEL)
+ if (level >= BTRFS_MAX_LEVEL)
return 1;
slot = path->slots[level] + 1;
@@ -840,6 +840,8 @@
ret = copy_file(root, fd, &location, path_name);
close(fd);
if (ret) {
+ fprintf(stderr, "Error copying data for %s\n",
+ path_name);
if (ignore_errors)
goto next;
btrfs_free_path(path);
@@ -917,6 +919,8 @@
output_rootdir, dir, mreg);
free(dir);
if (ret) {
+ fprintf(stderr, "Error searching %s\n",
+ path_name);
if (ignore_errors)
goto next;
btrfs_free_path(path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/cmds-send.c new/btrfs-progs-v3.17.2/cmds-send.c
--- old/btrfs-progs-v3.17/cmds-send.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/cmds-send.c 2014-11-19 17:44:56.000000000 +0100
@@ -427,7 +427,7 @@
u32 i;
char *mount_root = NULL;
char *snapshot_parent = NULL;
- u64 root_id;
+ u64 root_id = 0;
u64 parent_root_id = 0;
int full_send = 1;
int new_end_cmd_semantic = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/disk-io.c new/btrfs-progs-v3.17.2/disk-io.c
--- old/btrfs-progs-v3.17/disk-io.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/disk-io.c 2014-11-19 17:44:56.000000000 +0100
@@ -834,6 +834,35 @@
return best_index;
}
+static int setup_root_or_create_block(struct btrfs_fs_info *fs_info,
+ enum btrfs_open_ctree_flags flags,
+ struct btrfs_root *info_root,
+ u64 objectid, char *str)
+{
+ struct btrfs_super_block *sb = fs_info->super_copy;
+ struct btrfs_root *root = fs_info->tree_root;
+ u32 leafsize = btrfs_super_leafsize(sb);
+ int ret;
+
+ ret = find_and_setup_root(root, fs_info, objectid, info_root);
+ if (ret) {
+ printk("Couldn't setup %s tree\n", str);
+ if (!(flags & OPEN_CTREE_PARTIAL))
+ return -EIO;
+ /*
+ * Need a blank node here just so we don't screw up in the
+ * million of places that assume a root has a valid ->node
+ */
+ info_root->node =
+ btrfs_find_create_tree_block(info_root, 0, leafsize);
+ if (!info_root->node)
+ return -ENOMEM;
+ clear_extent_buffer_uptodate(NULL, info_root->node);
+ }
+
+ return 0;
+}
+
int btrfs_setup_all_roots(struct btrfs_fs_info *fs_info, u64 root_tree_bytenr,
enum btrfs_open_ctree_flags flags)
{
@@ -880,22 +909,10 @@
return -EIO;
}
- ret = find_and_setup_root(root, fs_info, BTRFS_EXTENT_TREE_OBJECTID,
- fs_info->extent_root);
- if (ret) {
- printk("Couldn't setup extent tree\n");
- if (!(flags & OPEN_CTREE_PARTIAL))
- return -EIO;
- /* Need a blank node here just so we don't screw up in the
- * million of places that assume a root has a valid ->node
- */
- fs_info->extent_root->node =
- btrfs_find_create_tree_block(fs_info->extent_root, 0,
- leafsize);
- if (!fs_info->extent_root->node)
- return -ENOMEM;
- clear_extent_buffer_uptodate(NULL, fs_info->extent_root->node);
- }
+ ret = setup_root_or_create_block(fs_info, flags, fs_info->extent_root,
+ BTRFS_EXTENT_TREE_OBJECTID, "extent");
+ if (ret)
+ return ret;
fs_info->extent_root->track_dirty = 1;
ret = find_and_setup_root(root, fs_info, BTRFS_DEV_TREE_OBJECTID,
@@ -906,20 +923,10 @@
}
fs_info->dev_root->track_dirty = 1;
- ret = find_and_setup_root(root, fs_info, BTRFS_CSUM_TREE_OBJECTID,
- fs_info->csum_root);
- if (ret) {
- printk("Couldn't setup csum tree\n");
- if (!(flags & OPEN_CTREE_PARTIAL))
- return -EIO;
- /* do the same thing as extent tree rebuilding */
- fs_info->csum_root->node =
- btrfs_find_create_tree_block(fs_info->extent_root, 0,
- leafsize);
- if (!fs_info->csum_root->node)
- return -ENOMEM;
- clear_extent_buffer_uptodate(NULL, fs_info->csum_root->node);
- }
+ ret = setup_root_or_create_block(fs_info, flags, fs_info->csum_root,
+ BTRFS_CSUM_TREE_OBJECTID, "csum");
+ if (ret)
+ return ret;
fs_info->csum_root->track_dirty = 1;
ret = find_and_setup_root(root, fs_info, BTRFS_QUOTA_TREE_OBJECTID,
@@ -930,7 +937,8 @@
ret = find_and_setup_log_root(root, fs_info, sb);
if (ret) {
printk("Couldn't setup log root tree\n");
- return -EIO;
+ if (!(flags & OPEN_CTREE_PARTIAL))
+ return -EIO;
}
fs_info->generation = generation;
@@ -1000,10 +1008,20 @@
u64 sb_bytenr, int super_recover)
{
u64 total_devs;
+ u64 dev_size;
int ret;
if (!sb_bytenr)
sb_bytenr = BTRFS_SUPER_INFO_OFFSET;
+ dev_size = lseek(fd, 0, SEEK_END);
+ if (dev_size < 0)
+ return (int)(dev_size);
+ lseek(fd, 0, SEEK_SET);
+ if (sb_bytenr > dev_size) {
+ fprintf(stderr, "Superblock bytenr is larger than device size\n");
+ return -EINVAL;
+ }
+
ret = btrfs_scan_one_device(fd, path, fs_devices,
&total_devs, sb_bytenr, super_recover);
if (ret) {
@@ -1012,7 +1030,7 @@
}
if (total_devs != 1) {
- ret = btrfs_scan_lblkid(!BTRFS_UPDATE_KERNEL);
+ ret = btrfs_scan_lblkid();
if (ret)
return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/extent_io.c new/btrfs-progs-v3.17.2/extent_io.c
--- old/btrfs-progs-v3.17/extent_io.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/extent_io.c 2014-11-19 17:44:56.000000000 +0100
@@ -666,8 +666,10 @@
{
int ret;
ret = pread(eb->fd, eb->data + offset, len, eb->dev_bytenr);
- if (ret < 0)
+ if (ret < 0) {
+ ret = -errno;
goto out;
+ }
if (ret != len) {
ret = -EIO;
goto out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/ioctl.h new/btrfs-progs-v3.17.2/ioctl.h
--- old/btrfs-progs-v3.17/ioctl.h 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/ioctl.h 2014-11-19 17:44:56.000000000 +0100
@@ -141,6 +141,7 @@
#define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0
#define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1
#define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2
+#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT -1
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/library-test.c new/btrfs-progs-v3.17.2/library-test.c
--- old/btrfs-progs-v3.17/library-test.c 1970-01-01 01:00:00.000000000 +0100
+++ new/btrfs-progs-v3.17.2/library-test.c 2014-11-19 17:44:56.000000000 +0100
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2014 SUSE. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * 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, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ */
+
+#include "kerncompat.h"
+#include "version.h"
+#include "send-stream.h"
+
+/*
+ * Reduced code snippet from snapper.git/snapper/Btrfs.cc
+ */
+struct btrfs_send_ops send_ops = {
+ .subvol = NULL,
+ .snapshot = NULL,
+ .mkfile = NULL,
+ .mkdir = NULL,
+ .mknod = NULL,
+ .mkfifo = NULL,
+ .mksock = NULL,
+ .symlink = NULL,
+ .rename = NULL,
+ .link = NULL,
+ .unlink = NULL,
+ .rmdir = NULL,
+ .write = NULL,
+ .clone = NULL,
+ .set_xattr = NULL,
+ .remove_xattr = NULL,
+ .truncate = NULL,
+ .chmod = NULL,
+ .chown = NULL,
+ .utimes = NULL,
+ .update_extent = NULL,
+};
+
+/*
+ * Link test only, not intended to be executed.
+ */
+static int test_send_stream_api() {
+ int ret;
+ int fd = -1;
+
+#if BTRFS_LIB_VERSION < 101
+ ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0);
+#else
+ ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0, 1);
+#endif
+ return ret;
+}
+
+int main() {
+ test_send_stream_api();
+
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/props.c new/btrfs-progs-v3.17.2/props.c
--- old/btrfs-progs-v3.17/props.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/props.c 2014-11-19 17:44:56.000000000 +0100
@@ -17,7 +17,7 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/types.h>
-#include <attr/xattr.h>
+#include <sys/xattr.h>
#include <fcntl.h>
#include <unistd.h>
@@ -29,6 +29,12 @@
#define XATTR_BTRFS_PREFIX "btrfs."
#define XATTR_BTRFS_PREFIX_LEN (sizeof(XATTR_BTRFS_PREFIX) - 1)
+/*
+ * Defined as synonyms in attr/xattr.h
+ */
+#ifndef ENOATTR
+#define ENOATTR ENODATA
+#endif
static int prop_read_only(enum prop_object_type type,
const char *object,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/rbtree-utils.h new/btrfs-progs-v3.17.2/rbtree-utils.h
--- old/btrfs-progs-v3.17/rbtree-utils.h 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/rbtree-utils.h 2014-11-19 17:44:56.000000000 +0100
@@ -21,6 +21,10 @@
#include "rbtree.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* The common insert/search/free functions */
typedef int (*rb_compare_nodes)(struct rb_node *node1, struct rb_node *node2);
typedef int (*rb_compare_keys)(struct rb_node *node, void *key);
@@ -42,4 +46,8 @@
rb_free_nodes(root, free_func); \
}
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/rbtree.h new/btrfs-progs-v3.17.2/rbtree.h
--- old/btrfs-progs-v3.17/rbtree.h 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/rbtree.h 2014-11-19 17:44:56.000000000 +0100
@@ -34,6 +34,10 @@
#include <btrfs/kerncompat.h>
#endif /* BTRFS_FLAT_INCLUDES */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rb_node {
unsigned long __rb_parent_color;
struct rb_node *rb_right;
@@ -75,7 +79,7 @@
extern struct rb_node *rb_next_postorder(const struct rb_node *);
/* Fast replacement of a single node without remove/rebalance/add/rebalance */
-extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,
+extern void rb_replace_node(struct rb_node *victim, struct rb_node *new_node,
struct rb_root *root);
static inline void rb_link_node(struct rb_node * node, struct rb_node * parent,
@@ -107,4 +111,8 @@
typeof(*pos), field); 1; }); \
pos = n)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _LINUX_RBTREE_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/rbtree_augmented.h new/btrfs-progs-v3.17.2/rbtree_augmented.h
--- old/btrfs-progs-v3.17/rbtree_augmented.h 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/rbtree_augmented.h 2014-11-19 17:44:56.000000000 +0100
@@ -26,6 +26,10 @@
#include "rbtree.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Please note - only struct rb_augment_callbacks and the prototypes for
* rb_insert_augmented() and rb_erase_augmented() are intended to be public.
@@ -228,4 +232,8 @@
__rb_erase_color(rebalance, root, augment->rotate);
}
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _LINUX_RBTREE_AUGMENTED_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/send-stream.c new/btrfs-progs-v3.17.2/send-stream.c
--- old/btrfs-progs-v3.17/send-stream.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/send-stream.c 2014-11-19 17:44:56.000000000 +0100
@@ -216,7 +216,7 @@
{
int ret;
void *data;
- int len;
+ int len = 0;
TLV_GET(s, attr, &data, &len);
Files old/btrfs-progs-v3.17/tests/fsck-tests/010-no-dir-item-or-index.img and new/btrfs-progs-v3.17.2/tests/fsck-tests/010-no-dir-item-or-index.img differ
Files old/btrfs-progs-v3.17/tests/fsck-tests/011-no-rootdir-inode-item.img and new/btrfs-progs-v3.17.2/tests/fsck-tests/011-no-rootdir-inode-item.img differ
Files old/btrfs-progs-v3.17/tests/fsck-tests/012-no-inode-item.img and new/btrfs-progs-v3.17.2/tests/fsck-tests/012-no-inode-item.img differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/utils.c new/btrfs-progs-v3.17.2/utils.c
--- old/btrfs-progs-v3.17/utils.c 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/utils.c 2014-11-19 17:44:56.000000000 +0100
@@ -52,6 +52,8 @@
#define BLKDISCARD _IO(0x12,119)
#endif
+static int btrfs_scan_done = 0;
+
static char argv0_buf[ARGV0_BUF_SIZE] = "btrfs";
void fixup_argv0(char **argv, const char *token)
@@ -64,7 +66,8 @@
void set_argv0(char **argv)
{
- sprintf(argv0_buf, "%s", argv[0]);
+ strncpy(argv0_buf, argv[0], sizeof(argv0_buf));
+ argv0_buf[sizeof(argv0_buf) - 1] = 0;
}
int check_argc_exact(int nargs, int expected)
@@ -1186,7 +1189,7 @@
/* scan other devices */
if (is_btrfs && total_devs > 1) {
- ret = btrfs_scan_lblkid(!BTRFS_UPDATE_KERNEL);
+ ret = btrfs_scan_lblkid();
if (ret)
return ret;
}
@@ -1239,7 +1242,7 @@
char name[PATH_MAX];
};
-void btrfs_register_one_device(char *fname)
+int btrfs_register_one_device(const char *fname)
{
struct btrfs_ioctl_vol_args args;
int fd;
@@ -1251,17 +1254,46 @@
fprintf(stderr, "failed to open /dev/btrfs-control "
"skipping device registration: %s\n",
strerror(errno));
- return;
+ return -errno;
}
strncpy(args.name, fname, BTRFS_PATH_NAME_MAX);
args.name[BTRFS_PATH_NAME_MAX-1] = 0;
ret = ioctl(fd, BTRFS_IOC_SCAN_DEV, &args);
e = errno;
- if(ret<0){
+ if (ret < 0) {
fprintf(stderr, "ERROR: device scan failed '%s' - %s\n",
fname, strerror(e));
+ ret = -e;
}
close(fd);
+ return ret;
+}
+
+/*
+ * Register all devices in the fs_uuid list created in the user
+ * space. Ensure btrfs_scan_lblkid() is called before this func.
+ */
+int btrfs_register_all_devices(void)
+{
+ int err;
+ struct btrfs_fs_devices *fs_devices;
+ struct btrfs_device *device;
+ struct list_head *all_uuids;
+
+ all_uuids = btrfs_scanned_uuids();
+
+ list_for_each_entry(fs_devices, all_uuids, list) {
+ list_for_each_entry(device, &fs_devices->devices, dev_list) {
+ if (strlen(device->name) != 0) {
+ err = btrfs_register_one_device(device->name);
+ if (err < 0)
+ return err;
+ if (err > 0)
+ return -err;
+ }
+ }
+ }
+ return 0;
}
int btrfs_device_already_in_root(struct btrfs_root *root, int fd,
@@ -1297,7 +1329,7 @@
static const char* unit_suffix_binary[] =
{ "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB"};
static const char* unit_suffix_decimal[] =
- { "B", "kB", "mB", "gB", "tB", "pB", "eB"};
+ { "B", "kB", "MB", "GB", "TB", "PB", "EB"};
int pretty_size_snprintf(u64 size, char *str, size_t str_size, unsigned unit_mode)
{
@@ -1865,29 +1897,12 @@
if (!fi_args->num_devices)
goto out;
- /*
- * with kernel patch
- * btrfs: ioctl BTRFS_IOC_FS_INFO and BTRFS_IOC_DEV_INFO miss-matched with slots
- * the kernel now returns total_devices which does not include
- * replacing device if running.
- * As we need to get dev info of the replace device if it is running,
- * so just add one to fi_args->num_devices.
- */
-
- di_args = *di_ret = malloc((fi_args->num_devices + 1) * sizeof(*di_args));
+ di_args = *di_ret = malloc((fi_args->num_devices) * sizeof(*di_args));
if (!di_args) {
ret = -errno;
goto out;
}
- /* get the replace target device if it is there */
- ret = get_device_info(fd, i, &di_args[ndevs]);
- if (!ret) {
- ndevs++;
- fi_args->num_devices++;
- }
- i++;
-
for (; i <= fi_args->max_id; ++i) {
BUG_ON(ndevs >= fi_args->num_devices);
ret = get_device_info(fd, i, &di_args[ndevs]);
@@ -2167,7 +2182,7 @@
return 0;
}
-int btrfs_scan_lblkid(int update_kernel)
+int btrfs_scan_lblkid()
{
int fd = -1;
int ret;
@@ -2178,6 +2193,9 @@
blkid_cache cache = NULL;
char path[PATH_MAX];
+ if (btrfs_scan_done)
+ return 0;
+
if (blkid_get_cache(&cache, 0) < 0) {
printf("ERROR: lblkid cache get failed\n");
return 1;
@@ -2206,11 +2224,12 @@
}
close(fd);
- if (update_kernel)
- btrfs_register_one_device(path);
}
blkid_dev_iterate_end(iter);
blkid_put_cache(cache);
+
+ btrfs_scan_done = 1;
+
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/utils.h new/btrfs-progs-v3.17.2/utils.h
--- old/btrfs-progs-v3.17/utils.h 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/utils.h 2014-11-19 17:44:56.000000000 +0100
@@ -38,7 +38,7 @@
#define BTRFS_UUID_UNPARSED_SIZE 37
-#define ARGV0_BUF_SIZE 64
+#define ARGV0_BUF_SIZE PATH_MAX
int check_argc_exact(int nargs, int expected);
int check_argc_min(int nargs, int expected);
@@ -81,7 +81,8 @@
u64 block_count, u32 io_width, u32 io_align,
u32 sectorsize);
int btrfs_scan_for_fsid(int run_ioctls);
-void btrfs_register_one_device(char *fname);
+int btrfs_register_one_device(const char *fname);
+int btrfs_register_all_devices(void);
char *canonicalize_dm_name(const char *ptname);
char *canonicalize_path(const char *path);
int check_mounted(const char *devicename);
@@ -127,7 +128,7 @@
int verify);
int ask_user(char *question);
int lookup_ino_rootid(int fd, u64 *rootid);
-int btrfs_scan_lblkid(int update_kernel);
+int btrfs_scan_lblkid(void);
int get_btrfs_mount(const char *dev, char *mp, size_t mp_size);
int find_mount_root(const char *path, char **mount_root);
int get_device_info(int fd, u64 devid,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.17/version.sh new/btrfs-progs-v3.17.2/version.sh
--- old/btrfs-progs-v3.17/version.sh 2014-10-17 18:43:33.000000000 +0200
+++ new/btrfs-progs-v3.17.2/version.sh 2014-11-19 17:44:56.000000000 +0100
@@ -6,7 +6,7 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
-v="v3.17"
+v="v3.17.2"
lib_major=0
lib_minor=1
++++++ fix-doc-build-on-SLE11SP3.diff ++++++
Build on SLE11SP3 complains:
ERROR: btrfs-mount.xml.tmp1: line 9: second section must be named SYNOPSIS
Index: btrfs-progs-v3.17.1/Documentation/btrfs-mount.txt
===================================================================
--- btrfs-progs-v3.17.1.orig/Documentation/btrfs-mount.txt
+++ btrfs-progs-v3.17.1/Documentation/btrfs-mount.txt
@@ -5,6 +5,10 @@ NAME
----
btrfs-mount - mount options and supported file attributes for the btrfs filesystem
+SYNOPSIS
+--------
+*man btrfs*
+
DESCRIPTION
-----------
This document describes mount options specific to the btrfs filesystem.
++++++ local-version-override.patch ++++++
--- /var/tmp/diff_new_pack.NWl2TV/_old 2014-11-29 08:39:49.000000000 +0100
+++ /var/tmp/diff_new_pack.NWl2TV/_new 2014-11-29 08:39:49.000000000 +0100
@@ -6,8 +6,8 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
--v="v3.17"
-+v="v3.17+20141103"
+-v="v3.17.2"
++v="v3.17.2+20141119"
lib_major=0
lib_minor=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package cups for openSUSE:Factory checked in at 2014-11-29 08:39:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cups (Old)
and /work/SRC/openSUSE:Factory/.cups.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cups"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cups/cups.changes 2014-11-15 12:14:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.cups.new/cups.changes 2014-11-29 08:39:45.000000000 +0100
@@ -1,0 +2,19 @@
+Tue Nov 25 16:13:50 CET 2014 - jsmeix(a)suse.de
+
+- Refresh and/or clean up the systemd units that belong to CUPS
+ (cups.service cups.socket cups.path) via RPM posttrans scriplet
+ in a generic way via "systemctl --force reenable" (bnc#904215).
+ An enabled systemd unit may need a refresh via
+ "systemctl --force reenable" after updating a package when
+ the new package had installed a changed systemd unit file.
+ A disabled systemd unit also may need a refresh via
+ "systemctl --force reenable" but then it is again disabled.
+ A systemd unit may become obsolete by updating a package when
+ the new package does no longer provide a unit file. In this
+ case "systemctl --force reenable" removes the unit.
+ In any case currently running services are not stopped even
+ when the new package does no longer provide the unit file
+ because a RPM package update must not automatically disrupt
+ (stop or restart) running services.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cups.spec ++++++
--- /var/tmp/diff_new_pack.IFwUBp/_old 2014-11-29 08:39:47.000000000 +0100
+++ /var/tmp/diff_new_pack.IFwUBp/_new 2014-11-29 08:39:47.000000000 +0100
@@ -603,25 +603,6 @@
# an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed
# see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets
%if 0%{?have_systemd}
-# Cleaning up obsolete systemd units cups.path and cups.socket is only needed up to openSUSE 13.1
-# because cups.path and cups.socket are only provided from openSUSE 12.2 up to openSUSE 13.1
-# see bnc#857372 starting at https://bugzilla.novell.com/show_bug.cgi?id=857372#c61
-%if 0%{?suse_version} <= 1310
-# Begin clean up obsolete systemd units cups.path and cups.socket
-# Stop and disable systemd units that have been provided by a previous package version but are no longer provided by this package.
-# Do this in any case because YaST only supprts cups.service but not cups.socket or cups.path
-# see https://bugzilla.novell.com/show_bug.cgi?id=857372#c120
-# and if cups.socket or cups.path would be actuve YaST would mess up the systemd setup for CUPS
-# see https://bugzilla.novell.com/show_bug.cgi?id=857372#c115
-# which is one more reason that cups.socket and cups.path are completely disabled and removed
-# see https://bugzilla.novell.com/show_bug.cgi?id=857372#c61
-for u in cups.path cups.socket
-do # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. preinstall script ... failed"):
- systemctl --quiet stop $u || :
- systemctl --quiet disable $u || :
-done
-# End clean up obsolete systemd units cups.path and cups.socket
-%endif
# Begin service_add_pre cups.service
%service_add_pre cups.service
# End service_add_pre cups.service
@@ -641,14 +622,6 @@
# Begin service_add_post cups.service
%service_add_post cups.service
# End service_add_post cups.service
-# Begin refresh systemd unit cups.service
-# Be on the safe side and enforce systemd to use the cups.service file in this package
-# ("reenable" does not implicitly stop a running cupsd which is exactly correct here):
-if systemctl --quiet is-enabled cups.service
-then # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. postinstall script ... failed"):
- systemctl --quiet reenable cups.service || :
-fi
-# End refresh systemd unit cups.service
%else
# Begin fillup_and_insserv -ny cups cups
%{fillup_and_insserv -ny cups cups}
@@ -689,6 +662,52 @@
%endif
exit 0
+%posttrans
+# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe
+# an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed
+# see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets
+%if 0%{?have_systemd}
+# Begin refresh systemd units and clean up possibly obsolete systemd units
+# The following is a generic way how to refresh and/or clean up systemd units.
+# A systemd unit may need a refresh after updating a package when the new package
+# had installed a changed systemd unit file for an enabled systemd unit.
+# A systemd unit may become obsolete by updating a package (see bnc#904215).
+# A systemd unit is considered to have become obsolete when the systemd
+# symlink /etc/systemd/system/.../unit_name -> /path/to/unit_file is broken.
+# When during package update the new package does no longer provide a unit file
+# then the systemd symlink becomes broken after the files of the old package
+# had been actually removed by RPM.
+# According to /usr/share/doc/packages/rpm/manual/triggers and according
+# to https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets#Scriptlet_Ord…
+# and http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering
+# from the new package only "posttrans of new package" is run after "removal of old package"
+# so that the new package must do the clean up as RPM posttrans scriptlet.
+for u in cups.service cups.socket cups.path
+do if systemctl --quiet is-enabled $u 2>/dev/null
+ then # Refresh still valid enabled systemd units and clean up possibly obsoleted systemd units:
+ # Enforce systemd to use the current unit file which is usually the unit file of the new package
+ # but also in case of custom units (that use other unit files) a "reenable" won't hurt because
+ # "reenable" does not implicitly stop a running service which is "the right thing" because
+ # a RPM package installation must not automatically disrupt (restart) a running service.
+ # Using "--force reenable" is essential to clean up possibly conflicting/broken symlinks.
+ # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"):
+ systemctl --quiet --force reenable $u 2>/dev/null || :
+ else # Refresh still valid disabled systemd units and clean up possibly obsoleted systemd units:
+ # First using "--force reenable" is essential to clean up possibly conflicting/broken symlinks
+ # because there is no "--force disable" that would clean up possibly conflicting/broken symlinks
+ # see https://bugzilla.opensuse.org/show_bug.cgi?id=904215#c34
+ # so that first the unit has a clean state and then it is set back to disabled (as it was before).
+ # If a disabled systemd unit has become obsoleted, "systemctl --force reenable" will clean it up
+ # which means the unit gets removed and the subsequent "systemctl disable" will do nothing.
+ # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"):
+ systemctl --quiet --force reenable $u 2>/dev/null || :
+ systemctl --quiet disable $u 2>/dev/null || :
+ fi
+done
+# End refresh systemd units and clean up possibly obsolete systemd units
+%endif
+exit 0
+
%post libs
# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe
# an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kmix for openSUSE:Factory checked in at 2014-11-29 08:39:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kmix (Old)
and /work/SRC/openSUSE:Factory/.kmix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kmix"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kmix/kmix.changes 2014-11-19 20:29:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kmix.new/kmix.changes 2014-11-29 08:39:44.000000000 +0100
@@ -1,0 +2,7 @@
+Sun Nov 23 04:49:00 UTC 2014 - Led <ledest(a)gmail.com>
+
+- fix bashisms in kmixremote script
+- add patches:
+ * kmix-4.14.3-fix-bashisms.patch
+
+-------------------------------------------------------------------
New:
----
kmix-4.14.3-fix-bashisms.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kmix.spec ++++++
--- /var/tmp/diff_new_pack.gurJYu/_old 2014-11-29 08:39:45.000000000 +0100
+++ /var/tmp/diff_new_pack.gurJYu/_new 2014-11-29 08:39:45.000000000 +0100
@@ -33,6 +33,7 @@
# PATCH-FIX-OPENSUSE Who-needs-event-slider.patch -- since KNotify will no longer be able pretending it can
# control volume, also remove the Event slider within KMix
Patch0: Who-needs-event-slider.patch
+Patch1: kmix-4.14.3-fix-bashisms.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%kde4_runtime_requires
@@ -44,6 +45,7 @@
%if 0%{?suse_version} >= 1310
%patch0 -p1
%endif
+%patch1 -p1
%build
%cmake_kde4 -d build
++++++ kmix-4.14.3-fix-bashisms.patch ++++++
diff -Ndur kmix-4.14.3/apps/kmixremote kmix-4.14.3-fix-bashisms/apps/kmixremote
--- kmix-4.14.3/apps/kmixremote 2014-07-16 11:24:17.000000000 +0300
+++ kmix-4.14.3-fix-bashisms/apps/kmixremote 2014-11-23 06:46:36.616308340 +0200
@@ -7,7 +7,7 @@
# Mute
#################################################################################
-function usage
+usage()
{
echo "Usage:"
echo "List mixers # $0 list"
@@ -18,7 +18,7 @@
echo
}
-function exit_with_error
+exit_with_error()
{
echo "Error: $1"
echo
@@ -27,7 +27,7 @@
}
# Prints the mixer DBUS ID's on the console. leaving out the "/Mixers/" prefix
-function listMixers
+listMixers()
{
qdbus org.kde.kmix /Mixers org.freedesktop.DBus.Properties.Get org.kde.KMix.MixSet mixers | cut -f3 -d/
errorCode=$?
@@ -37,7 +37,7 @@
}
# Prints the mixer control DBUS ID's of the given mixer on the console. leaving out the "/Mixers/" prefix
-function listControls
+listControls()
{
qdbus org.kde.kmix $1 org.freedesktop.DBus.Properties.Get org.kde.KMix.Mixer controls | cut -f4 -d/
errorCode=$?
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package ypbind for openSUSE:Factory checked in at 2014-11-29 08:39:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ypbind (Old)
and /work/SRC/openSUSE:Factory/.ypbind.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ypbind"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ypbind/ypbind.changes 2014-10-25 08:32:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ypbind.new/ypbind.changes 2014-11-29 08:39:42.000000000 +0100
@@ -1,0 +2,37 @@
+Mon Nov 3 10:33:55 CET 2014 - kukuk(a)suse.de
+
+- Update to ypbind-2.0
+ - final release with IPv6 support
+
+-------------------------------------------------------------------
+Sat Nov 1 21:25:08 CET 2014 - kukuk(a)suse.de
+
+- Update to ypbind-1-99.5
+ - disable workaround which could lead to a crash
+
+-------------------------------------------------------------------
+Tue Oct 28 14:57:31 CET 2014 - kukuk(a)suse.de
+
+- Update to ypbind-1.99.4
+ - ypbind protocol v3 fully implemented
+
+-------------------------------------------------------------------
+Fri Oct 24 19:05:19 CEST 2014 - kukuk(a)suse.de
+
+- Update to ypbind-1.99.3
+ - build against libnis/ti-rpc
+ - register with ypbind protocol version 3, too
+
+-------------------------------------------------------------------
+Tue Oct 21 17:19:03 CEST 2014 - kukuk(a)suse.de
+
+- Update to ypbind-1.99.2
+ - add check for localhost/IPv6
+
+-------------------------------------------------------------------
+Mon Oct 20 16:13:46 CEST 2014 - kukuk(a)suse.de
+
+- Update to ypbind-1.99.1
+ - register with IPv6 addresses, too.
+
+-------------------------------------------------------------------
Old:
----
ypbind-mt-1.38.tar.bz2
New:
----
ypbind-mt-2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ypbind.spec ++++++
--- /var/tmp/diff_new_pack.OhlBjE/_old 2014-11-29 08:39:43.000000000 +0100
+++ /var/tmp/diff_new_pack.OhlBjE/_new 2014-11-29 08:39:43.000000000 +0100
@@ -17,25 +17,26 @@
Name: ypbind
-BuildRequires: dbus-1-devel
-BuildRequires: openslp-devel
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libsystemd-daemon)
-%{?systemd_requires}
-BuildRequires: dbus-1-glib-devel
-%if %{suse_version} > 1210
-BuildRequires: libxml2-tools
-%endif
-Requires: rpcbind
-Requires: yp-tools
PreReq: %insserv_prereq %fillup_prereq
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Version: 1.38
+Version: 2.0
Release: 0
Url: http://www.linux-nis.org/nis/ypbind-mt
Summary: NIS client daemon
License: GPL-2.0
Group: Productivity/Networking/NIS
+BuildRequires: pkgconfig
+%if %{suse_version} >= 1310
+BuildRequires: pkgconfig(libnis) >= 2.99.3
+BuildRequires: pkgconfig(libsystemd-daemon)
+BuildRequires: pkgconfig(libtirpc)
+%else
+BuildRequires: libnis-devel
+BuildRequires: libtirpc-devel
+%endif
+#BuildRequires: libxml2-tools
+Requires: rpcbind
+Requires: yp-tools
Source: http://www.linux-nis.org/download/%name-mt/%name-mt-%version.tar.bz2
Source1: SuSEfirewall.ypbind
Source2: ypbind.service
@@ -56,14 +57,13 @@
%build
export CFLAGS=$RPM_OPT_FLAGS
-./configure --mandir=%{_mandir} --prefix=%{_prefix} --enable-dbus-nm
+./configure --mandir=%{_mandir} --prefix=%{_prefix} --disable-dbus-nm
make
%install
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
mkdir -p $RPM_BUILD_ROOT/var/yp/binding
-mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/ypbind
make install DESTDIR=$RPM_BUILD_ROOT
# Install SuSEfirewall2 service file
install -m 644 %SOURCE1 $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/ypbind
@@ -74,14 +74,22 @@
touch $RPM_BUILD_ROOT/etc/yp.conf
# Create filelist with translatins
%{find_lang} ypbind-mt
+%if %{suse_version} >= 1310
# Install systemd stuff
install -D -m 644 %SOURCE2 %{buildroot}%{_unitdir}/ypbind.service
+mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/ypbind
install -m 755 %SOURCE3 $RPM_BUILD_ROOT%{_libexecdir}/ypbind/ypbind-systemd-pre
install -m 755 %SOURCE4 $RPM_BUILD_ROOT%{_libexecdir}/ypbind/ypbind-systemd-post
install -m 755 %SOURCE5 $RPM_BUILD_ROOT%{_libexecdir}/ypbind/ypbind-systemd-exec
# create symlink for rcypbind
ln -s /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcypbind
+%else
+mkdir -p $RPM_BUILD_ROOT/etc/init.d
+install -m 755 etc/ypbind.init $RPM_BUILD_ROOT/etc/init.d/ypbind
+ln -sf /etc/init.d/ypbind $RPM_BUILD_ROOT/usr/sbin/rcypbind
+%endif
+%if %{suse_version} >= 1310
%pre
%service_add_pre ypbind.service
@@ -97,6 +105,22 @@
%postun
%service_del_postun ypbind.service
+%else
+%post
+%{fillup_and_insserv ypbind}
+
+%preun
+%stop_on_removal ypbind
+if [ "$1" = "0" ]; then
+ rm -f var/yp/binding/*
+fi
+exit 0
+
+%postun
+%restart_on_update ypbind
+%insserv_cleanup
+exit 0
+%endif
%files -f ypbind-mt.lang
%defattr(-,root,root)
@@ -110,8 +134,12 @@
/usr/sbin/rcypbind
%dir /var/yp
%dir /var/yp/binding
+%if %{suse_version} >= 1310
%{_unitdir}/ypbind.service
%dir %{_libexecdir}/ypbind
%{_libexecdir}/ypbind/*
+%else
+%config /etc/init.d/ypbind
+%endif
%changelog
++++++ ypbind-mt-1.38.tar.bz2 -> ypbind-mt-2.0.tar.bz2 ++++++
++++ 7476 lines of diff (skipped)
++++++ ypbind-systemd-exec ++++++
--- /var/tmp/diff_new_pack.OhlBjE/_old 2014-11-29 08:39:43.000000000 +0100
+++ /var/tmp/diff_new_pack.OhlBjE/_new 2014-11-29 08:39:43.000000000 +0100
@@ -12,7 +12,7 @@
test "$YPBIND_BROADCAST" = "yes" && OTHER_YPBIND_OPTS="-broadcast $OTHER_YPBIND_OPTS"
test "$YPBIND_BROKEN_SERVER" = "yes" && OTHER_YPBIND_OPTS="-broken-server $OTHER_YPBIND_OPTS"
test "X$YPBIND_PING_INTERVAL" != "X" && OTHER_YPBIND_OPTS="-ping-interval $YPBIND_PING_INTERVAL $OTHER_YPBIND_OPTS"
-test "$YPBIND_DBUS" = "no" && OTHER_YPBIND_OPTS="-no-dbus $OTHER_YPBIND_OPTS"
+#test "$YPBIND_DBUS" = "no" && OTHER_YPBIND_OPTS="-no-dbus $OTHER_YPBIND_OPTS"
test -n "$YPBIND_OPTIONS" && OTHER_YPBIND_OPTS="$YPBIND_OPTIONS $OTHER_YPBIND_OPTS"
exec /usr/sbin/ypbind -n $OTHER_YPBIND_OPTS
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package caribou for openSUSE:Factory checked in at 2014-11-29 08:39:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/caribou (Old)
and /work/SRC/openSUSE:Factory/.caribou.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "caribou"
Changes:
--------
--- /work/SRC/openSUSE:Factory/caribou/caribou.changes 2014-09-30 19:41:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.caribou.new/caribou.changes 2014-11-29 08:39:41.000000000 +0100
@@ -1,0 +2,13 @@
+Mon Nov 24 10:55:47 UTC 2014 - zaitor(a)opensuse.org
+
+- Update to version 0.4.16:
+ + Stop using deprecated accessibility events ("focus:*").
+ + bgo#739837: Allow label overwrite in keyboard layout.
+ + bgo#739716: Add more keys to label_map.
+ + bgo#739711: Escape key does not work in us layout.
+ + bgo#739526: Some buttons do not have a label.
+ + bgo#722634: [regression] build failure: ImportError: No module
+ named 'caribou_settings'.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
caribou-0.4.15.tar.xz
New:
----
caribou-0.4.16.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ caribou.spec ++++++
--- /var/tmp/diff_new_pack.VhlbUI/_old 2014-11-29 08:39:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VhlbUI/_new 2014-11-29 08:39:42.000000000 +0100
@@ -17,7 +17,7 @@
Name: caribou
-Version: 0.4.15
+Version: 0.4.16
Release: 0
# FIXME: Stop hiding the .desktop file with %%suse_update_desktop_file -u if launching caribou finally works
Summary: On-screen Keyboard for GNOME
++++++ caribou-0.4.15.tar.xz -> caribou-0.4.16.tar.xz ++++++
++++ 1893 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package colord for openSUSE:Factory checked in at 2014-11-29 08:39:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/colord (Old)
and /work/SRC/openSUSE:Factory/.colord.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "colord"
Changes:
--------
--- /work/SRC/openSUSE:Factory/colord/colord.changes 2014-11-18 22:46:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.colord.new/colord.changes 2014-11-29 08:39:39.000000000 +0100
@@ -1,0 +2,40 @@
+Thu Nov 27 09:50:45 UTC 2014 - dimstar(a)opensuse.org
+
+- Update to version 1.2.6:
+ + New Features:
+ - Allowing compile using mingw.
+ - Make the ArgyllCMS sensor driver optional.
+ - libcolord:
+ . Add cd_it8_get_xyz_for_rgb().
+ . Add cd_it8_utils_calculate_gamma().
+ . Add cd_spectrum_get_resolution().
+ . Add cd_spectrum_get_value_raw().
+ . Add cd_spectrum_normalize_max().
+ . Add cd_spectrum_set_value().
+ + Bugfixes:
+ - libcolord:
+ . Allow a SPECTRAL_START_NM value of zero.
+ . Always replace CCSS spectral data of the same ID.
+ . Deep copy the spectral data when using cd_spectrum_dup().
+ . Fix using cd_it8_add_spectrum() where the spectra have no
+ ID values.
+ . Never allow duplicate CCSS IDs for small wavelength ranges.
+ . Only set SPECTRAL_NORM when the normalisation is enabled.
+ . Return correct values when no LUMINANCE_XYZ_CDM2 is
+ specified.
+ . Use double precision for SPECTRAL_START_NM and
+ SPECTRAL_END_NM.
+ . When using cd_it8_add_spectrum() replace any with the same
+ ID.
+- Changes from version 1.2.5:
+ + New Features:
+ - Add a branding-less ColorHug2 figure.
+ - Add the calculate-ccmx subcommand to cd-it8.
+ - Install the now-useful cd-it8 helper.
+ + Bugfixes:
+ - Drop nb.po, its superfluous with nb_NO.po around.
+ - Fix a crash in the session helper while calibrating.
+ - Remove the private cd-find-broken tool.
+- Add argyllcms BuildRequires and Requires.
+
+-------------------------------------------------------------------
Old:
----
colord-1.2.4.tar.xz
New:
----
colord-1.2.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ colord.spec ++++++
--- /var/tmp/diff_new_pack.IeSkRr/_old 2014-11-29 08:39:40.000000000 +0100
+++ /var/tmp/diff_new_pack.IeSkRr/_new 2014-11-29 08:39:40.000000000 +0100
@@ -19,7 +19,7 @@
%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
Name: colord
-Version: 1.2.4
+Version: 1.2.6
Release: 0
Summary: System Daemon for Managing Color Devices
License: GPL-2.0+
@@ -29,6 +29,7 @@
# Apparmor profile
Source1: usr.lib.colord
Source99: baselibs.conf
+BuildRequires: argyllcms
BuildRequires: gobject-introspection-devel
BuildRequires: intltool
BuildRequires: vala
@@ -48,6 +49,7 @@
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
Requires(pre): pwdutils
+Requires: argyllcms
Requires: shared-color-profiles
Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -185,6 +187,7 @@
%{_bindir}/cd-create-profile
%{_bindir}/cd-fix-profile
%{_bindir}/cd-iccdump
+%{_bindir}/cd-it8
%{_bindir}/colormgr
%{_libdir}/colord-sensors/
%{_libexecdir}/%{name}
@@ -199,6 +202,7 @@
%{_datadir}/polkit-1/actions/org.freedesktop.color.policy
%{_mandir}/man1/cd-create-profile.1%{?ext_man}
%{_mandir}/man1/cd-fix-profile.1%{?ext_man}
+%{_mandir}/man1/cd-it8.1%{?ext_man}
%{_mandir}/man1/colormgr.1%{?ext_man}
%dir /etc/apparmor.d/
%config /etc/apparmor.d/usr.lib.colord
++++++ colord-1.2.4.tar.xz -> colord-1.2.6.tar.xz ++++++
++++ 38964 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package iso-codes for openSUSE:Factory checked in at 2014-11-29 08:39:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iso-codes (Old)
and /work/SRC/openSUSE:Factory/.iso-codes.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iso-codes"
Changes:
--------
--- /work/SRC/openSUSE:Factory/iso-codes/iso-codes.changes 2014-10-05 20:28:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.iso-codes.new/iso-codes.changes 2014-11-29 08:39:35.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 27 09:43:38 UTC 2014 - dimstar(a)opensuse.org
+
+- Update to version 3.57:
+ + Updated translations for ISO 639-3, ISO 639-5 and ISO 3166-2.
+
+-------------------------------------------------------------------
Old:
----
iso-codes-3.56.tar.xz
New:
----
iso-codes-3.57.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iso-codes.spec ++++++
--- /var/tmp/diff_new_pack.UYEi7q/_old 2014-11-29 08:39:36.000000000 +0100
+++ /var/tmp/diff_new_pack.UYEi7q/_new 2014-11-29 08:39:36.000000000 +0100
@@ -17,7 +17,7 @@
Name: iso-codes
-Version: 3.56
+Version: 3.57
Release: 0
Summary: ISO Code Lists and Translations
License: LGPL-2.1+
++++++ iso-codes-3.56.tar.xz -> iso-codes-3.57.tar.xz ++++++
++++ 2761 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libqmi for openSUSE:Factory checked in at 2014-11-29 08:39:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqmi (Old)
and /work/SRC/openSUSE:Factory/.libqmi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqmi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqmi/libqmi.changes 2014-10-14 13:24:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqmi.new/libqmi.changes 2014-11-29 08:39:34.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Nov 27 01:11:00 UTC 2014 - Led <ledest(a)gmail.com>
+
+- fix bashisms in qmi-network script
+- add patches:
+ * libqmi-1.10.2-fix-bashisms.patch
+
+-------------------------------------------------------------------
New:
----
libqmi-1.10.2-fix-bashisms.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqmi.spec ++++++
--- /var/tmp/diff_new_pack.zopa9k/_old 2014-11-29 08:39:35.000000000 +0100
+++ /var/tmp/diff_new_pack.zopa9k/_new 2014-11-29 08:39:35.000000000 +0100
@@ -28,6 +28,7 @@
Url: http://cgit.freedesktop.org/libqmi/
Source0: http://www.freedesktop.org/software/libqmi/%{name}-%{version}.tar.xz
Source99: libqmi-rpmlintrc
+Patch0: %{name}-1.10.2-fix-bashisms.patch
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(gobject-2.0)
@@ -66,6 +67,7 @@
%prep
%setup -q
+%patch0 -p1
%build
%configure \
++++++ libqmi-1.10.2-fix-bashisms.patch ++++++
diff -Ndur libqmi-1.10.2/utils/qmi-network.in libqmi-1.10.2-fix-bashisms/utils/qmi-network.in
--- libqmi-1.10.2/utils/qmi-network.in 2014-06-16 17:39:11.000000000 +0300
+++ libqmi-1.10.2-fix-bashisms/utils/qmi-network.in 2014-11-27 03:10:12.692197726 +0200
@@ -47,10 +47,10 @@
}
if [ $# -ne 2 ]; then
- if [ $1 == "--help" ]; then
+ if [ "$1" = "--help" ]; then
help
exit 0
- elif [ $1 == "--version" ]; then
+ elif [ "$1" = "--version" ]; then
version
exit 0
fi
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yp-tools for openSUSE:Factory checked in at 2014-11-29 08:39:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yp-tools (Old)
and /work/SRC/openSUSE:Factory/.yp-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yp-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yp-tools/yp-tools.changes 2013-04-12 20:47:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yp-tools.new/yp-tools.changes 2014-11-29 08:39:32.000000000 +0100
@@ -1,0 +2,78 @@
+Thu Nov 27 08:28:26 UTC 2014 - dimstar(a)opensuse.org
+
+- Filter libc.so.6(GLIBC_PRIVATE) from the requires of libnss_nis6:
+ we consciously use glibc internas.
+- Do not install libtool archives.
+
+-------------------------------------------------------------------
+Mon Nov 17 01:44:00 UTC 2014 - Led <ledest(a)gmail.com>
+
+- fix bashism in match_printcap script
+
+-------------------------------------------------------------------
+Mon Nov 3 16:32:42 CET 2014 - kukuk(a)suse.de
+
+- Update to version 3.0.1
+ - Use very short timeout for clnt_create()
+
+-------------------------------------------------------------------
+Mon Nov 3 10:46:34 CET 2014 - kukuk(a)suse.de
+
+- Update to version 3.0
+ - fix xdrfile-test.c on 32bit
+
+-------------------------------------------------------------------
+Fri Oct 31 16:33:29 CET 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.8
+ - Enhance libnis for ypserv
+
+-------------------------------------------------------------------
+Thu Oct 30 10:32:45 CET 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.7
+ - Rework nss_nis6 dependencys
+ (RPM handles glibc provides very special)
+ - Some fixes to yp_prot.h for ypserv
+
+-------------------------------------------------------------------
+Wed Oct 29 15:51:02 CET 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.6
+ - Finish libnis library
+ - Add nss_nis6 plugin for glibc
+
+-------------------------------------------------------------------
+Tue Oct 28 11:52:13 CET 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.5
+ - Implement v3 protocol for ypset
+ - Enhance libnis library
+
+-------------------------------------------------------------------
+Sat Oct 25 01:01:46 CEST 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.4
+ - fixes last IPv4 only code (except ypset)
+
+-------------------------------------------------------------------
+Fri Oct 24 19:01:45 CEST 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.3
+ - fixes some bugs to build ypbind
+
+-------------------------------------------------------------------
+Fri Oct 24 15:09:10 CEST 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.2
+ - ypwhich speaks now ypbind v3 protocol
+ - Add seperate libnis library
+
+-------------------------------------------------------------------
+Tue Oct 21 14:41:16 CEST 2014 - kukuk(a)suse.de
+
+- Update to version 2.99.1
+ - port to TI-RPC
+ - ypwhich and ypset can now use IPv6 to speak with ypbind
+
+-------------------------------------------------------------------
Old:
----
yp-tools-2.14.tar.bz2
New:
----
yp-tools-3.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yp-tools.spec ++++++
--- /var/tmp/diff_new_pack.ha117B/_old 2014-11-29 08:39:33.000000000 +0100
+++ /var/tmp/diff_new_pack.ha117B/_new 2014-11-29 08:39:33.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yp-tools
#
-# Copyright (c) 2013 SUSE LINUX Products 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
@@ -16,14 +16,24 @@
#
+# Filter libc.so.6(GLIBC_PRIVATE) from the Requires: we inject a IPv6 capable NSS_NIS
+# and that does make use of glibc internas on purpose (regulas NSS_NIS comes from glibc)
+%global __requires_exclude libc.so.6\\(GLIBC_PRIVATE\\)
+
Name: yp-tools
-Version: 2.14
+Version: 3.0.1
Release: 0
Summary: Network Information Service (YP) client utilities
-License: GPL-2.0
+License: GPL-2.0 and LGPL-2.1
Group: Productivity/Networking/NIS
Source: http://www.linux-nis.org/download/yp-tools/yp-tools-%{version}.tar.bz2
Url: http://www.linux-nis.org/
+BuildRequires: pkgconfig
+%if 0%{?suse_version} >= 1310
+BuildRequires: pkgconfig(libtirpc)
+%else
+BuildRequires: libtirpc-devel
+%endif
Source1: match_printcap
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -31,38 +41,66 @@
This packages contains some useful tools for accessing NIS maps or to
test NIS configurations.
+%package -n libnis1
+Summary: Library with IPv6 enabled NIS functions
+License: LGPL-2.1
+Group: System/Libraries
+
+%description -n libnis1
+This library provides this NIS functions in a IPv6 enabled version.
+
+%package -n libnss_nis6-2
+Summary: NSS plugin for glibc replacing nss_nis
+License: LGPL-2.1
+Group: System/Libraries
+
+%description -n libnss_nis6-2
+This NSS plugin for glibc replaces the glibc nss_nis module.
+The only different between this modules is, that nss_nis6 is
+able to use IPv6, too.
+If you use nss_nis6, make sure that you don't use NIS for
+resolving hostnames.
+
+%package -n libnis-devel
+Summary: NIS header files and libraries for development
+License: LGPL-2.1+
+Group: Development/Libraries/C and C++
+Requires: libnis1 = %version
+
+%description -n libnis-devel
+This package contains the include files and libraries needed to
+develop applications using the IPv6 ready NIS functions. This
+includes support for the ypbind v3 protocol, too.
+
%prep
%setup -q
-
%build
-CFLAGS="%{optflags}" ./configure --enable-call-passwd --enable-domainname --mandir=%{_mandir}
+%configure --disable-static --with-pic --enable-call-passwd --enable-domainname --includedir=%{_includedir}/libnis
make
%install
%make_install
-# Not yet
-rm -f %{buildroot}%{_sbindir}/ypserv_test
+find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
cp -a %{buildroot}%{_mandir}/man8/domainname.8 %{buildroot}%{_mandir}/man8/nisdomainname.8
cp -a %{buildroot}%{_mandir}/man8/domainname.8 %{buildroot}%{_mandir}/man8/ypdomainname.8
mkdir -p %{buildroot}%{_prefix}/lib/yp
install -m 755 %{SOURCE1} %{buildroot}%{_prefix}/lib/yp
rm %{buildroot}%{_bindir}/domainname %{buildroot}%{_mandir}/man8/domainname.8
-#UsrMerge
-mkdir -p %{buildroot}/bin
-ln -sf %{_bindir}/nisdomainname %{buildroot}/bin
-ln -sf %{_bindir}/ypdomainname %{buildroot}/bin
-#EndUsrMerge
+mkdir %{buildroot}/%{_lib}
+mv %{buildroot}%{_libdir}/libnss_nis6.so.* %{buildroot}/%{_lib}
+rm -fv %{buildroot}%{_libdir}/libnss_nis6.*
%{find_lang} %{name}
+%post -n libnis1 -p /sbin/ldconfig
+%postun -n libnis1 -p /sbin/ldconfig
+%post -n libnss_nis6-2 -p /sbin/ldconfig
+%postun -n libnss_nis6-2 -p /sbin/ldconfig
+
%files -f %{name}.lang
%defattr(-,root,root)
-%doc AUTHORS ChangeLog COPYING NEWS README THANKS TODO
+%doc AUTHORS COPYING NEWS README THANKS
%dir %{_localstatedir}/yp
%config(noreplace) %{_localstatedir}/yp/nicknames
-#UsrMerge
-/bin/nisdomainname
-/bin/ypdomainname
-#EndUsrMerge
%{_bindir}/nisdomainname
%{_bindir}/ypcat
%{_bindir}/ypchfn
@@ -82,11 +120,26 @@
%doc %{_mandir}/man5/nicknames.5.gz
%doc %{_mandir}/man8/yppoll.8.gz
%doc %{_mandir}/man8/ypset.8.gz
-%doc %{_mandir}/man8/yptest.8.gz
%doc %{_mandir}/man8/ypdomainname.8.gz
%doc %{_mandir}/man8/nisdomainname.8.gz
%{_sbindir}/yppoll
%{_sbindir}/ypset
-%{_sbindir}/yptest
+
+%files -n libnis1
+%defattr(-,root,root)
+%{_libdir}/libnis.so.*
+
+%files -n libnss_nis6-2
+%defattr(-,root,root)
+/%{_lib}/libnss_nis6.so.*
+
+%files -n libnis-devel
+%defattr(-,root,root)
+%dir %{_includedir}/libnis
+%dir %{_includedir}/libnis/rpcsvc
+%{_includedir}/libnis/rpcsvc/*.h
+%{_includedir}/libnis/rpcsvc/*.x
+%{_libdir}/pkgconfig/libnis.pc
+%{_libdir}/libnis.so
%changelog
++++++ match_printcap ++++++
--- /var/tmp/diff_new_pack.ha117B/_old 2014-11-29 08:39:33.000000000 +0100
+++ /var/tmp/diff_new_pack.ha117B/_new 2014-11-29 08:39:33.000000000 +0100
@@ -29,6 +29,6 @@
n=1
while ypmatch "${key}${delim}${n}" printcap 2>/dev/null; do
- n=$[$n + 1]
+ n=$(($n + 1))
done \
| sed "s/^.*${delim}[0-9]*|//"
++++++ yp-tools-2.14.tar.bz2 -> yp-tools-3.0.1.tar.bz2 ++++++
++++ 58770 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package apache2 for openSUSE:Factory checked in at 2014-11-29 08:39:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2 (Old)
and /work/SRC/openSUSE:Factory/.apache2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache2/apache2.changes 2014-11-13 09:21:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.apache2.new/apache2.changes 2014-11-29 08:39:29.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Nov 27 13:38:25 UTC 2014 - pgajdos(a)suse.com
+
+- small improvement of ssl instructions [bnc#891813]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gensslcert ++++++
--- /var/tmp/diff_new_pack.voBbrl/_old 2014-11-29 08:39:32.000000000 +0100
+++ /var/tmp/diff_new_pack.voBbrl/_new 2014-11-29 08:39:32.000000000 +0100
@@ -182,14 +182,14 @@
modkey=`$openssl rsa -noout -modulus -in $sslkeydir/${name}server.key | sed -e 's;.*Modulus=;;' || myexit $LINENO $?`
if [ ".$modcrt" != ".$modkey" ]; then
- error "mkcert.sh:Error: Failed to verify modulus on resulting X.509 certificate" 1>&2
+ error "gensslcert:Error: Failed to verify modulus on resulting X.509 certificate" 1>&2
myexit $LINENO $?
fi
echo;myecho Verify: matching certificate signature
$openssl verify -CAfile $sslcrtdir/${name}ca.crt $sslcrtdir/${name}server.crt || myexit $LINENO $?
if [ $? -ne 0 ]; then
- error "mkcert.sh:Error: Failed to verify signature on resulting X.509 certificate" 1>&2
+ error "gensslcert:Error: Failed to verify signature on resulting X.509 certificate" 1>&2
myexit $LINENO $?
fi
++++++ sysconfig.apache2 ++++++
--- /var/tmp/diff_new_pack.voBbrl/_old 2014-11-29 08:39:32.000000000 +0100
+++ /var/tmp/diff_new_pack.voBbrl/_new 2014-11-29 08:39:32.000000000 +0100
@@ -51,16 +51,22 @@
# * In the APACHE_MODULES variable, you can use mod_xyz or just xyz syntax.
# You may also name an absolute path if you like.
#
-# * NOTE ON SSL: before you can use mod_ssl, you need a server certificate.
-# A test certificate can be created by (as root):
-# cd /usr/share/doc/packages/apache2; /bin/sh ./mkcert.sh make --no-print-directory /usr/bin/openssl /usr/sbin/ test
-# Please feel free to have a look at the mkcert.sh script to see how certificates can be created.
-# Also, you need to set the ServerName inside the <VirtualHost _default_:443>
-# block to the fully qualified domain name (see /etc/HOSTNAME).
-# * if your server certificate is protected by a passphrase you should increase the
-# APACHE_START_TIMEOUT (see above)
-# * to finally enable ssl support, you need to add 'SSL' to APACHE_SERVER_FLAGS
-# below.
+# * NOTES ON SSL:
+# 1. Before you can use mod_ssl, you need a server certificate.
+# A test certificate can be created by entering e. g.
+#
+# $ gensslcert -n a.com -C a.com -e webmaster(a)a.com
+#
+# See gensslcert -h for or gensslcert script itself for details.
+# 2. Also, you need to set the ServerName inside the <VirtualHost _default_:443>
+# block to the fully qualified domain name (see /etc/HOSTNAME).
+# 3. If your server certificate is protected by a passphrase you should increase the
+# APACHE_START_TIMEOUT (see above)
+# 4. Consider to load also socache_shmcb module, see
+# http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslsessioncache
+# for details.
+# 5. To finally enable ssl support, you need to add 'SSL' to APACHE_SERVER_FLAGS
+# below.
#
# * modules listed here will be ignored if they are not installed
#
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0