https://mazzo.li/posts/stopping-linux-threads.html
#pthread_cancel
Неожиданно очень годный текст.
Причем, что интересно, когда я только начал его читать, то подумал, что это опять что-то зумерское, в стиле "ааа async thread cancellation не работает ааа", и не стал читать дальше первой страницы.
Но, вот, сегодня дочитал, и не пожалел.
Сначала автор, действительно, рассказывает, почему разные схемы async thread cancellation не работают, и приходит к простому и понятному решению - а заведите флажок, и, перед вызовом каждой блокирующей функции, проверяйте его, ну и выходите, если он взведен (например, через signal handler).
При этом, он совершенно корректно, говорит, что данное решение - несколько racy, потому что есть момент между тем, как мы проверили флаг, и начали выполнять этот syscall, когда флаг таки может быть взведен!
(часто на это можно наплевать, потому что одним syscall больше, одним меньше - пофиг)
И предлагает хорошее решение этой проблемы, через rseq. Конкретно, как превратить вообще любой системный вызов в точно такой же вызов, но с (атомарной!) проверкой какого-то булева флажка перед непосредственно блокировкой - https://mazzo.li/posts/stopping-linux-threads.html#rseq.
Собственно, это самая интересная часть текста, остальное можно не читать, потому что оно "всем известно, и никому не интересно".
#pthread_cancel
Неожиданно очень годный текст.
Причем, что интересно, когда я только начал его читать, то подумал, что это опять что-то зумерское, в стиле "ааа async thread cancellation не работает ааа", и не стал читать дальше первой страницы.
Но, вот, сегодня дочитал, и не пожалел.
Сначала автор, действительно, рассказывает, почему разные схемы async thread cancellation не работают, и приходит к простому и понятному решению - а заведите флажок, и, перед вызовом каждой блокирующей функции, проверяйте его, ну и выходите, если он взведен (например, через signal handler).
При этом, он совершенно корректно, говорит, что данное решение - несколько racy, потому что есть момент между тем, как мы проверили флаг, и начали выполнять этот syscall, когда флаг таки может быть взведен!
(часто на это можно наплевать, потому что одним syscall больше, одним меньше - пофиг)
И предлагает хорошее решение этой проблемы, через rseq. Конкретно, как превратить вообще любой системный вызов в точно такой же вызов, но с (атомарной!) проверкой какого-то булева флажка перед непосредственно блокировкой - https://mazzo.li/posts/stopping-linux-threads.html#rseq.
Собственно, это самая интересная часть текста, остальное можно не читать, потому что оно "всем известно, и никому не интересно".
mazzo.li
How to stop Linux threads cleanly
Stopping a Linux thread is a surprisingly annoying affair. In this post I present common pitfalls and some solutions -- although no truly satisfactory method exists.
👍10🤔8🤯2
Forwarded from Передали коллегам
Айтишникам предложили выдавать звание «ветерана труда». Депутат Яна Лантратова считает, что для этого мужчина должен отработать IT-специалистом 40 лет, а женщина 35. За это им положены ежемесячные выплаты, компенсация за коммуналку и льготные проездные.
Теперь сеньорам есть куда расти дальше.
Теперь сеньорам есть куда расти дальше.
😁45🫡17❤6💩6😢3👎2🤡2👍1🤔1🐳1
commit -m "better"
https://www.opennet.ru/opennews/art.shtml?num=56295 #lust http://harmful.cat-v.org/software/c++/linus С одной стороны, перестать писать ядро на C - это must have, это давно понимают все большие корпорации(которые и пишут ядро). С другой - для Линуса начать…
Вот, примерно 2 года назад я озвучил одну из повторяющихся в рамках этой моей площадки тем - "нельзя писать ядро на С, но, так как Линус не может потерять лицо (https://harmful.cat-v.org/software/c++/linus), то пусть хоть Rust, а не С++, несмотря на то, что, c практической точки зрения, С++ подошел бы лучше".
За это время Rust успел попасть в ядро, и, вот, пожалуйста:
https://lore.kernel.org/lkml/3465e0c6-f5b2-4c42-95eb-29361481f805@zytor.com/
Очень конкретный, очень практичный текст про возможный перевод ядра на С++, от одного из уважаемых kernel hacker.
Это, конечно, будет бомба, если благодаря Rust ядро начнут перепахивать на С++!
За это время Rust успел попасть в ядро, и, вот, пожалуйста:
https://lore.kernel.org/lkml/3465e0c6-f5b2-4c42-95eb-29361481f805@zytor.com/
Очень конкретный, очень практичный текст про возможный перевод ядра на С++, от одного из уважаемых kernel hacker.
Это, конечно, будет бомба, если благодаря Rust ядро начнут перепахивать на С++!
🔥28😁10🤮7❤3🤔3💩1
commit -m "better"
Опять лежит gitlab от freedesktop - https://gist.github.com/pg83/de5cc5e61cd5bbd05ac7e6959136fd89 И я, конечно, воспользуюсь этим, чтобы призвать всех владельцев open source софта делать RO зеркала на github.
https://fosstodon.org/@drewdevault/111739063243946284
sr.ht/codeberg лежат второй день подряд.
И я, как обычно, когда лежат васянские гиты (а sr.ht/codeberg/прочие gitlab - это все васянские гиты), призываю все проекты иметь заркала на github.
Слушайте, ну меня это реально сильно, прямо сильно удивляет.
Почему есть мнение, что "ddos может отразить каждый", "надежная инфра - это просто", "этим может заниматься кто угодно", и так далее?
Почему считается, что, если человек написал компилятор/операционную систему/wayland композитор/пакетный менеджер, то он сможет построить надежный распределенный сервис? Это, вообще говоря, не очень связанные умения и навыки.
Вот, реально, кесарю - кесарево, а слесарю - слесарево.
Не используйте васянские сервисы, или имейте зеркало где-то еще.
sr.ht/codeberg лежат второй день подряд.
И я, как обычно, когда лежат васянские гиты (а sr.ht/codeberg/прочие gitlab - это все васянские гиты), призываю все проекты иметь заркала на github.
Слушайте, ну меня это реально сильно, прямо сильно удивляет.
Почему есть мнение, что "ddos может отразить каждый", "надежная инфра - это просто", "этим может заниматься кто угодно", и так далее?
Почему считается, что, если человек написал компилятор/операционную систему/wayland композитор/пакетный менеджер, то он сможет построить надежный распределенный сервис? Это, вообще говоря, не очень связанные умения и навыки.
Вот, реально, кесарю - кесарево, а слесарю - слесарево.
Не используйте васянские сервисы, или имейте зеркало где-то еще.
Fosstodon
Drew DeVault (@drewdevault@fosstodon.org)
Our status page is offline due to a DDoS now targetting Codeberg, who hosts our status page on third-party infrastructure for us. Will continue posting updates on Mastodon as they come.
❤12👍5🤔5🔥2💊1
#rant
https://www.phoronix.com/news/GNU-Hurd-x86_64-2023-Progress
Не понимаю, зачем кто-то вообще пишет новости про #gnu #hurd. Пациент, совершенно точно, мертв.
Вот, например, цитата от его разраба:
"Building packages is not very stable. I have been trying to build gcc-13 for a couple of weeks, without success so far. There are various failures, most often odd errors in the libtool script, which are a sign that the system itself is not behaving correctly. A way to reproduce the issue is to just repeatedly build a package that is using libtool, sooner or later that will fail very oddly.
This means that while the buildd will be ready, I'm really not at ease with letting it start, knowing that it can behave erratically. When I built the initial set of packages for debian-ports (~100 packages), I got something like 5-10 such failures, that's quite high of a rate :/"
Курам на смех, конпелятор пересобирается через раз, рандомные bash скрипты падают со странными ошибками, и оно не может пересобрать себя из под себя (то есть, не self hosted).
https://www.phoronix.com/news/GNU-Hurd-x86_64-2023-Progress
Не понимаю, зачем кто-то вообще пишет новости про #gnu #hurd. Пациент, совершенно точно, мертв.
Вот, например, цитата от его разраба:
"Building packages is not very stable. I have been trying to build gcc-13 for a couple of weeks, without success so far. There are various failures, most often odd errors in the libtool script, which are a sign that the system itself is not behaving correctly. A way to reproduce the issue is to just repeatedly build a package that is using libtool, sooner or later that will fail very oddly.
This means that while the buildd will be ready, I'm really not at ease with letting it start, knowing that it can behave erratically. When I built the initial set of packages for debian-ports (~100 packages), I got something like 5-10 such failures, that's quite high of a rate :/"
Курам на смех, конпелятор пересобирается через раз, рандомные bash скрипты падают со странными ошибками, и оно не может пересобрать себя из под себя (то есть, не self hosted).
Phoronix
GNU Hurd Has Been Making Progress On Its x86_64 Support
While GNU Hurd predates the Linux kernel, its hardware support has been woefully behind with very limited and dated hardware support compared to modern PC/server hardware
😁12👍4🔥3😢3👌2🤡1🐳1
commit -m "better"
https://fosstodon.org/@drewdevault/111739063243946284 sr.ht/codeberg лежат второй день подряд. И я, как обычно, когда лежат васянские гиты (а sr.ht/codeberg/прочие gitlab - это все васянские гиты), призываю все проекты иметь заркала на github. Слушайте…
https://outage.sr.ht/
Пара цитат:
"In our emergency planning models, we have procedures in place for many kinds of eventualities. What has happened this week is essentially our worst-case scenario: “what if the primary datacenter just disappeared tomorrow?” We ask this question of ourselves seriously, and make serious plans for what we’d do if this were to pass, and we are executing those plans now – though we had hoped that we would never have to"
Вот любой человек, который занимается инфрой профессионально, вам скажет - "не надо гадать/молиться/надеяться, надо проверять". Надо регулярно actually отключать ваш самый важный ДЦ, и убеждаться, что вы без этого работаете, или делать задачки, чтобы оно после этого работало.
"Unfortunately, our colocation provider went through two acquisitions in the past year, and we failed to notice that our account had been forgotten as they migrated between ticketing systems through one of these acquisitions. Thus unable to page them, we were initially forced to wait until their normal office hours began to contact them, 7 hours after the start of the incident"
Какой отсюда надо сделать вывод?
* Мелким потребителям не дают прямой телефон людей, которые что-то могут реально сделать в ДЦ. Крупным - дают, или у них свой крупный ДЦ.
* Люди, которые не занимаются инфрой постоянно, проигнорируют проблемы у провайдера ровно до тех пор, пока оно не выстрелит.
Вообще, хороший текст, почитайте.
Пара цитат:
"In our emergency planning models, we have procedures in place for many kinds of eventualities. What has happened this week is essentially our worst-case scenario: “what if the primary datacenter just disappeared tomorrow?” We ask this question of ourselves seriously, and make serious plans for what we’d do if this were to pass, and we are executing those plans now – though we had hoped that we would never have to"
Вот любой человек, который занимается инфрой профессионально, вам скажет - "не надо гадать/молиться/надеяться, надо проверять". Надо регулярно actually отключать ваш самый важный ДЦ, и убеждаться, что вы без этого работаете, или делать задачки, чтобы оно после этого работало.
"Unfortunately, our colocation provider went through two acquisitions in the past year, and we failed to notice that our account had been forgotten as they migrated between ticketing systems through one of these acquisitions. Thus unable to page them, we were initially forced to wait until their normal office hours began to contact them, 7 hours after the start of the incident"
Какой отсюда надо сделать вывод?
* Мелким потребителям не дают прямой телефон людей, которые что-то могут реально сделать в ДЦ. Крупным - дают, или у них свой крупный ДЦ.
* Люди, которые не занимаются инфрой постоянно, проигнорируют проблемы у провайдера ровно до тех пор, пока оно не выстрелит.
Вообще, хороший текст, почитайте.
outage.sr.ht
Statement regarding the ongoing SourceHut outage
sourcehut is a network of useful open source tools for software project maintainers and collaborators, including git repos, bug tracking, continuous integration, and mailing lists.
👍15❤4🔥3🤔3👌1
commit -m "better"
Вот, примерно 2 года назад я озвучил одну из повторяющихся в рамках этой моей площадки тем - "нельзя писать ядро на С, но, так как Линус не может потерять лицо (https://harmful.cat-v.org/software/c++/linus), то пусть хоть Rust, а не С++, несмотря на то, что…
https://www.reddit.com/r/programminghorror/comments/18x7vk9/why_does_everyone_keep_telling_me_to_use_c/
Утащу из комментариев, это прекрасно.
Утащу из комментариев, это прекрасно.
Reddit
From the programminghorror community on Reddit
Explore this post and more from the programminghorror community
😁32🔥9❤3
https://mstdn.social/@RickyRomero/111666711075000961
Чувак запилил симулятор экрана iphone (как пиксели отображаются на ромбовидные точки на экране), и, после этого, запилил гиперреалистичный рендер экрана iphone, используя шейдер на основе этого симулятора.
Не то чтобы это было очень полезно, но я бесконечно люблю сумасшедших и упоротых людей, ониспасут мир делают все самое интересное.
Чувак запилил симулятор экрана iphone (как пиксели отображаются на ромбовидные точки на экране), и, после этого, запилил гиперреалистичный рендер экрана iphone, используя шейдер на основе этого симулятора.
Не то чтобы это было очень полезно, но я бесконечно люблю сумасшедших и упоротых людей, они
Mastodon 🐘
Ricky Romero (@RickyRomero@mstdn.social)
Attached: 4 images
I was curious about how rows of pixels map to diamond subpixel arrangements (like on the iPhone). So, after some research with my macro lens, I made a simulator!
https://rickyromero.com/tmp/diamond.html
You can use your mouse to draw…
I was curious about how rows of pixels map to diamond subpixel arrangements (like on the iPhone). So, after some research with my macro lens, I made a simulator!
https://rickyromero.com/tmp/diamond.html
You can use your mouse to draw…
❤10👍8🔥7
https://blog.tenstral.net/2024/01/wayland-really-breaks-things-just-for-now.html
Классный текст про #wayland.
Как обычно, много отсылок на километровые дискуссии, где текущие стейкхолдеры отказываются делать что-то, что не вписывается в их идеологию.
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/269
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/247
Хочу подробнее остановиться на
"Desktop environments of course have a design philosophy that they want to push, and want applications to integrate as much as possible (same as macOS and Windows!). However, there are many applications out there, and pushing a design via protocol limitations will likely just result in fewer apps"
Здесь аккуратно написано про следующий факт - люди, которые могут закоммитить новый протокол в wayland (например, позволяющий точно позиционировать окна), по странному стечению обстоятельств, являются стейкхолдерами (в том или ином виде) в kwin(KDE)/gnome shell/wlroots.
И вертели они на хую любые предложения и протоколы, которые не вписываются в их модели работы с десктопом в целом, и окнами приложений, в частности.
Вот, например, зачем человеку, который отвечает за все tiling композиторы принимать proposal, в котором можно разрешить приложению управлять своим положением на экране?
Он не сможет его реализовать в своей модели, а, значит, приложения, использующие эту фичу, в его композиторе будут работать хуже.
Гораздо проще (с точки зрения всей вот этой шайки) просто отказывать во всех предложениях, которые не вписываются в эти 3 модели, и, тем самым, выкручивать руки разработчикам приложений.
Собственно, это все описано вот тут - https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%81%D1%83%D1%81#%D0%9A%D1%80%D0%B8%D1%82%D0%B8%D0%BA%D0%B0
Что с этим делать - непонятно, потому что у владельцев репы с wayland-protocols нет никаких стимулов что-то менять (https://cyclowiki.org/wiki/%D0%9F%D1%87%D1%91%D0%BB%D1%8B_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_%D0%BC%D1%91%D0%B4%D0%B0 ), а всем остальным договориться о том, чтобы брать эти протоколы из другого места, кажется нереалистичным.
Классный текст про #wayland.
Как обычно, много отсылок на километровые дискуссии, где текущие стейкхолдеры отказываются делать что-то, что не вписывается в их идеологию.
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/269
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/247
Хочу подробнее остановиться на
"Desktop environments of course have a design philosophy that they want to push, and want applications to integrate as much as possible (same as macOS and Windows!). However, there are many applications out there, and pushing a design via protocol limitations will likely just result in fewer apps"
Здесь аккуратно написано про следующий факт - люди, которые могут закоммитить новый протокол в wayland (например, позволяющий точно позиционировать окна), по странному стечению обстоятельств, являются стейкхолдерами (в том или ином виде) в kwin(KDE)/gnome shell/wlroots.
И вертели они на хую любые предложения и протоколы, которые не вписываются в их модели работы с десктопом в целом, и окнами приложений, в частности.
Вот, например, зачем человеку, который отвечает за все tiling композиторы принимать proposal, в котором можно разрешить приложению управлять своим положением на экране?
Он не сможет его реализовать в своей модели, а, значит, приложения, использующие эту фичу, в его композиторе будут работать хуже.
Гораздо проще (с точки зрения всей вот этой шайки) просто отказывать во всех предложениях, которые не вписываются в эти 3 модели, и, тем самым, выкручивать руки разработчикам приложений.
Собственно, это все описано вот тут - https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%81%D1%83%D1%81#%D0%9A%D1%80%D0%B8%D1%82%D0%B8%D0%BA%D0%B0
Что с этим делать - непонятно, потому что у владельцев репы с wayland-protocols нет никаких стимулов что-то менять (https://cyclowiki.org/wiki/%D0%9F%D1%87%D1%91%D0%BB%D1%8B_%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2_%D0%BC%D1%91%D0%B4%D0%B0 ), а всем остальным договориться о том, чтобы брать эти протоколы из другого места, кажется нереалистичным.
GitLab
staging: Add xdg-toplevel-icon to allow windows to set dedicated icons (!269) · Merge requests · wayland / wayland-protocols ·…
Hi everyone! Here is yet another controversial protocol, but I think it is a lot easier to discuss pros and cons if there is a concrete...
👍10🤔8❤4🔥2😭1
commit -m "better"
#asahi https://www.opennet.ru/opennews/art.shtml?num=59648 У коллег, судя по всему, прямо прорыв в поддержке 3D. Интересно, конечно, что у них с питаловом, то есть, сколько жрет GPU с этим drm driver. Напомню, что это были основные проблемы с open source…
https://asahilinux.org/2024/01/fedora-asahi-new/ #asahi
Кажется, проблемы с батарейкой коллеги тоже научились решать.
Я, конечно, понимаю, что такой радужный отчет стоит воспринимать несколько скептически, но, все равно, прогресс доставляет.
Печалит то, что, для того, чтобы достигать приемлемого уровня качества сервиса, коллегам приходится распихивать по всему стеку Linux подпорки для оборудования от Apple, что-то типа "классной психоакустической модели для встроенных в ноутбук колонок в виде plugin к pipewire", и написано оно все на Rust - https://github.com/chadmed/bankstown, то есть, повторить (в #stal/ix) это будет совсем не просто.
Я уже как-то писал, что совсем не понимаю экономику этого проекта. Вот откуда у них там человек, который разбирается в психоакустике, и может, основываясь на результате каких-то измерений, запилить плагин к pipewire на rust?
Я или переоцениваю сложность этой задачи (например, потому что ничего в этом не понимаю), или там какое-то совершенно дикое количество энтузиастов, среди которых есть и такие специалисты. Кода там не очень много, но он весьма специфичный - https://github.com/chadmed/bankstown/blob/main/src/lib.rs
Кажется, проблемы с батарейкой коллеги тоже научились решать.
Я, конечно, понимаю, что такой радужный отчет стоит воспринимать несколько скептически, но, все равно, прогресс доставляет.
Печалит то, что, для того, чтобы достигать приемлемого уровня качества сервиса, коллегам приходится распихивать по всему стеку Linux подпорки для оборудования от Apple, что-то типа "классной психоакустической модели для встроенных в ноутбук колонок в виде plugin к pipewire", и написано оно все на Rust - https://github.com/chadmed/bankstown, то есть, повторить (в #stal/ix) это будет совсем не просто.
Я уже как-то писал, что совсем не понимаю экономику этого проекта. Вот откуда у них там человек, который разбирается в психоакустике, и может, основываясь на результате каких-то измерений, запилить плагин к pipewire на rust?
Я или переоцениваю сложность этой задачи (например, потому что ничего в этом не понимаю), или там какое-то совершенно дикое количество энтузиастов, среди которых есть и такие специалисты. Кода там не очень много, но он весьма специфичный - https://github.com/chadmed/bankstown/blob/main/src/lib.rs
asahilinux.org
New in Fedora Asahi Remix - Asahi Linux
Porting Linux to Apple Silicon
🔥8👍5🤔4❤3💯1
commit -m "better"
Я ору, и не могу остановиться. #harfbuzz Как обычно, решил влезть в дискуссию, и сказал, что так-то есть дофига способов разорвать эту circular dep, было бы желание - https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1837576427 На что я получил…
#gnome moment
https://discourse.gnome.org/t/dealing-with-glib-and-gobject-introspection-circular-dependency/18701
В полку сумасшедших прибыло - теперь у нас официально есть кольцевая зависимость glib <-> gobject-introspection (вдобавок к https://xn--r1a.website/itpgchannel/202).
Нормальные люди (оценочное суждение) кольцевые зависимости рвут, ненормальные - документируют, и потом, втихую, наслаждаются страданиями package maintainers.
https://discourse.gnome.org/t/dealing-with-glib-and-gobject-introspection-circular-dependency/18701
В полку сумасшедших прибыло - теперь у нас официально есть кольцевая зависимость glib <-> gobject-introspection (вдобавок к https://xn--r1a.website/itpgchannel/202).
Нормальные люди (оценочное суждение) кольцевые зависимости рвут, ненормальные - документируют, и потом, втихую, наслаждаются страданиями package maintainers.
GNOME Discourse
Dealing with GLib and gobject-introspection circular dependency
Starting with GLib 2.79.0 and gobject-introspection 1.79.0, there is a circular dependency between the two projects. GLib depends on the introspection tools for generating the introspection data of its library components and documentation, and gobject-introspection…
🤡10🙈6👍3🤯2🥴2🤪1
commit -m "better"
Вот, примерно 2 года назад я озвучил одну из повторяющихся в рамках этой моей площадки тем - "нельзя писать ядро на С, но, так как Линус не может потерять лицо (https://harmful.cat-v.org/software/c++/linus), то пусть хоть Rust, а не С++, несмотря на то, что…
Иииии rust наносит ответный удар!
https://www.phoronix.com/news/GCC-Rust-Developer-Discussion
https://lore.kernel.org/git/CALNs47s3tUQoOD4ejdoTn6y12ywjL0j5hWU-fUnBLe_o3vV5SQ@mail.gmail.com/T/
https://www.phoronix.com/news/GCC-Rust-Developer-Discussion
https://lore.kernel.org/git/CALNs47s3tUQoOD4ejdoTn6y12ywjL0j5hWU-fUnBLe_o3vV5SQ@mail.gmail.com/T/
Phoronix
Git Developers Discuss The Possibility Of Beginning To Use Rust Code
The latest open-source project eyeing the possibility of beginning to allow the Rust programming language to be used within its codebase is the Git project.
🔥13👍5🤔3🤮2👌1
Будни #bootstrap
Все же знают историю про то, что размер спейсшаттлов является прямой функцией от ширины задницы лошади?
Вот, в паре скриптов в пакете с gzip нашел прекрасное:
Что тут написано?
Что когда-то, очень давно, в этом скрипте стояли прямые ссылки на /bin/sh, и вот про них было написан комментарий людям, которые бы редактировали этот shell script - мол, под каким-то там Ultrix (что это?) /bin/sh может не работать, берите /bin/sh5.
Но, после серии рефакторингов, и, насколько я понимаю, замены прямой ссылки на /bin/sh на ссылку на shell, найденный в момент выполнения ./configure, случился такой странный казус.
Получается, что мой dash, лежащий в /ix/store, может так себе работать под какой-то несуществующей OS.
Все же знают историю про то, что размер спейсшаттлов является прямой функцией от ширины задницы лошади?
Вот, в паре скриптов в пакете с gzip нашел прекрасное:
# WARNING: the first line of this file must be either : or #!/ix/store/gF4xURAJ
as4kd5vU-bin-dash-sh/bin/sh
# The : is required for some old versions of csh.
# On Ultrix, /ix/store/gF4xURAJas4kd5vU-bin-dash-sh/bin/sh is too buggy, change
the first line to: #!/ix/store/gF4xURAJas4kd5vU-bin-dash-sh/bin/sh5
Что тут написано?
Что когда-то, очень давно, в этом скрипте стояли прямые ссылки на /bin/sh, и вот про них было написан комментарий людям, которые бы редактировали этот shell script - мол, под каким-то там Ultrix (что это?) /bin/sh может не работать, берите /bin/sh5.
Но, после серии рефакторингов, и, насколько я понимаю, замены прямой ссылки на /bin/sh на ссылку на shell, найденный в момент выполнения ./configure, случился такой странный казус.
Получается, что мой dash, лежащий в /ix/store, может так себе работать под какой-то несуществующей OS.
😐11🤔3🐳3👍2🔥1😁1🗿1
commit -m "better"
https://outage.sr.ht/ Пара цитат: "In our emergency planning models, we have procedures in place for many kinds of eventualities. What has happened this week is essentially our worst-case scenario: “what if the primary datacenter just disappeared tomorrow?”…
https://lobste.rs/s/lgwcpb/statement_regarding_ongoing_sourcehut#c_zz1to9
Из обсуждения этой темы на lobste.rs узнал, что #ddv (ну и еще парочка его коллег) был там забанен пару лет назад, за слишком агрессивный маркетинг sr.ht, https://en.wikipedia.org/wiki/Rage_farming.
Это, конечно, немного в другом свете освещает историю про нападки #ddv на #hyprland https://xn--r1a.website/itpgchannel/1337
Из обсуждения этой темы на lobste.rs узнал, что #ddv (ну и еще парочка его коллег) был там забанен пару лет назад, за слишком агрессивный маркетинг sr.ht, https://en.wikipedia.org/wiki/Rage_farming.
Это, конечно, немного в другом свете освещает историю про нападки #ddv на #hyprland https://xn--r1a.website/itpgchannel/1337
lobste.rs
Statement regarding the ongoing SourceHut outage
55 comments
👍3🔥3😁3🤡3
#gnu, невменяемые мейнтейнеры
Я как-то рассказывал, что слежу за свежими апдейтами через repology.org. И там, довольно регулярно, настолько, что я обратил на эту странность внимание, ровно про две программы, приходит новая версия, в довольно странном формате - readline 8.2_p10, bash 5.2_p26.
Довольно долго не понимал, что же это за _pX, в "гнусном" ftp/http лежат вот ровно эта версия - 8.2 - https://ftp.gnu.org/pub/gnu/readline/
Оказывается, _p10 - это вот патчи из https://ftp.gnu.org/pub/gnu/readline/readline-8.2-patches/, которые нужно скачать отдельно, и наложить на основные исходники.
То есть, вместо того, чтобы сформировать очередной минорный релиз, upstream просто выкладывает все патчи с багфиксами, а ты ебись, как хочешь. А я-то всегда думал, почему readline так редко релизится...
https://github.com/pg83/ix/blob/main/pkgs/lib/readline/ix.sh#L3-L26
Мягко говоря, не очень удобно, надо вручную прописывать url, sha, и накладывать патч.
В первый раз такое вижу.
Ладно, во второй, еще так делает ядро, но там их можно понять - ядро довольно большое, и лет 20 назад имело смысл качать diff, вместо нового снепшота, потому что ты платишь за каждый мегабайт.
Я как-то рассказывал, что слежу за свежими апдейтами через repology.org. И там, довольно регулярно, настолько, что я обратил на эту странность внимание, ровно про две программы, приходит новая версия, в довольно странном формате - readline 8.2_p10, bash 5.2_p26.
Довольно долго не понимал, что же это за _pX, в "гнусном" ftp/http лежат вот ровно эта версия - 8.2 - https://ftp.gnu.org/pub/gnu/readline/
Оказывается, _p10 - это вот патчи из https://ftp.gnu.org/pub/gnu/readline/readline-8.2-patches/, которые нужно скачать отдельно, и наложить на основные исходники.
То есть, вместо того, чтобы сформировать очередной минорный релиз, upstream просто выкладывает все патчи с багфиксами, а ты ебись, как хочешь. А я-то всегда думал, почему readline так редко релизится...
https://github.com/pg83/ix/blob/main/pkgs/lib/readline/ix.sh#L3-L26
Мягко говоря, не очень удобно, надо вручную прописывать url, sha, и накладывать патч.
В первый раз такое вижу.
Ладно, во второй, еще так делает ядро, но там их можно понять - ядро довольно большое, и лет 20 назад имело смысл качать diff, вместо нового снепшота, потому что ты платишь за каждый мегабайт.
GitHub
ix/pkgs/lib/readline/ix.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
💩9❤4👍3😁3🤡2🐳1