Le sam. 20 oct. 2018 à 10:54, Илья Шипицин <chipits...@gmail.com> a écrit :
> > > сб, 20 окт. 2018 г. в 13:30, Eric Noulard <eric.noul...@gmail.com>: > >> >> >> Le sam. 20 oct. 2018 à 10:15, Илья Шипицин <chipits...@gmail.com> a >> écrit : >> >>> hi, >>> >>> we use cmake/cpack for mangling systemd scripts >>> >>> >>> https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/vpnserver/CMakeLists.txt#L26 >>> >>> what happens: >>> >>> (*) deb installs files to /usr/libexec >>> (*) cmake sets location as /usr/local/libexec >>> >> >> It looks like your get default "/usr/local" prefix from somewhere. >> > > exactly. > So I I understand it well (correct me if I'm wrong) when you do: 1) make install You get all installed files prefixed by /usr/local which is the expected behaviour unless you configure CMAKE_INSTALL_PREFIX or you use DESTDIR=/your/prefix make install 2) deb created by CPack get "/usr" prefix instead which is the expected behaviour unless you specify an alternate value using CPACK_PACKAGING_INSTALL_PREFIX go to your build tree and try: cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt and you'll see that the .deb will have /opt prefix. The question is what do expect as a prefix? /usr/local /usr something else ?? The rules are the following when using install rule. 1) if your DESTINATION is a relative path then it will be prefix with CMAKE_INSTALL_PREFIX when doing make install CPACK_PACKAGING_INSTALL_PREFIX when building package with CPack 2) if your DESTINATION is "absolute" like /etc/whatever/confdir It'll get install there when doing make install (whatever the value of CMAKE_INSTALL_PREFIX) With CPack, it depends on the generator. Some generators (like DEB a,nd RPM) try to catch "absolute" install file and handle them as config file. RPM generator is more verbose about it see below. Is the RPM containing what you expect? >> > > I did not check it yet. > I tried using: $ cpack -G RPM and you get expected warning about the mix of absolute and relative install path: CPack: Create package using RPM CPack: Install projects CPack: - Install project: SoftEtherVPN CPack: - Install component: vpnserver CPack: - Install component: vpnclient CPack: - Install component: vpnbridge CPack: - Install component: vpncmd CPack: Create package CMake Warning (dev) at /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:135 (message): CPackRPM:Warning: Path /lib/systemd/system/softether-vpnbridge.service is not on one of the relocatable paths! Package will be partially relocatable. Call Stack (most recent call first): /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:1001 (cpack_rpm_prepare_relocation_paths) /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:1870 (cpack_rpm_generate_package) This warning is for project developers. Use -Wno-dev to suppress it. [...] CPack: - package: []/build/softether-vpnbridge-5.1.9660-1.x86_64.rpm generated. CPack: - package: []/build/softether-vpnclient-5.1.9660-1.x86_64.rpm generated. CPack: - package: []/build/softether-vpncmd-5.1.9660-1.x86_64.rpm generated. CPack: - package: []/build/softether-vpnserver-5.1.9660-1.x86_64.rpm generated. And the content is: $ rpm -qpl softether-vpnserver-5.1.9660-1.x86_64.rpm /lib /lib/systemd /lib/systemd/system /lib/systemd/system/softether-vpnserver.service /usr/libexec /usr/libexec/softether /usr/libexec/softether/vpnserver /usr/libexec/softether/vpnserver/hamcore.se2 /usr/libexec/softether/vpnserver/vpnserver /usr/local /usr/local/bin /usr/local/bin/vpnserver the content of the .deb is similar: $ dpkg-deb -c softether-vpnserver_5.1.9660_amd64.deb drwxr-xr-x root/root 0 2018-10-20 14:45 ./lib/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./lib/systemd/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./lib/systemd/system/ -rw-r--r-- root/root 700 2018-10-20 14:45 ./lib/systemd/system/softether-vpnserver.service drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/libexec/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/libexec/softether/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/ -rw-r--r-- root/root 1770716 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/hamcore.se2 -rwxr-xr-x root/root 2088960 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/vpnserver drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/local/ drwxr-xr-x root/root 0 2018-10-20 14:45 ./usr/local/bin/ -rwxr-xr-x root/root 72 2018-10-20 14:45 ./usr/local/bin/vpnserver The main question is, what filesystem layout do you expect for those files? -- Eric
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake