HARDWARE Y SISTEMAS OPERATIVOS, GNU/Linux, Windows, Mac > GNU/Linux, Unix, *BSD and Free Software, Android

¿Como agregar nuevas llamadas a DCOP (o KDCOP)?

<< < (2/3) > >>

Dabo:
Gracias por la info Peibol, creo que con esto lo arreglará -;)

Jaleos:
 :haha: :haha: :haha: O lo destrozará..... :haha:
Un poco complicado para mi después de un vistazo rápido, intentaré digerirlo este finde. A ver si me entero de algo y puedo hacer una pregunta "digna".
Saludos

Jaleos:
Bueno, bueno, bueno..me voy enterando de algo pero aún necesito ayuda.

Ya tengo descomprimido el tar.bz2 y localizados los archivos a los que se refieren las cabeceras del diff, y por ejemplo, en Kaffeine.cpp, en la sección DCOP INTERFACE no hay ninguna acción "instant record", hasta ahí bien ( ¡lo que me costó comprender que tenia que bajarme el código fuente!  :danae: ).
Desde bash tampoco aparece la función, claro, sin recompilar..

Para aplicar el parche he hecho:
Copiar el contenido del diff que proponen y hacer un archivo "instant.diff".
Moverlo a la carpeta del código de Kaffeine donde apuntan las cabeceras del diff (kaffeine-0.8.7/kaffeine/src).

Y

--- Código: ---jaleos@Core-Duo:~/Escritorio/kaffeine-0.8.7/kaffeine/src$ patch < instantcpp.diff
patching file kaffeine.cpp
patch: **** malformed patch at line 19:

--- Fin del código ---
Aquí le quité un espacio que había delante de la # en la linea 19 del diff y me pasó el error a la siguiente linea, vease


--- Código: ---jaleos@Core-Duo:~/Escritorio/kaffeine-0.8.7/kaffeine/src$ patch < instant.diffpatching file kaffeine.cpp
patch: **** malformed patch at line 20:

--- Fin del código ---
Aquí le quito una linea en blanco entre la linea 19 y 20,  :pardiez: y la misma de antes


--- Código: ---jaleos@Core-Duo:~/Escritorio/kaffeine-0.8.7/kaffeine/src$ patch < instant.diff
patching file kaffeine.cpp
patch: **** malformed patch at line 21: Index: /home/tomas/multimedia2/kaffeine/src/kaffeine.h
 
--- Fin del código ---
Y aquí, como no le quite la cartera :) . Atascado estoy y no salgo.

Se supone que la primera parte del diff debería aplicar, porque ya no da errores,  todo esto será por....

--- Citar ---Asegurate de tener la versión correcta del código ya que sino el parche no aplicará
--- Fin de la cita ---
Este diff es de hace 2 años, quizás sea eso, ¿cuestión de versiones?.

¿No sería más fácil, ya que es poco código y además no elimina ninguna linea, cambiar los archivos a mano? ¿puede que funcione luego?

Saludos

Peibol:
Los diff son ficheros muy simples que solo indican que lineas se agregan y cuales se eliminan, tranquilamente puedes hacerlo a mano. Incluso en lo que respecta al código, por lo que pude ver son funciones nuevas que ya están anunciadas en los ficheros de cabecera, por lo que no deberías tener ningún problema en agregar las líneas que tienen un + por delante directamente al código que te has descargado.

Si miras el fichero, se agrega esto

void Kaffeine::setRecord()
{
#ifdef HAVE_DVB
       if ( dvbPanel )
              dvbPanel->setRecord();
#endif
}

alrededor de la línea 1901 del fichero kaffeine.cpp

Si miras los demás trozos del patch:

Index: /home/tomas/multimedia2/kaffeine/src/kaffeine.h
===================================================================
--- /home/tomas/multimedia2/kaffeine/src/kaffeine.h     (revision 611002)
+++ /home/tomas/multimedia2/kaffeine/src/kaffeine.h     (working copy)
@@ -113,6 +113,7 @@
        void quit();
        void setNumber( int num );
        void dvbNewTimer( QString name, QString channel, QString datetime,
QString duration );
+       void setRecord();
        int dvbSNR( int device );
        void dvbOSD();
        void playDvb();

Te indica que se va a modificar el fichero kaffeine.h (fichero de cabecera cpp), y que en la línea 113 se agrega el prototipo de función "void setRecord()" que has definido en la parte anterior del parche. Así con todos los "Index" que aparecen.

Lo malo de los ficheros diff es que si las líneas no concuerdan por un espacio el parche no aplica y te da los mensajes de error que te está dando. Por lo que te conviene hacerlo a mano porque tardarás menos.

Luego me cuentas que tanto te complica para compilar, que eso es otro mundo.

Salu2

Jaleos:
Hola Peibol.
Primero, muchas gracias por la explicación y confirmación.
Bueno, ya están hechos los cambios en los tres archivos a que se refiere el diff, a mano.
He llegado a hacer el make así:


--- Código: ---apt-get build-dep kaffeine
./configure
make
--- Fin del código ---

Como la seda, no da ningún error, hasta aquí parece todo bien.

Actualmente tengo instalada y configurada óptimamente la versión 0.8.6 de Kaffeine en Gnome, usando KDE 3.5.9, supongo que cuando haga el make install tendré que tener desinstalada ésta versión, claro, no quiero perder el trabajo hecho, ¿si guardo la configuración de /home/jaleos/.kde/share/apps/kaffeine seria facil restaurarla?

Otra pregunta, ¿cuando haces "./configure" y "make" se producen cambios en el archivo de fuentes bajado (y parcheado)?.
Lo digo por usar esas mismas fuentes, porque estoy por hacer la instalación en una live-cd, a ver como se comporta y si aparece implementada la nueva función.
(Según escribo) Sí, creo que eso haré, a no ser que me recomiendes otro procedimiento....

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa