Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[workaround] ebuild: wie "emake install" verhindern?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1924
Location: Schweiz

PostPosted: Thu Jun 15, 2023 8:56 am    Post subject: ebuild: wie "emake install" verhindern? Reply with quote

Hallo,
weiß hier jemand wie ich in der "src_install"-Phase verhindern kann das Portage versucht die Software mittels des Makefile zu installieren?
Die "install"-Anweisungen aus dem Makefile sind schlicht unbrauchbar weshalb ich das selbst mit dobin, doman und so weiter machen muss, aber Portage pfuscht mir immer mit dem Versuch dazwischen das Makefile zu benutzen.


Last edited by schmidicom on Thu Jun 15, 2023 10:03 am; edited 1 time in total
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Thu Jun 15, 2023 9:09 am    Post subject: Reply with quote

hm, ich hab nicht so sehr viel erfahrung mit ebuild schreiben, aber AFAIK sollte es eigentlich reichen, deine eigene "src_install" funktion zu machen. dann wird die statt der default funktion aufgerufen.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1924
Location: Schweiz

PostPosted: Thu Jun 15, 2023 9:13 am    Post subject: Reply with quote

Christian99 wrote:
hm, ich hab nicht so sehr viel erfahrung mit ebuild schreiben, aber AFAIK sollte es eigentlich reichen, deine eigene "src_install" funktion zu machen. dann wird die statt der default funktion aufgerufen.

Tut es leider nicht.
Habe meine eigene src_install geschrieben, aber Portage interessiert es null und versucht trotzdem die Makefile zu benutzen...

Ich versuche gerade das ganze damit zu fixen das ich die Makefile in src_prepare lösche, was nicht da ist kann Portage auch nicht benutzen. Mal sehen ob mich das irgendwie weiter bringt
Back to top
View user's profile Send private message
ts-plus
n00b
n00b


Joined: 04 Dec 2012
Posts: 26
Location: Germany

PostPosted: Thu Jun 15, 2023 9:14 am    Post subject: Reply with quote

Alternativ kannst du das Makefile in src_prepare patchen (bspw. das install target komplett rausnehmen).
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Thu Jun 15, 2023 9:31 am    Post subject: Reply with quote

schmidicom wrote:
Christian99 wrote:
hm, ich hab nicht so sehr viel erfahrung mit ebuild schreiben, aber AFAIK sollte es eigentlich reichen, deine eigene "src_install" funktion zu machen. dann wird die statt der default funktion aufgerufen.

Tut es leider nicht.
Habe meine eigene src_install geschrieben, aber Portage interessiert es null und versucht trotzdem die Makefile zu benutzen...

Ich versuche gerade das ganze damit zu fixen das ich die Makefile in src_prepare lösche, was nicht da ist kann Portage auch nicht benutzen. Mal sehen ob mich das irgendwie weiter bringt


hm, habs grad mal probiert, und bei mir wird mit einer eigenen src_install funktion kein make install aufgerufen.
Wie sieht denn dein ebuild aus?
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1924
Location: Schweiz

PostPosted: Thu Jun 15, 2023 9:34 am    Post subject: Reply with quote

Ich merke gerade dass das Makefile nicht nur in der src_install-Phase verwendet wird sondern auch in den anderen und da nicht nur die "install"-Anweisungen des Makefile unbrauchbar sind (beziehungsweise nicht zu Gentoo passen) gehe ich jetzt dazu über es in src_prepare zu löschen und dann einfach alles selbst zu machen.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5192

PostPosted: Thu Jun 15, 2023 9:35 am    Post subject: Reply with quote

schmidicom wrote:
Christian99 wrote:
hm, ich hab nicht so sehr viel erfahrung mit ebuild schreiben, aber AFAIK sollte es eigentlich reichen, deine eigene "src_install" funktion zu machen. dann wird die statt der default funktion aufgerufen.

Tut es leider nicht.
Habe meine eigene src_install geschrieben, aber Portage interessiert es null und versucht trotzdem die Makefile zu benutzen...

Ich versuche gerade das ganze damit zu fixen das ich die Makefile in src_prepare lösche, was nicht da ist kann Portage auch nicht benutzen. Mal sehen ob mich das irgendwie weiter bringt

sicher dass du die methode richtig geschrieben hast?

Die heißt
Code:
src_install() {
}

bezüglich wie die src_install default aussieht siehe hier.
https://devmanual.gentoo.org/ebuild-writing/functions/src_install/index.html

Und beispiele findest du einige im gentoo repro z.b. nvidia-drivers: https://gitweb.gentoo.org/repo/gentoo.git/tree/x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1924
Location: Schweiz

PostPosted: Thu Jun 15, 2023 9:41 am    Post subject: Reply with quote

Christian99 wrote:
Wie sieht denn dein ebuild aus?

Die aktuelle Version ist jetzt das hier:
Code:
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit go-module systemd desktop

DESCRIPTION="A native Linux filesystem for Microsoft OneDrive"
HOMEPAGE="https://github.com/jstaf/onedriver"
SRC_URI="https://github.com/jstaf/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
   https://res.messerligroup.com/deploy/${P}-deps.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

DEPEND="net-libs/webkit-gtk:4
   dev-libs/json-glib"
RDEPEND="${DEPEND}"
BDEPEND=""

src_prepare() {
   rm ${S}/Makefile || die "Remove dysfunctional Makefile failed!"
   eapply_user
}

src_compile() {
   ego build ./cmd/onedriver
   ego build ./cmd/onedriver-launcher
}

src_install() {
   # Install binary
   dobin onedriver || die "Install failed!"
   dobin onedriver-launcher || die "Install failed!"
   # Install manpage
   doman resources/onedriver.1 || die "Install failed!"
   # Install service-unit
   systemd_douserunit resources/onedriver@.service || die "Install failed!"
   # Install icons
   doicon -s scalable resources/onedriver.svg || die "Install failed!"
   doicon -s 128 resources/onedriver-128.png || die "Install failed!"
   doicon -s 256 resources/onedriver.png || die "Install failed!"
   # Create desktop-file
   make_desktop_entry onedriver-launcher Onedriver onedriver Utility || die "Install failed!"
}

Bei meinen Vorherigen Versuchen hatte ich nur eine "src_install" und da wurde dann immer die Makefile ausgeführt egal was ich das rein geschrieben hatte.

EDIT:
So funktioniert es.
Es wurde installiert und bis jetzt scheint die Software zu tun was sie soll.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum