openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2019
- 1 participants
- 1899 discussions
Hello community,
here is the log from the commit of package binutils for openSUSE:Factory checked in at 2019-01-29 14:39:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/binutils (Old)
and /work/SRC/openSUSE:Factory/.binutils.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils"
Tue Jan 29 14:39:17 2019 rev:131 rq:668394 version:2.31
Changes:
--------
--- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2018-12-03 10:03:04.212111958 +0100
+++ /work/SRC/openSUSE:Factory/.binutils.new.28833/binutils.changes 2019-01-29 14:39:18.263486881 +0100
@@ -1,0 +2,14 @@
+Thu Jan 24 14:10:56 UTC 2019 - matz(a)suse.com
+
+- Add s390-relro.diff to improve relro support on s390
+ [fate#326356]
+
+-------------------------------------------------------------------
+Thu Dec 6 13:53:51 UTC 2018 - matz(a)suse.com
+
+- Fix the fix for PR23919 [bsc#1118644]:
+ rename handle-ELF-compressed-header-alignment-correctly-by-.patch
+ to fix-pr23919-1.diff and add fix-pr23919-2.diff
+ and fix-pr23919-3.diff .
+
+-------------------------------------------------------------------
cross-aarch64-binutils.changes: same change
cross-arm-binutils.changes: same change
cross-avr-binutils.changes: same change
cross-epiphany-binutils.changes: same change
cross-hppa-binutils.changes: same change
cross-hppa64-binutils.changes: same change
cross-i386-binutils.changes: same change
cross-ia64-binutils.changes: same change
cross-m68k-binutils.changes: same change
cross-mips-binutils.changes: same change
cross-ppc-binutils.changes: same change
cross-ppc64-binutils.changes: same change
cross-ppc64le-binutils.changes: same change
cross-riscv64-binutils.changes: same change
cross-rx-binutils.changes: same change
cross-s390-binutils.changes: same change
cross-s390x-binutils.changes: same change
cross-sparc-binutils.changes: same change
cross-sparc64-binutils.changes: same change
cross-spu-binutils.changes: same change
cross-x86_64-binutils.changes: same change
Old:
----
handle-ELF-compressed-header-alignment-correctly-by-.patch
New:
----
fix-pr23919-1.diff
fix-pr23919-2.diff
fix-pr23919-3.diff
s390-relro.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ binutils.spec ++++++
--- /var/tmp/diff_new_pack.CGZCbs/_old 2019-01-29 14:39:33.703468056 +0100
+++ /var/tmp/diff_new_pack.CGZCbs/_new 2019-01-29 14:39:33.707468052 +0100
@@ -1,7 +1,7 @@
#
# spec file for package binutils
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -94,7 +94,10 @@
Patch34: aarch64-common-pagesize.patch
Patch36: binutils-pr22868.diff
Patch37: binutils-revert-plt32-in-branches.diff
-Patch38: handle-ELF-compressed-header-alignment-correctly-by-.patch
+Patch38: fix-pr23919-1.diff
+Patch39: fix-pr23919-2.diff
+Patch40: fix-pr23919-3.diff
+Patch41: s390-relro.diff
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch93: cross-avr-size.patch
@@ -169,6 +172,9 @@
%patch37 -p1
%endif
%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90
++++++ cross-aarch64-binutils.spec ++++++
--- /var/tmp/diff_new_pack.CGZCbs/_old 2019-01-29 14:39:33.731468022 +0100
+++ /var/tmp/diff_new_pack.CGZCbs/_new 2019-01-29 14:39:33.731468022 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cross-aarch64-binutils
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -97,7 +97,10 @@
Patch34: aarch64-common-pagesize.patch
Patch36: binutils-pr22868.diff
Patch37: binutils-revert-plt32-in-branches.diff
-Patch38: handle-ELF-compressed-header-alignment-correctly-by-.patch
+Patch38: fix-pr23919-1.diff
+Patch39: fix-pr23919-2.diff
+Patch40: fix-pr23919-3.diff
+Patch41: s390-relro.diff
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch93: cross-avr-size.patch
@@ -172,6 +175,9 @@
%patch37 -p1
%endif
%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90
cross-arm-binutils.spec: same change
cross-avr-binutils.spec: same change
cross-epiphany-binutils.spec: same change
cross-hppa-binutils.spec: same change
cross-hppa64-binutils.spec: same change
cross-i386-binutils.spec: same change
cross-ia64-binutils.spec: same change
cross-m68k-binutils.spec: same change
cross-mips-binutils.spec: same change
cross-ppc-binutils.spec: same change
cross-ppc64-binutils.spec: same change
cross-ppc64le-binutils.spec: same change
cross-riscv64-binutils.spec: same change
cross-rx-binutils.spec: same change
cross-s390-binutils.spec: same change
cross-s390x-binutils.spec: same change
cross-sparc-binutils.spec: same change
cross-sparc64-binutils.spec: same change
cross-spu-binutils.spec: same change
cross-x86_64-binutils.spec: same change
++++++ fix-pr23919-1.diff ++++++
>From 4207142d6a5d2359170c5f9a140fc1a2351fbda9 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark(a)klomp.org>
Date: Tue, 27 Nov 2018 11:59:10 +0000
Subject: [PATCH] Handle ELF compressed header alignment correctly by setting
up the section alignment correctly for the Elf32_Chdr or Elf64_Chdr type and
respect the ch_addralign field when decompressing the section data.
PR binutils/23919
binutils* readelf.c (dump_sections_as_strings): Remove bogus addralign check.
(dump_sections_as_bytes): Likewise.
(load_specific_debug_sections): Likewise.
* testsuite/binutils-all/dw2-3.rS: Adjust alignment.
* testsuite/binutils-all/dw2-3.rt: Likewise.
bfd * bfd.c (bfd_update_compression_header): Explicitly set alignment.
(bfd_check_compression_header): Add uncompressed_alignment_power
argument. Check ch_addralign is a power of 2.
* bfd-in2.h: Regenerated.
* compress.c (bfd_compress_section_contents): Get and set
orig_uncompressed_alignment_pow if section is decompressed.
(bfd_is_section_compressed_with_header): Add and get
uncompressed_align_pow_p argument.
(bfd_is_section_compressed): Add uncompressed_align_power argument
to bfd_is_section_compressed_with_header call.
(bfd_init_section_decompress_status): Get and set
uncompressed_alignment_power.
* elf.c (_bfd_elf_make_section_from_shdr): Add
uncompressed_align_power argument to
bfd_is_section_compressed_with_header call.
---
bfd/ChangeLog | 19 +++++++++++++
bfd/bfd-in2.h | 6 ++--
bfd/bfd.c | 20 ++++++++++----
bfd/compress.c | 35 +++++++++++++++++-------
bfd/elf.c | 5 ++--
binutils/ChangeLog | 9 ++++++
binutils/readelf.c | 18 ------------
binutils/testsuite/binutils-all/dw2-3.rS | 2 +-
binutils/testsuite/binutils-all/dw2-3.rt | 2 +-
9 files changed, 77 insertions(+), 39 deletions(-)
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ee8cd7ef0b..6d92c51cb9 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -7419,7 +7419,8 @@ void bfd_update_compression_header
bfd_boolean bfd_check_compression_header
(bfd *abfd, bfd_byte *contents, asection *sec,
- bfd_size_type *uncompressed_size);
+ bfd_size_type *uncompressed_size,
+ unsigned int *uncompressed_alignment_power);
int bfd_get_compression_header_size (bfd *abfd, asection *sec);
@@ -8006,7 +8007,8 @@ void bfd_cache_section_contents
bfd_boolean bfd_is_section_compressed_with_header
(bfd *abfd, asection *section,
int *compression_header_size_p,
- bfd_size_type *uncompressed_size_p);
+ bfd_size_type *uncompressed_size_p,
+ unsigned int *uncompressed_alignment_power_p);
bfd_boolean bfd_is_section_compressed
(bfd *abfd, asection *section);
diff --git a/bfd/bfd.c b/bfd/bfd.c
index 15becd7ae8..2b658298ea 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -2332,6 +2332,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
bfd_put_32 (abfd, sec->size, &echdr->ch_size);
bfd_put_32 (abfd, 1 << sec->alignment_power,
&echdr->ch_addralign);
+ /* bfd_log2 (alignof (Elf32_Chdr)) */
+ bfd_set_section_alignment (abfd, sec, 2);
}
else
{
@@ -2342,6 +2344,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
bfd_put_64 (abfd, sec->size, &echdr->ch_size);
bfd_put_64 (abfd, 1 << sec->alignment_power,
&echdr->ch_addralign);
+ /* bfd_log2 (alignof (Elf64_Chdr)) */
+ bfd_set_section_alignment (abfd, sec, 3);
}
}
else
@@ -2354,6 +2358,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
order. */
memcpy (contents, "ZLIB", 4);
bfd_putb64 (sec->size, contents + 4);
+ /* No way to keep the original alignment, just use 1 always. */
+ bfd_set_section_alignment (abfd, sec, 0);
}
}
}
@@ -2368,12 +2374,14 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
SYNOPSIS
bfd_boolean bfd_check_compression_header
(bfd *abfd, bfd_byte *contents, asection *sec,
- bfd_size_type *uncompressed_size);
+ bfd_size_type *uncompressed_size,
+ unsigned int *uncompressed_alignment_power);
DESCRIPTION
Check the compression header at CONTENTS of SEC in ABFD and
- store the uncompressed size in UNCOMPRESSED_SIZE if the
- compression header is valid.
+ store the uncompressed size in UNCOMPRESSED_SIZE and the
+ uncompressed data alignment in UNCOMPRESSED_ALIGNMENT_POWER
+ if the compression header is valid.
RETURNS
Return TRUE if the compression header is valid.
@@ -2382,7 +2390,8 @@ RETURNS
bfd_boolean
bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
asection *sec,
- bfd_size_type *uncompressed_size)
+ bfd_size_type *uncompressed_size,
+ unsigned int *uncompressed_alignment_power)
{
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
&& (elf_section_flags (sec) & SHF_COMPRESSED) != 0)
@@ -2404,9 +2413,10 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
}
if (chdr.ch_type == ELFCOMPRESS_ZLIB
- && chdr.ch_addralign == 1U << sec->alignment_power)
+ && chdr.ch_addralign == (1U << bfd_log2 (chdr.ch_addralign)))
{
*uncompressed_size = chdr.ch_size;
+ *uncompressed_alignment_power = bfd_log2 (chdr.ch_addralign);
return TRUE;
}
}
diff --git a/bfd/compress.c b/bfd/compress.c
index 53e566e498..97ea624eb8 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -84,11 +84,13 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
int zlib_size = 0;
int orig_compression_header_size;
bfd_size_type orig_uncompressed_size;
+ unsigned int orig_uncompressed_alignment_pow;
int header_size = bfd_get_compression_header_size (abfd, NULL);
bfd_boolean compressed
= bfd_is_section_compressed_with_header (abfd, sec,
&orig_compression_header_size,
- &orig_uncompressed_size);
+ &orig_uncompressed_size,
+ &orig_uncompressed_alignment_pow);
/* Either ELF compression header or the 12-byte, "ZLIB" + 8-byte size,
overhead in .zdebug* section. */
@@ -153,6 +155,9 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
return 0;
}
free (uncompressed_buffer);
+ bfd_set_section_alignment (abfd, sec,
+ orig_uncompressed_alignment_pow);
+
sec->contents = buffer;
sec->compress_status = COMPRESS_SECTION_DONE;
return orig_uncompressed_size;
@@ -364,20 +369,24 @@ SYNOPSIS
bfd_boolean bfd_is_section_compressed_with_header
(bfd *abfd, asection *section,
int *compression_header_size_p,
- bfd_size_type *uncompressed_size_p);
+ bfd_size_type *uncompressed_size_p,
+ unsigned int *uncompressed_alignment_power_p);
DESCRIPTION
Return @code{TRUE} if @var{section} is compressed. Compression
- header size is returned in @var{compression_header_size_p} and
- uncompressed size is returned in @var{uncompressed_size_p}. If
- compression is unsupported, compression header size is returned
- with -1 and uncompressed size is returned with 0.
+ header size is returned in @var{compression_header_size_p},
+ uncompressed size is returned in @var{uncompressed_size_p}
+ and the uncompressed data alignement power is returned in
+ @var{uncompressed_align_pow_p}. If compression is
+ unsupported, compression header size is returned with -1
+ and uncompressed size is returned with 0.
*/
bfd_boolean
bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
int *compression_header_size_p,
- bfd_size_type *uncompressed_size_p)
+ bfd_size_type *uncompressed_size_p,
+ unsigned int *uncompressed_align_pow_p)
{
bfd_byte header[MAX_COMPRESSION_HEADER_SIZE];
int compression_header_size;
@@ -412,7 +421,8 @@ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
if (compression_header_size != 0)
{
if (!bfd_check_compression_header (abfd, header, sec,
- uncompressed_size_p))
+ uncompressed_size_p,
+ uncompressed_align_pow_p))
compression_header_size = -1;
}
/* Check for the pathalogical case of a debug string section that
@@ -449,9 +459,11 @@ bfd_is_section_compressed (bfd *abfd, sec_ptr sec)
{
int compression_header_size;
bfd_size_type uncompressed_size;
+ unsigned int uncompressed_align_power;
return (bfd_is_section_compressed_with_header (abfd, sec,
&compression_header_size,
- &uncompressed_size)
+ &uncompressed_size,
+ &uncompressed_align_power)
&& compression_header_size >= 0
&& uncompressed_size > 0);
}
@@ -480,6 +492,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
int compression_header_size;
int header_size;
bfd_size_type uncompressed_size;
+ unsigned int uncompressed_alignment_power = 0;
compression_header_size = bfd_get_compression_header_size (abfd, sec);
if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
@@ -508,7 +521,8 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
uncompressed_size = bfd_getb64 (header + 4);
}
else if (!bfd_check_compression_header (abfd, header, sec,
- &uncompressed_size))
+ &uncompressed_size,
+ &uncompressed_alignment_power))
{
bfd_set_error (bfd_error_wrong_format);
return FALSE;
@@ -516,6 +530,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
sec->compressed_size = sec->size;
sec->size = uncompressed_size;
+ bfd_set_section_alignment (abfd, sec, uncompressed_alignment_power);
sec->compress_status = DECOMPRESS_SECTION_SIZED;
return TRUE;
diff --git a/bfd/elf.c b/bfd/elf.c
index bebda20195..604971dd4c 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1177,11 +1177,12 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
enum { nothing, compress, decompress } action = nothing;
int compression_header_size;
bfd_size_type uncompressed_size;
+ unsigned int uncompressed_align_power;
bfd_boolean compressed
= bfd_is_section_compressed_with_header (abfd, newsect,
&compression_header_size,
- &uncompressed_size);
-
+ &uncompressed_size,
+ &uncompressed_align_power);
if (compressed)
{
/* Compressed section. Check if we should decompress. */
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 39744009ab..afb039f7b7 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13397,12 +13397,6 @@ dump_section_as_strings (Elf_Internal_Shdr * section, Filedata * filedata)
printable_section_name (filedata, section), chdr.ch_type);
return FALSE;
}
- else if (chdr.ch_addralign != section->sh_addralign)
- {
- warn (_("compressed section '%s' is corrupted\n"),
- printable_section_name (filedata, section));
- return FALSE;
- }
uncompressed_size = chdr.ch_size;
start += compression_header_size;
new_size -= compression_header_size;
@@ -13544,12 +13538,6 @@ dump_section_as_bytes (Elf_Internal_Shdr * section,
printable_section_name (filedata, section), chdr.ch_type);
return FALSE;
}
- else if (chdr.ch_addralign != section->sh_addralign)
- {
- warn (_("compressed section '%s' is corrupted\n"),
- printable_section_name (filedata, section));
- return FALSE;
- }
uncompressed_size = chdr.ch_size;
start += compression_header_size;
new_size -= compression_header_size;
@@ -13719,12 +13707,6 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
section->name, chdr.ch_type);
return FALSE;
}
- else if (chdr.ch_addralign != sec->sh_addralign)
- {
- warn (_("compressed section '%s' is corrupted\n"),
- section->name);
- return FALSE;
- }
uncompressed_size = chdr.ch_size;
start += compression_header_size;
size -= compression_header_size;
diff --git a/binutils/testsuite/binutils-all/dw2-3.rS b/binutils/testsuite/binutils-all/dw2-3.rS
index f1637e9149..86bc73d9a2 100644
--- a/binutils/testsuite/binutils-all/dw2-3.rS
+++ b/binutils/testsuite/binutils-all/dw2-3.rS
@@ -1,3 +1,3 @@
#...
- +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1
+ +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +(4|8)
#pass
diff --git a/binutils/testsuite/binutils-all/dw2-3.rt b/binutils/testsuite/binutils-all/dw2-3.rt
index f59cbaa22b..74e7f8deca 100644
--- a/binutils/testsuite/binutils-all/dw2-3.rt
+++ b/binutils/testsuite/binutils-all/dw2-3.rt
@@ -1,6 +1,6 @@
#...
+\[[ 0-9]+\] .debug_info
- +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +1
+ +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +(4|8)
+\[0+800\]: COMPRESSED
+ZLIB, 0+9d, 1
#pass
--
2.19.1
++++++ fix-pr23919-2.diff ++++++
commit 131a5a648d314cd15811158150573cb40eb3abd0
Author: H.J. Lu <hjl.tools(a)gmail.com>
Date: Tue Nov 27 06:02:36 2018 -0800
Initialize *uncompressed_align_pow_p to 0
Initialize *uncompressed_align_pow_p to 0 since *uncompressed_align_pow_p
is passed to bfd_is_section_compressed_with_header as uninitialized,
PR binutils/23919
* compress.c (bfd_is_section_compressed_with_header): Initialize
*uncompressed_align_pow_p to 0.
diff --git a/bfd/compress.c b/bfd/compress.c
index 97ea624..18a7597 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -394,6 +394,8 @@ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
unsigned int saved = sec->compress_status;
bfd_boolean compressed;
+ *uncompressed_align_pow_p = 0;
+
compression_header_size = bfd_get_compression_header_size (abfd, sec);
if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
abort ();
++++++ fix-pr23919-3.diff ++++++
commit 5f6c22aee74f17393b82934a5682d985672e011a
Author: H.J. Lu <hjl.tools(a)gmail.com>
Date: Sun Dec 2 05:42:36 2018 -0800
gold: Get alignment of uncompressed section from ch_addralign
The ELF compression header has a field (ch_addralign) that is set to
the alignment of the uncompressed section. This way the section itself
can have a different alignment than the decompressed section. Update
decompress_input_section to get alignment of the decompressed section
and use it when merging decompressed strings.
PR binutils/23919
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
Get addralign from decompressed_section_contents.
* object.cc (build_compressed_section_map): Set info.addralign.
(Object::decompressed_section_contents): Add a palign
argument and store p->second.addralign in *palign if it isn't
NULL.
* object.h (Compressed_section_info): Add addralign.
(section_is_compressed): Add a palign argument, default it
to NULL, store p->second.addralign in *palign if it isn't NULL.
(Object::decompressed_section_contents): Likewise.
* output.cc (Output_section::add_input_section): Get addralign
from section_is_compressed.
Index: binutils-2.31/gold/merge.cc
===================================================================
--- binutils-2.31.orig/gold/merge.cc 2018-12-06 14:52:01.000000000 +0100
+++ binutils-2.31/gold/merge.cc 2018-12-06 14:52:10.000000000 +0100
@@ -440,9 +440,11 @@ Output_merge_string<Char_type>::do_add_i
{
section_size_type sec_len;
bool is_new;
+ uint64_t addralign = this->addralign();
const unsigned char* pdata = object->decompressed_section_contents(shndx,
&sec_len,
- &is_new);
+ &is_new,
+ &addralign);
const Char_type* p = reinterpret_cast<const Char_type*>(pdata);
const Char_type* pend = p + sec_len / sizeof(Char_type);
@@ -494,7 +496,7 @@ Output_merge_string<Char_type>::do_add_i
// aligned, so each string within the section must retain the same
// modulo.
uintptr_t init_align_modulo = (reinterpret_cast<uintptr_t>(pdata)
- & (this->addralign() - 1));
+ & (addralign - 1));
bool has_misaligned_strings = false;
while (p < pend)
@@ -503,7 +505,7 @@ Output_merge_string<Char_type>::do_add_i
// Within merge input section each string must be aligned.
if (len != 0
- && ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
+ && ((reinterpret_cast<uintptr_t>(p) & (addralign - 1))
!= init_align_modulo))
has_misaligned_strings = true;
Index: binutils-2.31/gold/object.cc
===================================================================
--- binutils-2.31.orig/gold/object.cc 2018-12-06 14:52:01.000000000 +0100
+++ binutils-2.31/gold/object.cc 2018-12-06 14:52:10.000000000 +0100
@@ -751,11 +751,13 @@ build_compressed_section_map(
const unsigned char* contents =
obj->section_contents(i, &len, false);
uint64_t uncompressed_size;
+ Compressed_section_info info;
if (is_zcompressed)
{
// Skip over the ".zdebug" prefix.
name += 7;
uncompressed_size = get_uncompressed_size(contents, len);
+ info.addralign = shdr.get_sh_addralign();
}
else
{
@@ -763,8 +765,8 @@ build_compressed_section_map(
name += 6;
elfcpp::Chdr<size, big_endian> chdr(contents);
uncompressed_size = chdr.get_ch_size();
+ info.addralign = chdr.get_ch_addralign();
}
- Compressed_section_info info;
info.size = convert_to_section_size_type(uncompressed_size);
info.flag = shdr.get_sh_flags();
info.contents = NULL;
@@ -3060,7 +3062,8 @@ const unsigned char*
Object::decompressed_section_contents(
unsigned int shndx,
section_size_type* plen,
- bool* is_new)
+ bool* is_new,
+ uint64_t* palign)
{
section_size_type buffer_size;
const unsigned char* buffer = this->do_section_contents(shndx, &buffer_size,
@@ -3087,6 +3090,8 @@ Object::decompressed_section_contents(
{
*plen = uncompressed_size;
*is_new = false;
+ if (palign != NULL)
+ *palign = p->second.addralign;
return p->second.contents;
}
@@ -3108,6 +3113,8 @@ Object::decompressed_section_contents(
// once in this pass.
*plen = uncompressed_size;
*is_new = true;
+ if (palign != NULL)
+ *palign = p->second.addralign;
return uncompressed_data;
}
Index: binutils-2.31/gold/object.h
===================================================================
--- binutils-2.31.orig/gold/object.h 2018-12-06 14:52:01.000000000 +0100
+++ binutils-2.31/gold/object.h 2018-12-06 14:52:10.000000000 +0100
@@ -373,6 +373,7 @@ struct Compressed_section_info
{
section_size_type size;
elfcpp::Elf_Xword flag;
+ uint64_t addralign;
const unsigned char* contents;
};
typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map;
@@ -808,7 +809,8 @@ class Object
bool
section_is_compressed(unsigned int shndx,
- section_size_type* uncompressed_size) const
+ section_size_type* uncompressed_size,
+ elfcpp::Elf_Xword* palign = NULL) const
{
if (this->compressed_sections_ == NULL)
return false;
@@ -818,6 +820,8 @@ class Object
{
if (uncompressed_size != NULL)
*uncompressed_size = p->second.size;
+ if (palign != NULL)
+ *palign = p->second.addralign;
return true;
}
return false;
@@ -828,7 +832,7 @@ class Object
// by the caller.
const unsigned char*
decompressed_section_contents(unsigned int shndx, section_size_type* plen,
- bool* is_cached);
+ bool* is_cached, uint64_t* palign = NULL);
// Discard any buffers of decompressed sections. This is done
// at the end of the Add_symbols task.
Index: binutils-2.31/gold/output.cc
===================================================================
--- binutils-2.31.orig/gold/output.cc 2018-12-06 14:52:01.000000000 +0100
+++ binutils-2.31/gold/output.cc 2018-12-06 14:52:10.000000000 +0100
@@ -2448,7 +2448,13 @@ Output_section::add_input_section(Layout
unsigned int reloc_shndx,
bool have_sections_script)
{
+ section_size_type input_section_size = shdr.get_sh_size();
+ section_size_type uncompressed_size;
elfcpp::Elf_Xword addralign = shdr.get_sh_addralign();
+ if (object->section_is_compressed(shndx, &uncompressed_size,
+ &addralign))
+ input_section_size = uncompressed_size;
+
if ((addralign & (addralign - 1)) != 0)
{
object->error(_("invalid alignment %lu for section \"%s\""),
@@ -2498,11 +2504,6 @@ Output_section::add_input_section(Layout
}
}
- section_size_type input_section_size = shdr.get_sh_size();
- section_size_type uncompressed_size;
- if (object->section_is_compressed(shndx, &uncompressed_size))
- input_section_size = uncompressed_size;
-
off_t offset_in_section;
if (this->has_fixed_layout())
++++++ s390-relro.diff ++++++
++++ 1079 lines (skipped)
1
0
Hello community,
here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2019-01-29 14:39:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Tue Jan 29 14:39:10 2019 rev:235 rq:668376 version:2.33.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/python3-libmount.changes 2018-12-28 12:32:05.724098110 +0100
+++ /work/SRC/openSUSE:Factory/.util-linux.new.28833/python3-libmount.changes 2019-01-29 14:39:12.243494222 +0100
@@ -1,0 +2,18 @@
+Tue Jan 22 22:29:00 CET 2019 - sbrabec(a)suse.com
+
+- Update to version 2.33.1:
+ * agetty fixes (drop util-linux-agetty-smart-reload-10.patch,
+ util-linux-agetty-smart-reload-11.patch,
+ util-linux-agetty-smart-reload-12.patch).
+ * Other minor fixes and documentation updates.
+
+-------------------------------------------------------------------
+Fri Jan 4 22:56:19 CET 2019 - sbrabec(a)suse.com
+
+- agetty: Fixes for reload issue only if it is really needed
+ (bsc#1085196, boo#1120298,
+ util-linux-agetty-smart-reload-10.patch,
+ util-linux-agetty-smart-reload-11.patch,
+ util-linux-agetty-smart-reload-12.patch).
+
+-------------------------------------------------------------------
util-linux-systemd.changes: same change
util-linux.changes: same change
Old:
----
util-linux-2.33.tar.sign
util-linux-2.33.tar.xz
New:
----
util-linux-2.33.1.tar.sign
util-linux-2.33.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-libmount.spec ++++++
--- /var/tmp/diff_new_pack.VPguin/_old 2019-01-29 14:39:16.147489462 +0100
+++ /var/tmp/diff_new_pack.VPguin/_new 2019-01-29 14:39:16.151489457 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-libmount
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -116,7 +116,7 @@
%endif
%endif
#END SECOND STAGE DEPENDENCIES
-Version: 2.33
+Version: 2.33.1
Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole
@@ -140,11 +140,7 @@
Source14: runuser.pamd
Source15: runuser-l.pamd
Source16: su-l.pamd
-#
Source51: blkid.conf
-##
-## util-linux patches
-##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -383,7 +379,6 @@
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
-#
%build
%if %build_util_linux
util-linux-systemd.spec: same change
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.VPguin/_old 2019-01-29 14:39:16.203489393 +0100
+++ /var/tmp/diff_new_pack.VPguin/_new 2019-01-29 14:39:16.207489389 +0100
@@ -1,7 +1,7 @@
#
# spec file for package util-linux
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -116,7 +116,7 @@
%endif
%endif
#END SECOND STAGE DEPENDENCIES
-Version: 2.33
+Version: 2.33.1
Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole
@@ -140,11 +140,7 @@
Source14: runuser.pamd
Source15: runuser-l.pamd
Source16: su-l.pamd
-#
Source51: blkid.conf
-##
-## util-linux patches
-##
# PATCH-EXTEND-UPSTREAM: Let `su' handle /sbin and /usr/sbin in path
Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -383,7 +379,6 @@
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
-#
%build
%if %build_util_linux
++++++ util-linux-2.33.tar.xz -> util-linux-2.33.1.tar.xz ++++++
++++ 26035 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package build for openSUSE:Factory checked in at 2019-01-29 14:39:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build (Old)
and /work/SRC/openSUSE:Factory/.build.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build"
Tue Jan 29 14:39:02 2019 rev:120 rq:667754 version:20190122
Changes:
--------
--- /work/SRC/openSUSE:Factory/build/build.changes 2018-12-19 13:23:08.357402183 +0100
+++ /work/SRC/openSUSE:Factory/.build.new.28833/build.changes 2019-01-29 14:39:04.883503199 +0100
@@ -1,0 +2,8 @@
+Mon Jan 21 12:00:48 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- update factory config for libreadline8 switch
+- cleanup 15.1 config with OBS specific stuff
+ * should not be used for plain build usage
+ * workarounds for kiwi should be fixed in packages
+
+-------------------------------------------------------------------
Old:
----
obs-build-20181206.tar.gz
New:
----
obs-build-20190122.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.nuvqbr/_old 2019-01-29 14:39:05.923501931 +0100
+++ /var/tmp/diff_new_pack.nuvqbr/_new 2019-01-29 14:39:05.927501925 +0100
@@ -1,7 +1,7 @@
#
# spec file for package build
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
Summary: A Script to Build SUSE Linux RPMs
License: GPL-2.0-or-later AND GPL-2.0-only
Group: Development/Tools/Building
-Version: 20181206
+Version: 20190122
Release: 0
Source: obs-build-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -61,6 +61,7 @@
Recommends: perl(YAML::LibYAML)
Recommends: bsdtar
Recommends: qemu-linux-user
+Recommends: /usr/bin/qemu-kvm
Recommends: /sbin/mkfs.ext3
%endif
@@ -190,6 +191,7 @@
%endif
%check
+for i in build build-* ; do bash -n $i || exit 1 ; done
if [ `whoami` != "root" ]; then
echo "WARNING: Not building as root, tests did not run!"
exit 0
@@ -230,7 +232,7 @@
%config(noreplace) /usr/lib/build/emulator/emulator.sh
%{_mandir}/man1/build.1*
%{_mandir}/man1/unrpm.1*
-%{_mandir}/man1/vc.1*
+%{_mandir}/man1/buildvc.1*
%if 0%{?suse_version}
%exclude /usr/lib/build/initvm.*
%endif
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.nuvqbr/_old 2019-01-29 14:39:05.967501877 +0100
+++ /var/tmp/diff_new_pack.nuvqbr/_new 2019-01-29 14:39:05.967501877 +0100
@@ -1,5 +1,5 @@
pkgname=build
-pkgver=20181206
+pkgver=20190122
pkgrel=0
pkgdesc="Build packages in sandbox"
arch=('i686' 'x86_64')
++++++ build.dsc ++++++
--- /var/tmp/diff_new_pack.nuvqbr/_old 2019-01-29 14:39:06.007501828 +0100
+++ /var/tmp/diff_new_pack.nuvqbr/_new 2019-01-29 14:39:06.007501828 +0100
@@ -1,6 +1,6 @@
Format: 1.0
Source: build
-Version: 20181206
+Version: 20190122
Binary: build
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: all
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.nuvqbr/_old 2019-01-29 14:39:06.031501798 +0100
+++ /var/tmp/diff_new_pack.nuvqbr/_new 2019-01-29 14:39:06.031501798 +0100
@@ -1,4 +1,4 @@
-build (20181206) unstable; urgency=low
+build (20190122) unstable; urgency=low
* Update to current git trunk
- add sles11sp2 build config and adapt autodetection
++++++ obs-build-20181206.tar.gz -> obs-build-20190122.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/Build/Docker.pm new/obs-build-20190122/Build/Docker.pm
--- old/obs-build-20181206/Build/Docker.pm 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/Build/Docker.pm 2019-01-22 11:27:58.000000000 +0100
@@ -140,6 +140,7 @@
my $basecontainer;
my $unorderedrepos;
my $useobsrepositories;
+ my $nosquash;
my $dockerfile_data = slurp($fn);
return { 'error' => 'could not open Dockerfile' } unless defined $dockerfile_data;
@@ -168,6 +169,9 @@
if ($line =~ /^#!UseOBSRepositories\s*$/) {
$useobsrepositories = 1;
}
+ if ($line =~ /^#!NoSquash\s*$/) {
+ $nosquash = 1;
+ }
next;
}
# add continuation lines
@@ -195,7 +199,7 @@
@args = split(/[ \t]+/, $line);
s/%([a-fA-F0-9]{2})/chr(hex($1))/ge for @args;
if ($cmd eq 'FROM') {
- if (@args && !$basecontainer) {
+ if (@args && !$basecontainer && $args[0] ne 'scratch') {
$basecontainer = $args[0];
$basecontainer .= ':latest' unless $basecontainer =~ /:[^:\/]+$/;
}
@@ -229,6 +233,8 @@
s/<RELEASE>/$release/g if defined $release;
}
$ret->{'path'} = [ { 'project' => '_obsrepositories', 'repository' => '' } ] if $useobsrepositories;
+ $ret->{'basecontainer'} = $basecontainer if $basecontainer;
+ $ret->{'nosquash'} = 1 if $nosquash;
return $ret;
}
@@ -286,7 +292,7 @@
print Build::SimpleJSON::unparse($containerinfo)."\n";
}
-sub showtags {
+sub show {
my ($release);
while (@ARGV) {
if (@ARGV > 2 && $ARGV[0] eq '--release') {
@@ -295,14 +301,16 @@
last;
}
}
- my ($fn) = @ARGV;
+ my ($fn, $field) = @ARGV;
local $Build::Kiwi::urlmapper = sub { return $_[0] };
my $cf = {};
$cf->{'buildrelease'} = $release if defined $release;
my $d = {};
$d = parse($cf, $fn) if $fn;
die("$d->{'error'}\n") if $d->{'error'};
- print "$_\n" for @{$d->{'containertags'} || []};
+ my $x = $d->{$field};
+ $x = [ $x ] unless ref $x;
+ print "@$x\n";
}
1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/Build.pm new/obs-build-20190122/Build.pm
--- old/obs-build-20181206/Build.pm 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/Build.pm 2019-01-22 11:27:58.000000000 +0100
@@ -1282,6 +1282,7 @@
my $requires = $config->{'requiresh'};
my $xignore = { map {substr($_, 1) => 1} grep {/^-/} @p };
+ $ignoreconflicts = 1 if $xignore->{'-ignoreconflicts--'};
$ignore = {} if $xignore->{'-ignoreignore--'};
if ($ignoreignore) {
$xignore = {};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/Makefile new/obs-build-20190122/Makefile
--- old/obs-build-20181206/Makefile 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/Makefile 2019-01-22 11:27:58.000000000 +0100
@@ -76,6 +76,7 @@
dummyhttpserver \
obs-docker-support \
create_container_package_list \
+ call-podman \
$(DESTDIR)$(pkglibdir)
install -m755 emulator/emulator.sh $(DESTDIR)$(pkglibdir)/emulator/
install -m644 Build/*.pm $(DESTDIR)$(pkglibdir)/Build
@@ -87,7 +88,7 @@
install -m644 configs/* $(DESTDIR)$(pkglibdir)/configs
install -m644 baselibs_configs/* $(DESTDIR)$(pkglibdir)/baselibs_configs
install -m644 build.1 $(DESTDIR)$(man1dir)
- install -m644 vc.1 $(DESTDIR)$(man1dir)
+ install -m644 buildvc.1 $(DESTDIR)$(man1dir)
install -m644 unrpm.1 $(DESTDIR)$(man1dir)
ln -sf $(pkglibdir)/build $(DESTDIR)$(bindir)/build
ln -sf $(pkglibdir)/vc $(DESTDIR)$(bindir)/buildvc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/baselibs_configs/baselibs_global-sle15.conf new/obs-build-20190122/baselibs_configs/baselibs_global-sle15.conf
--- old/obs-build-20181206/baselibs_configs/baselibs_global-sle15.conf 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/baselibs_configs/baselibs_global-sle15.conf 2019-01-22 11:27:58.000000000 +0100
@@ -42,5 +42,5 @@
package /(.*)-debuginfo$/
targetname <match1>-<targettype>-debuginfo
-+/usr/lib(64|ilp32)?/debug/.*/lib(64|ilp32)?/.*\.(so\..*|so|o|a|la)\.debug$
-+/usr/lib(64|ilp32)?/debug/.build-id/.*
++/usr/lib/debug/(.*/)?lib(64|ilp32)?/.*\.(so\..*|so|o|a|la)(-.*-.*\..*)?\.debug$
++/usr/lib/debug/\.build-id/.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/baselibs_configs/baselibs_global.conf new/obs-build-20190122/baselibs_configs/baselibs_global.conf
--- old/obs-build-20181206/baselibs_configs/baselibs_global.conf 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/baselibs_configs/baselibs_global.conf 2019-01-22 11:27:58.000000000 +0100
@@ -42,5 +42,5 @@
package /(.*)-debuginfo$/
targetname <match1>-<targettype>-debuginfo
-+/usr/lib(64|ilp32)?/debug/.*/lib(64|ilp32)?/.*\.(so\..*|so|o|a|la)\.debug$
-+/usr/lib(64|ilp32)?/debug/.build-id/.*
++/usr/lib/debug/(.*/)?lib(64|ilp32)?/.*\.(so\..*|so|o|a|la)(-.*-.*\..*)?\.debug$
++/usr/lib/debug/\.build-id/.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/build new/obs-build-20190122/build
--- old/obs-build-20181206/build 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/build 2019-01-22 11:27:58.000000000 +0100
@@ -1364,6 +1364,13 @@
setupicecream
setupccache
+ if test -n "$RUN_SHELL" ; then
+ echo "You may want to initialize environment via:"
+ echo " su - $BUILD_USER"
+ chroot $BUILD_ROOT
+ cleanup_and_exit 0
+ fi
+
# fill build directories with sources. Also sets TOPDIR
recipe_setup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/build-recipe-docker new/obs-build-20190122/build-recipe-docker
--- old/obs-build-20181206/build-recipe-docker 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/build-recipe-docker 2019-01-22 11:27:58.000000000 +0100
@@ -55,42 +55,49 @@
recipe_build_docker() {
touch $BUILD_ROOT/etc/resolv.conf
- base_image_path=$(find containers -regextype egrep -regex ".*\.(tgz|tar|tar\.xz|tar\.gz)$" -print -quit)
- test -f "$base_image_path" || cleanup_and_exit 1 "base image not found"
+ base_image_path=
+ base_image_tag=$(grep "^\s*FROM" "$RECIPEFILE" | head -n 1 | cut -d" " -f2)
- if test "$BUILDENGINE" = "podman"; then
- DOCKER_TOOL="podman"
- if ! $BUILD_DIR/startdockerd --root "$BUILD_ROOT" --webserver-only "$TOPDIR/SOURCES/repos" ; then
- cleanup_and_exit 1
- fi
+ if test "$base_image_tag" != scratch ; then
+ base_image_path=$(find containers -regextype egrep -regex ".*\.(tgz|tar|tar\.xz|tar\.gz)$" -print -quit)
+ test -f "$base_image_path" || cleanup_and_exit 1 "base image not found"
+ fi
+
+ if test "$BUILDENGINE" = podman; then
+ DOCKER_TOOL=podman
else
- DOCKER_TOOL="docker"
+ DOCKER_TOOL=docker
if ! $BUILD_DIR/startdockerd --root "$BUILD_ROOT" --webserver "$TOPDIR/SOURCES/repos" ; then
cleanup_and_exit 1
fi
fi
DOCKERD_STARTED=true
- cp $BUILD_DIR/obs-docker-support "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support"
- chmod 755 "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support"
-
- echo "Loading base image"
- if test -L "$base_image_path" ; then
- # copy into build root
- cp -L "$base_image_path" "$base_image_path.lnk"
- mv "$base_image_path.lnk" "$base_image_path"
+ if test "$DOCKER_TOOL" = podman; then
+ sed -e "s!^DATA_DIR=!DATA_DIR=$TOPDIR/SOURCES/repos!" <"$BUILD_DIR/obs-docker-support" >"$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support"
+ else
+ cp $BUILD_DIR/obs-docker-support "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support"
fi
+ chmod 755 "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support"
- # Inspect the content of the image to decide if this is a layered image
- # or a filesystem one. We need to know if we will "docker load" it or
- # "docker import" it.
- if tar -tf $base_image_path | grep -q "^manifest.json" ; then
- echo "Layered image found"
- chroot $BUILD_ROOT $DOCKER_TOOL load --input $TOPDIR/SOURCES/$base_image_path
- else
- echo "Filesystem image found"
- desired_tag=$(grep "^\s*FROM" "$RECIPEFILE" | head -n 1 | cut -d" " -f2)
- chroot $BUILD_ROOT $DOCKER_TOOL import $TOPDIR/SOURCES/$base_image_path "$desired_tag"
+ if test -n "$base_image_path"; then
+ echo "Loading base image"
+ if test -L "$base_image_path" ; then
+ # copy into build root
+ cp -L "$base_image_path" "$base_image_path.lnk"
+ mv "$base_image_path.lnk" "$base_image_path"
+ fi
+
+ # Inspect the content of the image to decide if this is a layered image
+ # or a filesystem one. We need to know if we will "docker load" it or
+ # "docker import" it.
+ if tar -tf $base_image_path | grep -q "^manifest.json" ; then
+ echo "Layered image found"
+ chroot $BUILD_ROOT $DOCKER_TOOL load --input $TOPDIR/SOURCES/$base_image_path
+ else
+ echo "Filesystem image found"
+ chroot $BUILD_ROOT $DOCKER_TOOL import $TOPDIR/SOURCES/$base_image_path "$base_image_tag"
+ fi
fi
# Prepare the package repository
@@ -106,7 +113,7 @@
ALLTAGS=
args=()
test -n "$RELEASE" && args=("${args[@]}" --release "$RELEASE")
- for t in $(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showtags "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE") ; do
+ for t in $(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::show -- "${args[@]}" "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" containertags) ; do
test -n "$FIRSTTAG" || FIRSTTAG="$t"
ALLTAGS="$ALLTAGS $t"
done
@@ -141,9 +148,23 @@
test -n "$DISTURL" && echo "LABEL org.openbuildservice.disturl=$DISTURL" >> "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE"
# now do the build
- echo "Building image $ALLTAGS"
- if ! chroot $BUILD_ROOT $DOCKER_TOOL build --network=host "${tagargs[@]}" -f "$TOPDIR/SOURCES/$RECIPEFILE" $TOPDIR/SOURCES/ ; then
- cleanup_and_exit 1 "Docker build command failed"
+ squashopt=--squash
+ if test "$DOCKER_TOOL" = podman -o -n "$(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::show -- "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" nosquash)" ; then
+ squashopt=
+ echo "Building image $ALLTAGS (nosquash)"
+ else
+ echo "Building image $ALLTAGS"
+ fi
+
+
+ if test "$DOCKER_TOOL" = podman ; then
+ if ! $BUILD_DIR/call-podman --root "$BUILD_ROOT" build $squashopt -v "$TOPDIR/SOURCES/repos:$TOPDIR/SOURCES/repos" --network=host "${tagargs[@]}" -f "$TOPDIR/SOURCES/$RECIPEFILE" $TOPDIR/SOURCES/ ; then
+ cleanup_and_exit 1 "$DOCKER_TOOL build command failed"
+ fi
+ else
+ if ! chroot $BUILD_ROOT $DOCKER_TOOL build $squashopt --network=host "${tagargs[@]}" -f "$TOPDIR/SOURCES/$RECIPEFILE" $TOPDIR/SOURCES/ ; then
+ cleanup_and_exit 1 "$DOCKER_TOOL build command failed"
+ fi
fi
# Save the resulting image to a tarball. Use first tag for generating the file name.
@@ -154,7 +175,7 @@
test -n "$RELEASE" && FILENAME="$FILENAME-$RELEASE"
echo "Saving image $FIRSTTAG to $FILENAME.tar"
if ! chroot $BUILD_ROOT $DOCKER_TOOL save --output "$TOPDIR/DOCKER/$FILENAME.tar" "$FIRSTTAG" ; then
- cleanup_and_exit 1 "Docker save command failed"
+ cleanup_and_exit 1 "$DOCKER_TOOL save command failed"
fi
# Create containerinfo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/build-vm-kvm new/obs-build-20190122/build-vm-kvm
--- old/obs-build-20181206/build-vm-kvm 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/build-vm-kvm 2019-01-22 11:27:58.000000000 +0100
@@ -224,7 +224,7 @@
vm_startup_kvm() {
qemu_bin="$kvm_bin"
- qemu_args=(-drive file="$VM_ROOT",format=raw,if=none,id=disk,serial=0,cache=unsafe -device "$kvm_device",drive=disk)
+ qemu_args=(-drive file="$VM_ROOT",format=raw,if=none,id=disk,cache=unsafe -device "$kvm_device",drive=disk,serial=0)
if [ -n "$VM_USER" ] ; then
getent passwd "$VM_USER" > /dev/null || cleanup_and_exit 3 "cannot find KVM user '$VM_USER'"
else
@@ -233,7 +233,7 @@
fi
[ -n "$VM_USER" ] && kvm_options="$kvm_options -runas $VM_USER"
if test -n "$VM_SWAP" ; then
- qemu_args=("${qemu_args[@]}" -drive file="$VM_SWAP",format=raw,if=none,id=swap,serial=1,cache=unsafe -device "$kvm_device",drive=swap)
+ qemu_args=("${qemu_args[@]}" -drive file="$VM_SWAP",format=raw,if=none,id=swap,cache=unsafe -device "$kvm_device",drive=swap,serial=1)
fi
# the serial console device needs to be compiled into the target kernel
# which is why we can not use virtio-serial on other platforms
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/build.1 new/obs-build-20190122/build.1
--- old/obs-build-20181206/build.1 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/build.1 2019-01-22 11:27:58.000000000 +0100
@@ -4,9 +4,9 @@
.ns
.TP \\$1
..
-.TH build 1 "(c) 1997-2008 SuSE Linux AG Nuernberg, Germany"
+.TH BUILD 1 "(c) 1997-2018 SUSE Linux AG Nuernberg, Germany"
.SH NAME
-build \- build SuSE Linux RPMs in a chroot environment
+build \- build SUSE Linux RPMs in a chroot environment
.SH SYNOPSIS
.B build
.RB [ --clean | --no-init]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/buildvc.1 new/obs-build-20190122/buildvc.1
--- old/obs-build-20181206/buildvc.1 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-build-20190122/buildvc.1 2019-01-22 11:27:58.000000000 +0100
@@ -0,0 +1,25 @@
+.TH BUILDVC 1 "(c) 1997-2018 SUSE Linux AG Nuernberg, Germany"
+.SH NAME
+buildvc \- create a SUSE type changes entry
+.SH SYNOPSIS
+.B buildvc
+.RB [ -m
+.IR message ]
+.RB [ -e ]
+.RI [ changesfile_or_dir
+.RI [ commentfile ]]
+
+.SH DESCRIPTION
+The \fBbuildvc\fP tool adds a new changes entry to a SUSE \fB.changes\fP file.
+The \fB-m\fP option can be used to directly specify the entry, if it is
+not given an editor is started to interactively enter the new changes
+entry. If a \fIcommentfile\fP is given, its content is used as template
+for the new entry instead of an empty entry, whereas the \fB-e\fP option
+suppresses the creation of an empty entry.
+
+If no \fIchangesfile\fP is specified, \fBbuildvc\fP will search the current
+directory for a file ending with \fB.changes\fP. If a directory is
+specified instead of a changes will, it will be searched instead.
+
+.SH SEE ALSO
+.BR build (1),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/call-podman new/obs-build-20190122/call-podman
--- old/obs-build-20181206/call-podman 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-build-20190122/call-podman 2019-01-22 11:27:58.000000000 +0100
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+export BUILD_DIR=${BUILD_DIR:-/usr/lib/build}
+
+BUILD_ROOT=
+IS_UNSHARED=
+
+cleanup_and_exit() {
+ test -z "$1" && set 0
+ if test -n "$2" ; then
+ if test "$1" -ne 0 ; then
+ echo "$2" >&2
+ else
+ echo "$2"
+ fi
+ fi
+ exit $1
+}
+
+while test -n "$1" ; do
+ case "$1" in
+ --root)
+ BUILD_ROOT="$2"
+ shift 2
+ ;;
+ --isunshared)
+ IS_UNSHARED=true
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+
+if test -z "$IS_UNSHARED" ; then
+ echo "Unsharing environment"
+ # unshare mounts and network
+ exec unshare -m -n $BUILD_DIR/call-podman --isunshared --root "$BUILD_ROOT" "$@"
+ cleanup_and_exit 1 "exec unshare returned"
+fi
+
+if test -n "$IS_UNSHARED" ; then
+ # make mounts private
+ mount --make-rprivate /
+
+ # create loopback interface
+ if test -x /sbin/ip ; then
+ ip addr add 127.0.0.1/8 dev lo
+ ip addr add ::1/128 dev lo
+ ip link set lo up
+ else
+ ifconfig lo 127.0.0.1 up
+ ifconfig lo add ::1/128
+ fi
+fi
+
+# setup cgroups
+if test "$BUILD_ROOT" != '/' ; then
+ test -d /sys/fs/cgroup || cleanup_and_exit 1 "/sys/fs/cgroup does not exist"
+
+ # make build root a mount point
+ mount --rbind --make-private "$BUILD_ROOT" "$BUILD_ROOT"
+ mount --make-rprivate "$BUILD_ROOT"
+
+ # mount /sys
+ if ! test -e $BUILD_ROOT/sys/block; then
+ mkdir -p $BUILD_ROOT/sys
+ mount -n -tsysfs sys $BUILD_ROOT/sys
+ fi
+ # bind mount cgroups
+ mount --rbind /sys/fs/cgroup "$BUILD_ROOT/sys/fs/cgroup"
+ mount --make-rslave "$BUILD_ROOT/sys/fs/cgroup"
+ export DOCKER_RAMDISK=true
+fi
+
+# setup mounts
+test -e "$BUILD_ROOT/proc/self" || mount -n -tproc none $BUILD_ROOT/proc
+
+# run the command
+exec chroot "$BUILD_ROOT" podman "$@"
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/configs/sl15.1.conf new/obs-build-20190122/configs/sl15.1.conf
--- old/obs-build-20181206/configs/sl15.1.conf 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/configs/sl15.1.conf 2019-01-22 11:27:58.000000000 +0100
@@ -6,10 +6,6 @@
Prefer: -libstdc++6-gcc7 -libtsan0-gcc7 -libgomp1-gcc7 -libgcc_s1-gcc7 -libatomic1-gcc7 -libcilkrts5-gcc7 -libitm1-gcc7
Prefer: -liblsan0-gcc7 -libmpx2-gcc7 -libubsan0-gcc7
-Substitute: kiwi-setup:image python3-kiwi createrepo_c
-Substitute: kiwi-image:tbz python3-kiwi
-Substitute: kiwi-image:docker python3-kiwi kiwi-image-docker-requires
-
Prefer: kiwi-filesystem-requires
Prefer: kiwi-image-docker-requires
Prefer: kiwi-image-iso-requires
@@ -19,16 +15,6 @@
Substitute: kiwi-packagemanager:instsource product-builder-plugin-Tumbleweed
Substitute: system-packages:kiwi-product product-builder
-# allow builds using docker tool
-Substitute: build-packages:kiwi !systemd-mini !libsystemd0-mini !libudev-mini1 !udev-mini openSUSE-release-ftp
-
-# To build ISO images
-Substitute: build-packages:iso !systemd-mini !udev-mini !krb5-mini !libsystemd0-mini
-
-# create conflicts for packages installed into the target image
-Substitute: build-packages:kiwi !systemd-mini !udev-mini !krb5-mini !libsystemd0-mini
-Substitute: kiwi python3-kiwi
-
Prefer: installation-images-openSUSE installation-images-debuginfodeps-openSUSE
# switch to kiwi v8
@@ -122,9 +108,6 @@
Support: hostname
Support: build-compare
-Support: brp-extract-appdata
-Support: brp-extract-translations
-Support: rpmlint-Factory-strict
%ifarch ia64
Support: libunwind libunwind-devel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/configs/sl15.5.conf new/obs-build-20190122/configs/sl15.5.conf
--- old/obs-build-20181206/configs/sl15.5.conf 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/configs/sl15.5.conf 2019-01-22 11:27:58.000000000 +0100
@@ -17,7 +17,7 @@
Preinstall: aaa_base attr bash coreutils diffutils
Preinstall: filesystem fillup glibc grep
Preinstall: libbz2-1 libgcc_s1 libncurses6 pam
-Preinstall: permissions libreadline7 rpm sed tar libz1 libselinux1
+Preinstall: permissions libreadline8 rpm sed tar libz1 libselinux1
Preinstall: liblzma5 libcap2 libacl1 libattr1
Preinstall: libpopt0 libelf1 liblua5_3-5
Preinstall: libpcre1
@@ -67,7 +67,7 @@
Conflict: krb5-devel:krb5-mini
Conflict: krb5:krb5-mini-devel
Prefer: krb5-mini-devel:krb5-mini
-Prefer: libreadline7
+Prefer: libreadline8
Prefer: libdb_java-4_8 libicu
Prefer: cracklib-dict-small postfix
Prefer: jta fam mozilla mozilla-nss
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/createdebdeps new/obs-build-20190122/createdebdeps
--- old/obs-build-20181206/createdebdeps 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/createdebdeps 2019-01-22 11:27:58.000000000 +0100
@@ -34,6 +34,13 @@
Getopt::Long::Configure("no_ignore_case");
+sub urldecode {
+ my ($str, $iscgi) = @_;
+ $str =~ tr/+/ / if $iscgi;
+ $str =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/sge;
+ return $str;
+}
+
#
# supported urls
#
@@ -62,7 +69,26 @@
my @components;
my $baseurl = $url;
- if ($url =~ /^(.*\/)\.(\/.*)?$/) {
+ if ($url =~ /\?/) {
+ my ($base, $query) = split(/\?/, $url, 2);
+ if ("&$query" =~ /\&dist=/) {
+ my $dist;
+ for my $querypart (split('&', $query)) {
+ my ($k, $v) = split('=', $querypart, 2);
+ $k = urldecode($k, 1);
+ $v = urldecode($v, 1);
+ $dist = $v if $k eq 'dist';
+ push @components, split(/[,+]/, $v) if $k eq 'component';
+ }
+ $baseurl = $base;
+ $baseurl .= '/' unless $baseurl =~ /\/$/;
+ $url = "${baseurl}dists/${dist}/";
+ push @components, 'main' unless @components;
+ }
+ }
+ if (@components) {
+ ; # all done above
+ } elsif ($url =~ /^(.*\/)\.(\/.*)?$/) {
# flat repo
$baseurl = $1;
@components = ('.');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/dist/build.changes new/obs-build-20190122/dist/build.changes
--- old/obs-build-20181206/dist/build.changes 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/dist/build.changes 2019-01-22 11:27:58.000000000 +0100
@@ -1,4 +1,25 @@
-------------------------------------------------------------------
+Mon Jan 21 12:00:48 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- update factory config for libreadline8 switch
+- cleanup 15.1 config with OBS specific stuff
+ * should not be used for plain build usage
+ * workarounds for kiwi should be fixed in packages
+
+-------------------------------------------------------------------
+Thu Dec 6 15:23:11 UTC 2018 - Adrian Schröter <adrian(a)suse.de>
+
+- support jumping into KVM debug shells using "--vm-type=kvm --shell"
+- adapt to new containerd CLI syntax
+- Support a new 'UseOBSRepositories' flag
+- lxc 3 support
+- power9 fixes
+- Generate a .milestone artifact for kiwi product builds
+- Support rpm's new '^' separator in version comparison
+- Allow to specify extra image repos with <!-- OBS-Imagerepo: -->
+- Rework release handling of containers
+
+-------------------------------------------------------------------
Mon Nov 26 09:24:17 UTC 2018 - Max Lin <mlin(a)suse.com>
- Add Leap 15.1 config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/dist/build.spec new/obs-build-20190122/dist/build.spec
--- old/obs-build-20181206/dist/build.spec 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/dist/build.spec 2019-01-22 11:27:58.000000000 +0100
@@ -57,6 +57,7 @@
Recommends: perl(YAML::LibYAML)
Recommends: bsdtar
Recommends: qemu-linux-user
+Recommends: /usr/bin/qemu-kvm
Recommends: /sbin/mkfs.ext3
%endif
@@ -186,6 +187,7 @@
%endif
%check
+for i in build build-* ; do bash -n $i || exit 1 ; done
if [ `whoami` != "root" ]; then
echo "WARNING: Not building as root, tests did not run!"
exit 0
@@ -226,7 +228,7 @@
%config(noreplace) /usr/lib/build/emulator/emulator.sh
%{_mandir}/man1/build.1*
%{_mandir}/man1/unrpm.1*
-%{_mandir}/man1/vc.1*
+%{_mandir}/man1/buildvc.1*
%if 0%{?suse_version}
%exclude /usr/lib/build/initvm.*
%endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/obs-docker-support new/obs-build-20190122/obs-docker-support
--- old/obs-build-20181206/obs-docker-support 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/obs-docker-support 2019-01-22 11:27:58.000000000 +0100
@@ -27,6 +27,7 @@
LOCAL_REPOS_D="/etc/repos_obs_dockersupport.d/"
LOCAL_APTREPOS_D="/etc/aptrepos_obs_dockersupport.d/"
+DATA_DIR=
zypper() {
cmd=
@@ -164,6 +165,8 @@
obs_docker_support() {
case "$1" in
--install|-i)
+ data_url=http://localhost:80
+ test -n "$DATA_DIR" && data_url="file:$DATA_DIR"
test -e /usr/bin/zypper && ln -s obs-docker-support /usr/local/sbin/zypper
test -e /usr/bin/yum && ln -s obs-docker-support /usr/local/sbin/yum
test -e /usr/bin/dnf && ln -s obs-docker-support /usr/local/sbin/dnf
@@ -171,12 +174,12 @@
ln -s obs-docker-support /usr/local/sbin/obs_pkg_mgr
if test -e /usr/bin/zypper -o -e /usr/bin/yum -o -e /usr/bin/dnf ; then
mkdir -p "$LOCAL_REPOS_D"
- cat >$LOCAL_REPOS_D/obs_repository.repo <<'EOF'
+ cat >$LOCAL_REPOS_D/obs_repository.repo <<EOF
[obs_repository]
name=obs_repository
enabled=1
autorefresh=0
-baseurl=http://localhost:80/
+baseurl=$data_url
type=rpm-md
gpgcheck=0
EOF
@@ -184,7 +187,7 @@
fi
if test -e /usr/bin/apt-get ; then
mkdir -p "$LOCAL_APTREPOS_D"
- echo "deb http://localhost:80 ./" > $LOCAL_APTREPOS_D/obssource
+ echo "deb $data_url ./" > $LOCAL_APTREPOS_D/obssource
test -e /var/lib/apt && mv /var/lib/apt /var/lib/apt.obssave
/usr/bin/apt-get -o Dir::Etc::SourceList=$LOCAL_APTREPOS_D/obssource -o Dir::Etc::SourceParts=$LOCAL_APTREPOS_D update
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/startdockerd new/obs-build-20190122/startdockerd
--- old/obs-build-20181206/startdockerd 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/startdockerd 2019-01-22 11:27:58.000000000 +0100
@@ -29,6 +29,7 @@
KILL=
WEBSERVER=
WEBSERVER_ONLY=
+DOCKERD_EXPERIMANTAL=--experimental
while test -n "$1" ; do
case "$1" in
@@ -166,7 +167,7 @@
echo "$CONTAINERD_PID $DOCKERD_PID $WEBSERVER_PID" > $BUILD_ROOT/.startdockerd.pids
echo "Starting docker daemon"
-chroot $BUILD_ROOT /usr/bin/dockerd --containerd /run/containerd/containerd.sock --bridge=none --add-runtime oci=/usr/bin/docker-runc &
+chroot $BUILD_ROOT /usr/bin/dockerd $DOCKERD_EXPERIMANTAL --containerd /run/containerd/containerd.sock --bridge=none --add-runtime oci=/usr/bin/docker-runc &
DOCKERD_PID=$!
echo "$CONTAINERD_PID $DOCKERD_PID $WEBSERVER_PID" > $BUILD_ROOT/.startdockerd.pids
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/unrpm.1 new/obs-build-20190122/unrpm.1
--- old/obs-build-20181206/unrpm.1 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/unrpm.1 2019-01-22 11:27:58.000000000 +0100
@@ -1,4 +1,4 @@
-.TH unrpm 1 "(c) 1997-2014 SuSE Linux AG Nuernberg, Germany"
+.TH UNRPM 1 "(c) 1997-2018 SUSE Linux AG Nuernberg, Germany"
.SH NAME
unrpm \- unpack the contents of one or more rpm files
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20181206/vc.1 new/obs-build-20190122/vc.1
--- old/obs-build-20181206/vc.1 2018-12-06 16:22:05.000000000 +0100
+++ new/obs-build-20190122/vc.1 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-.TH vc 1 "(c) 1997-2014 SuSE Linux AG Nuernberg, Germany"
-.SH NAME
-vs \- create a SUSE stype changes entry
-.SH SYNOPSIS
-.B vc
-.RB [ -m
-.IR message ]
-.RB [ -e ]
-.RI [ changesfile_or_dir
-.RI [ commentfile ]]
-
-.SH DESCRIPTION
-The \fBvc\fP tool adds a new changes entry to a SUSE \fB.changes\fP file.
-The \fB-m\fP option can be used to directly specify the entry, if it is
-not given an editor is started to interactively enter the new changes
-entry. If a \fIcommentfile\fP is given, its content is used as template
-for the new entry instead of an empty entry, whereas the \fB-e\fP option
-suppresses the creation of an empty entry.
-
-If no \fIchangesfile\fP is specified, \fBvc\fP will search the current
-directory for a file ending with \fB.changes\fP. If a directory is
-specified instead of a changes will, it will be searched instead.
-
-.SH SEE ALSO
-.BR build (1),
1
0
Hello community,
here is the log from the commit of package sqlite3 for openSUSE:Factory checked in at 2019-01-29 14:38:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sqlite3 (Old)
and /work/SRC/openSUSE:Factory/.sqlite3.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sqlite3"
Tue Jan 29 14:38:54 2019 rev:111 rq:666791 version:3.26.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/sqlite3/sqlite3.changes 2019-01-15 09:13:30.642395082 +0100
+++ /work/SRC/openSUSE:Factory/.sqlite3.new.28833/sqlite3.changes 2019-01-29 14:38:57.539512088 +0100
@@ -1,0 +2,6 @@
+Thu Jan 17 16:58:54 UTC 2019 - Reinhard Max <max(a)suse.com>
+
+- btree02.test depended on Tcl internals that changed in 8.6.9.
+ (sqlite3-btree02-100.patch)
+
+-------------------------------------------------------------------
New:
----
sqlite3-btree02-100.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sqlite3.spec ++++++
--- /var/tmp/diff_new_pack.KKl5F3/_old 2019-01-29 14:38:58.639510760 +0100
+++ /var/tmp/diff_new_pack.KKl5F3/_new 2019-01-29 14:38:58.643510755 +0100
@@ -1,7 +1,7 @@
#
# spec file for package sqlite3
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -28,6 +28,7 @@
Source0: http://www.sqlite.org/2018/sqlite-src-%{tarversion}.zip
Source1: baselibs.conf
Source2: http://www.sqlite.org/2018/sqlite-doc-%{tarversion}.zip
+Patch0: sqlite3-btree02-100.patch
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig
@@ -103,6 +104,7 @@
%prep
%setup -q -n sqlite-src-%{tarversion} -a2
+%patch0
rm -v sqlite-doc-%{tarversion}/releaselog/current.html
ln -sv `echo %{version} | sed "s/\./_/g"`.html sqlite-doc-%{tarversion}/releaselog/current.html
find -type f -name sqlite.css~ -delete
++++++ sqlite3-btree02-100.patch ++++++
Index: test/btree02.test
==================================================================
--- test/btree02.test
+++ test/btree02.test
@@ -19,36 +19,44 @@
load_static_extension db eval
do_execsql_test btree02-100 {
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<10)
- INSERT INTO t1(a,ax,b) SELECT printf('%02x',i), random(), i FROM c;
+ INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
CREATE INDEX t1a ON t1(a);
CREATE TABLE t2(x,y);
CREATE TABLE t3(cnt);
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4)
INSERT INTO t3(cnt) SELECT i FROM c;
SELECT count(*) FROM t1;
} {10}
+
+proc showt1 {} {
+ puts -nonewline "t1: "
+ puts [db eval {SELECT printf('(%s,%s)',quote(a),quote(b)) FROM t1}]
+}
+
do_test btree02-110 {
db eval BEGIN
set i 0
+ # showt1
db eval {SELECT a, ax, b, cnt FROM t1 CROSS JOIN t3 WHERE b IS NOT NULL} {
- if {$a==""} {set a 0}
- if {$b==""} {set b 0}
+ if {$a==""} continue
db eval {INSERT INTO t2(x,y) VALUES($b,$cnt)}
# puts "a,b,cnt = ($a,$b,$cnt)"
incr i
if {$i%2==1} {
set bx [expr {$b+1000}]
- # puts "INSERT ($a),$bx"
+ # puts "INSERT ($a),$bx"
db eval {INSERT INTO t1(a,ax,b) VALUES(printf('(%s)',$a),random(),$bx)}
+ # showt1
} else {
# puts "DELETE a=$a"
db eval {DELETE FROM t1 WHERE a=$a}
+ # showt1
}
db eval {COMMIT; BEGIN}
}
db one {COMMIT; SELECT count(*) FROM t1;}
-} {27}
+} {10}
finish_test
1
0
Hello community,
here is the log from the commit of package tcl for openSUSE:Factory checked in at 2019-01-29 14:38:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tcl (Old)
and /work/SRC/openSUSE:Factory/.tcl.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcl"
Tue Jan 29 14:38:48 2019 rev:54 rq:666787 version:8.6.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/tcl/tcl.changes 2017-12-21 11:21:34.990252885 +0100
+++ /work/SRC/openSUSE:Factory/.tcl.new.28833/tcl.changes 2019-01-29 14:38:50.219520923 +0100
@@ -1,0 +2,59 @@
+Thu Jan 17 09:22:56 UTC 2019 - Reinhard Max <max(a)suse.com>
+
+- Fix a regression in the handling of denormalized empty lists
+ (tcl-expand-regression.patch, tcl#cc1e91552c).
+
+-------------------------------------------------------------------
+Wed Dec 12 16:28:09 UTC 2018 - Reinhard Max <max(a)suse.com>
+
+- New version: 8.6.9:
+ * NR-enable [package require]
+ * (bug)[9fd5c6] crash in object deletion, test oo-11.5
+ * (bug)[3c32a3] crash deleting object with class mixed in
+ * (platform) stop using -lieee, removed from glibc-2.27
+ * (bug)[8e6a9a] bad binary [string match], test string-11.55
+ * (bug)[1873ea] repair multi-thread std channel init
+ * (bug)[db36fa] broken bytecode for index values
+ * (bug) broken compiled [string replace], test string-14.19
+ * (bug) [string trim*] engine crashed on invalid UTF
+ * (bug) missing trace in compiled [array set], test var-20.11
+ * (bug)[46a241] crash in unset array with search, var-13.[23]
+ * (bug)[27b682] race made [file delete] raise "no such file"
+ * (bug)[925643] 32/64 cleanup of filesystem DIR operations
+ * (bug) leaks in TclSetEnv and env cache
+ * (bug)[3592747] [yieldto] dying namespace, tailcall-14.1
+ * (bug)[270f78] race in [file mkdir]
+ * (bug)[3f7af0] [file delete] raised "permission denied"
+ * (bug)[d051b7] overflow crash in [format]
+ * revised quoting of [exec] args in generated command line
+ * HTTP Keep-Alive with pipelined requests
+ * (new)[TIP 505] [lreplace] accepts all out of range indices
+ * (bug) Prevent crash from NULL keyName in the registry package
+ * Update tcltest package for Travis support
+ * (bug)[35a8f1] overlong string length of some lists
+ * (bug)[00d04c] Repair [binary encode base64]
+
+-------------------------------------------------------------------
+Thu Mar 15 14:54:52 CET 2018 - ro(a)suse.de
+
+- handle s390 like s390x (bnc#1085480)
+
+-------------------------------------------------------------------
+Fri Dec 29 20:11:51 UTC 2017 - max(a)suse.com
+
+- Version 8.6.8:
+ * [array names -regexp] supports backrefs
+ * Fix gcc build failures due to #pragma placement
+ * (bug)[b50fb2] exec redir append stdout and stderr to file
+ * (bug)[2a9465] http state 100 continue handling broken
+ * (bug)[0e4d88] replace command, delete trace kills namespace
+ * (bug)[1a5655] [info * methods] includes mixins
+ * (bug)[fc1409] segfault in method cloning, oo-15.15
+ * (bug)[3298012] Stop crash when hash tables overflow 32 bits
+ * (bug)[5d6de6] Close failing case of [package prefer stable]
+ * (bug)[4f6a1e] Crash when ensemble map and list are same
+ * (bug)[ce3a21] file normalize failure when tail is empty
+ * (new)[TIP 477] nmake build system reform
+ * (bug)[586e71] EvalObjv exception handling at level #0
+
+-------------------------------------------------------------------
@@ -13,0 +73,6 @@
+Thu Oct 19 14:37:39 UTC 2017 - max(a)suse.com
+
+- Sync SLE12 with Factory to fix a bug in Itcl that was affecting
+ iwidgets (bsc#903017).
+
+-------------------------------------------------------------------
@@ -220,0 +286 @@
+- Remove obsolete patches tcl-unload.patch and tcl.patch.
Old:
----
tcl8.6.7-src.tar.gz
New:
----
tcl-expand-regression.patch
tcl8.6.9-src.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcl.spec ++++++
--- /var/tmp/diff_new_pack.u4b6M2/_old 2019-01-29 14:38:51.471519412 +0100
+++ /var/tmp/diff_new_pack.u4b6M2/_new 2019-01-29 14:38:51.475519408 +0100
@@ -1,7 +1,7 @@
#
# spec file for package tcl
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,24 +12,25 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: tcl
Url: http://www.tcl.tk
-Version: 8.6.7
+Version: 8.6.9
Release: 0
%define rrc %{nil}
%define TCL_MINOR %(echo %version | cut -c1-3)
+%define itclver 4.1.2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: The Tcl Programming Language
License: TCL
Group: Development/Languages/Tcl
-Provides: itcl = 4.0.5
+Provides: itcl = %itclver
Provides: tclsh
Provides: tclsh%{TCL_MINOR}
-Obsoletes: itcl < 4.0.5
+Obsoletes: itcl < %itclver
# bug437293
%ifarch ppc64
Obsoletes: tcl-64bit
@@ -40,6 +41,7 @@
Source1: tcl-rpmlintrc
Source2: baselibs.conf
Source3: macros.tcl
+Patch0: tcl-expand-regression.patch
BuildRequires: autoconf
BuildRequires: pkg-config
BuildRequires: zlib-devel
@@ -65,8 +67,8 @@
%ifarch ppc64
Obsoletes: tcl-devel-64bit
%endif
-Obsoletes: itcl-devel < 4.0.2
-Provides: itcl-devel = 4.0.2
+Obsoletes: itcl-devel < %itclver
+Provides: itcl-devel = %itclver
#
%description devel
@@ -79,6 +81,7 @@
%prep
%setup -q -n %name%version
+%patch0
%build
cd unix
@@ -133,7 +136,7 @@
thread-20.9
thread-21.16
EOF
-%ifnarch s390x
+%ifnarch s390 s390x
make test 2>&1 | tee testresults
grep FAILED testresults | grep -Fvwf known-failures && exit 1
%endif
++++++ tcl-expand-regression.patch ++++++
Index: generic/tclExecute.c
==================================================================
--- generic/tclExecute.c
+++ generic/tclExecute.c
@@ -5235,12 +5235,16 @@
}
#endif
/* Every range of an empty list is an empty list */
if (objc == 0) {
- TRACE_APPEND(("\n"));
- NEXT_INST_F(9, 0, 0);
+ /* avoid return of not canonical list (e. g. spaces in string repr.) */
+ if (!valuePtr->bytes || !valuePtr->bytes[0]) {
+ TRACE_APPEND(("\n"));
+ NEXT_INST_F(9, 0, 0);
+ }
+ goto emptyList;
}
/* Decode index value operands. */
/*
Index: generic/tclTest.c
==================================================================
--- generic/tclTest.c
+++ generic/tclTest.c
@@ -218,10 +218,13 @@
static void PrintParse(Tcl_Interp *interp, Tcl_Parse *parsePtr);
static void SpecialFree(char *blockPtr);
static int StaticInitProc(Tcl_Interp *interp);
static int TestasyncCmd(ClientData dummy,
Tcl_Interp *interp, int argc, const char **argv);
+static int TestpurebytesobjObjCmd(ClientData clientData,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
static int TestbytestringObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *const objv[]);
static int TestcmdinfoCmd(ClientData dummy,
Tcl_Interp *interp, int argc, const char **argv);
@@ -568,10 +571,11 @@
*/
Tcl_CreateObjCommand(interp, "gettimes", GetTimesObjCmd, NULL, NULL);
Tcl_CreateCommand(interp, "noop", NoopCmd, NULL, NULL);
Tcl_CreateObjCommand(interp, "noop", NoopObjCmd, NULL, NULL);
+ Tcl_CreateObjCommand(interp, "testpurebytesobj", TestpurebytesobjObjCmd, NULL, NULL);
Tcl_CreateObjCommand(interp, "testbytestring", TestbytestringObjCmd, NULL, NULL);
Tcl_CreateObjCommand(interp, "testwrongnumargs", TestWrongNumArgsObjCmd,
NULL, NULL);
Tcl_CreateObjCommand(interp, "testfilesystem", TestFilesystemObjCmd,
NULL, NULL);
@@ -2079,11 +2083,11 @@
int length, flags;
const char *script;
flags = 0;
if (objc == 3) {
- const char *global = Tcl_GetStringFromObj(objv[2], &length);
+ const char *global = Tcl_GetString(objv[2]);
if (strcmp(global, "global") != 0) {
Tcl_AppendResult(interp, "bad value \"", global,
"\": must be global", NULL);
return TCL_ERROR;
}
@@ -4953,10 +4957,61 @@
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* The argument objects. */
{
return TCL_OK;
}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TestpurebytesobjObjCmd --
+ *
+ * This object-based procedure constructs a pure bytes object
+ * without type and with internal representation containing NULL's.
+ *
+ * If no argument supplied it returns empty object with tclEmptyStringRep,
+ * otherwise it returns this as pure bytes object with bytes value equal
+ * string.
+ *
+ * Results:
+ * Returns the TCL_OK result code.
+ *
+ * Side effects:
+ * None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static int
+TestpurebytesobjObjCmd(
+ ClientData unused, /* Not used. */
+ Tcl_Interp *interp, /* Current interpreter. */
+ int objc, /* Number of arguments. */
+ Tcl_Obj *const objv[]) /* The argument objects. */
+{
+ Tcl_Obj *objPtr;
+
+ if (objc > 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "?string?");
+ return TCL_ERROR;
+ }
+ objPtr = Tcl_NewObj();
+ /*
+ objPtr->internalRep.twoPtrValue.ptr1 = NULL;
+ objPtr->internalRep.twoPtrValue.ptr2 = NULL;
+ */
+ memset(&objPtr->internalRep, 0, sizeof(objPtr->internalRep));
+ if (objc == 2) {
+ const char *s = Tcl_GetString(objv[1]);
+ objPtr->length = objv[1]->length;
+ objPtr->bytes = ckalloc(objPtr->length + 1);
+ memcpy(objPtr->bytes, s, objPtr->length);
+ objPtr->bytes[objPtr->length] = 0;
+ }
+ Tcl_SetObjResult(interp, objPtr);
+ return TCL_OK;
+}
/*
*----------------------------------------------------------------------
*
* TestbytestringObjCmd --
Index: tests/basic.test
==================================================================
--- tests/basic.test
+++ tests/basic.test
@@ -959,10 +959,16 @@
lappend res [catch { run { {*}{error Hejsan} } } err]
lappend res $err
} -cleanup {
unset res t
} -result {0 10 1 Hejsan}
+
+test basic-48.24.$noComp {expansion: empty not canonical list, regression test, bug [cc1e91552c]} -constraints $constraints -setup {
+ unset -nocomplain a
+} -body {
+ run {list [list {*}{ }] [list {*}[format %c 32]] [list {*}[set a { }]]}
+} -result [lrepeat 3 {}] -cleanup {unset -nocomplain a}
} ;# End of noComp loop
test basic-49.1 {Tcl_EvalEx: verify TCL_EVAL_GLOBAL operation} testevalex {
set ::x global
Index: tests/lrange.test
==================================================================
--- tests/lrange.test
+++ tests/lrange.test
@@ -13,10 +13,16 @@
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
namespace import -force ::tcltest::*
}
+
+::tcltest::loadTestedCommands
+catch [list package require -exact Tcltest [info patchlevel]]
+
+testConstraint testpurebytesobj [llength [info commands testpurebytesobj]]
+
test lrange-1.1 {range of list elements} {
lrange {a b c d} 1 2
} {b c}
test lrange-1.2 {range of list elements} {
@@ -105,14 +111,44 @@
list [lrange {a b c} -1 1] [lrange {a b c} -1+0 end-1] [lrange {a b c} -2 1] [lrange {a b c} -2+0 0+1]
} [lrepeat 4 {a b}]
test lrange-3.6 {compiled with calculated indices, end out of range (after end)} {
list [lrange {a b c} 1 end+1] [lrange {a b c} 1+0 2+1] [lrange {a b c} 1 end+1] [lrange {a b c} end-1 3+1]
} [lrepeat 4 {b c}]
+
+test lrange-3.7a {compiled on empty not canonical list (with static and dynamic indices), regression test, bug [cc1e91552c]} {
+ list [lrange { } 0 1] [lrange [format %c 32] 0 1] [lrange [set a { }] 0 1] \
+ [lrange { } 0-1 end+1] [lrange [format %c 32] 0-1 end+1] [lrange $a 0-1 end+1]
+} [lrepeat 6 {}]
+test lrange-3.7b {not compiled on empty not canonical list (with static and dynamic indices), regression test, bug [cc1e91552c]} {
+ set cmd lrange
+ list [$cmd { } 0 1] [$cmd [format %c 32] 0 1] [$cmd [set a { }] 0 1] \
+ [$cmd { } 0-1 end+1] [$cmd [format %c 32] 0-1 end+1] [$cmd $a 0-1 end+1]
+} [lrepeat 6 {}]
+# following 4 tests could cause a segfault on empty non-lists with tclEmptyStringRep
+# (as before the fix [58c46e74b931d3a1]):
+test lrange-3.7a.2 {compiled on empty not list object, 2nd regression test, bug [cc1e91552c]} {
+ list [lrange {} 0 1] [lrange [lindex a -1] 0 1] [lrange [set a {}] 0 1] \
+ [lrange {} 0-1 end+1] [lrange [lindex a -1] 0-1 end+1] [lrange $a 0-1 end+1]
+} [lrepeat 6 {}]
+test lrange-3.7b.2 {not compiled on empty not list object, 2nd regression test, bug [cc1e91552c]} {
+ set cmd lrange
+ list [$cmd {} 0 1] [$cmd [lindex a -1] 0 1] [$cmd [set a {}] 0 1] \
+ [$cmd {} 0-1 end+1] [$cmd [lindex a -1] 0-1 end+1] [$cmd $a 0-1 end+1]
+} [lrepeat 6 {}]
+test lrange-3.7c.2 {compiled on empty pure bytes object, 2nd regression test, bug [cc1e91552c]} {
+ list [lrange [testpurebytesobj] 0 1] [lrange [testpurebytesobj { }] 0 1] [lrange [set a [testpurebytesobj {}]] 0 1] \
+ [lrange [testpurebytesobj] 0-1 end+1] [lrange [testpurebytesobj { }] 0-1 end+1] [lrange $a 0-1 end+1]
+} [lrepeat 6 {}]
+test lrange-3.7d.2 {not compiled on empty pure bytes object, 2nd regression test, bug [cc1e91552c]} {
+ set cmd lrange
+ list [$cmd [testpurebytesobj] 0 1] [$cmd [testpurebytesobj { }] 0 1] [$cmd [set a [testpurebytesobj {}]] 0 1] \
+ [$cmd [testpurebytesobj] 0-1 end+1] [$cmd [testpurebytesobj { }] 0-1 end+1] [$cmd $a 0-1 end+1]
+} [lrepeat 6 {}]
# cleanup
::tcltest::cleanupTests
return
# Local Variables:
# mode: tcl
# End:
++++++ tcl8.6.7-src.tar.gz -> tcl8.6.9-src.tar.gz ++++++
/work/SRC/openSUSE:Factory/tcl/tcl8.6.7-src.tar.gz /work/SRC/openSUSE:Factory/.tcl.new.28833/tcl8.6.9-src.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package dpkg for openSUSE:Factory checked in at 2019-01-29 14:38:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dpkg (Old)
and /work/SRC/openSUSE:Factory/.dpkg.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dpkg"
Tue Jan 29 14:38:43 2019 rev:26 rq:665996 version:1.19.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/dpkg/dpkg.changes 2018-07-07 21:52:01.243803943 +0200
+++ /work/SRC/openSUSE:Factory/.dpkg.new.28833/dpkg.changes 2019-01-29 14:38:45.303526858 +0100
@@ -1,0 +2,5 @@
+Mon Jan 14 15:48:48 CET 2019 - kukuk(a)suse.de
+
+- Use %license instead of %doc [bsc#1082318]
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/dpkg/update-alternatives.changes 2018-07-07 21:52:07.731795680 +0200
+++ /work/SRC/openSUSE:Factory/.dpkg.new.28833/update-alternatives.changes 2019-01-29 14:38:45.351526801 +0100
@@ -1,0 +2,5 @@
+Mon Jan 14 15:49:09 CET 2019 - kukuk(a)suse.de
+
+- Use %license instead of %doc [bsc#1082318]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dpkg.spec ++++++
--- /var/tmp/diff_new_pack.tWUsSQ/_old 2019-01-29 14:38:46.007526008 +0100
+++ /var/tmp/diff_new_pack.tWUsSQ/_new 2019-01-29 14:38:46.011526004 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dpkg
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -153,7 +153,8 @@
%{_mandir}/??/man*/*
%files
-%doc ABOUT-NLS AUTHORS COPYING doc/triggers.txt NEWS README* THANKS TODO debian/changelog
+%license COPYING
+%doc ABOUT-NLS AUTHORS doc/triggers.txt NEWS README* THANKS TODO debian/changelog
%{_mandir}/man*/*
%exclude %{_mandir}/man*/update-alternatives*
%dir %{_sysconfdir}/dpkg
++++++ update-alternatives.spec ++++++
--- /var/tmp/diff_new_pack.tWUsSQ/_old 2019-01-29 14:38:46.035525975 +0100
+++ /var/tmp/diff_new_pack.tWUsSQ/_new 2019-01-29 14:38:46.039525970 +0100
@@ -1,7 +1,7 @@
#
# spec file for package update-alternatives
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -85,7 +85,7 @@
touch %{_localstatedir}/log/alternatives.log
%files
-%doc COPYING
+%license COPYING
%dir %{_sysconfdir}/alternatives
%dir %{_localstatedir}/lib/alternatives
%{_sbindir}/alternatives
1
0
Hello community,
here is the log from the commit of package ncurses for openSUSE:Factory checked in at 2019-01-29 14:38:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
and /work/SRC/openSUSE:Factory/.ncurses.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ncurses"
Tue Jan 29 14:38:35 2019 rev:151 rq:665632 version:6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes 2019-01-08 12:15:22.401100622 +0100
+++ /work/SRC/openSUSE:Factory/.ncurses.new.28833/ncurses.changes 2019-01-29 14:38:40.335532856 +0100
@@ -1,0 +2,22 @@
+Mon Jan 14 07:24:52 UTC 2019 - Dr. Werner Fink <werner(a)suse.de>
+
+- Add ncurses patch 20190112
+ + fix typo in term(5), improve explanation of format (report by Otto
+ Modinos).
+ + add nsterm-direct -TD
+ + use SGR 1006 mouse for konsole-base -TD
+ + use SGR 1006 mouse for putty -TD
+ + add ti703/ti707, ti703-w/ti707-w (Robert Clausecker)
+
+-------------------------------------------------------------------
+Mon Jan 7 07:46:46 UTC 2019 - Dr. Werner Fink <werner(a)suse.de>
+
+- Add ncurses patch 20190105
+ + add dummy "check" rule in top-level and test-Makefile to simply
+ building test-packages for Arch.
+ + modify configure script to avoid conflict with a non-POSIX feature
+ that enables all parts of the system headers by default. Some
+ packagers have come to rely upon this behavior (FreeBSD #234049).
+ + update config.guess, config.sub
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ncurses-5.9-ibm327x.dif ++++++
--- /var/tmp/diff_new_pack.oJPpNH/_old 2019-01-29 14:38:40.951532113 +0100
+++ /var/tmp/diff_new_pack.oJPpNH/_new 2019-01-29 14:38:40.951532113 +0100
@@ -4,7 +4,7 @@
--- misc/terminfo.src
+++ misc/terminfo.src 2018-10-29 10:23:47.271511864 +0000
-@@ -16681,8 +16681,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
+@@ -16690,8 +16690,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
#
ibm327x|line mode IBM 3270 style,
++++++ ncurses-6.1-patches.tar.bz2 ++++++
++++ 24326 lines of diff (skipped)
++++++ ncurses-6.1.dif ++++++
--- /var/tmp/diff_new_pack.oJPpNH/_old 2019-01-29 14:38:41.811531074 +0100
+++ /var/tmp/diff_new_pack.oJPpNH/_new 2019-01-29 14:38:41.811531074 +0100
@@ -22,7 +22,7 @@
20 files changed, 248 insertions(+), 81 deletions(-)
--- aclocal.m4
-+++ aclocal.m4 2018-12-17 07:11:25.212263133 +0000
++++ aclocal.m4 2019-01-07 07:47:20.064859035 +0000
@@ -580,7 +580,7 @@ AC_MSG_CHECKING([for size of bool])
AC_CACHE_VAL(cf_cv_type_of_bool,[
rm -f cf_test.out
@@ -151,7 +151,7 @@
esac
done
--- configure
-+++ configure 2018-12-17 07:11:25.216263058 +0000
++++ configure 2019-01-07 07:47:20.068858960 +0000
@@ -5485,7 +5485,7 @@ echo $ECHO_N "checking for an rpath opti
fi
;;
@@ -161,7 +161,7 @@
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
-@@ -13582,12 +13582,15 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13642,12 +13642,15 @@ cat >>$cf_edit_man <<CF_EOF
echo '? missing rename for '\$cf_source
cf_target="\$cf_source"
fi
@@ -179,7 +179,7 @@
sed -f $cf_man_alias \\
CF_EOF
-@@ -13597,7 +13600,7 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13657,7 +13660,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@@ -188,7 +188,7 @@
CF_EOF
fi
-@@ -13637,7 +13640,7 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13697,7 +13700,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
@@ -197,7 +197,7 @@
CF_EOF
fi
-@@ -13646,23 +13649,23 @@ case "$MANPAGE_FORMAT" in
+@@ -13706,23 +13709,23 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test \$form = format ; then
# BSDI installs only .0 suffixes in the cat directories
@@ -227,7 +227,7 @@
for cf_alias in \$aliases
do
if test \$section = 1 ; then
-@@ -13671,7 +13674,7 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13731,7 +13734,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f \$cf_alias\${suffix} ; then
@@ -236,7 +236,7 @@
then
continue
fi
-@@ -13681,18 +13684,18 @@ CF_EOF
+@@ -13741,18 +13744,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@@ -258,7 +258,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
-@@ -13712,9 +13715,9 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13772,9 +13775,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test \$verb = removing ; then
@@ -271,7 +271,7 @@
)
test -d \$cf_subdir\${section} &&
test -n "\$aliases" && (
-@@ -13734,6 +13737,7 @@ cat >>$cf_edit_man <<CF_EOF
+@@ -13794,6 +13797,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@@ -279,7 +279,7 @@
;;
esac
done
-@@ -24380,6 +24384,7 @@ if test "$with_termlib" != no ; then
+@@ -24440,6 +24444,7 @@ if test "$with_termlib" != no ; then
TINFO_LDFLAGS="-L${LIB_DIR}"
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
fi
@@ -288,7 +288,7 @@
# the next lines are needed for linking libtic over libncurses
TINFO_NAME=${LIB_NAME}
--- include/curses.h.in
-+++ include/curses.h.in 2018-12-17 07:11:25.216263058 +0000
++++ include/curses.h.in 2019-01-07 07:47:20.068858960 +0000
@@ -177,6 +177,9 @@ typedef @cf_cv_typeof_chtype@ chtype;
typedef @cf_cv_typeof_mmask_t@ mmask_t;
#endif
@@ -300,7 +300,7 @@
* We need FILE, etc. Include this before checking any feature symbols.
*/
--- include/termcap.h.in
-+++ include/termcap.h.in 2018-12-17 07:11:25.216263058 +0000
++++ include/termcap.h.in 2019-01-07 07:47:20.068858960 +0000
@@ -46,6 +46,8 @@ extern "C"
{
#endif /* __cplusplus */
@@ -311,7 +311,7 @@
#undef NCURSES_OSPEED
--- include/tic.h
-+++ include/tic.h 2018-12-17 07:11:25.216263058 +0000
++++ include/tic.h 2019-01-07 07:47:20.068858960 +0000
@@ -221,12 +221,12 @@ struct alias
*/
@@ -328,7 +328,7 @@
#define CANCELLED_STRING (char *)(-1)
--- man/man_db.renames
-+++ man/man_db.renames 2018-12-17 07:11:25.216263058 +0000
++++ man/man_db.renames 2019-01-07 07:47:20.068858960 +0000
@@ -163,6 +163,7 @@ term.7 term.7
term_variables.3x terminfo_variables.3ncurses
terminfo.5 terminfo.5
@@ -346,7 +346,7 @@
#
getty.1 getty.8
--- man/ncurses.3x
-+++ man/ncurses.3x 2018-12-17 07:11:25.216263058 +0000
++++ man/ncurses.3x 2019-01-07 07:47:20.072858886 +0000
@@ -139,6 +139,10 @@ after the shell environment variable \fB
[See \fBterminfo\fR(\*n) for further details.]
.SS Datatypes
@@ -359,7 +359,7 @@
called \fIwindows\fR, which can be thought of as two-dimensional
arrays of characters representing all or part of a CRT screen.
--- misc/gen-pkgconfig.in
-+++ misc/gen-pkgconfig.in 2018-12-17 07:11:25.216263058 +0000
++++ misc/gen-pkgconfig.in 2019-01-07 07:47:20.072858886 +0000
@@ -77,7 +77,7 @@ if test "$includedir" != "/usr/include"
fi
@@ -399,7 +399,7 @@
if test $name = $MAIN_LIBRARY
--- misc/ncurses-config.in
-+++ misc/ncurses-config.in 2018-12-17 07:11:25.216263058 +0000
++++ misc/ncurses-config.in 2019-01-07 07:47:20.072858886 +0000
@@ -100,7 +100,7 @@ while test $# -gt 0; do
# compile/link
--cflags)
@@ -410,7 +410,7 @@
fi
if test "${includedir}" != /usr/include ; then
--- misc/terminfo.src
-+++ misc/terminfo.src 2018-12-17 07:11:25.236262684 +0000
++++ misc/terminfo.src 2019-01-07 07:47:20.080858734 +0000
@@ -301,7 +301,9 @@ dumb|80-column dumb tty,
am,
cols#80,
@@ -481,7 +481,7 @@
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
-@@ -4004,6 +4015,7 @@ putty+fnkeys+sco|SCO fn-keys for PuTTY,
+@@ -4007,6 +4018,7 @@ putty+fnkeys+sco|SCO fn-keys for PuTTY,
# retrieving the window title, and for setting the window size (i.e., using
# "resize -s"), though it does not pass SIGWINCH to the application if the
# user resizes the window with the mouse.
@@ -489,7 +489,7 @@
teraterm2.3|Tera Term Pro,
km,
ncv#43, vt@,
-@@ -4012,7 +4024,7 @@ teraterm2.3|Tera Term Pro,
+@@ -4015,7 +4027,7 @@ teraterm2.3|Tera Term Pro,
\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J,
cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
@@ -498,7 +498,7 @@
dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~,
-@@ -4236,6 +4248,7 @@ xterm-old|antique xterm version,
+@@ -4239,6 +4251,7 @@ xterm-old|antique xterm version,
use=xterm-r6,
# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
# The name has been changed and some aliases have been removed.
@@ -506,7 +506,7 @@
xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
OTbs, am, bce, km, mir, msgr, xenl, XT,
cols#80, it#8, lines#24, ncv@,
-@@ -4245,7 +4258,7 @@ xterm-xf86-v32|xterm terminal emulator (
+@@ -4248,7 +4261,7 @@ xterm-xf86-v32|xterm terminal emulator (
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
@@ -515,7 +515,7 @@
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
-@@ -4842,8 +4855,26 @@ xterm-noapp|xterm with cursor keys in no
+@@ -4848,8 +4861,26 @@ xterm-noapp|xterm with cursor keys in no
xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
lines#24, use=xterm-old,
@@ -542,7 +542,7 @@
use=xterm-new,
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
-@@ -5187,7 +5218,7 @@ xterms-sun|small (80x24) xterm with sunF
+@@ -5193,7 +5224,7 @@ xterms-sun|small (80x24) xterm with sunF
#### GNOME (VTE)
# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
@@ -551,7 +551,7 @@
bce,
kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
use=xterm-color,
-@@ -5436,10 +5467,14 @@ mgt|Multi GNOME Terminal,
+@@ -5442,10 +5473,14 @@ mgt|Multi GNOME Terminal,
#### KDE
# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
# or not is debatable).
@@ -567,7 +567,7 @@
# Konsole 1.0.1 (2001/11/25)
# (formerly known as kvt)
#
-@@ -5648,14 +5683,14 @@ mlterm3|multi lingual terminal emulator,
+@@ -5657,14 +5692,14 @@ mlterm3|multi lingual terminal emulator,
mlterm2|multi lingual terminal emulator,
am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
colors#8, cols#80, it#8, lines#24, pairs#64,
@@ -585,7 +585,7 @@
home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n, indn=\E[%p1%dS,
is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^?,
-@@ -5711,6 +5746,7 @@ mlterm-256color|mlterm 3.0 with xterm 25
+@@ -5720,6 +5755,7 @@ mlterm-256color|mlterm 3.0 with xterm 25
# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
# Since rxvt is not really compatible with xterm, it should be configured as
# "rxvt" or "rxvt-color".
@@ -593,7 +593,7 @@
#
# removed dch/dch1 because they are inconsistent with bce/ech -TD
# remove km as per tack test -TD
-@@ -5722,13 +5758,14 @@ rxvt-basic|rxvt terminal base (X Window
+@@ -5731,13 +5767,14 @@ rxvt-basic|rxvt terminal base (X Window
clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
@@ -611,7 +611,7 @@
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
rmul=\E[24m,
rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
-@@ -5739,7 +5776,7 @@ rxvt-basic|rxvt terminal base (X Window
+@@ -5748,7 +5785,7 @@ rxvt-basic|rxvt terminal base (X Window
%p9%t\016%e\017%;,
sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq,
@@ -620,7 +620,7 @@
# Key Codes from rxvt reference:
#
# Note: Shift + F1-F10 generates F11-F20
-@@ -5822,8 +5859,8 @@ rxvt-basic|rxvt terminal base (X Window
+@@ -5831,8 +5868,8 @@ rxvt-basic|rxvt terminal base (X Window
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
rxvt+pcfkeys|fragment for PC-style fkeys,
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
@@ -631,7 +631,7 @@
kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
-@@ -5914,6 +5951,38 @@ rxvt-cygwin-native|rxvt terminal emulato
+@@ -5923,6 +5960,38 @@ rxvt-cygwin-native|rxvt terminal emulato
\302x\263y\363z\362{\343|\330~\376,
use=rxvt-cygwin,
@@ -670,7 +670,7 @@
# This variant is supposed to work with rxvt 2.7.7 when compiled with
# NO_BRIGHTCOLOR defined. rxvt needs more work...
rxvt-16color|rxvt with 16 colors like aixterm,
-@@ -5960,7 +6029,7 @@ mrxvt-256color|multitabbed rxvt with 256
+@@ -5969,7 +6038,7 @@ mrxvt-256color|multitabbed rxvt with 256
# Eterm 0.9.3
#
# removed kf0 which conflicts with kf10 -TD
@@ -679,7 +679,7 @@
# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT
# but does otherwise follow the rxvt+pcfkeys model -TD
# remove nonworking flash -TD
-@@ -5974,13 +6043,13 @@ Eterm|Eterm-color|Eterm with xterm-style
+@@ -5983,13 +6052,13 @@ Eterm|Eterm-color|Eterm with xterm-style
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
@@ -695,7 +695,7 @@
kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=,
-@@ -6810,7 +6879,7 @@ pty|4bsd pseudo teletype,
+@@ -6819,7 +6888,7 @@ pty|4bsd pseudo teletype,
# https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el
#
# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
@@ -704,7 +704,7 @@
am, mir, xenl,
cols#80, lines#24,
bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r,
-@@ -6823,6 +6892,13 @@ eterm|gnu emacs term.el terminal emulati
+@@ -6832,6 +6901,13 @@ eterm|gnu emacs term.el terminal emulati
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m,
smul=\E[4m,
@@ -718,7 +718,7 @@
# The codes supported by the term.el terminal emulation in GNU Emacs 22.2
eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
-@@ -6945,7 +7021,7 @@ screen|VT 100/ANSI X3.64 virtual termina
+@@ -6954,7 +7030,7 @@ screen|VT 100/ANSI X3.64 virtual termina
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
@@ -727,7 +727,7 @@
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
-@@ -7066,6 +7142,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
+@@ -7075,6 +7151,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
use=xterm+x11mouse, use=xterm-new,
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
@@ -741,7 +741,7 @@
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
screen.xterm-r6|screen customized for X11R6 xterm,
-@@ -7153,7 +7236,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
+@@ -7162,7 +7245,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL,
@@ -750,7 +750,7 @@
kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH,
nel=\r\n, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m,
-@@ -9033,7 +9116,7 @@ hp700-wy|HP700/41 emulating wyse30,
+@@ -9042,7 +9125,7 @@ hp700-wy|HP700/41 emulating wyse30,
ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>,
sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>,
smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c,
@@ -759,7 +759,7 @@
am, da, db, xhp,
cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8,
acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA,
-@@ -12264,6 +12347,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit
+@@ -12273,6 +12356,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit
# at support for the VT320 itself.
# Please send changes with explanations to bug-gnu-emacs(a)prep.ai.mit.edu.
# (vt320-k3: I added <rmam>/<smam> based on the init string -- esr)
@@ -767,7 +767,7 @@
vt320-k3|MS-Kermit 3.00's vt320 emulation,
am, eslok, hs, km, mir, msgr, xenl,
cols#80, it#8, lines#49, pb#9600, vt#3,
-@@ -12273,7 +12357,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio
+@@ -12282,7 +12366,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
@@ -776,7 +776,7 @@
dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
flash=\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[
?5l,
-@@ -16691,7 +16775,7 @@ ibm3101|i3101|IBM 3101-10,
+@@ -16700,7 +16784,7 @@ ibm3101|i3101|IBM 3101-10,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
el=\EI, home=\EH, hts=\E0, ind=\n, kcub1=\ED, kcud1=\EB,
kcuf1=\EC, kcuu1=\EA, nel=\r\n, tbc=\EH,
@@ -785,7 +785,7 @@
is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B,
sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
-@@ -16949,7 +17033,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
+@@ -16958,7 +17042,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
tbc=\E[3g,
# "Megapel" refers to the display adapter, which was used with the IBM RT
# aka IBM 6150.
@@ -795,7 +795,7 @@
s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
--- ncurses/Makefile.in
-+++ ncurses/Makefile.in 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/Makefile.in 2019-01-07 07:47:20.080858734 +0000
@@ -219,7 +219,7 @@ $(DESTDIR)$(libdir) :
../lib : ; mkdir $@
@@ -806,7 +806,7 @@
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
--- ncurses/curses.priv.h
-+++ ncurses/curses.priv.h 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/curses.priv.h 2019-01-07 07:47:20.080858734 +0000
@@ -2196,6 +2196,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *);
extern NCURSES_EXPORT(char *) _nc_trace_mmask_t (SCREEN *, mmask_t);
@@ -817,7 +817,7 @@
extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
--- ncurses/run_cmd.sh
-+++ ncurses/run_cmd.sh 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/run_cmd.sh 2019-01-07 07:47:20.080858734 +0000
@@ -0,0 +1,11 @@
+#!/bin/sh
+
@@ -831,7 +831,7 @@
+
+exec ${1+"$@"}
--- ncurses/tinfo/MKfallback.sh
-+++ ncurses/tinfo/MKfallback.sh 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/tinfo/MKfallback.sh 2019-01-07 07:47:20.080858734 +0000
@@ -68,6 +68,12 @@ else
tmp_info=
fi
@@ -864,7 +864,7 @@
done
--- ncurses/tinfo/access.c
-+++ ncurses/tinfo/access.c 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/tinfo/access.c 2019-01-07 07:47:20.080858734 +0000
@@ -35,6 +35,9 @@
#include <ctype.h>
@@ -907,7 +907,7 @@
_nc_access(const char *path, int mode)
{
--- ncurses/tinfo/lib_setup.c
-+++ ncurses/tinfo/lib_setup.c 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/tinfo/lib_setup.c 2019-01-07 07:47:20.084858660 +0000
@@ -599,6 +599,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
} else if ((value = tigetnum("U8")) >= 0) {
result = value; /* use extension feature */
@@ -919,7 +919,7 @@
result = 1; /* always broken */
} else if (strstr(env, "screen") != 0
--- ncurses/tinfo/read_entry.c
-+++ ncurses/tinfo/read_entry.c 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/tinfo/read_entry.c 2019-01-07 07:47:20.084858660 +0000
@@ -551,6 +551,7 @@ _nc_read_file_entry(const char *const fi
FILE *fp = 0;
int code;
@@ -937,7 +937,7 @@
return (code);
}
--- ncurses/tinfo/read_termcap.c
-+++ ncurses/tinfo/read_termcap.c 2018-12-17 07:11:25.240262609 +0000
++++ ncurses/tinfo/read_termcap.c 2019-01-07 07:47:20.084858660 +0000
@@ -322,14 +322,18 @@ _nc_getent(
*/
if (fd >= 0) {
@@ -984,7 +984,7 @@
}
if (copied != 0)
--- progs/Makefile.in
-+++ progs/Makefile.in 2018-12-17 07:11:25.240262609 +0000
++++ progs/Makefile.in 2019-01-07 07:47:20.084858660 +0000
@@ -100,7 +100,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
@@ -1004,7 +1004,7 @@
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
--- test/test.priv.h
-+++ test/test.priv.h 2018-12-17 07:11:25.240262609 +0000
++++ test/test.priv.h 2019-01-07 07:47:20.084858660 +0000
@@ -929,12 +929,12 @@ extern char *strnames[], *strcodes[], *s
#endif
1
0
Hello community,
here is the log from the commit of package rpm for openSUSE:Factory checked in at 2019-01-29 14:38:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpm (Old)
and /work/SRC/openSUSE:Factory/.rpm.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpm"
Tue Jan 29 14:38:27 2019 rev:269 rq:665319 version:4.14.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpm/rpm.changes 2018-10-29 14:26:49.235105952 +0100
+++ /work/SRC/openSUSE:Factory/.rpm.new.28833/rpm.changes 2019-01-29 14:38:30.491544741 +0100
@@ -1,0 +2,6 @@
+Sun Jan 13 16:08:32 UTC 2019 - Dirk Mueller <dmueller(a)suse.com>
+
+- update macrosin.diff: Set cutoff date to SLE12 GA to remove
+ changelogs from 2009-2014 from the generated RPMs.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rpm.spec ++++++
--- /var/tmp/diff_new_pack.owOKSs/_old 2019-01-29 14:38:32.363542481 +0100
+++ /var/tmp/diff_new_pack.owOKSs/_new 2019-01-29 14:38:32.367542476 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-rpm
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 Neal Gompa <ngompa13(a)gmail.com>.
#
# All modifications and additions to the file contributed by third parties
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
++++++ rpm.spec ++++++
--- /var/tmp/diff_new_pack.owOKSs/_old 2019-01-29 14:38:32.399542438 +0100
+++ /var/tmp/diff_new_pack.owOKSs/_new 2019-01-29 14:38:32.403542433 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rpm
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
++++++ macrosin.diff ++++++
--- /var/tmp/diff_new_pack.owOKSs/_old 2019-01-29 14:38:32.527542283 +0100
+++ /var/tmp/diff_new_pack.owOKSs/_new 2019-01-29 14:38:32.527542283 +0100
@@ -85,8 +85,8 @@
%__docdir_path %{_datadir}/doc:%{_datadir}/man:%{_datadir}/info:%{_datadir}/gtk-doc/html:%{?_docdir}:%{?_mandir}:%{?_infodir}:%{?_javadocdir}:/usr/doc:/usr/man:/usr/info:/usr/X11R6/man
+# maxnum,cuttime,minnum
-+# 2009/03/01 (SLES11 GA)
-+%_binarychangelogtrim 0,1235862000,10
++# 2014/10/13 (SLES12 GA)
++%_binarychangelogtrim 0,1413151200,10
+
#
# Path to scripts to autogenerate package dependencies,
1
0
Hello community,
here is the log from the commit of package systemtap for openSUSE:Factory checked in at 2019-01-29 14:38:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemtap (Old)
and /work/SRC/openSUSE:Factory/.systemtap.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemtap"
Tue Jan 29 14:38:20 2019 rev:102 rq:664152 version:3.3
Changes:
--------
systemtap-headers.changes: same change
--- /work/SRC/openSUSE:Factory/systemtap/systemtap.changes 2018-08-24 16:49:20.245024472 +0200
+++ /work/SRC/openSUSE:Factory/.systemtap.new.28833/systemtap.changes 2019-01-29 14:38:23.903552697 +0100
@@ -1,0 +2,7 @@
+Fri Jan 4 18:38:37 UTC 2019 - mgorse(a)suse.com
+
+- Remove glib2-devel from BuildRequires: it appears not to be used
+ and causes a build loop if glib2 is built with SDT markers
+ (bsc#1090047).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemtap-docs.spec ++++++
--- /var/tmp/diff_new_pack.rxig9d/_old 2019-01-29 14:38:24.555551910 +0100
+++ /var/tmp/diff_new_pack.rxig9d/_new 2019-01-29 14:38:24.555551910 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemtap-docs
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
systemtap-headers.spec: same change
++++++ systemtap.spec ++++++
--- /var/tmp/diff_new_pack.rxig9d/_old 2019-01-29 14:38:24.595551862 +0100
+++ /var/tmp/diff_new_pack.rxig9d/_new 2019-01-29 14:38:24.595551862 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemtap
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -34,7 +34,6 @@
Source5: stap-server.conf
Patch1: systemtap-build-source-dir.patch
BuildRequires: gcc-c++
-BuildRequires: glib2-devel
BuildRequires: libcap-devel
BuildRequires: libebl-devel
BuildRequires: mozilla-nspr-devel
1
0
Hello community,
here is the log from the commit of package bash for openSUSE:Factory checked in at 2019-01-29 14:38:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
and /work/SRC/openSUSE:Factory/.bash.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash"
Tue Jan 29 14:38:13 2019 rev:149 rq:664075 version:5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes 2018-07-17 09:36:27.530557638 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new.28833/bash.changes 2019-01-29 14:38:18.891558750 +0100
@@ -1,0 +2,166 @@
+Wed Jan 9 12:47:04 UTC 2019 - Dr. Werner Fink <werner(a)suse.de>
+
+- Update to bash 5.0 (final)
+ a. Tilde expansion isn't performed on indexed array subscripts, even for
+ backwards compatibility.
+ b. The shell doesn't exit in posix mode if the eval builtin gets a parse
+ error when run by the command builtin.
+ c. Fixed a bug that caused a shell comment in an alias to not find the end
+ of the alias properly.
+ d. Reverted a change from April, 2018 that caused strings containing
+ backslashes to be flagged as glob patterns.
+- Modify patches
+ * bash-2.03-manual.patch
+ * bash-4.3-loadables.dif
+ * bash-5.0.dif
+
+-------------------------------------------------------------------
+Fri Dec 21 13:34:47 UTC 2018 - Dr. Werner Fink <werner(a)suse.de>
+
+- Update to bash 5.0 rc1
+ a. Fix to initial word completion detection code.
+ b. Fixed a bug that caused issues with assignment statements containing ^A in
+ the value assigned when IFS contains ^A.
+ c. Added a fallback to fnmatch() when strcoll can't correctly deal with
+ bracket expression character equivalence classes.
+ d. Fixed a bug that caused $BASH_COMMAND to contain the trap handler command
+ when running a trap handler containing [[ or (( commands.
+ e. Fixed a bug that caused nameref assignments in the temporary environment
+ to potentially create variables with invalid names.
+ f. Fixed a bug that caused `local -' to turn off alias expansion in scripts.
+ g. Fixed a parser issue with a command string containing EOF after an invalid
+ command as an argument to a special builtin not causing a posix-mode shell
+ to exit.
+ h. Made a slight change to the FNV-1 string hash algorithm used for associative
+ arrays (corrected the initial seed).
+ a. The `select' command now supports command forms without a word list
+ following `in'.
+
+-------------------------------------------------------------------
+Thu Nov 29 08:22:16 UTC 2018 - Dr. Werner Fink <werner(a)suse.de>
+
+- Update to bash 5.0 beta2
+ ii. Associative and indexed arrays now allow subscripts consisting solely of
+ whitespace.
+ jj. `checkwinsize' is now enabled by default.
+ kk. The `localvar_unset' shopt option is now visible and documented.
+ ll. The `progcomp_alias' shopt option is now visible and documented.
+ mm. The signal name processing code now understands `SIGRTMIN+n' all the way
+ up to SIGRTMAX.
+ nn. There is a new `seq' loadable builtin.
+ oo. Trap execution now honors the (internal) max invocations of `eval', since
+ traps are supposed to be executed as if using `eval'.
+ pp. The $_ variable doesn't change when the shell executes a command that forks.
+ qq. The `kill' builtin now supports -sSIGNAME and -nSIGNUM, even though
+ conforming applications aren't supposed to use them.
+ rr. POSIX mode now enables the `shift_verbose' option.
+- Modify patches
+ * bash-2.03-manual.patch
+ * bash-3.0-evalexp.patch
+ * bash-3.2-printf.patch
+ * bash-4.0-security.patch
+ * bash-4.1-completion.dif
+ * bash-4.3-2.4.4.patch
+ * bash-4.3-SJIS.patch
+ * bash-4.3-extra-import-func.patch
+ * bash-4.3-sigrestart.patch
+ * bash-5.0.dif
+- Add temporary upstream patch upstream.patch
+
+-------------------------------------------------------------------
+Thu Sep 20 08:56:46 UTC 2018 - Dr. Werner Fink <werner(a)suse.de>
+
+- Update to bash 5.0 beta
+ a. The `wait' builtin can now wait for the last process substitution created.
+ b. There is an EPOCHSECONDS variable, which expands to the time in seconds
+ since the Unix epoch.
+ c. There is an EPOCHREALTIME variable, which expands to the time in seconds
+ since the Unix epoch with microsecond granularity.
+ d. New loadable builtins: rm, stat, fdflags.
+ e. BASH_ARGV0: a new variable that expands to $0 and sets $0 on assignment.
+ f. When supplied a numeric argument, the shell-expand-line bindable readline
+ command does not perform quote removal and suppresses command and process
+ substitution.
+ g. `history -d' understands negative arguments: negative arguments offset from
+ the end of the history list.
+ h. The `name' argument to the `coproc' reserved word now undergoes word
+ expansion, so unique coprocs can be created in loops.
+ i. A nameref name resolution loop in a function now resolves to a variable by
+ that name in the global scope.
+ j. The `wait' builtin now has a `-f' option, which signfies to wait until the
+ specified job or process terminates, instead of waiting until it changes
+ state.
+ k. There is a define in config-top.h that allows the shell to use a static
+ value for $PATH, overriding whatever is in the environment at startup, for
+ use by the restricted shell.
+ l. Process substitution does not inherit the `v' option, like command
+ substitution.
+ m. If a non-interactive shell with job control enabled detects that a foreground
+ job died due to SIGINT, it acts as if it received the SIGINT.
+ n. The SIGCHLD trap is run once for each exiting child process even if job
+ control is not enabled when the shell is in Posix mode.
+ o. A new shopt option: localvar_inherit; if set, a local variable inherits the
+ value of a variable with the same name at the nearest preceding scope.
+ p. `bind -r' now checks whether a key sequence is bound before binding it to
+ NULL, to avoid creating keymaps for a multi-key sequence.
+ q. A numeric argument to the line editing `operate-and-get-next' command
+ specifies which history entry to use.
+ r. The positional parameters are now assigned before running the shell startup
+ files, so startup files can use $@.
+ s. There is a compile-time option that forces the shell to disable the check
+ for an inherited OLDPWD being a directory.
+ t. The `history' builtin can now delete ranges of history entries using
+ `-d start-end'.
+ u. The `vi-edit-and-execute-command' bindable readline command now puts readline
+ back in vi insertion mode after executing commands from the edited file.
+ v. The command completion code now matches aliases and shell function names
+ case-insensitively if the readline completion-ignore-case variable is set.
+ w. There is a new `assoc_expand_once' shell option that attempts to expand
+ associative array subscripts only once.
+ x. The shell only sets up BASH_ARGV and BASH_ARGC at startup if extended
+ debugging mode is active. The old behavior of unconditionally setting them
+ is available as part of the shell compatibility options.
+ y. The `umask' builtin now allows modes and masks greater than octal 777.
+ z. The `times' builtin now honors the current locale when printing a decimal
+ point.
+ aa. There is a new (disabled by default, undocumented) shell option to enable
+ and disable sending history to syslog at runtime.
+ bb. Bash no longer allows variable assignments preceding a special builtin that
+ changes variable attributes to propagate back to the calling environment
+ unless the compatibility level is 44 or lower.
+ cc. You can set the default value for $HISTSIZE at build time in config-top.h.
+ dd. The `complete' builtin now accepts a -I option that applies the completion
+ to the initial word on the line.
+ ee. The internal bash malloc now uses mmap (if available) to satisfy requests
+ greater than 128K bytes, so free can use mfree to return the pages to the
+ kernel.
+ ff. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
+ unless it's in debugging mode, as the documentation has always said, but
+ will dynamically create them if a script references them at the top level
+ without having enabled debugging mode.
+ gg. The localvar_inherit option will not attempt to inherit a value from a
+ variable of an incompatible type (indexed vs. associative arrays, for
+ example).
+ hh. The `globasciiranges' option is now enabled by default; it can be set to
+ off by default at configuration time.
+- Modify and port patches
+ * bash-2.03-manual.patch
+ * bash-3.0-evalexp.patch
+ * bash-3.0-warn-locale.patch
+ * bash-3.2-printf.patch
+ * bash-4.0-security.patch
+ * bash-4.0-setlocale.dif
+ * bash-4.1-bash.bashrc.dif
+ * bash-4.1-completion.dif
+ * bash-4.2-nscdunmap.dif
+ * bash-4.3-2.4.4.patch
+ * bash-4.3-extra-import-func.patch
+ * bash-4.3-loadables.dif
+ * bash-4.3-sigrestart.patch
+ * bash-4.3-winch.dif
+- Port and rename bash-4.4.dif which is now bash-5.0.dif
+- Delete not used patch bash-4.2-endpw.dif
+- Remove patch bash-memmove.patch now upstream
+- Add patch bash-4.3-SJIS.patch which is disabled by default
+
+-------------------------------------------------------------------
Old:
----
bash-4.2-endpw.dif
bash-4.4-patches.tar.bz2
bash-4.4.dif
bash-4.4.tar.gz
bash-memmove.patch
New:
----
bash-4.3-SJIS.patch
bash-5.0-patches.tar.bz2
bash-5.0.dif
bash-5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bash.spec ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.739557726 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.743557721 +0100
@@ -1,7 +1,7 @@
#
# spec file for package bash
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,6 +17,7 @@
%bcond_with import_function
+%bcond_with sjis
Name: bash
BuildRequires: audit-devel
@@ -28,11 +29,11 @@
BuildRequires: patchutils
BuildRequires: pkg-config
# This has to be always the same version as included in the bash its self
-BuildRequires: readline-devel == 7.0
+BuildRequires: readline-devel == 8.0
BuildRequires: screen
BuildRequires: sed
%define bextend %nil
-Version: 4.4
+Version: 5.0
Release: 0
Summary: The GNU Bourne-Again Shell
License: GPL-3.0-or-later
@@ -63,8 +64,6 @@
Patch3: bash-4.3-2.4.4.patch
Patch4: bash-3.0-evalexp.patch
Patch5: bash-3.0-warn-locale.patch
-# Disabled
-Patch6: bash-4.2-endpw.dif
Patch7: bash-4.3-decl.patch
Patch9: bash-4.3-include-unistd.dif
Patch10: bash-3.2-printf.patch
@@ -77,13 +76,14 @@
# PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients
Patch18: bash-4.3-winch.dif
Patch40: bash-4.1-bash.bashrc.dif
+# PATCH-FIX-SUSE For bsc#1065158 add support for broken Japanese locale Shift JIS
+Patch42: bash-4.3-SJIS.patch
Patch46: man2html-no-timestamp.patch
Patch47: bash-4.3-perl522.patch
# PATCH-FIX-SUSE
Patch48: bash-4.3-extra-import-func.patch
# PATCH-EXTEND-SUSE Allow root to clean file system if filled up
Patch49: bash-4.3-pathtemp.patch
-Patch50: bash-memmove.patch
%global _sysconfdir /etc
%global _incdir %{_includedir}
%global _ldldir /%{_lib}/bash
@@ -188,6 +188,11 @@
%prep
+%if %{with sjis}
+echo -e '\033[1m\033[31mWarning: Shift JIS support is enabled\033[m'
+%else
+echo -e '\033[1m\032[31mShift JIS support disabled\033[m'
+%endif
%setup -q -n bash-%{version}%{bextend} -b1
typeset -i level
for patch in ../bash-%{version}-patches/*; do
@@ -208,7 +213,6 @@
%patch3 -p0 -b .2.4.4
%patch4 -p0 -b .evalexp
%patch5 -p0 -b .warnlc
-#%patch6 -p0 -b .endpw
%patch7 -p0 -b .decl
%patch9 -p0 -b .unistd
%patch10 -p0 -b .printf
@@ -217,16 +221,19 @@
%patch13 -p0 -b .nscdunmap
%patch14 -p0 -b .sigrestart
%patch16 -p0 -b .setlocale
-%patch18 -p0 -b .winch
+#%patch18 -p0 -b .winch
%patch40 -p0 -b .bashrc
+%if %{with sjis}
+%patch42 -p0 -b .sjis
+%endif
%patch46 -p0 -b .notimestamp
%patch47 -p0 -b .perl522
%if %{with import_function}
%patch48 -b .eif
%endif
%patch49 -p0 -b .pthtmp
-%patch50 -p1 -b .mmv
%patch0 -p0 -b .0
+
# This has to be always the same version as included in the bash its self
rl1=($(sed -rn '/RL_READLINE_VERSION/p' lib/readline/readline.h))
rl2=($(sed -rn '/RL_READLINE_VERSION/p' /usr/include/readline/readline.h))
@@ -327,6 +334,7 @@
SYSMALLOC="
--without-gnu-malloc
--without-bash-malloc
+ --enable-mem-scramble
"
#
# System readline library (comment out it not to be used)
@@ -343,6 +351,7 @@
--libdir=%{_libdir} \
--with-curses \
--with-afs \
+ --with-gnu-ld \
$SYSMALLOC \
--enable-minimal-config \
--enable-arith-for-command \
@@ -360,6 +369,7 @@
--enable-job-control \
--enable-net-redirections \
--enable-process-substitution \
+ --enable-glob-asciiranges-default \
--disable-strict-posix-default \
--enable-separate-helpfiles=%{_datadir}/bash/helpfiles \
$READLINE
@@ -374,6 +384,7 @@
--docdir=%{_docdir}/%{name} \
--with-curses \
--with-afs \
+ --with-gnu-ld \
$SYSMALLOC \
--enable-job-control \
--enable-net-redirections \
@@ -386,14 +397,17 @@
--enable-prompt-string-decoding \
--enable-select \
--enable-help-builtin \
+ --enable-separate-helpfiles \
--enable-array-variables \
--enable-brace-expansion \
--enable-command-timing \
--enable-disabled-builtins \
+ --enable-glob-asciiranges-default \
--disable-strict-posix-default \
--enable-multibyte \
--enable-separate-helpfiles=%{_datadir}/bash/helpfiles \
$READLINE
+ sed -rn '/Configuration feature settings controllable by autoconf/,/End of configuration settings controllable by autoconf/p' < config.h
profilecflags=CFLAGS="$CFLAGS"
%if 0%{?do_profiling}
profilecflags=CFLAGS="$CFLAGS %cflags_profile_generate"
++++++ bash-2.03-manual.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.787557668 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.787557668 +0100
@@ -5,10 +5,10 @@
3 files changed, 18 insertions(+), 2 deletions(-)
--- doc/bash.1
-+++ doc/bash.1 2016-09-16 10:36:46.667901616 +0000
-@@ -121,6 +121,12 @@ processing, then commands are read from
- This option allows the positional parameters to be set
- when invoking an interactive shell.
++++ doc/bash.1 2018-11-29 08:09:41.735675837 +0000
+@@ -122,6 +122,12 @@ This option allows the positional parame
+ when invoking an interactive shell or when reading input
+ through a pipe.
.TP
+.B \-v
+Print shell input lines as they are read.
@@ -19,7 +19,7 @@
.B \-D
A list of all double-quoted strings preceded by \fB$\fP
is printed on the standard output.
-@@ -7038,6 +7044,11 @@ Apply the following `\fBs\fP' modifier o
+@@ -7294,6 +7300,11 @@ Apply the following `\fBs\fP' modifier o
.SH "SHELL BUILTIN COMMANDS"
.\" start of bash_builtins
.zZ
@@ -31,7 +31,7 @@
.PP
Unless otherwise noted, each builtin command documented in this
section as accepting options preceded by
-@@ -10432,6 +10443,11 @@ process or job waited for.
+@@ -10768,6 +10779,11 @@ process or job waited for.
.SH "RESTRICTED SHELL"
.\" rbash.1
.zY
@@ -44,7 +44,7 @@
If
.B bash
--- doc/builtins.1
-+++ doc/builtins.1 2016-09-16 10:36:46.667901616 +0000
++++ doc/builtins.1 2018-11-29 08:09:41.735675837 +0000
@@ -19,6 +19,6 @@ shift, shopt, source, suspend, test, tim
ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1)
.SH BASH BUILTIN COMMANDS
@@ -54,7 +54,7 @@
.SH SEE ALSO
bash(1), sh(1)
--- doc/rbash.1
-+++ doc/rbash.1 2016-09-16 10:36:46.667901616 +0000
++++ doc/rbash.1 2018-11-29 08:09:41.735675837 +0000
@@ -3,6 +3,6 @@
rbash \- restricted bash, see \fBbash\fR(1)
.SH RESTRICTED SHELL
++++++ bash-3.0-evalexp.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.795557658 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.799557653 +0100
@@ -3,8 +3,8 @@
1 file changed, 2 insertions(+), 2 deletions(-)
--- expr.c
-+++ expr.c 2004-07-30 14:39:48.000000000 +0000
-@@ -466,8 +466,8 @@ expassign ()
++++ expr.c 2018-11-29 08:10:59.542212175 +0000
+@@ -512,8 +512,8 @@ expassign ()
value = expcond ();
if (curtok == EQ || curtok == OP_ASSIGN)
{
++++++ bash-3.0-warn-locale.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.803557648 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.807557644 +0100
@@ -3,7 +3,7 @@
1 file changed, 13 insertions(+)
--- locale.c
-+++ locale.c 2004-09-03 10:56:10.000000000 +0000
++++ locale.c 2018-09-20 08:06:23.732593807 +0000
@@ -33,6 +33,10 @@
#include "bashintl.h"
#include "bashansi.h"
@@ -15,7 +15,7 @@
#include "chartypes.h"
#include <errno.h>
-@@ -76,6 +80,15 @@ void
+@@ -77,6 +81,15 @@ void
set_default_locale ()
{
#if defined (HAVE_SETLOCALE)
++++++ bash-3.2-printf.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.815557634 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.815557634 +0100
@@ -3,7 +3,7 @@
1 file changed, 10 insertions(+), 1 deletion(-)
--- builtins/printf.def
-+++ builtins/printf.def 2006-07-27 15:11:19.000000000 +0000
++++ builtins/printf.def 2018-11-29 08:11:53.901189708 +0000
@@ -54,6 +54,7 @@ error occurs.
$END
@@ -12,7 +12,7 @@
#include "../bashtypes.h"
-@@ -654,12 +655,20 @@ printf_builtin (list)
+@@ -662,12 +663,20 @@ printf_builtin (list)
case 'A':
#endif
{
++++++ bash-4.0-security.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.823557624 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.827557619 +0100
@@ -1,19 +1,19 @@
---
- variables.c | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
+ variables.c | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
--- variables.c
-+++ variables.c 2016-09-14 08:51:32.306631046 +0000
-@@ -1300,6 +1300,7 @@ static unsigned long rseed = 1;
- static int last_random_value;
- static int seeded_subshell = 0;
++++ variables.c 2018-12-21 13:24:48.757352405 +0000
+@@ -1324,6 +1324,7 @@ static int seeded_subshell = 0;
+ # define BASH_RAND_MAX 0x7fffffff /* 32 bits */
+ #endif
+#if !defined(linux)
- /* A linear congruential random number generator based on the example
- one in the ANSI C standard. This one isn't very good, but a more
- complicated one is overkill. */
-@@ -1344,6 +1345,32 @@ seedrand ()
- sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid ());
+ /* Returns a pseudo-random number between 0 and 32767. */
+ static int
+ brand ()
+@@ -1380,6 +1381,40 @@ seedrand ()
+ #endif
}
+#else
@@ -23,7 +23,7 @@
+{
+ if (rseed == 0)
+ seedrand ();
-+ return rand() & 32767;
++ return ((unsigned int)(rand() & BASH_RAND_MAX)); /* was % BASH_RAND_MAX+1 */
+}
+
+static void
@@ -37,8 +37,16 @@
+seedrand (void)
+{
+ struct timeval tv;
++#ifdef _EXTENDTHIS
++ SHELL_VAR *v;
++#endif
+ gettimeofday (&tv, NULL);
++#ifdef _EXTENDTHIS
++ v = find_variable ("BASH_VERSION");
++ sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid () ^ ((u_bits32_t)&v & 0x7fffffff));
++#else
+ srand (tv.tv_sec ^ tv.tv_usec ^ getpid ());
++#endif
+}
+#endif
+
++++++ bash-4.0-setlocale.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.835557610 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.835557610 +0100
@@ -3,8 +3,8 @@
1 file changed, 16 insertions(+), 5 deletions(-)
--- locale.c
-+++ locale.c 2008-11-25 13:41:50.000000000 +0000
-@@ -54,6 +54,7 @@ extern int dump_translatable_strings, du
++++ locale.c 2018-09-20 08:14:41.307485537 +0000
+@@ -55,6 +55,7 @@ extern int dump_translatable_strings, du
/* The current locale when the program begins */
static char *default_locale;
@@ -12,7 +12,7 @@
/* The current domain for textdomain(3). */
static char *default_domain;
-@@ -326,11 +327,21 @@ get_locale_var (var)
+@@ -339,11 +340,21 @@ get_locale_var (var)
if (locale == 0 || *locale == 0)
locale = lang;
if (locale == 0 || *locale == 0)
++++++ bash-4.1-bash.bashrc.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.843557600 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.847557596 +0100
@@ -20,8 +20,8 @@
1 file changed, 12 insertions(+), 3 deletions(-)
--- doc/bash.1
-+++ doc/bash.1 2016-08-01 13:54:54.253999110 +0000
-@@ -329,6 +329,8 @@ and executes commands from the first one
++++ doc/bash.1 2018-09-20 08:16:12.073822864 +0000
+@@ -330,6 +330,8 @@ and executes commands from the first one
The
.B \-\-noprofile
option may be used when the shell is started to inhibit this behavior.
@@ -30,7 +30,7 @@
.PP
When an interactive login shell exits,
or a non-interactive login shell executes the \fBexit\fP builtin command,
-@@ -338,13 +340,19 @@ exists.
+@@ -339,13 +341,19 @@ exists.
.PP
When an interactive shell that is not a login shell is started,
.B bash
@@ -52,7 +52,7 @@
.PP
When
.B bash
-@@ -430,7 +438,8 @@ daemon, usually \fIrshd\fP, or the secur
+@@ -431,7 +439,8 @@ daemon, usually \fIrshd\fP, or the secur
If
.B bash
determines it is being run in this fashion, it reads and executes
++++++ bash-4.1-completion.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.851557590 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.855557586 +0100
@@ -3,8 +3,8 @@
1 file changed, 7 insertions(+)
--- bashline.c
-+++ bashline.c 2016-09-14 08:54:09.315700369 +0000
-@@ -2029,6 +2029,13 @@ globword:
++++ bashline.c 2018-11-29 08:12:25.876588305 +0000
+@@ -2045,6 +2045,13 @@ globword:
return ((char *)NULL);
}
++++++ bash-4.2-nscdunmap.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.879557557 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.879557557 +0100
@@ -3,7 +3,7 @@
1 file changed, 24 insertions(+)
--- shell.c
-+++ shell.c 2016-09-14 08:54:32.971258862 +0000
++++ shell.c 2018-09-20 08:08:34.242204532 +0000
@@ -43,6 +43,7 @@
#endif
@@ -12,7 +12,7 @@
# include <unistd.h>
#endif
-@@ -1751,6 +1752,28 @@ init_interactive_script ()
+@@ -1800,6 +1801,28 @@ init_interactive_script ()
#endif
}
@@ -41,7 +41,7 @@
void
get_current_user_info ()
{
-@@ -1782,6 +1805,7 @@ get_current_user_info ()
+@@ -1831,6 +1854,7 @@ get_current_user_info ()
#if defined (HAVE_GETPWENT)
endpwent ();
#endif
++++++ bash-4.3-2.4.4.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.891557542 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.895557537 +0100
@@ -8,8 +8,8 @@
6 files changed, 17 insertions(+), 7 deletions(-)
--- array.c
-+++ array.c 2017-01-27 17:45:42.364066849 +0000
-@@ -946,7 +946,7 @@ char *s, *sep;
++++ array.c 2018-11-29 08:10:37.098634355 +0000
+@@ -965,7 +965,7 @@ char *s, *sep;
* To make a running version, compile -DTEST_ARRAY and link with:
* xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a
*/
@@ -19,7 +19,7 @@
int
signal_is_trapped(s)
--- examples/loadables/tee.c
-+++ examples/loadables/tee.c 2017-01-27 17:45:42.364066849 +0000
++++ examples/loadables/tee.c 2018-11-29 08:10:37.098634355 +0000
@@ -35,6 +35,7 @@
#include "bashansi.h"
@@ -38,8 +38,8 @@
extern char *strerror ();
--- hashlib.c
-+++ hashlib.c 2017-01-27 17:45:42.364066849 +0000
-@@ -382,7 +382,7 @@ hash_pstats (table, name)
++++ hashlib.c 2018-11-29 08:10:37.098634355 +0000
+@@ -391,7 +391,7 @@ hash_pstats (table, name)
HASH_TABLE *table, *ntable;
@@ -49,10 +49,10 @@
int
signal_is_trapped (s)
--- jobs.c
-+++ jobs.c 2017-01-27 17:45:42.364066849 +0000
-@@ -1962,6 +1962,15 @@ make_child (command, async_p)
- pid_t mypid;
-
++++ jobs.c 2018-11-29 08:10:37.102634281 +0000
+@@ -1999,6 +1999,15 @@ make_child (command, async_p)
+ child process, go back and change callers who free `command' in
+ the child process when this returns. */
mypid = getpid ();
+
+ if (interrupt_state)
@@ -67,8 +67,8 @@
/* Close default_buffered_input if it's > 0. We don't close it if it's
0 because that's the file descriptor used when redirecting input,
--- sig.c
-+++ sig.c 2017-01-27 17:45:42.364066849 +0000
-@@ -98,10 +98,10 @@ sigset_t top_level_mask;
++++ sig.c 2018-11-29 08:10:37.102634281 +0000
+@@ -83,10 +83,10 @@ sigset_t top_level_mask;
#endif /* JOB_CONTROL */
/* When non-zero, we throw_to_top_level (). */
@@ -82,7 +82,7 @@
#if defined (SIGWINCH)
static SigHandler *old_winch = (SigHandler *)SIG_DFL;
--- sig.h
-+++ sig.h 2017-01-27 17:45:42.364066849 +0000
++++ sig.h 2018-11-29 08:10:37.102634281 +0000
@@ -109,8 +109,8 @@ do { \
extern volatile sig_atomic_t sigwinch_received;
extern volatile sig_atomic_t sigterm_received;
++++++ bash-4.3-SJIS.patch ++++++
---
bashintl.h | 3 +++
builtins/printf.def | 21 +++++++++++++++++++++
builtins/read.def | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
lib/sh/strtrans.c | 21 +++++++++++++++++++++
locale.c | 26 ++++++++++++++++++++++++++
parse.y | 42 +++++++++++++++++++++++++++++++++++++++++-
6 files changed, 163 insertions(+), 2 deletions(-)
--- bashintl.h
+++ bashintl.h 2018-11-29 08:14:56.165762022 +0000
@@ -43,6 +43,9 @@
# undef HAVE_SETLOCALE
#endif
+int bash_mbcs_non_utf8;
+int bash_mb_cur_max;
+
#if !defined (HAVE_SETLOCALE)
# define setlocale(cat, loc)
#endif
--- builtins/printf.def
+++ builtins/printf.def 2018-11-29 08:18:21.445909015 +0000
@@ -247,6 +247,8 @@ printf_builtin (list)
#if defined (HANDLE_MULTIBYTE)
char mbch[25]; /* 25 > MB_LEN_MAX, plus can handle 4-byte UTF-8 and large Unicode characters*/
int mbind, mblen;
+ size_t charlen;
+ mbstate_t mbs;
#endif
#if defined (ARRAY_VARS)
int arrayflags;
@@ -334,6 +336,25 @@ printf_builtin (list)
precision = fieldwidth = 0;
have_fieldwidth = have_precision = 0;
+#if defined (HANDLE_MULTIBYTE)
+ if (bash_mbcs_non_utf8)
+ {
+ memset (&mbs, 0, sizeof (mbs));
+ charlen = mbrlen (fmt, bash_mb_cur_max, &mbs);
+ if (charlen > 1 && charlen != (size_t)-2 && charlen != (size_t)-1)
+ {
+ while (charlen > 0)
+ {
+ PC (*fmt);
+ fmt++;
+ charlen--;
+ }
+ fmt--;
+ continue;
+ }
+ }
+#endif
+
if (*fmt == '\\')
{
fmt++;
--- builtins/read.def
+++ builtins/read.def 2018-11-29 08:14:56.165762022 +0000
@@ -188,6 +188,12 @@ read_builtin (list)
char c;
char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
char *e, *t, *t1, *ps2, *tofree;
+#if defined (HANDLE_MULTIBYTE)
+ static char mbch[25];
+ size_t charlen;
+ int mblen;
+ mbstate_t mbs;
+#endif
struct stat tsb;
SHELL_VAR *var;
TTYSTRUCT ttattrs, ttset;
@@ -548,6 +554,7 @@ read_builtin (list)
#endif
ps2 = 0;
+ charlen = 0;
for (print_ps2 = eof = retval = 0;;)
{
CHECK_ALRM;
@@ -589,14 +596,40 @@ read_builtin (list)
reading = 1;
CHECK_ALRM;
+#if defined (HANDLE_MULTIBYTE)
+ charlen = 0;
+ mblen = 0;
+ if (bash_mbcs_non_utf8)
+ {
+ do
+ {
+ if (unbuffered_read)
+ retval = posixly_correct ? zreadintr (fd, &c, 1) : zread (fd, &c, 1);
+ else
+ retval = posixly_correct ? zreadcintr (fd, &c) : zreadc (fd, &c);
+
+ if (retval <= 0)
+ break;
+
+ mbch[mblen++] = c;
+ memset (&mbs, 0, sizeof (mbs));
+ charlen = mbrlen (mbch, mblen, &mbs);
+ }
+ while (charlen == (size_t)-2 && mblen < bash_mb_cur_max);
+ }
+ else
+ {
+#endif
if (unbuffered_read == 2)
retval = posixly_correct ? zreadintr (fd, &c, 1) : zreadn (fd, &c, nchars - nr);
else if (unbuffered_read)
retval = posixly_correct ? zreadintr (fd, &c, 1) : zread (fd, &c, 1);
else
retval = posixly_correct ? zreadcintr (fd, &c) : zreadc (fd, &c);
+#if defined (HANDLE_MULTIBYTE)
+ }
+#endif
reading = 0;
-
if (retval <= 0)
{
if (retval < 0 && errno == EINTR)
@@ -639,6 +672,11 @@ read_builtin (list)
}
}
+#if defined (HANDLE_MULTIBYTE)
+ if (bash_mbcs_non_utf8 && charlen > 1)
+ goto add_char;
+#endif
+
/* If the next character is to be accepted verbatim, a backslash
newline pair still disappears from the input. */
if (pass_next)
@@ -681,7 +719,19 @@ read_builtin (list)
}
add_char:
+#if defined (HANDLE_MULTIBYTE)
+ if (bash_mbcs_non_utf8 && charlen > 1)
+ {
+ for (mblen = 0; mblen < charlen; mblen++)
+ input_string[i++] = mbch[mblen];
+ }
+ else
+ {
+#endif
input_string[i++] = c;
+#if defined (HANDLE_MULTIBYTE)
+ }
+#endif
CHECK_ALRM;
#if defined (HANDLE_MULTIBYTE)
--- lib/sh/strtrans.c
+++ lib/sh/strtrans.c 2018-11-29 08:14:56.165762022 +0000
@@ -29,6 +29,7 @@
#include <chartypes.h>
#include "shell.h"
+#include "bashintl.h"
#include "shmbchar.h"
#include "shmbutil.h"
@@ -55,6 +56,10 @@ ansicstr (string, len, flags, sawc, rlen
int c, temp;
char *ret, *r, *s;
unsigned long v;
+#if defined (HANDLE_MULTIBYTE)
+ size_t charlen;
+ mbstate_t mbs;
+#endif
if (string == 0 || *string == '\0')
return ((char *)NULL);
@@ -69,6 +74,22 @@ ansicstr (string, len, flags, sawc, rlen
#endif
for (r = ret, s = string; s && *s; )
{
+#if defined (HANDLE_MULTIBYTE)
+ if (bash_mbcs_non_utf8)
+ {
+ memset (&mbs, 0, sizeof (mbs));
+ charlen = mbrlen (s, bash_mb_cur_max, &mbs);
+ if (charlen > 1 && charlen != (size_t)-2 && charlen != (size_t)-1)
+ {
+ while (charlen > 0)
+ {
+ *r++ = *s++;
+ charlen--;
+ }
+ continue;
+ }
+ }
+#endif
c = *s++;
if (c != '\\' || *s == '\0')
*r++ = c;
--- locale.c
+++ locale.c 2018-11-29 08:14:56.165762022 +0000
@@ -52,6 +52,7 @@ int locale_mb_cur_max; /* value of MB_CU
int locale_shiftstates;
extern int dump_translatable_strings, dump_po_strings;
+extern int bash_mb_cur_max, bash_mbcs_non_utf8;
/* The current locale when the program begins */
static char *default_locale;
@@ -76,6 +77,26 @@ static int reset_locale_vars __P((void))
static void locale_setblanks __P((void));
static int locale_isutf8 __P((char *));
+static void
+set_mbcs_values ()
+{
+ /* Enhance the performance. */
+#if defined (HANDLE_MULTIBYTE)
+ bash_mb_cur_max = MB_CUR_MAX;
+# if defined (HAVE_LANGINFO_CODESET)
+ if (strcasestr (nl_langinfo (CODESET), "JIS") != 0 && bash_mb_cur_max == 2)
+ bash_mbcs_non_utf8 = 1;
+ else
+ bash_mbcs_non_utf8 = 0;
+# else
+ bash_mbcs_non_utf8 = 0;
+# endif
+#else
+ bash_mb_cur_max = 1;
+ bash_mbcs_non_utf8 = 0;
+#endif
+}
+
/* Set the value of default_locale and make the current locale the
system default locale. This should be called very early in main(). */
void
@@ -94,6 +115,8 @@ set_default_locale ()
default_locale = setlocale (LC_ALL, "");
if (default_locale)
default_locale = savestring (default_locale);
+
+ set_mbcs_values ();
#endif /* HAVE_SETLOCALE */
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
@@ -150,6 +173,7 @@ set_default_locale_vars ()
setlocale (LC_TIME, lc_all);
# endif /* LC_TIME */
+ set_mbcs_values ();
#endif /* HAVE_SETLOCALE */
val = get_string_value ("TEXTDOMAIN");
@@ -240,6 +264,7 @@ set_locale_var (var, value)
if (lc_all == 0 || *lc_all == '\0')
{
x = setlocale (LC_CTYPE, get_locale_var ("LC_CTYPE"));
+ set_mbcs_values ();
locale_setblanks ();
locale_mb_cur_max = MB_CUR_MAX;
/* if setlocale() returns NULL, the locale is not changed */
@@ -388,6 +413,7 @@ reset_locale_vars ()
t = setlocale (LC_TIME, get_locale_var ("LC_TIME"));
# endif
+ set_mbcs_values ();
locale_setblanks ();
locale_mb_cur_max = MB_CUR_MAX;
if (x)
--- parse.y
+++ parse.y 2018-11-29 08:14:56.165762022 +0000
@@ -2005,7 +2005,12 @@ read_a_line (remove_quoted_newline)
{
static char *line_buffer = (char *)NULL;
static int buffer_size = 0;
- int indx, c, peekc, pass_next;
+ int indx, c, peekc, pass_next, chari;
+#if defined (HANDLE_MULTIBYTE)
+ size_t charlen;
+ mbstate_t mbs;
+ static char char_buffer[10];
+#endif
#if defined (READLINE)
if (no_line_editing && SHOULD_PROMPT ())
@@ -2020,7 +2025,42 @@ read_a_line (remove_quoted_newline)
/* Allow immediate exit if interrupted during input. */
QUIT;
+#if defined (HANDLE_MULTIBYTE)
+ if (!bash_mbcs_non_utf8)
+ c = yy_getc ();
+ else
+ {
+ chari = 0;
+ charlen = 0;
+ while (chari < 10)
+ {
+ char_buffer[chari++] = c = yy_getc ();
+
+ if (c == EOF)
+ break;
+
+ memset (&mbs, 0, sizeof (mbs));
+ charlen = mbrlen (char_buffer, chari, &mbs);
+
+ if ((size_t)charlen != (size_t)-2 && (size_t)charlen != (size_t)-1)
+ break;
+ }
+
+ if (charlen != 1)
+ {
+ charlen = chari;
+ for (chari = 0; chari < charlen && char_buffer[chari] != EOF; chari++)
+ {
+ RESIZE_MALLOCED_BUFFER (line_buffer, indx, 2, buffer_size, 128);
+ line_buffer[indx++] = char_buffer[chari];
+ }
+ if (chari == charlen)
+ continue;
+ }
+ }
+#else
c = yy_getc ();
+#endif
/* Ignore null bytes in input. */
if (c == 0)
++++++ bash-4.3-extra-import-func.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.907557523 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.911557518 +0100
@@ -1,21 +1,22 @@
---
builtins/shopt.def | 2 ++
doc/bash.1 | 7 +++++++
+ execute_cmd.h | 1 +
shell.c | 2 ++
- variables.c | 8 +++++++-
- 4 files changed, 18 insertions(+), 1 deletion(-)
+ variables.c | 7 ++++++-
+ 5 files changed, 18 insertions(+), 1 deletion(-)
--- builtins/shopt.def
-+++ builtins/shopt.def 2016-09-14 08:57:33.723885627 +0000
++++ builtins/shopt.def 2018-11-29 08:19:32.996571288 +0000
@@ -90,6 +90,7 @@ extern int autocd;
extern int glob_star;
extern int glob_asciirange;
extern int lastpipe_opt;
+extern int import_functions;
extern int inherit_errexit;
-
- #if defined (EXTENDED_GLOB)
-@@ -200,6 +201,7 @@ static struct {
+ extern int localvar_inherit;
+ extern int localvar_unset;
+@@ -213,6 +214,7 @@ static struct {
{ "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion },
#endif
{ "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
@@ -24,8 +25,8 @@
{ "interactive_comments", &interactive_comments, set_shellopts_after_change },
{ "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
--- doc/bash.1
-+++ doc/bash.1 2016-09-14 08:57:33.723885627 +0000
-@@ -244,6 +244,13 @@ The shell becomes restricted (see
++++ doc/bash.1 2018-11-29 08:19:33.000571213 +0000
+@@ -245,6 +245,13 @@ The shell becomes restricted (see
.B "RESTRICTED SHELL"
below).
.TP
@@ -39,9 +40,19 @@
.B \-\-verbose
Equivalent to \fB\-v\fP.
.TP
+--- execute_cmd.h
++++ execute_cmd.h 2018-11-29 08:19:33.000571213 +0000
+@@ -61,6 +61,7 @@ extern int evalnest, evalnest_max;
+ extern int sourcenest, sourcenest_max;
+ extern int stdin_redir;
+ extern int line_number_for_err_trap;
++extern int import_functions;
+
+ extern char *the_printed_command_except_trap;
+
--- shell.c
-+++ shell.c 2016-09-14 08:57:33.723885627 +0000
-@@ -238,6 +238,7 @@ int posixly_correct = 1; /* Non-zero mea
++++ shell.c 2018-11-29 08:19:33.000571213 +0000
+@@ -232,6 +232,7 @@ int posixly_correct = 1; /* Non-zero mea
#else
int posixly_correct = 0; /* Non-zero means posix.2 superset. */
#endif
@@ -49,7 +60,7 @@
/* Some long-winded argument names. These are obviously new. */
#define Int 1
-@@ -257,6 +258,7 @@ static const struct {
+@@ -251,6 +252,7 @@ static const struct {
{ "help", Int, &want_initial_help, (char **)0x0 },
{ "init-file", Charp, (int *)0x0, &bashrc_file },
{ "login", Int, &make_login_shell, (char **)0x0 },
@@ -58,16 +69,8 @@
{ "noprofile", Int, &no_profile, (char **)0x0 },
{ "norc", Int, &no_rc, (char **)0x0 },
--- variables.c
-+++ variables.c 2016-09-14 08:57:33.723885627 +0000
-@@ -115,6 +115,7 @@ extern time_t shell_start_time;
- extern int assigning_in_environment;
- extern int executing_builtin;
- extern int funcnest_max;
-+extern int import_functions;
-
- #if defined (READLINE)
- extern int no_line_editing;
-@@ -378,6 +379,11 @@ initialize_shell_variables (env, privmod
++++ variables.c 2018-11-29 08:19:33.000571213 +0000
+@@ -380,6 +380,11 @@ initialize_shell_variables (env, privmod
tname = name + BASHFUNC_PREFLEN; /* start of func name */
tname[namelen] = '\0'; /* now tname == func name */
@@ -79,7 +82,7 @@
string_length = strlen (string);
temp_string = (char *)xmalloc (namelen + string_length + 2);
-@@ -392,7 +398,7 @@ initialize_shell_variables (env, privmod
+@@ -394,7 +399,7 @@ initialize_shell_variables (env, privmod
parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
else
free (temp_string); /* parse_and_execute does this */
++++++ bash-4.3-loadables.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.919557508 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.919557508 +0100
@@ -1,15 +1,15 @@
---
- examples/loadables/finfo.c | 11 +++++------
+ examples/loadables/finfo.c | 9 ++++-----
examples/loadables/head.c | 2 --
examples/loadables/id.c | 2 --
examples/loadables/mkdir.c | 2 +-
examples/loadables/pathchk.c | 2 --
examples/loadables/print.c | 2 +-
examples/loadables/tee.c | 2 --
- 7 files changed, 7 insertions(+), 16 deletions(-)
+ 7 files changed, 6 insertions(+), 15 deletions(-)
--- examples/loadables/finfo.c
-+++ examples/loadables/finfo.c 2016-03-08 12:24:51.061423424 +0000
++++ examples/loadables/finfo.c 2018-09-20 08:07:43.739129083 +0000
@@ -102,7 +102,7 @@ int argc;
char **argv;
{
@@ -24,16 +24,15 @@
printf("%ld\n", st->st_ctime);
} else if (flags & OPT_DEV)
- printf("%d\n", st->st_dev);
-+ printf("%lu\n", (ulong)st->st_dev);
++ printf("%lu\n", (unsigned long)st->st_dev);
else if (flags & OPT_INO)
-- printf("%d\n", st->st_ino);
-+ printf("%lu\n", (ulong)st->st_ino);
+ printf("%lu\n", (unsigned long)st->st_ino);
else if (flags & OPT_FID)
-- printf("%d:%ld\n", st->st_dev, st->st_ino);
-+ printf("%lu:%lu\n", (ulong)st->st_dev, (ulong)st->st_ino);
+- printf("%d:%lu\n", st->st_dev, (unsigned long)st->st_ino);
++ printf("%lu:%lu\n", (unsigned long)st->st_dev, (unsigned long)st->st_ino);
else if (flags & OPT_NLINK)
- printf("%d\n", st->st_nlink);
-+ printf("%lu\n", (ulong)st->st_nlink);
++ printf("%lu\n", (unsigned long)st->st_nlink);
else if (flags & OPT_LNKNAM) {
#ifdef S_ISLNK
b = xmalloc(4096);
@@ -46,7 +45,7 @@
v = make_builtin_argv (list, &c);
r = finfo_main (c, v);
--- examples/loadables/head.c
-+++ examples/loadables/head.c 2016-03-08 12:24:51.061423424 +0000
++++ examples/loadables/head.c 2018-09-20 08:07:43.739129083 +0000
@@ -99,8 +99,6 @@ head_builtin (list)
WORD_LIST *l;
FILE *fp;
@@ -57,7 +56,7 @@
reset_internal_getopt ();
--- examples/loadables/id.c
-+++ examples/loadables/id.c 2016-03-08 12:24:51.061423424 +0000
++++ examples/loadables/id.c 2018-09-20 08:07:43.739129083 +0000
@@ -64,8 +64,6 @@ static int id_flags;
static uid_t ruid, euid;
static gid_t rgid, egid;
@@ -68,8 +67,8 @@
static int id_pruser ();
--- examples/loadables/mkdir.c
-+++ examples/loadables/mkdir.c 2016-03-08 12:24:51.061423424 +0000
-@@ -167,7 +167,7 @@ make_path (path, nmode, parent_mode)
++++ examples/loadables/mkdir.c 2018-09-20 08:07:43.739129083 +0000
+@@ -170,7 +170,7 @@ make_path (path, nmode, parent_mode)
while (*p == '/')
p++;
@@ -79,8 +78,8 @@
*p = '\0';
if (stat (npath, &sb) != 0)
--- examples/loadables/pathchk.c
-+++ examples/loadables/pathchk.c 2016-03-08 12:24:51.061423424 +0000
-@@ -291,10 +291,8 @@ validate_path (path, portability)
++++ examples/loadables/pathchk.c 2018-09-20 08:07:43.739129083 +0000
+@@ -292,10 +292,8 @@ validate_path (path, portability)
if (*path == '\0')
return 0;
@@ -92,7 +91,7 @@
/* Figure out the parent of the first element in PATH. */
parent = xstrdup (*path == '/' ? "/" : ".");
--- examples/loadables/print.c
-+++ examples/loadables/print.c 2016-03-08 12:24:51.061423424 +0000
++++ examples/loadables/print.c 2018-09-20 08:07:43.739129083 +0000
@@ -77,7 +77,7 @@ print_builtin (list)
{
int c, r, nflag, raw, ofd, sflag;
@@ -103,7 +102,7 @@
nflag = raw = sflag = 0;
--- examples/loadables/tee.c
-+++ examples/loadables/tee.c 2016-03-08 12:24:51.061423424 +0000
++++ examples/loadables/tee.c 2018-09-20 08:07:43.739129083 +0000
@@ -70,8 +70,6 @@ tee_builtin (list)
FLIST *fl;
char *buf, *bp;
++++++ bash-4.3-sigrestart.patch ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.935557489 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.939557485 +0100
@@ -3,14 +3,17 @@
1 file changed, 6 insertions(+)
--- sig.c
-+++ sig.c 2017-01-27 17:46:46.602829901 +0000
-@@ -739,10 +739,16 @@ set_signal_handler (sig, handler)
++++ sig.c 2018-11-29 08:13:00.103944580 +0000
+@@ -761,6 +761,8 @@ set_signal_handler (sig, handler)
if (sig == SIGCHLD)
act.sa_flags |= SA_RESTART; /* XXX */
#endif
+ if (handler == (trap_handler))
+ act.sa_flags |= SA_NODEFER; /* XXX */
- /* If we're installing a SIGTERM handler for interactive shells, we want
+ /* Let's see if we can keep SIGWINCH from interrupting interruptible system
+ calls, like open(2)/read(2)/write(2) */
+ #if defined (SIGWINCH)
+@@ -771,6 +773,10 @@ set_signal_handler (sig, handler)
it to be as close to SIG_IGN as possible. */
if (sig == SIGTERM && handler == sigterm_sighandler)
act.sa_flags |= SA_RESTART; /* XXX */
++++++ bash-4.3-winch.dif ++++++
--- /var/tmp/diff_new_pack.ekTSlC/_old 2019-01-29 14:38:19.951557470 +0100
+++ /var/tmp/diff_new_pack.ekTSlC/_new 2019-01-29 14:38:19.951557470 +0100
@@ -3,8 +3,8 @@
1 file changed, 1 insertion(+), 1 deletion(-)
--- config-top.h
-+++ config-top.h 2016-09-14 08:55:30.170191343 +0000
-@@ -130,7 +130,7 @@
++++ config-top.h 2018-09-20 08:15:45.026318359 +0000
+@@ -142,7 +142,7 @@
/* Define to 0 if you want the checkwinsize option off by default, 1 if you
want it on. */
++++++ bash-4.4-patches.tar.bz2 -> bash-5.0-patches.tar.bz2 ++++++
++++ 1829 lines of diff (skipped)
++++++ bash-4.2-endpw.dif -> bash-5.0.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.2-endpw.dif 2016-10-26 13:25:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new.28833/bash-5.0.dif 2019-01-29 14:38:18.623559074 +0100
@@ -1,176 +1,249 @@
---
- bashline.c | 1 +
- examples/loadables/finfo.c | 16 ++++++++++------
- examples/loadables/id.c | 37 +++++++++++++++++++++++++------------
- lib/tilde/shell.c | 9 +++++++++
- lib/tilde/tilde.c | 1 +
- 5 files changed, 46 insertions(+), 18 deletions(-)
+ Makefile.in | 2 +-
+ config-top.h | 16 ++++++++++------
+ doc/Makefile.in | 2 +-
+ doc/bash.1 | 7 +++++--
+ general.h | 3 +++
+ parse.y | 2 +-
+ shell.c | 6 +++++-
+ support/bashbug.sh | 2 +-
+ support/man2html.c | 1 +
+ support/rlvers.sh | 6 +++---
+ support/shobj-conf | 5 +++--
+ tests/glob.tests | 4 ++--
+ tests/run-intl | 2 +-
+ tests/run-read | 2 +-
+ 14 files changed, 38 insertions(+), 22 deletions(-)
---- bashline.c
-+++ bashline.c 2011-11-21 12:41:19.831646479 +0000
-@@ -2485,6 +2485,7 @@ bash_groupname_completion_function (text
- }
-
- value = savestring (grent->gr_name);
-+ endgrent ();
- return (value);
+--- Makefile.in
++++ Makefile.in 2018-11-29 08:14:06.638693338 +0000
+@@ -456,7 +456,7 @@ SOURCES = $(CSOURCES) $(HSOURCES) $(BUI
+ # headers in top-level source directory that get installed by install-headers
+ INSTALLED_HEADERS = shell.h bashjmp.h command.h syntax.h general.h error.h \
+ variables.h array.h assoc.h arrayfunc.h quit.h dispose_cmd.h \
+- make_cmd.h subst.h sig.h externs.h builtins.h \
++ make_cmd.h subst.h sig.h externs.h builtins.h bashline.h \
+ bashtypes.h xmalloc.h config-top.h config-bot.h \
+ bashintl.h bashansi.h bashjmp.h alias.h hashlib.h \
+ conftypes.h unwind_prot.h jobs.h siglist.h
+--- config-top.h
++++ config-top.h 2018-11-29 08:14:06.638693338 +0000
+@@ -60,10 +60,14 @@
+ due to EPIPE. */
+ /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
+
++#ifndef _PATH_DEFPATH
++# include <paths.h>
++#endif
++
+ /* The default value of the PATH variable. */
+ #ifndef DEFAULT_PATH_VALUE
+ #define DEFAULT_PATH_VALUE \
+- "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:."
++ "/usr/local/bin:" _PATH_DEFPATH ":."
+ #endif
+
+ /* If you want to unconditionally set a value for PATH in every restricted
+@@ -74,7 +78,7 @@
+ the Posix.2 confstr () function, or CS_PATH define are not present. */
+ #ifndef STANDARD_UTILS_PATH
+ #define STANDARD_UTILS_PATH \
+- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
++ _PATH_STDPATH
#endif
- }
---- examples/loadables/finfo.c
-+++ examples/loadables/finfo.c 2011-11-21 12:23:17.331147246 +0000
-@@ -290,6 +290,7 @@ struct stat *st;
- pw = getpwuid(st->st_uid);
- owner = pw ? pw->pw_name : "unknown";
- printf("Uid of owner: %d (%s)\n", (int) st->st_uid, owner);
-+ endpwent();
- gr = getgrgid(st->st_gid);
- owner = gr ? gr->gr_name : "unknown";
- printf("Gid of owner: %d (%s)\n", (int) st->st_gid, owner);
-@@ -298,6 +299,7 @@ struct stat *st;
- printf("File last access time: %s", ctime (&st->st_atime));
- printf("File last modify time: %s", ctime (&st->st_mtime));
- printf("File last status change time: %s", ctime (&st->st_ctime));
-+ endgrent();
- fflush(stdout);
- return(0);
- }
-@@ -366,16 +368,18 @@ int flags;
- else if (flags & OPT_PMASK)
- printf("%o\n", getperm(st->st_mode) & pmask);
- else if (flags & OPT_UID) {
-- pw = getpwuid(st->st_uid);
-- if (flags & OPT_ASCII)
-+ if (flags & OPT_ASCII) {
-+ pw = getpwuid(st->st_uid);
- printf("%s\n", pw ? pw->pw_name : "unknown");
-- else
-+ endpwent();
-+ } else
- printf("%d\n", st->st_uid);
- } else if (flags & OPT_GID) {
-- gr = getgrgid(st->st_gid);
-- if (flags & OPT_ASCII)
-+ if (flags & OPT_ASCII) {
-+ gr = getgrgid(st->st_gid);
- printf("%s\n", gr ? gr->gr_name : "unknown");
-- else
-+ endgrent();
-+ } else
- printf("%d\n", st->st_gid);
- } else if (flags & OPT_SIZE)
- printf("%ld\n", (long) st->st_size);
---- examples/loadables/id.c
-+++ examples/loadables/id.c 2011-11-21 12:39:06.895646231 +0000
-@@ -42,6 +42,7 @@
-
- #if !defined (HAVE_GETPW_DECLS)
- extern struct passwd *getpwuid ();
-+extern void endpwent ();
+
+ /* Default primary and secondary prompt strings. */
+@@ -91,20 +95,20 @@
+ #define DEFAULT_BASHRC "~/.bashrc"
+
+ /* System-wide .bashrc file for interactive shells. */
+-/* #define SYS_BASHRC "/etc/bash.bashrc" */
++#define SYS_BASHRC "/etc/bash.bashrc"
+
+ /* System-wide .bash_logout for login shells. */
+-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
+
+ /* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
+-/* #define NON_INTERACTIVE_LOGIN_SHELLS */
++#define NON_INTERACTIVE_LOGIN_SHELLS
+
+ /* Define this if you want bash to try to check whether it's being run by
+ sshd and source the .bashrc if so (like the rshd behavior). This checks
+ for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
+ which can be fooled under certain not-uncommon circumstances. */
+-/* #define SSH_SOURCE_BASHRC */
++#define SSH_SOURCE_BASHRC
+
+ /* Define if you want the case-capitalizing operators (~[~]) and the
+ `capcase' variable attribute (declare -c). */
+--- doc/Makefile.in
++++ doc/Makefile.in 2018-11-29 08:14:06.638693338 +0000
+@@ -154,7 +154,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
+ # $(RM) $@
+ # -${TEXI2PDF} $<
+
+-all: ps info dvi text html $(MAN2HTML)
++all: info html $(MAN2HTML)
+ nodvi: ps info text html
+ everything: all pdf
+
+--- doc/bash.1
++++ doc/bash.1 2018-11-29 08:14:06.638693338 +0000
+@@ -5443,8 +5443,8 @@ file (the \fIinputrc\fP file).
+ The name of this file is taken from the value of the
+ .SM
+ .B INPUTRC
+-variable. If that variable is unset, the default is
+-.IR ~/.inputrc .
++environment variable. If that variable is unset, readline will read both
++.IR /etc/inputrc " and " ~/.inputrc .
+ When a program which uses the readline library starts up, the
+ initialization file is read, and the key bindings and variables
+ are set.
+@@ -10922,6 +10922,9 @@ The individual login shell cleanup file,
+ .TP
+ .FN ~/.inputrc
+ Individual \fIreadline\fP initialization file
++.TP
++.FN /etc/inputrc
++System \fBreadline\fP initialization file
+ .PD
+ .SH AUTHORS
+ Brian Fox, Free Software Foundation
+--- general.h
++++ general.h 2018-11-29 08:14:06.638693338 +0000
+@@ -21,10 +21,13 @@
+ #if !defined (_GENERAL_H_)
+ #define _GENERAL_H_
+
++#include <time.h>
++#include <sys/types.h>
+ #include "stdc.h"
+
+ #include "bashtypes.h"
+ #include "chartypes.h"
++#include "bashline.h"
+
+ #if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE)
+ # if defined (HAVE_SYS_TIME_H)
+--- parse.y
++++ parse.y 2018-11-29 08:14:06.638693338 +0000
+@@ -1456,7 +1456,7 @@ input_file_descriptor ()
+
+ #if defined (READLINE)
+ char *current_readline_prompt = (char *)NULL;
+-char *current_readline_line = (char *)NULL;
++unsigned char *current_readline_line = (unsigned char *)NULL;
+ int current_readline_line_index = 0;
+
+ static int
+--- shell.c
++++ shell.c 2018-11-29 08:14:06.638693338 +0000
+@@ -45,6 +45,7 @@
+ #if defined (HAVE_UNISTD_H)
+ # include <sys/types.h>
+ # include <unistd.h>
++# include <grp.h>
#endif
- extern struct group *getgrgid ();
-@@ -136,18 +137,26 @@ static int
- inituser (uname)
- char *uname;
+ #include "bashintl.h"
+@@ -497,7 +498,7 @@ main (argc, argv, env)
+ if (dump_translatable_strings)
+ read_but_dont_execute = 1;
+
+- if (running_setuid && privileged_mode == 0)
++ if (running_setuid && privileged_mode == 0 /* && act_like_sh == 0 */)
+ disable_priv_mode ();
+
+ /* Need to get the argument to a -c option processed in the
+@@ -1294,6 +1295,9 @@ disable_priv_mode ()
{
-- struct passwd *pwd;
--
- if (uname)
- {
-+ struct passwd *pwd;
-+ int r;
-+
-+ r = 0;
- pwd = getpwnam (uname);
- if (pwd == 0)
- {
- builtin_error ("%s: no such user", uname);
-- return -1;
-+ r = -1;
- }
-- ruid = euid = pwd->pw_uid;
-- rgid = egid = pwd->pw_gid;
-+ else
-+ {
-+ ruid = euid = pwd->pw_uid;
-+ rgid = egid = pwd->pw_gid;
-+ }
-+ endpwent ();
-+ if (r < 0)
-+ return r;
- }
- else
- {
-@@ -172,11 +181,12 @@ id_pruser (uid)
- {
- pwd = getpwuid (uid);
- if (pwd == NULL)
-- r = 1;
-+ r = 1;
-+ else
-+ printf ("%s", pwd->pw_name);
-+ endpwent ();
- }
-- if (pwd)
-- printf ("%s", pwd->pw_name);
-- else
-+ if (pwd == NULL)
- printf ("%u", (unsigned) uid);
-
- return r;
-@@ -197,11 +207,12 @@ id_prgrp (gid)
- grp = getgrgid (gid);
- if (grp == NULL)
- r = 1;
-+ else
-+ printf ("%s", grp->gr_name);
-+ endgrent ();
- }
-
-- if (grp)
-- printf ("%s", grp->gr_name);
-- else
-+ if (grp == NULL)
- printf ("%u", (unsigned) gid);
-
- return r;
-@@ -307,6 +318,8 @@ id_prall (uname)
- else
- printf ("(%s)", grp->gr_name);
- }
-+ endpwent ();
-+ endgrent ();
-
- return r;
- }
---- lib/tilde/shell.c
-+++ lib/tilde/shell.c 2011-11-21 13:07:02.099146925 +0000
-@@ -45,9 +45,18 @@
- #include <pwd.h>
-
- #if !defined (HAVE_GETPW_DECLS)
-+# if defined (HAVE_GETPWUID)
- extern struct passwd *getpwuid ();
-+# endif
-+# if defined (HAVE_GETPWENT)
-+extern void endpwent ();
-+# endif
- #endif /* !HAVE_GETPW_DECLS */
-
-+#if !defined (savestring)
-+# define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x))
-+#endif /* !savestring */
-+
- char *
- get_env_value (varname)
- char *varname;
---- lib/tilde/tilde.c
-+++ lib/tilde/tilde.c 2011-11-11 13:10:07.000000000 +0000
-@@ -61,6 +61,7 @@ extern struct passwd *getpwuid PARAMS((u
- # endif
- # if defined (HAVE_GETPWNAM)
- extern struct passwd *getpwnam PARAMS((const char *));
-+extern void endpwent ();
- # endif
- #endif /* !HAVE_GETPW_DECLS */
+ int e;
++ if (!current_user.user_name)
++ get_current_user_info();
++ initgroups (current_user.user_name, current_user.gid);
+ if (setuid (current_user.uid) < 0)
+ {
+ e = errno;
+--- support/bashbug.sh
++++ support/bashbug.sh 2018-11-29 08:14:06.638693338 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh -
++#!/bin/bash -
+ #
+ # bashbug - create a bug report and mail it to the bug address
+ #
+--- support/man2html.c
++++ support/man2html.c 2018-11-29 08:14:06.638693338 +0000
+@@ -78,6 +78,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+ #include <errno.h>
++#include <unistd.h>
+
+ #define NULL_TERMINATED(n) ((n) + 1)
+
+--- support/rlvers.sh
++++ support/rlvers.sh 2018-11-29 08:14:06.638693338 +0000
+@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers
+
+ # defaults
+ CC=cc
+-RL_LIBDIR=/usr/local/lib
+-RL_INCDIR=/usr/local/include
++RL_LIBDIR=/lib
++RL_INCDIR=/usr/include
+
+-TERMCAP_LIB="-ltermcap"
++echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && TERMCAP_LIB="-ltinfo" || TERMCAP_LIB="-lncurses"
+
+ # cannot rely on the presence of getopts
+ while [ $# -gt 0 ]; do
+--- support/shobj-conf
++++ support/shobj-conf 2018-11-29 08:14:06.642693263 +0000
+@@ -126,10 +126,11 @@ sunos5*|solaris2*)
+ linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
+ SHOBJ_CFLAGS=-fPIC
+ SHOBJ_LD='${CC}'
+- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
++ SHOBJ_LDFLAGS='-shared'
+
+- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
++ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
++ echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses
+ ;;
+
+ freebsd2*)
+--- tests/glob.tests
++++ tests/glob.tests 2018-11-29 08:14:06.642693263 +0000
+@@ -15,8 +15,8 @@ ${THIS_SH} ./glob3.sub
+
+ MYDIR=$PWD # save where we are
+
+-TESTDIR=$TMPDIR/glob-test-$$
+-mkdir $TESTDIR
++TESTDIR=${TMPDIR:=/tmp}/glob-test-$$
++mkdir -p $TESTDIR
+ builtin cd $TESTDIR || { echo $0: cannot cd to $TESTDIR >&2 ; exit 1; }
+ rm -rf *
+
+--- tests/run-intl
++++ tests/run-intl 2018-11-29 08:14:06.642693263 +0000
+@@ -5,4 +5,4 @@ echo "warning: some of these tests will
+ echo "warning: locales installed on your system." >&2
+
+ ${THIS_SH} ./intl.tests > ${BASH_TSTOUT}
+-diff $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT}
++diff -w $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT}
+--- tests/run-read
++++ tests/run-read 2018-11-29 08:14:06.642693263 +0000
+@@ -1,4 +1,4 @@
+ echo "warning: please do not consider output differing only in the amount of" >&2
+ echo "warning: white space to be an error." >&2
+ ${THIS_SH} ./read.tests > ${BASH_TSTOUT} 2>&1
+-diff ${BASH_TSTOUT} read.right && rm -f ${BASH_TSTOUT}
++diff -w ${BASH_TSTOUT} read.right && rm -f ${BASH_TSTOUT}
++++++ bash-4.4.tar.gz -> bash-5.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/bash/bash-4.4.tar.gz /work/SRC/openSUSE:Factory/.bash.new.28833/bash-5.0.tar.gz differ: char 5, line 1
1
0