Pacchettizzazione e distribuzione del software



Похожие документы
Il web server Apache Lezione n. 3. Introduzione

Configurazione di Outlook Express

Utilizzo di Certificati SSL e relative implicazioni

Tale attività non è descritta in questa dispensa

WorkFLow (Gestione del flusso pratiche)

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Progetto Virtualizzazione

Distribuire Applicazioni virtualizzate con APP-V

Corso di PHP. Prerequisiti. 1 - Introduzione

Linux e Open Source: Libero! Non "gratis"...

Introduzione a Dev-C++

Le fattispecie di riuso

IL PARTNER INFORMATICO PER AZIENDE E PROFESSIONISTI

Setup e installazione

Puppy Linux (Precise) Live da CD o da USB (Si può usare su PC con 256 MB di RAM)

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

FPf per Windows 3.1. Guida all uso

Mac Application Manager 1.3 (SOLO PER TIGER)

Procedura per la configurazione in rete di DMS.

OmniAccessSuite. Plug-Ins. Ver. 1.3

Vittorio Veneto,

Database e reti. Piero Gallo Pasquale Sirsi

Configuration Management

Architetture Applicative

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova)

Internet Explorer 7. Gestione cookie

Guida rapida all uso di Moodle per gli studenti

DW-SmartCluster (ver. 2.1) Architettura e funzionamento

GUIDA ALL INSTALLAZIONE DEI ROTABILI v.1.1 TRAIN SIMULATOR 2014

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

INIZIO ANNO E/ Per evitare eventuali attese operative, è fortemente consigliato, procedere con le operazioni di seguito descritte

Sistema operativo: Gestione della memoria

Guida all installazione di Easy

Outlook Express su Windows 7 e 8 (OE everywhere)

GCompris. Questo software è rilasciato sotto licenza GPL ed è un pacchetto ufficiale GNU, gira su diversi sistemi operativi Linux e sotto Windows.

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

PROCEDURA ON-LINE PER L EROGAZIONE DEI VOUCHER FORMATIVI SULL APPRENDISTATO PROFESSIONALIZZANTE. AVVISO PUBBLICO N. 1 del 16 Aprile 2012

Registratori di Cassa

TERMINE SUPPORTO DA PARTE DI MICROSOFT DEL SITEMA OPERATIVO WINDOWS XP: 8 Aprile 2014

Creare un sito Multilingua con Joomla 1.6

Reti di calcolatori ed indirizzi IP

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Come masterizzare dischi con Nero 11

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

So.Di. LINUX: Software Didattico OpenSource per tutti

SafePlace Manuale utente

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Eclipse e Subversion

LINUX a scuola: proviamo

[NOIGEST.IT REV.02] GUIDA ALLA NUOVA INTERFACCIA WEB DELL APPLICATIVO DI GESTIONE DI CIRCOLI E ORATORI

Con.Te Gestione Console Telematici

*Solo software legalmente riconosciuti e registrati. Network in possesso di regolare licenza. **Disponibili network gaming Poker, Casino, Scommesse.

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Suggerimenti forniti da MetaQuotes per l utilizzo di MetaTrader 4 con Mac OS

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

DESCRIZIONE DEL GIOCO

Approccio stratificato

Il portale italiano delle classificazioni

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Identità e autenticazione

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene

Guida all accesso sicuro al sito dberw.univr.it

Guida all'installazione del CMS MediaWiki

Software per Helpdesk

May Informatica S.r.l.

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

Panoramica: che cosa è necessario

DINAMIC: gestione assistenza tecnica

Guida di Opzioni Fiery 1.3 (client)

2.1 Configurare il Firewall di Windows

MAT[CH]move online Guida

WINDOWS: Istruzioni per l uso

Osservazioni sulla continuità per le funzioni reali di variabile reale

Università per Stranieri di Siena Livello A1

Application Server per sviluppare applicazioni Java Enterprise

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Corso sul pacchetto R

E-learning Guida pratica all utilizzo

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Progetto Open Innovation Open ERP

Joomla: Come installarlo e come usarlo. A cura di

GUIDA ALL INSTALLAZIONE. Protezione di locale/rete. per il software CADPak su client e server di rete. per la Chiave Hardware Sentinel Hasp

WBT Authoring. Web Based Training STUDIO

Транскрипт:

Pacchettizzazione e distribuzione del software Gabriele D Angelo <gda@cs.unibo.it> http://www.cs.unibo.it/~gdangelo Università degli Studi di Bologna Dipartimento di Scienze dell Informazione Aprile, 2005

Scaletta della lezione Definizione del problema Rilasciare solamente i sorgenti Rilasciare anche i binari Packaging system Alcuni esempi poco tradizionali Open Source & Microsoft Windows? Breve bibliografia 2

Definizione del problema Abbiamo scritto un nuovo bellissimo software, la licenza ovviamente è Open Source come lo distribuiamo? Alcune possibilità: rilasciamo solo i sorgenti, chi vuole usarlo è costretto a ricompilarlo sulla propria architettura rilasciamo anche i binari: pacchetti? Per quali distribuzioni? architettura? Solo i386? sistema operativo? Non esiste sono GNU/Linux! Release early, release often quanto ci costa? 3

Rilasciare solamente sorgenti La soluzione banale (ed infatti molto diffusa) è quella di rilasciare solamente un.tgz che contiene tutti i sorgenti del progetto Chi vuole utilizzare il nostro software deve: avere un ambiente di sviluppo installato (adeguato) eventualmente effettuare un porting di alcune parti procedere alla compilazione e all installazione Le richieste sono decisamente troppe, molti saranno scoraggiato dal provare il nostro software. Meno persone provano il software, minori sono le possibilità che qualcuno collabori allo sviluppo / porting 4

Rilasciare binari Visto che rilasciare solamente i sorgenti non sembra un approccio promettente, fissato sistema operativo e architettura hardware potremmo rilasciare i binari. In quale formato?.tgz che contiene i binari pacchetto di una o più distribuzioni Costruire un.tgz è comodo e veloce ma: non tiene conto delle dipendenze quindi potrebbe non funzionare rischia di sporcare il sistema e renderlo incoerente 5

Packaging system Cerchiamo di capire bene cos è un pacchetto con un esempio: http://packages.debian.org/unstable/gnome/evolution Dipendenze, raccomandati, suggeriti Il pacchetto è presente per varie architetture Proviamo a scaricare un pacchetto e a navigare al suo interno Troviamo il software vero e proprio ed un insieme script / meta informazioni I pacchetti delle varie distribuzioni sono estremamente comodi perchè ci permettono di gestire: le dipendenze, effettuare prepatch dei sorgenti, seguire policy, effettuare dei rebuild con relativamente poco sforzo 6

Packaging system Sfortunatamente non è tutto così semplice: non esiste uno standard (approvato e seguito da tutti) per fissare il nome e il contenuto dei pacchetti, le distribuzioni utilizzano nomi diversi e dividono il software in pacchetti diversi non solo cambiando distribuzione molto spesso cambia anche l aspetto del sistema, i file di configurazione sono in posti diversi ecc. Non possiamo mischiare con successo dep, tgz, rpm nel caso degli rpm la situazione è ancora peggiore. Gli rpm sono teoricamente multi-distribuzione, nella realtà questo non succede Costruire un pacchetto è molto costoso in termini di tempo 7

Packaging system Una soluzione brutale è costituita dal software alien. Tenta (a volte con successo, altre volte molto meno) di effettuare traduzioni tra un formato e l altro Come visto le distribuzioni sono intrinsecamente troppo diverse perchè uno strumenti di questo genere possa avere sempre successo Quali alternative abbiamo a questa situazione? con più collaborazione tra le varie distribuzioni (auspicabile, realizzabile?) cercando di cambiare paradigma (seguono alcune idee) 8

Autopackage Autopackage http://www.autopackage.org L idea è quella di costruire un file (.package) che contiene tutti gli altri file necessari all esecuzione del software che intendiamo distribuire. Tutto questo in maniera del tutto neutrale dalla distribuzione che ci ospita. Anche in questo caso nella pratica si tratta di un tarball ed uno script Estendendo il concetto, lo script potrebbe verificare il sistema ospite e scaricare automaticamente altro software necessario per l esecuzione ma attualmente assente. Autopackage è indipendente dalla distribuzione e definisce un proprio ambiente di installazione / gestione / configurazione 9

Zero-Install Zero-Install http://zero-install.sourceforge.net La nuova incarnazione di un idea vecchia: il software non è installato ma viene scaricato su necessità Non si installa nulla, si fa solo cache di quanto scaricato Visto che non è necessario installare, non ci sono problemi di dipendenze in locale I vecchi problemi di sicurezza sono sostituiti da nuovi, diversi Non è necessario avere privilegi particolari per utilizzare un nuovo software 10

Esecuzione browser-based Se pensate che la proposta precedente sia troppo lontana dall informatica attuale forse è bene riflettere un attimo sul ruolo dei browser Uno dei trend riconosciuti ed a maggiore crescita è la volontà di migrare sempre più applicazioni sul web (abbiamo visto che anche subversion può essere accessibile da http, https) Un esempio su tutti: la webmail Mozilla Firefox può essere un ottima base per la costruzione di applicazioni cross-platform! Estensioni, XUL ecc. 11

Open Source & Microsoft Windows Ha senso sviluppare software Open Source per Microsoft Windows? Se la riposta è sì allora abbiamo la necessità di un installer anche per questa piattaforma. Paradossalmente in questo caso tutto appare molto più semplice a causa della forte omogeneità Non ci resta che cercare un installer Open Source e provarlo Ad esempio il Windows Installer XML (WiX) toolset http://sourceforge.net/project/wix/ gentilmente offerto da? 12

Note e bibliografia Debian New Maintainers Guide. http://www.debian.org/doc/maint-guide/ Debian Binary Package Building HOWTO http://www.ibiblio.org/pub/linux/docs/howto/other-formats/html_single/debian- Binary-Package-Building-HOWTO.html Mozilla Projects. http://www.mozilla.org/projects/ 13