2011-11-04 8 views
8

Sto creando un sistema Linux incorporato e volevo aggiungere il pacchetto "" (e le utilità bluetooth) ai pacchetti dell'ambiente Buildroot.Come aggiungo un pacchetto A a Buildroot che è disponibile in un repository Git?

Sfortunatamente la tar ball sembra non essere disponibile ma la fonte è disponibile da repository Git ma non sono sicuro di come posso includerlo nel file .mk.

Posso fare questo e se sì, come?

+0

si può guardare il codice sorgente (inbuildroot) su come pronti contro termine svn sono tirati e creare il proprio roba per git. – Alex

risposta

13

Buildroot ha già un pacchetto bluez, che farà parte della prossima versione 2011.11. Nel frattempo, è possibile utilizzare l'ultima versione Git di Buildroot oppure eseguire il porting del pacchetto bluez in una versione precedente di Buildroot.

Tornando alla domanda iniziale, Buildroot è in grado di recuperare il codice sorgente dai repository Git. Come indicato nella documentazione, dovete semplicemente fare:

MYPKG_VERSION = some_commit_id_or_tag_or_branch_name 
MYPKG_SITE = git://thegitrepository 
MYPKG_SITE_METHOD = git 

nel file .mk.

+0

Grazie. Sto usando un buildroot personalizzato per i dispositivi Phidget in modo che la versione 2011.11 abbia bisogno di essere ottimizzata anche per i dispositivi Phidgets. La tua risposta mi ha comunque aiutato e posso combinare ciò con il rilascio di Buildroot Phidget. – Kerry

+0

qualsiasi aggiornamento su questo? – Reigel

+0

Il metodo è ora indovinato dal prefisso 'git: //'. –

1

Sembra che ci siano già tarball del pacchetto bluez già disponibile. Una ricerca su Google per "bluez" produce http://www.bluez.org/download/, che ha collegamenti a diversi tarball.

Se per qualche motivo si desidera realmente il codice dal repository Git, è possibile creare un clone locale del repository e quindi utilizzare il comando git archive per creare un archivio. Vedere git archive --help per la documentazione.

A seconda delle esigenze, è anche possibile creare direttamente dalla propria copia locale del repository (anziché creare un archivio tar per decomprimerlo nuovamente in un passaggio successivo).

+0

Le palle tar non erano disponibili quando ho provato ma il repository git è. Sono appena sicuro come utilizzare il repository git nel file .mk, ma la risposta di Thomas e guardando la documentazione ha aiutato – Kerry

0

minima di esercizio in-albero 2.016,05 esempio

https://github.com/cirosantilli/buildroot/tree/git-package-2016.05

L'unico file interessante è package/hello/Config.in:

HELLO_VERSION = branch2 
HELLO_SITE = git://github.com/cirosantilli/hello-c.git 

define HELLO_BUILD_CMDS 
    $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) 
endef 

define HELLO_INSTALL_TARGET_CMDS 
     $(INSTALL) -D -m 0755 $(@D)/hello $(TARGET_DIR)/usr/bin 
endef 

$(eval $(generic-package)) 

Si scarica e costruisce: https://github.com/cirosantilli/hello-c

MYPKG_SITE_METHOD = git è dedotto da il git: su SITE.

Problemi correlati