Any body?

I'm new to porting for FreeBSD and make files aren't my strongest suit. So I would be greatful if I could get an experienced porter to review my make
files, for at very simple deamon.

I've read the porter handbook and the port seems to be working fine. But I'm uncertain as to what is best practise and since this will hopefully be
the first of many ports, I would like to get i right.

If you want to help, please drop me a note and I will send you the two
small makefiles to review.

Hi and welcome!
First of all you should install ports-mgmt/portlint and run it against
your port (if you haven't done it already). Be sure to use the switch to
enable additional checks (I got bitten once because I forgot it).
Then you could perhaps put your work online somewhere and provide a link,
so everybody can take a look at it and test.

Best regards,
Jona


Ok. thanks.
Its simple so  I will just put in in this mail.
I hope to have the ability to make changes in the source, so I've included
the proposed application
Makefile as well.
Its all working, but I would like to know if the concepts are sound?

Portlint throws a warning, but I don't se any reasonable way arrount that:

/usr/ports/distfiles>portlint
WARN: Makefile: possible use of absolute pathname "/etc/rc.conf.bak".
0 fatal errors and 1 warning found.


Root
Makefile: 
--------------------------------------------------------------------------------------

# New ports collection makefile for:   kissdx
# Date created:        20. November 2007
# Whom:                Simon I. Rigét
#
# $FreeBSD$

PORTNAME=   kissdx
PORTVERSION= 0.13.10a
CATEGORIES=  multimedia net
MASTER_SITES= http://freebsd.paragi.dk/kissdx/ \
http://kissdx.vidartysse.net/
DISTNAME=   ${PORTNAME}-${PORTVERSION}

MAINTAINER=  [EMAIL PROTECTED]
COMMENT=   A multimedia streaming server for KiSS/Linksys player

USE_ICONV= yes

# Dependencies of other packeges
LIB_DEPENDS= libdvdread:${PORTSDIR}/multimedia/libdvdread \
libiconv:${PORTSDIR}/converters/libiconv \
gd-2:${PORTSDIR}/graphics/gd
jpeg-6b_4:${PORTSDIR}/graphics/jpeg

# Man pages
MAN1= kissdx.1
MANCOMPRESSED= yes

# RC start and stop service
USE_RC_SUBR= kissdx

# set enviroment variables for port makefile
MAKE_ENV= FreeBSD=defined

# Convert CR/LF to LF in source files
USE_DOS2UNIX= yes

post-patch:
${REINPLACE_CMD} -e 's|Linux|Unix|g' ${WRKSRC}/kissdx.1
${REINPLACE_CMD} -e 's|/etc/|/usr/local/etc/|' ${WRKSRC}/kissdx.1
$(GZIP_CMD) -c ${INSTALL_WRKSRC}/kissdx.1 >${INSTALL_WRKSRC}/kissdx.1.gz
$(MKDIR) $(FILESDIR)
$(CP) ${WRKSRC}/kissdx.in ${FILESDIR}

do-install: all
$(INSTALL_PROGRAM) ${INSTALL_WRKSRC}/kissdx ${TARGETDIR}/sbin/kissdx
$(INSTALL_DATA) ${INSTALL_WRKSRC}/kissdx.conf ${TARGETDIR}/etc/kissdx.conf
$(INSTALL_MAN) ${INSTALL_WRKSRC}/kissdx.1.gz
${TARGETDIR}/man/man1/kissdx.1.gz
echo "kissdx_enabled=\"YES\"" >> /etc/rc.conf

do-deinstall:
$(RM) ${TARGETDIR}/sbin/kissdx
$(RM) ${TARGETDIR}/etc/kissdx.conf
$(RM) ${TARGETDIR}/man/man1/kissdx.*
$(RM) ${TARGETDIR}/etc/rc.d/kissdx
$(CP) ${/etc/rc.conf} ${/etc/rc.conf}.bak
${GREP} -v kissdx_ /etc/rc.conf.bak >/etc/rc.conf

.include <bsd.port.mk>



pkg-plist: 
------------------------------------------------------------------------------------

sbin/kissdx
etc/kissdx.conf
etc/rc.d/kissdx



Application
Makefile: 
------------------------------------------------------------------------------------

#################################################################################
 KiSS DX multi OS Makefile# By SR. 
2007-11-30################################################################################
 
#################################################################################
 Operating system# Uncomment for onr of the desired OS (Execpt FreeBSD which 
will be definedby# the master 
makefile)################################################################################
 #env= Environment(**ARGUMENTS)#NSLU2= defined#CYGWIN= definedLinux= defined 
#################################################################################
 Generic settings## In some UNIX systems  build options that affect all ports 
can be setglobally.# this makefile should not override the existing 
value.################################################################################CC?=
 gcc# compiler directives (defines)# Sendfile# -DUSE_INTERNAL_SENDFILE (less 
performance) if you cannot use the
 sendfilesyscall on your# target platform with 64-bit file access.  Needed for 
Unslung 5.5 on NSLU2.# -DUSE_INTERNAL_SENDFILE_MMAP (better performance)#  with 
-DUSE_INTERNAL_SENDFILE if your target platform supports memorymapped#  files with 
64-bit file access and you want to use it.  Not possible with# >2GB files on 
Unslung 5.5 on NSLU2.CFLAGS+= -DUSE_INTERNAL_SENDFILE # Support for lage file sizes 
>2GbCFLAGS+= -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_FILE_OFFSET_BITS=64CFLAGS+= -D_GNU_SOURCE# Compile optionsCFLAGS+= -Wall 
-Wstrict-prototypes# LiberariesLIBS+= -ldvdread# remove -liconv below if your system 
has libiconv built inLIBS+= -liconvLIBS+= -ljpegLIBS+= -lm# Link optionsLDFLAGS+= -O2 
-s -L/usr/lib 
-L/usr/local/lib#################################################################################
 Operating system dependend 
settings################################################################################.if
 defined(FreeBSD)# FreeBSD definitionsCFLAGS+= -DFreeB
SDCFLAGS+= -I. -I/usr/include 
-I/usr/local/includeCFLAGS+=-D_CONF_DIR=${TARGETDIR}/etc/.undef(Linux).undef(NSLU2).undef(CYGWIN).else#Linux
 definitionCFLAGS+= -DLinux# Install 
settings.create-install-target=definedINSTALL_PROGRAM?= install -b -S .old -o 
root -g root -m 755INSTALL_SCRIPT?= install -b -S .old -o root -g root -m 
755INSTALL_DATA?= install -b -S .old -o root -g root -m 644INSTALL_MAN?= 
install -o root -g root -m 644INSTALL_WRKSRC= .TARGETDIR= 
$(DISTDIR)/usrMANTARGETDIR= /usr/share/man.endif.if defined(NSLU2)CC= 
arm-linux-gccCFLAGS+= -mcpu=xscale -mbig-endianCFLAGS+= -I/opt/includeLIBS+= 
-L/opt/lib.undef(create-install-target).endif#################################################################################
 Make a list of object files as targets for 
compilation################################################################################OBJS=
 kissdx.o connection.o sendfile.o dvdread.o playlist.o jpeg.opiccache.oOBJS+= 
utils.o config.o backtoback.oOBJS+= gdst
uff/gdstuff.o gdstuff/gd.o gdstuff/gdfontg.o gdstuff/gd_jpeg.oOBJS+= 
gdstuff/gdhelpers.o gdstuff/gd_io_dp.o gdstuff/gd_io.oOBJS+= 
gdstuff/gd_security.o#################################################################################
 Compile and link rules## Build in macros:#$@ The file name of the target.#$< The 
name of the first dependency.#$* The part of a filename which matched a suffix 
rule.#$? The names of all the dependencies newer than the target separated 
byspaces.#$^ The names of all the dependencies separated by spaces, but 
withduplicate#  names removed.#$+ The names of all the dependencies separated by 
spaces with duplicatenames#  included and in the same order as in the 
rule.################################################################################ 
.c.o:$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< .o :$(CC) -o $@ $(LIBS) $(LDFLAGS) 
$(OBJS)# Do all the compiling and linkingall: $(OBJS) 
kissdx########################################################################
######### Linux install 
rules################################################################################.if 
!defined(FreeBSD).if defined(create-install-target)#Install files on the 
systeminstall:$(INSTALL_PROGRAM) ${INSTALL_WRKSRC}/kissdx $(TARGETDIR)/sbin/kissdx$(INSTALL_DATA) 
${INSTALL_WRKSRC}/kissdx.conf $(TARGETDIR)/etc/kissdx.conf$(INSTALL_MAN) ${INSTALL_WRKSRC}/kissdx.1 
$(MANTARGETDIR)/man1/kissdx.1 #Remove all installed filesuninstall:rm $(TARGETDIR)/sbin/kissdxrm 
$(TARGETDIR)/etc/kissdx.confrm $(MANTARGETDIR)/man1/kissdx.1echo "All files successfully 
removed".endif# This clean only removes compiled files.clean:rm -rf kissdx.exe kissdx $(OBJS) 
*.bak *~echo "Clean as a whistle".endif
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to