#language it <> ---- {{attachment:Portal/IDB/icon-wiki-portal.png}} Benvenuti nel '''portale della pacchettizzazione''' di [[it/Debian|Debian]]. {{attachment:Portal/IDB/icon-template-32x32.png}} Questo portale tratta le '''informazioni per gli sviluppatori che desiderano pacchettizzare [[it/Software|software]] per Debian.''' Se si stanno cercando informazioni sull'installazione o la rimozione dei pacchetti dal proprio sistema Debian, vedere invece le pagine sulla [[it/PackageManagement|gestione dei pacchetti]]. I [[it/Software|pacchetti]] Debian vengono mantenuti da una comunità di sviluppatori e volontari Debian. <
> {{{#!wiki debian Quando si inizia ad occuparsi di pacchettizzazione per Debian, leggere per prima cosa la documentazione ufficiale: * [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guida per i Manutentori Debian]] -- descrive la compilazione di un pacchetto Debian con molti esempi<
> * [[https://www.debian.org/doc/devel-manuals#packaging-tutorial|Tutorial sulla pacchettizzazione per Debian]] -- panoramica basata su diapositive della pacchettizzazione in Debian * [[https://www.debian.org/doc/debian-policy/|Debian Policy (Politiche Debian)]] -- le regole fondamentali * [[https://www.debian.org/doc/manuals/developers-reference/|Developers Reference (Guida di riferimento per gli sviluppatori)]] -- guida avanzata, ecc. * [[https://mentors.debian.net/intro-maintainers/|Introduzione per i manutentori: come farà il mio pacchetto ad entrare in Debian?]] }}} <> ---- == Introduzione alla creazione di pacchetti per Debian == Per imparare delle buone informazioni di base sulla creazione di pacchetti per Debian: * prima leggere l'eccellente [[it/IntroDebianPackaging|Introduzione alla creazione di pacchetti per Debian]] per creare un pacchetto partendo da zero. * si può anche guardare il [[it/BuildingTutorial|tutorial sulla compilazione]] per applicare modifiche ad un pacchetto esistente * se si è nuovi in Debian, allora la pagina su come [[Packaging/Pre-Requisites|impostare un sistema Debian unstable]] può aiutare a impostare un ambiente di sviluppo Una volta viste le basi, è caldamente consigliato leggere un qualcosa di più consistente: * [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guida per i Manutentori Debian]] descrive la compilazione di un pacchetto Debian con molti esempi (Rimpiazza la sorpassata [[https://www.debian.org/doc/manuals/maint-guide/index.en.html|Guida per il nuovo manutentore Debian (Debian New Maintainers' Guide)]] ) * [[https://www.debian.org/doc/debian-policy/|la Debian Policy (Politiche Debian)]] include i requisiti tecnici che ogni pacchetto deve soddisfare. * Più di ogni altra cosa, controllare anche il codice sorgente di pacchetti esistenti di tipo simile recentemente aggiornati. Poi, se si hanno dubbi o domande, si può tornare a questa pagina o leggere: * l'interessante file PDF incluso nel pacchetto [[DebianPkg:packaging-tutorial|packaging-tutorial]] o leggibile [[https://www.debian.org/doc/manuals/packaging-tutorial/|qui]]. * [[https://www.debian.org/doc/manuals/developers-reference/|La Developers Reference (Guida di riferimento per sviluppatori)]] fornisce una panoramica delle procedure raccomandate e delle risorse disponibili per gli sviluppatori Debian. Cosa non fare: * Non ci sono scorciatoie per imparare le buone pratiche di creazione di pacchetti. Evitare [[DebianPkg:equivs]] che è utile solamente per creare metapacchetti banali e non insegna nulla sulla creazione dei pacchetti. <> == Procedure di pacchettizzazione == === Tipi / Formati === * [[AndroidTools]] - strumenti per Android * [[Fonts/PackagingPolicy]] Tipi di carattere * [[https://go-team.pages.debian.net/packaging.html]] - librerie e applicazioni Golang * [[Teams/DebianHaskellGroup]] - librerie e ambiente Haskell * [[Java/Packaging]] - librerie e applicazioni Java * [[Javascript/Policy]] - librerie e applicazioni JavaScript * [[https://salsa.debian.org/lua-team]] - moduli Lua * [[Teams/DebianMonoGroup/NewPackage]] - librerie e applicazioni Mono * [[Teams/DebianMozExtTeam#Common_practices]] - extensions di Mozilla * [[Teams/OCamlTaskForce]] - librerie OCaml * [[Python/Packaging]] - moduli e applicazioni Python * [[Teams/Ruby/Packaging]] - moduli e applicazioni Ruby * [[Teams/RustPackaging]] - crate e applicazioni Rust * [[RPM]] - reimpacchettare pacchetti RPM come pacchetti .deb <> === Strumenti === * [[PackagingWithDarcs]] - controllo di versioneDarcs * [[Packaging/debspawn]] - srumento di compilazione pulita debspawn * [[PbuilderTricks]] - strumento di compilazione pulito Pbuilder * [[SecurePbuilder]] - strumento di compilazione Secure Pbuilder * [[Packaging/ruby-team-meta-build]] - script di compilazione usati dal Team Ruby, aiutano a testare facilmente dipendenze inverse === Strumenti suggeriti per creare un ambiente per la pacchettizzazione === Per creare un ambiente di pacchettizzazione è necessario imparare ad usare e installare i seguenti strumenti: * [[Packaging/sbuild]] per compilazioni pulite; installare il pacchetto DebianPkg:sbuild sbuild è utilizzato nel servizio di compilazione di Debian ([[buildd]]). Vedere anche [[sbuild]]. * [[UsingQuilt|Quilt]] per gestione di patch; installare il pacchetto DebianPkg:quilt * [[PackagingWithGit|Git]] per pacchettizzazione con gestione di Git; installare il pacchetto DebianPkg:git-buildpackage. * [[piuparts]] per uno strumento di test di installazione, aggiornamento e rimozione di pacchetti .deb; installare il pacchetto DebianPkg:piuparts. * [[Lintian]] per un controllore esaustivo di pacchetti per i pacchetti Debian; installare il pacchetto DebianPkg:lintian. * Devscripts - script per rendere più facile la vita di un manutentore di pacchetti Debian; installare il pacchetto DebianPkg:devscripts. * [[https://people.debian.org/~eriberto/README.package-tests.html|Autopkgtest]] - eseguire i test che si trovano nei pacchetti sorgente Debian; installare il pacchetto DebianPkg:autopkgtest. * * blhc - cercare opzioni di hardening mancanti; installare il pacchetto DebianPkg:blhc. Vedere [[https://eriberto.pro.br/blog/2015/09/07/debian-how-to-use-blhc-to-solve-hardening-issues-when-packaging/|Debian: come usare blhc per risolvere problemi di hardening quando si creano pacchetti]]. * dh-make per convertire archivi sorgenti in sorgenti di pacchetti Debian; installare il pacchetto DebianPkg:dh-make. * [[cowbuilder]], molto comodo per compilare un proprio progetto per molte distribuzioni contemporaneamente; installare il pacchetto DebianPkg:cowbuilder. Perfetto, ora si ha un ambiente pronto per iniziare a imparare a pacchettizzare per Debian! <> === Procedure avanzate === * [[it/AdvancedBuildingTips]] - Alcuni suggerimenti di creazione avanzati * [[Courses2005/BuildingWithoutHelper]] - Come creare un pacchetto Debian senza usare uno strumento d'aiuto * [[Packaging/HackingDependencies]] - Modificare le dipendenze * [[Packaging/ComplexWebApps]] - Creare pacchetti Debian per applicazioni web complesse <> === Pagine utili === * [[PackagingFAQ]]FAQ sulla pacchettizzazione * [[Mentors]] - sponsor/mentori per i pacchetti in aree specifiche di Debian * [[Renaming_a_Package]] - Rinominare un pacchetto * [[PackageTransition]] -Transizione pacchetti * [[DpkgDiversions|Aggiungere e rimuovere diversioni]] * [[BzrBuildpackage/DesignIdeas|Idee progettuali per creazione di pacchetti con Bzr]] * [[PkgSplit]] - Come suddividere un pacchetto in pacchetti più piccoli * [[Repackage_srcrpm]] - Creare un pacchetto sorgente Debian ben fatto facendo comunque riferimento al pacchetto src.rpm * [[DebugPackage]] - Pacchetti di debug * [[PackageArchitectureAlmostAny]] - Creazione di pacchetti senza una particolare architettura, per un facile port * [[ConfigPackages]] - Pacchetti di configurazione * [[DpkgConffileHandling]] - Gestione appropriata di file di configurazione * [[EditingBinaryPackageMetadata]] - Modificare i metadati di pacchetti binari * [[SoftwarePackaging]] - Pacchettizzazione di software * [[SponsorChecklist]] - Checklist per sponsor * [[it/HowToPackageForDebian]] - Come creare pacchetti per Debian * [[it/Package|Pacchetti]] * [[AutomaticPackagingTools]] - Strumenti per pacchettizzazione automatica * [[DEX|DEX]] - migliorare Debian e le sue derivate attraverso lavoro di squadra di più comunità * [[Repacking]] - Raccogliere informazioni sulla ripacchettizzazione * [[AutomakeTransition|Transizione ad automake]] * [[PackageConfigUpgrade]] - Aggiornamento della configurazione di pacchetti: propone un nuovo metodo per gestire in modo pulito gli aggiornamenti della configurazione durante gli aggiornamenti dei pacchetti * [[DataPackages|Pacchetti di dati]] * [[Diagrams]] - diagrammi e schizzi relativi alla pacchettizzazione * [[WNPP]] - ''Work-Needing and Prospective Packages'' elenca i pacchetti di cui è stata richiesta la pacchettizzazione o che hanno bisogno di un nuovo manutentore * [[it/Salsa|Salsa]] - server di sviluppo collaborativo per Debian basato sul software GitLab * [[CheckInstall]] - compila pacchetti .deb binari a partire da script di installazione (`make install`...) * [[SimpleBackportCreation]] - Fare il backport di un pacchetto di [[it/DebianUnstable|Debian Unstable]] per[[it/DebianStable|Debian Stable]]. * [[SourceOnlyUpload]] - I "Source-only" (solo sorgenti) sono caricamenti nell'[[Services/Debian Archive|archivio Debian]] che non includono un compilato binario del pacchetto Debian. <> == Sessioni di addestramento == <> === Da Debian Women === [[it/DebianWomen|Debian Women]] organizza [[DebianWomen/Projects/Events/TrainingSessions|sessioni di addestramento]]. <> == Collegamenti esterni == * https://feeding.cloud.geek.nz/posts/whats-in-a-debian-directory/ - What's in a debian/ directory - Cosa c'è in una directory Debian * https://github.com/dod38fr/config-model/wiki/Managing-Debian-packages-with-cme - Gestire i file dei pacchetti Debian con cme * http://packaging.ubuntu.com/ - Guida alla pacchettizzazione di Ubuntu * https://www.debian.org/doc/manuals/apt-howto/ - APT HOWTO (Documentazione obsoleta) * https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Debian-Binary-Package-Building-HOWTO.html Debian Binary Package Building HOWTO (2005) * [[https://about.gitlab.com/blog/2016/10/12/automated-debian-package-build-with-gitlab-ci/|Come compilare e distribuire un pacchetto Debian con GitLab CI]] * [[https://github.com/jordansissel/fpm|fpm]] può compilare vari formati di pacchetti (inclusi i .deb) da altri formati di pacchetti (gem, pip, pear, tar, npm, pacman...) * [[https://wiki.ubuntu.com/Packaging|Pacchettizzazione - Wiki di Ubuntu]] * [[https://www.eyrie.org/~eagle/notes/debian/build-tools.html|Strumenti di compilazione di Debian - Russ's Debian Notes]] * [[https://www.eyrie.org/~eagle/notes/debian/scripts.html|Script di pacchettizzazione per Debian - Russ's Debian Notes]] === Vedere anche === * [[https://www.debian-administration.org/articles/336|Creare i propri pacchetti Debian (parte 1)]] * [[https://lists.debian.org/msgid-search/20061129152824.GT2560@mails.so.argh.org|compilazione automatica di pacchetti non liberi]] * [[https://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/|Un HOWTO sulla pacchettizzazione per Debian (2010)]] * [[https://raphaelhertzog.com/2010/12/17/do-not-build-a-debian-package-with-dpkg-b/|Evitare un errore da pacchettizzatore principiante: non compilare i pacchetti Debian con dpkg -b]] * [[Debuginfod|Debuginfod]] elimina la necessità per gli utenti di installare pacchetti debuginfo per potere fare il debug di programmi usando GDB, systemtap o altri strumenti]] * [[https://sources.debian.org|Navigare nel codice sorgente del sistema operativo Debian]] == Pagine del Wiki == Tutte le pagine relative alla pacchettizzazione in Debian (e le eventuali versioni tradotte in italiano): <> <> ---- CategoryPackaging | CategoryPortal