<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paper-concept.git/reproduce/analysis/config, branch maneage</title>
<subtitle>Paper (Towards Long-term and Archivable Reproducibility)</subtitle>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/'/>
<entry>
<title>IMPORTANT: more generic, robust and secure INPUTS.conf and download.mk</title>
<updated>2022-04-15T03:22:19+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-04-15T02:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=91799fe4b6d62230e99a1520a23a0d30c3eb963e'/>
<id>91799fe4b6d62230e99a1520a23a0d30c3eb963e</id>
<content type='text'>
SUMMARY: it is necessary to update your 'INPUTS.conf' and 'download.mk'.

Until now, adding an input file involved several steps that needed manual
(and inconvenient!) intervention: for every file, you needed to define four
variables in 'INPUTS.conf', and in 'reproduce/analysis/make/download.mk'
you had to use a (complex for large number of files) shell 'if/elif/else'
condition to link the names of the input files to those variables. Besides
inconvenience, this could cause bugs (typos!). Furthermore, a basic MD5
checksum was used for verifying the files.

With this commit, a new structure has been defined for 'INPUTS.conf' that
(thanks to some pretty useful GNU Make features), removes the need for
users to manually edit 'reproduce/analysis/make/download.mk', and reduces
the number of variables necessary for each file to three (from
four). Furthermore, we now use the SHA256 checksum for input data
validation.

Regarding the trick used in 'INPUTS.conf' (form the newly added description
in 'download.mk'): In GNU Make, '.VARIABLES' "... expands to a list of the
names of all global variables defined so far" (from the "Other Special
Variables" section of the GNU Make manual). Assuming that the pattern
'INPUT-%-sha256' is only used for input files, we find all the variables
that contain the input file names (the '%' is the filename). Finally, using
the pattern-substitution function ('patsubst'), we remove the fixed string
at the start and end of the variable name.

Steps you need to take:

 - INPUTS.conf: translate your old format to the new format (after
   carefully reading the description in the comments at the start of the
   file). After applying the new standards, you don't need to use the
   variables of 'INPUTS.conf' directly in your Makefiles! For example if
   one of your input datasets is called 'abc.fits', the checksum variable
   will be 'INPUT-abc.fits-sha256' and in your high-level Makefiles, you
   can simply set '$(indir)/abc.fits' as a prerequisite (like you probably
   did already).

 - reproduce/analysis/make/download.mk: for the definition and rule of
   'inputdatasets', simply use the Maneage branch, and remove anything you
   had added in your project.

In the process, I also noticed that 'README-hacking.md' still referred to
'master' as the main project branch, while we have used 'main' in the paper
(and is the common convention with Git).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: it is necessary to update your 'INPUTS.conf' and 'download.mk'.

Until now, adding an input file involved several steps that needed manual
(and inconvenient!) intervention: for every file, you needed to define four
variables in 'INPUTS.conf', and in 'reproduce/analysis/make/download.mk'
you had to use a (complex for large number of files) shell 'if/elif/else'
condition to link the names of the input files to those variables. Besides
inconvenience, this could cause bugs (typos!). Furthermore, a basic MD5
checksum was used for verifying the files.

With this commit, a new structure has been defined for 'INPUTS.conf' that
(thanks to some pretty useful GNU Make features), removes the need for
users to manually edit 'reproduce/analysis/make/download.mk', and reduces
the number of variables necessary for each file to three (from
four). Furthermore, we now use the SHA256 checksum for input data
validation.

Regarding the trick used in 'INPUTS.conf' (form the newly added description
in 'download.mk'): In GNU Make, '.VARIABLES' "... expands to a list of the
names of all global variables defined so far" (from the "Other Special
Variables" section of the GNU Make manual). Assuming that the pattern
'INPUT-%-sha256' is only used for input files, we find all the variables
that contain the input file names (the '%' is the filename). Finally, using
the pattern-substitution function ('patsubst'), we remove the fixed string
at the start and end of the variable name.

Steps you need to take:

 - INPUTS.conf: translate your old format to the new format (after
   carefully reading the description in the comments at the start of the
   file). After applying the new standards, you don't need to use the
   variables of 'INPUTS.conf' directly in your Makefiles! For example if
   one of your input datasets is called 'abc.fits', the checksum variable
   will be 'INPUT-abc.fits-sha256' and in your high-level Makefiles, you
   can simply set '$(indir)/abc.fits' as a prerequisite (like you probably
   did already).

 - reproduce/analysis/make/download.mk: for the definition and rule of
   'inputdatasets', simply use the Maneage branch, and remove anything you
   had added in your project.

In the process, I also noticed that 'README-hacking.md' still referred to
'master' as the main project branch, while we have used 'main' in the paper
(and is the common convention with Git).
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: Updates to almost all software</title>
<updated>2022-01-21T00:15:24+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-10-04T00:51:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=8463df97c6f26ec4d22cd5828bb0574fd5e450d2'/>
<id>8463df97c6f26ec4d22cd5828bb0574fd5e450d2</id>
<content type='text'>
This commit primarily affects the configuration step of Maneage'd projects,
and in particular, updated versions of the many of the software (see
P.S.). So it shouldn't affect your high-level analysis other than the
version bumps of the software you use (and the software's possibly
improve/changed behavior).

The following software (and thus their dependencies) couldn't be updated as
described below:
  - Cryptography: isn't building because it depends on a new
    setuptools-rust package that has problems
    (https://savannah.nongnu.org/bugs/index.php?61731), so it has been
    commented in 'versions.conf'.
  - SecretStorage: because it depends on Cryptography.
  - Keyring: because it depends on SecretStorage.
  - Astroquery: because it depends on Keyring.

This is a "squashed" commit after rebasing a development branch of 60
commits corresponding to a roughly two-month time interval. The following
people contributed to this branch.
  - Boudewijn Roukema added all the R software infrastructure and the R
    packages, as well as greatly helping in fixing many bugs during the
    update.
  - Raul Infante-Sainz helped in testing and debugging the build.
  - Pedram Ashofteh Ardakani found and fixed a bug.
  - Zahra Sharbaf helped in testing and found several bugs.

Below a description of the most noteworthy points is given.

  - Software tarballs: all updated software now have a unified format
    tarball (ustar; if not possible, pax) and unified compression (Lzip) in
    Maneage's software repository in Zenodo
    (https://doi.org/10.5281/zenodo.3883409). For more on this See
    https://savannah.nongnu.org/task/?15699 . This won't affect any extra
    software you would like to add; you can use any format recognized by
    GNU Tar, and all common compression algorithms. This new requirement is
    only for software that get merged to the core Maneage branch.

  - Metastore (and thus libbsd and libmd) moved to highlevel: Metastore
    (and the packages it depends on) is a high-level product that is only
    relevant during the project development (like Emacs!): when the user
    wants the file meta data (like dates) to be unchanged after checking
    out branches. So it should be considered a high-level software, not
    basic. Metastore also usually causes many more headaches and error
    messages, so personally, I have stopped using it! Instead I simply
    merge my branches in a separate clone, then pull the merge commit: in
    this way, the files of my project aren't re-written during the checkout
    phase and therefore their dates are untouched (which can conflict with
    Make's dates on configuration files).

  - The un-official cloned version of Flex (2.6.4-91 until this commit) was
    causing problems in the building of Netpbm, so with this commit, it has
    been moved back to version 2.6.4.

  - Netpbm's official page had version 10.73.38 as the latest stable
    tarball that was just released in late 2021. But I couldn't find our
    previously-used version 10.86.99 anywhere (to see when it was released
    and why we used it! Its at last more than one year old!). So the
    official stable version is being used now.

  - Improved instructions in 'README.md' for building software environment
    in a Docker container (while having project source and output data
    products on the local system; including the usage of the host's
    '/dev/shm' to speed up temporary operations).

  - Until now, the convention in Maneage was to put eight SPACE characters
    before the comment lines within recipes. This was done because by
    default GNU Emacs (also many other editors) show a TAB as eight
    characters. However, in other text editors, online browsers, or even
    the Git diff, a TAB can correspond to a different number of
    characters. In such cases, the Maneage recipes wouldn't look too
    interesting (the comments and the recipe commands would show a
    different indentation!).

    With this commit, all the comment lines in the Makefiles within the
    core Maneage branch have a hash ('#') as their first character and a
    TAB as the second. This allows the comment lines in recipes to have the
    same indentation as code; making the code much more easier to read in a
    general scenario including a 'git diff' (editor agnostic!).

P.S. List of updated software with their old and new versions
 - Software with no version update are not mentioned.
 - The old version of newly added software are shown with '--'.

Name (Basic)              Old version    New version
------------              -----------    -----------
Bzip2                     1.0.6          1.0.8
CURL                      7.71.1         7.79.1
Dash                      0.5.10.2       0.5.11.5
File                      5.39           5.41
Flock                     0.2.3          0.4.0
GNU Bash                  5.0.18         5.1.8
GNU Binutils              2.35           2.37
GNU Coreutils             8.32           9.0
GNU GCC                   10.2.0         11.2.0
GNU M4                    1.4.18         1.4.19
GNU Readline              8.0            8.1.1
GNU Tar                   1.32           1.34
GNU Texinfo               6.7            6.8
GNU diffutils             3.7            3.8
GNU findutils             4.7.0          4.8.0
GNU gmp                   6.2.0          6.2.1
GNU grep                  3.4            3.7
GNU gzip                  1.10           1.11
GNU libunistring          0.9.10         1.0
GNU mpc                   1.1.0          1.2.1
GNU mpfr                  4.0.2          4.1.0
GNU nano                  5.2            6.0
GNU ncurses               6.2            6.3
GNU wget                  1.20.3         1.21.2
Git                       2.28.0         2.34.0
Less                      563            590
Libxml2                   2.9.9          2.9.12
Lzip                      1.22-rc2       1.22
OpenSLL                   1.1.1a         3.0.0
Patchelf                  0.10           0.13
Perl                      5.32.0         5.34.0
Podlators                 --             4.14

Name (Highlevel)          Old version    New version
----------------          -----------    -----------
Apachelog4cxx             0.10.0-603     0.12.1
Astrometry.net            0.80           0.85
Boost                     1.73.0         1.77.0
CFITSIO                   3.48           4.0.0
Cmake                     3.18.1         3.21.4
Eigen                     3.3.7          3.4.0
Expat                     2.2.9          2.4.1
FFTW                      3.3.8          3.3.10
Flex                      2.6.4-91       2.6.4
Fontconfig                2.13.1         2.13.94
Freetype                  2.10.2         2.11.0
GNU Astronomy Utilities   0.12           0.16.1-e0f1
GNU Autoconf              2.69.200-babc  2.71
GNU Automake              1.16.2         1.16.5
GNU Bison                 3.7            3.8.2
GNU Emacs                 27.1           27.2
GNU GDB                   9.2            11.1
GNU GSL                   2.6            2.7
GNU Help2man              1.47.11        1.48.5
Ghostscript               9.52           9.55.0
ICU                       --             70.1
ImageMagick               7.0.8-67       7.1.0-13
Libbsd                    0.10.0         0.11.3
Libffi                    3.2.1          3.4.2
Libgit2                   1.0.1          1.3.0
Libidn                    1.36           1.38
Libjpeg                   9b             9d
Libmd                     --             1.0.4
Libtiff                   4.0.10         4.3.0
Libx11                    1.6.9          1.7.2
Libxt                     1.2.0          1.2.1
Netpbm                    10.86.99       10.73.38
OpenBLAS                  0.3.10         0.3.18
OpenMPI                   4.0.4          4.1.1
Pixman                    0.38.0         0.40.0
Python                    3.8.5          3.10.0
R                         4.0.2          4.1.2
SWIG                      3.0.12         4.0.2
Util-linux                2.35           2.37.2
Util-macros               1.19.2         1.19.3
Valgrind                  3.15.0         3.18.1
WCSLIB                    7.3            7.7
Xcb-proto                 1.14           1.14.1
Xorgproto                 2020.1         2021.5

Name (Python)             Old version    New version
-------------             -----------    -----------
Astropy                   4.0            5.0
Beautifulsoup4            4.7.1          4.10.0
Beniget                   --             0.4.1
Cffi                      1.12.2         1.15.0
Cryptography              2.6.1          36.0.1
Cycler                    0.10.0         0.11.0+}
Cython                    0.29.21        0.29.24
Esutil                    0.6.4          0.6.9
Extension-helpers         --             0.1
Galsim                    2.2.1          2.3.3
Gast                      --             0.5.3
Jinja2                    --             3.0.3
MPI4py                    3.0.3          3.1.3
Markupsafe                --             2.0.1
Numpy                     1.19.1         1.21.3
Packaging                 --             21.3
Pillow                    --             8.4.0
Ply                       --             3.11
Pyerfa                    --             2.0.0.1
Pyparsing                 2.3.1          3.0.4
Pythran                   --             0.11.0
Scipy                     1.5.2          1.7.3
Setuptools                41.6.0         58.3.0
Six                       1.12.0         1.16.0
Uncertainties             3.1.2          3.1.6
Wheel                     --             0.37.0

Name (R)                  Old version    New version
--------                  -----------    -----------
Cli                       --             2.5.0
Colorspace                --             2.0-1
Cowplot                   --             1.1.1
Crayon                    --             1.4.1
Digest                    --             0.6.27
Ellipsis                  --             0.3.2
Fansi                     --             0.5.0
Farver                    --             2.1.0
Ggplot2                   --             3.3.4
Glue                      --             1.4.2
GridExtra                 --             2.3
Gtable                    --             0.3.0
Isoband                   --             0.2.4
Labeling                  --             0.4.2
Lifecycle                 --             1.0.0
Magrittr                  --             2.0.1
MASS                      --             7.3-54
Mgcv                      --             1.8-36
Munsell                   --             0.5.0
Pillar                    --             1.6.1
R-Pkgconfig               --             2.0.3
R6                        --             2.5.0
RColorBrewer              --             1.1-2
Rlang                     --             0.4.11
Scales                    --             1.1.1
Tibble                    --             3.1.2
Utf8                      --             1.2.1
Vctrs                     --             0.3.8
ViridisLite               --             0.4.0
Withr                     --             2.4.2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit primarily affects the configuration step of Maneage'd projects,
and in particular, updated versions of the many of the software (see
P.S.). So it shouldn't affect your high-level analysis other than the
version bumps of the software you use (and the software's possibly
improve/changed behavior).

The following software (and thus their dependencies) couldn't be updated as
described below:
  - Cryptography: isn't building because it depends on a new
    setuptools-rust package that has problems
    (https://savannah.nongnu.org/bugs/index.php?61731), so it has been
    commented in 'versions.conf'.
  - SecretStorage: because it depends on Cryptography.
  - Keyring: because it depends on SecretStorage.
  - Astroquery: because it depends on Keyring.

This is a "squashed" commit after rebasing a development branch of 60
commits corresponding to a roughly two-month time interval. The following
people contributed to this branch.
  - Boudewijn Roukema added all the R software infrastructure and the R
    packages, as well as greatly helping in fixing many bugs during the
    update.
  - Raul Infante-Sainz helped in testing and debugging the build.
  - Pedram Ashofteh Ardakani found and fixed a bug.
  - Zahra Sharbaf helped in testing and found several bugs.

Below a description of the most noteworthy points is given.

  - Software tarballs: all updated software now have a unified format
    tarball (ustar; if not possible, pax) and unified compression (Lzip) in
    Maneage's software repository in Zenodo
    (https://doi.org/10.5281/zenodo.3883409). For more on this See
    https://savannah.nongnu.org/task/?15699 . This won't affect any extra
    software you would like to add; you can use any format recognized by
    GNU Tar, and all common compression algorithms. This new requirement is
    only for software that get merged to the core Maneage branch.

  - Metastore (and thus libbsd and libmd) moved to highlevel: Metastore
    (and the packages it depends on) is a high-level product that is only
    relevant during the project development (like Emacs!): when the user
    wants the file meta data (like dates) to be unchanged after checking
    out branches. So it should be considered a high-level software, not
    basic. Metastore also usually causes many more headaches and error
    messages, so personally, I have stopped using it! Instead I simply
    merge my branches in a separate clone, then pull the merge commit: in
    this way, the files of my project aren't re-written during the checkout
    phase and therefore their dates are untouched (which can conflict with
    Make's dates on configuration files).

  - The un-official cloned version of Flex (2.6.4-91 until this commit) was
    causing problems in the building of Netpbm, so with this commit, it has
    been moved back to version 2.6.4.

  - Netpbm's official page had version 10.73.38 as the latest stable
    tarball that was just released in late 2021. But I couldn't find our
    previously-used version 10.86.99 anywhere (to see when it was released
    and why we used it! Its at last more than one year old!). So the
    official stable version is being used now.

  - Improved instructions in 'README.md' for building software environment
    in a Docker container (while having project source and output data
    products on the local system; including the usage of the host's
    '/dev/shm' to speed up temporary operations).

  - Until now, the convention in Maneage was to put eight SPACE characters
    before the comment lines within recipes. This was done because by
    default GNU Emacs (also many other editors) show a TAB as eight
    characters. However, in other text editors, online browsers, or even
    the Git diff, a TAB can correspond to a different number of
    characters. In such cases, the Maneage recipes wouldn't look too
    interesting (the comments and the recipe commands would show a
    different indentation!).

    With this commit, all the comment lines in the Makefiles within the
    core Maneage branch have a hash ('#') as their first character and a
    TAB as the second. This allows the comment lines in recipes to have the
    same indentation as code; making the code much more easier to read in a
    general scenario including a 'git diff' (editor agnostic!).

P.S. List of updated software with their old and new versions
 - Software with no version update are not mentioned.
 - The old version of newly added software are shown with '--'.

Name (Basic)              Old version    New version
------------              -----------    -----------
Bzip2                     1.0.6          1.0.8
CURL                      7.71.1         7.79.1
Dash                      0.5.10.2       0.5.11.5
File                      5.39           5.41
Flock                     0.2.3          0.4.0
GNU Bash                  5.0.18         5.1.8
GNU Binutils              2.35           2.37
GNU Coreutils             8.32           9.0
GNU GCC                   10.2.0         11.2.0
GNU M4                    1.4.18         1.4.19
GNU Readline              8.0            8.1.1
GNU Tar                   1.32           1.34
GNU Texinfo               6.7            6.8
GNU diffutils             3.7            3.8
GNU findutils             4.7.0          4.8.0
GNU gmp                   6.2.0          6.2.1
GNU grep                  3.4            3.7
GNU gzip                  1.10           1.11
GNU libunistring          0.9.10         1.0
GNU mpc                   1.1.0          1.2.1
GNU mpfr                  4.0.2          4.1.0
GNU nano                  5.2            6.0
GNU ncurses               6.2            6.3
GNU wget                  1.20.3         1.21.2
Git                       2.28.0         2.34.0
Less                      563            590
Libxml2                   2.9.9          2.9.12
Lzip                      1.22-rc2       1.22
OpenSLL                   1.1.1a         3.0.0
Patchelf                  0.10           0.13
Perl                      5.32.0         5.34.0
Podlators                 --             4.14

Name (Highlevel)          Old version    New version
----------------          -----------    -----------
Apachelog4cxx             0.10.0-603     0.12.1
Astrometry.net            0.80           0.85
Boost                     1.73.0         1.77.0
CFITSIO                   3.48           4.0.0
Cmake                     3.18.1         3.21.4
Eigen                     3.3.7          3.4.0
Expat                     2.2.9          2.4.1
FFTW                      3.3.8          3.3.10
Flex                      2.6.4-91       2.6.4
Fontconfig                2.13.1         2.13.94
Freetype                  2.10.2         2.11.0
GNU Astronomy Utilities   0.12           0.16.1-e0f1
GNU Autoconf              2.69.200-babc  2.71
GNU Automake              1.16.2         1.16.5
GNU Bison                 3.7            3.8.2
GNU Emacs                 27.1           27.2
GNU GDB                   9.2            11.1
GNU GSL                   2.6            2.7
GNU Help2man              1.47.11        1.48.5
Ghostscript               9.52           9.55.0
ICU                       --             70.1
ImageMagick               7.0.8-67       7.1.0-13
Libbsd                    0.10.0         0.11.3
Libffi                    3.2.1          3.4.2
Libgit2                   1.0.1          1.3.0
Libidn                    1.36           1.38
Libjpeg                   9b             9d
Libmd                     --             1.0.4
Libtiff                   4.0.10         4.3.0
Libx11                    1.6.9          1.7.2
Libxt                     1.2.0          1.2.1
Netpbm                    10.86.99       10.73.38
OpenBLAS                  0.3.10         0.3.18
OpenMPI                   4.0.4          4.1.1
Pixman                    0.38.0         0.40.0
Python                    3.8.5          3.10.0
R                         4.0.2          4.1.2
SWIG                      3.0.12         4.0.2
Util-linux                2.35           2.37.2
Util-macros               1.19.2         1.19.3
Valgrind                  3.15.0         3.18.1
WCSLIB                    7.3            7.7
Xcb-proto                 1.14           1.14.1
Xorgproto                 2020.1         2021.5

Name (Python)             Old version    New version
-------------             -----------    -----------
Astropy                   4.0            5.0
Beautifulsoup4            4.7.1          4.10.0
Beniget                   --             0.4.1
Cffi                      1.12.2         1.15.0
Cryptography              2.6.1          36.0.1
Cycler                    0.10.0         0.11.0+}
Cython                    0.29.21        0.29.24
Esutil                    0.6.4          0.6.9
Extension-helpers         --             0.1
Galsim                    2.2.1          2.3.3
Gast                      --             0.5.3
Jinja2                    --             3.0.3
MPI4py                    3.0.3          3.1.3
Markupsafe                --             2.0.1
Numpy                     1.19.1         1.21.3
Packaging                 --             21.3
Pillow                    --             8.4.0
Ply                       --             3.11
Pyerfa                    --             2.0.0.1
Pyparsing                 2.3.1          3.0.4
Pythran                   --             0.11.0
Scipy                     1.5.2          1.7.3
Setuptools                41.6.0         58.3.0
Six                       1.12.0         1.16.0
Uncertainties             3.1.2          3.1.6
Wheel                     --             0.37.0

Name (R)                  Old version    New version
--------                  -----------    -----------
Cli                       --             2.5.0
Colorspace                --             2.0-1
Cowplot                   --             1.1.1
Crayon                    --             1.4.1
Digest                    --             0.6.27
Ellipsis                  --             0.3.2
Fansi                     --             0.5.0
Farver                    --             2.1.0
Ggplot2                   --             3.3.4
Glue                      --             1.4.2
GridExtra                 --             2.3
Gtable                    --             0.3.0
Isoband                   --             0.2.4
Labeling                  --             0.4.2
Lifecycle                 --             1.0.0
Magrittr                  --             2.0.1
MASS                      --             7.3-54
Mgcv                      --             1.8-36
Munsell                   --             0.5.0
Pillar                    --             1.6.1
R-Pkgconfig               --             2.0.3
R6                        --             2.5.0
RColorBrewer              --             1.1-2
Rlang                     --             0.4.11
Scales                    --             1.1.1
Tibble                    --             3.1.2
Utf8                      --             1.2.1
Vctrs                     --             0.3.8
ViridisLite               --             0.4.0
Withr                     --             2.4.2
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: print-general-metadata new name for print-copyright</title>
<updated>2021-04-17T03:31:31+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-04-17T03:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=6e4ec9a305f7021643fe22e08fe0ad17dd363a93'/>
<id>6e4ec9a305f7021643fe22e08fe0ad17dd363a93</id>
<content type='text'>
Summary:
 - Use the new name of this variable in your Makefiles.
 - In 'metadata.conf', remove fixed URL prefixes for DOIs
   ('https://doi.org/') or arXiv ('https://arxiv.org/abs').

Until now, the Make variable that would print the general metadata (of
whole project) into each to-be-published dataset was called
'print-copyright'! But it now does much more than simply printing the
copyright, it will also print a lot of metadata like arXiv ID, Zenodo DOI
and etc into plain-text outputs. The out-dated name could thus be
misleading and cause confusions.

With this commit, the variable is therefore called
'print-general-metadata'. After merging your project with the Maneage
branch, please replace any usage of 'print-copyright' to
'print-general-metadata'.

Also with this commit, 'README-hacking.md' mentions 'metadata.conf' and
'print-general-metadata' in the "Publication checklist" section and reminds
you to keep the first up to date, and use the second in your
to-be-published datasets.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
 - Use the new name of this variable in your Makefiles.
 - In 'metadata.conf', remove fixed URL prefixes for DOIs
   ('https://doi.org/') or arXiv ('https://arxiv.org/abs').

Until now, the Make variable that would print the general metadata (of
whole project) into each to-be-published dataset was called
'print-copyright'! But it now does much more than simply printing the
copyright, it will also print a lot of metadata like arXiv ID, Zenodo DOI
and etc into plain-text outputs. The out-dated name could thus be
misleading and cause confusions.

With this commit, the variable is therefore called
'print-general-metadata'. After merging your project with the Maneage
branch, please replace any usage of 'print-copyright' to
'print-general-metadata'.

Also with this commit, 'README-hacking.md' mentions 'metadata.conf' and
'print-general-metadata' in the "Publication checklist" section and reminds
you to keep the first up to date, and use the second in your
to-be-published datasets.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright year updated in all source files</title>
<updated>2021-01-02T15:52:31+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-01-02T15:52:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=ff43476c4d293fda8765cfddbb1378f1b910218c'/>
<id>ff43476c4d293fda8765cfddbb1378f1b910218c</id>
<content type='text'>
Having entered 2021, it was necessary to update the copyright years at the
top of the source files. We recommend that you do this for all your
project-specific source files also.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having entered 2021, it was necessary to update the copyright years at the
top of the source files. We recommend that you do this for all your
project-specific source files also.
</pre>
</div>
</content>
</entry>
<entry>
<title>Building final PDF: pdf-build-final has to be given an explicit yes</title>
<updated>2020-11-15T13:32:57+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-11-15T13:28:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=fcc77a774f2e34bd9ed6ca4ea0f5577cba967f58'/>
<id>fcc77a774f2e34bd9ed6ca4ea0f5577cba967f58</id>
<content type='text'>
Until now, when the 'pdf-build-final' configuration variable (defined in
'reproduce/analysis/config/pdf-build.conf') was given any string a PDF
would be built. This was very confusing, because people could put a 'no'
and the PDF would still be built!

With this commit, only when this variable has a value of 'yes' will the PDF
be built. If given any other string (or no string at all), it will not
produce a PDF.

This issue was reported by Zahra Sharbaf.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, when the 'pdf-build-final' configuration variable (defined in
'reproduce/analysis/config/pdf-build.conf') was given any string a PDF
would be built. This was very confusing, because people could put a 'no'
and the PDF would still be built!

With this commit, only when this variable has a value of 'yes' will the PDF
be built. If given any other string (or no string at all), it will not
produce a PDF.

This issue was reported by Zahra Sharbaf.
</pre>
</div>
</content>
</entry>
<entry>
<title>Gnuastro's analysis configuration files removed</title>
<updated>2020-09-24T01:15:40+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-09-24T01:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=ee8c6be24166c16df9cd7fb1912503e25bdfde85'/>
<id>ee8c6be24166c16df9cd7fb1912503e25bdfde85</id>
<content type='text'>
Until now, the core Maneage branch included some configuration files for
Gnuastro's programs. This was actually a remnant of the distant past when
Maneage didn't actually build its own software and we had to rely on the
host's software versions. This file contained the configuration files
specific to Gnuastro for this project and also had a feature to avoid
checking the host's own configuration files.

However, we now build all our software ourselves with fixed configuration
files (for the version that is being installed and its version is
stored). So those extra configuration files were just extra and caused
confusion and problems in some scenarios. With this commit, those extra
files are now removed.

Also, two small issues are also addressed in parallel with this commit:

 - When running './project make clean', the 'hardware-parameters.tex' macro
   file (which is created by './project configure' is not deleted.

 - The project title is now written into the default output's PDF's
   properties (through 'hypersetup' in 'tex/src/preamble-header.tex')
   through the LaTeX macro.

All these issues were found and fixed with the help of Samane Raji.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the core Maneage branch included some configuration files for
Gnuastro's programs. This was actually a remnant of the distant past when
Maneage didn't actually build its own software and we had to rely on the
host's software versions. This file contained the configuration files
specific to Gnuastro for this project and also had a feature to avoid
checking the host's own configuration files.

However, we now build all our software ourselves with fixed configuration
files (for the version that is being installed and its version is
stored). So those extra configuration files were just extra and caused
confusion and problems in some scenarios. With this commit, those extra
files are now removed.

Also, two small issues are also addressed in parallel with this commit:

 - When running './project make clean', the 'hardware-parameters.tex' macro
   file (which is created by './project configure' is not deleted.

 - The project title is now written into the default output's PDF's
   properties (through 'hypersetup' in 'tex/src/preamble-header.tex')
   through the LaTeX macro.

All these issues were found and fixed with the help of Samane Raji.
</pre>
</div>
</content>
</entry>
<entry>
<title>Better names and comments in INPUTS.conf</title>
<updated>2020-07-04T20:58:05+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-07-04T20:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=6322d4f3961bc4b275707366d9bb2703ab98be79'/>
<id>6322d4f3961bc4b275707366d9bb2703ab98be79</id>
<content type='text'>
Until now, the dataset's configuration names had a 'WFPC2' prefix. But this
very alien to anyone that is not familiar with the history of the Hubble
Space Telescope (the camera is no longer used! Its just used here since its
one of the standard FITS files from the FITS standard webpage).

With this commit the variable names have been modified to be more readable
and clear (having a 'DEMO-' prefix). Also the comments of 'INPUTS.conf'
(describing the purpose of each variable) were edited and made more clear.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the dataset's configuration names had a 'WFPC2' prefix. But this
very alien to anyone that is not familiar with the history of the Hubble
Space Telescope (the camera is no longer used! Its just used here since its
one of the standard FITS files from the FITS standard webpage).

With this commit the variable names have been modified to be more readable
and clear (having a 'DEMO-' prefix). Also the comments of 'INPUTS.conf'
(describing the purpose of each variable) were edited and made more clear.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: bug fix in default data download script of download.mk</title>
<updated>2020-06-10T00:25:33+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-06-09T19:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=2bd2e2f1833300d5102339e2aa417a3099c13960'/>
<id>2bd2e2f1833300d5102339e2aa417a3099c13960</id>
<content type='text'>
Summary of possible semantic conflicts
 1. The recipe to download input datasets has been modified. You have to
    re-set the old 'origname' variable to 'localname' (to avoid confusion)
    and the default dataset URL should now be complete (including the
    actual filename). See the newly added descriptions in 'INPUTS.conf' for
    more on this.

Until now, when the dataset was already present on the host system, a link
couldn't be made to it, causing the project to crash in the checksum
phase. This has been fixed with properly naming the main variable as
'localname' to avoid the confusion that caused it.

Some other problems have been fixed in this recipe in the meantime:
 - When the checksum is different, the expected and calculated checksums
   are printed.
 - In the default paper, we now print the full URL of the dataset, not just
   the server, so the checksum of the 'download.tex' step has been updated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary of possible semantic conflicts
 1. The recipe to download input datasets has been modified. You have to
    re-set the old 'origname' variable to 'localname' (to avoid confusion)
    and the default dataset URL should now be complete (including the
    actual filename). See the newly added descriptions in 'INPUTS.conf' for
    more on this.

Until now, when the dataset was already present on the host system, a link
couldn't be made to it, causing the project to crash in the checksum
phase. This has been fixed with properly naming the main variable as
'localname' to avoid the confusion that caused it.

Some other problems have been fixed in this recipe in the meantime:
 - When the checksum is different, the expected and calculated checksums
   are printed.
 - In the default paper, we now print the full URL of the dataset, not just
   the server, so the checksum of the 'download.tex' step has been updated.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: Added publication checklist, improved relevant infrastructure</title>
<updated>2020-06-06T19:56:39+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-06-02T02:45:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=623ae15c95bb8575b111709705c29b10fcf7c12b'/>
<id>623ae15c95bb8575b111709705c29b10fcf7c12b</id>
<content type='text'>
Possible semantic conflicts (that may not show up as Git conflicts but may
cause a crash in your project after the merge):

   1) The project title (and other basic metadata) should be set in
      'reproduce/analysis/conf/metadata.conf'. Please include this file in
      your merge (if it is ignored because of '.gitattributes'!).

   2) Consider importing the changes in 'initialize.mk' and 'verify.mk' (if
      you have added all analysis Makefiles to the '.gitattributes' file
      (thus not merging any change in them with your branch). For example
      with this command:
        git diff master...maneage -- reproduce/analysis/make/initialize.mk

   3) The old 'verify-txt-no-comments-leading-space' function has been
      replaced by 'verify-txt-no-comments-no-space'. The new function will
      also remove all white-space characters between the columns (not just
      white space characters at the start of the line). Thus the resulting
      check won't involve spacing between columns.

A common set of steps are always necessary to prepare a project for
publication. Until now, we would simply look at previous submissions and
try to follow them, but that was prone to errors and could cause
confusion. The internal infrastructure also didn't have some useful
features to make good publication possible. Now that the submission of a
paper fully devoted to the founding criteria of Maneage is complete
(arXiv:2006.03018), it was time to formalize the necessary steps for easier
submission of a project using Maneage and implement some low-level features
that can make things easier.

With this commit a first draft of the publication checklist has been added
to 'README-hacking.md', it was tested in the submission of arXiv:2006.03018
and zenodo.3872248. To help guide users on implementing the good practices
for output datasets, the outputs of the default project shown in the paper
now use the new features). After reading the checklist, please inspect
these.

Some other relevant changes in this commit:

  - The publication involves a copy of the necessary software
    tarballs. Hence a new target ('dist-software') was also added to
    package all the project's software tarballs in one tarball for easy
    distribution.

  - A new 'dist-lzip' target has been defined for those who want to
    distribute an Lzip-compressed tarball.

  - The '\includetikz' LaTeX macro now has a second argument to allow
    configuring the '\includegraphics' call when the plot should not be
    built, but just imported.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Possible semantic conflicts (that may not show up as Git conflicts but may
cause a crash in your project after the merge):

   1) The project title (and other basic metadata) should be set in
      'reproduce/analysis/conf/metadata.conf'. Please include this file in
      your merge (if it is ignored because of '.gitattributes'!).

   2) Consider importing the changes in 'initialize.mk' and 'verify.mk' (if
      you have added all analysis Makefiles to the '.gitattributes' file
      (thus not merging any change in them with your branch). For example
      with this command:
        git diff master...maneage -- reproduce/analysis/make/initialize.mk

   3) The old 'verify-txt-no-comments-leading-space' function has been
      replaced by 'verify-txt-no-comments-no-space'. The new function will
      also remove all white-space characters between the columns (not just
      white space characters at the start of the line). Thus the resulting
      check won't involve spacing between columns.

A common set of steps are always necessary to prepare a project for
publication. Until now, we would simply look at previous submissions and
try to follow them, but that was prone to errors and could cause
confusion. The internal infrastructure also didn't have some useful
features to make good publication possible. Now that the submission of a
paper fully devoted to the founding criteria of Maneage is complete
(arXiv:2006.03018), it was time to formalize the necessary steps for easier
submission of a project using Maneage and implement some low-level features
that can make things easier.

With this commit a first draft of the publication checklist has been added
to 'README-hacking.md', it was tested in the submission of arXiv:2006.03018
and zenodo.3872248. To help guide users on implementing the good practices
for output datasets, the outputs of the default project shown in the paper
now use the new features). After reading the checklist, please inspect
these.

Some other relevant changes in this commit:

  - The publication involves a copy of the necessary software
    tarballs. Hence a new target ('dist-software') was also added to
    package all the project's software tarballs in one tarball for easy
    distribution.

  - A new 'dist-lzip' target has been defined for those who want to
    distribute an Lzip-compressed tarball.

  - The '\includetikz' LaTeX macro now has a second argument to allow
    configuring the '\includegraphics' call when the plot should not be
    built, but just imported.
</pre>
</div>
</content>
</entry>
<entry>
<title>Corrected copyright notices to fit GPL suggested format</title>
<updated>2020-05-22T22:35:21+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-05-22T22:35:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/paper-concept.git/commit/?id=c0a512e0631a024f18bec847125a9a03e6aa23a1'/>
<id>c0a512e0631a024f18bec847125a9a03e6aa23a1</id>
<content type='text'>
In time, some of the copyright license description had been mistakenly
shortened to two paragraphs instead of the original three that is
recommended in the GPL. With this commit, they are corrected to be exactly
in the same three paragraph format suggested by GPL.

The following files also didn't have a copyright notice, so one was added
for them:
    reproduce/software/make/README.md
    reproduce/software/bibtex/healpix.tex
    reproduce/analysis/config/delete-me-num.conf
    reproduce/analysis/config/verify-outputs.conf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In time, some of the copyright license description had been mistakenly
shortened to two paragraphs instead of the original three that is
recommended in the GPL. With this commit, they are corrected to be exactly
in the same three paragraph format suggested by GPL.

The following files also didn't have a copyright notice, so one was added
for them:
    reproduce/software/make/README.md
    reproduce/software/bibtex/healpix.tex
    reproduce/analysis/config/delete-me-num.conf
    reproduce/analysis/config/verify-outputs.conf
</pre>
</div>
</content>
</entry>
</feed>
