Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libsass for openSUSE:Factory checked in at 2024-02-22 20:55:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libsass (Old) and /work/SRC/openSUSE:Factory/.libsass.new.1706 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsass" Thu Feb 22 20:55:54 2024 rev:15 rq:1148546 version:3.6.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libsass/libsass.changes 2023-12-19 23:15:49.217506926 +0100 +++ /work/SRC/openSUSE:Factory/.libsass.new.1706/libsass.changes 2024-02-22 20:55:56.305526803 +0100 @@ -1,0 +2,9 @@ +Thu Feb 15 15:49:04 UTC 2024 - Dominique Leuenberger <[email protected]> + +- Update to version 3.6.6: + + Maintenance release to fix most urgent issues in LibSass. + + for openSUSE defacto only a version number change, as the + upstream fix mainly contains the now obsolete patch: + - libsass-CVE-2022-43357,CVE-2022-43358,CVE-2022-26592.patch + +------------------------------------------------------------------- Old: ---- libsass-3.6.5.tar.gz libsass-CVE-2022-43357,CVE-2022-43358,CVE-2022-26592.patch New: ---- libsass-3.6.6.tar.gz BETA DEBUG BEGIN: Old: upstream fix mainly contains the now obsolete patch: - libsass-CVE-2022-43357,CVE-2022-43358,CVE-2022-26592.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libsass.spec ++++++ --- /var/tmp/diff_new_pack.kGTvXr/_old 2024-02-22 20:55:56.865547214 +0100 +++ /var/tmp/diff_new_pack.kGTvXr/_new 2024-02-22 20:55:56.865547214 +0100 @@ -1,7 +1,7 @@ # # spec file for package libsass # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,9 +16,9 @@ # -%define libname libsass-3_6_5-1 +%define libname libsass-3_6_6-1 Name: libsass -Version: 3.6.5 +Version: 3.6.6 Release: 0 Summary: Compiler library for A CSS preprocessor language License: MIT @@ -27,8 +27,6 @@ Source: https://github.com/sass/libsass/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch1: libsass-am.diff Patch2: libsass-vers.diff -# PATCH-FIX-UPSTREAM -- [email protected] -- bsc#1214573, bsc#1214575, bsc#1214576, gh/sass/libsass#3184 -Patch3: libsass-CVE-2022-43357,CVE-2022-43358,CVE-2022-26592.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -57,7 +55,6 @@ %prep %setup -q %patch -P 1 -P 2 -p1 -%patch3 -p1 %build if [ ! -f VERSION ]; then ++++++ libsass-3.6.5.tar.gz -> libsass-3.6.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/Readme.md new/libsass-3.6.6/Readme.md --- old/libsass-3.6.5/Readme.md 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/Readme.md 2023-12-21 09:30:51.000000000 +0100 @@ -10,7 +10,6 @@ [](http://isitmaintained.com/project/sass/libsass "Percentage of issues still open") [](http://isitmaintained.com/project/sass/libsass "Average time to resolve an issue") [](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE "Bountysource") -[](https://libsass-slack.herokuapp.com/ "Slack communication channels") **Warning:** [LibSass is deprecated](https://sass-lang.com/blog/libsass-is-deprecated). While it will continue to receive maintenance releases indefinitely, there are no diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/contrib/libsass.spec new/libsass-3.6.6/contrib/libsass.spec --- old/libsass-3.6.5/contrib/libsass.spec 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/contrib/libsass.spec 2023-12-21 09:30:51.000000000 +0100 @@ -4,7 +4,7 @@ Summary: A C/C++ implementation of a Sass compiler License: MIT -URL: http://libsass.org +URL: https://sass-lang.com/ Source0: %{name}-%{version}.tar.gz BuildRequires: gcc-c++ >= 4.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/docs/build-on-gentoo.md new/libsass-3.6.6/docs/build-on-gentoo.md --- old/libsass-3.6.5/docs/build-on-gentoo.md 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/docs/build-on-gentoo.md 2023-12-21 09:30:51.000000000 +0100 @@ -7,7 +7,7 @@ inherit eutils git-2 autotools DESCRIPTION="A C/C++ implementation of a Sass compiler." -HOMEPAGE="http://libsass.org/" +HOMEPAGE="https://sass-lang.com/" EGIT_PROJECT='libsass' EGIT_REPO_URI="https://github.com/sass/libsass.git" LICENSE="MIT" @@ -38,7 +38,7 @@ inherit eutils git-2 autotools DESCRIPTION="Command Line Tool for LibSass." -HOMEPAGE="http://libsass.org/" +HOMEPAGE="https://sass-lang.com/" EGIT_PROJECT='sassc' EGIT_REPO_URI="https://github.com/sass/sassc.git" LICENSE="MIT" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/docs/build.md new/libsass-3.6.6/docs/build.md --- old/libsass-3.6.5/docs/build.md 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/docs/build.md 2023-12-21 09:30:51.000000000 +0100 @@ -33,6 +33,20 @@ - [Building shared system library][4] +### Building from vcpkg + +The libsass port in [vcpkg][12] is kept up to date by Microsoft team members and community contributors. You can download and install libsass using the vcpkg dependency manager: + +```bash +git clone https://github.com/Microsoft/vcpkg.git +cd vcpkg +./bootstrap-vcpkg.sh # ./bootstrap-vcpkg.bat for Windows +./vcpkg integrate install +./vcpkg install libsass +``` + +If the version is out of date, please [create an issue or pull request][12] on the vcpkg repository. + Compiling with clang instead of gcc -- @@ -95,3 +109,4 @@ [9]: implementations.md [10]: build-on-darwin.md [11]: build-with-visual-studio.md +[12]: https://github.com/Microsoft/vcpkg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/docs/dev-ast-memory.md new/libsass-3.6.6/docs/dev-ast-memory.md --- old/libsass-3.6.5/docs/dev-ast-memory.md 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/docs/dev-ast-memory.md 2023-12-21 09:30:51.000000000 +0100 @@ -200,7 +200,7 @@ ``` This will print lost memory on exit to stderr. You can also use -`setDbg(true)` on sepecific variables to emit reference counter +`setDbg(true)` on specific variables to emit reference counter increase, decrease and other events. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/res/resource.rc new/libsass-3.6.6/res/resource.rc --- old/libsass-3.6.5/res/resource.rc 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/res/resource.rc 2023-12-21 09:30:51.000000000 +0100 @@ -22,7 +22,7 @@ VALUE "FileDescription", "A C/C++ implementation of a Sass compiler" VALUE "FileVersion", "1.0.0.0" VALUE "InternalName", "libsass" - VALUE "LegalCopyright", "\251 2017 libsass.org" + VALUE "LegalCopyright", "\251 2017 sass-lang.org" VALUE "OriginalFilename", "libsass.dll" VALUE "ProductName", "LibSass Library" VALUE "ProductVersion", "1.0.0.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/ast_selectors.cpp new/libsass-3.6.6/src/ast_selectors.cpp --- old/libsass-3.6.5/src/ast_selectors.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/ast_selectors.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -868,7 +868,7 @@ for (SimpleSelectorObj simple : elements()) { if (PseudoSelector * pseudo = Cast<PseudoSelector>(simple)) { if (SelectorList* sel = Cast<SelectorList>(pseudo->selector())) { - if (parent) { + if (parent && !parent->has_real_parent_ref()) { pseudo->selector(sel->resolve_parent_refs( pstack, traces, implicit_parent)); } @@ -976,20 +976,22 @@ } /* better return sass::vector? only - is empty container anyway? */ - SelectorList* ComplexSelector::resolve_parent_refs(SelectorStack pstack, Backtraces& traces, bool implicit_parent) + SelectorList* ComplexSelector::resolve_parent_refs( + SelectorStack pstack, Backtraces& traces, bool implicit_parent) { sass::vector<sass::vector<ComplexSelectorObj>> vars; auto parent = pstack.back(); + auto hasRealParent = has_real_parent_ref(); - if (has_real_parent_ref() && !parent) { + if (hasRealParent && !parent) { throw Exception::TopLevelParent(traces, pstate()); } if (!chroots() && parent) { - if (!has_real_parent_ref() && !implicit_parent) { + if (!hasRealParent && !implicit_parent) { SelectorList* retval = SASS_MEMORY_NEW(SelectorList, pstate(), 1); retval->append(this); return retval; @@ -1020,10 +1022,10 @@ for (auto items : res) { if (items.size() > 0) { ComplexSelectorObj first = SASS_MEMORY_COPY(items[0]); - first->hasPreLineFeed(first->hasPreLineFeed() || (!has_real_parent_ref() && hasPreLineFeed())); + first->hasPreLineFeed(first->hasPreLineFeed() || (!hasRealParent && hasPreLineFeed())); // ToDo: remove once we know how to handle line feeds // ToDo: currently a mashup between ruby and dart sass - // if (has_real_parent_ref()) first->has_line_feed(false); + // if (hasRealParent) first->has_line_feed(false); // first->has_line_break(first->has_line_break() || has_line_break()); first->chroots(true); // has been resolved by now for (size_t i = 1; i < items.size(); i += 1) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/debugger.hpp new/libsass-3.6.6/src/debugger.hpp --- old/libsass-3.6.5/src/debugger.hpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/debugger.hpp 2023-12-21 09:30:51.000000000 +0100 @@ -430,6 +430,7 @@ std::cerr << " <<" << selector->ns_name() << ">>"; std::cerr << (selector->isClass() ? " [isClass]": " -"); std::cerr << (selector->isSyntacticClass() ? " [isSyntacticClass]": " -"); + std::cerr << (selector->has_real_parent_ref(nullptr) ? " [real parent]" : " -"); std::cerr << std::endl; debug_ast(selector->argument(), ind + " <= ", env); debug_ast(selector->selector(), ind + " || ", env); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/fn_miscs.cpp new/libsass-3.6.6/src/fn_miscs.cpp --- old/libsass-3.6.5/src/fn_miscs.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/fn_miscs.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -160,10 +160,14 @@ ExpressionObj cond = ARG("$condition", Expression)->perform(&expand.eval); bool is_true = !cond->is_false(); ExpressionObj res = ARG(is_true ? "$if-true" : "$if-false", Expression); - ValueObj qwe = Cast<Value>(res->perform(&expand.eval)); - // res = res->perform(&expand.eval.val_eval); - qwe->set_delayed(false); // clone? - return qwe.detach(); + ExpressionObj rv = res->perform(&expand.eval); + ValueObj value = Cast<Value>(rv); + if (value != nullptr) { + value->set_delayed(false); + return value.detach(); + } + rv->set_delayed(false); + return nullptr; } ////////////////////////// diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/inspect.cpp new/libsass-3.6.6/src/inspect.cpp --- old/libsass-3.6.5/src/inspect.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/inspect.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -463,6 +463,7 @@ { sep[0] = i % 2 ? ':' : ','; } ExpressionObj list_item = list->at(i); if (output_style() != TO_SASS) { + if (list_item == nullptr) continue; if (list_item->is_invisible()) { // this fixes an issue with "" in a list if (!Cast<String_Constant>(list_item)) { @@ -1088,7 +1089,7 @@ void Inspect::operator()(CompoundSelector* sel) { - if (sel->hasRealParent()) { + if (sel->hasRealParent() /* || sel->has_real_parent_ref() */) { append_string("&"); } for (auto& item : sel->elements()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/prelexer.cpp new/libsass-3.6.6/src/prelexer.cpp --- old/libsass-3.6.5/src/prelexer.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/prelexer.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -305,7 +305,7 @@ const char* css_whitespace(const char* src) { return one_plus< alternatives<spaces, line_comment> >(src); } - // Match optional_css_whitepace plus block_comments + // Match optional_css_whitespace plus block_comments const char* optional_css_comments(const char* src) { return zero_plus< alternatives<spaces, line_comment, block_comment> >(src); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/prelexer.hpp new/libsass-3.6.6/src/prelexer.hpp --- old/libsass-3.6.5/src/prelexer.hpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/prelexer.hpp 2023-12-21 09:30:51.000000000 +0100 @@ -189,7 +189,7 @@ // Match zero plus white-space or line_comments const char* optional_css_whitespace(const char* src); const char* css_whitespace(const char* src); - // Match optional_css_whitepace plus block_comments + // Match optional_css_whitespace plus block_comments const char* optional_css_comments(const char* src); const char* css_comments(const char* src); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/sass2scss.cpp new/libsass-3.6.6/src/sass2scss.cpp --- old/libsass-3.6.5/src/sass2scss.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/sass2scss.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -179,10 +179,10 @@ while (true) { - // try to find some meaningfull char + // try to find some meaningful char col_pos = sass.find_first_not_of(" \t\n\v\f\r", col_pos); - // there was no meaningfull char found + // there was no meaningful char found if (col_pos == std::string::npos) return false; // found a multiline comment opener @@ -467,7 +467,7 @@ // right trim input sass = rtrim(sass); - // get position of first meaningfull character in string + // get position of first meaningful character in string size_t pos_left = sass.find_first_not_of(SASS2SCSS_FIND_WHITESPACE); // special case for final run @@ -479,7 +479,7 @@ // just add complete whitespace converter.whitespace += sass + "\n"; } - // have meaningfull first char + // have meaningful first char else { @@ -683,7 +683,7 @@ // not in comment mode if (IS_PARSING(converter)) { - // has meaningfull chars + // has meaningful chars if (hasCharData(sass)) { // is probably a property @@ -698,7 +698,7 @@ // not in comment mode if (IS_PARSING(converter)) { - // had meaningfull chars + // had meaningful chars if (converter.property) { // print block opener @@ -758,14 +758,14 @@ scss += flush(sass, converter); } - // get position of last meaningfull char + // get position of last meaningful char size_t pos_right = sass.find_last_not_of(SASS2SCSS_FIND_WHITESPACE); // check for invalid result if (pos_right != std::string::npos) { - // get the last meaningfull char + // get the last meaningful char std::string close = sass.substr(pos_right, 1); // check if next line should be concatenated (list mode) @@ -773,7 +773,7 @@ converter.semicolon = IS_PARSING(converter) && close == ";"; // check if we have more than - // one meaningfull char + // one meaningful char if (pos_right > 0) { @@ -785,10 +785,10 @@ } } - // EO have meaningfull chars from end + // EO have meaningful chars from end } - // EO have meaningfull chars from start + // EO have meaningful chars from start // return scss return scss; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/src/util.cpp new/libsass-3.6.6/src/util.cpp --- old/libsass-3.6.5/src/util.cpp 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/src/util.cpp 2023-12-21 09:30:51.000000000 +0100 @@ -306,7 +306,7 @@ // if (cp == '\n') cp = 32; // use a very simple approach to convert via utf8 lib - // maybe there is a more elegant way; maybe we shoud + // maybe there is a more elegant way; maybe we should // convert the whole output from string to a stream!? // allocate memory for utf8 char and convert to utf8 unsigned char u[5] = {0,0,0,0,0}; utf8::append(cp, u); @@ -395,7 +395,7 @@ // if (cp == '\n') cp = 32; // use a very simple approach to convert via utf8 lib - // maybe there is a more elegant way; maybe we shoud + // maybe there is a more elegant way; maybe we should // convert the whole output from string to a stream!? // allocate memory for utf8 char and convert to utf8 unsigned char u[5] = {0,0,0,0,0}; utf8::append(cp, u); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsass-3.6.5/win/libsass.vcxproj new/libsass-3.6.6/win/libsass.vcxproj --- old/libsass-3.6.5/win/libsass.vcxproj 2021-05-21 02:33:02.000000000 +0200 +++ new/libsass-3.6.6/win/libsass.vcxproj 2023-12-21 09:30:51.000000000 +0100 @@ -72,6 +72,9 @@ <PropertyGroup Label="VS2019 toolset selection" Condition="'$(VisualStudioVersion)' == '16.0'"> <PlatformToolset>v142</PlatformToolset> </PropertyGroup> + <PropertyGroup Label="VS2022 toolset selection" Condition="'$(VisualStudioVersion)' == '17.0'"> + <PlatformToolset>v143</PlatformToolset> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <UseDebugLibraries>true</UseDebugLibraries> </PropertyGroup>
