In primo luogo, la domanda del titolo: supponendo che la directory debian sia già lì, essere nella directory dei sorgenti (la directory contenente la directory debian) e invocare dpkg-buildpackage. Mi piace eseguirlo con queste opzioni:
dpkg-buildpackage -us -uc -nc
che significa non firmare il risultato e non pulire.
Come posso verificare se ho elencato correttamente tutte le dipendenze?
Ottenere le dipendenze è un'arte nera. Il modo "ufficiale" di controllare la dipendenza della build è se il pacchetto viene compilato solo con il sistema di base, i pacchetti "essenziali per la compilazione" e le dipendenze di compilazione specificate. Non conosco una risposta generale per le dipendenze regolari, entra dentro :)
Come posso impedire al sistema di aggiornamento di installare la versione precedente nel repository su un aggiornamento? Come posso impedire al sistema di installare una versione più recente (quando è disponibile), sovrascrivendo il mio pacchetto personalizzato?
La mia conoscenza potrebbe non essere aggiornata su questo, ma per affrontare entrambi: Usa dpkg --set-selections. Supponendo che nullidentd fosse il pacchetto che si desiderava rimanere, eseguire come root
echo 'nullidentd hold' | dpkg --set-selections
In alternativa, poiché stai compilando dalla sorgente, puoi usare un'epoca per impostare il numero di versione artificialmente alto e non essere mai più disturbato. Per usare un'epoca, aggiungi una nuova voce al file debian / changelog e metti 99: davanti al numero di versione. Dato il mio esempio nullidentd, la prima riga del log delle modifiche aggiornato dovrebbe leggere:
nullidentd (99:1.0-4) unstable; urgency=low
Il collegamento di Bernard è buono, specialmente se devi creare tu stesso la directory debian - sono utili anche i riferimenti per gli sviluppatori e la pagina delle risorse generali . Anche il collegamento di Adam sembra buono ma non lo conosco.