Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).
Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede Petr Hodina, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem mobilního … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »
Chceme-li vytvořit balík pro konkrétní verzi Debianu, např. wheezy, a chceme-li build provést na čistém systému (či jiné verzi), máme kromě chrootu, pbuilderu, dedikovaného virtuálu atd. možnost právě přes docker.
Návod cílím na build pro debian wheezy, který máme na serverech.
Nejprve si stáhneme či připravíme image s požadovaným systémem. Pokud důvěřujeme připravenému obrazu, stačí:
$ sudo docker pull debian:wheezy
Za dvojtečkou je uveden tag. Neuvedením se stáhne tag latest. Snadno můžeme mít připraveny image pro více různých verzí systému.
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE debian wheezy 3b5671666ac3 11 days ago 84.89 MB
Image chci doplnit o kompilátor a další utility, které nechci pokaždé nechávat instalovat znovu. Spustím tedy kontejner:
$ sudo docker run -ti debian:wheezy /bin/bash root@1ec31c9983e3:/$
Nainstaluji základ pro build (případně další dle potřeb - cmake, autotools atd.).
root@1ec31c9983e3:/$ apt-get update root@1ec31c9983e3:/$ apt-get install build-essential devscripts debhelper
Vytvoříme entrypoint pro build - jde o jednoduchý skript, který vleze do baleného adresáře, vytvoří z debian/control seznam závislostí, nainstaluje je (chce pořešit jinak, pokud je vyžadován neinteraktivní režim) a poté spustí build.
root@1ec31c9983e3:/$ mkdir /mnt/package root@1ec31c9983e3:/$ cat <<EOF > /root/dpkg-buildpackage.sh #!/bin/bash cd /mnt/package/"\$PACKAGE_NAME" && mk-build-deps -i && dpkg-buildpackage \$@ EOF root@1ec31c9983e3:/$ chmod +x /root/dpkg-buildpackage.sh
Ukončím práci v kontejneru a zapíšu výsledek do image. Hash je z promptu root@1ec31c9983e3.
Protože base systém dále nepotřebuji, nechám přepsat image debian v tagu wheezy, ale je možné zapsat i nový image a původní debian:wheezy si ponechat.
root@1ec31c9983e3:/$ exit $ sudo docker commit -m 'Build and dev utils.' 1ec31c9983e3 debian:wheezy
Poté uvažujme situaci, že chci balit ~/sources/projekt/. Adresář ~/sources/projekt/debian/ tedy obsahuje control, rules apod. Build nechává hotové balíky v nadřazeném adresáři, mountujeme do kontejneru tedy ten. Název baleného adresáře předáme v proměnné PACKAGE_NAME, se kterou počítá skript /root/dpkg-buildpackage.sh.
Poznámka: Volba -v ~/.gnupg:/root/.gnupg je zbytečná, nechcete-li hotový balík podepisovat.
$ cd ~/sources $ sudo docker run -ti -v $(pwd):/mnt/package -v ~/.gnupg:/root/.gnupg -e PACKAGE_NAME=projekt --entrypoint=/root/dpkg-buildpackage.sh debian:wheezy
Po skončení buildu by na nás měl čekat balík projekt-verze.deb (zjednodušeno).
Postup tvorby image lze zjednodušit Dockerfilem, viz [1].
No a zbývá jen promazat ukončené kontejnery - nechci je commitovat, ale zahodit.
$ sudo docker rm `sudo docker ps -aq --filter 'status=exited'`
Zdroje:
[1] https://github.com/stevenjack/dpkg-buildpackage
Tiskni
Sdílej:
chroot, akurat to moze byt jednoduchsie ak je niekto familiarnejsi s Dockerom.
Ak kompilujes balicky castejsie ako raz za uhorsky rok, tak je urcite lepsie obzriet sa po niecom inom, ale zas zvycajne ide o trosku vacsiu casovu investiciu.
RUN apt-get update
RUN apt-get install build-essential debhelper -y
za:
RUN apt-get update && apt-get install build-essential debhelper -y
Jinak hrozi automaticke vyuziti cache dockeru pro layer a dost zvlastni chovani. Obecne plati, ze v Dockeru je dobre co nejvice prikazu spojit, protoze kazda RUN instrukce vytvari vrstvu a soubory v ni uz nejdou odstranit (image bobtna).
Teda nech si každý robí čo chce len nech sa to nedostane main streamu