<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 27/07/2016 ŕ 18:00, David Garrod a
      écrit :<br>
    </div>
    <blockquote
cite="mid:CO2PR04MB23445CBC08857623555BDF66A70F0@CO2PR04MB2344.namprd04.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style>
<!--
@font-face
        {font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif"}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline}
span.EmailStyle17
        {font-family:"Calibri","sans-serif";
        color:windowtext}
.MsoChpDefault
        {font-family:"Calibri","sans-serif"}
@page WordSection1
        {margin:1.0in 1.0in 1.0in 1.0in}
div.WordSection1
        {}
-->
</style>
      <div class="WordSection1">
        <p class="MsoNormal">I’m trying to get the “traceroute” package
          to install properly inside my SNAP. To do this I’ve added</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">traceroute</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">to the </p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">    stage-packages:</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">line in my snapcraft.yaml. The files to get
          put into the;<br>
          <br>
        </p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/…</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">$SNAP tree and indeed I can then see them
          from inside the SNAP.</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">root@Snappy-Appliance:/home/netop# find
          $SNAP -name "traceroute*"</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/bin/traceroute-nanog</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/bin/traceroute.db</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/bin/traceroute6.db</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/share/doc/traceroute</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/share/man/man1/traceroute-nanog.1.gz</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/share/man/man1/traceroute.db.1.gz</p>
        <p class="MsoNormal">/snap/openswitch-appliance/x1/usr/share/man/man1/traceroute6.db.1.gz</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">But the problem is that the installation
          isn’t properly finished because the the postinst stage didn’t
          get run. If you look at the postinst stage for the traceroute
          package you’ll see what I’ve listed below.</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">In other words for this package to work it
          is meant to build some softlinks to /etc so that “traceroute”
          is actually made available.</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">How am I meant to do this is the SNAP
          world?</p>
      </div>
    </blockquote>
    <br>
    Hey Dave,<br>
    <br>
    Looking at the postinst, it doesn't seem this is actually that you
    need to execute any postinst in this specific case. The
    update-alternative calls here are just to make available a default
    "traceroute" binary pointing to your "usr/bin/traceroute.db" (same
    for manual page). You can expose it directly through apps to get the
    same result:<br>
    apps:<br>
      traceroute:<br>
        command: $SNAP/usr/bin/traceroute.db<br>
    <br>
    If the issue is that other commands from this package are using
    "traceroute" internally, you can ship a symlink yourself that you
    ensure are in your $PATH snap.<br>
    <br>
    Cheers,<br>
    Didier<br>
    <br>
    <blockquote
cite="mid:CO2PR04MB23445CBC08857623555BDF66A70F0@CO2PR04MB2344.namprd04.prod.outlook.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">Thanks,</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">Dave Garrod</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">% cat DEBIAN/postinst</p>
        <p class="MsoNormal">#!/bin/sh</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">set -e</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">case "${1}" in</p>
        <p class="MsoNormal">        configure)</p>
        <p class="MsoNormal">                update-alternatives
          --install \</p>
        <p class="MsoNormal">                        /usr/bin/traceroute
          traceroute /usr/bin/traceroute.db 100 \</p>
        <p class="MsoNormal">                        --slave
          /usr/sbin/traceroute traceroute.sbin \</p>
        <p class="MsoNormal">                               
          /usr/bin/traceroute.db \</p>
        <p class="MsoNormal">                        --slave
          /usr/share/man/man1/traceroute.1.gz traceroute.1.gz \</p>
        <p class="MsoNormal">                               
          /usr/share/man/man1/traceroute.db.1.gz</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">                for _ALTERNATIVE in
          traceroute6 lft traceproto</p>
        <p class="MsoNormal">                do</p>
        <p class="MsoNormal">                        update-alternatives
          --install \</p>
        <p class="MsoNormal">                               
          /usr/bin/${_ALTERNATIVE} ${_ALTERNATIVE}
          /usr/bin/${_ALTERNATIVE}.db 100 \</p>
        <p class="MsoNormal">                                --slave
          /usr/share/man/man1/${_ALTERNATIVE}.1.gz ${_ALTERNATIVE}.1.gz
          \</p>
        <p class="MsoNormal">                                       
          /usr/share/man/man1/${_ALTERNATIVE}.db.1.gz</p>
        <p class="MsoNormal">                done</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">                for _ALTERNATIVE in
          tcptraceroute</p>
        <p class="MsoNormal">                do</p>
        <p class="MsoNormal">                        update-alternatives
          --install \</p>
        <p class="MsoNormal">                               
          /usr/sbin/${_ALTERNATIVE} ${_ALTERNATIVE}
          /usr/sbin/${_ALTERNATIVE}.db 100 \</p>
        <p class="MsoNormal">                                --slave
          /usr/share/man/man8/${_ALTERNATIVE}.8.gz ${_ALTERNATIVE}.8.gz
          \</p>
        <p class="MsoNormal">                                       
          /usr/share/man/man8/${_ALTERNATIVE}.db.8.gz</p>
        <p class="MsoNormal">                done</p>
        <p class="MsoNormal">                ;;</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">       
          abort-upgrade|abort-remove|abort-deconfigure)</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">                ;;</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">        *)</p>
        <p class="MsoNormal">                echo "postinst called with
          unknown argument \`${1}'" >&2</p>
        <p class="MsoNormal">                exit 1</p>
        <p class="MsoNormal">                ;;</p>
        <p class="MsoNormal">esac</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">exit 0</p>
        <p class="MsoNormal"> </p>
      </div>
      <br>
      <hr>
      <font color="Gray" face="Arial" size="2"><br>
        DISCLAIMER:<br>
        This e-mail and any attachments to it may contain confidential
        and proprietary material and is solely for the use of the
        intended recipient. Any review, use, disclosure, distribution or
        copying of this transmittal is prohibited except by or on behalf
        of the intended recipient. If you have received this transmittal
        in error, please notify the sender and destroy this e-mail and
        any attachments and all copies, whether electronic or printed.<br>
      </font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>