Date: Mon, 17 Jan 2011 12:26:25 -0800 From: Jason Helfman <jhelfman@e-e.com> To: Ruslan Mahmatkhanov <cvs-src@yandex.ru> Cc: ports@freebsd.org Subject: Re: New port needs review: net/erlyvideo Message-ID: <20110117202625.GA55917@eggman.experts-exchange.com> In-Reply-To: <4D34A312.8060808@yandex.ru> References: <11111295127072@web122.yandex.ru> <4D3329FE.7020901@yandex.ru> <20110116204416.GA1654@eggman.experts-exchange.com> <4D3361B3.40201@yandex.ru> <20110116214557.GA2179@eggman.experts-exchange.com> <4D34A312.8060808@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 17, 2011 at 11:14:10PM +0300, Ruslan Mahmatkhanov thus spake: >17.01.2011 00:45, Jason Helfman пишет: > >>>> You may wish to consider a for loop on the make install target. >>>> Are these directories created during the install process of the >>>> package? I >>>> didn't see these directories created outside of the Makefile. >>> >>> Do you mean something like this? >>> >>> DIRS= /var/lib/${PORTNAME}/movies /var/lib/${PORTNAME}/plugins \ >>> /var/log/${PORTNAME} ${ERLYDIR} ${ETCDIR} ${WWWDIR} >>> .for dir in ${DIRS} >>> ${MKDIR} ${dir} >>> .endfor >> >> Yes, however are they created during a pkg_add command? Consider a recent >> patch I submitted for comms/minicom. >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/153749 >> >> Directories created in Makefile process, aren't created in the packaging >> process, unless you are putting the operations into a pkg-install or an >> @exec operation in pkg-plist, respectively. >> >> That is my understanding, and what I have found in fixing ports here and >> there. I fixed the packaging for www/tomcat55, as well. I found that as a >> port it worked fine, however package installation would fail. > >Jason, i fixed all the issues that you mentioned besides this one. > >1. "for" loop somehow doesn't work for ${ETCDIR}, ${WWWDIR}, ${ERLDIR} >in Makefile. I tried to add this lines and it fails to create this >directories: >""" >.for dir in /var/lib/${PORTNAME}/movies /var/lib/${PORTNAME}/plugins >\ /var/log/${PORTNAME} ${ETCDIR} ${ERLYDIR} ${WWWDIR} > ${MKDIR} ${dir} >.endfor >""" I believe you need to do this: ${MKDIR} $${dir} >But dirs in /var still created fine. > >2. When i do a `make package` then i see that in created package >directories and files that installed into /var/lib/${PORTNAME} and >/var/log/${PORTNAME} are missing (still ${ETCDIR}, ${WWWDIR}, ${ERLDIR} >added to package without any problem). > >This directories is created in filesystem, but missing in package file. >I read >http://www.freebsd.org/doc/en/books/porters-handbook/plist-cleaning.html >and PR 153749 but it doesn't help much. Directories in /var are created, >but not included into a package. How can i fix that? It is an empty directory, so you could do what I had done for minicom, potentially: Just an example, and not tested... add to pkg-plist: @cwd /var @exec if [ ! -d %D/lib/${PORTNAME} ] ; then /bin/mkdir %D/lib/${PORTNAME} ; fi @exec if [ ! -d %D/log/${PORTNAME} ] ; then /bin/mkdir %D/log/${PORTNAME} ; fi @dirrm lib/${PORTNAME} @dirrm log/${PORTNAME} > >-- >Regards, >Ruslan > -jgh -- Jason Helfman System Administrator experts-exchange.com http://www.experts-exchange.com/M_4830110.html E4AD 7CF1 1396 27F6 79DD 4342 5E92 AD66 8C8C FBA5
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110117202625.GA55917>