[cups.bugs] [MOD] STR #3802: Problems with packages built using make osx

Christer Bernérus bernerus at chalmers.se
Wed Feb 23 07:30:45 PST 2011


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Hi Mike.

I'm trying to build cups using make osx as described in the INSTALL.txt
file.

There are some problems with this. I'll summarize the problems and submit
the diffs I made to create installable packages.

1. bannertops and texttops are not built but are reqired for the
   package.
   I checked my vanilla MaxOSX and found that these aren't there either,
   so I assumed the package description to be wrong.

2. The postinstall script for cupsd executes launchctl load -D system
      /System/Library/LaunchDaemons/org.cups.cupsd.plist
   The problem is that the '-D system' argument causes launchctl to load 
   *all* plists in /System/Library/LaunchDaemons. Doing that on one 
   particular plist, mDNSresponder, is severely pathological as it
   breaks all DNS lookup functionality on the target computer.
   I don't think '-D system' is needed. If it is, one must first unload
   the mDNSresponder plist.

3. The postinstall script for cups-lpd has the same problem, but also
   the plist file name is misspelled. 
   It says org.cups.cupsd-lpd.plist but
   the correct name is org.cups.cups-lpd.plist.

4. Correcting this makes launchctl run and return an error as there is
   nothing to load because the plist has the key Disabled set to true.
   To be able to load this plist, a -w flag is needed.

5. Somehow, both the abovementioned plist files ends up owned by 
   the installing user, not by root/wheel. In my diff I added chown 0:0
   in the postinstall scripts, but that should possibly be done
   otherwise.


Here's my diff against the SVN trunk r9565:


Index: packaging/cups.list.in
===================================================================
--- packaging/cups.list.in	(revision 9565)
+++ packaging/cups.list.in	(arbetskopia)
@@ -290,7 +290,9 @@
 f 0555 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
 d 0755 root sys $SERVERBIN/driver -
 d 0755 root sys $SERVERBIN/filter -
+%system !darwin
 f 0555 root sys $SERVERBIN/filter/bannertops filter/bannertops
+%system all
 f 0555 root sys $SERVERBIN/filter/commandtoespcx driver/commandtoescpx
 f 0555 root sys $SERVERBIN/filter/commandtopclx driver/commandtopclx
 f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
@@ -309,7 +311,9 @@
 f 0555 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
 f 0555 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
 f 0555 root sys $SERVERBIN/filter/rastertopclx driver/rastertopclx
+%system !darwin
 f 0555 root sys $SERVERBIN/filter/texttops filter/texttops
+%system all
 d 0755 root sys $SERVERBIN/notifier -
 f 0555 root sys $SERVERBIN/notifier/mailto notifier/mailto
 
@@ -761,7 +765,8 @@
 killall cupsd || exit 0
 EOF
 %postinstall <<EOF
-launchctl load -D system
/System/Library/LaunchDaemons/org.cups.cupsd.plist
+chown 0:0 /System/Library/LaunchDaemons/org.cups.cupsd.plist
+launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
 EOF
 %subpackage lpd
 f 0444 root sys /System/Library/LaunchDaemons/org.cups.cups-lpd.plist
scheduler/org.cups.cups-lpd.plist
@@ -773,7 +778,8 @@
 EOF
 %postinstall <<EOF
 rm -f /etc/xinetd.d/cups-lpd
-launchctl load -D system
/System/Library/LaunchDaemons/org.cups.cupsd-lpd.plist
+chown 0:0 /System/Library/LaunchDaemons/org.cups.cups-lpd.plist
+launchctl load -w /System/Library/LaunchDaemons/org.cups.cups-lpd.plist
 EOF
 %subpackage

Link: http://www.cups.org/str.php?L3802
Version: 1.4rc1





More information about the cups mailing list