Bug 244669

Summary: devel/llvm10: clang-move should be EXTRAS, not CLANG in pkg-plist; breaks install
Product: Ports & Packages Reporter: Laurence 'GreenReaper' Parry <greenreaper>
Component: Individual Port(s)Assignee: Brooks Davis <brooks>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (brooks)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Assign bin/clang-move to EXTRAS (not CLANG) none

Description Laurence 'GreenReaper' Parry 2020-03-08 08:07:52 UTC
Created attachment 212248 [details]
Assign bin/clang-move to EXTRAS (not CLANG)

When installing llvm10-10.0.0.r3 after a build with portinstall, using options CLANG GOLD LLD LLD_LINK OPENMP PYCLANG (not EXTRAS) and BE_NATIVE (X86), installation fails to register because clang-move can't be find by pkg-static:

```
===>   Registering installation for llvm10-10.0.0.r3
pkg-static: Unable to access file /tmp/usr/ports/devel/llvm10/work/stageusr/local/llvm10/bin/clang-move:No such file or directory
*** Error code 74
```
(Incidentally this error message appears to be missing a / between '/tmp/usr/ports/devel/llvm10/work/stage' and 'usr/local/llvm/bin/clang-move')

The reason for this is that clang-move is in clang-tools-extra:
https://github.com/llvm-mirror/clang-tools-extra

...but the binary is marked as being CLANG, not EXTRAS, in pkg-plist:
%%CLANG%%llvm%%LLVM_SUFFIX%%/bin/clang-move

Changing this to:
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/bin/clang-move
resolves the problem.

lib/libclangMove.a is not affected as it is already EXTRAS:
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/lib/libclangMove.a

This change was introduced in revision 525893:
https://svnweb.freebsd.org/ports/head/devel/llvm10/pkg-plist?r1=525893&r2=525892&pathrev=525893

...submitted via review D23583 (Fix build for LLVM 10.0.0rc1 extras):
https://reviews.freebsd.org/D23583

The test plan in the review appears to use the default options (all components) which will not catch a failure to segregate binaries or libraries, just the failure to build one when everything else is built. Testing with/without EXTRAS would have been a good idea, since the goal was specifically to add EXTRAS back.

More generally, this isn't the first time a build without EXTRAS has failed on install, and it might be good to have an automated test of some kind that catches this class of bug (perhaps with other combinations of install flags).
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-03-12 21:16:50 UTC
A commit references this bug:

Author: brooks
Date: Thu Mar 12 21:16:12 UTC 2020
New revision: 528321
URL: https://svnweb.freebsd.org/changeset/ports/528321

Log:
  Add clang-move to EXTRAS_COMMANDS correcting plist.

  PR:		244669
  Reported by:	greenreaper@hotmail.com

Changes:
  head/devel/llvm10/Makefile
  head/devel/llvm10/Makefile.COMMANDS
  head/devel/llvm10/pkg-plist
Comment 2 Brooks Davis freebsd_committer freebsd_triage 2020-03-12 21:32:08 UTC
Thanks for the report.