<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">Le sam. 20 oct. 2018 à 10:54, Илья Шипицин <<a href="mailto:chipitsine@gmail.com">chipitsine@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">сб, 20 окт. 2018 г. в 13:30, Eric Noulard <<a href="mailto:eric.noulard@gmail.com" target="_blank">eric.noulard@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">Le sam. 20 oct. 2018 à 10:15, Илья Шипицин <<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>hi,</div><div><br></div><div>we use cmake/cpack for mangling systemd scripts</div><div><br></div><div><a href="https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/vpnserver/CMakeLists.txt#L26" target="_blank">https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/vpnserver/CMakeLists.txt#L26</a></div><div><br></div><div>what happens:</div><div><br></div><div>(*) deb installs files to /usr/libexec</div><div>(*) cmake sets location as /usr/local/libexec</div></div></div></div></div></div></blockquote><div><br></div><div>It looks like your get default "/usr/local" prefix from somewhere.</div></div></div></div></div></div></blockquote><div><br></div><div>exactly.<br></div></div></div></blockquote><div><br></div><div>So I I understand it well (correct me if I'm wrong) when you do:</div><div><br></div><div>1) make install</div><div>    You get all installed files prefixed by /usr/local</div><div>    which is the expected behaviour unless you configure CMAKE_INSTALL_PREFIX</div><div>    or you use </div><div>    DESTDIR=/your/prefix make install</div><div><br></div><div>2) deb created by CPack get "/usr" prefix instead</div><div>   which is the expected behaviour unless you specify an alternate value using</div><div>   CPACK_PACKAGING_INSTALL_PREFIX</div><div><br></div><div>    go to your build tree and try:</div><div>    cpack -G DEB -D  CPACK_PACKAGING_INSTALL_PREFIX=/opt</div><div><br></div><div>    and you'll see that the .deb will have /opt prefix.</div><div><br></div><div>The question is what do expect as a prefix?</div><div>/usr/local</div><div>/usr</div><div>something else ??</div><div><br></div><div>The rules are the following when using install rule.</div><div>1) if your DESTINATION is a relative path then it will be prefix with</div><div>   CMAKE_INSTALL_PREFIX when doing make install</div><div>   CPACK_PACKAGING_INSTALL_PREFIX when building package with CPack</div><div><br></div><div>2) if your DESTINATION is "absolute" like /etc/whatever/confdir</div><div>    It'll get install there when doing make install (whatever the value of  CMAKE_INSTALL_PREFIX)</div><div><br></div><div>    With CPack, it depends on the generator.</div><div>   Some generators (like DEB a,nd RPM) try to catch "absolute" install file and handle them</div><div>   as config file. RPM generator is more verbose about it see below.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>Is the RPM containing what you expect?</div></div></div></div></div></div></blockquote><div><br></div><div>I did not check it yet.</div></div></div></blockquote><div><br></div><div>I tried using:</div><div>$  cpack -G RPM</div></div><div><br></div><div>and you get expected warning about the mix of absolute and relative install path:</div><div><div>CPack: Create package using RPM</div><div>CPack: Install projects</div><div>CPack: - Install project: SoftEtherVPN</div><div>CPack: -   Install component: vpnserver</div><div>CPack: -   Install component: vpnclient</div><div>CPack: -   Install component: vpnbridge</div><div>CPack: -   Install component: vpncmd</div><div>CPack: Create package</div><div>CMake Warning (dev) at /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:135 (message):</div><div>  CPackRPM:Warning: Path /lib/systemd/system/softether-vpnbridge.service is</div><div>  not on one of the relocatable paths! Package will be partially relocatable.</div><div>Call Stack (most recent call first):</div><div>  /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:1001 (cpack_rpm_prepare_relocation_paths)</div><div>  /home/enoulard/local/share/cmake-3.12/Modules/Internal/CPack/CPackRPM.cmake:1870 (cpack_rpm_generate_package)</div><div>This warning is for project developers.  Use -Wno-dev to suppress it.</div><div><br></div><div>[...]</div><div><br></div><div>CPack: - package: []/build/softether-vpnbridge-5.1.9660-1.x86_64.rpm generated.<br></div><div>CPack: - package: []/build/softether-vpnclient-5.1.9660-1.x86_64.rpm generated.</div><div>CPack: - package: []/build/softether-vpncmd-5.1.9660-1.x86_64.rpm generated.</div><div>CPack: - package: []/build/softether-vpnserver-5.1.9660-1.x86_64.rpm generated.</div></div><div dir="ltr"><br></div><div>And the content is:</div><div>$ rpm -qpl softether-vpnserver-5.1.9660-1.x86_64.rpm<br></div><div><div>/lib</div><div>/lib/systemd</div><div>/lib/systemd/system</div><div>/lib/systemd/system/softether-vpnserver.service</div><div>/usr/libexec</div><div>/usr/libexec/softether</div><div>/usr/libexec/softether/vpnserver</div><div>/usr/libexec/softether/vpnserver/hamcore.se2</div><div>/usr/libexec/softether/vpnserver/vpnserver</div><div>/usr/local</div><div>/usr/local/bin</div><div>/usr/local/bin/vpnserver</div></div><div><br></div><div>the content of the .deb is similar:</div><div>$ dpkg-deb -c softether-vpnserver_5.1.9660_amd64.deb<br></div><div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./lib/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./lib/systemd/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./lib/systemd/system/</div><div>-rw-r--r-- root/root       700 2018-10-20 14:45 ./lib/systemd/system/softether-vpnserver.service</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/libexec/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/libexec/softether/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/</div><div>-rw-r--r-- root/root   1770716 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/hamcore.se2</div><div>-rwxr-xr-x root/root   2088960 2018-10-20 14:45 ./usr/libexec/softether/vpnserver/vpnserver</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/local/</div><div>drwxr-xr-x root/root         0 2018-10-20 14:45 ./usr/local/bin/</div><div>-rwxr-xr-x root/root        72 2018-10-20 14:45 ./usr/local/bin/vpnserver</div></div><div><br></div><div>The main question is, what filesystem layout do you expect for those files?</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Eric<br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>