+++ /dev/null
-REDO ?= contrib/do -c
-
-warning:
- @echo WARNING: this is not real Makefile. Just proxying commands to redo command
-
-all: warning
- $(REDO) $@
-
-clean: warning
- $(REDO) $@
-
-install: warning
- $(REDO) $@
-
-install-strip: warning
- $(REDO) $@
-
-uninstall: warning
- $(REDO) $@
+++ /dev/null
-redo-ifchange src/nncp.go
-perl -ne 'print "$1\n" if /Version.* = "(.*)"$/' < src/nncp.go
+++ /dev/null
-redo-ifchange bin/all
+++ /dev/null
-hjson-cli
-nncp-*
+++ /dev/null
-redo-ifchange cmd.list hjson-cli
-redo-ifchange `cat cmd.list`
--- /dev/null
+#!/bin/sh -e
+
+cd "$(realpath -- $(dirname "$0"))"/../src
+GO=${GO:-go}
+mod=`$GO list -mod=vendor -m`
+GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultCfgPath=$CFGPATH"
+GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultSendmailPath=$SENDMAIL"
+GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultSpoolPath=$SPOOLPATH"
+GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultLogPath=$LOGPATH"
+for cmd in `cat ../bin/cmd.list` ; do
+ $GO build -mod=vendor -o ../bin/$cmd $GO_CFLAGS -ldflags "$GO_LDFLAGS" ./cmd/$cmd
+done
+$GO build -mod=vendor -o ../bin/$cmd $GO_CFLAGS github.com/hjson/hjson-go/hjson-cli
+++ /dev/null
-rm -f `cat cmd.list` hjson-cli
+++ /dev/null
-cd ../src
-redo-ifchange ../config *.go cmd/${1##*/}/*.go
-. ../config
-GO=${GO:-go}
-mod=`$GO list -m`
-GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultCfgPath=$CFGPATH"
-GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultSendmailPath=$SENDMAIL"
-GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultSpoolPath=$SPOOLPATH"
-GO_LDFLAGS="$GO_LDFLAGS -X $mod.DefaultLogPath=$LOGPATH"
-$GO build -o ../bin/$3 $GO_CFLAGS -ldflags "$GO_LDFLAGS" ./cmd/${1##*/}
+++ /dev/null
-cd ../src
-GO=${GO:-go}
-$GO build -o ../bin/$3 github.com/hjson/hjson-go/hjson-cli
+++ /dev/null
-redo bin/clean
-rm -f VERSION
+++ /dev/null
-redo-ifchange doc/all
$ gpg --verify nncp-@value{VERSION}.tar.xz.asc nncp-@value{VERSION}.tar.xz
$ xz --decompress --stdout nncp-@value{VERSION}.tar.xz | tar xf -
$ cd nncp-@value{VERSION}
-$ redo all
+$ bin/build
@end example
@pindex info
@command{nncp-bundle} command can be get with
@command{info doc/nncp.info -n nncp-bundle}.
-@pindex redo
-@pindex apenwarr/redo
-@pindex apenwarr/do
-@pindex redo-c
-@pindex baredo
-@pindex goredo
-It uses @url{http://cr.yp.to/redo.html, redo} build system for that
-examples. You can use one of its various implementations, or at least
-minimalistic POSIX shell @command{contrib/do} (just replace
-@command{redo} with @command{contrib/do} in the example above) included
-in tarball. Following ones are tested to work with:
-@url{http://www.goredo.cypherpunks.ru/, goredo} (NNCP's author creation),
-@url{https://redo.readthedocs.io/, apenwarr/redo} (@code{contrib/do} is
-from that project), @url{https://github.com/leahneukirchen/redo-c, redo-c},
-@url{https://github.com/gotroyb127/baredo, baredo}.
-
@vindex PREFIX
@vindex DESTDIR
@vindex GO
@env{$INFODIR},
@env{$DOCDIR}.
-There is @command{install} target for binaries and info-documentation
+There is @command{install} script for binaries and info-documentation
installation:
@example
-# PREFIX=/usr/local redo install
+# PREFIX=/usr/local ./install
@end example
@vindex nofsnotify
@cindex kqueue
@cindex epoll
@vindex GO_CFLAGS
-NNCP depends on @code{github.com/fsnotify/fsnotify} library, that is
-solely relies on OS-specific mechanisms. There is possibility that you
-have either broken or unsupported ones. You can still build NNCP with
+NNCP depends on @code{github.com/fsnotify/fsnotify} library, that solely
+relies on OS-specific mechanisms. There is possibility that you have
+either broken or unsupported ones. You can still build NNCP with
@code{-tags nofsnotify} build option, to skip @code{fsnotify} library
usage at all:
@example
-$ GO_CFLAGS="-tags nofsnotify" redo @dots{}
+$ GO_CFLAGS="-tags nofsnotify" bin/build
@end example
@vindex noyggdrasil
redo-ifchange \
../config \
- ../VERSION \
*.texi \
cfg/*.texi \
cmd/*.texi \
usecases/*.texi
. ../config
${MAKEINFO:-makeinfo} \
- -D "VERSION `cat ../VERSION`" \
+ -D "VERSION `../version`" \
$MAKEINFO_OPTS \
--set-customization-variable SECTION_NAME_IN_TITLE=1 \
--set-customization-variable TREE_TRANSFORMATIONS=complete_tree_nodes_menus \
@node Новости
@section Новости
+@node Релиз 8.8.4
+@subsection Релиз 8.8.4
+@itemize
+
+@item
+Избавиться от @command{redo} системы сборки при установке, так как по сути
+нет зависимостей, только компиляция Go кода.
+
+@end itemize
+
@node Релиз 8.8.3
@subsection Релиз 8.8.3
@itemize
See also this page @ref{Новости, on russian}.
+@node Release 8_8_4
+@section Release 8.8.4
+@itemize
+
+@item
+Get rid of @command{redo} build system during installation, as there are
+virtually none dependencies, just only compilation of the Go code.
+
+@end itemize
+
@node Release 8_8_3
@section Release 8.8.3
@itemize
--- /dev/null
+#!/bin/sh -e
+
+cd "$(realpath -- $(dirname "$0"))"
+. ./config
+
+mkdir -p "$BINDIR"
+for cmd in `cat bin/cmd.list` ; do
+ cp -f bin/$cmd "$BINDIR"
+ chmod 755 "$BINDIR"/$cmd
+done
+
+mkdir -p "$INFODIR"
+cp -f doc/nncp.info "$INFODIR"
+chmod 644 "$INFODIR"/nncp.info
+
+mkdir -p "$DOCDIR"
+cp -f -L AUTHORS NEWS NEWS.RU README README.RU THANKS $DOCDIR
+chmod 644 "$DOCDIR"/*
--- /dev/null
+#!/bin/sh -e
+
+root="$(realpath -- $(dirname "$0"))"
+cd "$root"
+./install
+. ./config
+for cmd in `cat bin/cmd.list` ; do
+ strip "$BINDIR"/$cmd
+done
+++ /dev/null
-redo-ifchange config install
-. ./config
-for cmd in `cat bin/cmd.list` ; do
- strip $BINDIR/$cmd
-done
+++ /dev/null
-redo-ifchange config bin/all doc/nncp.info
-. ./config
-
-mkdir -p $BINDIR
-for cmd in `cat bin/cmd.list` ; do
- cp -f bin/$cmd $BINDIR
- chmod 755 $BINDIR/$cmd
-done
-
-mkdir -p $INFODIR
-cp -f doc/nncp.info $INFODIR
-chmod 644 $INFODIR/nncp.info
-
-mkdir -p $DOCDIR
-cp -f -L AUTHORS NEWS NEWS.RU README README.RU THANKS $DOCDIR
-chmod 644 $DOCDIR/*
#!/bin/sh -ex
+PATH=$HOME/work/meta4ra/contrib:$PATH
cur=$(pwd)
tmp=$(mktemp -d)
release=$1
git clone . $tmp/nncp-$release
cd $tmp/nncp-$release
git checkout v$release
-redo VERSION
+./version > VERSION
cd src
go mod vendor
modvendor -v -copy="**/*_test.go **/words.go **/README.md **/main.go"
-name .goreleaser.yml -o \
-name .gitattributes \) -delete
-mkdir contrib
-cp ~/work/redo/apenwarr/minimal/do contrib/do
-
cat > doc/download.texi <<EOF
@node Tarballs
@section Prepared tarballs
########################################################################
-perl -i -npe "s/GO build/GO build -mod=vendor/" bin/default.do bin/hjson-cli.do
-perl -i -npe "s/GO list/GO list -mod=vendor/" bin/default.do
-perl -i -npe "s/GO test/GO test -mod=vendor/" test.do
-rm makedist VERSION.do
+perl -i -npe "s/GO build/GO build -mod=vendor/" bin/build
+perl -i -npe "s/GO list/GO list -mod=vendor/" bin/build
+rm makedist version
rm -r .git
redo-cleanup full
find . -type d -exec chmod 755 {} +
find . -type f -exec chmod 644 {} +
find . -type f -name "*.sh" -exec chmod +x {} +
-chmod +x contrib/do
+chmod +x bin/build install install-strip uninstall
cd ..
tar cvf nncp-"$release".tar --uid=0 --gid=0 --numeric-owner nncp-"$release"
const Base32Encoded32Len = 52
var (
- Version string = "8.8.3"
+ Version string = "8.8.4"
Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding)
)
+++ /dev/null
-redo-ifchange config
-exec >&2
-. ./config
-cd src
-GO=${GO:-go}
-$GO test -failfast ./...
--- /dev/null
+#!/bin/sh -e
+
+root="$(realpath -- $(dirname "$0"))"
+. "$root"/config
+cd "$BINDIR"
+rm -f `cat "$root"/bin/cmd.list`
+rm -f "$INFODIR"/nncp.info
+rm -fr "$DOCDIR"
+++ /dev/null
-redo-ifchange config
-. ./config
-for cmd in `cat bin/cmd.list` ; do rm -f $BINDIR/$cmd ; done
-rm -f $INFODIR/nncp.info
-rm -fr $DOCDIR
--- /dev/null
+#!/bin/sh -e
+
+exec perl -ne 'print "$1\n" if /Version.* = "(.*)"$/' < "$(realpath -- $(dirname "$0"))"/src/nncp.go