Flusso di lavoro di base per lavorare con i pacchetti sull’Open Build Service.
Installare i requisiti
Aggiungere i repository per una specifica versione di openSuSE: openSuSE Leap 15.6
sudo zypper ar https://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_15.6/ Tools
sudo zypper ar https://download.opensuse.org/repositories/devel:/tools/15.6/ devel:tools
openSUSE Tumbleweed
sudo zypper ar https:///download.opensuse.org/repositories/devel:/tools/openSUSE_Tumbleweed/ devel:tools
Installare il client osc e i servizi obs:
sudo zypper in osc obs-service-format_spec_file obs-service-set_version obs-service-obs_scm obs-service-source_validator
Setup
Creazione di una cartella di lavoro e configurazione di osc
mkdir OBS
cd OBS
/OBS $ osc
Il comando osc crea un nuovo file oscrc nella cartella ~/.config/osc.
Solitamente aggiungo solo queste linee al file:
su-wrapper = sudo
build-root = /var/tmp/build-root/%(repo)s
checkout_no_colon = 1
Questo abilità l’uso di sudo, crea una cartella di compilazione per ogni sistema operativo un layout alternativo
quando si esegue il checkout di un progetto senza i due punti (home/gallochri invece di home:gallochri).
Modificare il file sudoers per dare all’utente l’autorità di usare i comandi osc e build senza richiedere la
password.
su
Password:
visudo
e aggiungi questa linea:gallochri ALL = NOPASSWD: /usr/bin/build, /usr/bin/osc
usa il tuo username al posto di gallochri 😛.
Checkout di un progetto
Ora è il momento di scaricare alcuni progetti e iniziare ad apportare modifiche.
$ osc co home:gallochri
A home:gallochri
A home:gallochri/EmulationStation
...
Lavorare su pacchetti esistenti con quilt
cd yourproject/yourpackage
quilt setup -v *spec
cd yourpackage-*/
quilt push -a # applica le patch già presenti
quilt new yourpackage-version_fixbuild.patch
quilt edit src/foo.c
quilt refresh -p0
Puoi trovare un nuovo file .patch nella cartella dei sorgenti.
Creare un nuovo pacchetto
cd yourproject
osc mkpac yourpackage
cd yourpackage
rpmdev-newspec -t minimal yourpackage
Una volta terminata la scrittura del file .spec senza errori di rpmlint, è possibile inviare il pacchetto
all’ Open Build Service.
osc vc # annotare le modifiche al pacchetto
osc ci # invia il tuo lavoro
