Comment 5 for bug 1024009

Revision history for this message
Massimo Dal Zotto (dz) wrote :

I found this interesting behaviour:

 $ pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: ./icu-config --incpkgdatafile
sh: 1: ./icu-config: not found
pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O option)
 required parameter is missing: -O is required for static and shared builds.
Run 'pkgdata --help' for help.

$ /usr/bin/pkgdata -v -p bin_mkltfs -m static -q packagelist.txt
# Calling icu-config: /usr/bin/icu-config --incpkgdatafile
# icu-config said: /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgdata: Reading packagelist.txt..
# Reading options file /usr/lib/icu/4.8.1.1/pkgdata.inc
# pkgDataFlags= "-a gcc", "so", "so", "a", "lib", ".48.1.1", "gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c", "-I/usr/include -DPIC -fPIC", "gcc -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -shared -Wl,-Bsymbolic"
# Writing package file ./bin_mkltfs.dat ..
# libFileName[LIB_FILE] = libbin_mkltfs
# libFileName[LIB_FILE_VERSION] = libbin_mkltfs.a (static)
# Generating assembly code of type -a gcc ..
pkgdata: gcc -D_REENTRANT -DU_ATTRIBUTE_DEPRECATED= -g -Wall -O2 -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -c -I/usr/include -DPIC -fPIC -o ./bin_mkltfs_dat.o ./bin_mkltfs_dat.s
pkgdata: ar r ./libbin_mkltfs.a ./bin_mkltfs_dat.o
pkgdata: ranlib ./libbin_mkltfs.a

In other words pkgdata works if invoked with the full path of the executable and fails if called only by program name, even if it is in the PATH:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

So it is definitely a pkgdata bug.