Out of the box, Mac OS X Leopard Server only provides a software update service for Leopard clients (and older). Reason: Starting with Mac OS X Snow Leopard, Apple uses a separate catalog for each major version of Mac OS X. However, with some configuration tweaks we can teach Leopard Server to deliver updates for all versions of Mac OS X. The following is a summary of <http://support.apple.com/kb/HT4771>, <http://support.apple.com/kb/HT4069>, and <http://discussions.apple.com/thread.jspa?messageID=10297359#10297359>.
1. Stop the software update server:
# serveradmin stop swupdate
2. create the file /usr/share/swupd/html/content/meta/mirror-config-1.plist with the following contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PrimaryCatalog</key>
<string>http://swscan.apple.com/content/catalogs/index.sucatalog</string>
<key>CatalogsList</key>
<array>
<string>http://swscan.apple.com/content/catalogs/index.sucatalog</string>
<string>http://swscan.apple.com/content/catalogs/others/index-leopard.merged-1.sucatalog</string>
<string>http://swscan.apple.com/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog</string>
<string>http://swscan.apple.com/content/catalogs/others/index-lion-snowleopard-leopard.merged-1.sucatalog</string></div>
3. In /etc/swupd/swupd.plist, change the metaIndexURL to
	<key>metaIndexURL</key>
<string>http://swupdate.cpfs.mpg.de:8088/content/meta/mirror-config-1.plist</string>
Make sure that the port number (here 8088) corresponds to the value in portToUse in /etc/swupd/swupd.plist.
4. Create links to the catalog files that will be created by swupd:
# cd /usr/share/swupd/html
# ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard.merged-1.sucatalog .
# ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog .
# ln -s /usr/share/swupd/html/content/catalogs/others/index-lion-snowleopard-leopard.merged-1.sucatalog .
5. Edit /etc/swupd/swupd.conf and add the following lines to the end of the LoadModules section:
#For using one URL for all clients
LoadModule rewrite_module libexec/httpd/mod_rewrite.so
#Rewrite section for using one URL for all clients
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Darwin/11
RewriteRule ^/index\.sucatalog$ /index-lion-snowleopard-leopard.merged-1.sucatalog
RewriteCond %{HTTP_USER_AGENT} Darwin/10
RewriteRule ^/index\.sucatalog$ /index-leopard-snowleopard.merged-1.sucatalog
RewriteCond %{HTTP_USER_AGENT} Darwin/9
RewriteRule ^/index\.sucatalog$ /index-leopard.merged-1.sucatalog
6. Start Software Update
# sserveradmin start swupdate
7. Wait a couple of hours until all catalog files are generated.
8. Push the custom URL <http://swupdate.cpfs.mpg.de:8088/index.sucatalog> to the clients, either via MCX or on each client by
# defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://swupdate.cpfs.mpg.de:8088/index.sucatalog