• 0 Posts
  • 166 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle
  • Your argument is to have 2 subtly incompatible abis and one day binaries magically break.

    You’re right it breaks c stdlib, but that’s literally the point, libc is broken by design, this is the fix.

    No program with time32_t will ever work after 2038, so any compiled that way are broken from compilation.

    You’re right that the length isn’t specified though, the issue is changing types for triplets silently has unfortunate side effects.

    If you really want to be clever, mangle the symbols for the functions that handle time so they encode time64 as appropriate, but doing it silently is begging for trouble.


  • This seems overblown, we’ve faced these things before.

    The straightforward path is adding new calls and structs and leaving the old code in place, then having tests that return -1 for time32_t and seeing what breaks.

    It’s not pretty, but this is life in the new epoch, gentoo doesn’t have it harder than anyone else except when they’re trying to rebuild while the transition is happening.

    I know nobody wants 2 apis, 1 deprecated, but this is an ancient design decision we have to live with, this is how we live with them.


















  • Unix has had a long running convention of separation between “operating system” and other files, so you can blow away something like /opt or /home without making your system unbeatable.

    If you stick stuff under /usr/bin then you have to track the files especially if there are any conflicts.

    Best to just add another path, I use ~/bin because it’s easy to get to and it’s a symlink from the git repo that holds my portable environment, just clone it and run a script and I’m home.


  • Oh sorry that was badly written, I compile my own kernel and run lxc on top of that, with debian base userspace otherwise.

    Then kvm on top for really different stuff.

    For my server it’s debian on the bottom with zfs file serving raidz2, and on top of that 1 kvm for debian docker containers, and 1 kvm for freebsd jails which actually hosts most of the services I care about, docker is fallback if they’re a pain to set up.