<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<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>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<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>
<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 face="Arial" color="Gray" 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>
</body>
</html>