LINUX.ORG.RU

Поругайте ебилд

 , ,


0

1

На скорую лапу накалякал свой первый ебилд

# 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 для определенных типов файлов?

★★★★★

Последнее исправление: derlafff (всего исправлений: 2)

накалякал свой первый ебилд

Звезды в голову ударили, что-ли?

hizel ★★★★★
()
src_configure() {
	:;
}

src_compile() {
	:;
}

зойчем?

../../../../
зойчем?
unpack "${SRC_URI}"
щито!? о_О
это называется ${A}

megabaks ★★★★
()

Ебилд? Каой ебилд?

Есть же pkgsrc

anonymous
()
src_unpack() {
	unpack "${SRC_URI}"
	mv "${WORKDIR}/PacketTracer601" "${WORKDIR}/${P}"
}

зойчем?
чем не устроило

S="${WORKDIR}/PacketTracer601"
?

megabaks ★★★★
()

На кой всрались пустые функции?

Если тебе надо unzip то делают обычно так

DEPEND="${SOME_DEPEND}
	app-arch/unzip"

А потом просто unzip с параметрами и там где оно надо. И все но я читал вдоль и закономерно что то пропустил.

anonymous
()

скилов для пилил? тогда понимаю, иначе хз зачем

app-emulation/packettracer: Cisco's Packet Tracer

PACKAGE                                REPOSITORY
-------                                ----------
app-emulation/packettracer-5.3.3       bgo-overlay
app-emulation/packettracer-532-r2      regen2-overlay
app-emulation/packettracer-5.3.2       bgo-overlay
app-emulation/packettracer-5.3.2.0027  poly-c
app-emulation/packettracer-5218        bgo-overlay
app-emulation/packettracer-51          bgo-overlay

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Это для шестой версии

Алсоу, там в одном из них даже синтаксис некорректный, не понимаю, как оно туда попало

derlafff ★★★★★
() автор топика
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от megabaks

../../../../

зойчем?

Без понятия, я в основном делал все, как в virtualbox

Думаю, для того, чтобы можно было из chroot'а пускать без самого chroot'a

derlafff ★★★★★
() автор топика
Ответ на: комментарий от derlafff

определить путь к системному zip самым расово верным способом, без углубления в дебри portage можно через type

$(type -p zip), например

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.