Standardizing a MacPorts system
Hello all -- I would like to build, from source, on an Xserve running Leopard Server, a "standard" MacPorts system that could be deployed, in an organization, on numerous other Apple servers running the same version of the OS (e.g. Leopard Server). In doing so I would use Apple's command-line tools (such as hdiutil and asr) create a restorable disk image (.dmg) file of a disc volume that hangs off an external disk on my original Xserve which houses the MacPorts prefix (e.g., /opt/local). I would then restore from this disc image to the additional machines slated to be the recipients of the original standard. I don't see any immediate problems in doing so, however I have noticed when installing some ports (when I have occasionally enabled verbose mode "-v" during the install), depending on the port, some ports seem to take into consideration the Hostname of the Xserve I'm running it on. On my Xserve running Leopard Server, the Hostname is very importantly tied to the DNS name because I am running Apple's DNS server that is buncled with Leopard Server since I need it for other services on the machine which are not directly related to MacPorts such as running an OpenDirectory Master. The problem is, with hundreds of MacPorts tied together and with complex dependency chains, how can anyone determine when a specific MacPort reads the hostname and uses the hostname of the machine during the configuration process (unless a sys admin such as myself builds each and every port with verbose mode and analysis the output grepping for the hostname)? It might be problematic if the hostname of any given MacPort somehow becomes "hard wired" into the port itself during the configuration / install processing. Then again, I might be making a mountain out of a mole hill. Has anyone else built a Standardized MacPorts system that is cloned to multiple Macs? Thanks, T.M.
On Jan 3, 2008 12:17 PM, Tabitha McNerney <tabithamc@gmail.com> wrote:
Hello all --
I would like to build, from source, on an Xserve running Leopard Server, a "standard" MacPorts system that could be deployed, in an organization, on numerous other Apple servers running the same version of the OS ( e.g. Leopard Server). In doing so I would use Apple's command-line tools (such as hdiutil and asr) create a restorable disk image (.dmg) file of a disc volume that hangs off an external disk on my original Xserve which houses the MacPorts prefix ( e.g., /opt/local). I would then restore from this disc image to the additional machines slated to be the recipients of the original standard.
I wonder if some combination of nfs (to mount your master repository), rsync (to update your local store) and some voodoo with a regex to update any files that are tied to hostnames (all your master builds might be tagged with "master" or "changeme").
I don't see any immediate problems in doing so, however I have noticed when installing some ports (when I have occasionally enabled verbose mode "-v" during the install), depending on the port, some ports seem to take into consideration the Hostname of the Xserve I'm running it on. On my Xserve running Leopard Server, the Hostname is very importantly tied to the DNS name because I am running Apple's DNS server that is buncled with Leopard Server since I need it for other services on the machine which are not directly related to MacPorts such as running an OpenDirectory Master. The problem is, with hundreds of MacPorts tied together and with complex dependency chains, how can anyone determine when a specific MacPort reads the hostname and uses the hostname of the machine during the configuration process (unless a sys admin such as myself builds each and every port with verbose mode and analysis the output grepping for the hostname)? It might be problematic if the hostname of any given MacPort somehow becomes "hard wired" into the port itself during the configuration / install processing. Then again, I might be making a mountain out of a mole hill.
Has anyone else built a Standardized MacPorts system that is cloned to multiple Macs?
Thanks,
T.M.
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
-- Paul Beard / www.paulbeard.org/ <paulbeard@gmail.com/paulbeard@gmail.com>
On 1/3/08, paul beard <paulbeard@gmail.com> wrote:
On Jan 3, 2008 12:17 PM, Tabitha McNerney <tabithamc@gmail.com> wrote:
Hello all --
I would like to build, from source, on an Xserve running Leopard Server, a "standard" MacPorts system that could be deployed, in an organization, on numerous other Apple servers running the same version of the OS ( e.g. Leopard Server). In doing so I would use Apple's command-line tools (such as hdiutil and asr) create a restorable disk image (.dmg) file of a disc volume that hangs off an external disk on my original Xserve which houses the MacPorts prefix ( e.g., /opt/local). I would then restore from this disc image to the additional machines slated to be the recipients of the original standard.
I wonder if some combination of nfs (to mount your master repository), rsync (to update your local store) and some voodoo with a regex to update any files that are tied to hostnames (all your master builds might be tagged with "master" or "changeme").
Paul, Appreciate the directional suggestion! Probably I could live without NFS and rsync, as I'd probably be ok with with cloning a master courtesy of the diskutil, hdiutil and asr tools on OS X. The regex is probably the way to go! Thanks, T.M. [SNIP]
On Jan 3, 2008, at 14:17, Tabitha McNerney wrote:
I would like to build, from source, on an Xserve running Leopard Server, a "standard" MacPorts system that could be deployed, in an organization, on numerous other Apple servers running the same version of the OS ( e.g. Leopard Server). In doing so I would use Apple's command-line tools (such as hdiutil and asr) create a restorable disk image (.dmg) file of a disc volume that hangs off an external disk on my original Xserve which houses the MacPorts prefix ( e.g., /opt/local). I would then restore from this disc image to the additional machines slated to be the recipients of the original standard.
I don't see any immediate problems in doing so, however I have noticed when installing some ports (when I have occasionally enabled verbose mode "-v" during the install), depending on the port, some ports seem to take into consideration the Hostname of the Xserve I'm running it on. On my Xserve running Leopard Server, the Hostname is very importantly tied to the DNS name because I am running Apple's DNS server that is buncled with Leopard Server since I need it for other services on the machine which are not directly related to MacPorts such as running an OpenDirectory Master. The problem is, with hundreds of MacPorts tied together and with complex dependency chains, how can anyone determine when a specific MacPort reads the hostname and uses the hostname of the machine during the configuration process (unless a sys admin such as myself builds each and every port with verbose mode and analysis the output grepping for the hostname)? It might be problematic if the hostname of any given MacPort somehow becomes "hard wired" into the port itself during the configuration / install processing. Then again, I might be making a mountain out of a mole hill.
Has anyone else built a Standardized MacPorts system that is cloned to multiple Macs?
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection. With which ports have you observed this problem?
On Jan 3, 2008 6:22 PM, Ryan Schmidt <ryandesign@macports.org> wrote:
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection.
With which ports have you observed this problem?
Aren't you the maintainer of the mysql port?
[/opt/local/var/db/mysql5]# ls .turd_mysql5 ibdata1 test ib_logfile0 localhost.err white.paulbeard.org.err ib_logfile1 mysql There may well be others but this one came to mind immediately. -- Paul Beard / www.paulbeard.org/ <paulbeard@gmail.com/paulbeard@gmail.com>
On Jan 3, 2008, at 22:13, paul beard wrote:
On Jan 3, 2008 6:22 PM, Ryan Schmidt wrote:
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection.
With which ports have you observed this problem?
Aren't you the maintainer of the mysql port?
Yes I am.
[/opt/local/var/db/mysql5]# ls .turd_mysql5 ibdata1 test ib_logfile0 localhost.err white.paulbeard.org.err ib_logfile1 mysql
There may well be others but this one came to mind immediately.
MySQL writes logfiles whose names contain the hostname, yes. The hostname is not, however, to the best of my knowledge, encoded into any files installed by the MySQL ports. There should be no problem installing MySQL on one system and running it on another. The two systems will merely use separate logfiles by default -- which is in fact probably a good thing, isn't it? If it isn't, there's probably a way to have MySQL write to a logfile of a name of your choosing. Consult the MySQL documentation.
On Jan 3, 2008 8:21 PM, Ryan Schmidt <ryandesign@macports.org> wrote:
On Jan 3, 2008, at 22:13, paul beard wrote:
On Jan 3, 2008 6:22 PM, Ryan Schmidt wrote:
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection.
With which ports have you observed this problem?
Aren't you the maintainer of the mysql port?
Yes I am.
[/opt/local/var/db/mysql5]# ls .turd_mysql5 ibdata1 test ib_logfile0 localhost.err white.paulbeard.org.err ib_logfile1 mysql
There may well be others but this one came to mind immediately.
MySQL writes logfiles whose names contain the hostname, yes. The hostname is not, however, to the best of my knowledge, encoded into any files installed by the MySQL ports. There should be no problem installing MySQL on one system and running it on another. The two systems will merely use separate logfiles by default -- which is in fact probably a good thing, isn't it? If it isn't, there's probably a way to have MySQL write to a logfile of a name of your choosing. Consult the MySQL documentation.
I'm not that interested in a solution to a problem I don't have. But the inferred question was, do any ports make use of the hostname. it looks like mysql derives it when it creates the file (I tested it). I'm not sure this one admittedly thin example answers the OP's question.
-- Paul Beard / www.paulbeard.org/ <paulbeard@gmail.com/paulbeard@gmail.com>
The use of the hostname for MySQL's error log is coded into mysql itself: http://dev.mysql.com/doc/refman/5.0/en/error-log.html Even if you had <original_host>.err left over on the other "cloned" hosts, it shouldnt be a problem, since a <new_host>.err will be made and used. And that same link shows the line to put in etc/my.cnf to make it standard anyway. FWIW, Mac OS Forge uses 1 installation of MacPorts for many XServes, and we dont have problems. I'd really be interested to know which ports are hostname-dependent. -Bill On Jan 3, 2008, at 8:21 PM, Ryan Schmidt wrote:
On Jan 3, 2008, at 22:13, paul beard wrote:
On Jan 3, 2008 6:22 PM, Ryan Schmidt wrote:
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection.
With which ports have you observed this problem?
Aren't you the maintainer of the mysql port?
Yes I am.
[/opt/local/var/db/mysql5]# ls .turd_mysql5 ibdata1 test ib_logfile0 localhost.err white.paulbeard.org.err ib_logfile1 mysql
There may well be others but this one came to mind immediately.
MySQL writes logfiles whose names contain the hostname, yes. The hostname is not, however, to the best of my knowledge, encoded into any files installed by the MySQL ports. There should be no problem installing MySQL on one system and running it on another. The two systems will merely use separate logfiles by default -- which is in fact probably a good thing, isn't it? If it isn't, there's probably a way to have MySQL write to a logfile of a name of your choosing. Consult the MySQL documentation.
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
---- William Siegrist Software Support Engineer Mac OS Forge http://macosforge.org/ wsiegrist@apple.com 408 862 7337
On 1/3/08, William Siegrist <wsiegrist@apple.com> wrote:
The use of the hostname for MySQL's error log is coded into mysql itself:
http://dev.mysql.com/doc/refman/5.0/en/error-log.html
Even if you had <original_host>.err left over on the other "cloned" hosts, it shouldnt be a problem, since a <new_host>.err will be made and used. And that same link shows the line to put in etc/my.cnf to make it standard anyway.
FWIW, Mac OS Forge uses 1 installation of MacPorts for many XServes, and we dont have problems. I'd really be interested to know which ports are hostname-dependent.
With apologies, I didn't at the time (when I was installing some of my ports with the verbos option) make a note -- it was more of an afterthought, but in the verbose output of one my 180+ ports I made the past few days, I did see the hostname show up in the verbose output which made me wonder if this could be a problem such as if some ports were made which would depend on in some way the hostname. It may be that there is no problem at all. I'm glad to learn that Mac OS Forge has successfully cloned and implemented MacPorts systems for use with multiple machines. Thanks, T.M. -Bill
On Jan 3, 2008, at 8:21 PM, Ryan Schmidt wrote:
On Jan 3, 2008, at 22:13, paul beard wrote:
On Jan 3, 2008 6:22 PM, Ryan Schmidt wrote:
I wasn't aware that any ports tied themselves to the build system's hostname. That would be problematic as well if we started to distribute binaries of ports. Then again, I'm only familiar with a small minority of our ports collection.
With which ports have you observed this problem?
Aren't you the maintainer of the mysql port?
Yes I am.
[/opt/local/var/db/mysql5]# ls .turd_mysql5 ibdata1 test ib_logfile0 localhost.err white.paulbeard.org.err ib_logfile1 mysql
There may well be others but this one came to mind immediately.
MySQL writes logfiles whose names contain the hostname, yes. The hostname is not, however, to the best of my knowledge, encoded into any files installed by the MySQL ports. There should be no problem installing MySQL on one system and running it on another. The two systems will merely use separate logfiles by default -- which is in fact probably a good thing, isn't it? If it isn't, there's probably a way to have MySQL write to a logfile of a name of your choosing. Consult the MySQL documentation.
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
---- William Siegrist Software Support Engineer Mac OS Forge http://macosforge.org/ wsiegrist@apple.com 408 862 7337
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
participants (4)
-
paul beard
-
Ryan Schmidt
-
Tabitha McNerney
-
William Siegrist