-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debian packaging broken / building debian packages on Travis CI #1
Comments
I think this is the troublemaker commit SOCI/soci@c18cf358 submitted by @vnaydionov @kzeslaf so, you're proposing to merge @akashihi patch with current src/CMakeLists.txt, in such way that both Debian, Ubuntu and others are handled correctly, right? I'm not experienced with .deb system as maintainer, I wonder, why are we handling Debian and Ubuntu differently now:
I really like the idea of triggering builds for SOCI/soci-pkg after changes in SOCI/soci. Task added #2 |
Yes.
Unfortunately I don't have sufficient experience in this field either. There are always "more important tasks" than getting proper packaging knowledge. |
for upstream just continue installing into usr/lib, the debian/ubuntu multiarch thing is for now specific for packages, there is no real reason to use in an automatic fashion it outside of packaging. the package should override LIBDIR to the multiarch paths to allow multiple architecture packages to be coinstallable.
I haven't tried it with current soci head, but it should still work |
19.02.2013, 02:07, "Mateusz Loskot" [email protected]:
Yes, it seems that I broke some packaging-related stuff. Best regards, |
So, @juliantaylor, what do you think - if(EXISTS /etc/os-release)
file(READ /etc/os-release OS_RELEASE)
string(REGEX MATCH "ID(_LIKE)?=debian" DEBIAN ${OS_RELEASE})
string(REGEX MATCH "ID(_LIKE)?=fedora" FEDORA ${OS_RELEASE})
string(REGEX MATCH "ID(_LIKE)?=ubuntu" UBUNTU ${OS_RELEASE})
elseif(EXISTS /etc/lsb-release)
file(READ /etc/lsb-release OS_RELEASE)
string(REGEX MATCH "DISTRIB_ID=[Uu]buntu" UBUNTU ${OS_RELEASE})
string(REGEX MATCH "DISTRIB_ID=[Db]ebian" DEBIAN ${OS_RELEASE})
endif()
if(UBUNTU)
set(SOCI_LIBDIR "lib")
elseif(DEBIAN)
execute_process(COMMAND uname -m
OUTPUT_VARIABLE SOCI_ARCH
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(SOCI_LIBDIR "lib/${SOCI_ARCH}-linux-gnu")
elseif(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
set(SOCI_LIBDIR "lib")
else()
set(SOCI_LIBDIR "lib64")
endif() and leave just this: #Debian always uses lib
set(SOCI_LIBDIR "lib") |
yes, I'd remove it all and stick to the build systems default, whatever that is that would mean also remove this line and its users:
|
Ok, I removed autodetection of SOCI_LIBDIR, now Debian package build works fine. |
Hi,
it seems that current version of Debian packaging is broken. It seems that last changes on file https://github.com/SOCI/soci/blob/master/src/CMakeLists.txt made impossible to apply this patch: https://github.com/SOCI/soci-pkg/blob/master/debian/patches/library_target.
I think that functionality of this patch should be applied directly to this
CMakeLists
file because current solution is not resistant on changes of this file.Maybe you could also configure building debian packages by Travis CI after changes to soci and soci-pkg repos.
I don't know unfortunately how to do this nicely. Maybe git submodules will do?
P.S.
I'm using Ubuntu 12.04 64-bit. Deleting patch directory was enough to build, install and run example using soci correctly.
The text was updated successfully, but these errors were encountered: