Subject: New pkg submit: pkgsrc/sysutils/logrotate
To: None <tech-pkg@netbsd.org>
From: Brian A. Seklecki <lavalamp@spiritual-machines.org>
List: tech-pkg
Date: 08/02/2003 02:59:42
There's a logrotate(8) (as seen in some GNU/Linux distros) that I
frequently use in place of newsyslog(8) for a number of flexibility
reasons. I normally source compile, but I figure I'd rather have someone
commit it to pkgsrc instead. And so here it is:
pkglink(8) checks out on it for sanity checks, but there are two serious
problems I need advice on:
The NetBSD pkg i've compiled is at:
http://digitalfreaks.org/~lavalamp/logrotate-netbsd-pkgsrc.tar
Shall I submit it another way? perhaps send-pr(1) ?..pkgsrc-wip?
1) The name of the package is "logrotate-3.6.5" but the name of the
source distribution tarball is "logrotate_3.6.5.orig.tar.gz"
So I set:
DISTNAME= ${PKGNAME:S/-/_/}.orig
PKGNAME= logrotate-3.6.5
...based on some other package's Makefiles, but that isn't being useful
or more likely I'm using it wrong. Plus I'm not sure how to use a
sed(1) regex to insert into a string, so maybe someone can offer some
insign there
The URL of the file is:
http://http.us.debian.org/debian/pool/main/l/logrotate/logrotate_3.6.5.orig.tar.gz
So I set:
MASTER_SITES= ${MASTER_SITE_DEBIAN:=pool/main/l/logrotate/}
...and that seems to work.
2) I had to completely re-write the Makefile (included in my tar file as
./Makefile-logrotate_src) included with the original package tarball (to
the point where it would be silly to submit a patch file, it would make
more sense to have a "pre-build:" targate and ${CP} the working one from
${FILES}/Makefile to ${WRKDIR}/${DISTNAME}/Makefile and overwrite the
inclded one). I also had to setup a "do-install:" target because the
Makefile would have been overkill.
I was running into some ld(1) errors at that point, so I had to
statically pound -L/usr/pkg/lib into the CFLAGS variable (an obvious
error), but now I'm getting:
*** The above programs/libs will not find the listed shared libraries
at runtime. Please fix the package (add -Wl,-R.../lib in the right
places)!
*** Error code 1
And indeed, the sbin/ binary is not linking properly:
# ldd /usr/pkg/sbin/logrotate
/usr/pkg/sbin/logrotate:
-lpopt.0 => not found
-lintl.0 => /usr/lib/libintl.so.0
-lc.12 => /usr/lib/libc.so.12
...which seems odd that it would link to libintl but not lpopt. So
maybe someone can enlighten me on the voodoo behind our ld(1) ? I can
only assume statically setting $LDFLAGS would be further erroneous. I
thought buildlink2.mk took care of setting all those environmentals!
--
Thanks,
-Brian
NOTE: When replying to a mailing list post, please be sure to reply to
the /list/ and cc: or bcc: myself as I am unable to promise a timely
response.