====== 2.1 Clonare il Repository GitHub ====== Questa pagina spiega come scaricare il codice sorgente OpenSSL da GitHub. ---- ===== Cos'è Git? ===== **Git** è un sistema di controllo versione. Memorizza: * Tutte le versioni di un progetto * Chi ha cambiato cosa e quando * "Tag" per versioni importanti (es. v3.6.0) **GitHub** è un sito web che ospita repository Git. ---- ===== Preparare la Struttura del Progetto ===== Prima creiamo una struttura di cartelle sensata: # Creare la cartella principale mkdir D:\Projects\openssl-3.6.0 # Creare le sottocartelle mkdir D:\Projects\openssl-3.6.0\src # Qui va il codice sorgente mkdir D:\Projects\openssl-3.6.0\bin # Qui vanno i file compilati Risultato: D:\Projects\openssl-3.6.0\ ├── src\ # Codice sorgente OpenSSL (da GitHub) └── bin\ # Destinazione per i binari compilati ---- ===== Clonare OpenSSL ===== ==== Opzione A: Solo tag v3.6.0 (consigliato) ==== cd D:\Projects\openssl-3.6.0 git clone --depth 1 --branch openssl-3.6.0 https://github.com/openssl/openssl.git src **Spiegazione dei parametri:** | Parametro | Significato | |-----------|-------------| | ''--depth 1'' | Solo l'ultima versione (risparmia ~500 MB!) | | ''--branch openssl-3.6.0'' | Il tag per la versione 3.6.0 | | ''src'' | Cartella di destinazione | ==== Opzione B: Repository completo ==== Se volete provare versioni diverse: cd D:\Projects\openssl-3.6.0 git clone https://github.com/openssl/openssl.git src cd src git checkout openssl-3.6.0 Il repository completo è circa 500 MB. Con ''--depth 1'' solo ~50 MB. ---- ===== Verificare la Versione ===== cd D:\Projects\openssl-3.6.0\src # Mostrare il tag corrente git describe --tags # Output atteso: openssl-3.6.0 # Oppure: Mostrare info commit git log -1 --oneline ---- ===== Problemi Comuni ===== ==== "git is not recognized" ==== Git non è installato o non è nel PATH: winget install Git.Git Dopo l'installazione: Aprire un nuovo terminale. ==== Il firewall blocca GitHub ==== Se siete dietro un firewall aziendale: # Impostare il proxy (se necessario) git config --global http.proxy http://proxy.azienda.it:8080 git config --global https.proxy http://proxy.azienda.it:8080 ---- ===== Continua con ===== * [[.:build:start|3. Compilazione]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//