GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Jakub Jirutka 🇪🇺🇺🇦 (jakub@social.jirutka.cz)'s status on Tuesday, 02-Apr-2024 07:13:20 JST Jakub Jirutka 🇪🇺🇺🇦 Jakub Jirutka 🇪🇺🇺🇦

    If #xz were a Go or Rust dependency, you wouldn’t have a single copy of xz library on your system, but many, #xzbackdoor hidden in every executable that uses it. Distros would have to rebuild all packages using that lib (not just the lib itself), which could take days or weeks, and users would have to update them all, downloading tens or hundreds of megabytes.

    If you install binaries directly from vendors/devs, it’s even worse – you wouldn’t even know which ones are affected and you’d (1/3)

    In conversation about a year ago from social.jirutka.cz permalink
    • Haelwenn /элвэн/ :triskell: likes this.
    • Embed this notice
      Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Tuesday, 02-Apr-2024 07:25:08 JST Haelwenn /элвэн/ :triskell: Haelwenn /элвэн/ :triskell:
      in reply to
      @jakub Rebuilding packages is easy, or at least is with sane package builders, you already need to do this on ABI bumps.
      Static linking also shouldn't be an issue, although you'd have to track which versions where used, you'd need an cleanly isolated environment, distros in the style of gentoo could fail there.

      The real issues are:
      - When language doesn't allows installation of libraries (be it `.so`, `.a` or source) or require strong version pinning: Having to patch a ton of package recipes (with the compatibility issues that can rise from doing so). And third-party packages would be left vulnerable.
      - When vendored: You'd have to somehow find and patch all packages shipping the payload. Basically impossible.

      See log4j where distros just fixed log4shell in a single day but others are likely still shipping vulnerable software.
      In conversation about a year ago permalink
    • Embed this notice
      Jakub Jirutka 🇪🇺🇺🇦 (jakub@social.jirutka.cz)'s status on Tuesday, 02-Apr-2024 07:25:10 JST Jakub Jirutka 🇪🇺🇺🇦 Jakub Jirutka 🇪🇺🇺🇦
      in reply to

      libraries it’s linked with!

      Now do you see the value of #Linux distros and dynamic linking? Please, stop this insane “single binary” mantra and work with distros, not against them.

      If #rustlang wants to replace C, devs need to acknowledge this and start providing dynamically linkable libraries with stable ABI. (3/3)

      In conversation about a year ago permalink
    • Embed this notice
      Jakub Jirutka 🇪🇺🇺🇦 (jakub@social.jirutka.cz)'s status on Tuesday, 02-Apr-2024 07:25:11 JST Jakub Jirutka 🇪🇺🇺🇦 Jakub Jirutka 🇪🇺🇺🇦
      in reply to

      be at the mercy of the devs to provide the update. Not a group of active maintainers behind the distro, but many individual devs, some of whom lack the time or motivation and sustainability. The same goes for Docker containers, Flatpak and similar!

      This is called static linking or bundling. Instead of rebuilding and updating a single shared library, you have to rebuild and update every single thing that links/bundles it. In the case of static linking, you usually can’t even tell which (2/3)

      In conversation about a year ago permalink
    • Embed this notice
      Aleksandra Fedorova :fedora: (bookwar@fosstodon.org)'s status on Saturday, 12-Oct-2024 19:22:49 JST Aleksandra Fedorova :fedora: Aleksandra Fedorova :fedora:
      in reply to
      • kravietz 🦇
      • Neal Gompa (ニール・ゴンパ) :fedora:
      • ITwrx

      @ITwrx

      Upstreams should not choose versions of dependencies randomly in their own bubble.

      To make deduplication of effort work, there should be awareness in every upstream that they need to align their choices with other upstreams.

      The packaging and distributions ecosystem is where different upstreams meet and talk to each other about things like which versions to choose as a base for LTS branches, which versions to choose for shared libraries and so on.

      @kravietz @Conan_Kudo @jakub

      In conversation about 8 months ago permalink

      Attachments


    • Embed this notice
      Aleksandra Fedorova :fedora: (bookwar@fosstodon.org)'s status on Saturday, 12-Oct-2024 19:22:49 JST Aleksandra Fedorova :fedora: Aleksandra Fedorova :fedora:
      in reply to
      • kravietz 🦇
      • Neal Gompa (ニール・ゴンパ) :fedora:
      • ITwrx

      @ITwrx

      And I may be need a separate statement:

      I don't believe that every upstream developer must become a packaging expert.

      I believe that packaging is a job on its own. For some projects you combine roles of developer, tester, doc writer and packager, for some you just can't. And then you ask for help.

      But I believe that upstream developer should be aware that there are needs in software development beyond writing the code and pleasing the user.

      @kravietz @Conan_Kudo @jakub

      In conversation about 8 months ago permalink
      Haelwenn /элвэн/ :triskell: likes this.
    • Embed this notice
      ITwrx (itwrx@blurts.net)'s status on Saturday, 12-Oct-2024 19:22:54 JST ITwrx ITwrx
      in reply to
      • kravietz 🦇
      • Aleksandra Fedorova :fedora:
      • Neal Gompa (ニール・ゴンパ) :fedora:
      @kravietz @jakub
      @bookwar
      @Conan_Kudo

      Upstreams should know what lib versions they tested with. Why shouldn't there be a simple manifest for upstreams to fill out that the distros' package management software then verifies with the source and installs? (not rhetorical) This makes it easy for upstream,s to "package" for all of linux and gives distros helpful info, but still lets distros do whatever they want/need to do to install the software. In the xz case, or similar, a new dev/signing key could automatically flag a review downstream and/or probationary period.
      In conversation about 8 months ago permalink
    • Embed this notice
      kravietz 🦇 (kravietz@agora.echelon.pl)'s status on Saturday, 12-Oct-2024 19:22:55 JST kravietz 🦇 kravietz 🦇
      in reply to
      • ITwrx

      @ITwrx

      Significant share of these “unable to address” are caused by physical impossibility of resolving conflicts between what specific versions of libraries specific applications require. In the Python world, every single library<X.Y constraint in requirements.txt is another piece of motivation for projects such as pipx which do for Python apps what Docker does for the whole system. And I guess unless there’s some kind of Central Committee to decide and enforce on library versions for all applications, we just need to live with these workarounds.

      @jakub

      In conversation about 8 months ago permalink
    • Embed this notice
      ITwrx (itwrx@blurts.net)'s status on Saturday, 12-Oct-2024 19:22:56 JST ITwrx ITwrx
      in reply to
      @jakub I agree, in general, and to a large degree, but flatpak, snap, appimage, lang package managers, DIY installers, etc are are just symptoms or workarounds for the underlying problem, which is that distros or the wider ecosystem have been unable/unwilling to address the packaging and dependency needs of upstreams and end users. IMHO, we need to come up with a better ecosystem-wide approach before all of this (packaging, security, overworked devs/maintainers, user frustration) gets further out of hand.
      In conversation about 8 months ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.