Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).
Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.
Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.
Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.
Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.
Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.
Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.
Před 40 lety, 19. června 1984, Bob Scheifler představil první verzi okenního systému X (X Window System). Vycházela z okenního systému W (W Window System).
Desktopové prostředí MATE bylo vydáno ve verzi 1.28. V gitových repozitářích je sice už od února, ale oznámení vydání se na webu objevilo s několikaměsíčním zpožděním (únorové datum zveřejnění je nepravdivé). Jde o první velké vydání od roku 2021. Uživatelsky nejvýznamnější pokrok je v podpoře Waylandu.
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: