News for hackers. Stuff that matters.
Re:The sad state of sysadmin in the age of containers (2015) by dagss on Wednesday May 16, 2018 @12:29PM (#17083714)
I wish there was something like an updated Make, a tool that works for everything but updated to 2018.

For instance Make works based on timestamps and therefore works very poorly together with git. Switch to another branch and you can get weird effects based on what files were updated and not and often trigger needless rebuilds. And everyone uses git these days.

GNU Make, just using hashes instead of timestamps, would be a huge step forward.

Re:The sad state of sysadmin in the age of containers (2015) by wyldfire on Wednesday May 16, 2018 @12:35PM (#17083794)
> I wish there was something like an updated Make, a tool that works for everything but updated to 2018.

Is ninja that tool?

Re:The sad state of sysadmin in the age of containers (2015) by lbenes on Wednesday May 16, 2018 @12:53PM (#17083983)
> GNU Make, just using hashes instead of timestamps

Sounds like you're describing make on a system with ccashe installed. Hashing incurs a significant performance hit. The first build with ccashe is 20% slower than building without it[1]. Your modern make would likely be slower for people who just build something from source once and aren't doing incremental development.

https://ccache.samba.org/performance.html

Re:The sad state of sysadmin in the age of containers (2015) by dagss on Friday May 18, 2018 @04:54PM (#17104869)
ccache is just for c/c++..

Did you consider that it could be other things with ccache that makes it slow? E.g., the need to fully expand C headers and turn it into a text stream (NOT needed for a build tool).

Everything with git is lightning fast including operations that require a full directory tree diff / hash.

Re:The sad state of sysadmin in the age of containers (2015) by sushisource on Wednesday May 16, 2018 @12:41PM (#17083852)
Gradle does this. There is definitely a few extra seconds of overhead compared to make, but that's hardly intolerable.
Re:The sad state of sysadmin in the age of containers (2015) by repolfx on Wednesday May 16, 2018 @12:34PM (#17083783)
That'd require hashing every file on every run to figure out what changed. Not a good idea.

There are modern tools that work for many things. Gradle supports native compilation these days as well as any JVM language. Bazel supports compiling many kinds of languages, and there's still scons.

Re:The sad state of sysadmin in the age of containers (2015) by dagss on Friday May 18, 2018 @04:53PM (#17104859)
I've tried scons, waf, CMake, etc, always ended up hating them and return to standard Makefiles. SCons is the worst I've tried ever.

As to the cost of hashing: "git status" runs on 0.009s and requires a full diff of my working directory?..

Re:The sad state of sysadmin in the age of containers (2015) by trhway on Wednesday May 16, 2018 @12:53PM (#17083978)
>That'd require hashing every file on every run to figure out what changed. Not a good idea.

it is using time stamp to check whether to hash to check for changes.

Re:The sad state of sysadmin in the age of containers (2015) by snovv_crash on Wednesday May 16, 2018 @01:26PM (#17084367)
CMake?
Re:The sad state of sysadmin in the age of containers (2015) by dagss on Friday May 18, 2018 @04:50PM (#17104842)
CMake generates a standard Makefile for dependency change tracking doesn't it? Just timestamp-based on hash-based?