ikiwiki/doc/bugs/Use_install__40__1__41___in...

33 lines
1.5 KiB
Markdown

Currently ikiwiki uses cp(1) with GNU extensions in Makefile.PL for installing files, thus causing problems on FreeBSD which doesn't have a cp(1) with GNU extensions in the base system.
Here is a patch against ikiwiki-1.51 for using find(1) and install(1) instead of cp(1).
--- Makefile.PL.orig Sun Apr 29 12:57:51 2007
+++ Makefile.PL Sun Apr 29 13:08:38 2007
@@ -47,8 +47,12 @@ extra_clean:
extra_install:
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki
- find basewiki templates \( -type f -or -type l \) ! -regex '.*\.svn.*' \
- -exec cp --parents -aL {} $(DESTDIR)$(PREFIX)/share/ikiwiki \;
+ for dir in `find -L basewiki templates -type d ! -regex '.*\.svn.*'`; do \
+ install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
+ for file in `find -L $$dir -maxdepth 1 -type f`; do \
+ install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
+ done; \
+ done
install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 ikiwiki.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki.1
> Couldn't it just use install -D ? --[[Joey]]
>> No, apparently FreeBSD `install` does not support `-D`. See [the FreeBSD install manpage](http://www.freebsd.org/cgi/man.cgi?query=install&apropos=0&sektion=0&manpath=FreeBSD+6.2-RELEASE&format=html). --[[JoshTriplett]]
>> Patch applied; [[done]]. --[[JoshTriplett]]
There are still/again "cp -a"s in the Makefile as of 3.00
> It's a cp -a || install. Is that causing you a problem somehow?
> --[[Joey]]