Bug 92406 - /opt/bin/make install DESTDIR=/xxx/yyy does not work solely in DESTDIR but also references ${prefix} without ${DESTDIR}
Summary: /opt/bin/make install DESTDIR=/xxx/yyy does not work solely in DESTDIR but al...
Status: RESOLVED NOTABUG
Alias: None
Product: fontconfig
Classification: Unclassified
Component: conf (show other bugs)
Version: 2.11
Hardware: PowerPC AIX
: medium normal
Assignee: fontconfig-bugs
QA Contact: Behdad Esfahbod
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-10 16:46 UTC by Michael Felt
Modified: 2015-10-23 13:10 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Michael Felt 2015-10-10 16:46:15 UTC
with the following command I get the following output - with several hard links (as one example) to files that do not exist during packaging. (for me that is the mkinstallp command).

Relative link paths should work!

root@x064:[/data/prj/freedesktop/fontconfig/fontconfig-2.11.94]/opt/bin/make install DESTDIR=/var/aixtools/freedesktop/fontconfig/2.11.94.0
Making install in fontconfig
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fontconfig'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fontconfig'
make[2]: Nothing to be done for 'install-exec-am'.
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/include/fontconfig'
 .././install-sh -c -m 644 fontconfig.h fcfreetype.h fcprivate.h '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/include/fontconfig'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fontconfig'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fontconfig'
Making install in fc-blanks
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-blanks'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-blanks'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-blanks'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-blanks'
Making install in fc-case
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
/opt/bin/make  install-am
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
make[3]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-case'
Making install in fc-lang
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
/opt/bin/make  install-am
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
make[3]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-lang'
Making install in fc-glyphname
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
/opt/bin/make  install-am
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
make[3]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-glyphname'
Making install in src
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
/opt/bin/make  install-am
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
make[3]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib'
 /bin/sh ../libtool   --mode=install .././install-sh -c   libfontconfig.la '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib'
libtool: install: .././install-sh -c .libs/libfontconfig.a /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib/libfontconfig.a
libtool: install: .././install-sh -c .libs/libfontconfig.lai /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib/libfontconfig.la
libtool: install: warning: remember to run `libtool --finish /opt/lib'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/src'
Making install in fc-cache
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cache'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cache'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-cache '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-cache /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-cache
/bin/sh /data/prj/freedesktop/fontconfig/fontconfig-2.11.94/install-sh -d "/var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/cache/fontconfig"
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cache'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cache'
Making install in fc-cat
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cat'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cat'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-cat '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-cat /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-cat
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cat'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-cat'
Making install in fc-list
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-list'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-list'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-list '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-list /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-list
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-list'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-list'
Making install in fc-match
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-match'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-match'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-match '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-match /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-match
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-match'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-match'
Making install in fc-pattern
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-pattern'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-pattern'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-pattern '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-pattern /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-pattern
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-pattern'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-pattern'
Making install in fc-query
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-query'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-query'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-query '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-query /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-query
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-query'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-query'
Making install in fc-scan
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-scan'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-scan'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-scan '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-scan /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-scan
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-scan'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-scan'
Making install in fc-validate
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-validate'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-validate'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
  /bin/sh ../libtool   --mode=install .././install-sh -c fc-validate '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin'
libtool: install: warning: `../src/libfontconfig.la' has not been installed in `/opt/lib'
libtool: install: .././install-sh -c .libs/fc-validate /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/bin/fc-validate
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-validate'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/fc-validate'
Making install in conf.d
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
/opt/bin/make  install-am
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
make[3]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
make[3]: Nothing to be done for 'install-exec-am'.
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/conf.d'
 .././install-sh -c -m 644 README '/var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/conf.d'
 .././install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/share/fontconfig/conf.avail'
 .././install-sh -c -m 644 10-autohint.conf 10-no-sub-pixel.conf 10-scale-bitmap-fonts.conf 10-sub-pixel-bgr.conf 10-sub-pixel-rgb.conf 10-sub-pixel-vbgr.conf 10-sub-pixel-vrgb.conf 10-unhinted.conf 11-lcdfilter-default.conf 11-lcdfilter-legacy.conf 11-lcdfilter-light.conf 20-unhint-small-vera.conf 25-unhint-nonlatin.conf 30-urw-aliases.conf 30-metric-aliases.conf 40-nonlatin.conf 45-latin.conf 49-sansserif.conf 50-user.conf 51-local.conf 60-latin.conf 65-fonts-persian.conf 65-khmer.conf 65-nonlatin.conf 69-unifont.conf 70-no-bitmaps.conf 70-yes-bitmaps.conf 80-delicious.conf 90-synthetic.conf '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/share/fontconfig/conf.avail'
/opt/bin/make  install-data-hook
make[4]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
mkdir -p /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/conf.d
cd /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/conf.d
rm -f 10-scale-bitmap-fonts.conf; ln -s /opt/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf .
rm -f 20-unhint-small-vera.conf; ln -s /opt/share/fontconfig/conf.avail/20-unhint-small-vera.conf .
rm -f 30-urw-aliases.conf; ln -s /opt/share/fontconfig/conf.avail/30-urw-aliases.conf .
rm -f 30-metric-aliases.conf; ln -s /opt/share/fontconfig/conf.avail/30-metric-aliases.conf .
rm -f 40-nonlatin.conf; ln -s /opt/share/fontconfig/conf.avail/40-nonlatin.conf .
rm -f 45-latin.conf; ln -s /opt/share/fontconfig/conf.avail/45-latin.conf .
rm -f 49-sansserif.conf; ln -s /opt/share/fontconfig/conf.avail/49-sansserif.conf .
rm -f 50-user.conf; ln -s /opt/share/fontconfig/conf.avail/50-user.conf .
rm -f 51-local.conf; ln -s /opt/share/fontconfig/conf.avail/51-local.conf .
rm -f 60-latin.conf; ln -s /opt/share/fontconfig/conf.avail/60-latin.conf .
rm -f 65-fonts-persian.conf; ln -s /opt/share/fontconfig/conf.avail/65-fonts-persian.conf .
rm -f 65-nonlatin.conf; ln -s /opt/share/fontconfig/conf.avail/65-nonlatin.conf .
rm -f 69-unifont.conf; ln -s /opt/share/fontconfig/conf.avail/69-unifont.conf .
rm -f 80-delicious.conf; ln -s /opt/share/fontconfig/conf.avail/80-delicious.conf .
rm -f 90-synthetic.conf; ln -s /opt/share/fontconfig/conf.avail/90-synthetic.conf .
make[4]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
make[3]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/conf.d'
Making install in test
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/test'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/test'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/test'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94/test'
make[1]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94'
make[2]: Entering directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/sh /data/prj/freedesktop/fontconfig/fontconfig-2.11.94/install-sh -d /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/cache/fontconfig
if [ -f /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf ]; then \
  echo "backing up existing /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf"; \
  mv /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf.bak; \
fi
backing up existing /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf
if [ -f ./fonts.conf ]; then \
  echo " ./install-sh -c -m 644 ./fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf"; \
  ./install-sh -c -m 644 ./fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf; \
else if [ -f fonts.conf ]; then \
  echo " ./install-sh -c -m 644 fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf"; \
  ./install-sh -c -m 644 fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf; \
fi; fi
 ./install-sh -c -m 644 ./fonts.conf /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/fonts.conf
***
*** Warning: fonts.cache not built
***
*** Generate this file manually on host system using fc-cache
***
 ./install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib/pkgconfig'
 ./install-sh -c -m 644 fontconfig.pc '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/lib/pkgconfig'
 ./install-sh -c -d '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/share/xml/fontconfig'
 ./install-sh -c -m 644 fonts.dtd '/var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/share/xml/fontconfig'
make[2]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94'
make[1]: Leaving directory '/data/prj/freedesktop/fontconfig/fontconfig-2.11.94'
root@x064:[/data/prj/freedesktop/fontconfig/fontconfig-2.11.94]

Basically, commands such as this:

rm -f 10-scale-bitmap-fonts.conf; ln -s /opt/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf .
rm -f 20-unhint-small-vera.conf; ln -s /opt/share/fontconfig/conf.avail/20-unhint-small-vera.conf .
rm -f 30-urw-aliases.conf; ln -s /opt/share/fontconfig/conf.avail/30-urw-aliases.conf .

are creating later issues when the DESTDIR is to be packaged. I expect an RPM.spec file could end up having the same kind of concern - for any pre-checks on packaging that follows

My 'packaging' follows with:

 mkinstallp.ksh /var/aixtools/freedesktop/fontconfig/2.11.94.0

chmod: 10-scale-bitmap-fonts.conf: A file or directory in the path name does not exist.
chmod: 20-unhint-small-vera.conf: A file or directory in the path name does not exist.
chmod: 30-urw-aliases.conf: A file or directory in the path name does not exist.
chmod: 30-metric-aliases.conf: A file or directory in the path name does not exist.
chmod: 40-nonlatin.conf: A file or directory in the path name does not exist.
chmod: 45-latin.conf: A file or directory in the path name does not exist.
chmod: 49-sansserif.conf: A file or directory in the path name does not exist.
chmod: 50-user.conf: A file or directory in the path name does not exist.
chmod: 51-local.conf: A file or directory in the path name does not exist.
chmod: 60-latin.conf: A file or directory in the path name does not exist.
chmod: 65-fonts-persian.conf: A file or directory in the path name does not exist.
chmod: 65-nonlatin.conf: A file or directory in the path name does not exist.
chmod: 69-unifont.conf: A file or directory in the path name does not exist.
chmod: 80-delicious.conf: A file or directory in the path name does not exist.
chmod: 90-synthetic.conf: A file or directory in the path name does not exist.
chmod: 10-scale-bitmap-fonts.conf: A file or directory in the path name does not exist.
chmod: 20-unhint-small-vera.conf: A file or directory in the path name does not exist.
chmod: 30-urw-aliases.conf: A file or directory in the path name does not exist.
chmod: 30-metric-aliases.conf: A file or directory in the path name does not exist.
chmod: 40-nonlatin.conf: A file or directory in the path name does not exist.
chmod: 45-latin.conf: A file or directory in the path name does not exist.
chmod: 49-sansserif.conf: A file or directory in the path name does not exist.
chmod: 50-user.conf: A file or directory in the path name does not exist.
chmod: 51-local.conf: A file or directory in the path name does not exist.
chmod: 60-latin.conf: A file or directory in the path name does not exist.
chmod: 65-fonts-persian.conf: A file or directory in the path name does not exist.
chmod: 65-nonlatin.conf: A file or directory in the path name does not exist.
chmod: 69-unifont.conf: A file or directory in the path name does not exist.
chmod: 80-delicious.conf: A file or directory in the path name does not exist.
chmod: 90-synthetic.conf: A file or directory in the path name does not exist.
chown: 10-scale-bitmap-fonts.conf: A file or directory in the path name does not exist.
chown: 20-unhint-small-vera.conf: A file or directory in the path name does not exist.
chown: 30-urw-aliases.conf: A file or directory in the path name does not exist.
chown: 30-metric-aliases.conf: A file or directory in the path name does not exist.
chown: 40-nonlatin.conf: A file or directory in the path name does not exist.
chown: 45-latin.conf: A file or directory in the path name does not exist.
chown: 49-sansserif.conf: A file or directory in the path name does not exist.
chown: 50-user.conf: A file or directory in the path name does not exist.
chown: 51-local.conf: A file or directory in the path name does not exist.
chown: 60-latin.conf: A file or directory in the path name does not exist.
chown: 65-fonts-persian.conf: A file or directory in the path name does not exist.
chown: 65-nonlatin.conf: A file or directory in the path name does not exist.
chown: 69-unifont.conf: A file or directory in the path name does not exist.
chown: 80-delicious.conf: A file or directory in the path name does not exist.
chown: 90-synthetic.conf: A file or directory in the path name does not exist.

The chown messages are because the symbolic link cannot resolve - the files are not installed in their AFTER packaging location. What I want to do as part of my pre-packaging is set file-owner and also mode.

The error below is what prevents packaging however. The AIX command mkinstallp
(no longer my script) verifies the existance of all files (to create checksums of real files) and verify that symbolic-links actually resolve.

What it is seeing as input is:
root@x064:[/data/prj/freedesktop/fontconfig/fontconfig-2.11.94]find /opt /var/aixtools -name 10-scale-bitmap-fonts.conf -ls
 4131    2 -rw-r--r--  1 root      system        2010 Oct 10 16:29 /var/aixtools/freedesktop/fontconfig/2.11.94.0/opt/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf
 4158    1 lrwxrwxrwx  1 root      system          59 Oct 10 16:29 /var/aixtools/freedesktop/fontconfig/2.11.94.0/var/fontconfig/etc/fonts/conf.d/10-scale-bitmap-fonts.conf -> /opt/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf

So, this fails - the object of the symbolic - as is - does not exist.

0503-881 mkinstallp: Invalid Filename (/var/fontconfig/etc/fonts/conf.d/10-scale-bitmap-fonts.conf)
        in /data/prj/freedesktop/fontconfig/fontconfig-2.11.94/buildaix/aixtools.freedesktop.fontconfig.2.11.94.0.template

As I do not understand the logic behind the conf.d library I cannot resolve this easily on my own. My work arounbd is to run "make install" first, so the files exist elsewhere on the system (on a clean build-only system this is not too harmful I hope) - but there is an assumption built-in that most other packages do not have.

Question: why a symbolic link rather than a copy (cp) command. and/or why in two locations?

I hope this has some interest to you (all).

regards,
Michael
Comment 1 Akira TAGOH 2015-10-20 01:47:12 UTC
You can't validate symlinks at the build time because DESTDIR isn't supposed to be. and DESTDIR is used as a prefix path how it looks at the installation time for packaging. the point is DESTDIR is dropped from the real installed path. so checking that at the build time in the sense of packaging really makes no sense.

So the answer for your question is, because we use a symlink to enable/disable a configuration file easily for system-wide and user-specific, and keep consistency on changes. if you copy some of them and it is changed in upstream, you'll miss it then. or if doubt, you'll need to copy them every time on upgrading.

fontconfig follows the general use of DESTDIR in autotools and no concerns on packaging at this moment.
Comment 2 Michael Felt 2015-10-22 18:22:19 UTC
On 2015-10-20 03:47, bugzilla-daemon@freedesktop.org wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=92406
>
> Akira TAGOH<akira@tagoh.org>  changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>               Status|NEW                         |RESOLVED
>                   CC|                            |akira@tagoh.org
>           Resolution|---                         |NOTABUG
You can call it "not a bug", but then you may want to document that make 
DESTDIR=/something/else will never work because the make process cannot 
deal with the symbolic links auto(anything) makes.
Probably "not a bug", at least not of fontconfig - but of one of the 
tools you use to automate builds of fontconfig.

As I commented - the workaround (for fontconfig) is to run 'make 
install' without DESTDIR, and then repeat make with DESTDIR. If you 
could help me better understand why a symbolic link is generated I might 
be able to work on a patch for auto-something. Unfortunately, I do not 
know the auto-something tools well enough to see easily where, or why 
the symbolic is generated.
Most projects do not generate them or they generate them relative to 
DESTDIR rather than hard on /.

I cannot recall the first project I had this problem - something I also 
resolved via the workaround above - as far as my packaging goes. But the 
issue seems to come up roughly 1 every 70 to 80 projects.
FYI.

Thanks for looking at fontconfig. If you have a hint on where/why the 
symbolic is being generated I will research further in the 
'auto-something' area.

Sincerely,
Michael
> --- Comment #1 from Akira TAGOH<akira@tagoh.org>  ---
> You can't validate symlinks at the build time because DESTDIR isn't supposed to
> be. and DESTDIR is used as a prefix path how it looks at the installation time
> for packaging. the point is DESTDIR is dropped from the real installed path.
re: DESTDIR - that is where the files are 'installed' to make a clean 
install point. The symbolic link points to something that exists 
$DESTDIR/something/to/symlink/to.

 From the point of cd $DESTDIR

symbolic link ./this/is/a/link -> ../../../something/to/symlink/to

so it looks something like:
michael@x071:[/var/DESTDIR]ls -lR
.:
total 0
drwx------ 3 root system 256 Oct 22 18:14 something
drwx------ 3 root system 256 Oct 22 18:15 this

./something:
total 0
drwx------ 3 root system 256 Oct 22 18:14 to

./something/to:
total 0
drwx------ 2 root system 256 Oct 22 18:15 symlink

./something/to/symlink:
total 4
-rw------- 1 root system 29 Oct 22 18:16 to

./this:
total 0
drwx------ 3 root system 256 Oct 22 18:15 is

./this/is:
total 0
drwx------ 2 root system 256 Oct 22 18:17 a

./this/is/a:
total 0
lrwxrwxrwx 1 root system 32 Oct 22 18:17 link -> 
../../../something/to/symlink/to

rather than, at the end

./this/is/a:
total 0
lrwxrwxrwx 1 root system 32 Oct 22 18:17 link -> /something/to/symlink/to

IMHO - this is something that auto-thingy should be able to do so that 
make DESTDIR=/var/DESTDIR would work.
Remember, it not my followup command that "packages" /var/DESTDIR 
(stripping $DESTDIR from the full filepathname - but the make command 
itself that fails!

> so
> checking that at the build time in the sense of packaging really makes no
> sense.
>
> So the answer for your question is, because we use a symlink to enable/disable
> a configuration file easily for system-wide and user-specific, and keep
> consistency on changes. if you copy some of them and it is changed in upstream,
> you'll miss it then. or if doubt, you'll need to copy them every time on
> upgrading.
>
> fontconfig follows the general use of DESTDIR in autotools and no concerns on
> packaging at this moment.
>
Comment 3 Akira TAGOH 2015-10-23 02:34:20 UTC
(In reply to Michael Felt from comment #2)
> You can call it "not a bug", but then you may want to document that make 
> DESTDIR=/something/else will never work because the make process cannot 
> deal with the symbolic links auto(anything) makes.
> Probably "not a bug", at least not of fontconfig - but of one of the 
> tools you use to automate builds of fontconfig.

It looks like you are misunderstanding about DESTDIR. see https://www.gnu.org/software/automake/manual/html_node/DESTDIR.html

If you want to install them permernently under $DESTDIR, you should do that with --prefix and other options for configure script that determine the install path, instead of using $DESTDIR.
I don't know what kind of problems you are facing at this moment though, it works fine with many packaging systems so that I've never ever heard any complaints about it.

> IMHO - this is something that auto-thingy should be able to do so that 
> make DESTDIR=/var/DESTDIR would work.

Wrong. you should better understand how packaging systems works to build a package.

> (stripping $DESTDIR from the full filepathname

That's why symlinks works at the end on packaging system enabled environments. symlinks points to the proper files when installing the package then.
Doing both of validating symlinks and creating a package isn't feasible, particularly it contains a symlink. if you are fixing that anyway to work a symlink validation, you'll see a problem after installing that package because symlinks points to $DESTDIR/path/to/file where isn't available. so you eventually need to re-link them.

>                                                - but the make command 
> itself that fails!

It's not our fault. no fails with "make" itself on what we shipped.
Comment 4 Michael Felt 2015-10-23 13:10:13 UTC
On 2015-10-23 04:34, bugzilla-daemon@freedesktop.org wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=92406
>
> --- Comment #3 from Akira TAGOH<akira@tagoh.org>  ---
> (In reply to Michael Felt from comment #2)
>> You can call it "not a bug", but then you may want to document that make
>> DESTDIR=/something/else will never work because the make process cannot
>> deal with the symbolic links auto(anything) makes.
>> Probably "not a bug", at least not of fontconfig - but of one of the
>> tools you use to automate builds of fontconfig.
> It looks like you are misunderstanding about DESTDIR. see
> https://www.gnu.org/software/automake/manual/html_node/DESTDIR.html
>
> If you want to install them permernently under $DESTDIR, you should do that
> with --prefix and other options for configure script that determine the install
> path, instead of using $DESTDIR.
I guess my problem is that I do not know how to explain my problem in 
text. I think of $DESTDIR as / would look as ./ after chroot() to 
$DESTDIR - so that I can package that and install that directory tree 
onto '/' as './'. I do think we agree on the intent of $DESTDIR as far 
as make DESTDIR=xxx is concerned. My apologies for any uncertainity or 
confusion on this point - both previous, and for any forth coming. 
However, if the confusion continues I shall simply admit my failing and 
stop commenting as clearly I will have shown myself incapable of showing 
that we agree on this point.
> I don't know what kind of problems you are facing at this moment though, it
> works fine with many packaging systems so that I've never ever heard any
> complaints about it.
Yes, the autotools work fine with other environments I am sure. And, 
this is not a 'complaint' - it is information for you to use, or not 
use. As it is unusual - also for me -I had hoped it would also be 
interesting for this project.
>> IMHO - this is something that auto-thingy should be able to do so that
>> make DESTDIR=/var/DESTDIR would work.
> Wrong. you should better understand how packaging systems works to build a
> package.
>
>> (stripping $DESTDIR from the full filepathname
> That's why symlinks works at the end on packaging system enabled environments.
> symlinks points to the proper files when installing the package then.
> Doing both of validating symlinks and creating a package isn't feasible,
> particularly it contains a symlink. if you are fixing that anyway to work a
> symlink validation, you'll see a problem after installing that package because
> symlinks points to $DESTDIR/path/to/file where isn't available. so you
> eventually need to re-link them.
>
>>                                                 - but the make command
>> itself that fails!
"make DESTDIR=/var/DESTDIR install" fails, "make install" works fine, 
but that is not what I call a package - and since we seem to define 
package differently - not worthy of further discussion.
> It's not our fault. no fails with "make" itself on what we shipped.
There is no fault. There is a cause - and it is probably not in your 
project but somewhere in the 'autotools'. And there are often 
workarounds that a project can apply so that an autotool 'cause' does 
not affect a project.

Thank you for your consideration. When I know more about the inner 
workings of the autotools - when and why they use symbolic links - I may 
come back. But if I am successful in the autotool area - I will not need to.

Sincerely,
Michael
>


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.