Need help with a port

Paul Schmehl pschmehl_lists at tx.rr.com
Fri Dec 18 22:47:38 UTC 2009


--On Thursday, December 17, 2009 23:48:08 -0600 Nikola Lečić 
<nikola.lecic at anthesphoria.net> wrote:

>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: RIPEMD160
>
> On Wed, 16 Dec 2009 21:58:21 -0600
> Paul Schmehl <pschmehl_lists at tx.rr.com> wrote:
>
>> I'm the port maintainer for security/barnyard2.  I submitted a port
>> upgrade a while ago, but the committer asked me to make a change
>> before he would approve it.  I'm not sure what to do.
>>
>> The source code, when it's extracted, sets the perms on install-sh to
>> r--r--r.  This causes an error during the build.  The way I tried to
>> resolve the issue was by adding this to the Makefile:
>>
>> +pre-install:
>> +        ${CHMOD} 744 ${WRKSRC}/install-sh
>> +
>>
>> The committer said that was the wrong way to do it, that I should
>> edit the configure file.  But the configure file doesn't do anything
>> to the install-sh file at all.
>
> I think this should actually be ${CHMOD} ${BINMODE}. I have a similar
> thing in one of my ports: textproc/teckit. Besides install-sh, the
> permissions of configure script itself had to be altered.
>
> A simple grep for CHMOD and WRKSRC reveals a heap of ports doing such
> things in ${WRKSRC}...

I see that now:

# grep -r install-sh * | grep "WRKSRC" | grep "CHMOD"
grep: security/base/work/base-php4/signatures: No such file or directory
archivers/par2cmdline-tbb/Makefile:     @${CHMOD} u+x ${WRKSRC}/install-sh
audio/mhwaveedit/Makefile:      @${CHMOD} +x ${WRKSRC}/install-sh
audio/gbemol/Makefile:  @${CHMOD} a+x ${WRKSRC}/install-sh
biology/phyml/Makefile: ${CHMOD} a+x ${WRKSRC}/install-sh
chinese/fcitx/Makefile: @${CHMOD} 0755 ${WRKSRC}/install-sh
converters/libticonv/Makefile:  @${CHMOD} 755 ${WRKSRC}/install-sh
deskutils/google-gadgets/Makefile:      @cd ${WRKSRC} && ${CHMOD} +x 
autotools/install-sh
devel/acovea-gtk/Makefile:      ${CHMOD} 755 ${WRKSRC}/install-sh
devel/rudeconfig/Makefile:      ${CHMOD} 744 ${WRKSRC}/install-sh
devel/bennugd-core/Makefile:    @${CHMOD} a+x ${WRKSRC}/configure 
${WRKSRC}/install-sh
devel/bennugd-modules/Makefile: @${CHMOD} a+x ${WRKSRC}/configure 
${WRKSRC}/install-sh
emulators/tiemu3/Makefile:      ${CHMOD} +x ${WRKSRC}/install-sh
games/brutalchess/Makefile:     ${CHMOD} 0755 ${WRKSRC}/install-sh
games/crossfire-server/Makefile:        @${CHMOD} a+x ${WRKSRC}/utils/install-sh
games/daimonin-client/Makefile: @${CHMOD} a+x ${WRKSRC}/configure 
${WRKSRC}/make_utils/install-sh
games/libfov/Makefile:  @${CHMOD} ${BINMODE} ${WRKSRC}/install-sh
games/numptyphysics/Makefile:   @${CHMOD} a+x ${WRKSRC}/install-sh
games/pipewalker/Makefile:      @${CHMOD} a+x ${WRKSRC}/install-sh
japanese/mecab/Makefile:        ${CHMOD} a+x ${WRKSRC}/install-sh
math/pgcalc/Makefile:   @${CHMOD} 755 ${WRKSRC}/skins/HP49G+ 
${WRKSRC}/admin/install-sh
misc/hello/Makefile:    ${CHMOD} a+x ${WRKSRC}/build-aux/install-sh
misc/talkfilters/Makefile:      @${CHMOD} +x ${WRKSRC}/install-sh
multimedia/flvmeta/Makefile:    ${CHMOD} a+x ${WRKSRC}/install-sh
net/grsync/Makefile:    @${CHMOD} u+x ${WRKSRC}/install-sh
net-im/trix/Makefile:       ${CHMOD} 744 ${WRKSRC}/install-sh
net-p2p/dclib/Makefile: ${CHMOD} 0755 ${WRKSRC}/admin/install-sh
print/texinfo/Makefile: ${CHMOD} 755 ${WRKSRC}/build-aux/install-sh
security/barnyard2/patch-Makefile:+     ${CHMOD} 744 ${WRKSRC}/install-sh
security/barnyard2-devel.shar:X ${CHMOD} a+x ${WRKSRC}/install-sh
sysutils/duff/Makefile: ${CHMOD} +x ${WRKSRC}/install-sh
textproc/teckit/Makefile:       ${CHMOD} ${BINMODE} ${WRKSRC}/configure 
${WRKSRC}/install-sh
www/suphp/Makefile:     @${CHMOD} 755 ${WRKSRC}/config/install-sh
x11/alltray/Makefile:   @${CHMOD} +x ${WRKSRC}/install-sh
x11-wm/openbox/Makefile:        @${CHMOD} +x ${WRKSRC}/install-sh

Two questions come to mind.  1) Is there any standardized way to do this? 
(It's obvious it's not being done in a standard way) 2) Is there anyone with 
the authority to tell me don't/do do it this way and not that way?

It looks like ${CHMOD} ${BINMODE} ${WRKSRC}/install-sh is the "right" way to do 
it, but can someone confirm that?  And can I finally get my update committed?

-- 
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson



More information about the freebsd-ports mailing list