Bug 244669 - devel/llvm10: clang-move should be EXTRAS, not CLANG in pkg-plist; breaks install
Summary: devel/llvm10: clang-move should be EXTRAS, not CLANG in pkg-plist; breaks ins...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Brooks Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-08 08:07 UTC by Laurence 'GreenReaper' Parry
Modified: 2020-03-12 21:32 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (brooks)


Attachments
Assign bin/clang-move to EXTRAS (not CLANG) (540 bytes, text/plain)
2020-03-08 08:07 UTC, Laurence 'GreenReaper' Parry
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.