(-devel also fails) ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) =========================================================================== ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%mydnsbackend.so Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%remotebackend.so ===> Checking for directories owned by MTREEs ===> Checking for directories handled by dependencies ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 Stop in /usr/ports/dns/powerdns. ====>> Error: check-plist failures detected ===> Cleaning for powerdns-3.3.1_4
maintainer already notified in CC
Patch for this: http://flashback.sorbs.net/packages/powerdns.patch As follows: diff -Nru powerdns.orig/pkg-plist powerdns/pkg-plist --- powerdns.orig/pkg-plist 2014-07-24 13:34:16.000000000 -0500 +++ powerdns/pkg-plist 2014-08-05 10:06:13.000000000 -0500 @@ -34,3 +34,5 @@ %%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%% @dirrmtry etc/pdns +%%LUA%%%%LUA_LIBDIR%%/%%LUA_LIBDIR%%mydnsbackend.so +%%LUA%%%%LUA_LIBDIR%%/%%LUA_LIBDIR%%remotebackend.so You should note that other options should have similar changes. Regards, Michelle
now that patch exists, change state to "approval needed"
Created attachment 146149 [details] pkg-plist fix This patch adds the missing experimental backends to the pkg-plist. Since staging they wont be installed if missing from pkg-plist anymore, which is probably why I missed it.
moving to patch-ready for validation
When non-default options are the cause of the error, it *really* helps the everyone evaluating the PR to know this information. I ran it through poudriere without patching and it passed. I had to read the comments to guess that the lua backend option was selected.
This patch doesn't work on dns/powerdns (see below). Can you guys check and make sure it works for each backend option set? ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%luabackend.so ===> Checking for directories owned by MTREEs ===> Checking for directories handled by dependencies ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 ---Begin OPTIONS List--- ===> The following configuration options are available for powerdns-3.3.1_4: GEO=off: Geo backend MYSQL=off: MySQL backend MYSQL_LOCAL=off: RUN_DEPEND on MySQL server OPENDBX=off: OpenDBX backend OPENLDAP=off: OpenLDAP backend OPENLDAP_LOCAL=off: RUN_DEPEND on OpenLDAP server PGSQL=on: PostgreSQL backend PGSQL_LOCAL=off: RUN_DEPEND on PostgreSQL server POLARSSL=on: Use embedded PolarSSL SQLITE3=off: SQLite 3 backend TOOLS=off: Build extra tools ====> Extra DNSSEC options BOTAN110=on: Faster signing + ECDSA & GOST algorithms CRYPTOPP=off: ECDSA algorithms ====> Options available for the group EXPERIMENTAL LUA=on: Lua backend MYDNS=off: MyDNS backend REMOTE=off: Remote backend REMOTE_HTTP=off: Enable HTTP for the Remote backed TINYDNS=off: TinyDNS backend ===> Use 'make config' to modify these settings
wait, hold on. I tested this wrong; it may be okay.
A commit references this bug: Author: marino Date: Sat Aug 23 16:23:13 UTC 2014 New revision: 365753 URL: http://svnweb.freebsd.org/changeset/ports/365753 Log: dns/powerdns: Fix pkg-plist when backend options are selected PR: 192401 Reported by: michelle Fixed by: maintainer (Ralf van der Enden) Changes: head/dns/powerdns/Makefile head/dns/powerdns/pkg-plist
Ralf, can you provide another patch for powerdns-devel? It looks like that one has more backends so I can't use the same patch.
hi Ralf, any idea on the ETA of that powerdns-devel patch? I'd like to close out this PR.
Created attachment 146360 [details] Fix pkg-plist for dns/powerdns-devel
Sorry for the delay with the second patch. Was trying to attach the patch using py-bugz, but it doesn't work well with FreeBSD's bugzilla implementation. Most py-bugz commands result in a long list of errors. Besides that I was extremely busy at work.
(In reply to Ralf van der Enden from comment #12) > Created attachment 146360 [details] > Fix pkg-plist for dns/powerdns-devel It's not passing stage checks: ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%gpgsqlbackend.a Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%luabackend.a Error: Orphaned: %%LUA_LIBDIR%%/%%LUA_LIBDIR%%pipebackend.a ===> Checking for directories owned by MTREEs ===> Checking for directories handled by dependencies ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 Stop. make: stopped in /usr/ports/dns/powerdns-devel It looks like the static versions of the backends are undocumented.
I don't know where the %%LUA_LIBDIR%% comes from in the error lines, but that's not my patch nor pkg-plist.
(In reply to Ralf van der Enden from comment #15) > I don't know where the %%LUA_LIBDIR%% comes from in the error lines, but > that's not my patch nor pkg-plist. Errors are not copied from pkg-plist. They are generated. The errors replace paths with PLIST_SUBs What this error is saying is that you are missing 3 entries from the pkg-plist. "Checking for items in STAGEDIR missing from pkg-plist" That means there are 3 files in stagedir unaccounted for. The solution is normally add them to the pkg-plist. However, since options dictates what is installed, there could be other problems with pkg-plist not yet detected. Did I explain this clearly enough?
Need to use 'Dynamic Plist' so you can add the files when the option for that file is switched on and so they won't be in the plist when the option is switched off... Can you post the patch so far so I could take a look in about 12 hours? Michelle
(In reply to Michelle Sullivan from comment #17) > Need to use 'Dynamic Plist' so you can add the files when the option for > that file is switched on and so they won't be in the plist when the option > is switched off... Can you post the patch so far so I could take a look in > about 12 hours? I disagree with that. I see absolutely no reason for a dynamic plist here. Option substitutions are fine. He already posted the patch (1-line). It's missing at least 3 more lines.
Was thinking about adding lines dynamiccally - however, I had forgotten with this patch (I started the original) that it's just add it if the option is on - inside the plist (different from how I normally do it ;-) ) Sorry..
The perferred method is use static pkg-plist with option substitions. Using PLIST_FILES+= inside the makefile is definitely not preferred. This was part of the revolt against www/squid* ports because that port used that technique to abusive levels and the whole thing had to be converted to static pkg-plist.
Created attachment 146438 [details] Additional patch to disable creation of .a files dns/powerdns has a switch in CONFIGURE_ARGS (--disable-static), which disables building of .a files for the backends. Since PowerDNS doesn't need those I added the switch (via an extra patch) to dns/powerdns-devel as well, which should remedy the pkg-plist issues.
A commit references this bug: Author: marino Date: Thu Aug 28 10:58:05 UTC 2014 New revision: 366392 URL: http://svnweb.freebsd.org/changeset/ports/366392 Log: dns/powerdns-devel: Fix stage-qa / plist-issues PR: 192401 Fix by: maintainer (Ralf van der Enden) Changes: head/dns/powerdns-devel/Makefile head/dns/powerdns-devel/pkg-plist
I also tested this with all backend options set to "ON" and it passed stage-qa checks just fine. Thanks!