aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-11 19:09:21 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-12 00:34:19 +0000
commitb7e88b1bf82b936f8fe07c0c2c5f8621c2018f3a (patch)
treebfec9c7f8746ea1f0682fbf0fc56654b41672c9e /README
parent595626499d20c6e3b297e72c90b5bd3f4d528e8a (diff)
Dependencies built at the start of the pipeline
To enable easy/proper reproduction of results, all the high-level dependencies are now built within the pipeline and installed in a fixed directory that is added to the PATH of the Makefile. This includes GNU Bash and GNU Make, which are then used to run the pipeline. The `./configure' script will first build Bash and Make within itself, then it will build All the dependencies are also built to be static. So after they are built, changing of the system's low-level libraries (like C library) won't change the tarballs. Currently the C library and C compiler aren't built within the pipeline, but we'll hopefully add them to the build process also. With this change, we now have full control of the shell and Make that will be used in the pipeline, so we can safely remove some of the generalities we had before.
Diffstat (limited to 'README')
-rw-r--r--README117
1 files changed, 14 insertions, 103 deletions
diff --git a/README b/README
index 919005b..fbbc7f6 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
-Reproduction pipeline for XXXXX.
+Reproduction pipeline for XXXXXXX
-For a general introduction to reproducible science as done here, please see
-the link below:
+For a general introduction to reproducible science as implemented in this
+pipeline, please see the link below:
http://akhlaghi.org/reproducible-science.html
@@ -10,112 +10,23 @@ the link below:
Running the pipeline
====================
-To reproduce the results, please take these steps in order:
+1. Necessary dependency: LaTeX.
-1. Make sure you have the dependencies (below).
+ Other than LaTeX, this pipeline just needs some basic building tools
+ that are already present if you have ever build a software from source
+ (Tar, C compiler, and Make). The pipeline will build its own
+ dependencies when you run `./configure'.
-2. Configure/set your top-level directories with the command below. It is
+2. Configure the environment (top-level directories in particular) and
+ build all the necessary software for use in the next step. It is
recommended to modify the directories. Please read the comments (lines
starting with an `#') in the file that is opened by `./configure' and
set the directories accordingly.
$ ./configure
-3. Run the following command to reproduce everything on 8 threads. If your
- CPU has a different number of threads, change the number.
+3. Run the following command to reproduce all the analysis and build the
+ final `paper.pdf' on 8 threads. If your CPU has a different number of
+ threads, change the number.
- $ make -j8
-
-
-
-Output
-======
-
-The output of the pipeline is a PDF file, describing the published paper.
-
-
-
-Dependencies
-============
-
-To reproduce the results you need the following programs. Except for
-Gnuastro, the version of the other programs will not make a difference.
-
- Gnuastro Y.Y
- ------------
-
- Gnuastro is a large collection of programs for astronomical data analysis
- on the command-line. This is an intermediate version of Gnuastro (the
- tarball is not officially released on the Gnuastro webpage). However,
- this pipeline will ONLY work with this version of Gnuastro. For
- convenience, this tarball is available in the following link:
-
- https://zenodo.org/record/ZZZZZZ/files/gnuastro-Y.Y.tar.gz
-
- To uncompress, build and install the Gnuastro tarball, follow the
- instructions in the link below.
-
- https://www.gnu.org/software/gnuastro/manual/html_node/Quick-start.html
-
- If you successfully downloaded the tarball from the link above, please
- ignore the rest of this section on Gnuastro. If not, this version of
- Gnuastro is always present in Gnuastro's version controlled history and
- this reproduction pipeline contains the fix to implement to it.
-
- To build the above version of Gnuastro, please clone Gnuastro and
- checkout this version as shown in the following commands:
-
- $ git clone http://git.sv.gnu.org/r/gnuastro.git
- $ git checkout Y.Y
-
- Afterwords, you need to bootstrap Gnuastro as described in the following
- link.
-
- https://www.gnu.org/software/gnuastro/manual/html_node/Bootstrapping.html
-
- You are now ready to configure, build and install Gnuastro as described
- in the "Quick start" link above.
-
-
-
- AWK
- ---
-
- AWK is a program for working with text files. GNU AWK is the most common
- implementation and it is commonly already installed on most systems.
-
-
- Bash
- ----
-
- Bash is the most common "shell" or command-line manager and available in
- almost all systems (even if not the default). It doesn't need to be the
- default for this pipeline to run.
-
-
- flock
- -----
-
- This is a small program to manage file locks from the command-line. It is
- available in all GNU/Linux distributions. For those operating systems
- that don't have it, an implementation that is easy to install is
- available in the link below.
-
- https://github.com/discoteq/flock
-
-
-
- Wget or cURL
- ------------
-
- These programs (`wget' or `curl' on the command-line) are used to
- download the input files if you don't already have them.
-
-
-
- LaTeX
- -----
-
- LaTeX is used to build the final PDF of this pipeline. Some important
- packages within LaTeX that this pipeline uses are: `biblatex' and
- `pgfplots'.
+ $ .local/bin/make -j8