control: clone -1 -2
control: severity -2 important
control: reassign -1 cod-tools
control: retitle -1 cod-tools: FTBFS on riscv64, with disorderfs or with make 
--shuffle
control: notforwarded -1
control: tag -1 -fixed-upstream


Hi,

On 2024-09-29 16:49, Santiago Vila wrote:
> Well, just to clarify. I said:
> 
> > Since make 4.4.1 includes the above commit (at least that's what the NEWS 
> > file says),
> > I still think there is *also* a Makefile bug somewhere, unless I'm missing 
> > anything.
>
Indeed you are correct. The problem is the mixed usage of relative vs
absolute path. The rule to build src/components/codcif/cif_list_tags is
define with an absolute path (relative to ${TOP}), while the rule used
to define how to build the manpage uses relative path.

There are two ways to fix that.

1) Defining the rule with an absolute path:

--- cod-tools-3.10.0+dfsg.orig/Makelocal-manpages
+++ cod-tools-3.10.0+dfsg/Makelocal-manpages
@@ -19,7 +19,7 @@ all: man
 ${MAN_DIR}/%.1: scripts/%
        -tools/help2man $< --bugs-email ${BUGS_EMAIL} > $@
 
-${MAN_DIR}/%.1: src/components/codcif/%
+${MAN_DIR}/%.1: ${TOP}/src/components/codcif/%
        -$< --help | tools/help2man --stdin --name $* --bugs-email 
${BUGS_EMAIL} > $@
 
 clean-man:


2) Defining all rules using relative path:

--- cod-tools-3.10.0+dfsg.orig/Makeconf
+++ cod-tools-3.10.0+dfsg/Makeconf
@@ -10,10 +10,10 @@ PKG_NAME = cod-tools
 CWD := ${shell pwd}
 TOP := ${CWD}
 
-LOCAL_PERL_LIB   = ${TOP}/src/lib/perl5
-LOCAL_PYTHON_LIB = ${TOP}/src/components/pycodcif
+LOCAL_PERL_LIB   = src/lib/perl5
+LOCAL_PYTHON_LIB = src/components/pycodcif
 
-PERL_SOURCE_TOP    = ${TOP}/src/lib/perl5
+PERL_SOURCE_TOP    = src/lib/perl5
 PERL_SOURCE_DIRS   = ${PERL_SOURCE_TOP}/COD
 PYTHON_SOURCE_DIRS = ${LOCAL_PYTHON_LIB}
 
@@ -26,9 +26,9 @@ PERL_SWIG_MODULE_DIRS   := ${PERL_SOURCE
                            ${PERL_SOURCE_DIRS}/SPGLib
 PYTHON_SWIG_MODULE_DIRS := ${PYTHON_SOURCE_DIRS}
 
-C_PARSER_LIB_DIR = ${TOP}/src/components/codcif
-LOCAL_LIB_FILES  = ${TOP}/src/externals/cexceptions/lib/libcexceptions.a \
-                   ${TOP}/src/externals/getoptions/lib/libgetoptions.a \
+C_PARSER_LIB_DIR = src/components/codcif
+LOCAL_LIB_FILES  = src/externals/cexceptions/lib/libcexceptions.a \
+                   src/externals/getoptions/lib/libgetoptions.a \
                    ${C_PARSER_LIB_DIR}/lib/libcodcif.a
 
 # C programs used in testing: cifparse, cifvalues, cif_list_tags


3) Defining VPATH to support mixed relative/absolute paths

--- cod-tools-3.10.0+dfsg.orig/makefiles/Makefile-perl-multiscript-tests
+++ cod-tools-3.10.0+dfsg/makefiles/Makefile-perl-multiscript-tests
@@ -14,6 +14,7 @@ endif
 CWD ?= ${shell pwd}
 TOP ?= ${CWD}
 
+VPATH := ${TOP}
 PATH := ${TOP}/scripts:${TOP}/src/components/codcif:${PATH}
 export PATH


> (So, I would have used clone instead of reassign).
> 

Ok, I have just cloned it and reassigned the original bug back (I hope).

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurel...@aurel32.net                     http://aurel32.net

Reply via email to