On Sat, Nov 14, 2009 at 12:40 PM, Allan McRae <allan@archlinux.org> wrote:
Ciprian Dorin, Craciun wrote:
One quick note. I've tried what you've suggested (`package/*/...`) and it doesn't work (as expected `*` expands before anything is in the current dir).
It does not expand it until it actually uses the value in the array. i.e. when it goes to do the man page compression/purging.
This is my test PKGBUILD
--start PKGBUILD--
pkgname=('t1') pkgdesc="text with spaces" pkgver=1 pkgrel=1 arch=('i686' 'x86_64') license=('testing the license') depends=('pacman')
build () { return 0 }
package() { mkdir -p ${pkgdir}/package/foobar-2.1/usr/share/man/man1 echo "I am a man page" > ${pkgdir}/package/foobar-2.1/usr/share/man/man1/test.1 }
--end PKGBUILD--
I get that "man page" compressed with
MAN_DIRS=({package/*,}{usr{,/local}{,/share},opt/*}/{man,info})
Sorry, didn't work for me. I've updated the /etc/makepkg.conf, to also include your `{package/*,}{usr{,/local}{,/share},opt/*}/{man,info}`, and also checked that I have zipman in OPTIONS. I've also updated /usr/bin/makepkg to start with bash -x (display all commands), and this is what I have: ~~~~ -> Compressing man and info pages... ++> local manpage ext file link hardlinks hl ++> read manpage ++> find usr/man usr/info usr/share/man usr/share/info usr/local/man usr/local/info usr/local/share/man usr/local/share/info 'opt/*/man' 'opt/*/info' 'package/*usr/man' 'package/*usr/info' 'package/*usr/share/man' 'package/*usr/share/info' 'package/*usr/local/man' 'package/*usr/local/info' 'package/*usr/local/share/man' 'package/*usr/local/share/info' 'package/*opt/*/man' 'package/*opt/*/info' usr/man usr/info usr/share/man usr/share/info usr/local/man usr/local/info usr/local/share/man usr/local/share/info 'opt/*/man' 'opt/*/info' -type f ~~~~ You can clearly see that find receives as arguments paths that contain a *, and that these paths are quoted. Ciprian. P.S.: The makepkg is the one from the ArchLinux distribution, and not the one I've patched.