Opened 16 years ago
Closed 15 years ago
#19430 closed defect (fixed)
logrotate needs deps at runtime
Reported by: | andre.mueller@… | Owned by: | markd@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.1 |
Keywords: | Cc: | ||
Port: | logrotate |
Description
Hello
First thanks for all the work with macports!
As macports user I would like to submit the following enhancement request.
These days I have to deploy server MacOSX Servers Leopard and for this deployment I needed also the three small tools logrotate, webalizer, iftop. So it was obvious to build these three tools once as standalone binary packages on a dmg image on my administration system in order to avoid the installation of macports base and XCode on every single server.
On the macports guide (3.4.2. Binary Packageshttp://guide.macports.org/#using.binaries.binary-packages) I found the appropriate commands. Unfortunately with these commands, needed libs for the mentioned ports are not included with the pkg, even not with the command option "port mdmg ...", a command option somebody of the "bug"-staff mentioned to use.
So for webalizer and logrotate I had to copy over the appropriate libs manually and for iftop I had also to copy to the target systems "/opt/local/share/terminfo". May be I have missed some important information, in order all needed libs would be included in the build standalone packages - but I found nothing appropriate on the email lists etc.
Short I think, that it would be very necessary for standalone packages that all required libs and other files are build and included with the packages. Only in this way a deployment with out an installed macports base or XCode is possible.
Many thanks and with best regards,
André Müller
Attachments (1)
Change History (10)
comment:1 follow-up: 2 Changed 16 years ago by jmroot (Joshua Root)
Milestone: | Port Enhancements → MacPorts Future |
---|---|
Priority: | High → Normal |
comment:2 Changed 16 years ago by andre.mueller@…
Replying to jmr@…:
So what does happen when you run
port mpkg
orport mdmg
? They both seem to work as expected here.
Hello
Thank you for your answer. Running "port mdmg" or "port mpgk" does create the package as without the "m" prefix, but the needed lib under "/opt/local/lib/" are not included in the standalone package. For example for the port "logrotate" three libs are needed "libgd, ibpopt and a third one I do not remember". Creating the port "webalizer" with "port dmg" or "port mdmg" are different in the sense, that "port mdmg" does include "X11" files but both do lack the libs. I have also unpacked manually (with "show package content" and unpacked the Archiv.pax) the packages but they do really not include the libs. Pleas find the dmg for the port "logrotate" created with "port mdmg logrotate". Installing this "standalone" package on a system without a macports installation and by running the port, the port will abort with an error message, that it could not open the referenced lib ... under /opt/local/lib/ - that is obvious as the installation of the standalone package does neither create this directory nor put there the needed libs.
With best regards,
André
Changed 16 years ago by andre.mueller@…
Attachment: | logrotate-3.7.1-1.dmg added |
---|
Example : port mdmg logrotate
comment:3 follow-up: 4 Changed 16 years ago by jmroot (Joshua Root)
Type: | enhancement → defect |
---|
Hmm, you're right, the pkgs for all the dependencies aren't being built. Odd that it worked for my test case of libpng+zlib, but fails for logrotate.
comment:4 Changed 16 years ago by andre.mueller@…
Replying to jmr@…:
Hmm, you're right, the pkgs for all the dependencies aren't being built. Odd that it worked for my test case of libpng+zlib, but fails for logrotate.
Thank for your response. In the case of "webalizer" it fails also to !include! (the dependencies are build and available) the dependencies into the packages. In the case of "iftop" it fails to include "/opt/local/share/terminfo/" and in lib/ the corresponding symlink to terminfo.
Best regards,
André
comment:5 follow-up: 6 Changed 16 years ago by jmroot (Joshua Root)
Component: | base → ports |
---|---|
Milestone: | MacPorts Future → Port Bugs |
Owner: | changed from macports-tickets@… to markd@… |
Port: | logrotate added |
Summary: | [port base] port build standalone binaries pkg / dmg → logrotate needs deps at runtime |
Ah, logrotate only has build-time dependencies listed. These are not meant to be included in the packages. So some of them are actually needed at runtime too. Just popt, or also gzip? Or is it also missing some dependencies entirely?
comment:6 Changed 16 years ago by andre.mueller@…
Replying to jmr@…:
Ah, logrotate only has build-time dependencies listed. These are not meant to be included in the packages. So some of them are actually needed at runtime too. Just popt, or also gzip? Or is it also missing some dependencies entirely?
Hello
I have test it again on the target system where no macports is installed by moving out all libs in /opt/local/lib and then moving in one lib after an other. Here are the results for the ports I have created as standalone packages :
iftop : needs : /opt/local/lib/terminfo (symlink to /opt/local/share/terminfo/...) /opt/local/share/terminfo/... (all files in this directory ?)
logrotate : needs : /opt/local/lib/libpopt* /opt/local/lib/libintl*
webalizer : needs : /opt/local/lib/libgd* /opt/local/lib/libpng* /opt/local/lib/libXpm* /opt/local/lib/libintl* /opt/local/lib/libX11* /opt/local/lib/libXau* /opt/local/lib/libXdmcp* /opt/local/lib/libjpeg* /opt/local/lib/libfontconfig* /opt/local/lib/libfreetype*
These are the libs which do show as missing calling iftop -?, logrotate -?, webalizer -?. Although there are more libs in the /opt/local/lib/ directory i copied manually over from the build system to the systems I wanted to install the standalone packages. On macports I have build only iftop, logrotate and webalizer, so I guess the remaining libs are also part of these three ports or at least of the X11 port. X11 was then included in the webalizer package by the command "port mdmg webalizer" as separated package but also without the libs.
I hope this helps. best regards,
André
comment:8 Changed 15 years ago by andre.mueller@…
Hello
I build again with Macports 1.8.2-10.6-SnowLeopard on a new installation logrotate as a standalone package :
port mdmg logrotate.
Unfortunately the lib "libpopt.0.dylib" is not included again in the standalone package. I had to copy manually the lib from /opt/local/lib/libpopt* to the target system. All other libs used by logrotate were included in the standalone package.
best regards,
André
comment:9 Changed 15 years ago by markd@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
I made popt, gettext, and gzip run dependencies in r66354. Gzip is optional, but it isn't a build dependency.
Also updated it to the latest patch level. I'm going to close this, but please reopen if there is still some problem.
So what does happen when you run
port mpkg
orport mdmg
? They both seem to work as expected here.