<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rpm on Blog di gallochri</title><link>https://www.gallochri.com/it/tags/rpm/</link><description>Recent content in Rpm on Blog di gallochri</description><generator>Hugo -- gohugo.io</generator><language>it</language><copyright>Christian Giorgio Galeffi</copyright><lastBuildDate>Fri, 18 Oct 2024 13:05:04 +0200</lastBuildDate><atom:link href="https://www.gallochri.com/it/tags/rpm/index.xml" rel="self" type="application/rss+xml"/><item><title>Open Build Service</title><link>https://www.gallochri.com/it/2018/04/open-build-service/</link><pubDate>Sun, 15 Apr 2018 00:00:00 +0000</pubDate><guid>https://www.gallochri.com/it/2018/04/open-build-service/</guid><description>&lt;img src="https://www.gallochri.com/2018/04/open-build-service/cover.png" alt="Featured image of post Open Build Service" /&gt;&lt;p&gt;Flusso di lavoro di base per lavorare con i pacchetti sull&amp;rsquo;&lt;a class="link" href="https://openbuildservice.org" target="_blank" rel="noopener"
&gt;Open Build Service&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="installare-i-requisiti"&gt;Installare i requisiti
&lt;/h2&gt;&lt;p&gt;Aggiungere i repository per una specifica versione di openSuSE:
&lt;strong&gt;openSuSE Leap 15.6&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo zypper ar https://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_15.6/ Tools
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo zypper ar https://download.opensuse.org/repositories/devel:/tools/15.6/ devel:tools
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;openSUSE Tumbleweed&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo zypper ar https:///download.opensuse.org/repositories/devel:/tools/openSUSE_Tumbleweed/ devel:tools
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Installare il client &lt;code&gt;osc&lt;/code&gt; e i servizi obs:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo zypper in osc obs-service-format_spec_file obs-service-set_version obs-service-obs_scm obs-service-source_validator
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="setup"&gt;Setup
&lt;/h2&gt;&lt;p&gt;Creazione di una cartella di lavoro e configurazione di &lt;code&gt;osc&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir OBS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; OBS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/OBS $ osc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il comando &lt;code&gt;osc&lt;/code&gt; crea un nuovo file &lt;code&gt;oscrc&lt;/code&gt; nella cartella &lt;code&gt;~/.config/osc&lt;/code&gt;.&lt;br&gt;
Solitamente aggiungo solo queste linee al file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;su-wrapper &lt;span class="o"&gt;=&lt;/span&gt; sudo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;build-root &lt;span class="o"&gt;=&lt;/span&gt; /var/tmp/build-root/%&lt;span class="o"&gt;(&lt;/span&gt;repo&lt;span class="o"&gt;)&lt;/span&gt;s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;checkout_no_colon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questo abilità l&amp;rsquo;uso di &lt;code&gt;sudo&lt;/code&gt;, crea una cartella di compilazione per ogni sistema operativo un layout alternativo
quando si esegue il checkout di un progetto senza i due punti (&lt;code&gt;home/gallochri&lt;/code&gt; invece di &lt;code&gt;home:gallochri&lt;/code&gt;). &lt;br&gt;
Modificare il file sudoers per dare all&amp;rsquo;utente l&amp;rsquo;autorità di usare i comandi &lt;code&gt;osc&lt;/code&gt; e &lt;code&gt;build&lt;/code&gt; senza richiedere la
password.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;su
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Password:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;visudo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;e aggiungi questa linea: &lt;br&gt;
&lt;code&gt;gallochri ALL = NOPASSWD: /usr/bin/build, /usr/bin/osc&lt;/code&gt;&lt;br&gt;
usa il tuo username al posto di gallochri 😛.&lt;/p&gt;
&lt;h2 id="checkout-di-un-progetto"&gt;Checkout di un progetto
&lt;/h2&gt;&lt;p&gt;Ora è il momento di scaricare alcuni progetti e iniziare ad apportare modifiche.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ osc co home:gallochri
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;A home:gallochri
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;A home:gallochri/EmulationStation
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="lavorare-su-pacchetti-esistenti-con-quilt"&gt;Lavorare su pacchetti esistenti con quilt
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yourproject/yourpackage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quilt setup -v *spec
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yourpackage-*/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quilt push -a &lt;span class="c1"&gt;# applica le patch già presenti&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quilt new yourpackage-version_fixbuild.patch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quilt edit src/foo.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quilt refresh -p0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puoi trovare un nuovo file &lt;code&gt;.patch&lt;/code&gt; nella cartella dei sorgenti.&lt;/p&gt;
&lt;h2 id="creare-un-nuovo-pacchetto"&gt;Creare un nuovo pacchetto
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yourproject
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;osc mkpac yourpackage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yourpackage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rpmdev-newspec -t minimal yourpackage
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Una volta terminata la scrittura del file &lt;code&gt;.spec&lt;/code&gt; senza errori di rpmlint, è possibile inviare il pacchetto
all&amp;rsquo; &lt;a class="link" href="https://openbuildservice.org" target="_blank" rel="noopener"
&gt;Open Build Service&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;osc vc &lt;span class="c1"&gt;# annotare le modifiche al pacchetto&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;osc ci &lt;span class="c1"&gt;# invia il tuo lavoro&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>