From 88fc48d65dfc61b6a89018c3348b369aa450a8c0 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Fri, 25 Apr 2025 15:37:56 +0800 Subject: [PATCH] libsass: fix runtime version The version.h should be generated from version.h.in. But there is already a version.h file in source directory. When ${S} != ${B}, the version.h is generated in build directory, and the original version.h in source directory is not overwritten. However, the latter is used during the build, resulting in a missing runtime version. Remove version.h from source directory to ensure that the one in build directory is used during the build. Before the fix: $ sassc --version sassc: [NA] libsass: [NA] sass2scss: 1.1.1 sass: 3.5 After the fix: $ sassc --version sassc: 3.6.2 libsass: 3.6.6 sass2scss: 1.1.1 sass: 3.5 Signed-off-by: Yi Zhao Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- ...move-version.h-from-source-directory.patch | 87 +++++++++++++++++++ meta/recipes-support/sass/libsass_git.bb | 4 +- 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/sass/libsass/0001-Remove-version.h-from-source-directory.patch diff --git a/meta/recipes-support/sass/libsass/0001-Remove-version.h-from-source-directory.patch b/meta/recipes-support/sass/libsass/0001-Remove-version.h-from-source-directory.patch new file mode 100644 index 0000000000..d1356dc83a --- /dev/null +++ b/meta/recipes-support/sass/libsass/0001-Remove-version.h-from-source-directory.patch @@ -0,0 +1,87 @@ +From e5af3bbc9ea6e56e3d4e5cabcb5ac57b521fa6c0 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Thu, 24 Apr 2025 22:47:52 +0800 +Subject: [PATCH] Remove version.h from source directory + +The version.h should be generated from version.h.in. If the build +directory is out of the source directory, the version.h is generated in +build directory and the original version.h in source directory is not +overwritten. However, the latter is used during the build, resulting in +a missing runtime version: + +$ sassc --version +sassc: [NA] +libsass: [NA] +sass2scss: 1.1.1 +sass: 3.5 + +Remove version.h from source directory to ensure that the version.h in +build directory is used during the build. + +Also remove '--dirty' option from 'git describe' command line in +version.sh to get rid of '-dirty' suffix from version number that +was introduced with this change. + +Upstream-Status: Submitted [https://github.com/sass/libsass/pull/3196] + +Signed-off-by: Yi Zhao +--- + include/sass/version.h | 12 ------------ + src/GNUmakefile.am | 4 ++-- + version.sh | 2 +- + 3 files changed, 3 insertions(+), 15 deletions(-) + delete mode 100644 include/sass/version.h + +diff --git a/include/sass/version.h b/include/sass/version.h +deleted file mode 100644 +index 56ea016a..00000000 +--- a/include/sass/version.h ++++ /dev/null +@@ -1,12 +0,0 @@ +-#ifndef SASS_VERSION_H +-#define SASS_VERSION_H +- +-#ifndef LIBSASS_VERSION +-#define LIBSASS_VERSION "[NA]" +-#endif +- +-#ifndef LIBSASS_LANGUAGE_VERSION +-#define LIBSASS_LANGUAGE_VERSION "3.5" +-#endif +- +-#endif +diff --git a/src/GNUmakefile.am b/src/GNUmakefile.am +index 9b0e6a99..e955f0b4 100644 +--- a/src/GNUmakefile.am ++++ b/src/GNUmakefile.am +@@ -8,7 +8,7 @@ if ENABLE_COVERAGE + AM_COVLDFLAGS += -lgcov + endif + +-AM_CPPFLAGS = -I$(top_srcdir)/include ++AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include + AM_CFLAGS = $(AM_COPT) + AM_CXXFLAGS = $(AM_COPT) + AM_LDFLAGS = $(AM_COPT) $(AM_COVLDFLAGS) +@@ -45,6 +45,6 @@ sass_includedir = $(includedir)/sass + + sass_include_HEADERS = $(top_srcdir)/include/sass/base.h \ + $(top_srcdir)/include/sass/values.h \ +- $(top_srcdir)/include/sass/version.h \ ++ $(top_builddir)/include/sass/version.h \ + $(top_srcdir)/include/sass/context.h \ + $(top_srcdir)/include/sass/functions.h +diff --git a/version.sh b/version.sh +index 281de74d..7bc57230 100755 +--- a/version.sh ++++ b/version.sh +@@ -1,5 +1,5 @@ + if test "x$LIBSASS_VERSION" = "x"; then +- LIBSASS_VERSION=`git describe --abbrev=4 --dirty --always --tags 2>/dev/null` ++ LIBSASS_VERSION=`git describe --abbrev=4 --always --tags 2>/dev/null` + fi + if test "x$LIBSASS_VERSION" = "x"; then + LIBSASS_VERSION=`cat VERSION 2>/dev/null` +-- +2.34.1 + diff --git a/meta/recipes-support/sass/libsass_git.bb b/meta/recipes-support/sass/libsass_git.bb index f0824944b9..890cbf8e63 100644 --- a/meta/recipes-support/sass/libsass_git.bb +++ b/meta/recipes-support/sass/libsass_git.bb @@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d" inherit autotools -SRC_URI = "git://github.com/sass/libsass.git;branch=master;protocol=https" +SRC_URI = "git://github.com/sass/libsass.git;branch=master;protocol=https \ + file://0001-Remove-version.h-from-source-directory.patch" + SRCREV = "7037f03fabeb2b18b5efa84403f5a6d7a990f460" PV = "3.6.6" -- 2.47.3