On 01/05/12 21:18, Gary Jennejohn wrote:
On Thu, 05 Jan 2012 09:52:40 +1000
Da Rock<freebsd-po...@herveybayaustralia.com.au>  wrote:

On 01/04/12 23:27, Gary Jennejohn wrote:
On Wed, 04 Jan 2012 22:31:51 +1000
Da Rock<freebsd-po...@herveybayaustralia.com.au>   wrote:

I've been advised I should attempt to port this for general use to
FreeBSD. I've been operating it manually very successfully now in a
number of operations. This is, however, my first attempt at a port and I
would like some guidance to see if I've done this right.

I was advised to copy the essential parts from a similar port, so I've
used archivers/linux-f10-ucl. This is my Makefile:

# New ports collection makefile for:    archivers/linux-f10-nss_ldap
# Date created:                2012-01-04
# Whom:                    rskinner
#
# $FreeBSD$
#

PORTNAME=        nss_ldap
PORTVERSION=        1.03
CATEGORIES=        security linux
MASTER_SITES=        CRITICAL/rpm/${LINUX_RPM_ARCH}/fedora/${LINUX_DIST_VER}
PKGNAMEPREFIX=        linux-f10-
DISTNAME=        ${PORTNAME}-${PORTVERSION}-${RPMVERSION}

MAINTAINER=        emulat...@freebsd.org
COMMENT=        nss_ldap library (Linux Fedora 10)

CONFLICTS=

USE_LINUX_RPM=        yes
LINUX_DIST_VER=        10
RPMVERSION=        8.fc9
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/${PORTNAME}-${PORTVERSION}
PORTDOCS=        COPYING NEWS README THANKS TODO
DESCR=            ${.CURDIR}/../${PORTNAME}/pkg-descr

.include<bsd.port.mk>

And I have a pkg-descr file.

Am I on the right track? I'm following the porters handbook as well.

Doesn't pass portlint.

Can't fetch the RPM file.

Otherwise, a pretty good start.
Ok, thats good so far then. Thanks for the assessment.

Now, what's portlint?

/usr/ports/ports-mgmt/portlint.  It does syntax checking on the Makefile
and checks things like correct checksums in distfile.  You run it in the
port's directory.

And I have a question or two about the rpm. Do I need to script
something to just extract the files needed, or is it already in the mk
files already somewhere?

I suspect that setting USE_LINUX_RPM= yes in Makefile should be all
you need, but I've never done a RPM port.  Some seem to use only
LINUX_RPM_ARCH= i386, which is the only option at the moment since
we don't have a AMD64 Linux base port.

And how do I work out the url for fetching the rpm? This particular one
is a moving target as the distro is already eol. Is it stored on the
FreeBSD servers? Or what do I do here?

That could be a problem.  Maybe a committer could host it for you.  I'm
hosting flwm-1.00.tgz, although I don't think it's used anymore.

In the porters handbook it mentions checksums and "make makesum" - does
that mean I have to put it in the ports tree to try it?

I just update Makefile, fetch the tarball and then run "make makesum"
before generating diffs or making a tarball of the port.

And is pkg-message scripted or do I just create it?

See the comment in /usr/ports/Mk/bsd.port.mk.  There are lots of very
informative comments in that file.
I've read that before too, but I seem to be missing something fundamental about ports here. I need to get a handle on all this before I can proceed. I'm pulling it apart now, anyway.

There are native ports, and there are the linux base ports. For the native ports the maintainer hosts? But these linux ports are they hosted on the linux rpm sites? Or are they hosted by the maintainer? So I believe I cannot sort a few things out until I know exactly what is going on here. As I mentioned its eol, but if the rest come from the linux sites...

All I want is 3 files from the usr/lib in the rpm (I think). What I couldn't quite ascertain is what is done here in the bsd.linux-rpm.mk: is it extracted and the files copied by make? Or is the rpm installed as in linux?

If I have to find a host for it I can host it, but what opportunities for a backup site exist in case of failure? Do I have to arrange that as the maintainer, or is it mirrored by FreeBSD automatically? Ideally I suppose both those scenarios would be in order.

And Chris, the license to most linux core stuff is GPL - I also checked the COPYING file for nss_ldap (as that is the only one we're concerned with here) and its GPLv2.

I've been spending the past few days trying to work out a tinderbox but my resources are stretched. I'm hoping to rectify this in the near future, but so far nada...

The checksums are all tied up with the hosting and so I'm still stuck there until I work it out, Paul. So I have to untangle these threads so I have a clearer picture on what I'm doing. from what I understand in what you're telling me it means I have to create the checksums to make available from the site, and makesum downloads it. If thats right, what do I have to do to create them? The handbook says differently (I think? Maybe I'm reading it wrong...)

Either that or maybe I'm just too tired rather than confused... :/ I'll have a look at another linux port tomorrow and pull it apart- and I'll try one closer to the core this time.

Thanks guys.
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to