La mac-izzazione di postgresql (parte II)

Eravamo rimasti agli esperimenti sugli script di pre e post installazione. Ma le sorprese devono ancora venire.

Mentre troviamo finalmente documentazione ufficiale Apple (“Software Distribution”, 2005-08-11 in pdf), i nostri esperimenti si devono interrompere bruscamene anche se promettevano bene.

Installer.app si ostina a presentarci come operazione finale “Aggiorna” anziché “Installa”.

Abbiamo conferma che si tratta di effettivo aggiornamento ponendo script di pre e post aggiornamento che creano traccia della loro attività.

Qualsiasi documento finora studiato (ufficiale e non) indica chiaramente nella presenza in /Library/Receipts (per il Finder in italiano in <Volume>/Libreria/Receipts) di un pacchetto con nome e versione corrispondenti al pacchetto aperto da Installer.app quale termine di confronto per la determinazione della necessità di aggiornamento o (in assenza) di installazione.

Ebbene nessun pacchetto è presente con nome postgres in /Library/Receipts. Cosa sta succedendo?

Sapete come vanno queste cose, no? Le cose accadono per caso e si risolvono per caso, lasciandoci in balia dei dubbi per giorni.

Ebbene, anche questa volta per caso, vediamo ad un certo punto un file Untitled.pkg in /Library/Receipts…ci decidiamo ad esplorare (“Mostra contenuto pacchetto” del menu contestuale del Finder) il suo contenuto e leggere in Contents/Info.plist. Troviamo la chiave CFBundleIdentifier, con un inequivocabile “postgresql”. WOW ! … Denver SEO . deve essere il primissimo esperimento, ancora con un nome di file di pacchetto indefinito.

Rimuoviamo questo file e riproviamo l’installazione. Questa volta è una vera installazione. Possiamo ricominciare lo sviluppo delle script di pre e post installazione, e anche di postflight (il termine di entrambi i rami installazione o aggiornamento), nel quale vogliamo includere l’avvio del servizio.

A proposito di servizio troviamo un postgresql.dawin nei sorgenti di postgres e capiamo essere un bel prototipo per l’avvio di postgres come servizio MacOSX. investment properties . Studiamo il meccanismo e decidiamo di includere anche questo nella distribuzione, non senza aver prima provveduto a creare uno script per la modifica on-the-fly di un file di configurazione di sistema responsabile della condizione di partenza del servizio (off, on,. Auto), ossia il file /etc/hostconfig.

Non resta che ricompilare il pacchetto, includendo Readme, Copyrights e logo, formare una bella immagine disco et opla’: PostgreSQL8.1.dmg.

Posicionamiento web SEO