1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
|
# SPDX-FileCopyrightText: 2002-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
SUBDIRS = src
test:
cd testsuite; make 1
web:
cd src; make web
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
upload:
eval `gpg-agent --daemon`
# make sure $YYYYMMDD is set
echo $(YYYYMMDD) | grep 20
cp parallel-$(YYYYMMDD).tar.bz2 parallel-latest.tar.bz2
cp doc/parallel.directive parallel-$(YYYYMMDD).tar.bz2.directive
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-*.tar.*directive
gpg --clearsign --yes parallel-$(YYYYMMDD).tar.bz2.directive
cp doc/parallel.latest.directive parallel-latest.tar.bz2.directive
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
(echo '#!/bin/bash'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig"; \
echo; \
echo "echo | gpg 2>/dev/null"; \
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
echo 'exit $$?' ; \
echo; \
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-$(YYYYMMDD).tar.bz2.sig
(echo '#!/bin/bash'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig"; \
echo; \
echo "echo | gpg 2>/dev/null"; \
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
echo 'exit $$?' ; \
echo; \
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-latest.tar.bz2.sig
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
# "|| true" needed if already uploaded
eval p=parallel-latest.tar.bz2{,.sig}; lftp -e "put $$p; bye" ftp://ftp-upload.gnu.org/incoming/ftp/ || true
eval p=parallel-$(YYYYMMDD).tar.bz2{,.sig}; lftp -e "put $$p; bye" ftp://ftp-upload.gnu.org/incoming/ftp/ || true
# ../ftpsync/src/ftpsync parallel-$(YYYYMMDD).tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/ftp/
# ../ftpsync/src/ftpsync parallel-latest.tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/ftp/
# This can take 7 minutes
pushd /tmp; \
rm -rf /tmp/parallel-$(YYYYMMDD)*; \
while ! wget https://ftp.gnu.org/gnu/parallel/parallel-$(YYYYMMDD).tar.bz2 ; do sleep 10; done; \
tar xjvf parallel-$(YYYYMMDD).tar.bz2; \
cd parallel-$(YYYYMMDD); \
./configure; \
make -j && sudo make -j install; \
pushd; \
sudo cp /usr/local/bin/parallel /usr/local/bin/parallel-$(YYYYMMDD)
alphaupload:
# Copy of upload
eval `gpg-agent --daemon`
# make sure $YYYYMMDD is set
echo $(YYYYMMDD) | grep 20
cp parallel-$(YYYYMMDD).tar.bz2 parallel-latest.tar.bz2
cp doc/parallel.directive parallel-$(YYYYMMDD).tar.bz2.directive
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-*.tar.*directive
gpg --clearsign --yes parallel-$(YYYYMMDD).tar.bz2.directive
cp doc/parallel.latest.directive parallel-latest.tar.bz2.directive
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
(echo '#!/bin/bash'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig"; \
echo; \
echo "echo | gpg 2>/dev/null"; \
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
echo 'exit $$?' ; \
echo; \
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-$(YYYYMMDD).tar.bz2.sig
(echo '#!/bin/bash'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig"; \
echo; \
echo "echo | gpg 2>/dev/null"; \
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
echo 'exit $$?' ; \
echo; \
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-latest.tar.bz2.sig
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
../ftpsync/src/ftpsync parallel-$(YYYYMMDD).tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/alpha/
# This can take 7 minutes
pushd /tmp; \
rm -rf /tmp/parallel-$(YYYYMMDD)*; \
while ! wget http://alpha.gnu.org/gnu/parallel/parallel-$(YYYYMMDD).tar.bz2 ; do sleep 2; done; \
tar xjvf parallel-$(YYYYMMDD).tar.bz2; \
cd parallel-$(YYYYMMDD); \
./configure; \
make -j && sudo make -j install; \
pushd; \
sudo cp /usr/local/bin/parallel /usr/local/bin/parallel-$(YYYYMMDD)
monitorman:
# If man page changed: open new pdfman
inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f . | parallel -uj1 'echo {=/\.pod$$/ or skip()=};make -j && sudo make install; pdfman {/.} &'
reuse:
rm -rf /tmp/reuse
mkdir /tmp/reuse
git commit -a -m dummy
(wd=`pwd`; \
cd /tmp/reuse; \
git clone "$$wd"; \
cd parallel; \
reuse lint || \
(echo Use; \
echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" source-files'; \
echo or; \
echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" --explicit-license bin-files' \
) )
git reset HEAD~ >/dev/null
git commit -c ORIG_HEAD >/dev/null
testurls:
mkdir -p urls
cd urls && ../src/testurls
reconf:
rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh
rm -rf src/Makefile.in
autoreconf --install -W gnu
./configure
make -j
sudo make install
pack_unpack_and_test_build:
echo '### Building tar.bz2'
./configure
make dist
make dist-bzip2
echo "### Unpack parallel-$(YYYYMMDD).tar.bz2"
cp parallel-$(YYYYMMDD).tar.bz2 /tmp
cd /tmp && \
tar xjf parallel-$(YYYYMMDD).tar.bz2 && \
cd parallel-$(YYYYMMDD) && \
./configure && make -j && sudo make -j install
# This ought to be correct, but fails on Centos
# bashcompletiondir=$(DESTDIR)${datarootdir}/bash-completion/completions
# zshcompletiondir=$(DESTDIR)${datarootdir}/zsh/site-functions
bashcompletiondir=$(DESTDIR)${prefix}/share/bash-completion/completions
zshcompletiondir=$(DESTDIR)${prefix}/share/zsh/site-functions
bashcompletion=${bashcompletiondir}/parallel
zshcompletion=${zshcompletiondir}/_parallel
install-data-hook:
mkdir -p ${zshcompletiondir} ${bashcompletiondir}
$(DESTDIR)$(bindir)/parallel --shell-completion bash > ${bashcompletion}
# Make zsh eval the --shell-completion code dynamically so if
# a newer version of GNU Parallel is installed by a normal
# user, this newer version will generate the
# --shell-completion code.
echo '#compdef parallel' > ${zshcompletion}
echo '(( $$+functions[_comp_parallel] )) ||' >> ${zshcompletion}
echo ' eval "$$(parallel --shell-completion auto)" &&' >> ${zshcompletion}
echo ' _comp_parallel' >> ${zshcompletion}
uninstall-hook:
rm -rf ${zshcompletiondir} ${bashcompletiondir}
EXTRA_DIST = CITATION CITATION.cff CREDITS LICENSES/CC-BY-SA-4.0.txt LICENSES/GFDL-1.3-or-later.txt LICENSES/GPL-3.0-or-later.txt
|