Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Pozn. autora: Tristní situace okolo dokumentace OBS se během psaní tohoto článku změnila. Proto může následující text p.t. čtenáři připadat jako sprosté opisování, ale není tomu tak. Jednalo se o poměrně otravnou práci, kdy jsem otravoval tvůrce OBS dotazy a dělal vlastní pokusy. Alespoň některé výsledky jsou na výše zmíněném portále vidět.
Proč bychom chtěli stavět svou vlastní instanci OBS? Vždyť přece existuje běžící build.opensuse.org? Důvody mohou být různé. Autor měl motivaci následující:
Potřeboval sestavovat balíky závislé na proprietárním software, který součástí oficiální OBS být nemůže.
Potřeboval sestavovat proprietární software pro mnoho distribucí a nerad by se zbláznil z virtuálních strojů.
Jakožto tvůrce balíků se necítí nejsilnější a při přípravě spec souborů dělá chyby. V oficiální OBS musel často čekat minuty i hodiny, než se dostane na řadu, zabral si cenné systémové prostředky, a pak sledoval, jak build padá s chybou na třetím řádku spec souboru.
Buildservice je služba složená z několika částí. Stručný popis práce je zhruba následující.
Dispatcher (volaný klientem nebo interní notifikací) spustí worker. Worker stahuje binární balíky z repserveru, zdrojové kódy ze srcserveru a výsledné balíčky posílá zpět repserveru. Repserver může předat balíčky k podpisu signeru, pak je zařadí do lokálního repozitáře a informuje publisher, že může balíky publikovat do veřejného download repozitáře.
osc
, ale také různé GUI programy nebo např. Android aplikace.Autory OBS doporučováno jako nejsnadnější cesta instalace. Appliance je v podstatě image disku, který může uživatel nakopírovat na zvolené médium. Jednotlivé části OBS se samy nakonfigurují. Kompilované balíky jsou pak ukládány na předdefinovaný disk.
Appliance by se měly snadno aktualizovat. Na druhou stranu použití appliance může představovat bezpečnostní riziko, protože implicitně otvírá své porty celé okolní síťi.
Občas se objeví jako výsledek dobrovolnické práce. Obsahuje všechny komponenty OBS, většinou starší verze, a je nakonfigurována pouze na lokální použití – tj. žádné DNS, žádný přístup na virtualizovaného hosta (guest) z okolní sítě.
Funguje ale automaticky, bez nutnosti jakékoliv konfigurace. I proto je to ideální způsob, jak si OBS vyzkoušet. Také řeší motivační bod č. 3 – odladit balík před finálním sestavením na oficiální OBS.
Je jedno, jestli se jedná o instalaci přímo na server/desktop nebo o instalaci do virtuálního stroje (zde by autor doporučil k rychlé a hrubé instalaci SuseStudio).
Samotná instalace je popsána v souboru README.SETUP
(/usr/share/doc/packages/obs-api/
). V následujícím textu uvedu doplňky chybějícího, popř. ozřejmím nejasnosti.
Po standardní instalaci jsou služby nastaveny s lokálními IP adresami:
Služba | Adresa |
---|---|
WebUI | http://127.0.42.1 |
API | http://127.0.42.2 |
Download | nenastaveno, nebo v případě appliance/image http://localhost |
Pokud chceme OBS zpřístupnit i do lokální nebo veřejné sítě, je třeba výše uvedené adresy změnit.
Zvolená doménová jména (DNS už nastaveno) se změní v konfiguraci virtuálních serverů použitého web serveru. V případě Lighttpd v souboru /etc/lighttpd/vhosts.d/obs.conf
.
Příklad:
$HTTP["host"] =~ "build.yarpen.cz\.?" { rails_app = "webui" rails_root = "/srv/www/obs/webui" rails_procs = 5 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/webui/log" include "vhosts.d/rails.inc" } $HTTP["host"] =~ "api.yarpen.cz\.?" { rails_app = "api" rails_root = "/srv/www/obs/api" rails_procs = 5 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/api/log" include "vhosts.d/rails.inc" } $HTTP["host"] =~ "download.yarpen.cz\.?" { server.name = "download.yarpen.cz" server.document-root = "/srv/obs/repos/TOra/" dir-listing.activate = "enable" # … a dalsi vlastnosti vypisu adresaru }
Dále je třeba změnit hodnotu proměnné FRONTEND_HOST
v souboru /srv/www/obs/webui/config/environments/production.rb
tak, aby obsahovala URL OBS API.
Přestože obs signer běží a tváří se spokojeně, výsledné balíky nejsou podepsané. Pokusíme se to tedy změnit:
Ruční editací nastavíme cestu k sign binárce v souboru /usr/lib/obs/server/BSConfig.pm
odkomentovat řádek:
our $sign = '/usr/bin/sign'
do konfiguračního souboru /etc/sign.conf
doplníme:
user: build@suprdomena.com allow: 127.0.0.1 phrases: /root/.phrases
Hodnota user je identifikátor GPG klíče, který buď již existuje, nebo si jej vytvoříme (gpg --gen-key
)
Vytvoříme adresář /root/.phrases
# mkdir /root.phrases
A v něm do souboru se jménem build@suprdomena.com
(user v /etc/sign.conf
)
# echo tajneheslo > /root/.phrases/build@suprdomena.com
Dále se ujistíme, že je v souboru /root/.gnupg/options
uvedena volba force-v3-sigs. Pokud soubor neexistuje, tak jej vytvoříme.
# echo force-v3-sigs > /root/.gnupg/options
Nyní je čas testu.
# rcobssignd start # cd /nejaky/adresar/s/rpm # sign nejaky-balik-ktery-zkusim-podepsat.rpm
Jestliže se balík podařilo podepsat bez chyby, stačí zrestartovat OBS služby a znovu sestavit již existující balíky. V logu (/srv/obs/logs) se začnou objevovat záznamy o úspěšném podepisování.
Nejprve je třeba nastavit OBS tak, aby daný SW dokázala nalézt a použít. Pokud není použitý SW k dispozici v podobě balíků, musíme z něj balíček vytvořit a následně jej naimportovat do vlastního OBS projektu. V následujícm textu dále předpokládejme, že budeme používat Oracle Instant Client, který je v dispozici v podobě RPM balíčků.
Vytvořme nový OBS projekt, který bude sloužit jako veřejnosti neviditelný repozitář OBS. Potom vytvořme adresářovou strukturu, která se do OBS snadno naimportuje. Buď ve webovém rozhraní, nebo pomocí osc:
$ osc -A $API meta prj Oracle:InstantClient:11.2 -F – <<XML
<project name="Oracle:InstantClient:11.2">
<title>Oracle Instant Client 11.2</title>
<description>InstantClient from Oracle OTN.</description>
<person role="maintainer" userid="pvanek"/>
<person role="bugowner" userid="pvanek"/>
<build>
<enable/>
</build>
<publish>
<disable/>
</publish>
<debuginfo>
<disable/>
</debuginfo>
<repository name="standard">
<arch>x86_64</arch>
<arch>i586</arch>
</repository>
</project>
XML
Všimněte si zejména vypnutého parametru publish. Licence nejspíše neumožňuje proprietární balíky redistribuovat, takže si je koncový uživatel bude muset nainstalovat sám.
V nově vzniklém projektovém adresáři na OBS serveru /srv/obs/build/Oracle\:InstantClient\:11.2/standard/
nyní připravíme repozitářovou strukturu:
$ cd /srv/obs/build/Oracle\:InstantClient\:11.2/standard/ $ mkdir i586 x86_64 $ mkdir i586/:full x86_64/:full $ find $ora_rpm_dir -name *i386.rpm | xargs -I@ ln @ i586/:full $ find $ora_rpm_dir -name *x86_64.rpm | xargs -I@ ln @ x86_64/:full $ /usr/lib/obs/server/bs_admin --rescan-repository Oracle:InstantClient:11.2 standard i586 $ /usr/lib/obs/server/bs_admin --rescan-repository Oracle:InstantClient:11.2 standard x86_64 $ chown -R obsrun:obsrun /srv/obs/build/Oracle:InstantClient:11.2
Krok volitelný – dá se nahradit specifikací ve spec souboru. Aby nově sestavované balíky rovnou nacházely požadované závislosti, upravíme konfiguraci projektu, který bude Oracle klienta používat:
$ osc meta prjconf -e mujprojekt
Required: oracle-instantclient11.2-basic
Required: oracle-instantclient11.2-devel
Nyní musíme cílový projekt donutit, aby bral náš Oracle repozitář na vědomí:
$ osc meta prj -e mujprojekt <project name="mujprojekt"> <title>Lorem ipsum…</title> <description></description> <person role="maintainer" userid="pvanek"/> <person role="bugowner" userid="pvanek"/> <repository name="openSUSE_11.2"> <path project="openSUSE.org:openSUSE:11.2" repository="standard"/> <!-- nasledujici radek "prida" oracle repo do hlavniho repozitare distribuce --> <path project="Oracle:InstantClient:11.2" repository="standard"/> <arch>x86_64</arch> <arch>i586</arch> </repository> </project>
A kocháme se výsledky.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: