Package: qt5-qmake-bin Version: 5.11.1+dfsg-6 Severity: normal Dear Maintainer,
Building some projects using qmake build system, installing contents under directory fails. For example, building MythTV-dmo (probided by deb-multimedia.org) with debuild, installing contents under themes/ to debian/tmp/ fails. I checked below debian/tmp/usr/share/mythtv/themes/ , theme directories made single file , mode is 755 and size is 0. i.e. themes/DVR . So, I checked themes/Makefile made by qmake, install is below line: --- QINSTALL = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -install qinstall QINSTALL_PROGRAM = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -install qinstall -exe (snip) install_themes: first FORCE @test -d $(INSTALL_ROOT)/usr/share/mythtv/themes/ || mkdir -p $(INSTALL_ROOT)/usr/share/mythtv/themes/ -$(QINSTALL_PROGRAM) (snip)/themes/default $(INSTALL_ROOT)/usr/share/ mythtv/themes/default (snip) --- So, installing themes using qmake -install qinstall -exe {SRCDIR} {DSTDIR}, this should be similar to "cp -fr {SRCDIR}/ ${DSTDIR}", but, don't do this. This issue *didn't happen* before Qt 5.10, only happen after 5.11 . Best regards, Ohta. p.s. Related files are below: mythtv-dmo/themes/themes.pro: --- include ( ../settings.pro ) QMAKE_STRIP = echo TEMPLATE = app CONFIG -= moc qt QMAKE_COPY_DIR = sh ./cpsvndir win32:QMAKE_COPY_DIR = sh ./cpsimple themes.path = $${PREFIX}/share/mythtv/themes/ themes.files = default default-wide classic DVR Slave themes.files += Terra defaultmenu mediacentermenu themes.files += MythCenter MythCenter-wide themes.files += mythuitheme.dtd fonts.path = $${PREFIX}/share/mythtv/ fonts.files = fonts INSTALLS += themes fonts # Input SOURCES += dummy.c --- mythtv-dmo/settings.pro : --- win32-msvc* { SRC_PATH_BARE = $$(SRC_PATH_BARE) isEmpty( $$SRC_PATH_BARE ) { SRC_PATH_BARE = $${PWD} } CONFIG -= debug_and_release CONFIG -= debug_and_release_target CONFIG -= flat CONFIG *= using_backend using_frontend CONFIG *= using_opengl CONFIG *= using_hdhomerun CONFIG_LIBMPEG2EXTERNAL = yes CONFIG_QTDBUS = no QMAKE_CXXFLAGS_WARN_ON -= -w34100 } else { include ( config.mak ) } CONFIG += $$CCONFIG # enable C++11 support, QT5.7 will be based on C++11 anyway CONFIG += c++11 defineReplace(avLibName) { NAME = $$1 major = \$\${lib$${NAME}_VERSION_MAJOR} eval(LIBVERSION = $$major) temp = $$SLIBNAME_WITH_MAJOR_QT temp = $$replace(temp, FULLNAME, $$NAME) temp = $$replace(temp, NAME, $$NAME) temp = $$replace(temp, LIBMAJOR, $$LIBVERSION) return($$temp) } #check QT major version contains(QT_MAJOR_VERSION, 4) { error("Must build against Qt5") } # Where binaries, includes and runtime assets are installed by 'make install' isEmpty( PREFIX ) { win32-msvc* { PREFIX = "." } else { PREFIX = /usr/local } } # Where the binaries actually locate the assets/filters/plugins at runtime isEmpty( RUNPREFIX ) { RUNPREFIX = $$PREFIX } # Alternate library dir for OSes and packagers (e.g. lib64) isEmpty( LIBDIRNAME ) { LIBDIRNAME = lib } # Where libraries, plugins and filters are installed isEmpty( LIBDIR ) { LIBDIR = $${RUNPREFIX}/$${LIBDIRNAME} } LIBVERSION = 29 VERSION = 29.0 # Die on the (common) case where OS X users inadvertently use Fink's # Qt/X11 install instead of Qt/Mac. ' contains(CONFIG_DARWIN, yes) { !macx { message(You are building with Qt/X11 on the Mac platform.) message(Myth must be built with Qt/Mac instead.) message((Fink users cannot use Fink's Qt, it's the wrong one.)) error(Unsupported configuration) } } # Windows... win32 { VERSION = CONFIG_OPENGL_LIBS = # All versions of Microsoft Visual Studio win32-msvc* { win32-msvc2010 { # need to force include missing math.h functions. # needed for vcxproj QMAKE_CXXFLAGS += "/FI mathex.h" # needed for nmake QMAKE_CFLAGS += "/FI mathex.h" } DEFINES += _WIN32 WIN32 WIN32_LEAN_AND_MEAN NOMINMAX _USE_MATH_DEFINES DEFINES += _CRT_SECURE_NO_WARNINGS DEFINES += __STDC_CONSTANT_MACROS DEFINES += __STDC_FORMAT_MACROS DEFINES += __STDC_LIMIT_MACROS debug :DEFINES += _DEBUG release:DEFINES += NDEBUG # msvc specific include path INCLUDEPATH += ./ INCLUDEPATH += $$SRC_PATH_BARE/external contains( CONFIG_MYTHLOGSERVER, "yes" ) { INCLUDEPATH += $$SRC_PATH_BARE/external/zeromq/include INCLUDEPATH += $$SRC_PATH_BARE/external/nzmqt/include/nzmqt } INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/include INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/external/pthreads.2 INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/external/zlib INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/external win32-msvc2010:INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/include-2010 INCLUDEPATH += $$SRC_PATH_BARE/../platform/win32/msvc/external/exiv2/msvc64/include # have visual studio place all DLL, EXE & lib files in the following directory CONFIG( debug, debug|release) { # debug DESTDIR = $$SRC_PATH_BARE/bin/debug QMAKE_LIBDIR += $$SRC_PATH_BARE/bin/debug MOC_DIR = debug/moc QMAKE_CXXFLAGS *= /MDd /MP /wd4100 /wd4996 LIBS += -L$$SRC_PATH_BARE/bin/debug EXTRA_LIBS += -lpthreadVC2d -llibzmq -L$$SRC_PATH_BARE/bin/debug } else { # release DESTDIR = $$SRC_PATH_BARE/bin/release QMAKE_LIBDIR += $$SRC_PATH_BARE/bin/release MOC_DIR = release/moc QMAKE_CXXFLAGS *= /MD /MP /wd4100 /wd4996 LIBS += -L$$SRC_PATH_BARE/bin/release EXTRA_LIBS += -lpthreadVC2 -llibzmq -L$$SRC_PATH_BARE/bin/release } EXTRA_LIBS += -lmythnzmqt } # minGW Build Environment mingw { # Qt4 creates separate compile directories by default. This disables: CONFIG -= debug_and_release debug_and_release_target CONFIG += mingw DEFINES += WIN32 USING_MINGW WIN32_LEAN_AND_MEAN NOMINMAX DEFINES -= UNICODE # win32-packager.pl builds Qt under DOS, but MythTV is built in MinGW. # This corrects the moc tool path from a DOS-style to a unix style: QMAKE_MOC = $$[QT_INSTALL_BINS]/moc QMAKE_EXTENSION_SHLIB = dll } # if CYGWIN compile, set up flag in CONFIG contains(TARGET_OS, CYGWIN) { CONFIG += cygwin QMAKE_EXTENSION_SHLIB=dll.a DEFINES += CONFIG_CYGWIN } } else { # All Others isEmpty(QMAKE_EXTENSION_SHLIB) { QMAKE_EXTENSION_SHLIB=so } isEmpty(QMAKE_EXTENSION_LIB) { QMAKE_EXTENSION_LIB=a } # For dependencies on Myth library filenames in POST_TARGETDEPS MYTH_SHLIB_EXT=$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB} MYTH_LIB_EXT =$${LIBVERSION}.$${QMAKE_EXTENSION_LIB} INCLUDEPATH += $$unique(CONFIG_INCLUDEPATH) LOCAL_LIBDIR_OGL = !isEmpty( QMAKE_LIBDIR_OPENGL ) { LOCAL_LIBDIR_OGL = -L$$QMAKE_LIBDIR_OPENGL } QMAKE_LIBDIR_OPENGL = # construct linking path LOCAL_LIBDIR_X11 = !isEmpty( QMAKE_LIBDIR_X11 ) { LOCAL_LIBDIR_X11 = -L$$QMAKE_LIBDIR_X11 } QMAKE_LIBDIR_X11 = EXTRA_LIBS = $$EXTRALIBS EXTRA_LIBS += $$CONFIG_FIREWIRE_LIBS EXTRA_LIBS += $$LOCAL_LIBDIR_OGL EXTRA_LIBS += $$LOCAL_LIBDIR_X11 !isEmpty( CONFIG_OPENGL_LIBS ) { # Replace FFmpeg's OpenGL with OpenGLES EXTRA_LIBS -= -lGL EXTRA_LIBS += $$CONFIG_OPENGL_LIBS } contains( CONFIG_MYTHLOGSERVER, "yes" ) { INCLUDEPATH += $$SRC_PATH_BARE/external/zeromq/include INCLUDEPATH += $$SRC_PATH_BARE/external/nzmqt/include/nzmqt EXTRA_LIBS += -L$$SRC_PATH_BARE/external/zeromq/src/.libs -lmythzmq EXTRA_LIBS += -L$$SRC_PATH_BARE/external/nzmqt/src -lmythnzmqt } # remove warn_{on|off} from CONFIG since we set it in our CFLAGS CONFIG -= warn_on warn_off # set empty RELEASE and DEBUG flags QMAKE_CFLAGS_DEBUG = QMAKE_CFLAGS_RELEASE = QMAKE_CXXFLAGS_DEBUG = QMAKE_CXXFLAGS_RELEASE = # remove -fPIC since we handle it in configure QMAKE_CFLAGS_SHLIB -= -fPIC QMAKE_CFLAGS_STATIC_LIB -= -fPIC QMAKE_LFLAGS_SHLIB -= -fPIC QMAKE_LFLAGS += -Wl,--as-needed -Wl,-z,relro -D_FORTIFY_SOURCE=2 SHFLAGS += -Wl,--as-needed -Wl,-z,relro # remove -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 from C++ preprocessor flgas CXX_PP_FLAGS = $$CPPFLAGS CXX_PP_FLAGS -= -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # Allow compilation with Qt Embedded, if Qt is compiled without "-fno-rtti" QMAKE_CXXFLAGS -= -fno-exceptions -fno-rtti } # Globals in static libraries need special treatment on OS X macx:QMAKE_CFLAGS_STATIC_LIB += -fno-common # figure out compile flags based on qmake info # qmake 4.8.2 & 4.8.3 messes up OSX "-arch i386 -arch x86_64" # clang 3.0 on Linux does not like duplicate arguments. macx { QMAKE_CFLAGS += $$CPPFLAGS $$CFLAGS QMAKE_CXXFLAGS += $$CXXPPFLAGS $$ECXXFLAGS } else { QMAKE_CFLAGS *= $$CPPFLAGS $$CFLAGS -D_FORTIFY_SOURCE=2 QMAKE_CXXFLAGS *= $$CXXPPFLAGS $$ECXXFLAGS } profile:!win32:!macx:CONFIG += debug release:contains( ARCH_POWERPC, yes ) { # Auto-inlining causes some Qt moc methods to go missing macx:QMAKE_CXXFLAGS_RELEASE += -fno-inline-functions } # figure out defines DEFINES += $$CONFIG_DEFINES DEFINES += _GNU_SOURCE !isEmpty( QMAKE_LIBDIR_QT ) { !macx { LATE_LIBS += "-L$$QMAKE_LIBDIR_QT" QMAKE_LIBDIR_QT = "" } macx:!qt_framework { LATE_LIBS += "-L$$QMAKE_LIBDIR_QT" QMAKE_LIBDIR_QT = "" } } macx { using_firewire:using_backend:EXTRA_LIBS += -F$${CONFIG_MAC_AVC} -framework AVCVideoServices QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/ _RPATH_="-rpath," } else { _RPATH_="-rpath=" } --- -- System Information: Debian Release: buster/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.18.0-rc6-homebrew-amd64.1.0 (SMP w/8 CPU cores; PREEMPT) Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to ja_JP.UTF-8), LANGUAGE=ja_JP.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to ja_JP.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages qt5-qmake-bin depends on: ii libc6 2.27-5 ii libgcc1 1:8.2.0-1 ii libstdc++6 8.2.0-1 qt5-qmake-bin recommends no packages. qt5-qmake-bin suggests no packages. -- no debconf information