Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[RISOLTO] Richiesta aiuto per creazione ebuild da RPM
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Wed Jul 31, 2013 10:36 am    Post subject: [RISOLTO] Richiesta aiuto per creazione ebuild da RPM Reply with quote

Ciao,
qualcuno di volonteroso (e sicuramente più esperto di me nella creazione di pacchetti), avrebbe voglia di crearmi un ebuild che installi questo pacchetto RPM (che contiene i driver FULL FEATURES della stampante EPSON STYLUS PHOTO PX720WD?

IL pacchetto lo si scarica da questo indirizzo:
http://a1227.g.akamai.net/f/1227/40484/1d/download.ebz.epson.net/dsc/f/01/00/01/68/37/4079c3d0baec7777ee1b8e348391aed25f0d69dc/epson-inkjet-printer-artisan-725-835-series-1.0.0-1lsb3.2.src.rpm

Nell'ebuild io ipotizzerei di far scaricare manualmente il pacchetto e metterlo nella DISTDIR visto il path assurdo di scarico.
l'indirizzo per farlo scaricare manualmente all'utente è questo:
http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX

Un grazie di cuore a chiunque mi dia una mano e si voglia cimentare
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)


Last edited by guerro on Tue Aug 06, 2013 4:17 pm; edited 1 time in total
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1008

PostPosted: Wed Jul 31, 2013 10:45 am    Post subject: Reply with quote

ciao

mai provato a dare una occhiata a :

app-arch/rpm
dev-util/rpmdevtools

e/o

app-arch/rpm2targz


e relativi --help e http://wiki.gentoo.org/wiki/RPM

ciao :wink:
_________________
LRS i586 on G.Drive
LRS x86-64 EFI on MEGA
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Wed Jul 31, 2013 10:57 am    Post subject: Reply with quote

Ho dato un occhio, ma ho l'impressione che servano per installare il contenuto dell'RPM nel sistema, ma quando poi devi ad esempio fare una rimozione, non è così automatica e semplice come con un ebuild, oltre al fatto che non viene tenuta traccia nel sistema dell'installazione....

Inoltre nel pacchetto RPM pare che si debba fare una doppia installazione di 2 subpacchetti contenuti in quello originario di cui 1 (quello dei filtri) secondo specifiche particolari....

Purtroppo per le mie scarse conoscenze non sono in grado di analizzare nel dettaglio e creare un ebuild senza rischiare di s********e il sistema...
:cry: :cry: :cry: :cry: :cry:
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
sabayonino
Veteran
Veteran


Joined: 03 Jan 2012
Posts: 1008

PostPosted: Wed Jul 31, 2013 5:47 pm    Post subject: Reply with quote

esedno drivers con percorsi statici , credo chje una volta installati e aver dato il ppd a cups , non ci dovrebbero essere altri problemi (credo eh...)

inoltre sul sito SANE http://www.sane-project.org/lists/sane-backends-external.html

per le epson ci stanno i bebckend epwoka sono compatibili con la tua stampante http://www.sane-project.org/lists/sane-backends-external.html#S-EPKOWA

Quote:
Stylus Photo PX720WD Series USB 0x04b8/0x0861 Complete network interface supported via DFSG non-free iscan-network-nt package
all-in-one
overseas version of the EP-803A




Code:
USE="sane_backends_epson" emerge media-gfx/sane-backends

_________________
LRS i586 on G.Drive
LRS x86-64 EFI on MEGA
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Wed Jul 31, 2013 6:42 pm    Post subject: Reply with quote

quell'rmp contiene un tar.gz e un rpm.

Non ho ben capito se sono la stessa cosa o meno, a te quale interessa installare?
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Wed Jul 31, 2013 9:19 pm    Post subject: Reply with quote

L'idea che mi sono fatto è che uno installa le librerie, l'altro solo i filtri e i ppd per cups.
Credo addirittura che prima installi il pacchetto vero e proprio, e poi il tar.gz dei filtri...

Per il discorso SANE, non si riferisce allo SCANNER integrato nella stampante (è una multifunzione...)?
Come USE ho impostato epson2 che mi permette di utilizzare lo scanner via rete Wi-Fi, ...infatti quello funziona divinamente....

PS.
Il tutto è nato fondamentalmente perchè con il driver generico (per intenderci ESC/P-R) la stampante funziona, ma non ho la possibilità di stampare ad esempio sul fronte-retro e altre funzionalità che invece potrei avere se utilizzassi il pacchetto RPM.
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
TwoMinds
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jul 2004
Posts: 146
Location: Italy

PostPosted: Thu Aug 01, 2013 10:29 am    Post subject: Reply with quote

Buongiorno a tutti. Sperando di essere utile:

Per scrivere ebuild: Gentoo Development Guide .

Mi sono incuriosito, avendo dieci minuti liberi. Mi sono accorto che quel pacchetto fornisce i driver aggiornati per le stampanti inkject Epson. Mi sono ricordato del pacchetto net-print/epson-inkjet-printer-escpr disponibile nell'overlay sunrise. Purtroppo è fermo alla versione 1.1.1, mentre questa sembra essere la 1.2.3.

Ecco la versione aggiornata per net-print/epson-inkjet-printer-escpr-1.2.3.ebuild, se servisse.
Code:
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header:

EAPI=4

DESCRIPTION="Epson Inkjet Printer Driver (ESC/P-R) for Linux"
HOMEPAGE="http://avasys.jp/eng/linux_driver/index.php"
SRC_URI="http://download2.ebz.epson.net/dsc/f/03/00/02/25/86/5208c494264cd78de5365105fac1e7e94a661bf6/epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz -> ${P}.tar.gz"

LICENSE="GPL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="net-print/cups"
RDEPEND="${DEPEND}"

RESTRICT=""


Per lo scanner c'è anche media-gfx/iscan.
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Fri Aug 02, 2013 6:29 am    Post subject: Reply with quote

Grazie TwoMinds,
purtroppo però come detto in un mio post precedente, quelli sono i driver generici che non hanno tutte le funzionalità (vedi FRONTE-RETRO ad esempio) e a me serve poter installare quelli con tutte le funzionalità.... :cry: :cry:
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Aug 02, 2013 7:29 pm    Post subject: Reply with quote

Non ho molto tempo quindi ho dato solo uno sguardo distratto e non ho controllato i sorgenti.

Da quel che ho capito è il classico driver proprietario solo che stavolta hanno voluto essere un minimo meno "figli di grandissim..." e lo hanno fatto alla unix-maniera.
Un pacchetto nell'rpm contiene le librerie (compilate statiche o prive di reali dipendenze) con il codice effettivo del filtro, da installare nel sistema secondo quanto riporta il file .spec (non è difficile da leggere), l'altro è un normalissimo sorgente che compila il binario del filtro (che in realtà non fa altro che eseguire il codice nella libreria) e lo installa.

Il problema è non mi sembra che l'autoconf sia in grado di rilevare le librerie sotto un percorso differente.

Per incominciare a provare metti nell'ebuild delle semplici istruzioni di copia in /var/tmp/portage/vattelappesca/work scompattaci anche il tar.gz e prova a compilarlo solo con un ebuild compile.

Se non ne vuol sapere allora ti tocca spezzare il pacchetto in librerie e sorgente, per quel che so la sandbox non gestisce situazioni del genere.

Approssimativo, molto "a naso" ma di più non posso al momento.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Sat Aug 03, 2013 9:51 am    Post subject: Reply with quote

Grazie djinnZ,
Io ci provo (anzi RIPROVO), se nel frattempo qualcuno armato di TANTA BUONA VOLONTA' (...e un po' di pazienza nei miei confronti) vuole provare a creare l'ebuild e a passarlo, avrà la mia riconoscenza...

Intanto GRAZIEEEE :) :) :)
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
TwoMinds
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jul 2004
Posts: 146
Location: Italy

PostPosted: Sat Aug 03, 2013 11:49 am    Post subject: Reply with quote

guerro wrote:
Grazie djinnZ,
Io ci provo (anzi RIPROVO), se nel frattempo qualcuno armato di TANTA BUONA VOLONTA' (...e un po' di pazienza nei miei confronti) vuole provare a creare l'ebuild e a passarlo, avrà la mia riconoscenza...

Intanto GRAZIEEEE :) :) :)


Ok, perché non provi ad aggiornarci delle tue sperimentazioni postandole? Sono solito scrivere ebuild per tutto il software che installo, che sia sorgente, .bin o .rpm. Magari ti posso essere utile con qualche consiglio. Oppure impari con questo primo esperimento (^_^) .
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sat Aug 03, 2013 9:09 pm    Post subject: Reply with quote

concordo, anche se sono incasinatissimo uno sguardo ad un tuo ebuild od un log lo posso dare.

Tanto per iniziare e non impazzire ti posso dire che nelle sezioni degli ebuild puoi anche utilizzare dei normali comandi shell come se fosse uno script sh. Non potrai postarlo su bugzilla ma correggerlo è facile.

Inizia a copiare e modificare un ebuild esistente di qualche altro pacchetto. (se qualcuno si ricorda di un ebuild che parte da rpm sarebbe un gradito suggerimento).

La cosa è molto più facile di quel che può sembrare. E procedendo da ebuild il peggio che puoi fare e dover lanciare un emerge -c.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Mon Aug 05, 2013 10:21 am    Post subject: Reply with quote

Questo è l'ebuild che sono riuscito a fare:
L'installazione non mi da errori, l'unico dubbio è che installa tutto in /opt/.....
Ma non è che debba invece essere distribuito nelle varie cartelle di Gentoo?!?!?!?!? se si qualcuno esperto del sistema me lo potrebbe sistemare?!?!?

Ecco il codice dell'ebuild
Code:

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

inherit autotools rpm

MY_P="epson-inkjet-printer-artisan-725-835-series-${PV}-1lsb3.2"

DESCRIPTION="Epson Inkjet Printer Driver (ESC/P) for Linux" # common Linux printer driver
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
SRC_URI=${MY_P}.src.rpm
RESTRICT="fetch mirror"

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

DEPEND="net-print/cups"
RDEPEND="${DEPEND}"

S="${WORKDIR}/epson-inkjet-printer-filter-${PV}"

src_prepare() {
    eautoreconf
    }

pkg_nofetch() {
    einfo "Please download ${MY_P}"
    einfo "from ${HOMEPAGE}"
    einfo "and place it into ${DISTDIR}"
    }


Come noterete l'ebuild si deve scaricare manualmente....
per scaricare quello che utilizzo io il modello di stampante è la PX720WD :) :)


[EDIT]

Googlando in giro sono incappato in un ebuild che installava un driver di una stampante epson utilizzando il mio stesso tipo di RPM.... Riadattandolo un poco ho creato questo ebuild:
epson-inkjet-printer-artisan-725-835-series-1.0.0.ebuild
Code:

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

inherit rpm autotools base

MY_P="${P}-1lsb3.2"
TGT="/opt/${PKG}"

DESCRIPTION="Epson Inkjet Printer Driver (ESC/P) for Linux" # common Linux printer driver
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
SRC_URI=${MY_P}.src.rpm
FILTERDIR=${WORKDIR}/epson-inkjet-printer-filter-1.0.0
RESTRICT="fetch mirror"

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

DEPEND="net-print/cups"
RDEPEND="${DEPEND}"

src_unpack() {
    rpm_src_unpack
}

src_prepare() {
    cd ${FILTERDIR}
    sed -i -e 's:/opt/lsb/:/usr/:g' configure.ac || die
    chmod +x configure
    eautoreconf
    # if you have runtime problems: add "enable-debug" and look into /tmp/epson-inkjet-printer-filter.txt
    ./configure LDFLAGS="$LDFLAGS -Wl,-no-as-needed" -prefix=$TGT
}

src_compile() {
    cd ${FILTERDIR}
    make -j1 || die
}

src_install() {
    # install docs
    cd ${S}
    into $TGT
    dodoc AUTHORS COPYING COPYING.EPSON README Manual.txt

    # install ppds-files into /usr/share/ppd/Epson
    cd ppds

    gzip -9 *.ppd
    insinto /usr/share/ppd/Epson
    doins *.ppd.gz       || die
    cd ..

    # install lib's, recources and watermarks
    case `uname -m` in
    x86_64) X86LIB=64 ;;
    *)      ;;
    esac

    insinto $TGT/lib"X86LIB"
    doins lib"$X86LIB"/* || die

    insinto $TGT/watermark
    doins watermark/*    || die

    insinto $TGT/resource
    doins resource/*     || die

    # install filter-binary
    exeinto $TGT/cups/lib/filter
    doexe ${FILTERDIR}/src/epson_inkjet_printer_filter || die
    }

pkg_nofetch() {
    einfo "Please download ${MY_P}"
    einfo "from ${HOMEPAGE}"
    einfo "and place it into ${DISTDIR}"
    }


Installare si installa, stassera provo a vedere se funzionano e poi vi farò sapere.... SPERIAMO!!!!
_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
TwoMinds
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jul 2004
Posts: 146
Location: Italy

PostPosted: Tue Aug 06, 2013 11:53 am    Post subject: Reply with quote

Ciao. Bravo. Lo metti in net-print, immagino. Banalmente con
Code:
SRC_URI="http://a1227.g.akamai.net/f/1227/40484/1d/download.ebz.epson.net/dsc/f/01/00/01/68/37/4079c3d0baec7777ee1b8e348391aed25f0d69dc/${MY_P}.src.rpm"

dovrebbe scaricarlo da solo. Più comodo quando crei il Manifest.
Back to top
View user's profile Send private message
guerro
Guru
Guru


Joined: 21 Jun 2004
Posts: 402
Location: Brescia

PostPosted: Tue Aug 06, 2013 1:31 pm    Post subject: Reply with quote

@TwoMinds: Non metto l'indirizzo completo per scaricarlo in quanto mi da l'idea che sia un indirizzo costrruto dinamicamente e non vorrei mai che (giusto per riciclare il pacchetto per le versioni successive, semmai usciranno) il PATH cambi con le nuove versioni.

Dopo vari rimaneggiamenti e correzioni forse ho completato l'ebuild, stassera quando torno a casa provo a lanciare una stampa e poi vediamo. Dalla prova fatta in ufficio l'unico errore che ricevo è l'impossibilità di contattare la stampante, tutto il passaggio attraverso CUPS e il filtro pare funzionare...... MA LA PROVA DEL 9 l'avrò solo quando sarò a casa.

Stay Tuned!!!!! :lol: :lol: :!: :!:

EDIT

Tutto funziona alla perfezione!!!
Ed ecco la versione finale dell'ebuild:
Code:

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit rpm autotools base

MY_P="${P}-1lsb3.2.src.rpm"
TGT="/opt/${PN}"

DESCRIPTION="Epson Inkjet Printer Driver (ESC/P) for Linux" # common Linux printer driver
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
SRC_URI=${MY_P}
FILTERDIR=${WORKDIR}/epson-inkjet-printer-filter-1.0.0
RESTRICT="fetch mirror"

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

DEPEND="net-print/cups
   x11-misc/colord"
RDEPEND="${DEPEND}"

src_unpack() {
    rpm_src_unpack
}

src_prepare() {
    cd ${FILTERDIR}
    sed -i -e 's:/opt/lsb/:/usr/:g' configure.ac || die
    chmod +x configure
    eautoreconf
    # if you have runtime problems: add "--enable-debug" and look into /tmp/epson-inkjet-printer-filter.txt
    ./configure LDFLAGS="$LDFLAGS -Wl,--no-as-needed" --prefix=$TGT
}

src_compile() {
    cd ${FILTERDIR}
    make -j1 || die
}

src_install() {
    # install docs
    cd ${S}
    into $TGT
    dodoc AUTHORS COPYING COPYING.EPSON README Manual.txt

    # install ppds-files into /usr/share/ppd/Epson
    cd ppds

    gzip -9 *.ppd
    insinto /usr/share/ppd/Epson
    doins *.ppd.gz       || die
    cd ..

    # install lib's, recources and watermarks
    case `uname -m` in
    x86_64) X86LIB=64 ;;
    *)      ;;
    esac

    insinto $TGT/lib"$X86LIB"
    doins lib"$X86LIB"/* || die

    insinto $TGT/watermark
    doins watermark/*    || die

    insinto $TGT/resource
    doins resource/*     || die

    # install filter-binary
    exeinto $TGT/cups/lib/filter
    doexe ${FILTERDIR}/src/epson_inkjet_printer_filter || die
}

pkg_nofetch() {
    einfo "Please download ${MY_P}"
    einfo "from ${HOMEPAGE}"
    einfo "and place it into ${DISTDIR}"
}


_________________
(.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sat Aug 10, 2013 5:55 pm    Post subject: Reply with quote

Scusa ma ho avuto un tantino da fare in questi giorni, mi fa piacere che hai risolto. Come vedi era più facile di quello che pensavi.
Comunque i pacchetti basati su binari e librerie "esterni", sviluppati ed assemblati al di fuori della distribuzione, dovrebbero andare in /opt, quindi quello che avevi fatto è giustissimo.
Per la restrizione al fetch ti chiarisco che non è possibile senza un accordo scritto tra la fondazione gentoo e la epson inserire il download automatico, quindi hai ragione a lasciarlo così.
Ti manca solo postarlo sul bugzilla di gentoo a futura memoria o nella speranza che qualche devel lo adotti.
Code:
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit rpm autotools base

MY_P="${P}-1lsb3.2.src.rpm"
TGT="/opt/${PN}"

DESCRIPTION="Epson Inkjet Printer Driver (ESC/P) for Linux" # common Linux printer driver
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
SRC_URI=${MY_P}
FILTERDIR=${WORKDIR}/epson-inkjet-printer-filter-1.0.0
RESTRICT="fetch mirror"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug"

DEPEND="net-print/cups
        x11-misc/colord"
RDEPEND="${DEPEND}"

pkg_nofetch() {
    einfo "Please download ${MY_P}"
    einfo "from ${HOMEPAGE}"
    einfo "and place it into ${DISTDIR}"
}
src_unpack() {
    rpm_src_unpack
}

src_prepare() {
    cd ${FILTERDIR}
    sed -i -e 's:/opt/lsb/:/usr/:g' configure.ac || die
    chmod +x configure
    eautoreconf
    filter-ldflags "-Wl,--as-needed"
    # if you have runtime problems: add "--enable-debug" and look into /tmp/epson-inkjet-printer-filter.txt
    ./configure --prefix=$TGT
}

src_compile() {
    cd ${FILTERDIR}
    make -j1 || die
}

src_install() {
    # install docs
    cd ${S}
    into $TGT
    dodoc AUTHORS COPYING COPYING.EPSON README Manual.txt

    # install ppds-files into /usr/share/ppd/Epson
    cd ppds
    gzip -9 *.ppd
    insinto /usr/share/ppd/Epson
    doins *.ppd.gz       || die

    # install lib's, recources and watermarks
    case `uname -m` in
    x86_64) X86LIB=64 ;;
    *)      ;;
    esac

    insinto $TGT/lib"$X86LIB"
    doins lib"$X86LIB"/* || die

    insinto $TGT/watermark
    doins watermark/*    || die

    insinto $TGT/resource
    doins resource/*     || die

    # install filter-binary
    exeinto $TGT/cups/lib/filter
    doexe ${FILTERDIR}/src/epson_inkjet_printer_filter || die
}

_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) 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