commit 88d452175eff52a17db79fdebfffa1c80ace32155f2f0a13592798661b494ceb Author: Adrian Schröter Date: Fri May 3 11:27:41 2024 +0200 Sync from SUSE:SLFO:Main bzip2 revision 8f566201f41bb42f35af5e1217accdf5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..452a5ad --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,7 @@ +libbz2-1 + obsoletes "bzip2- <= " + provides "bzip2- = " + targettype x86 provides "baselibs-x86:/usr/lib/libbz2.so.1" +libbz2-devel + requires -libbz2- + requires "libbz2-1- = " diff --git a/bzip2-1.0.6.2-autoconfiscated.patch b/bzip2-1.0.6.2-autoconfiscated.patch new file mode 100644 index 0000000..cad6ba0 --- /dev/null +++ b/bzip2-1.0.6.2-autoconfiscated.patch @@ -0,0 +1,394 @@ +--- + Makefile.am | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + README.autotools | 41 ++++++++++++++++ + autogen.sh | 8 +++ + bzip2.pc.in | 11 ++++ + bzlib.h | 4 + + configure.ac | 62 ++++++++++++++++++++++++ + m4/visibility.m4 | 78 +++++++++++++++++++++++++++++++ + 7 files changed, 340 insertions(+), 1 deletion(-) + +Index: bzip2-1.0.8/Makefile.am +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/Makefile.am +@@ -0,0 +1,137 @@ ++ACLOCAL_AMFLAGS = -I m4 ++lib_LTLIBRARIES = libbz2.la ++AM_CFLAGS = $(CFLAG_VISIBILITY) ++libbz2_la_SOURCES = \ ++ blocksort.c \ ++ huffman.c \ ++ crctable.c \ ++ randtable.c \ ++ compress.c \ ++ decompress.c \ ++ bzlib.c ++ ++libbz2_la_LDFLAGS = \ ++ -version-info $(BZIP2_LT_CURRENT):$(BZIP2_LT_REVISION):$(BZIP2_LT_AGE) \ ++ -no-undefined ++ ++include_HEADERS = bzlib.h ++ ++noinst_HEADERS = bzlib_private.h ++ ++bin_PROGRAMS = bzip2 bzip2recover ++ ++bzip2_SOURCES = bzip2.c ++bzip2_LDADD = libbz2.la ++ ++bzip2recover_SOURCES = bzip2recover.c ++bzip2recover_LDADD = libbz2.la ++ ++bin_SCRIPTS = bzgrep bzmore bzdiff ++ ++man_MANS = bzip2.1 bzgrep.1 bzmore.1 bzdiff.1 ++ ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = bzip2.pc ++ ++$(pkgconfig_DATA): $(srcdir)/bzip2.pc.in config.status ++ ++install-exec-hook: ++ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform)'` $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'` ++ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform)'` $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'` ++ $(LN_S) `echo "bzmore" | sed 's,^.*/,,;$(transform)'` $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform)'` ++ $(LN_S) `echo "bzdiff" | sed 's,^.*/,,;$(transform)'` $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'` ++ ++install-data-hook: ++ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1 ++ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1 ++ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1 ++ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1 ++ echo ".so man1/`echo "bzmore" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1 ++ echo ".so man1/`echo "bzdiff" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1 ++ ++uninstall-hook: ++ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform)'` ++ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'` ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1 ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1 ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1 ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1 ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1 ++ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1 ++ ++test: bzip2 ++ @cat $(srcdir)/words1 ++ ./bzip2 -1 <$(srcdir)/sample1.ref >sample1.rb2 ++ ./bzip2 -2 <$(srcdir)/sample2.ref >sample2.rb2 ++ ./bzip2 -3 <$(srcdir)/sample3.ref >sample3.rb2 ++ ./bzip2 -d <$(srcdir)/sample1.bz2 >sample1.tst ++ ./bzip2 -d <$(srcdir)/sample2.bz2 >sample2.tst ++ ./bzip2 -ds <$(srcdir)/sample3.bz2 >sample3.tst ++ cmp $(srcdir)/sample1.bz2 sample1.rb2 ++ cmp $(srcdir)/sample2.bz2 sample2.rb2 ++ cmp $(srcdir)/sample3.bz2 sample3.rb2 ++ cmp sample1.tst $(srcdir)/sample1.ref ++ cmp sample2.tst $(srcdir)/sample2.ref ++ cmp sample3.tst $(srcdir)/sample3.ref ++ @cat $(srcdir)/words3 ++ ++manual: $(srcdir)/manual.html $(srcdir)/manual.ps $(srcdir)/manual.pdf ++ ++manual.ps: $(MANUAL_SRCS) ++ cd $(srcdir); ./xmlproc.sh -ps manual.xml ++ ++manual.pdf: $(MANUAL_SRCS) ++ cd $(srcdir); ./xmlproc.sh -pdf manual.xml ++ ++manual.html: $(MANUAL_SRCS) ++ cd $(srcdir); ./xmlproc.sh -html manual.xml ++ ++EXTRA_DIST = \ ++ $(bin_SCRIPTS) \ ++ $(man_MANS) \ ++ README.autotools \ ++ README.XML.STUFF \ ++ bz-common.xsl \ ++ bz-fo.xsl \ ++ bz-html.xsl \ ++ bzip.css \ ++ bzip2.1.preformatted \ ++ bzip2.pc.in \ ++ bzip2.txt \ ++ dlltest.c \ ++ dlltest.dsp \ ++ entities.xml \ ++ format.pl \ ++ libbz2.def \ ++ libbz2.dsp \ ++ makefile.msc \ ++ manual.html \ ++ manual.pdf \ ++ manual.ps \ ++ manual.xml \ ++ mk251.c \ ++ sample1.bz2 \ ++ sample1.ref \ ++ sample2.bz2 \ ++ sample2.ref \ ++ sample3.bz2 \ ++ sample3.ref \ ++ spewG.c \ ++ unzcrash.c \ ++ words0 \ ++ words1 \ ++ words2 \ ++ words3 \ ++ xmlproc.sh +Index: bzip2-1.0.8/README.autotools +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/README.autotools +@@ -0,0 +1,41 @@ ++bzip2 autoconfiscated ++===================== ++ ++Temporarily at http://ftp.suse.com/pub/people/sbrabec/bzip2/ expecting ++that it will become a new upstream version to prevent per-distribution ++shared library patching done by nearly each Linux vendor separately. ++ ++Autoconfiscation brings standard ./configure ; make ; make install ++installation, seamless support of DESTDIR, automatic check for supported ++CFLAGS, standard shared library support, automatic large files CFLAGS ++check and all things that are supported by automake. ++ ++It makes obsolete Makefile-libbz2_so and README.COMPILATION.PROBLEMS. ++Now configure should automatically detect correct build flags. ++ ++In case of any problem or question with autotools support feel free to ++contact me: Stanislav Brabec ++ ++Autoconfiscated version binaries are exactly equal to ++bzip2-1.0.6.tar.gz. There are only few changes. See below. ++ ++ ++New features: ++ ++Trivial link man pages for bzcat and bunzip2 added. ++ ++bzip2.pc file for pkg-config. Packages can use it for checks. ++ ++ ++Incompatible changes: ++ ++soname change. Libtool has no support for two parts soname suffix (e. g. ++libbz2.so.1.0). It must be a single number (e. g. libbz2.so.1). That is ++why soname must change. But I see not a big problem with it. Several ++distributions already use the new number instead of the non-standard ++number from Makefile-libbz2_so. ++ ++Shared library exports only public symbols. ++ ++To be super-safe, I incremented minor number of the library file, so ++both instances of the shared library can live together. +Index: bzip2-1.0.8/autogen.sh +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/autogen.sh +@@ -0,0 +1,8 @@ ++mv LICENSE COPYING ++mv CHANGES NEWS ++touch AUTHORS ++touch ChangeLog ++libtoolize --force ++aclocal ++automake --add-missing --gnu ++autoconf +Index: bzip2-1.0.8/bzip2.pc.in +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/bzip2.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++bindir=@bindir@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: bzip2 ++Description: Lossless, block-sorting data compression ++Version: @VERSION@ ++Libs: -L${libdir} -lbz2 ++Cflags: -I${includedir} +Index: bzip2-1.0.8/bzlib.h +=================================================================== +--- bzip2-1.0.8.orig/bzlib.h ++++ bzip2-1.0.8/bzlib.h +@@ -91,9 +91,11 @@ typedef + # endif + #else + # define BZ_API(func) func +-# define BZ_EXTERN extern + #endif + ++#ifndef BZ_EXTERN ++#define BZ_EXTERN extern ++#endif + + /*-- Core (low-level) library functions --*/ + +Index: bzip2-1.0.8/configure.ac +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/configure.ac +@@ -0,0 +1,62 @@ ++# -*- Autoconf -*- ++# Process this file with autoconf to produce a configure script. ++ ++AC_PREREQ([2.57]) ++AC_INIT([bzip2], [1.0.8], [Julian Seward ]) ++BZIP2_LT_CURRENT=1 ++BZIP2_LT_REVISION=6 ++BZIP2_LT_AGE=0 ++AC_CONFIG_SRCDIR([bzlib.h]) ++AC_CONFIG_MACRO_DIR([m4]) ++ ++AM_INIT_AUTOMAKE([foreign subdir-objects]) ++AM_MAINTAINER_MODE ++ ++# Checks for programs. ++AC_PROG_AWK ++AC_PROG_CC_STDC ++AC_PROG_CC_C_O ++AC_USE_SYSTEM_EXTENSIONS ++AC_PROG_INSTALL ++AC_PROG_LN_S ++AC_PROG_MAKE_SET ++LT_INIT([disable-static pic-only]) ++PKG_PROG_PKG_CONFIG ++gl_VISIBILITY ++# Checks for libraries. ++ ++# Checks for header files. ++ ++# Checks for typedefs, structures, and compiler characteristics. ++ ++# Check for system features. ++AC_SYS_LARGEFILE ++ ++AC_MSG_CHECKING([whether compiler understands -Wall]) ++save_CFLAGS="$CFLAGS" ++CFLAGS="$CFLAGS -Wall" ++AC_TRY_COMPILE([], [], [ ++ AC_MSG_RESULT([yes]) ++], [ ++ AC_MSG_RESULT([no]) ++ CFLAGS="$save_CFLAGS" ++]) ++ ++AC_MSG_CHECKING([whether compiler understands -Winline]) ++save_CFLAGS="$CFLAGS" ++CFLAGS="$CFLAGS -Winline" ++AC_TRY_COMPILE([], [], [ ++ AC_MSG_RESULT([yes]) ++], [ ++ AC_MSG_RESULT([no]) ++ CFLAGS="$save_CFLAGS" ++]) ++ ++# Checks for library functions. ++ ++# Write the output. ++AC_SUBST([BZIP2_LT_CURRENT]) ++AC_SUBST([BZIP2_LT_REVISION]) ++AC_SUBST([BZIP2_LT_AGE]) ++AC_CONFIG_FILES([Makefile bzip2.pc]) ++AC_OUTPUT +Index: bzip2-1.0.8/m4/visibility.m4 +=================================================================== +--- /dev/null ++++ bzip2-1.0.8/m4/visibility.m4 +@@ -0,0 +1,78 @@ ++# visibility.m4 serial 4 (gettext-0.18.2) ++dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++dnl From Bruno Haible. ++ ++dnl Tests whether the compiler supports the command-line option ++dnl -fvisibility=hidden and the function and variable attributes ++dnl __attribute__((__visibility__("hidden"))) and ++dnl __attribute__((__visibility__("default"))). ++dnl Does *not* test for __visibility__("protected") - which has tricky ++dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on ++dnl MacOS X. ++dnl Does *not* test for __visibility__("internal") - which has processor ++dnl dependent semantics. ++dnl Does *not* test for #pragma GCC visibility push(hidden) - which is ++dnl "really only recommended for legacy code". ++dnl Set the variable CFLAG_VISIBILITY. ++dnl Defines and sets the variable HAVE_VISIBILITY. ++ ++AC_DEFUN([gl_VISIBILITY], ++[ ++ AC_REQUIRE([AC_PROG_CC]) ++ CFLAG_VISIBILITY= ++ HAVE_VISIBILITY=0 ++ if test -n "$GCC"; then ++ dnl First, check whether -Werror can be added to the command line, or ++ dnl whether it leads to an error because of some other option that the ++ dnl user has put into $CC $CFLAGS $CPPFLAGS. ++ AC_MSG_CHECKING([whether the -Werror option is usable]) ++ AC_CACHE_VAL([gl_cv_cc_vis_werror], [ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror" ++ AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[]], [[]])], ++ [gl_cv_cc_vis_werror=yes], ++ [gl_cv_cc_vis_werror=no]) ++ CFLAGS="$gl_save_CFLAGS"]) ++ AC_MSG_RESULT([$gl_cv_cc_vis_werror]) ++ dnl Now check whether visibility declarations are supported. ++ AC_MSG_CHECKING([for simple visibility declarations]) ++ AC_CACHE_VAL([gl_cv_cc_visibility], [ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -fvisibility=hidden" ++ dnl We use the option -Werror and a function dummyfunc, because on some ++ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning ++ dnl "visibility attribute not supported in this configuration; ignored" ++ dnl at the first function definition in every compilation unit, and we ++ dnl don't want to use the option in this case. ++ if test $gl_cv_cc_vis_werror = yes; then ++ CFLAGS="$CFLAGS -Werror" ++ fi ++ AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; ++ extern __attribute__((__visibility__("default"))) int exportedvar; ++ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); ++ extern __attribute__((__visibility__("default"))) int exportedfunc (void); ++ void dummyfunc (void) {} ++ ]], ++ [[]])], ++ [gl_cv_cc_visibility=yes], ++ [gl_cv_cc_visibility=no]) ++ CFLAGS="$gl_save_CFLAGS"]) ++ AC_MSG_RESULT([$gl_cv_cc_visibility]) ++ if test $gl_cv_cc_visibility = yes; then ++ CFLAG_VISIBILITY="-fvisibility=hidden" ++ HAVE_VISIBILITY=1 ++ AC_DEFINE([BZ_EXTERN], [__attribute__((__visibility__("default")))], [To make symbol visible]) ++ fi ++ fi ++ AC_SUBST([CFLAG_VISIBILITY]) ++ AC_SUBST([HAVE_VISIBILITY]) ++ AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], ++ [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) ++]) diff --git a/bzip2-1.0.8.tar.gz b/bzip2-1.0.8.tar.gz new file mode 100644 index 0000000..1ec66cd --- /dev/null +++ b/bzip2-1.0.8.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 +size 810029 diff --git a/bzip2-ocloexec.patch b/bzip2-ocloexec.patch new file mode 100644 index 0000000..a174b72 --- /dev/null +++ b/bzip2-ocloexec.patch @@ -0,0 +1,21 @@ +Index: bzip2-1.0.7/bzlib.c +=================================================================== +--- bzip2-1.0.7.orig/bzlib.c 2019-06-27 20:15:39.000000000 +0200 ++++ bzip2-1.0.7/bzlib.c 2019-06-27 23:10:21.399272583 +0200 +@@ -1414,7 +1414,15 @@ BZFILE * bzopen_or_bzdopen + } + mode++; + } +- strcat(mode2, writing ? "w" : "r" ); ++ ++ /* open fds with O_CLOEXEC _only_ when we are the initiator ++ * aka. bzopen() but not bzdopen() */ ++ if(open_mode == 0) { ++ strcat (mode2, writing ? "we" : "re" ); ++ } else { ++ strcat(mode2, writing ? "w" : "r" ); ++ } ++ + strcat(mode2,"b"); /* binary mode */ + + if (open_mode==0) { diff --git a/bzip2-point-to-doc-pkg.patch b/bzip2-point-to-doc-pkg.patch new file mode 100644 index 0000000..33c4078 --- /dev/null +++ b/bzip2-point-to-doc-pkg.patch @@ -0,0 +1,14 @@ +Index: bzip2-1.0.7/README +=================================================================== +--- bzip2-1.0.7.orig/README 2019-06-27 20:15:39.000000000 +0200 ++++ bzip2-1.0.7/README 2019-06-27 23:10:21.387272546 +0200 +@@ -17,7 +17,8 @@ in the file LICENSE. + + Complete documentation is available in Postscript form (manual.ps), + PDF (manual.pdf) or html (manual.html). A plain-text version of the +-manual page is available as bzip2.txt. ++manual page is available as bzip2.txt. bzip2 documentation is ++available in separate bzip2-doc package. + + + HOW TO BUILD -- UNIX diff --git a/bzip2-rpmlintrc b/bzip2-rpmlintrc new file mode 100644 index 0000000..650e830 --- /dev/null +++ b/bzip2-rpmlintrc @@ -0,0 +1 @@ +addFilter("explicit-lib-dependency libbz2-1") diff --git a/bzip2.changes b/bzip2.changes new file mode 100644 index 0000000..edb1aeb --- /dev/null +++ b/bzip2.changes @@ -0,0 +1,540 @@ +------------------------------------------------------------------- +Wed Mar 8 10:04:51 UTC 2023 - Martin Pluskal + +- Build AVX2 enabled hwcaps library for x86_64-v3 + +------------------------------------------------------------------- +Mon May 2 05:05:16 UTC 2022 - Martin Liška + +- Port rpmlintrc format to rpmlint 2.x. + +------------------------------------------------------------------- +Mon Jun 7 11:28:44 UTC 2021 - Jan Engelhardt + +- Drop --with-pic (no effect with --disable-static) +- Use %autosetup (rediff bzip2-1.0.6.2-autoconfiscated.patch to p1) + +------------------------------------------------------------------- +Wed Oct 30 10:05:31 UTC 2019 - Arjen de Korte + +- Use correct version in autotools patchset + M bzip2-1.0.6.2-autoconfiscated.patch + +------------------------------------------------------------------- +Mon Jul 22 11:08:53 UTC 2019 - Kristyna Streitova + +- Update to version 1.0.8: + * Accept as many selectors as the file format allows. + This relaxes the fix for CVE-2019-12900 from 1.0.7 + so that bzip2 allows decompression of bz2 files that + use (too) many selectors again. + * Fix handling of large (> 4GB) files on Windows. + * Cleanup of bzdiff and bzgrep scripts so they don't use + any bash extensions and handle multiple archives correctly. +- remove (applied upstream) + * bzip2-1.0.6-fix-bashisms.patch + * bzip2-1.0.6-bzgrep_return_value.patch +- use a new Source url + +------------------------------------------------------------------- +Fri Jun 28 07:42:24 UTC 2019 - Martin Pluskal + +- Update bug reference +- Fix downloaded patches + +------------------------------------------------------------------- +Thu Jun 27 21:01:36 UTC 2019 - Bjørn Lie + +- Update to version 1.0.7: + * Fix undefined behavior in the macros SET_BH, CLEAR_BH, & + ISSET_BH. + * bzip2: Fix return value when combining --test,-t and -q. + * bzip2recover: Fix buffer overflow for large argv[0]. + * bzip2recover: Fix use after free issue with outFile + (CVE-2016-3189). + * Make sure nSelectors is not out of range (CVE-2019-12900 + bsc#1139083) +- Drop patches fixed upstream: + * bzip2-unsafe_strcpy.patch. + * bzip2-1.0.6-CVE-2016-3189.patch. +- Refresh patches with quilt. + +------------------------------------------------------------------- +Thu Apr 18 10:28:36 UTC 2019 - Kristýna Streitová + +- add bzip2-1.0.6-CVE-2016-3189.patch to fix a heap use after + free vulnerability that was reported in bzip2recover [bsc#985657] + [CVE-2016-3189] + +------------------------------------------------------------------- +Tue Aug 21 11:28:34 UTC 2018 - christophe@krop.fr + +- Replace the URL. The bzip.org owner changed [bsc#1104445]. +- Remove the URL from the 'Source' line. The 1.0.6 version is not + available. +- Run spec-cleaner. + +------------------------------------------------------------------- +Wed Feb 28 11:23:11 UTC 2018 - tchvatal@suse.com + +- Update autotools patchset: + D bzip2-1.0.6-autoconfiscated.patch + A bzip2-1.0.6.2-autoconfiscated.patch + +------------------------------------------------------------------- +Thu Feb 22 15:10:29 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Sat Nov 4 06:35:46 UTC 2017 - bwiedemann@suse.com + +- Fix build on Fedora and Mageia + +------------------------------------------------------------------- +Tue Oct 31 18:09:43 CET 2017 - sbrabec@suse.com + +- Update bzip2-1.0.6-autoconfiscated.patch: + * Bump version to 1.0.6. + * Fix script symlinks on platforms with EXEEXT. + +------------------------------------------------------------------- +Tue Jun 6 10:32:06 UTC 2017 - mpluskal@suse.com + +- Drop implicit pie building +- Try profiled build +- Move autoreconf to build section + +------------------------------------------------------------------- +Thu Mar 23 15:14:20 UTC 2017 - kstreitova@suse.com + +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Thu Mar 24 15:44:52 UTC 2016 - kstreitova@suse.com + +- add bzip2-1.0.6-bzgrep_return_value.patch to fix bzgrep wrapper + that always returns 0 as an exit code when grepping multiple + archives [bsc#970260] + +------------------------------------------------------------------- +Wed Jan 13 08:12:20 UTC 2016 - idonmez@suse.com + +- Remove bzip2-faster.patch, it causes a crash with libarchive and + valgrind points out uninitialized memory. See + https://github.com/libarchive/libarchive/issues/637#issuecomment-170612576 + +------------------------------------------------------------------- +Thu Jan 8 12:04:24 UTC 2015 - olaf@aepfle.de + +- Avoid noarch sub package in SLE_11 + +------------------------------------------------------------------- +Mon Dec 29 16:48:23 UTC 2014 - tchvatal@suse.com + +- Cleanup a bit. +- Remove the profiling stuff as it should not be used nowdays. + At least even factory builds without it. +- Provide libbz2.so.1.0 as other distros do, so we can run tiny + things like steam. +- Respect cflags again, borked by previous commit. + +------------------------------------------------------------------- +Fri Dec 19 11:01:43 UTC 2014 - meissner@suse.com + +- build with PIE + +------------------------------------------------------------------- +Mon Nov 03 16:19:00 UTC 2014 - Led + +- fix basisms in bzgrep and bznew +- add patches: + * bzip2-1.0.6-fix-bashisms.patch + +------------------------------------------------------------------- +Tue Sep 2 15:16:50 UTC 2014 - vcizek@suse.com + +- revert the bzip2-handle_pipe_input_with-f_option.patch because it + breaks other programs using the bzip2 library + +------------------------------------------------------------------- +Wed Aug 6 10:51:03 UTC 2014 - idonmez@suse.com + +- Implement %check + +------------------------------------------------------------------- +Tue Aug 5 10:39:56 UTC 2014 - vcizek@suse.com + +- handle pipe input with the -f option (bnc#884004) + * added bzip2-handle_pipe_input_with-f_option.patch + +------------------------------------------------------------------- +Thu Jul 31 12:39:28 UTC 2014 - dimstar@opensuse.org + +- Rename rpmlintrc to %{name}-rpmlintrc. + Follow the packaging guidelines. + +------------------------------------------------------------------- +Thu Mar 21 09:01:17 UTC 2013 - mmeister@suse.com + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Mon Jan 21 22:09:52 UTC 2013 - idonmez@suse.com + +- Add %{version} to Obsoletes/Provides + +------------------------------------------------------------------- +Mon Jan 21 19:15:09 UTC 2013 - jengelh@inai.de + +- Executing autoreconf requires autoconf +- Set RPM groups to the common ones we use for library and + "-devel" packages + +------------------------------------------------------------------- +Sun Feb 12 23:00:21 UTC 2012 - crrodriguez@opensuse.org + +- Put libraries back into %{_libdir}, /usr merge project. + +------------------------------------------------------------------- +Thu Jan 26 09:38:00 UTC 2012 - sitter@kde.org + +- Drop bzip2-maxlen20.patch as pre-2005 compatibility should not + be a concern anymore. + +------------------------------------------------------------------- +Sat Jan 7 19:26:14 UTC 2012 - crrodriguez@opensuse.org + +- bzlib: open file descriptors with O_CLOEXEC, but just like + the zlib case, only when bzopen() is used and not bzdopen() + to avoid messing up with the caller's semantics. + It is responsability of to initiator to set that flag in such case. +- Replace error prone list of exported symbols with proper use of + GCC visibility features. + +------------------------------------------------------------------- +Fri Sep 30 20:07:46 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to make the spec file more reliable + +------------------------------------------------------------------- +Sat Sep 17 21:13:00 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + +------------------------------------------------------------------- +Wed Aug 10 17:43:49 UTC 2011 - puzel@novell.com + +- package all documentation files referenced by README; also + point to bzip2-doc package (bnc#709260) + +------------------------------------------------------------------- +Tue Jul 26 11:43:49 UTC 2011 - jengelh@medozas.de + +- Update baselibs.conf to ship libbz2-devel-32bit + +------------------------------------------------------------------- +Mon Nov 29 14:33:39 UTC 2010 - cristian.rodriguez@opensuse.org + +- extend bzip2-1.0.6-autoconfiscated.patch to support + an LD version script so we export only public symbols + +------------------------------------------------------------------- +Wed Nov 3 11:43:52 UTC 2010 - puzel@novell.com + +- use new version of autoconfiscate patch (by sbrabec) + +------------------------------------------------------------------- +Thu Sep 23 09:27:21 UTC 2010 - puzel@novell.com + +- update to bzip2-1.0.6 + - fixes CVE-2010-0405 +- drop bzip2-CVE-2010-0405 (upstream) + +------------------------------------------------------------------- +Tue Sep 21 13:54:31 UTC 2010 - puzel@novell.com + +- add bzip2-CVE-2010-0405.patch (bnc#636978) +- fix copy-paste error in profile_bzip2() + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Wed Dec 16 10:53:20 CET 2009 - jengelh@medozas.de + +- package documentation as noarch + +------------------------------------------------------------------- +Sat Dec 12 18:04:29 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source + +------------------------------------------------------------------- +Tue Nov 24 16:40:35 CET 2009 - sbrabec@suse.cz + +- Package migrated to autoconf. + +------------------------------------------------------------------- +Sun Jun 7 16:40:59 CEST 2009 - crrodriguez@suse.de + +- remove static libraries see bnc#509945 for details + +------------------------------------------------------------------- +Wed Dec 10 12:34:56 CET 2008 - olh@suse.de + +- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade + (bnc#437293) + +------------------------------------------------------------------- +Thu Oct 30 12:34:56 CET 2008 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Fri Aug 1 02:51:44 CEST 2008 - jw@suse.de + +- added missing header to bznew [bnc#413261] + +------------------------------------------------------------------- +Wed May 14 08:11:07 CEST 2008 - coolo@suse.de + +- fix rename of xxbit packages + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Thu Apr 3 17:12:42 CEST 2008 - lmichnovic@suse.cz + +- update to version 1.5 + * Fixes CERT-FI 20469 as it applies to bzip2 + which obsoletes bzip2-CVE-2008-1372-CERT-FI-20469.patch +- installing scripts bzdiff, bzgrep, bzmore + and symlinks bzless, bzcmp [bnc#376464] +- addded CFLAGS in Makefile-libbz2_so (cflags.patch) +- fix unsafe strcpy in bzip2recover (unsafe_strcpy.patch) + Thanks to Red Hat. + +------------------------------------------------------------------- +Wed Mar 19 18:34:23 CET 2008 - nadvornik@suse.cz + +- fixed buffer overflows CVE-2008-1372 [bnc#372047] + +------------------------------------------------------------------- +Thu Dec 6 11:23:02 CET 2007 - lmichnovic@suse.cz + +- bznew can now repack also .tar.gz files [#342612] + The dot in suffix is explicitly checked + +------------------------------------------------------------------- +Thu Nov 8 11:04:02 CET 2007 - lmichnovic@suse.cz + +- added README, LICENSE, CHANGES files to libbz2-1 package + +------------------------------------------------------------------- +Sun Jun 3 23:05:45 CEST 2007 - schwab@suse.de + +- Fix dependency. + +------------------------------------------------------------------- +Wed May 30 11:53:18 CEST 2007 - lmichnovic@suse.cz + +- renamed lib to libbz2-1 according to Shared Library Packaging + Policy +- calling ldconfig for libbz2-1 package + +------------------------------------------------------------------- +Fri May 25 23:28:01 CEST 2007 - dmueller@suse.de + +- build with profile feedback enabled (7-15% speedup) + +------------------------------------------------------------------- +Fri Mar 30 10:14:57 CEST 2007 - rguenther@suse.de + +- Add PreReq to libbz2 from bzip2 to work around update problems + +------------------------------------------------------------------- +Fri Mar 23 16:42:26 CET 2007 - rguenther@suse.de + +- Split off doc, libbz2 and libbz2-devel packages + +------------------------------------------------------------------- +Mon Jan 15 13:50:53 CET 2007 - lmichnovic@suse.cz + +- Update to version 1.0.4 + + * Fixes some minor bugs since the last version, 1.0.3. + * Fix file permissions race problem (CAN-2005-0953). + * Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD + scan. + * 'const'/prototype cleanups in the C code. + * Change default install location to /usr/local, and handle + multiple 'make install's without error. + * Sanitise file names more carefully in bzgrep. Fixes + CAN-2005-0758 to the extent that applies to bzgrep. + * Use 'mktemp' rather than 'tempfile' in bzdiff. + * Tighten up a couple of assertions in blocksort.c following + automated analysis. + * Fix minor doc/comment bugs. + +------------------------------------------------------------------- +Mon Oct 16 12:15:05 CEST 2006 - dmueller@suse.de + +- strip .la files + +------------------------------------------------------------------- +Wed Jan 25 21:30:02 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 17 23:42:23 CET 2006 - schwab@suse.de + +- Don't strip binaries. + +------------------------------------------------------------------- +Fri Aug 12 14:18:28 CEST 2005 - mls@suse.de + +- make decompress much faster +- compile with -O3 +- go back to maxlen=20 when compressing + +------------------------------------------------------------------- +Fri Aug 5 01:04:15 CEST 2005 - ro@suse.de + +- next libdir: only package lib* + +------------------------------------------------------------------- +Fri Aug 5 00:14:47 CEST 2005 - ro@suse.de + +- do not package all of libdir (debuginfo) + +------------------------------------------------------------------- +Mon Aug 1 17:20:37 CEST 2005 - mjancar@suse.cz + +- update to 1.0.3 + +------------------------------------------------------------------- +Tue Jun 28 17:59:41 CEST 2005 - kukuk@suse.de + +- Move shared libraries to /%{_lib} + +------------------------------------------------------------------- +Thu Mar 24 14:13:05 CET 2005 - werner@suse.de + +- Add bznew, a changeed version of the gzip znew. + +------------------------------------------------------------------- +Tue Apr 20 09:12:22 CEST 2004 - mmj@suse.de + +- Fix strict aliasing + +------------------------------------------------------------------- +Sun Jan 11 10:14:36 CET 2004 - adrian@suse.de + +- add %defattr and %run_ldconfig + +------------------------------------------------------------------- +Wed Jul 23 19:52:00 CEST 2003 - tcrhak@suse.cz + +- fixed URL + +------------------------------------------------------------------- +Tue Jul 23 19:29:34 CEST 2002 - tcrhak@suse.cz + +- renamed to bzip2 + +------------------------------------------------------------------- +Tue Feb 5 19:21:21 CET 2002 - tcrhak@suse.cz + +- update to version 1.0.2 +- bziped tarball + +------------------------------------------------------------------- +Thu Mar 8 15:39:23 CET 2001 - nadvornik@suse.cz + +- re-added /usr/include/bzlib.h + +------------------------------------------------------------------- +Thu Mar 8 12:02:58 CET 2001 - bk@suse.de + +- Replaced the -malign options with -mcpu=pentiumpro + +------------------------------------------------------------------- +Tue Mar 6 22:08:52 CET 2001 - bk@suse.de + +- add version info to libbz2 link to fix the library version number +- if i386, add -malign-loops=2 -malign-jumps=2 -malign-functions=2 + +------------------------------------------------------------------- +Thu Nov 30 14:38:26 CET 2000 - aj@suse.de + +- New version, compile with LFS support. + +------------------------------------------------------------------- +Tue Oct 3 20:52:10 CEST 2000 - kukuk@suse.de + +- Set libdir for 64bit architectures + +------------------------------------------------------------------- +Mon May 22 10:55:31 CEST 2000 - nadvornik@suse.cz + +- update to 1.0.0 + +------------------------------------------------------------------- +Wed Apr 26 15:06:40 MEST 2000 - nadvornik@suse.cz + +- changed Group + +------------------------------------------------------------------- +Mon Apr 10 10:18:22 CEST 2000 - nadvornik@suse.cz + +- added URL + +------------------------------------------------------------------- +Tue Apr 4 12:05:42 CEST 2000 - nadvornik@suse.cz + +- fixed to compile + +------------------------------------------------------------------- +Mon Apr 3 18:34:38 CEST 2000 - bk@suse.de + +- added libbz2 shared library support for s390 + +------------------------------------------------------------------- +Thu Mar 2 10:19:10 MET 2000 - fehr@suse.de + +- moved man pages to /usr/share/man + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Mon Sep 13 11:20:20 MEST 1999 - fehr@suse.de + +- update to 0.9.5d + +------------------------------------------------------------------- +Thu Jul 1 16:53:06 MEST 1999 - ro@suse.de + +- update to 0.9.0c + +------------------------------------------------------------------- +Fri Sep 18 10:28:19 MEST 1998 - ro@suse.de + +- update to 0.9.0b (including libbz2 and bzlib.h) + +---------------------------------------------------------------------------- +Thu Oct 30 19:11:36 CET 1997 - fehr@suse.de + +- add bzip package to S.u.S.E. distribution + diff --git a/bzip2.spec b/bzip2.spec new file mode 100644 index 0000000..b56de61 --- /dev/null +++ b/bzip2.spec @@ -0,0 +1,146 @@ +# +# spec file for package bzip2 +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# 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/ +# + + +%define libname libbz2-1 +Name: bzip2 +Version: 1.0.8 +Release: 0 +Summary: A Program for Compressing Files +License: BSD-3-Clause +Group: Productivity/Archiving/Compression +URL: https://sourceware.org/bzip2 +Source0: https://sourceware.org/pub/bzip2/%{name}-%{version}.tar.gz +Source1: bznew.gz +Source2: bznew.1.gz +Source3: baselibs.conf +Source100: bzip2-rpmlintrc +# PATCH-FEATURE-OPENSUSE bzip2-1.0.6-autoconfiscated.patch sbrabec@suse.cz -- Convert to a standard autoconf based package. +#Patch0: ftp://ftp.suse.com/pub/people/sbrabec/bzip2/for_downstream/bzip2-1.0.6.2-autoconfiscated.patch +Patch0: bzip2-1.0.6.2-autoconfiscated.patch +Patch3: bzip2-point-to-doc-pkg.patch +Patch4: bzip2-ocloexec.patch +BuildRequires: autoconf >= 2.57 +BuildRequires: libtool +BuildRequires: pkgconfig +# The following is a kludge to get updating bzip2 to after the split work +Requires(pre): %{libname} +Provides: bzip = %{version} +Obsoletes: bzip < %{version} +%{?suse_build_hwcaps_libs} + +%description +The bzip2 program is a program for compressing files. + +%package doc +Summary: The bzip2 program and Library Documentation +Group: Documentation/Other +BuildArch: noarch + +%description doc +The bzip2 program and library documentation. + +%package -n %{libname} +Summary: The bzip2 runtime library +Group: System/Libraries + +%description -n %{libname} +The bzip2 runtime library + +%package -n libbz2-devel +Summary: The bzip2 runtime library development files +Group: Development/Libraries/C and C++ +Requires: %{libname} = %{version} +Requires: glibc-devel + +%description -n libbz2-devel +The bzip2 runtime library development files. + +%prep +%autosetup -p1 + +%build +autoreconf -fiv +%configure \ + --disable-static +%if 0%{?do_profiling} + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" test + %make_build clean + %make_build CFLAGS="%{optflags} %{cflags_profile_feedback}" +%else + %make_build CFLAGS="%{optflags}" +%endif + +%install +%make_install pkgconfigdir=%{_libdir}/pkgconfig +gzip -9 manual.ps +gzip -dc %{SOURCE1} > bznew +install -Dpm 0755 bznew %{buildroot}%{_bindir}/bznew +install -m 0644 %{SOURCE2} %{buildroot}%{_mandir}/man1 +# Steam and prolly others still use the 1.0 name, so we need to be +# compatible +# Remove this when all distros use the autotools based bzip2 release +ln -s libbz2.so.1 %{buildroot}/%{_libdir}/libbz2.so.1.0 + +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%check +%make_build test + +%files +%{_bindir}/bunzip2 +%{_bindir}/bzcat +%{_bindir}/bzcmp +%{_bindir}/bzdiff +%{_bindir}/bzegrep +%{_bindir}/bzfgrep +%{_bindir}/bzgrep +%{_bindir}/bzip2 +%{_bindir}/bzip2recover +%{_bindir}/bzless +%{_bindir}/bzmore +%{_bindir}/bznew +%{_mandir}/man1/bunzip2.1%{?ext_man} +%{_mandir}/man1/bzcat.1%{?ext_man} +%{_mandir}/man1/bzcmp.1%{?ext_man} +%{_mandir}/man1/bzdiff.1%{?ext_man} +%{_mandir}/man1/bzegrep.1%{?ext_man} +%{_mandir}/man1/bzfgrep.1%{?ext_man} +%{_mandir}/man1/bzgrep.1%{?ext_man} +%{_mandir}/man1/bzip2.1%{?ext_man} +%{_mandir}/man1/bzless.1%{?ext_man} +%{_mandir}/man1/bzmore.1%{?ext_man} +%{_mandir}/man1/bznew.1%{?ext_man} + +%files doc +%doc manual.ps.gz manual*.html bzip2.txt manual.pdf + +%files -n %{libname} +%{_libdir}/libbz2.so.* + +%files -n libbz2-devel +%license LICENSE +%doc CHANGES +%{_includedir}/bzlib.h +%{_libdir}/libbz2.so +%{_libdir}/pkgconfig/bzip2.pc + +%changelog diff --git a/bznew.1.gz b/bznew.1.gz new file mode 100644 index 0000000..ab7f9a9 --- /dev/null +++ b/bznew.1.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b5407e140ea254c62503062b552eac6c1840f6cdd469c4701974248b1f962ce +size 535 diff --git a/bznew.gz b/bznew.gz new file mode 100644 index 0000000..f13bf7f --- /dev/null +++ b/bznew.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b90b39c36f17bfabf06b03882e7330b79d11faa527af0eccf2810cc98023b304 +size 1864