Skip Menu |
 

This queue is for tickets about the Mail-SPF CPAN distribution.

Report information
The Basics
Id: 34768
Status: open
Priority: 0/
Queue: Mail-SPF

People
Owner: Nobody in particular
Requestors: HVDS [...] cpan.org
MSTEVENS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: v2.005
Fixed in: (no value)



Subject: Can't install as non-root
MIME-Version: 1.0
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Type: text/plain
Charset: utf8
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 643
Download (untitled) / with headers
text/plain 643b
Mail::SPF installer doesn't respect the perl installation prefix. I have a test perl 5.10 install in /tmp/perl-5.10-install. CPAN modules should install under this prefix. When I try to install Mail::SPF, it complains it can't write to /usr/sbin: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/usr/sbin' Do not have write permissions on '/usr/sbin' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at /tmp/perl-5.10.0-install/lib/5.10.0/Module/Build/Base.pm line 2804 JMEHNLE/mail-spf/Mail-SPF-v2.005.tar.gz ./Build install -- NOT OK I'm installing from CPAN.pm.
MIME-Version: 1.0
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Content-Disposition: inline
Charset: utf8
Message-Id: <rt-3.6.HEAD-8580-1218980465-1915.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 294
Download (untitled) / with headers
text/plain 294b
This also affects installing the old-fashioned way: % perl Makefile.PL PREFIX=/home/ed % make [ok] % make test [ok] % make install [...] Cannot forceunlink /usr/sbin/spfd: Permission denied at /usr/share/perl/5.8/File/Find.pm line 886 The location of the sbin directory should respect PREFIX.
MIME-Version: 1.0
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Content-Disposition: inline
Charset: utf8
Message-Id: <rt-3.6.HEAD-8614-1218989927-1755.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 529
Download (untitled) / with headers
text/plain 529b
Hi there. I am aware of the issue. Unfortunately neither Perl's hard-coded config variables nor Module::Build (nor ExtUtils::MakeMaker) provide an automatism for determining the proper "sbin" path -- only "bin". Consequently, module authors would have to implement all the PREFIX / install_base logic themselves for such custom paths. To date I haven't found the time to do so, and it isn't exactly high on my priority list, but I will gladly accept a clean patch. Sorry for not being able to give a more positive reaction.
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-8614-1218989927-1755.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Charset: utf8
References: <rt-3.6.HEAD-8614-1218989927-1755.34768-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-5597-1226523737-1442.34768-0-0 [...] rt.cpan.org>
Content-Type: multipart/mixed; boundary="----------=_1226523737-5597-65"
X-RT-Original-Encoding: utf-8
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 458
Download (untitled) / with headers
text/plain 458b
I also have a need for this. I don't particularly need spfd though (as far as I know), so I applied the attached patch after building, which was enough to let the install go through. (It is unfortunate that this is the first thing Module::Build attempts to install, so failure here means nothing gets installed at all.) I would recommend talking to p5p about a better way to do this - I don't imagine it would be hard for perl to add support for this. Hugo
MIME-Version: 1.0
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Content-Type: multipart/mixed; boundary="----------=_1226523737-5597-64"
Charset: utf8
Content-Length: 0
Content-Type: text/plain
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: iso-8859-1
Content-Length: 0
Content-Type: application/octet-stream; name="install-nonroot"
Content-Disposition: inline; filename="install-nonroot"
Content-Transfer-Encoding: base64
Content-Length: 693
Download install-nonroot
application/octet-stream 693b

Message body not shown because it is not plain text.

MIME-Version: 1.0
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
Charset: utf8
Content-Type: text/plain
Message-ID: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 492
Download (untitled) / with headers
text/plain 492b
I have decided to NOT fix this until the time when Perl's Config.pm provides the system's/user's "sbin" path and Module::Build uses that to support installing "sbin" executables (or Module::Build provides its own portable mechanism independent of Config.pm). For the time being, you can work around the current limitation by using the "--install_path" option during installation: $ ./Build install --install_path sbin=/desired/sbin/path I'm documenting this workaround in the INSTALL file.
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
References: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID: <rt-3.8.HEAD-26546-1271106764-1012.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 319
Download (untitled) / with headers
text/plain 319b
Show quoted text
> $ ./Build install --install_path sbin=/desired/sbin/path > > I'm documenting this workaround in the INSTALL file.
Your workaround doesn't work for those of use using CPAN to build a large number of modules for older platforms using CPAN. Couldn't you at least take the given build directory and tack sbin onto it?
MIME-Version: 1.0
In-Reply-To: <rt-3.8.HEAD-26546-1271106764-1012.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
References: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org> <rt-3.8.HEAD-26546-1271106764-1012.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID: <rt-3.8.HEAD-26544-1271107234-565.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 336
Download (untitled) / with headers
text/plain 336b
On Mon Apr 12 17:12:45 2010, MISHIKAL wrote: Show quoted text
> Your workaround doesn't work for those of use using CPAN to build a > large number of modules for older platforms using CPAN. Couldn't you at > least take the given build directory and tack sbin onto it?
Why does the workaround not work? What do you mean by "the given build directory"?
MIME-Version: 1.0
In-Reply-To: <rt-3.8.HEAD-26544-1271107234-565.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org> <rt-3.8.HEAD-26546-1271106764-1012.34768-0-0 [...] rt.cpan.org> <rt-3.8.HEAD-26544-1271107234-565.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-4848-1393277289-665.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 83
What's wrong with simply installing into the normal path like any other executable?
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-24077-1393330100-1748.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 280
Download (untitled) / with headers
text/plain 280b
Most users of Mail::SPF only use the parsing parts of the Mail::SPF distribution. They don't need sbin/spfd and will never use it. It would be worth considering moving it in a separate CPAN distribution called Mail::SPF::Server. -- Olivier Mengué - http://perlresume.org/DOLMEN
MIME-Version: 1.0
In-Reply-To: <rt-4.0.18-24077-1393330100-1748.34768-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-3.6.HEAD-3617-1257017705-1144.34768-0-0 [...] rt.cpan.org> <rt-4.0.18-24077-1393330100-1748.34768-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-1372-1534966200-1692.34768-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 391
Download (untitled) / with headers
text/plain 391b
On Tue Feb 25 07:08:20 2014, DOLMEN wrote: Show quoted text
> Most users of Mail::SPF only use the parsing parts of the Mail::SPF > distribution. > They don't need sbin/spfd and will never use it. > It would be worth considering moving it in a separate CPAN > distribution called Mail::SPF::Server.
+1 for this idea. I forget about this and have to manually mess with Mail::SPF every time I upgrade perl :(


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.