Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Patch pacchetto LIRC in Portage
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 2:23 am    Post subject: Patch pacchetto LIRC in Portage Reply with quote

Salve a tutti!

Sto cercando di compilare lirc tramite portage; mi da un errore così sono andato a controllare il build.log.

Ho scoperto navigando che è una funzione che va sostituita (__this_cpu_read(cpu.info.loops_per_jiffy) al posto di current_cpu_data.loops_per_jiffy) https://lkml.org/lkml/2010/12/8/128

Come faccio a sostituirla? Come posso applicare una patch ad un sorgente nei repository?

P.s. Ovviamente se qualcuno ha un'altra soluzione decente per far installare lirc è decisamente ben accetta!!

Grazie.
Back to top
View user's profile Send private message
k01
Arch/Herd Tester
Arch/Herd Tester


Joined: 13 Feb 2008
Posts: 617
Location: Milano

PostPosted: Sun Jul 03, 2011 8:50 am    Post subject: Reply with quote

smaschera e installa la versione testing se in quella l'hanno risolto, altrimenti dovresti creare un overlay locale
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jul 03, 2011 8:51 am    Post subject: Reply with quote

io non ho problemi con lirc-0.9.0.

cerca di documentare meglio il tuo problema, indicando la versione dell'ebuild e postando il taglia-incolla di quelle parti dei log che ritieni significative.

per patchare un ebuild al volo, dovrebbe essere suffiicente creare un file nel percorso:
Code:
/etc/portage/patches/<categoria>/<pacchetto>[-<versione>]/nomeACaso.patch


nel caso particolare di lirc, ho osservato che non funziona, perché l'ebuild è scritto in un modo strano.
per aggirare il problema, ho aggiunto uan chiamata ad epatch_user prima della chiamata ad autoreconf:
Code:

s939 lirc # pwd
/usr/local/portage/app-misc/lirc
s939 lirc # diff lirc-0.9.0.ebuild lirc-0.9.0-r1.ebuild -u
--- lirc-0.9.0.ebuild   2011-07-03 10:40:02.215461052 +0200
+++ lirc-0.9.0-r1.ebuild   2011-07-03 10:49:50.370461264 +0200
@@ -278,6 +278,7 @@
    done
    echo "#define LIRC_DRIVER_DEVICE \"${LIRC_DRIVER_DEVICE}\"" >> acconfig.h
 
+   epatch_user
    eautoreconf
 }
 

_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 10:04 am    Post subject: Reply with quote

Grazie delle risposte!

Adesso provo il discorso della patch!

Vero che non c'è tutto sto rischio, ma preferisco installare solo i pacchetti stable.
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jul 03, 2011 10:53 am    Post subject: Reply with quote

UnoSD wrote:

Vero che non c'è tutto sto rischio, ma preferisco installare solo i pacchetti stable.

è una politica comprensibile, ma non sempre funzionale.

lirc è un pacchetto che in questo momento ha uno sviluppo piuttosto rapido, sotto le spinte commerciali di un mercato senza controllo, e, comprensibilmente, è un po' al margine delle attenzioni dei nostri sviluppatori di ebuild.

probabilmente, buttarsi sulla ~ è una violazione virtuosa delle buone regole.
prima di partire, tieni sempre un occhio sul bugzilla.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 10:57 am    Post subject: Reply with quote

Alla fine sono crollato sotto la mia pigrizia...

Non sapevo bene come si creava il file della patch e dopo mezzo tentativo ho optato per mettere lirc-0.9.0...

A proposito di bugzilla, ma come mai mi dice che il certificato non è sicuro? Chromium mi chiede ogni volta conferma e mi sbarra https con una linea rossa!!
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jul 03, 2011 11:26 am    Post subject: Reply with quote

UnoSD wrote:

Non sapevo bene come si creava il file della patch e dopo mezzo tentativo ho optato per mettere lirc-0.9.0...

era ovvio. stavi cercando di fare una cosa troppo sofisticata. comunque:
Code:

s939 ~ # mkdir -p /etc/portage/patches/app-misc/lirc-0.9.0 prova
s939 ~ # cd prova
s939 prova # tar xjf /var/gentoo-var/distfiles/lirc-0.9.0.tar.bz2 -C .
s939 prova # echo chePatch\!>lirc-0.9.0/remotes/README
s939 prova # diff -uNr lirc-0.9.0.orig/ lirc-0.9.0/ >/etc/portage/patches/app-misc/lirc-0.9.0/chePatch.patch
:)
UnoSD wrote:

A proposito di bugzilla, ma come mai mi dice che il certificato non è sicuro?

un certificato è sicuro quando è validato da un servizio esterno di terza parte.
in questo modo sei garantito da un eventuale sito civetta che desideri intercettare la tua navigazione: il servizio di terza parte lo smascherebbe inevitabilmente, perché il sito civetta può simulare alla perfezione la pagina web, ma non duplicare il certificato ssl.

molti siti web si producono il proprio certificato a mano. In questo caso, la navigazione criptata ssl è garantita, ma la protezione dai siti civetta no.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 11:43 am    Post subject: Reply with quote

Ehm, la cosa "complicata" che hai scritto è stata la prima cosa che ho fatto...

Code:
diff -u --recursive --new-file lirc-0.8.7/drivers/lirc_serial/lirc_serial.c lirc-0.8.7-patch/drivers/lirc_serial/lirc_serial.c
--- lirc-0.8.7/drivers/lirc_serial/lirc_serial.c   2010-08-16 22:20:47.000000000 +0200
+++ lirc-0.8.7-patch/drivers/lirc_serial/lirc_serial.c   2011-07-03 04:09:18.000000000 +0200
@@ -494,7 +494,7 @@
    duty_cycle = new_duty_cycle;
    freq = new_freq;
 
-   loops_per_sec = current_cpu_data.loops_per_jiffy;
+   loops_per_sec = __this_cpu_read(cpu.info.loops_per_jiffy);
    loops_per_sec *= HZ;
 
    /* How many clocks in a microsecond?, avoiding long long divide */
@@ -515,7 +515,7 @@
    dprintk("in init_timing_params, freq=%d, duty_cycle=%d, "
       "clk/jiffy=%ld, pulse=%ld, space=%ld, "
       "conv_us_to_clocks=%ld\n",
-      freq, duty_cycle, current_cpu_data.loops_per_jiffy,
+      freq, duty_cycle, __this_cpu_read(cpu.info.loops_per_jiffy),
       pulse_width, space_width, conv_us_to_clocks);
    return 0;
 }


Solo che ho provato ad applicarla e mi chiedeva il file cui applicarla, mi scocciavo di vedere il perché ed ho lasciato stare...

Quote:
molti siti web si producono il proprio certificato a mano. In questo caso, la navigazione criptata ssl è garantita, ma la protezione dai siti civetta no.


Quindi Bugzilla produce il proprio certificato da solo, non è validato da un servizio esterno e quindi mi viene segnalato come potenzialmente dannoso perché non sono protetto dai siti civetta, ho capito bene?
Back to top
View user's profile Send private message
ago
Developer
Developer


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

PostPosted: Sun Jul 03, 2011 12:52 pm    Post subject: Reply with quote

UnoSD wrote:
Quindi Bugzilla produce il proprio certificato da solo, non è validato da un servizio esterno e quindi mi viene segnalato come potenzialmente dannoso perché non sono protetto dai siti civetta, ho capito bene?


Lascia stare le civette :D

Il certificato non è stato controllato da nessuno, quindi vedi il warning. =)
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 1:12 pm    Post subject: Reply with quote

Ok, grazie :)

Cmq come faccio a far funzionare la patch? (ormai ho installato la 0.9.0 ma sono curioso e potrebbe servirmi in futuro... poi così posso pure mettere: RISOLTO!)

Altro "problema": Ho messo il modulo di lirc_serial nel kernel ma questo richiede prima che venga disattivata la uart della rs-232, come posso fare a farlo prima che parta lirc_serial? (senza compilarlo come modulo)
Code:
   [    2.482172] lirc_serial: port 03f8 already in use
   [    2.482172] lirc_serial: use 'setserial /dev/ttySX uart none'
   [    2.482173] lirc_serial: or compile the serial port driver as module and
   [    2.482174] lirc_serial: make sure this module is loaded first


E poi una piccola cosa o.t. per cui non credo valga la pena di aprire un'intera discussione: Come si fa ad avviare un binario da un'altra cartella?? Ho provato PWD=/nuovacartella gedit, bash -c 'export PWD=/nuovacartella; gedit' ma nulla sembra intaccare la directory in cui crede di essere gedit!! Pensa sempre di essere da dove l'ho lanciato!
Back to top
View user's profile Send private message
ago
Developer
Developer


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

PostPosted: Sun Jul 03, 2011 1:31 pm    Post subject: Reply with quote

UnoSD wrote:
Cmq come faccio a far funzionare la patch? (ormai ho installato la 0.9.0 ma sono curioso e potrebbe servirmi in futuro... poi così posso pure mettere: RISOLTO!)


Devi usare epatch in src_prepare, maggiori informazioni sul devmanual o sui $( eix --only-names | wc -l ) ebuild ;)

UnoSD wrote:
E poi una piccola cosa o.t. per cui non credo valga la pena di aprire un'intera discussione


Vale la pena :D
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 1:50 pm    Post subject: Reply with quote

Ti ringrazio, ci darò un'occhiata appena ho finito di fare un po' di sistemazioni più importanti sulla nuova installazione di Gentoo!

Ok, per l'altra cosa apro una discussione :) Ma non ne starò aprendo troppe?
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jul 03, 2011 4:11 pm    Post subject: Reply with quote

UnoSD wrote:

Cmq come faccio a far funzionare la patch? (ormai ho installato la 0.9.0 ma sono curioso e potrebbe servirmi in futuro... poi così posso pure mettere: RISOLTO!)

ho voluto a creare la tua stessa patch e a compilare lirc-0.8.7 con il metodo che ti ho illustrato ed ha funzionato.
(si fa per dire: la compilazione è fallita sul file lirc_serial.c, ma la patch è stata installata a dovere).

il vantaggio, rispetto all'uso di epatch è che non sei costretto a chiamare ebuild pacchetto manifest ogni volta che fai una modifica alla cartella <pacchetto>/files

inoltre, quell'ebuild di lirc è proprio strano, perché chiama autoreconf nella fase di src_unpack, che precede src_prepare.
mi sa che, se usi epatch nel modo corretto, succede un pasticcio.

@ago: è corretto scrivere gli ebuild in questo modo?
o sarebbe il caso di segnalare la cosa su bugzilla?
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 4:19 pm    Post subject: Reply with quote

E cos'altro è fallito in lirc_serial.c oltre a quello?
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jul 03, 2011 4:49 pm    Post subject: Reply with quote

UnoSD wrote:
E cos'altro è fallito in lirc_serial.c oltre a quello?
http://pastebin.com/WH6BfjYN
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
ago
Developer
Developer


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

PostPosted: Sun Jul 03, 2011 5:34 pm    Post subject: Reply with quote

cloc3 wrote:
@ago: è corretto scrivere gli ebuild in questo modo?
o sarebbe il caso di segnalare la cosa su bugzilla?


Dovrebbe essere possibile perché li viene usato EAPI 0, certo fare un porting ad EAPI 4, non sarebbe male ;)
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Sun Jul 03, 2011 11:53 pm    Post subject: Reply with quote

Potresti mettere su pastebin il build.log? Da lì non si vede che errore specifico è...

Quote:
Dovrebbe essere possibile perché li viene usato EAPI 0, certo fare un porting ad EAPI 4, non sarebbe male


Eeeeh???
Back to top
View user's profile Send private message
ago
Developer
Developer


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

PostPosted: Mon Jul 04, 2011 12:16 am    Post subject: Reply with quote

UnoSD wrote:
Potresti mettere su pastebin il build.log? Da lì non si vede che errore specifico è...

build.log su pastebin

Quote:
Dovrebbe essere possibile perché li viene usato EAPI 0, certo fare un porting ad EAPI 4, non sarebbe male


UnoSD wrote:
Eeeeh???


si tratta di sintassi pe scrivere ebuild, nulla di più
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Mon Jul 04, 2011 12:30 am    Post subject: Reply with quote

ago wrote:
build.log su pastebin


Questo non è l'output di emerge?

Quote:
si tratta di sintassi pe scrivere ebuild, nulla di più


Grazie :)
Back to top
View user's profile Send private message
ago
Developer
Developer


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

PostPosted: Mon Jul 04, 2011 12:37 am    Post subject: Reply with quote

UnoSD wrote:
Questo non è l'output di emerge?


Tu cosa intendi per build.log?
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Mon Jul 04, 2011 12:48 am    Post subject: Reply with quote

ago wrote:
Tu cosa intendi per build.log?


Code:
The complete build log is located at '/var/log/portage/app-misc:lirc-0.8.7:20110703-160558.log'.


A me lo chiamava /var/log/portage/app-misc/lirc-0.8.7/build.log ma comunque è quello... In emerge non ti dice niente riguardo agli errori nel codice...
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Mon Jul 04, 2011 8:42 am    Post subject: Reply with quote

UnoSD wrote:
ma comunque è quello... In emerge non ti dice niente riguardo agli errori nel codice...

probabilmente, togliendo la FEATURES -s dal make.conf, puoi ottenere un output verboso.
ma questo è compito tuo.

io ho fatto solo una prova per testare ciò che dicevo sulla patch on the fly.
se a te non funziona ancora, chiedi nuovi chiarimenti, ma più in là non ti posso seguire.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Mon Jul 04, 2011 10:35 am    Post subject: Reply with quote

cloc3 wrote:
io ho fatto solo una prova per testare ciò che dicevo sulla patch on the fly.
se a te non funziona ancora, chiedi nuovi chiarimenti, ma più in là non ti posso seguire.


Si ma se non so che errore ti da non so se la patch ha funzionato e se ha funzionato se ci sono altri problemi dopo... Il log dovrebbe essere ancora lì a meno di funzioni di "pulizia".

Cmq ovviamente non voglio farti perdere tempo, se non vuoi metterlo non fa niente!
Back to top
View user's profile Send private message
UnoSD
Apprentice
Apprentice


Joined: 27 Jun 2011
Posts: 273

PostPosted: Mon Jul 04, 2011 11:00 am    Post subject: Reply with quote

Il driver lirc_serial, se integrato nel kernel (non come modulo) mi da quest'errore:

Code:
   [    2.482172] lirc_serial: port 03f8 already in use
   [    2.482172] lirc_serial: use 'setserial /dev/ttySX uart none'
   [    2.482173] lirc_serial: or compile the serial port driver as module and
   [    2.482174] lirc_serial: make sure this module is loaded first


E se do il comando per disattivare la uart dopo comunque non funziona, devo per forza compilarlo come modulo???

Perché dare la possibilità di integrarlo nel kernel se poi non si può disattivare la uart prima? C'è un modo per farlo?
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Tue Jul 05, 2011 1:16 pm    Post subject: Reply with quote

UnoSD wrote:

Perché dare la possibilità di integrarlo nel kernel

tutti i moduli, indistintamente, possono essere integrati nel kernel o predisposti per il caricamento al volo.

se per caso un modulo implica, per il proprio funzionamento, l'attivazione di qualche software in userspace, capita che compilarlo built-in non funzioni.
tieni conto che il kernel linux comincia ad avere un'espansione smisurata e che il rischio di interazioni improprie tra moduli secondari diventa ogni giorno più concreta. un po' come accade a windows dai primordi.
_________________
vu vu vu
gentù
mi piaci tu
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
Goto page 1, 2, 3  Next
Page 1 of 3

 
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