aboutsummaryrefslogtreecommitdiff
path: root/reproduce/analysis/make
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/analysis/make')
-rw-r--r--reproduce/analysis/make/download.mk2
-rw-r--r--reproduce/analysis/make/initialize.mk30
-rw-r--r--reproduce/analysis/make/paper.mk17
-rw-r--r--reproduce/analysis/make/prepare.mk2
-rw-r--r--reproduce/analysis/make/top-make.mk2
-rw-r--r--reproduce/analysis/make/top-prepare.mk2
-rw-r--r--reproduce/analysis/make/verify.mk2
7 files changed, 38 insertions, 19 deletions
diff --git a/reproduce/analysis/make/download.mk b/reproduce/analysis/make/download.mk
index fb3f21e..ea70fca 100644
--- a/reproduce/analysis/make/download.mk
+++ b/reproduce/analysis/make/download.mk
@@ -5,7 +5,7 @@
# recipes in this Makefile all use a single file lock to have one download
# script running at every instant.
#
-# Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2018-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk
index 0cc04ee..4bae0a4 100644
--- a/reproduce/analysis/make/initialize.mk
+++ b/reproduce/analysis/make/initialize.mk
@@ -1,6 +1,6 @@
# Project initialization.
#
-# Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2018-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -491,13 +491,31 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
# Calculate the latest Maneage commit used to build this
# project:
+ # - The project may not have the 'maneage' branch (for example
+ # after cloning from a fork that didn't include it!). In this
+ # case, we'll print a descriptive warning, telling the user what
+ # should be done (reporting the last merged commit and its date
+ # is very useful for the future).
# - The '--dirty' option (used in 'project-commit-hash') isn't
# applicable to "commit-ishes" (direct quote from Git's error
# message!).
- # - The project may not have the 'maneage' branch (for example
- # after cloning from a fork that didn't include it!). In this
- # case, we'll just return the string a clear string.
- v=$$(git describe --always --long maneage) || v=maneage-ref-missing
- d=$$(git show -s --format=%aD $$v | awk '{print $$2, $$3, $$4}')
+ if git log maneage -1 &> /dev/null; then
+ c=$$(git merge-base HEAD maneage)
+ v=$$(git describe --always --long $$c)
+ d=$$(git show -s --format=%aD $$v | awk '{print $$2, $$3, $$4}')
+ else
+ echo
+ echo "WARNING: no 'maneage' branch found! Without it, the latest merge of "
+ echo "this project with Maneage can't be reported in the paper (which is bad "
+ echo "for your readers; that includes yourself in a few years). Please run "
+ echo "the commands below to fetch the 'maneage' branch from its own server "
+ echo "and remove this warning (these commands will not affect your project):"
+ echo " $ git remote add origin-maneage http://git.maneage.org/project.git"
+ echo " $ git fetch origin-maneage"
+ echo " $ git branch maneage --track origin-maneage/maneage"
+ echo
+ v="\textcolor{red}{NO-MANEAGE-BRANCH (see printed warning to fix this)}"
+ d="\textcolor{red}{NO-MANEAGE-DATE}"
+ fi
echo "\newcommand{\maneagedate}{$$d}" >> $@
echo "\newcommand{\maneageversion}{$$v}" >> $@
diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk
index 1776363..00bd3b5 100644
--- a/reproduce/analysis/make/paper.mk
+++ b/reproduce/analysis/make/paper.mk
@@ -1,6 +1,6 @@
# Build the final PDF paper/report.
#
-# Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2018-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -78,14 +78,15 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex
echo "LaTeX-built PDF paper will not be built."
echo
if [ x$(more-on-building-pdf) = x1 ]; then
- echo "To build the PDF, make sure you have LaTeX within the "
- echo "project (you can check by running "
- echo "'./.local/bin/latex --version'), _AND_ make sure that "
- echo "the 'pdf-build-final' variable has a value of 'yes', it "
- echo "is defined in: 'reproduce/analysis/config/pdf-build.conf'."
+ echo "To build the PDF, make sure that the 'pdf-build-final' "
+ echo "variable has a value of 'yes' (it is defined in this file)"
+ echo " reproduce/analysis/config/pdf-build.conf"
echo
- echo "If you don't have LaTeX within the project, please re-run"
- echo "'./project configure -e' when you have internet access."
+ echo "If you still see this message, there was a problem with "
+ echo "building LaTeX within the project. You can re-try building"
+ echo "it when you have internet access with the two commands below:"
+ echo " $ rm .local/version-info/tex/texlive*"
+ echo " $./project configure -e"
else
echo "For more, run './project make more-on-building-pdf=1'"
fi
diff --git a/reproduce/analysis/make/prepare.mk b/reproduce/analysis/make/prepare.mk
index 0391956..995132c 100644
--- a/reproduce/analysis/make/prepare.mk
+++ b/reproduce/analysis/make/prepare.mk
@@ -1,6 +1,6 @@
# Basic preparations, called by `./project prepare'.
#
-# Copyright (C) 2019-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2019-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/reproduce/analysis/make/top-make.mk b/reproduce/analysis/make/top-make.mk
index d552dc1..6b055f7 100644
--- a/reproduce/analysis/make/top-make.mk
+++ b/reproduce/analysis/make/top-make.mk
@@ -1,6 +1,6 @@
# Top-level Makefile (first to be loaded).
#
-# Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2018-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/reproduce/analysis/make/top-prepare.mk b/reproduce/analysis/make/top-prepare.mk
index 0f4f124..f81ac07 100644
--- a/reproduce/analysis/make/top-prepare.mk
+++ b/reproduce/analysis/make/top-prepare.mk
@@ -4,7 +4,7 @@
# are not included here. Please see that file for thorough comments on each
# step.
#
-# Copyright (C) 2019-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2019-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/reproduce/analysis/make/verify.mk b/reproduce/analysis/make/verify.mk
index 35f49db..6503172 100644
--- a/reproduce/analysis/make/verify.mk
+++ b/reproduce/analysis/make/verify.mk
@@ -1,6 +1,6 @@
# Verify the project outputs before building the paper.
#
-# Copyright (C) 2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2020-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by