<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>