ports/64393: establish proper master-slave relations between ports

Oliver Eikemeier eikemeier at fillmore-labs.com
Wed Mar 17 16:20:55 PST 2004


>Number:         64393
>Category:       ports
>Synopsis:       establish proper master-slave relations between ports
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 17 16:10:17 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.9-STABLE

>Description:

Dear port maintainers,

recently I noticed that two of out best tools, FreshPorts 

<http://www.freshports.org/> and portsmon <http://portsmon.firepipe.net/> have 
difficulties to establish proper master-slave relations between the ports in 
the ports tree.

Essentially all tools that work on the ports tree as a whole assume a certain 
uniformity in ports Makefiles, which goes beyond just compiling and installing 
without errors.

Non-adherence to these standards makes it hard to write tools that work for 
all ports and hinders progress, because small changes in bsd.port.mk may break 
your port.

>How-To-Repeat:

I checked the current ports tree assuming the following rules:

1.) A port is a slave port if and only if MASTERDIR != .CURDIR

2.) Slave ports shout define MASTERDIR using one of the following lines:

MASTERDIR=  ${.CURDIR}/../../<category>/<port>
MASTERDIR=  ${.CURDIR}/../<port>
MASTERDIR=  ${PORTSDIR}/<category>/<port>

3.) Non-slave ports shouldn't define MASTERDIR at all

4.) The last line of a slave port's Makefile has to be

include "${MASTERDIR}/Makefile"

5.) The last line of a non-slave ports Makefile must be one of:

include <bsd.port.mk>
include <bsd.port.post.mk>

6.) slave ports may not include bsd.port(.pre).mk

These rules are more or less checked by portlint and described in:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-masterdir.html
  http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/dads-after-port-mk.html

In most cases a violation of these rules is an attempt to work around the 
structure of bsd.port.mk.

Even though this may be an easy solution for the needs of your port, please 
think about an other way to do it.

>Fix:

Sometimes there are simply some comment lines at the end of the Makefile. 
Please move or delete them.

If you do not know how to fix the port, ask at ports at FreeBSD.org or don't 
hesitate to contact me.

If there is currently no other way to do what you need for installing the 
port, this may be an area where bsd.port.mk has to be improved, and it is 
important that we become aware of this fact.

Please fix your port(s) and mark the fixed ports with an `X' in the list
below (just edit-pr 64393

ale at FreeBSD.org
 [ ] devel/motor (5)

clement at FreeBSD.org
 [ ] databases/py-MySQLdb (5)

clive at FreeBSD.org
 [ ] chinese/bitchx (4)
 [ ] chinese/mutt (4)

cyrille.lefevre at laposte.net
 [ ] lang/gforth (5)

daniel at freebsd.ro
 [ ] mail/vqregister (5)

dinoex at FreeBSD.org
 [ ] lang/gnustep-base (5)
 [ ] mail/popa3d (5)

dmitry at karasik.eu.org
 [ ] x11-toolkits/p5-Prima (5)

don at na.rim.or.jp
 [ ] japanese/ruby-ming (4)

eric at fractal.csie.org
 [ ] chinese/links (4)

erwin at FreeBSD.org
 [ ] archivers/p5-Archive-Zip (5)
 [ ] security/p5-Crypt-SSLeay (5)

gerald at FreeBSD.org
 [ ] lang/gcc33 (5)
 [ ] lang/gcc34 (5)

girgen at pingpong.net
 [ ] databases/postgresql7 (5)
 [ ] databases/postgresql72 (5)
 [ ] databases/postgresql73 (5)

holger at e-gitt.net
 [ ] chinese/mldonkey-core (4)

honda at kashio.info.mie-u.ac.jp
 [ ] japanese/ng-canna (4)

jb.quenot at caraldi.com
 [ ] x11/numlockx (5)

jihuang at gate.sinica.edu.tw
 [ ] chinese/bind8 (4)

jonas at jonas.night-light.net
 [ ] irc/ircproxy (5)

kay_lehmann at web.de
 [ ] databases/qt-mysql-plugin (5)

kde at freebsd.org
 [ ] databases/qt-ibase-plugin (2,4)
 [ ] databases/qt-odbc-plugin (2,4)
 [ ] databases/qt-pgsql-plugin (2,4)
 [ ] databases/qt-sqlite-plugin (2,4)
 [ ] devel/tinyq (5)

kiri at FreeBSD.org
 [ ] chinese/xemacs21 (5)

knu at FreeBSD.org
 [ ] archivers/ruby-bz2 (5)
 [ ] comms/ruby-termios (5)
 [ ] devel/ruby-bsearch (5)
 [ ] devel/ruby-cache (5)
 [ ] devel/ruby-cvs (5)
 [ ] devel/ruby-filemagic (5)
 [ ] devel/ruby-gemfinder (5)
 [ ] devel/ruby-gettext (5)
 [ ] devel/ruby-mmap (5)
 [ ] devel/ruby-sdl (5)
 [ ] devel/ruby-sysvipc (5)
 [ ] devel/ruby-tzfile (5)
 [ ] graphics/ruby-evas (5)
 [ ] graphics/ruby-image_size (5)
 [ ] graphics/ruby-libexif (5)
 [ ] graphics/ruby-libpng (5)
 [ ] japanese/rbnamazu (5)
 [ ] japanese/r [ ] math/vtk-headers (1,4)
 [ ] math/vtk-java (1,4)
 [ ] math/vtk-python (1,4)
 [ ] math/vtk-tcl (1,4)

kuriyama at FreeBSD.org
 [ ] japanese/zipcodes (5)
 [ ] www/p5-HTML-Template (5)

laszlof at vonostingroup.com
 [ ] audio/taglib (5)

lioux at FreeBSD.org
 [ ] emulators/vgb-bin (5)
 [ ] emulators/vgba-bin (5)
 [ ] games/hlserver-esf (5)
 [ ] games/hlserver-existence (5)
 [ ] games/hlserver-glbwar (5)
 [ ] games/hlserver-heroes (5)
 [ ] games/hlserver-ns (5)
 [ ] games/hlserver-opera (5)
 [ ] games/hlserver-opfor (5)
 [ ] games/hlserver-pvk (5)
 [ ] games/hlserver-snow (5)
 [ ] games/hlserver-svencoop (5)
 [ ] games/hlserver-ts (5)
 [ ] games/hls [ ] x11-themes/kde-icons-sparkling (5)
 [ ] x11-themes/kde-icons-steel (5)
 [ ] x11-themes/kde-icons-umicons (5)
 [ ] x11-themes/kde-icons-wasp (5)

maho at FreeBSD.org
 [ ] math/spooles-mpich (4)
 [ ] science/mpqc-mpich (4)

martin at tradex.sk
 [ ] games/hlserver-psychostats (5)

matthias.andree at gmx.de
 [ ] databases/db42 (5)

mi at aldan.algebra.com
 [ ] databases/mysqltcl (5)
 [ ] databases/tcl-Mysql (5)
 [ ] devel/tcl-memchan (5)
 [ ] devel/tcltls (5)
 [ ] devel/tkp4 (5)
 [ ] graphics/gdtclft (5)

mita at FreeBSD.org
 [ ] japanese/ghostscript-gnu-jpnfont (4)
 [ ] korean/ghostscript-gnu-korfont (4)
 [ ] print/ghostscript-gnu-commfont (5)

murakami at ahs.scitec.kobe-u.ac.jp
 [ ] science/cdcl-gtk (5)
 [ ] science/ruby-dcl-gtk (5)

nadav at cs.technion.ac.il
 [ ] hebrew/pine (5)

nobutaka at FreeBSD.org
 [ ] mail/wanderlust-emacs20 (4)
 [ ] mail/wanderlust-xemacs21-mule (4)
 [ ] www/emacs-w3m-emacs20 (4)
 [ ] www/emacs-w3m-xemacs21-mule (4)

obrien at FreeBSD.org
 [ ] shells/bash2 (5)
 [ ] vietnamese/unicode-uhoai (5)
 [ ] vietnamese/vis2u (5)

okazaki at FreeBSD.org
 [ ] converters/mule-ucs-emacs20 (4)
 [ ] devel/elib-emacs19 (4)
 [ ] devel/elib-emacs20 (4)
 [ ] devel/pcl-cvs-emacs20 (4)

oliver at FreeBSD.org
 [ ] mail/vqadmin (5)

openoffice at FreeBSD.org
 [ ] portuguese/ooodict-pt_BR (4)
 [ ] portuguese/ooodict-pt_PT (4)

orlando.bassotto at ieo-research.it
 [ ] emulators/vmware3 (5)

pat at FreeBSD.org
 [ ] games/hlserver-action (5)
 [ ] games/hlserver-admin (5)
 [ ] games/hlserver-cs (5)
 [ ] games/hlserver-dod (5)
 [ ] games/hlserver-fa (5)
 [ ] games/hlserver-flf (5)
 [ ] games/q3server-excessive (5)
 [ ] games/q3server-freezetag (5)
 [ ] games/q3server-osp (5)
 [ ] games/q3server-ut (5)
 [ ] games/q3server-wfa (5)

pav at FreeBSD.org
 [ ] deskutils/multisync-backup (5)
 [ ] deskutils/multisync-evolution (5)
 [ ] deskutils/multisync-syncml (5)

ports at FreeBSD.org
 [ ] chinese/dictd (4)
 [ ] chinese/unzip (4)
 [ ] devel/cvsbook (5)
 [ ] devel/qt-designer (4)
 [ ] editors/psgml-xemacs21-mule (4)
 [ ] editors/tamago-emacs20 (4)
 [ ] games/utserver-asu (5)
 [ ] graphics/libimg (5)
 [ ] graphics/linux-jpeg (5)
 [ ] graphics/linux-png (5)
 [ ] graphics/linux-ungif (5)
 [ ] japanese/gnomelibs (1,4)
 [ ] japanese/xvi-euc (4)
 [ ] japanese/xvi-sjis (4)
 [ ] net/cap (5)
 [ ] print/envelope (5)
 [ ] www/linux-lesstif-ns (5)
 [ ] www/w3c-httpd (5)
 [ ] editors/chexedit (5)

riggs at rrr.de
 [ ] german/linux-eagle (5)
 [ ] german/netscape7 (5)

roam at FreeBSD.org
 [ ] devel/makedepend (5)

sada at FreeBSD.org
 [ ] japanese/p5-manual (5)

seanc at FreeBSD.org
 [ ] databases/postgresql-devel (5)

sf at FreeBSD.org
 [ ] japanese/navi2ch-emacs21 (4)
 [ ] japanese/navi2ch-xemacs21-mule (4)

shige at FreeBSD.org
 [ ] editors/apel-emacs19 (4)
 [ ] editors/apel-emacs20 (4)
 [ ] editors/apel-mule (4)
 [ ] editors/apel-xemacs21-mule (4)
 [ ] editors/bitmap-emacs20 (4)
 [ ] editors/bitmap-mule (4)
 [ ] editors/custom-mule (4)
 [ ] editors/flim-emacs20 (4)
 [ ] editors/flim-xemacs21-mule (4)
 [ ] editors/flim113-emacs19 (4)
 [ ] editors/flim113-emacs20 (4)
 [ ] editors/flim113-mule (4)
 [ ] editors/flim113-xemacs21-mule (4)
 [ ] editors/psgml-emacs19 (4)
 [ ] editors/psgml-emacs20 (4)
 [ ] editors/psgml-mule (4)
 [ ] editors/semi-emacs20 (4)
 [ ] editors/semi-xemacs21-mule (4)
 [ ] editors/semi113-emacs19 (4)
 [ ] editors/semi113-emacs20 (4)
 [ ] editors/semi113-mule (4)
 [ ] editors/semi113-xemacs21-mule (4)

taguchi at tohoku.iij.ad.jp
 [ ] x11-servers/XttXF86srv-SVGA (4)
 [ ] x11-servers/XttXF86srv-common (1,4,5)

taoka at FreeBSD.org
 [ ] audio/linux-esound (5)
 [ ] audio/linux-libaudiofile (5)
 [ ] devel/linux-libglade (5)
 [ ] graphics/linux-imlib (5)
 [ ] graphics/linux-tiff (5)
 [ ] textproc/linux-libxml (5)
 [ ] x11/linux-gnomelibs (5)

tg at FreeBSD.org
 [ ] graphics/xbmbrowser (5)

tmclaugh at sdf.lonestar.org
 [ ] x11-themes/gnome-icons-aqua-fusion (5)
 [ ] x11-themes/gnome-icons-cool-gorilla (5)
 [ ] x11-themes/gnome-icons-crystal (5)
 [ ] x11-themes/gnome-icons-gentoo-test (5)
 [ ] x11-themes/gnome-icons-iris (5)
 [ ] x11-themes/gnome-icons-noia-full (5)
 [ ] x11-themes/gnome-icons-noia-warm (5)
 [ ] x11-themes/gnome-icons-refined (5)
 [ ] x11-themes/gnome-icons-slick (5)
 [ ] x11-themes/gnome-icons-snow-apple (5)
 [ ] x11-themes/gnome-icons-stylish (5)
 [ ] x11-themes/gnome-icons-ximian-south (5)

tmutoh at mx10.freecom.ne.jp
 [ ] japanese/ical (1,4,5)

trevor at FreeBSD.org
 [ ] accessibility/linux-atk (5)
 [ ] audio/linux-mbrola (4)
 [ ] devel/linux-glib2 (5)
 [ ] french/netscape7 (5)
 [ ] japanese/linux-ttfonts (5)
 [ ] japanese/netscape7 (5)
 [ ] portuguese/netscape7 (5)
 [ ] textproc/linux-expat (5)
 [ ] x11-fonts/linux-fontconfig (5)
 [ ] x11-fonts/linux-urw-fonts (5)
 [ ] x11-toolkits/linux-gtk2 (5)
 [ ] x11-toolkits/linux-pango (5)

vanilla at FreeBSD.org
 [ ] chinese/irssi (4)

voisine at yahoo.com
 [ ] chinese/linux-mozillafirebird-zh_CN (5)
 [ ] chinese/linux-mozillafirebird-zh_TW (5)
 [ ] german/linux-mozillafirebird (5)
 [ ] japanese/linux-mozillafirebird-gtk1 (5)
 [ ] japanese/linux-mozillafirebird-gtk2 (5)
 [ ] russian/linux-mozillafirebird (5)
 [ ] www/linux-mozillafirebird-el (5)

voland at catpipe.net
 [ ] misc/afbackup-client (4)
 [ ] misc/afbackup-server (4)

yabu at uopmu.ees.osakafu-u.ac.jp
 [ ] japanese/t2ps (5)

yatt at luna2.org
 [ ] audio/timidity++-emacs (1,4,5)

yoichi at FreeBSD.org
 [ ] databases/bbdb-emacs20 (4)
 [ ] deskutils/mhc-emacs20 (4)
 [ ] deskutils/mhc-xemacs21-mule (4)
 [ ] mail/emh-emacs20 (4)
 [ ] mail/emh-xemacs21-mule (4)

yssu at CCCA.NCTU.edu.tw
 [ ] chinese/ti(1,4)


More information about the freebsd-ports mailing list