Vlákno názorů k článku
Ubuntu dokončilo plný přechod na coreutils napsané v jazyce Rust od mad - Supeeer. Panbuh s nama a Rust pryc. Zrovna onehda...

  • Včera 17:05

    mad

    Supeeer. Panbuh s nama a Rust pryc.

    Zrovna onehda sem narazil na docker kontejner, jehoz soucasti byl i meega script "easy-rsa".

    Vsechno fungovalo, dokud nebylo potreba udelat renew certifikatu, pak nastalo peklo a hledani chyby v tom nekolikaset radkovem easy-script-pekle.

    Easy-rsa pocita s behem na linux, na BSD, dokonce i na Windows. S cim nepocita, ze v linuxu bude prikaz "date" nahrazeny symlinkem na busybox verzi. Ta je samozrejme kompatabilni, jen ne na 100%.

    Tak se teda tesim na ten Rust a nefunkcnost hromady stavajicich scriptu. Idealne pak ladit ty preinstall a postinstall, nebo scripty pro upgrade (treba pri upgrade verze mariadb), to si deti povzdechnou, kde ten fotr je, kde se zas zasekl :-)

  • Dnes 0:51

    Michal Šmucr
    Stříbrný podporovatel

    Nemyslím si, že to bude tak hrozné.
    - ty projekty z uutils se poměrně intenzivně snaží, aby byly z hlediska funkcí a parametrů byly pokud možno plně kompatibilní s původními verzemi. U Busyboxu nebo Toyboxu je to něco jiného, tam jde o co nejmenší single-call binárku, a základní funkcionalitu v embedded zařízeních, i na úkor toho, že zdaleka nepokryjí všechno.
    - sudo-rs a ntpd-rs, které Ubuntu v nových verzích používá také, jsou jiné projekty.. a rovnou deklarují, že se to může funkčně rozcházet (viz ten zmíněný Ansible). Ale to zas není nic nového, nebo úplně specifického. doas nebo openntpd také úmyslně nemá všechny funkce a stejné parametry jako původní projekty.
    - Rust, okolo kterého se tady vždycky strhne vášnivá debata, může být valné většině lidí úplně jedno, pokud do těch projektů nepřispívají nebo si z toho nesestavují své balíčky, neřeší toolchain atd.
    Prostě si jedna větší distribuce rozhodla, že nahradí nějaké komponenty.. pokud to bude fungovat správně a bude to kompatibilní, což je u uutils deklarovaným cílem, je to fuk. Pokud ne, člověk to musí stejně nějak prvotně vyřešit, obejít, vrátit původní GNU variantu příp. nahlásit chybu. Ale tohle by to úplně stejné nezávisle na použitém jazyce.

    Jinak tyhle věci s kompatibilitou skriptů a nástrojů okolo se řeší od nepaměti.. různé verze shellů a neportablních skriptů, BSD vs GNU nástroje.. i dnes stačí, že někdo používá třeba nové konstrukce v Bashi a pak to třeba nechodí na macOSu, kde je asi 15 let stará verze, co je poslední GPL-2.
    Stran toho OpenVPN easy-rsa, to bylo vždycky trochu peklo. Je tam strašně větvení podle platformy a s Busyboxem už to teď počítá (ten jeho date totiž umí přes -/+ offsetovat jen sekundy, ne dny, hodiny). Vždycky, když jsem to někde viděl, včetně Windows verze, kde to má bundlovaný svůj build shellu a coreutils.. tak jsem si říkal, že s těmi všemi plaformami, už to měli dávno předělat z shellu třeba do Pythonu.