News for hackers. Stuff that matters.
Re:Gittup, a Linux distro on top of Git by ComputerGuru on Wednesday December 27, 2017 @01:54PM (#16016973)
I agree with you, it's not there yet. It's the same problem over and over again with all these Make alternatives: close but if only xxx or if only not yyy.

I agree that the installation approach is a total copout, I would have hardlinked all the files from their installation destination to the build artifacts. (presuming state is intended to be thrown away on rebuild.)

Re:Gittup, a Linux distro on top of Git by DSMan195276 on Wednesday December 27, 2017 @02:26PM (#16017227)
I think what bugs me the most is that `tup` has been around for years now (The v0.1 release was in 2009), and it is almost exactly what I want - it keeps a very similar setup to `make`, but much better support for the stuff `make` makes a bit painful to do. If it had support for `tup clean` and for defining phony targets like `install` I would likely be using Tupfiles for all of my projects.
Re:Gittup, a Linux distro on top of Git by jdonaldson on Wednesday December 27, 2017 @05:07PM (#16018456)
It's extremely unlikely that Tup provides a "clean" command. They've expressed a philosophical opposition to it on a few occasions: https://github.com/gittup/tup/issues/120

They're make a really clear distinction between a build system, and a build support system. The "clean" command falls into build support, and the Tup team would argue this is better served with techniques like "git clean -xdf"

The "make clean" command is not perfect. Even if someone writes this make phase correctly, it may break after you sync new makefile changes on a dirty project dir. What do you do in that case?

Re:Gittup, a Linux distro on top of Git by DSMan195276 on Wednesday December 27, 2017 @11:12PM (#16020257)
I understand it's not going to happen - I linked one such conversation in my first comment. I think the reasoning is silly (His definitions might be "right", but he's the only one using those definitions), but I'm not arguing with them about it.

And I agree that `make clean` isn't perfect, I think that is what makes the fact that `tup clean` doesn't exist even more annoying. A lot of people recommend including an auxiliary Makefile or script to do the cleaning, but it can never be as good as if `tup` just did it itself since it is aware of exactly what files it as created during the build process.

Re:Gittup, a Linux distro on top of Git by dilap on Wednesday December 27, 2017 @05:33PM (#16018644)
but tup tracks what it built, so a clean command would come for free and in fact be reliable!
Re:Gittup, a Linux distro on top of Git by justhelpingout on Wednesday December 27, 2017 @11:22PM (#16020291)
In fact it is:

    sqlite3 .tup/db 'select name from node where type=4' | xargs echo rm -f

  [1]: https://github.com/gittup/tup/issues/120#issuecomment-64832104
Re:Gittup, a Linux distro on top of Git by dilap on Wednesday December 27, 2017 @11:33PM (#16020321)
so silly this isn't included because of philosophical objections.

tup is in some ways brilliant, and i give it kudos for actually improving on make in many ways (unlike 99% of the make-replacement-hopefuls), but man oh man do i value and prefer software devs with a more user-focused philosophy.

(an excellent example of that would be homebrew, which arguably wasn't anything special from a pure-tech perspective, but had amazingly good product sense/user focus. imagine combining that attitude & ux skills w/ the technical brilliance of tup...)

Re:Gittup, a Linux distro on top of Git by rkangel on Wednesday December 27, 2017 @04:55PM (#16018371)
For what use case do you need to perform a 'clean'?

Every time I have needed to clean a Makefile based project it has been due to imperfections of the build system, i.e. needing to do a full rebuild. In theory (I've never used tup in anger) you should never need to do that with tup because the dependecy gathering is so robust.

Re:Gittup, a Linux distro on top of Git by dilap on Wednesday December 27, 2017 @06:13PM (#16018925)
maybe you want to time a rebuild, maybe somehow something outside of tup's knowledge changed, maybe you want to tar the directory w/o build artifacts, maybe you simply need to quickly free up some hd space, &c &c