Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).
Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.
V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.
Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Během balení rpm se různé věci zapisují do různých adresářů nebo se
v nich hledají. RPM umožňuje flexibilní nastavení adresářové
struktury, pro začátek se však vyplatí seznámit se s tou standardní.
Nainstalujeme-li rpm-build, vytvoří se v /usr/src/RPM
(na RedHatu /usr/src/redhat
, jinde případně i jinde)
následující podadresáře:
SPECS
– sem se instalují spec soubory.SOURCES
– sem se instalují zdrojové kódy a patche.BUILD
– do tohoto adresáře se zdrojové kódy
rozbalují (každý do svého podadresáře) a probíhá v něm vlastní
překlad.RPMS
– adresář, do nejž se po úspěšné
kompilaci nahrají vytvořené binární balíčky. Přesněji do podadresářů
odpovídajících jejich achitektuře (i386
, …,
noarch
).SRPMS
– sem se případně nahraje vytvořený zdrojový balíček.Do /usr/src/RPM
však může zapisovat jen root,
a jelikož k balení rpm není zapotřebí být rootem, nebudeme balit
jako rooti a namísto toho si stejnou adresářovou strukturu vytvoříme
někde v domovském adresáři, řekněme v ~/src/rpm
.
RPM vysvětlíme, že ji má používat, přidáním řádku
%_topdir /home/yeti/src/rpm
do souboru ~/.rpmmacros
. Kdo nemá uživatelské jméno yeti,
nahradí /home/yeti
svým domovským adresářem. Do
/var/tmp
, kam se při balení zapisují a dočasně instalují
soubory, sice zapisovat smíme, budeme však chránit životní prostředí
a změníme i adresář pro dočasné soubory:
%_tmppath /home/yeti/tmp
V souboru ~/.rpmmacros
můžeme změnit řadu dalších
zajímavých věcí, prozatím se spokojíme s nastavením tvůrce balíku:
%packager Yeti <yeti@physics.muni.cz>
Kdo se nejmenuje Yeti, opět změní na svoje jméno, a především adresu.
Hodnota %_topdir
také ovlivňuje, kam se nainstaluje obsah
zdrojového rpm. Nyní tedy můžeme spustit (nebude-li uvedeno jinak, bude se
náš balíček vždy nazývat lobster).
rpm -i lobster-1.10-1.src.rpm
jako obyčejní uživatelé a soubory se objeví
v ~/src/rpm/SOURCES
a ~/src/rpm/SPECS
namísto
v /usr/src/SOURCES
a /usr/src/SPECS
.
Myslíme-li to s balením vážně, budeme chtít oddělit systém, na
němž pracujeme, od cílového systému, pro nějž kompilujeme – byť
by se lišil jen nainstalovaným softwarem. V tom případě cílový
systém nainstalujeme do alternativního rootu a budeme při balení
a testování používat chroot. rpm
a rpmbuild
sice mají argument --root
, ten ale podle mne funguje jaksi
zvláštně. Chrootnout se do alternativního rootu přímo příkazem
chroot
pracuje spolehlivě – jako obyčejní
uživatelé na to ovšem nemáme práva. Distribuce a významní nezávislí
baliči (např. Dag)
vyvinuli různé nástroje a systémy kompilace oproti čistým instalacím
a ověřování balíčků, které má smysl prostudovat, budete-li se
pouštět do nějakých větších akcí.
Než se pustíme do výroby vlastních balíčků, hodí se umět zkompilovat
ty, u nichž už nám někdo všechno přichystal. Argumenty
rpmbuild
u se mírně liší podle toho, z čeho
kompilujeme.
Zdrojový balíček. Máme-li
lobster-1.10-1.src.rpm
, binární rpm z něj vytvoříme
rpmbuild --rebuild lobster-1.10-1.src.rpm
Spec soubor a zdrojový kód. Ze zdrojových
kódů v SOURCES
a spec souboru kdekoli (obvykle ho
ale budeme mít ve SPECS
) zkompilujeme binární balíček
rpmbuild -bb lobster.spec
Ke spec souboru musíme vždy uvést cestu, nehledá se
v SPECS
. S -ba
namísto
-bb
bychom získali binární i zdrojový balíček,
s -bs
jen zdrojový balíček.
Tento způsob použijeme nejen při tvorbě vlastních balíčků, ale také když chceme překompilovat balíček například pro jinou distribuci, který vyžaduje úpravy. Zdrojové rpm nainstalujeme, upravíme, co je zapotřebí, a zkompilujeme rpm z „rozložené“ formy.
Tarová koule. Zabalil-li nám nějaký dobrodinec spec soubor do tarové koule se zdrojovým kódem, můžeme ji přímo přebalit do rpm:
rpmbuild -tb lobster-1.10.tar.bz2
Analogicky předchozí možnosti můžeme -tb
nahradit
-ta
či -ts
a získat obě rpm či jen
zdrojové. Každá volba -bněco
, co se má udělat se
samotným spec souborem (jsou i další než ty tři uvedené, časem na ně
dojde), má své dvojče -tněco
pro spec soubor
obsažený v tarové kouli.
Obrázek shrnuje průběh kompilace a adresáře, jež se účastní výroby RPM balíku ze zdrojového rpm, případně z tarové koule. Adresáře jsou zobrazeny v záhlavích rámečků; rámečky samé ukazují jejich typický obsah. Černé šipky sledují postup kompilace; zelené znázorňují, jak spec soubor řídí jednotlivé její fáze (ty podrobně probereme v další kapitole).
rpmbuild
uNelze přehlédnout, že se při kompilaci vypisují do terminálu spousty
věcí. Sám rpmbuild
vypisuje na standardní výstup informace
o jednotlivých fázích kompilace a na konci, resp. těsně před
koncem, vypíše, co za balíčky vytvořil:
Wrote: /home/yeti/src/RPM/SRPMS/lobster-1.10-1.src.rpm Wrote: /home/yeti/src/RPM/RPMS/i586/lobster-1.10-1.i586.rpm
Na standardní chybový výstup se pak vypisují všechny spuštěné příkazy
stylem sh -x
. Do toho se míchá, co vypisuje na
standardní, resp. chybový výstup ./configure
,
make
, make install
, etc. –
zkrátka pěkný guláš. Zejména z něj nelze snadno vydobýt, jaké balíčky
se nám kde objevily (pokud vůbec), což by se ale často hodilo vědět (volba
--pipe
pomůže jen marginálně). Můžeme si pomoci wrapperem
podobným následujícímu, jenž v případě úspěšné kompilace vypíše jen
jména balíčků, selže-li však něco, vypíše na chybový výstup celý log:
#!/bin/bash outdir=${TMPDIR:-$HOME/tmp} specfile=$(grep -o '\<[a-zA-Z][-_+a-zA-Z0-9]*\.spec\>' <<<"$@" \ || { echo "No spec file" 1>&2; exit 1; } | tail -n 1) log="$outdir/rpmbuild-$specfile-$$.log" if rpmbuild "$@" &>"$log"; then sed 's/^Wrote: //;t;d' "$log" rm "$log" else cat "$log" 1>&2 echo Logfile: "$log" fi
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: