From 5781173d071314104ed2e3651b1222b385b0d798 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Fri, 17 Jan 2020 18:44:58 +0000 Subject: README-hacking.md: script to list installed programs before configure Until now, the small one-line script that lists programs was introduced in the checklist after running `./project configure'. But people would mostly miss it because they would wait until the configuration is complete. With this commit, that point has been put above the `./project configure' step. Readers are instructed to open a new terminal and run that script, then go to the next step so they see the directories get filled actively. It will also help them understand what is going on. --- README-hacking.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 5e202b3..a0a21d2 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -553,6 +553,24 @@ First custom commit $ git checkout -b master # Create and enter new "master" branch. ``` + - **Prepare to build project**: The `./project configure` command of the + next step will build the different software packages within the + "build" directory (that you will specify), nothing else on your system + will be touched. But since it takes long, it is useful to see what it + is building at every instant (its almost impossible to tell from the + torrent of commands that are produced!). So open another terminal on + your desktop and navigate to the same directory you just clone + above. Then run the following command. Before running the `./project + configure` command, this command will just print the date, once every + second. But as soon as it starts building software, you'll see names + of software come while they are being built, and go once they are + installed in the project build directory. See the "Inspecting status" + section below for more. + + ```shell + $ while true; do echo; date; ls .build/software/build-tmp; sleep 1; done + ``` + - **Test the template**: Before making any changes, it is important to test it and see if everything works properly with the commands below. If there is any problem in the `./project configure` or @@ -572,16 +590,6 @@ First custom commit # Open 'paper.pdf' and see if everything is ok. ``` - - **Software building status**: While the `./project configure` command of - the step above is busy building all the different software, you can - check the status by running the following command in another terminal - (but same project source directory). See the "Inspecting status" - section below for more. - - ```shell - $ while true; do echo; date; ls .build/software/build-tmp; sleep 1; done - ``` - - **Setup the remote**: You can use any [hosting facility](https://en.wikipedia.org/wiki/Comparison_of_source_code_hosting_facilities) that supports Git to keep an online copy of your project's version -- cgit v1.2.1 From 0774aac6c562b37800e49767ec28826ca8330d8c Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Sat, 18 Jan 2020 00:44:05 +0000 Subject: README-hacking.md: edits and corrections for easier customization The checklist descriptions were slightly edited to be more clear. Also, while following them, I noticed that while removing the "delete-me" parts on `verify.mk', would cause an error: the `if [ $$m == delete-me ];' statement we were saying to delete cause an error because `elif' was the first statement Bash would see. So with this commit, the `download' conditional (which isn't instructed to be deleted) was set to be the top (with an `if') and the `delete-me' conditional now has an `elif'. --- README-hacking.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index a0a21d2..241f2dc 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -551,6 +551,7 @@ First custom commit $ git remote rename origin template-origin # Rename current/only remote to "template-origin". $ git branch -m template # Rename current/only branch to "template". $ git checkout -b master # Create and enter new "master" branch. + $ pwd # Just to confirm where you are. ``` - **Prepare to build project**: The `./project configure` command of the @@ -559,13 +560,13 @@ First custom commit will be touched. But since it takes long, it is useful to see what it is building at every instant (its almost impossible to tell from the torrent of commands that are produced!). So open another terminal on - your desktop and navigate to the same directory you just clone - above. Then run the following command. Before running the `./project - configure` command, this command will just print the date, once every - second. But as soon as it starts building software, you'll see names - of software come while they are being built, and go once they are - installed in the project build directory. See the "Inspecting status" - section below for more. + your desktop and navigate to the same project directory that you + cloned (output of last command above). Then run the following + command. It will just print the date, once every second. But as soon + as the next step starts building software, you'll see the names of + software come while they are being built, and go once they are + installed in the project build directory (again: don't worry, nothing + will be installed outside the build directory). ```shell $ while true; do echo; date; ls .build/software/build-tmp; sleep 1; done @@ -645,7 +646,8 @@ First custom commit - `reproduce/analysis/make/top-make.mk`: Delete the `delete-me` line in the `makesrc` definition. Just make sure there is no empty line - between the `download \` and `verify \` lines. + between the `download \` and `verify \` lines (they should be + directly under eachother). - `reproduce/analysis/make/verify.mk`: In the final recipe, under the commented line `Verify TeX macros`, remove the full line that -- cgit v1.2.1 From 8cfc728ecfb81775fd7bcfde887d1fccc4e4e8ad Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Sun, 19 Jan 2020 22:42:24 +0000 Subject: New --check-config option to ./project to check software build status Until now, it was necessry to run a long `while true' loop to see what is currently being built at configure time. So with this commit, a new `--checkconfig' option has been added to `./project' that can be called to run that loop and make it easier to check. --- README-hacking.md | 45 ++++++++++++++------------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 241f2dc..91846ea 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -556,20 +556,22 @@ First custom commit - **Prepare to build project**: The `./project configure` command of the next step will build the different software packages within the - "build" directory (that you will specify), nothing else on your system - will be touched. But since it takes long, it is useful to see what it - is building at every instant (its almost impossible to tell from the - torrent of commands that are produced!). So open another terminal on - your desktop and navigate to the same project directory that you - cloned (output of last command above). Then run the following - command. It will just print the date, once every second. But as soon - as the next step starts building software, you'll see the names of - software come while they are being built, and go once they are - installed in the project build directory (again: don't worry, nothing - will be installed outside the build directory). + "build" directory (that you will specify). Nothing else on your system + will be touched. However, since it takes long, it is useful to see + what it is being built at every instant (its almost impossible to tell + from the torrent of commands that are produced!). So open another + terminal on your desktop and navigate to the same project directory + that you cloned (output of last command above). Then run the following + command. Once every second, this command will just print the date + (possibly followed by a non-existant directory notice). But as soon as + the next step starts building software, you'll see the names of + software get printed as they are being built. Once any software is + installed in the project build directory it will be removed. Again, + don't worry, nothing will be installed outside the build directory. ```shell - $ while true; do echo; date; ls .build/software/build-tmp; sleep 1; done + # On another terminal (go to top project directory) + $ project --check-config ``` - **Test the template**: Before making any changes, it is important to @@ -1236,25 +1238,6 @@ for the benefit of others. $ git clone my-project-git.bundle ``` - - **Inspecting software building status**: When you run `./project - configure`, several programs and libraries start to get configured and - build (in many cases, simultaneously). To understand the building - process, or for debugging a strange situation, it is sometimes useful - to know which programs are being built at every moment. To do this, - you can look into the `.build/software/build-tmp` directory (from the - top project directory). This temporary directory is only present while - building the software. At every moment, it contains the unpacked - source tarball directories of the all the packages that are being - built. After a software is successfully installed in your project, it - is removed from this directory. To automatically get a listing of this - directory every second, you can run the command below (on another - terminal while the software are being built). Press `CTRL-C` to stop - it and return back to the command-line). - - ```shell - $ while true; do echo; date; ls .build/software/build-tmp; sleep 1; done - ``` - -- cgit v1.2.1 From 7ac86df891798fd1f0ef4d7a40aff43ec9621854 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Mon, 20 Jan 2020 00:05:41 +0000 Subject: IMPORTANT!!! Configuration Makefiles now have a .conf suffix Until now, the configuration Makefiles (in `reproduce/software/config/installation' and `reproduce/analysis/config') had a `.mk' suffix, similar to the workhorse Makefiles. Although they are indeed Makefiles, but given their nature (to only keep configuration parameters), it is confusing (especially to early users) for them to also have a `.mk' (similar to the analysis or software building Makefiles). To address this issue, with this commit, all the configuration Makefiles (in those directories) are now given a `.conf' suffix. This is also assumed for all the files that are loaded. The configuration (software building) and running of the template have been checked with this change from scratch, but please report any error that may not have been noticed. THIS IS AN IMPORTANT CHANGE AND WILL CAUSE CRASHES OR UNEXPECTED BEHAVIORS FOR PROJECTS THAT HAVE BRANCHED FROM THIS TEMPLATE. PLEASE CORRECT THE SUFFIX OF ALL YOUR PROJECT'S CONFIGURATION MAKEFILES (IN THE DIRECTORIES ABOVE), OTHERWISE THEY AREN'T AUTOMATICALLY LOADED ANYMORE. --- README-hacking.md | 66 +++++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 91846ea..83c341b 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -328,17 +328,17 @@ variables/configurations) and _workhorse-Makefiles_ (Makefiles that actually contain analysis/processing rules). The configuration-Makefiles are those that satisfy these two wildcards: -`reproduce/software/config/installation/*.mk` (for building the necessary +`reproduce/software/config/installation/*.conf` (for building the necessary software when you run `./project configure`) and -`reproduce/analysis/config/*.mk` (for the high-level analysis, when you run -`./project make`). These Makefiles don't actually have any rules, they just -have values for various free parameters throughout the configuration or -analysis. Open a few of them to see for yourself. These Makefiles must only -contain raw Make variables (project configurations). By "raw" we mean that -the Make variables in these files must not depend on variables in any other -configuration-Makefile. This is because we don't want to assume any order -in reading them. It is also very important to *not* define any rule, or -other Make construct, in these configuration-Makefiles. +`reproduce/analysis/config/*.conf` (for the high-level analysis, when you +run `./project make`). These Makefiles don't actually have any rules, they +just have values for various free parameters throughout the configuration +or analysis. Open a few of them to see for yourself. These Makefiles must +only contain raw Make variables (project configurations). By "raw" we mean +that the Make variables in these files must not depend on variables in any +other configuration-Makefile. This is because we don't want to assume any +order in reading them. It is also very important to *not* define any rule, +or other Make construct, in these configuration-Makefiles. Following this rule-of-thumb enables you to set these configure-Makefiles as a prerequisite to any target that depends on their variable @@ -379,8 +379,8 @@ Let's see how this design is implemented. Please open and inspect `top-make.mk` it as we go along here. The first step (un-commented line) is to import the local configuration (your answers to the questions of `./project configure`). They are defined in the configuration-Makefile -`reproduce/software/config/installation/LOCAL.mk` which was also built by -`./project configure` (based on the `LOCAL.mk.in` template of the same +`reproduce/software/config/installation/LOCAL.conf` which was also built by +`./project configure` (based on the `LOCAL.conf.in` template of the same directory). The next non-commented set of the top `Makefile` defines the ultimate @@ -492,7 +492,7 @@ mind are listed below. - Do not use any constant numbers (or important names like filter names) in the workhorse-Makefiles or paper's LaTeX source. Define such constants as logically-grouped, separate configuration-Makefiles in - `reproduce/analysis/config/XXXXX.mk`. Then set this + `reproduce/analysis/config/XXXXX.conf`. Then set this configuration-Makefiles file as a pre-requisite to any rule that uses the variable defined in it. @@ -666,7 +666,7 @@ First custom commit ``` - Disable verification of outputs by removing the `yes` from - `reproduce/analysis/config/verify-outputs.mk`. Later, when you are + `reproduce/analysis/config/verify-outputs.conf`. Later, when you are ready to submit your paper, or publish the dataset, activate verification and make the proper corrections in this file (described under the "Other basic customizations" section below). This is a @@ -697,7 +697,7 @@ First custom commit $ echo "tex/src/delete-me.mk merge=ours" >> .gitattributes $ echo "tex/src/delete-me-demo.mk merge=ours" >> .gitattributes $ echo "reproduce/analysis/make/delete-me.mk merge=ours" >> .gitattributes - $ echo "reproduce/analysis/config/delete-me-num.mk merge=ours" >> .gitattributes + $ echo "reproduce/analysis/config/delete-me-num.conf merge=ours" >> .gitattributes $ git add .gitattributes ``` @@ -762,29 +762,29 @@ Other basic customizations - **High-level software**: The template installs all the software that your project needs. You can specify which software your project needs - in `reproduce/software/config/installation/TARGETS.mk`. The necessary - software are classified into two classes: 1) programs or libraries - (usually written in C/C++) which are run directly by the operating - system. 2) Python modules/libraries that are run within Python. By - default `TARGETS.mk` only has GNU Astronomy Utilities (Gnuastro) as - one scientific program and Astropy as one scientific Python - module. Both have many dependencies which will be installed into your - project during the configuration step. To see a list of software that - are currently ready to be built in the template, see - `reproduce/software/config/installation/versions.mk` (which has their - versions also), the comments in `TARGETS.mk` describe how to use the - software name from `versions.mk`. Currently the raw pipeline just uses - Gnuastro to make the demonstration plots. Therefore if you don't need - Gnuastro, go through the analysis steps in `reproduce/analysis` and - remove all its use cases (clearly marked). + in `reproduce/software/config/installation/TARGETS.conf`. The + necessary software are classified into two classes: 1) programs or + libraries (usually written in C/C++) which are run directly by the + operating system. 2) Python modules/libraries that are run within + Python. By default `TARGETS.conf` only has GNU Astronomy Utilities + (Gnuastro) as one scientific program and Astropy as one scientific + Python module. Both have many dependencies which will be installed + into your project during the configuration step. To see a list of + software that are currently ready to be built in the template, see + `reproduce/software/config/installation/versions.conf` (which has + their versions also), the comments in `TARGETS.conf` describe how to use + the software name from `versions.conf`. Currently the raw pipeline just + uses Gnuastro to make the demonstration plots. Therefore if you don't + need Gnuastro, go through the analysis steps in `reproduce/analysis` + and remove all its use cases (clearly marked). - **Input dataset**: The input datasets are managed through the - `reproduce/analysis/config/INPUTS.mk` file. It is best to gather all + `reproduce/analysis/config/INPUTS.conf` file. It is best to gather all the information regarding all the input datasets into this one central file. To ensure that the proper dataset is being downloaded and used by the project, it is also recommended get an [MD5 checksum](https://en.wikipedia.org/wiki/MD5) of the file and include - that in `INPUTS.mk` so the project can check it automatically. The + that in `INPUTS.conf` so the project can check it automatically. The preparation/downloading of the input datasets is done in `reproduce/analysis/make/download.mk`. Have a look there to see how these values are to be used. This information about the input datasets @@ -818,7 +818,7 @@ Other basic customizations in the project, it will stop and print the problematic file and its expected and calculated checksums. First set the value of `verify-outputs` valiable in - `reproduce/analysis/config/verify-outputs.mk` to `yes`. Then go to + `reproduce/analysis/config/verify-outputs.conf` to `yes`. Then go to `reproduce/analysis/make/verify.mk`. The verification of all the files is only done in one recipe. First the files that go into the plots/figures are checked, then the LaTeX macros. Validation of the -- cgit v1.2.1 From 195a3c51fd83775d0ad613783ef5a10b8992d150 Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Wed, 22 Jan 2020 23:21:03 +0000 Subject: Adding basic configuration of Git in README-hacking.md Until this commit, we were asuming that Git was already properly configured. However, in order to be as complete as possible, it would be good if the basic commands to configure Git were in the `README-hacking.md'. With this commit, a small paragraph has been added in order to have the basic Git configuration commands (i.e. to configure the name, email, and favorite text editor). --- README-hacking.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 83c341b..7116cda 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -444,7 +444,7 @@ project is designed to grow in this framework. File modification dates (meta data) ----------------------------------- -While git does an excellent job at keeping a history of the contents of +While Git does an excellent job at keeping a history of the contents of files, it makes no effort in keeping the file meta data, and in particular the dates of files. Therefore when you checkout to a different branch, files that are re-written by Git will have a newer date than the other @@ -532,6 +532,19 @@ get more advanced in later stages of your work. First custom commit ------------------- + - **Configure Git for fist time**: If you have never used Git, then you + have to configure it with some basic information in order to have + essential information in the commit messages (ignore this step if you + have already done it). Git will include your name and e-mail address + information in each commit. You can also specify your favorite text + editor for making the commit (`emacs`, `vim`, etc.). + + ```shell + $ git config --global user.name "YourName YourSurname" + $ git config --global user.email your-email@example.com + $ git config --global core.editor vim + ``` + - **Get this repository and its history** (if you don't already have it): Arguably the easiest way to start is to clone this repository as shown below. As you see, after the cloning some further corrections to your -- cgit v1.2.1 From 36dd26c5baf6ae55b44e3d048f7547fadabd67fe Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Wed, 22 Jan 2020 23:31:39 +0000 Subject: Adding Raul as contributor of README-hacking.md Since I (Raul) did some changes (and I hope to do more :-)) in the `README-hacking.md', I am adding my information at the beginning of this file. --- README-hacking.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 7116cda..8e004cd 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -1,7 +1,8 @@ Reproducible paper template =========================== -Copyright (C) 2018-2020 Mohammad Akhlaghi +Copyright (C) 2018-2020 Mohammad Akhlaghi \ +Copyright (C) 2020 Raul Infante-Sainz \ See the end of the file for license conditions. This project contains a **fully working template** for doing reproducible -- cgit v1.2.1 From 2264c0fea5668cd8f827cdbd89004fd390b0b14f Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Thu, 23 Jan 2020 18:54:29 +0000 Subject: IMPORTANT: Project preparation is now also done with project make Until now, the main commands to run the project were these: `./project configure' (to build the software), `./project prepare' (to possibly arrange input datasets and build special configuration Makefiles) and finally `./project make' to run the project. The main logic behind the "prepare" phase `top-prepare.mk' is to build configuration files that can be fed into the "make" step and optimize its operation. For example when the total number of necessary inputs for the majority of the analysis is not as large as the total number of inputs. With "prepare" (when necessary), you go through the raw inputs, select the ones that are necessary for the rest of the project. The output of `top-prepare.mk' is a configuration file (a Make variable) that keeps the IDs (numbers, names, etc). That configuration file would then be used in the `top-make.mk' to identify the lower level targets and allow optimal project organization and management. But the last two are both part of the analysis, and while they indeed need different calls to Make to be executed, many projects don't actually need a preparation phase: ultimately, its an implementation choice by the project developers and doesn't concern the project users (or the developers when they are running it). To avoid confusing the users, or simply annoying them when a projet doesn't need it, with this commit, the top-level `top-prepare.mk' and `top-make.mk' Makefiles are called with the single `./project make' command and `./project prepare' has been dropped. I noticed this while writing the paper on this system. --- README-hacking.md | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 83c341b..324ada4 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -279,28 +279,20 @@ example if you run `.local/bin/ls` you will be using the `ls` of the template, which is problably different from your system's `ls` (run them both with `--version` to check). -Once the project is configured for your system, `./project prepare` and -`./project make` will do the basic preparations and run the project's -analysis with the custom version of software. The `project` script is just -a wrapper, and with the commands above, it will call `top-prepare.mk` and -`top-make.mk` (both are in the `reproduce/analysis/make` directory). - -In the template, no particular preparation is necessary, so it will -immediately finish and instruct you to run `./project make`. But in some -projects, it can be very useful to do some very basic preparatory steps on -the input data that can greatly optimize running of `./project make`. For -example, you may need to query a server, to find how many input files there -are. Once that number is known in the preparation phase, `./project make` -can parallelize the analysis much more effectively. +Once the project is configured for your system, `./project make` will do +the basic preparations and run the project's analysis with the custom +version of software. The `project` script is just a wrapper, and with the +`make` argument, it will first call `top-prepare.mk` and `top-make.mk` +(both are in the `reproduce/analysis/make` directory). In terms of organization, `top-prepare.mk` and `top-make.mk` have an -identical design, only a minor difference. So, let's continue the -template's architecture with `top-make.mk`. Once you understand that, -you'll clearly understand `top-prepare.mk` also. These very high-level -files are relatively short and heavily commented so hopefully the -descriptions in each comment will be enough to understand the general -details. As you read this section, please also look at the contents of the -mentioned files and directories to fully understand what is going on. +identical design, only minor differences. So, let's continue the template's +architecture with `top-make.mk`. Once you understand that, you'll clearly +understand `top-prepare.mk` also. These very high-level files are +relatively short and heavily commented so hopefully the descriptions in +each comment will be enough to understand the general details. As you read +this section, please also look at the contents of the mentioned files and +directories to fully understand what is going on. Before starting to look into the top `top-make.mk`, it is important to recall that Make defines dependencies by files. Therefore, the @@ -587,7 +579,6 @@ First custom commit ```shell $ ./project configure # Build the project's software environment (can take an hour or so). - $ ./project prepare # Pre-processing preparations (doing nothing in the raw template). $ ./project make # Do the processing and build paper (just a simple demo in the template). # Open 'paper.pdf' and see if everything is ok. -- cgit v1.2.1 From d95fd520e19ddbc1cd8e9f900495e9d32db742cd Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Mon, 27 Jan 2020 17:27:18 +0000 Subject: Moving basic configuration of Git section in README-hacking.md Until this commit, the small section of `README-hacking.md' in which it is explained how to do the first configuration of Git was at the beginning of the section `First custom commit'. However, it is better to have it just before the item `Your first commit' in that section. With this commit, this change has been done. Now the reader has the necessary steps for configuring Git just before it is needed for making the first commit. --- README-hacking.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 8e004cd..33d129b 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -533,19 +533,6 @@ get more advanced in later stages of your work. First custom commit ------------------- - - **Configure Git for fist time**: If you have never used Git, then you - have to configure it with some basic information in order to have - essential information in the commit messages (ignore this step if you - have already done it). Git will include your name and e-mail address - information in each commit. You can also specify your favorite text - editor for making the commit (`emacs`, `vim`, etc.). - - ```shell - $ git config --global user.name "YourName YourSurname" - $ git config --global user.email your-email@example.com - $ git config --global core.editor vim - ``` - - **Get this repository and its history** (if you don't already have it): Arguably the easiest way to start is to clone this repository as shown below. As you see, after the cloning some further corrections to your @@ -736,6 +723,19 @@ First custom commit Copyright (C) 2020 YOUR NAME ``` + - **Configure Git for fist time**: If you have never used Git, then you + have to configure it with some basic information in order to have + essential information in the commit messages (ignore this step if you + have already done it). Git will include your name and e-mail address + information in each commit. You can also specify your favorite text + editor for making the commit (`emacs`, `vim`, etc.). + + ```shell + $ git config --global user.name "YourName YourSurname" + $ git config --global user.email your-email@example.com + $ git config --global core.editor vim + ``` + - **Your first commit**: You have already made some small and basic changes in the steps above and you are in the `master` branch. So, you can officially make your first commit in your project's history. But -- cgit v1.2.1 From 35ed6cf0df743175688b49a4559793cb7f6e9d66 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Sat, 1 Feb 2020 21:24:00 +0100 Subject: IMPORTANT: reproduce/software/bash renamed to reproduce/software/shell Until now the shell scripts in the software building phase were in the `reproduce/software/bash' directory. But given our recent change to a POSIX-only start, the `configure.sh' shell script (which is the main component of this directory) is no longer written with Bash. With this commit, to fix that problem, that directory's name has been changed to `reproduce/software/shell'. --- README-hacking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 324ada4..244cb23 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -959,8 +959,8 @@ for the benefit of others. - *Environment of each recipe*: If you need to define a special environment (or alises, or scripts to run) for all the recipes in - your Makefiles, you can use the Bash startup file - `reproduce/software/bash/bashrc.sh`. This file is loaded before every + your Makefiles, you can use a Bash startup file + `reproduce/software/shell/bashrc.sh`. This file is loaded before every Make recipe is run, just like the `.bashrc` in your home directory is loaded everytime you start a new interactive, non-login terminal. See the comments in that file for more. -- cgit v1.2.1 From 9ec1f18fd503408a574179a96b0e9a15d20be4ed Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Tue, 18 Feb 2020 12:59:33 +0000 Subject: README-hacking.md: corrected typo in project command I had forgot to add a `./' before the call to `project' for the `--check-config'. --- README-hacking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index 8e88547..e92258d 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -564,7 +564,7 @@ First custom commit ```shell # On another terminal (go to top project directory) - $ project --check-config + $ ./project --check-config ``` - **Test the template**: Before making any changes, it is important to -- cgit v1.2.1 From 218ef601067bd0e5554974bea1b5a62a457f5c97 Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Wed, 1 Apr 2020 19:50:35 +0100 Subject: Corrected reference for Infante-Sainz+2020 in README-hacking.md Until this commit, the year of this paper was 2019 and the linking url was the temporal one. However, the final official publication year is 2020. With this commit, the year and the url have been changed to the final ones. --- README-hacking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README-hacking.md') diff --git a/README-hacking.md b/README-hacking.md index e92258d..82b40e3 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -177,7 +177,7 @@ evolving, so some details may be different in them. The more recent ones can be used as a good working example besides the default template. - Infante-Sainz et - al. ([2019](https://ui.adsabs.harvard.edu/abs/2019MNRAS.tmp.2729I), + al. ([2020](https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.5317I), MNRAS, 491, 5317): The version controlled project source is available [on GitLab](https://gitlab.com/infantesainz/sdss-extended-psfs-paper) and is also archived on Zenodo with all the necessary software tarballs: -- cgit v1.2.1