Hi Hanspeter! (CCing maintainers of broken packages)

Am 31.08.2010 um 18:13 schrieb Hanspeter Niederstrasser:

> The results for the latest buildworld (10.5/i386/unstable) are in:
> 
> <http://www.snaggledworks.com/fink/fink-build-forever/2010-08-14/out/report.html>
> 
> By maintainer:
> <http://www.snaggledworks.com/fink/fink-build-forever/2010-08-14/out/maintindex.html>

Thanks for this, Hanspeter, it's a truly heroic and valuable effort you are 
undertaking there!

> 
> This run tried to build every package as 'nobody' (fink-bld actually) 
> first and then tried as root if that failed.  The logs of packages that 
> failed building/installing as 'fink-bld' are here (sorry, no nice 
> formatting for these):
> 
> <http://www.snaggledworks.com/fink/fink-build-forever/2010-08-14/nobody/>
> 
> There's a move to add --build-as-nobody into the default command (except 
> for packages that explicitly opt out as needed), so most of those 
> packages listed in the /nobody/ directory will fail in the future unless 
> fixed (and should be fixed anyway as good form).
> 

Indeed. And in at least some cases, --b-a-n reveals actual packaging errors. 
For example, the splint package (currently unmaintained), errors out this way:
...
/bin/sh ../config/mkinstalldirs /sw/share/man/man1
 /usr/bin/install -c -m 644 ./splint.1 /sw/share/man/man1/splint.1
install: /sw/share/man/man1/splint.1: Permission denied
...

I.e. it tries to install stuff directly into /sw. Ooops! I took over the 
package, fixed this, and updated it to the latest version (from 2007 ;).


Other examples of packages that try to install, remove or modify stuff outside 
the installdir (e.g. in /sw); some hints on how to fix some of them follow 
below; for details on the error, see the logs under 
<http://www.snaggledworks.com/fink/fink-build-forever/2010-08-14/nobody/>.

Alexander Strange <astra...@ithinksw.com>
* tads3-3.0.8-1

Asko Kauppi <akau...@gmail.com>
* luarocks-1.0-1

Benjamin Reed <i...@fink.racoonfink.com>
* ion-20040729-1

Chris Zubrzycki <bere...@users.sourceforge.net>
* uptimed-0.2.0-1

Corey Halpin <chal...@cs.wisc.edu>
* libnasl3-ssl-2.2.6-3
* libnasl3-2.2.6-3

H. Todd Fujinaka <ht...@twofifty.com>
* 6tunnel-0.11rc2-1000

Jack Fink <jackf...@users.sourceforge.net>
* codebreaker-1.2.1-2
* etpan-ng-0.7.1-2
* meme-4.3.0-2
* netfleet-mac-0.1.4-1004 (tries to "rm -rf /usr/bin/netfleet.app")
* proxyknife-1.7-2
* qosmic-mac-1.4.8-1004
* qtwitter-aqua-0.2.1-1002 (tries to "rm -rf /usr/bin/qtwitter.app")
* rc-1.7.1-2
* simpleproxy-3.4-1002
* udav-mac-0.6-1003
* vobcopy-1.2.0-1

Kurt Schwehr <goat...@users.sourceforge.net>
* pyexiv2-py25-0.1.2-1
* pyexiv2-py26-0.1.2-1

Matthias Neeracher <neerac...@mac.com>
* cdbkup-1.0-4

Matthias Ringwald <frec...@users.sf.net>
* mico-2.3.12-13
* netcdf-perl-pm586
* netcdf-perl-pm588

Mike Laster <m...@marketocracy.com>>
* spread-3.17.1-1

rayg <g...@users.sourceforge.net>
* autossh-1.4a-1

Steffen Schmidt <steffen.schm...@tuebingen.mpg.de>
* itcl-3.3-1
* itk-3.3-2

Thomas Kotzian <thomas.kotz...@gmx.at>
* snort-2.3.3-1004

Vincent Marqueton <vinc...@marqueton.com>
* grisbi-0.5.8-1003

None <fink-devel@lists.sourceforge.net>
* grass64-6.4.0-4  (tries to install /Library/GRASS/6.4)
* grass64-pgsql-6.4.0-3  (tries to install /Library/GRASS/6.4)
* samba-ldap-2.2.12-1014
* samba-2.2.12-1013




Note that some of these may have further issues with --b-a-n. 

Back to the "modify stuff outside the installdir bug: For several of these this 
is caused by using
  ConfigureParams: --mandir=%p/share/man
(note the %p instead of %i), but not a custom installscript. Now the default 
installscript simply does something like
  make install prefix=%i
but since mandir was already set to /sw/share/man, this prefix change won't 
affect it. bang. Possibly solutions include:
1) use --mandir=%i/share/man (this can cause breakage in other places)
2) use --mandir='${prefix}/share/man' (usually safe, at least for most packages)
3) keep using --mandir=%p/share/man but ad a custom InstallScript,  typically:
    make install DESTDIR=%d

Using the third option is what I prefer, but *only* if the package actually 
support it! Incorrect use of DESTDIR actually cause the "modify outside 
installdir" error for several packages on the list above (e.g. in etpan-ng).

Moreover, some packages (e.g. qtwitter-aqua) try to rm -rf stuff in/usr/bin -- 
ouch, that seems pretty evil, too :).


Cheers,
Max
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to