linux-f10-nss_ldap: my first port - be gentle :)

Chris Rees crees at freebsd.org
Mon Jan 9 09:43:28 UTC 2012


On 9 Jan 2012 06:01, "Da Rock" <freebsd-ports at herveybayaustralia.com.au>
wrote:
>
> All arguments aside, I've finally made headway - I think... its really
frustrating for me because to me it seems a bit of a "blackbox" atm. I'm
still trying to untangle the threads.
>
> I fiddled and tweaked and finally got make to run. I then ran make
-DPACKAGE_BUILD makesum and got a checksum (SHA256 too). All the while I
had portlint run every now and again spitting out errors I couldn't quite
translate. After makesum I ran it again and it said "looks fine." - I
called have slapped it silly! :) Bloody pretentious snot... could've been
more helpful earlier....
>
> I just need to work out how to check the checksum against a linux source.
I haven't found that yet.
>
> Now my Makefile looks like this:
>
> # New ports collection makefile for:    linux-f10-nss_ldap
> # Date created:                         2012-01-04
> # Whom:                                 da porta
port_maintainer at herveybayaustralia.com.au
>
> #
> # $FreeBSD$
> #
>
> PORTNAME=        nss_ldap
> PORTVERSION=    0.01
> CATEGORIES=        net linux
> MASTER_SITES=
ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/testing/10/i386/\
>
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/10/Everything/i386/os/Packages/\
>                http://herveybayaustralia.com.au/ports/distfiles/
> PKGNAMEPREFIX=    linux-f10-
> DISTNAME=        ${PORTNAME}-${NSS_LDAP_VERSION}-${RPMVERSION}
>
> MAINTAINER=        port_maintainer at herveybayaustralia.com.au
> COMMENT=        RFC 2307 NSS Module (Linux Fedora 10)
>
> LICENSE=        GPLv2
>
> NSS_LDAP_VERSION=264
>
> USE_LINUX_RPM=  yes
> USE_LINUX_PREFIX=yes
> LINUX_DIST_VER= 10
> RPMVERSION=     6.fc10
>
> USE_LDCONFIG=    yes
>
> PLIST_FILES=    usr/lib/libnss_ldap.so.2 usr/lib/libnss_ldap.so
usr/lib/libnss_ldap-264.so
> DOCSDIR=
 ${PREFIX}/usr/share/doc/${PKGNAMEPREFIX}-${PORTNAME}-${PORTVERSION}
>
> PORTDOCS=        COPYING NEWS README THANKS TODO
> DESCR=            ${.CURDIR}/../${PORTNAME}/pkg-descr
>
> post-extract:
>                .if !defined(WITH_PAM)
>                    @if [ -f ${WRKDIR}/lib/security/pam_ldap.so ]; then \
>                        rm -rf ${WRKDIR}/lib/
>                    fi
>                    @if [ -f
${WRKDIR}/usr/share/doc/nss_ldap-264/COPYING.pam_ldap ]; then \
>                        rm -rf ${WRKDIR}/usr/share/doc/nss_ldap-264/*.pam*
>                    fi
>                .else
>                    PLIST_FILES+=lib/security/pam_ldap.so \
>                        usr/share/doc/nss_ldap-264/AUTHORS.pam_ldap \
>                        usr/share/doc/nss_ldap-264/COPYING.LIB.pam_ldap \
>                        usr/share/doc/nss_ldap-264/COPYING.pam_ldap \
>                        usr/share/doc/nss_ldap-264/ChangeLog.pam_ldap \
>                        usr/share/doc/nss_ldap-264/NEWS.pam_ldap \
>                        usr/share/doc/nss_ldap-264/README.pam_ldap \
>                        usr/share/doc/nss_ldap-264/ldap.conf.pma_ldap
>                .endif
>                @if [ -f ${WRKDIR}/etc/ldap.conf ]; then \
>                    ${MV} -p ${WRKDIR}/etc/ldap.conf
${WRKDIR}/etc/ldap.conf.dist;
>                fi
>                PLIST_FILES+=usr/share/doc
>
> post-install:
>                @${CAT} ${PKGMESSAGE}
>
> .include <bsd.port.mk>
>
> I'm cutting it to the bone as much as I can. But I am also trying to cut
some of the files that are unnecessary and could be risky. After running
make the directory looks like this:
>
> ./
> ./Makefile
> ./pkg-descr
> ./work
> ./work/etc
> ./work/etc/ldap.conf
> ./work/lib
> ./work/lib/security
> ./work/lib/security/pam_ldap.so
> ./work/usr
> ./work/usr/lib
> ./work/usr/lib/libnss_ldap-264.so
> ./work/usr/lib/libnss_ldap.so
> ./work/usr/lib/libnss_ldap.so.2
> ./work/usr/share
> ./work/usr/share/doc
> ./work/usr/share/doc/nss_ldap-264
> ./work/usr/share/doc/nss_ldap-264/ANNOUNCE.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/AUTHORS.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/AUTHORS.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/COPYING.LIB.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/COPYING.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/COPYING.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/ChangeLog.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/ChangeLog.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/NEWS.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/NEWS.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/README.TLS
> ./work/usr/share/doc/nss_ldap-264/README.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/README.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/ldap.conf.nss_ldap
> ./work/usr/share/doc/nss_ldap-264/ldap.conf.pam_ldap
> ./work/usr/share/doc/nss_ldap-264/ldapns.schema
> ./work/usr/share/doc/nss_ldap-264/ns-pwd-policy.schema
> ./work/usr/share/doc/nss_ldap-264/nsswitch.ldap
> ./work/usr/share/doc/nss_ldap-264/pam.d
> ./work/usr/share/doc/nss_ldap-264/pam.d/chfn
> ./work/usr/share/doc/nss_ldap-264/pam.d/chsh
> ./work/usr/share/doc/nss_ldap-264/pam.d/ftp
> ./work/usr/share/doc/nss_ldap-264/pam.d/gdm
> ./work/usr/share/doc/nss_ldap-264/pam.d/halt
> ./work/usr/share/doc/nss_ldap-264/pam.d/imap
> ./work/usr/share/doc/nss_ldap-264/pam.d/kde
> ./work/usr/share/doc/nss_ldap-264/pam.d/linuxconf
> ./work/usr/share/doc/nss_ldap-264/pam.d/linuxconf-pair
> ./work/usr/share/doc/nss_ldap-264/pam.d/login
> ./work/usr/share/doc/nss_ldap-264/pam.d/mcserv
> ./work/usr/share/doc/nss_ldap-264/pam.d/other
> ./work/usr/share/doc/nss_ldap-264/pam.d/passwd
> ./work/usr/share/doc/nss_ldap-264/pam.d/pop
> ./work/usr/share/doc/nss_ldap-264/pam.d/poweroff
> ./work/usr/share/doc/nss_ldap-264/pam.d/ppp
> ./work/usr/share/doc/nss_ldap-264/pam.d/reboot
> ./work/usr/share/doc/nss_ldap-264/pam.d/rexec
> ./work/usr/share/doc/nss_ldap-264/pam.d/rlogin
> ./work/usr/share/doc/nss_ldap-264/pam.d/rsh
> ./work/usr/share/doc/nss_ldap-264/pam.d/samba
> ./work/usr/share/doc/nss_ldap-264/pam.d/shutdown
> ./work/usr/share/doc/nss_ldap-264/pam.d/ssh
> ./work/usr/share/doc/nss_ldap-264/pam.d/su
> ./work/usr/share/doc/nss_ldap-264/pam.d/vlock
> ./work/usr/share/doc/nss_ldap-264/pam.d/xdm
> ./work/usr/share/doc/nss_ldap-264/pam.d/xlock
> ./work/usr/share/doc/nss_ldap-264/pam.d/xscreensaver
> ./work/usr/share/doc/nss_ldap-264/pam.d/xserver
> ./work/usr/share/man
> ./work/usr/share/man/man5
> ./work/usr/share/man/man5/nss_ldap.5.gz
> ./work/usr/share/man/man5/pam_ldap.5.gz
> ./work/.extract_done.nss_ldap._compat_linux
> ./work/GPLv2
> ./work/.license-catalog.mk
> ./work/.license-report
> ./work/.license_done.nss_ldap._compat_linux
> ./work/.patch_done.nss_ldap._compat_linux
> ./work/.configure_done.nss_ldap._compat_linux
> ./work/.build_done.nss_ldap._compat_linux
> ./distinfo.i386
>
> So I figure I can remove the pam related stuff prior to install unless
WITH_PAM is defined, and control what files are added to the PLIST that way.
>
> The man pages under the linux chroot, but the docs I thought would go
into the /usr/share/doc/as linux-f10-nss_ldap?

Just use ${DOCSDIR}; it'll be defined for you, so don't set it.

Chris


More information about the freebsd-ports mailing list