Bug 211587 - editors/codelite: pkg packaging (Checking for pkg-plist) breaks because pkg-list contains pointers to nonexistent files.
Summary: editors/codelite: pkg packaging (Checking for pkg-plist) breaks because pkg-l...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Thomas Zander
URL:
Keywords: needs-qa, patch, patch-ready
Depends on:
Blocks:
 
Reported: 2016-08-04 22:22 UTC by Matthias Petermann
Modified: 2016-08-14 11:01 UTC (History)
3 users (show)

See Also:
mmokhi: maintainer-feedback+


Attachments
Patch file to remove nonexistent files from pkg-plist (793 bytes, patch)
2016-08-04 22:22 UTC, Matthias Petermann
no flags Details | Diff
Patch to add missing entries to plist and missing dependency to Makefile (1.28 KB, patch)
2016-08-05 21:08 UTC, Mahdi Mokhtari
mmokhi: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Petermann 2016-08-04 22:22:32 UTC
Created attachment 173301 [details]
Patch file to remove nonexistent files from pkg-plist

Hello, 

when I build the package of editors/codelite using synth, packaging cannot be completed because the following files from pkg-plist are missing:

lib/codelite/SpellCheck.so
%%DATADIR%%/dics/en_GB.aff
%%DATADIR%%/dics/en_GB.dic
%%DATADIR%%/dics/en_US.aff
%%DATADIR%%/dics/en_US.dic

The following options are set for my custom build:

# This file is auto-generated by 'make config'.
# Options for codelite-9.2
_OPTIONS_READ=codelite-9.2
_FILE_COMPLETE_OPTIONS_LIST=CSCOPE SFTP CLANG34 CLANG35 CLANG36 CLANG37 CLANG38
OPTIONS_FILE_SET+=CSCOPE
OPTIONS_FILE_SET+=SFTP
OPTIONS_FILE_UNSET+=CLANG34
OPTIONS_FILE_UNSET+=CLANG35
OPTIONS_FILE_UNSET+=CLANG36
OPTIONS_FILE_SET+=CLANG37
OPTIONS_FILE_UNSET+=CLANG38

I am wondering if the missing files would be present when codelite is built with different options, or if the problem always occurs?

Note: as this files seem to be spell check related: in my textprpoc/enchant build options the ASPELL option is set.

Temporarely, I was able to fix my build by excluding the questionable files from the pkg-plist (see patch attached).

Please let me know if I can help debug/test.

Best regards,
Matthias
Comment 1 Walter Schwarzenfeld freebsd_triage 2016-08-05 02:49:37 UTC
I doubt this patch is right. I don't work with synth, so I can't test it.
I don't think,it is a pkg-plist error, cause poudriere and the port installs this files.
Maybe, it caused through the missing of
LIB_DEPENDS=   libhunspell-1.3.so:textproc/hunspell
in the Makefile.
Comment 2 Walter Schwarzenfeld freebsd_triage 2016-08-05 03:45:20 UTC
ls of stage-dir:

ls /usr/ports/editors/codelite/work/stage/usr/local/share/codelite/dics/en_*
/usr/ports/editors/codelite/work/stage/usr/local/share/codelite/dics/en_GB.aff
/usr/ports/editors/codelite/work/stage/usr/local/share/codelite/dics/en_GB.dic
/usr/ports/editors/codelite/work/stage/usr/local/share/codelite/dics/en_US.aff
/usr/ports/editors/codelite/work/stage/usr/local/share/codelite/dics/en_US.dic

 ls /usr/ports/editors/codelite/work/stage/usr/local/lib/codelite/SpellCheck.so 
/usr/ports/editors/codelite/work/stage/usr/local/lib/codelite/SpellCheck.so
Comment 3 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-08-05 21:08:38 UTC
Created attachment 173340 [details]
Patch to add missing entries to plist and missing dependency to Makefile

Thanks for points that you stated.
Currently the port has sanity-check problem in poudriere too (if you enable any of CLANG options it will have orphaned bin/codelite-lldb and lib/codelite/LLDBDebugger.so)
Also the point that w.schwarzenfeld told is valid point.

It seems fixed for me using this patch.
Matthias, Would you please check if this fixes the problem you encountered with synth too (in both cases of using CLANG completion and not using it)?
Comment 4 Matthias Petermann 2016-08-09 11:17:38 UTC
Hello, thanks for the clarification. In the meantime, I did test with the enchant options set from ASPELL->HUNSPELL and did not experience the problem. So that I assume this is the result what you expected, too. Does the new patch address the issue when enchant options is set to ASPELL?

Best regards,
Matthias
Comment 5 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-08-09 15:33:03 UTC
(In reply to Matthias Petermann from comment #4)
So if you're Okay with this patch, I'll leave it to a committer after additional QA.
Thanks for reporting ;)
Comment 6 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-08-09 16:16:27 UTC
QA done:
portlint Okay, poudriere Okay.

DeAssigning from myself so that a committer take it.
Comment 7 commit-hook freebsd_committer 2016-08-14 07:40:26 UTC
A commit references this bug:

Author: riggs
Date: Sun Aug 14 07:39:36 UTC 2016
New revision: 420180
URL: https://svnweb.freebsd.org/changeset/ports/420180

Log:
  Fix plist, fix missing dependency

  Details:
  - Add missing LIB_DEPENDS to hunspell, add USE_GNOME
  - Fix plist: Add missing entries for clang plugins (non-default OPTIONs)
  - Bump PORTREVISION

  PR:		211587
  Submitted by:	matthias@petermann-it.de
  Reviewed by:	w.schwarzenfeld@utanet.at, mokhi64@gmail.com (maintainer)
  Approved by:	mokhi64@gmail.com (maintainer)

Changes:
  head/editors/codelite/Makefile
  head/editors/codelite/pkg-plist
Comment 8 Thomas Zander freebsd_committer 2016-08-14 08:14:52 UTC
I bumped PORTREVISION since the default package changes (introduction of dependencies).

Also I noticed this in the build log:

====>> Checking shared library dependencies
...
0x0000000000000001 (NEEDED)             Shared library: [libclang.so.3.7]
...

Looks like when one of the CLANG options is selected, it links to the respective shared libs, in which case it would be better to have LIB_DEPENDS instead of BUILD_DEPENDS+RUN_DEPENDS. Could you double-check?
Comment 9 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-08-14 11:01:44 UTC
(In reply to Thomas Zander from comment #8)
Thanks for the point.
I double checked it.
In this case, We can use "CLANG$v_LIB_DEPENDS=	clang$v>0:lang/clang$v" too, but not using it (using the current one) doesn't make problem.