]> Cypherpunks.ru repositories - goredo.git/blobdiff - README
Better wording
[goredo.git] / README
diff --git a/README b/README
index 10d87c1ba7f5d0299197f4255770185548343641..cfc6b468a18dc221bf73a6a083255d57cdfd526d 100644 (file)
--- a/README
+++ b/README
@@ -13,18 +13,29 @@ goredo is free software: see the file COPYING for copying conditions.
 Home page: http://www.goredo.cypherpunks.ru/
 
 INSTALL                                                 *goredo-install*
-
-Either: >
+ >
     $ go get go.cypherpunks.ru/goredo
     $ goredo -symlinks
     $ export PATH=`pwd`:$PATH
-or: >
+
+If you have problems with *.golang.org's unability to verify
+authenticity of go.cypherpunks.ru TLS connection, then you can disable
+their usage by setting GOPRIVATE=go.cypherpunks.ru. If you still have
+problems with the authenticity on your side, then build it manually: >
+
     $ git clone git://git.cypherpunks.ru/goredo.git
     $ cd goredo
+    $ git tag -v v0.5.0
+    $ git clone git://git.cypherpunks.ru/gorecfile.git
+    $ ( cd gorecfile ; git tag -v v0.3.0 )
+    $ echo "replace go.cypherpunks.ru/recfile => `pwd`/gorecfile" >> go.mod
+    $ git clone git://git.cypherpunks.ru/gotai64n.git
+    $ ( cd gotai64n ; git tag -v v0.2.0 )
+    $ echo "replace go.cypherpunks.ru/tai64n => `pwd`/gotai64n" >> go.mod
     $ go build
     $ ./goredo -symlinks
     $ export PATH=`pwd`:$PATH
-<
+
 NOTES                                                     *goredo-notes*
 
 * "all" target is default
@@ -57,10 +68,10 @@ FEATURES                                               *goredo-features*
 * optional statusline with currently running/waiting/done jobs
 * target's stderr can be stored on the disk with TAI64N timestamp
   prefixes for each line. To convert them to localtime you can use either
-  tai64nlocal utility from daemontools (http://cr.yp.to/daemontools.html)
-  or make a symlink, to use built-in slower decoder: >
-    $ ln -s goredo tai64nlocal
-<
+  tai64nlocal utility from daemontools (http://cr.yp.to/daemontools.html),
+  or similar one: >
+    $ go get go.cypherpunks.ru/tai64n/cmd/tai64nlocal
+
 COMMANDS                                               *goredo-commands*
 
 * redo-ifchange, redo-ifcreate, redo-always
@@ -90,7 +101,7 @@ COMMANDS                                               *goredo-commands*
     $ redo target [...] # to assure that **/.redo/*.dep are filled up
     $ redo-dot target [...] > whatever.dot
     $ dot -Tpng whatever.dot > whatever.png # possibly add -Gsplines=ortho
-<
+
 FAQ                                                         *goredo-faq*
 
     Hashing and stamping~
@@ -127,23 +138,33 @@ goredo includes redo-stamp, that really records the stamp in the .dep
 file, but it does not play any role later. It is stayed just for
 compatibility.
 
-    Removed .do can lead to permanent errors of its non existence~
-
-That is true, because dependency on it was recorded previously. Is it
-safe to assume that .do-less target now is an ordinary source-file? I
-have no confidence in such behaviour. So it is user's decision how to
-deal with it, probably it was just his inaccuracy mistake. If you really
-want to get rid of that dependency knowledge for foo/bar target, then
-just remove foo/.redo/bar.dep.
-
-    Troubles with go get installation?~
-
-Because either your OS, or golang.org's proxies have no trust to
-go.cypherpunks.ru's CA? Try setting GOPRIVATE=go.cypherpunks.ru/goredo
-environment variable to skip sum.golang.org and proxy.golang.org usage.
-Clone repository manually and verify its signed tag. There is no way to
-disable forced TLS usage and no way to be sure that everyone uses same
-trust anchors.
+    Can removed .do lead to permanent errors of its non existence?~
+
+Yes, because dependency on it was recorded previously. Is it safe to
+assume that .do-less target now is an ordinary source-file? I have no
+confidence in such behaviour. So it is user's decision how to deal with
+it, probably it was just his inaccuracy mistake. If you really want to
+get rid of that dependency knowledge for foo/bar target, then just
+remove foo/.redo/bar.dep.
+
+    Does redo-always always rebuilds target?~
+
+goredo, together with apenwarr/redo, rebuilds target once per run.
+Always rebuilds during every redo invocation, but only once during it
+building. http://news.dieweltistgarnichtso.net/bin/redo-sh.html#why-built-twice
+has other opinion, that is why its redo-sh.tests/always_rebuild_1 will
+fail. Rebuilding of always-ed targets even during the same build process
+ruins any redo's usability in practice.
+
+For example if my .h file contains source code's version number, that is
+git-describe's output and all my other files depends on that header,
+then any redo-ifchange of .o will lead to git-describe execution, that
+is rather heavy. Of course, because of either hashing or possible
+redo-stamp-ing its dependants won't be rebuilt further, but build time
+will be already ruined. If you need to rebuild TeX documents (case
+mentioned in redo-sh's FAQ) until all references and numbers are ready,
+then you must naturally expectedly explicitly use while cycle in your
+.do, as apenwarr/redo already suggests.
 
 STATE                                                     *goredo-state*
 
@@ -167,7 +188,7 @@ dependency information (dep.rec with the schema included): >
 
     Type: stamp
     Hash: 5bbdf635932cb16b9127e69b6f3872577efed338f0a4ab6f2c7ca3df6ce50cc9
-<
+
 USAGE                                                     *goredo-usage*
 
 Run any of the command above with the -help.