On 02/01/2011 01:44 AM, Jay wrote:
When i first compiled i create a symlink called
uic-tqt pointing at uic. This
got me passed the error. Not sure if it is the right way to go about it ...
but i am writing this from trinity running on Slack current.
SOLVED = figured out, but not fixed in the code
The problem is with the tqtinterface/qtinterface/Makefile.am itself which
causes uic-tqt to be missed by many packaging systems. (at least Arch Linux
[makepkg], and Slack [whatever it uses]). The reason on Arch is that 'makepkg'
does a "semi" out of source build by creating a 'src' and 'pkg'
directory in
the current module directory. It builds everything in 'src' and then create
packages in the fakeroot 'pkg' directory with 'make $DESTDIR=pkg/ install'
The
final Arch Linux package is created from the contents of 'pkg' and then
'src'
and 'pkg' dirs can be removed leaving the original svn source unchanged.
The tqtinterface/qtinterface/Makefile.am specifies:
install-exec-local:
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
cp -Rp "$(srcdir)/tqt-replace" "$(DESTDIR)$(bindir)/"
cp -Rp "$(srcdir)/tqt-replace-stream" "$(DESTDIR)$(bindir)/"
cp -Rp "$(srcdir)/moc-tqt" "$(DESTDIR)$(bindir)/"
cp -Rp "$(srcdir)/uic-tqt" "$(DESTDIR)$(bindir)/"
<snip>
In the list, everything except 'uic-tqt' is built in the 'src' directory
and
gets copied to the 'pkg' directory for packaging. But the correct path for
uic-tqt is actually '../qtinterface/uic-tqt' not '$(srcdir)/uic-tqt' since
it
is provided as part of the source and not built during the compile. So it
never gets packaged by default. I suspect something similar happens on Slackware.
I don't know if this can be fixed in the code, a check put in place, or if it
is just something that must be dealt with manually. For Arch, you just have to
add a manual copy to the PKGBUILD script:
package() {
msg "Packaging - $pkgname-$pkgver"
cd ${srcdir}
mkdir -p ${pkgdir}/usr/bin
cp -Rp ../qtinterface/uic-tqt ${pkgdir}/usr/bin
make DESTDIR="$pkgdir/" install
}
--
David C. Rankin, J.D.,P.E.