La domanda originale, Packaging Go application for Debian, è stata presentata più di tre anni fa, quando Go stava collegando staticamente gli eseguibili.Packaging Vai 1.5 applicazioni per sistemi di tipo Debian
Ora, con il nuovo Go 1.5 Release, il cui release note dice,
Changes to the linker enable distributing Go packages as shared libraries to link into Go programs, and building Go packages into archives or shared libraries that may be linked into or loaded by C programs
mi sono diretto al Debian GoPackaging wiki, ma solo per scoprire che non è stato aggiornato per Go 1.5 ancora, forse il wiki non è mantenuto, o forse no, ma,
Voglio solo sapere, se voglio impacchettare uno strumento che non dipende da nient'altro che dai pacchetti Go ufficiali, come dovrei approfittare delle librerie condivise, invece di costruire la mia app in un gigantesco eseguibile collegato staticamente?
So che la risposta ufficiale potrebbe richiedere un po 'di tempo, ma posso aspettare.
Grazie alla risposta di Braiam, mi sono spostato un po 'oltre.
ho seguito il blog al passo
head -100 debian/**/*
, ma la mia uscita è completamente diverso dal blog di. Il mio è solo il seguente. Qualcuno sa perché e come risolvere?$ head -100 debian/**/* 3.0 (quilt)
ho cercato di correre
gbp buildpackage --git-pbuilder
ma ha urtato errore:gbp:info: Building with (cowbuilder) for sid Base directory /var/cache/pbuilder/base.cow does not exist gbp:error: 'git-pbuilder' failed: it exited with 1
ho controllato e verificato che ho già
cowbuilder
&pbuilder
installati:ii cowbuilder amd64 pbuilder running on cowdancer ii pbuilder all personal package builder for Debian packages
Cosa c'è sbagliato? Questa cosa pbuilder
è nuova per me come I build Debian/Ubuntu Package with Docker.
Penso che Debian abbia bisogno di risolvere questo problema: supponendo che passino al collegamento dinamico, immagino che aggiungano un pacchetto Go stdlib e si costruisca contro quella versione di stdlib e si faccia una dipendenza dal proprio .deb. Se hai bisogno di 1.5 per costruire (o semplicemente lo vuoi per qualsiasi ragione) e Debian non lo ha adottato o non ha scritto regole per questo, non sono sicuro di quello che fai. – twotwotwo
Non è chiaro se si può ancora contare su di esso: sembra che Debian unstable sia ancora in 1.4.2. Ubuntu è aggiornato a 1.5rc1 in wily, ma non installa una versione di libreria condivisa della lib standard, quindi probabilmente dovrai dipendere dal collegamento statico ancora per un po '. –
Aggiunge un ulteriore livello ma [godeb] (https://github.com/niemeyer/godeb) funziona abbastanza bene per me. Almeno ti lascia in controllo. – zoliton