Issue with another downstream over DESTDIR builds

Brian Inglis
Fri Sep 30 18:38:05 GMT 2022

On 2022-09-30 06:11, Jon Turney wrote:
> On 29/09/2022 20:15, Brian Inglis wrote:
>> Hi folks, [Please Reply All to CC me as ISP blocking Cygwin lists]
>> I previously submitted a patch upstream to add DESTDIR when creating 
>> package symlinks so cygport builds work without patches.
>> Now another downstream is disputing that, requesting the patch be 
>> reverted, saying that symlink targets are contents and should always 
>> be from the non-DESTDIR native source as per GNU "rules" in the autobook.

> A link to this discussion would be useful.

Thanks Jon,

Unfortunately the upstream package does not use a list so it is all DM.

>> We agreed to request other more experienced opinions on this issue 
>> from our support groups and report back.
>> I am asking the perhaps more experienced professional maintainers to 
>> provide their considered opinion on this issue, demonstrated by the 
>> reversion patch below.
>>> The link's target must not include $(DESTDIR), otherwise this ends up
>>> included in the shipped link. Linking the theoretical target gives the
>>> correct result.
>>> --- a/
>>> +++ b/
>>> @@ -115,7 +115,7 @@
>>>        $(INSTALL_DATA) $(srcdir)/definitions.units 
>>> $(DESTDIR)@UDAT-DGkERpxY6iylqvY/pMPnfPU/
>>>        -rm -f $(DESTDIR)@UDAT-kLXayl1e/
>>>        $(INSTALL_DATA) $(srcdir)/currency.units 
>>> $(DESTDIR)@CDAT-kLXayl1e/
>>> -    if [ $(DESTDIR)@CDAT@ != $(DESTDIR)@UDAT@ ];then ln -sf 
>>> $(DESTDIR)@CDAT-kLXayl1e/ 
>>> $(DESTDIR)@UDAT-kLXayl1e/;fi
>>> +    if [ $(DESTDIR)@CDAT@ != $(DESTDIR)@UDAT@ ];then ln -sf 
>>> @CDAT-kLXayl1e/ 
>>> $(DESTDIR)@UDAT-kLXayl1e/;fi
>>>        $(INSTALL_DATA) $(srcdir)/locale_map.txt 
>>> $(DESTDIR)@UDAT@locale_map.txt
>>>        if test $(HAVE_PYTHON) = yes; then \
>>>          $(INSTALL_PROGRAM) units_cur_inst $(DESTDIR)$(bindir)/`echo 
>>> units_cur|sed '$(transform)'`;fi

> This patch looks correct.
> Think of it this way: --prefix etc. configures the location of the 
> installed files, DESTDIR selects a temporary staging directory that the 
> files are placed into (e.g. before packaging)
> So, targets of symlinks which are absolute paths should not contain 

I think I'll try and see what happens in cygport, report back here or 
for more feedback, and if no issues, okay with upstream.

Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

More information about the Cygwin-apps mailing list