Bug 190680 - net/mDNSResponder missing rc.d/mdns
Summary: net/mDNSResponder missing rc.d/mdns
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-05 22:20 UTC by dewayne
Modified: 2014-06-08 04:44 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dewayne 2014-06-05 22:20:10 UTC
OS=FreeBSD 9.2 Stable.

OS source build 27th May; port source updated today (after UIDs replaced)

Problem
-------
===>  Staging for mDNSResponder-544
===>   Generating temporary packing list
/usr/local/etc/rc.d/mdns: not found
gmake: *** [/usr/staging/usr/local/sbin/mdnsd] Error 127
*** [do-install] Error code 2

Tried copying files/mdnsd to files/mdns, same failure message

To repeat
---------
cd /usr/ports/net/mDNSResponder
make clean package

---
I've also replaced the STRIP command
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libdns_sd.so.1 ${STAGEDIR}${PREFIX}/sbin/*
with 
@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -name '*.so*' -exec ${STRIP_CMD} {} \;
@${FIND} ${STAGEDIR}${PREFIX}/sbin -type f -name '*' -exec ${STRIP_CMD} {} \;

as there were other files in the staging area that caused STRIP_CMD to fail, as a few hundred other ports were also being built.
Comment 1 dewayne 2014-06-08 02:11:05 UTC
Please disregard.  I've identified the problem as being with the staging mechanism per:
rm -vR /usr/staging/usr/*

# cd /usr/ports/net/mDNSResponder

First time - through 
# make -DBATCH clean deinstall package
Works and installs files correctly
# ls -l /usr/staging/usr/local/etc/rc.d/md* /usr/local/etc/rc.d/md*
-r-xr-xr-x  1 root  wheel  368 Jun  8 11:56 /usr/staging/usr/local/etc/rc.d/mdnsd
-r-xr-xr-x  1 root  wheel  449 Jun  8 11:56 /usr/staging/usr/local/etc/rc.d/mdnsresponder


Second time 
make -DBATCH clean deinstall package
Fails with 
 
===>  Staging for mDNSResponder-544
===>   Generating temporary packing list
/usr/local/etc/rc.d/mdns: not found
gmake: *** [/usr/staging/usr/local/sbin/mdnsd] Error 127
*** [do-install] Error code 2

Stop in /usr/ports/net/mDNSResponder.
*** [/var/ports/usr/ports/net/mDNSResponder/work/.package_done.mDNSResponder._usr_local] Error code 1

Stop in /usr/ports/net/mDNSResponder.

# date
Sun Jun  8 11:58:40 EST 2014

# ls -l /usr/staging/usr/local/etc/rc.d/md* /usr/local/etc/rc.d/md*
-r-xr-xr-x  1 root  wheel  368 Jun  8 11:56 /usr/staging/usr/local/etc/rc.d/mdnsd
-r-xr-xr-x  1 root  wheel  449 Jun  8 11:56 /usr/staging/usr/local/etc/rc.d/mdnsresponder

Clearly /usr/staging either needs to be manually cleared, or make clean doesn't address /usr/staging, or ??
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2014-06-08 04:43:43 UTC
It is a bad idea to use a shared STAGEDIR (/usr/staging in your case). STAGEDIR defaults to ${WRKDIR}/stage which will not be affected by other ports. "make clean" empties ${WRKDIR} and your STAGEDIR is out of ${WRKDIR} therefore you should empty it by yourself and do not build ports concurrently if you decide to use a shared STAGEDIR.