Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package squirrel for openSUSE:Factory 
checked in at 2023-03-22 22:31:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/squirrel (Old)
 and      /work/SRC/openSUSE:Factory/.squirrel.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "squirrel"

Wed Mar 22 22:31:24 2023 rev:14 rq:1073749 version:3.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/squirrel/squirrel.changes        2023-01-14 
00:04:08.206032088 +0100
+++ /work/SRC/openSUSE:Factory/.squirrel.new.31432/squirrel.changes     
2023-03-22 22:32:10.146654261 +0100
@@ -1,0 +2,20 @@
+Mon Mar 20 13:16:19 UTC 2023 - Adam Majer <adam.ma...@suse.de>
+
+- spec file changes:
+  * drop static library because everything that needs maintenance
+    patch is then vulnerable without rebuild (see bug that was just patched)
+  * drop Group since it was wrong anyway
+  * move runtime library to its won subpackage from executable
+  * switch to cmake
+  * update sover ourselves since upstream doesn't do this and
+    seems to break ABI between versions.
+- c++11.patch: drop C++11 standard in favour of latest
+- sover.patch: patch to update sover on version updates, generated
+  from sover.patch.in during setup
+- squirrel-gcc47.patch: dropped, fixed upstream
+- squirrel-autoconfiscate.patch: dropped, obsolete
+- squirrel-rename_binary.patch: dropped, obsolete
+- squirrel-config.cmake.in: add missing file
+- squirrel.rpmlintrc: ignore EOL warnings in doc files
+
+-------------------------------------------------------------------

Old:
----
  squirrel-autoconfiscate.patch.bz2
  squirrel-gcc47.patch
  squirrel-rename_binary.patch

New:
----
  c++11.patch
  sover.patch
  sover.patch.in
  squirrel-config.cmake.in
  squirrel.rpmlintrc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ squirrel.spec ++++++
--- /var/tmp/diff_new_pack.AwX0Ot/_old  2023-03-22 22:32:10.650656797 +0100
+++ /var/tmp/diff_new_pack.AwX0Ot/_new  2023-03-22 22:32:10.654656817 +0100
@@ -16,7 +16,14 @@
 #
 
 
-%define tardir squirrel3
+### Upstream doesn't version the library and changes ABI
+### bump this version on every version update or check that it should remain
+### Re-run %%setup (quilt setup) after each update
+%define sover 1001
+
+# Disable LTO optimizations
+%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
+
 %define tarver 3_2
 Name:           squirrel
 Version:        3.2
@@ -25,13 +32,16 @@
 License:        MIT
 Group:          Development/Languages/Other
 URL:            https://squirrel-lang.org/
-Source:         
https://downloads.sourceforge.net/%{name}/%{name}_%{tarver}_stable.tar.gz
-Patch0:         squirrel-autoconfiscate.patch.bz2
-Patch3:         squirrel-rename_binary.patch
-Patch4:         squirrel-gcc47.patch
-BuildRequires:  dos2unix
+Source:         
https://downloads.sourceforge.net/squirrel/squirrel_%{tarver}_stable.tar.gz
+Source1:        squirrel-config.cmake.in
+Source10:       sover.patch.in
+Source11:       squirrel.rpmlintrc
+Patch1:         c++11.patch
+# Generated from S:10 in %%prep, so update that if patch no longer applies
+Patch10:        sover.patch
+BuildRequires:  cmake
 BuildRequires:  gcc-c++
-BuildRequires:  libtool
+BuildRequires:  sed
 
 %description
 Squirrel is a programming language featuring higher-order functions,
@@ -39,28 +49,23 @@
 cooperative threads, exception handling, reference counting, garbage
 collection on demand, and a C-like syntax.
 
+%package        -n libsquirrel%{sover}
+Summary:        Development files for %{name}
+
+%description -n libsquirrel%{sover}
+This package contains runtime library for Squirrel
+
 %package        devel
 Summary:        Development files for %{name}
-Group:          Development/Languages/C and C++
-Requires:       %{name} = %{version}
+Requires:       libsquirrel%{sover} = %{version}
 
 %description devel
 This package contains everything to embed the Squirrel engine in
 your own application.
 
-%package        devel-static
-Summary:        Static squirrel libraries
-Group:          Development/Languages/C and C++
-Requires:       %{name} = %{version}
-
-%description devel-static
-This package contains the static versions of the engine and
-standard lbrary.
-
 %package        doc
 Summary:        Documentation for %{name}
-Group:          Development/Languages/Other
-Requires:       %{name} = %{version}
+Supplements:    %{name} = %{version}
 BuildArch:      noarch
 
 %description doc
@@ -68,61 +73,60 @@
 
 %package        examples
 Summary:        Example scripts for %{name}
-Group:          Development/Languages/Other
-Requires:       %{name} = %{version}
+Suggests:       %{name} = %{version}
 BuildArch:      noarch
 
 %description examples
 Example scripts to show squirrel usage.
 
 %prep
-%setup -q -n %{tardir}
-dos2unix -q $(find . -type f)
-%patch0
-%patch3
-%patch4 -p1
-find . -type f -exec chmod -x {} +
-chmod +x configure config.guess config.sub depcomp install-sh ltmain.sh missing
-autoreconf -fi
+%setup -q -n squirrel3
+sed -e 's,1000,%{sover},g' < %{_sourcedir}/sover.patch.in > 
%{_sourcedir}/sover.patch
+%patch1 -p1
+%patch10 -p1
+cp %SOURCE1 .
 
 %build
-%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
-export CXXFLAGS="%{optflags} -std=gnu++0x"
-export CFLAGS="%{optflags}"
-%configure --enable-static
+%cmake \
+    -DDISABLE_STATIC=1 \
+    -DLONG_OUTPUT_NAMES=1
 make %{?_smp_mflags}
 
 %install
-%make_install
-install -d %{buildroot}/%{_defaultdocdir}/%{name}
-install -m 644 README HISTORY COPYRIGHT %{buildroot}/%{_defaultdocdir}/%{name}
-rm -fv %{buildroot}/%{_libdir}/*.la
+%cmake_install
+# compat link for older distros
+%if %suse_version < 1599
+ln -s /usr/bin/squirrel3 %{buildroot}%{_bindir}/sqrl
+%endif
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post -n libsquirrel%{sover} -p /sbin/ldconfig
+%postun -n libsquirrel%{sover} -p /sbin/ldconfig
 
 %files
-%dir %{_defaultdocdir}/%{name}
-%doc %{_defaultdocdir}/%{name}/README
-%doc %{_defaultdocdir}/%{name}/HISTORY
-%doc %{_defaultdocdir}/%{name}/COPYRIGHT
+%{_bindir}/squirrel3
+%if %suse_version < 1599
 %{_bindir}/sqrl
-%{_libdir}/*.so.*
+%endif
+
+%files -n libsquirrel%{sover}
+%license COPYRIGHT
+%{_libdir}/*.so.%{sover}
+%{_libdir}/*.so.%{sover}.*
 
 %files devel
-%{_includedir}/*
+%dir %{_libdir}/cmake
+%dir %{_libdir}/cmake/squirrel
+%{_includedir}/sq*.h
 %{_libdir}/*.so
-
-%files devel-static
-%{_libdir}/*.a
+%{_libdir}/cmake/squirrel/*
 
 %files doc
-%exclude %{_defaultdocdir}/%{name}/README
-%exclude %{_defaultdocdir}/%{name}/HISTORY
-%exclude %{_defaultdocdir}/%{name}/COPYRIGHT
-%{_defaultdocdir}/%{name}/*
+%license COPYRIGHT
+%doc README HISTORY
+%doc doc/*
 
 %files examples
-%{_datadir}/%{name}
+%license COPYRIGHT
+%doc samples/*
 
 %changelog

++++++ c++11.patch ++++++
Index: squirrel3/CMakeLists.txt
===================================================================
--- squirrel3.orig/CMakeLists.txt
+++ squirrel3/CMakeLists.txt
@@ -13,7 +13,6 @@ include(GNUInstallDirs)
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 
"${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY 
"${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY 
"${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
-set(CMAKE_CXX_STANDARD 11)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
   add_compile_options(

++++++ sover.patch ++++++
Index: squirrel3/CMakeLists.txt
===================================================================
--- squirrel3.orig/CMakeLists.txt
+++ squirrel3/CMakeLists.txt
@@ -51,7 +50,7 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 endif()
 
 if(NOT DISABLE_DYNAMIC)
-  set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 0 VERSION 0.0.0)
+  set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 1001 VERSION 
1001.1001.1001)
 endif()
 
 if(NOT SQ_DISABLE_INSTALLER AND NOT SQ_DISABLE_HEADER_INSTALLER)

++++++ sover.patch.in ++++++
Index: squirrel3/CMakeLists.txt
===================================================================
--- squirrel3.orig/CMakeLists.txt
+++ squirrel3/CMakeLists.txt
@@ -51,7 +50,7 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 endif()
 
 if(NOT DISABLE_DYNAMIC)
-  set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 0 VERSION 0.0.0)
+  set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 1000 VERSION 
1000.1000.1000)
 endif()
 
 if(NOT SQ_DISABLE_INSTALLER AND NOT SQ_DISABLE_HEADER_INSTALLER)

++++++ squirrel-config.cmake.in ++++++
@PACKAGE_INIT@

include("${CMAKE_CURRENT_LIST_DIR}/squirrel-config-version.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/squirrel-targets.cmake")

++++++ squirrel.rpmlintrc ++++++
addFilter("(squirrel-examples.noarch|squirrel-doc.noarch): .* 
wrong-file-end-of-line-encoding")

Reply via email to