Date: Thu, 18 Mar 2004 01:02:58 +0100 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: mi@aldan.algebra.com Subject: ports/64393: establish proper master-slave relations between ports Message-ID: <4058E732.1090909@fillmore-labs.com>
next in thread | raw e-mail | index | archive | help
>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@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@FreeBSD.org [ ] devel/motor (5) clement@FreeBSD.org [ ] databases/py-MySQLdb (5) clive@FreeBSD.org [ ] chinese/bitchx (4) [ ] chinese/mutt (4) cyrille.lefevre@laposte.net [ ] lang/gforth (5) daniel@freebsd.ro [ ] mail/vqregister (5) dinoex@FreeBSD.org [ ] lang/gnustep-base (5) [ ] mail/popa3d (5) dmitry@karasik.eu.org [ ] x11-toolkits/p5-Prima (5) don@na.rim.or.jp [ ] japanese/ruby-ming (4) eric@fractal.csie.org [ ] chinese/links (4) erwin@FreeBSD.org [ ] archivers/p5-Archive-Zip (5) [ ] security/p5-Crypt-SSLeay (5) gerald@FreeBSD.org [ ] lang/gcc33 (5) [ ] lang/gcc34 (5) girgen@pingpong.net [ ] databases/postgresql7 (5) [ ] databases/postgresql72 (5) [ ] databases/postgresql73 (5) holger@e-gitt.net [ ] chinese/mldonkey-core (4) honda@kashio.info.mie-u.ac.jp [ ] japanese/ng-canna (4) jb.quenot@caraldi.com [ ] x11/numlockx (5) jihuang@gate.sinica.edu.tw [ ] chinese/bind8 (4) jonas@jonas.night-light.net [ ] irc/ircproxy (5) kay_lehmann@web.de [ ] databases/qt-mysql-plugin (5) kde@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@FreeBSD.org [ ] chinese/xemacs21 (5) knu@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@FreeBSD.org [ ] japanese/zipcodes (5) [ ] www/p5-HTML-Template (5) laszlof@vonostingroup.com [ ] audio/taglib (5) lioux@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@FreeBSD.org [ ] math/spooles-mpich (4) [ ] science/mpqc-mpich (4) martin@tradex.sk [ ] games/hlserver-psychostats (5) matthias.andree@gmx.de [ ] databases/db42 (5) mi@aldan.algebra.com [ ] databases/mysqltcl (5) [ ] databases/tcl-Mysql (5) [ ] devel/tcl-memchan (5) [ ] devel/tcltls (5) [ ] devel/tkp4 (5) [ ] graphics/gdtclft (5) mita@FreeBSD.org [ ] japanese/ghostscript-gnu-jpnfont (4) [ ] korean/ghostscript-gnu-korfont (4) [ ] print/ghostscript-gnu-commfont (5) murakami@ahs.scitec.kobe-u.ac.jp [ ] science/cdcl-gtk (5) [ ] science/ruby-dcl-gtk (5) nadav@cs.technion.ac.il [ ] hebrew/pine (5) nobutaka@FreeBSD.org [ ] mail/wanderlust-emacs20 (4) [ ] mail/wanderlust-xemacs21-mule (4) [ ] www/emacs-w3m-emacs20 (4) [ ] www/emacs-w3m-xemacs21-mule (4) obrien@FreeBSD.org [ ] shells/bash2 (5) [ ] vietnamese/unicode-uhoai (5) [ ] vietnamese/vis2u (5) okazaki@FreeBSD.org [ ] converters/mule-ucs-emacs20 (4) [ ] devel/elib-emacs19 (4) [ ] devel/elib-emacs20 (4) [ ] devel/pcl-cvs-emacs20 (4) oliver@FreeBSD.org [ ] mail/vqadmin (5) openoffice@FreeBSD.org [ ] portuguese/ooodict-pt_BR (4) [ ] portuguese/ooodict-pt_PT (4) orlando.bassotto@ieo-research.it [ ] emulators/vmware3 (5) pat@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@FreeBSD.org [ ] deskutils/multisync-backup (5) [ ] deskutils/multisync-evolution (5) [ ] deskutils/multisync-syncml (5) ports@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@rrr.de [ ] german/linux-eagle (5) [ ] german/netscape7 (5) roam@FreeBSD.org [ ] devel/makedepend (5) sada@FreeBSD.org [ ] japanese/p5-manual (5) seanc@FreeBSD.org [ ] databases/postgresql-devel (5) sf@FreeBSD.org [ ] japanese/navi2ch-emacs21 (4) [ ] japanese/navi2ch-xemacs21-mule (4) shige@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@tohoku.iij.ad.jp [ ] x11-servers/XttXF86srv-SVGA (4) [ ] x11-servers/XttXF86srv-common (1,4,5) taoka@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@FreeBSD.org [ ] graphics/xbmbrowser (5) tmclaugh@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@mx10.freecom.ne.jp [ ] japanese/ical (1,4,5) trevor@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@FreeBSD.org [ ] chinese/irssi (4) voisine@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@catpipe.net [ ] misc/afbackup-client (4) [ ] misc/afbackup-server (4) yabu@uopmu.ees.osakafu-u.ac.jp [ ] japanese/t2ps (5) yatt@luna2.org [ ] audio/timidity++-emacs (1,4,5) yoichi@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@CCCA.NCTU.edu.tw [ ] chinese/ti(1,4)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4058E732.1090909>