На скорую лапу накалякал свой первый ебилд
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
NAME="CiscoPacketTracer"
DESCRIPTION="Cisco's Packet Tracer"
HOMEPAGE="https://www.netacad.com/group/offerings/packet-tracer"
DOWNLOADPAGE="https://www.netacad.com/group/offerings/all-resources"
SRC_URI="$NAME-${PV}.tar.gz"
LICENSE="cisco-eula"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="strip fetch"
inherit eutils
pkg_nofetch() {
einfo "Please download installation archieve from:"
einfo " ${DOWNLOADPAGE}"
einfo "and move it to ${DISTDIR}"
einfo "as ${SRC_URI}"
einfo
}
src_unpack() {
unpack "${SRC_URI}"
mv "${WORKDIR}/PacketTracer601" "${WORKDIR}/${P}"
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
exeinto /opt/bin
pushd "${D}/opt/bin" &>/dev/null || die
for i in PacketTracer6 linguist; do
make_wrapper "${i}" "/opt/pt/bin/${i}" /opt/pt /opt/pt/lib/ /opt/bin
done
echo "PT5HOME=/opt/pt" > "${T}/env" || die
newenvd "${T}/env" "99packettracer" || die
pushd "${S}/bin" &>/dev/null || die
exeinto /opt/pt/bin
insinto /opt/pt/bin
doexe "PacketTracer6" "linguist" || die
rm PacketTracer6 linguist zip unzip ZIP_LICENSE
rm -r "Linux"
doins -r * || die
#Особенно вот это беспокоит. Как определить путь к системному unzip?
for ext in zip unzip; do
dosym "../../../../usr/bin/${ext}" "/opt/pt/bin/Linux/${ext}" || die
dosym "../../../usr/bin/${ext}" "/opt/pt/bin/${ext}" || die
done
pushd "${S}/" &>/dev/null || die
insinto /opt/pt
rm "eula.txt" "install" "set_ptenv.sh" "tpl.linguist" "tpl.packettracer"
rm -r "bin"
doins -r * || die
fperms 755 "/opt/pt/extensions/meta"
fperms 755 "/opt/pt/extensions/upnp/upnpc"
fperms 755 "/opt/pt/extensions/upnp/upnp"
newicon /opt/pt/art/app.png pt6.png
make_desktop_entry PacketTracer6 'Cisco Packet Tracer' pt6 \
'Application;Network;' 'MimeType=application/x-pkt;application/x-pka;application/x-pkz;'
}
Ес-но, есть вопросы почти по каждому из вышенаписанных костылей: так ли я делаю и если не так, то как лучше?
Про отсутствие зависимостей знаю
Кстати, как из него создать привязки и иконки к .desktop для определенных типов файлов?