Translation(s): English - Español - Português (Brasil) - Italiano - Svenska - Русский
Questo è il portale sulla pacchettizzazione, per coloro che desiderano creare nuovi pacchetti. Per i pacchetti comunemente installati vedere Software. Oppure, per installare e rimuovere pacchetti, vedere gestione dei pacchetti.
Contents
Guide generiche
Non ci sono scorciatoie per imparare le buone pratiche di pacchettizzazione; non si può semplicemente usare un banale programma di pacchettizzazione come equivs per affrontare il problema e sperare per il meglio.
I riferimenti in questa sezione sono di aiuto per ottenere una approfondita conoscenza dei problemi che è necessario risolvere se si desidera creare o mantenere un pacchetto.
Iniziare
Il primo passo è trovare un approccio base che risulti adatto al proprio metodo di lavoro. La Debian mentors FAQ suggerisce di riconsiderare, chiarisce perché e come iniziare e fornisce una breve vista d'insieme del processo.
Vengono inventati nuovi strumenti costantemente negli anni e il miglior modo di utilizzarli dipende dagli specifici progetti che devono essere pacchettizzati e dal modo in cui si preferisce lavorare. Alcune guide da cui si può trarre ispirazione sono:
Creazione di un .deb per l'uso privato mostra come creare un pacchetto base in 5 minuti
- una serie di tutorial degli anni 2010-2011 aiuta a imparare la teoria:
Introduzione alla pacchettizzazione per Debian spiega la pacchettizzazione da zero
Il Building tutorial spiega come applicare modifiche ad un pacchetto esistente
suggerimenti avanzati per la creazione di pacchetti tratta alcuni dettagli che non hanno trovato spazio negli altri tutorial
- una serie di tutorial del 2025 di Otto Kekäläinen mostra un buon flusso di lavoro di pacchettizzazione:
Pacchettizzazione con git discute alcuni flussi di lavoro comuni basati su git
Guida per il Manutentore Debian fornisce una guida di riferimento per gli strumenti comuni trattati nei tutorial
sostituisce la vecchia Debian New Maintainers' Guide
La pacchettizzazione per Debian si basa più su esempi che non sulla teoria. Cercare pacchetti ben mantenuti e guardare come vengono fatti!
Ulteriori letture
Una volta che è stato trovato un flusso di lavoro con cui si ci trova bene, lo si può ottimizzare per le proprie specifiche necessita. Le pagine seguenti possono fornire alcune idee:
Imparare la pacchettizzazione per Debian passo-passo porta il lettore da livelli di pacchettizzazione base ad avanzati (dal team JavaScript)
Debian Packaging Tutorial dice ciò che si deve veramente conoscere sulla pacchettizzazione per Debian
La Developers Reference fornisce una panoramica delle procedure raccomandate e delle risorse disponibili
Come far entrare il mio pacchetto in Debian? mostra il processo di far sì che un pacchetto venga accettato in Debian
Le FAQ sulla pacchettizzazione rispondono ad alcune domande comuni
La Upstream guide da suggerimenti ai manutentori a monte su come supportare la pacchettizzazione
Complex Web Apps discute la creazione di pacchetti Debian per applicazioni web complesse
Impostare un sistema Debian unstable fornisce alcune opzioni per creare un ambiente per la creazione di pacchetti pulito
Queste pagine con argomenti più avanzati spiegano come funziona la pacchettizzazione dietro le quinte:
La Debian Policy - requisiti tecnici che ogni pacchetto deve soddisfare
Projects/DebSrc3.0 - dettagli sui formati "3.0 (quilt)" e "3.0 (native)" per i pacchetti sorgente
Courses2005/BuildingWithoutHelper - come creare un pacchetto Debian senza usare un programma d'aiuto
Packaging/HackingDependencies - hack delle dipendenze
Diagrams - diagrammi e schemi relativi alla pacchettizzazione
Debian Trends - come le pratiche di pacchettizzazione si sono evolute nel tempo
Da ultimo, se si desidera vedere il processo di sviluppo del sistema di pacchettizzazione stesso:
PackageConfigUpgrade - metodo proposto per gestire in modo fluido gli aggiornamenti della configurazione durante gli aggiornamenti dei pacchetti
DataPackages - brainstorming su i pacchetti di dati enormi
Guide più specifiche
Una volta che si è presa familiarità con la creazione di pacchetti in generale, è necessario imparare gli strumenti e le tecniche per il proprio particolare problema.
Guide specifiche per un linguaggio
Ognuno dei team Debian dedicato ad un linguaggio ha le proprie politiche e strumenti:
Pagina del team Emacs Lisp
Documentazione sulla pacchettizzazione per Golang
Pagina del team Haskell
Guida di pacchettizzazione per Java
Politica per JavaScript
Guida di pacchettizzazione per Node.js
Pagina del gruppo Lua
Guida di pacchettizzazione per Mono
Pagina dei manutentori OCaml
Guida di pacchettizzazione per Perl
Guida di stile per le librerie Python
Guida di pacchettizzazione per Ruby
Pagina del gruppo Rust
vedere anche un confronto tra gli strumenti che creano pacchetti Debian
Guide specifiche per un argomento
Se il proprio pacchetto riguarda un argomento specifico, può essere necessario leggere informazioni scritte da chi ha già esperienza in merito:
Informazioni sugli strumenti Android
- Guide dei team Debian
Guida del Debian GNOME Team
Guida del Debian MATE Packaging Team
Politica del Debian Med team
Guida di pacchettizzazione di Debian Multimedia
anche i team di pacchettizzazione possono avere guide
Politica di pacchettizzazione per i tipi di carattere
Ripacchettizzazione di pacchetti sorgente RPM come pacchetti .deb
vedere anche Usare RPM in Debian
Guide degli strumenti
Probabilmente sarà necessario usare qualcuno di questi:
pbuilder o sbuild per creare ambienti in cui creare i pacchetti
lintian, piuparts, autopkgtest e blhc per fare il debug dei pacchetti creati
Si può anche voler usare qualcuno di questi:
Packaging/ruby-team-meta-build - script di compilazione usati dal Team Ruby, aiutano a testare facilmente dipendenze inverse
Quilt per gestire patch senza un sistema di controllo di versione
devscripts per rendersi la vita più facile
dh-make per convertire archivi di sorgenti in pacchetti sorgenti Debian
checkinstall permette di creare pacchetti binari .deb da script di installazione (make install...)
Guide per compiti specifici
Se si sta cercando di ottenere un particolare risultato:
far sì che file da un pacchetto siano temporaneamente sostituiti da file da un altro
caricare pacchetti sorgente senza pacchetti binari
vedere anche archivio Debian
evitare di tenere copie di comodo di file da un progetto in un altro
soluzioni per pacchetti -dev con versione specifiche per i linguaggi
gestire le differenze tra il proprio pacchetto e quello a monte
Lavorare con altri sviluppatori
Se si desidera partecipare alla comunità Debian:
Mentors - sponsor/mentori per i pacchetti in aree specifiche di Debian
SponsorChecklist - Checklist per sponsor
linee guida per la gestione della coda NEW
DEX - migliorare Debian e le sue derivate attraverso lavoro di squadra di più comunità
Work-Needing and Prospective Packages - pacchetti di cui è stata richiesta la pacchettizzazione o che necessitano di un nuovo manutentore
Salsa - server di sviluppo di Debian basato su GitLab
Sessioni di addestramento
Debian Women organizza sessioni di addestramento.
Collegamenti esterni
Come compilare e distribuire un pacchetto Debian con GitLab CI
fpm può compilare vari formati di pacchetti (inclusi i .deb) da altri formati di pacchetti (gem, pip, pear, tar, npm, pacman...)
Script di pacchettizzazione per Debian - Russ's Debian Notes
Vedere anche
Evitare un errore da pacchettizzatore principiante: non compilare i pacchetti Debian con dpkg -b
Debuginfod elimina la necessità per gli utenti di installare pacchetti debuginfo per potere fare il debug di programmi usando GDB, systemtap o altri strumenti]]
Pagine del Wiki
Tutte le pagine relative alla pacchettizzazione in Debian (e le eventuali versioni tradotte in italiano):
- AdvancedBuildingTips
- Alioth
- AndroidTools
- AutomaticPackagingTools
- BuildingFormalBackports
- BzrBuildpackage/DesignIdeas
- CheckInstall
- ConfigPackages
- CopyrightReviewTools
- Courses2005/BuildingWithoutHelper
- CreatePackageFromPPA
- Creating signed GitHub releases
- CrossBuildPackagingGuidelines
- DDPO
- DEX
- DataPackages
- Debhelper
- DebianAstro/AstropyPackagingTutorial/Packaging
- DebianAstro/AstropyPackagingTutorial/Preparation
- DebianChangelog
- DebianDevelopment
- DebianGNUstep/TODO
- DebianMentorsFaq
- DebianMultimedia/DevelopPackaging
- DebianPackageManagement
- DebianRepository/Setup
- DebugPackage
- DevelopersCorner
- Diagrams
- Distcc
- DkmsPackaging
- DpkgConffileHandling
- DpkgDiversions
- EmacspeakTestingGuide
- FTBFS
- FastTrack
- Fonts/PackagingPolicy
- Games
- Games/Sponsors/Queue
- GettingPorted
- GitPackaging
- GitPackagingSurvey
- GitPackagingSurvey/bare debian
- GitPackagingSurvey/bare debian monorepo
- GitPackagingSurvey/bare template
- GitPackagingSurvey/git-debcherry
- GitPackagingSurvey/git-debrebase
- GitPackagingSurvey/git-dpm
- GitPackagingSurvey/manually maintained applied
- GitPackagingSurvey/merging
- GitPackagingSurvey/modified orig plus further unapplied patches
- GitPackagingSurvey/rebasing
- GitPackagingSurvey/unapplied
- GitPackagingWorkflow
- GitPackagingWorkflow/DebConf11BOF
- GitSrc
- HardeningWalkthrough
- HowToPackageForDebian
- Java/Packaging
- Javascript/Forwading-Patches
- Javascript/Policy
- Javascript/Repacking
- Maintainers
- MakeAPrivatePackage
- ManageUpstreamDifferences
- Mentors
- Mingw-W64
- NonMaintainerUpload
- OpenSuseBuildService
- PackageConfigUpgrade
- PackageSalvaging
- PackageTransition
- Packaging
- Packaging/HackingDependencies
- Packaging/Intro
- Packaging/Learn
- Packaging/Pre-Requisites
- Packaging/Variables
- Packaging/ruby-team-meta-build
- Packaging/sbuild
- PackagingFAQ
- PackagingTools
- PackagingWithDarcs
- PackagingWithDocker
- PackagingWithGit
- PbuilderTricks
- PkgQtKde/BookwormReleasePlans
- PkgQtKde/TrixieReleasePlans
- Projects/DebSrc3.0
- Python/DbgBuilds
- Python/LibraryStyleGuide
- Python/Policy
- RPM
- RenamingPackages
- Repackage_srcrpm
- Repacking
- ReproducibleBuilds
- Salsa
- Salsa/support
- ServiceSandboxing
- Services/wnpp-by-tags.debian.net
- SimpleBackportCreation
- SimplePackagingTutorial
- Software that can't be packaged
- SoftwarePackaging
- SponsorChecklist
- Teams
- Teams/DebianHaskellGroup
- Teams/DebianMonoGroup/NewPackage
- Teams/Dpkg/Spec/DeclarativePackaging
- Teams/Foo2zjs
- Teams/MySQL
- Teams/MySQL/MySQL-wsrep
- Teams/OCamlTaskForce
- Teams/Printing
- Teams/Ruby/Packaging
- UntrustedDebs
- UpstreamGuide
- UscanEnhancements
- UsingQuilt
- WNPP
- WritingDebianPackageDescriptions
- binNMU
- debian/patches
- debian/upstream
- debian/upstream/edam
- debian/watch
- pbuilder
- piuparts
- pt_BR/AdvancedBuildingTips
- pt_PT/Teams
- sbuild
- tag2upload
- udeb
- zh_CN/DebianRepository/Setup